Frage von aight8:Also es gibt ja viele implementierungen von MPEG-2 / 4. Ich habe da ein paar fragen dazu.
Ich verstehe nämlich nicht ganz was diese implementierungen nützen?
Ist es heuzutage beachtenswert welchen Codec man nimmt? Also sieht man denn Qualitätunterschiede?
MPEG deutet ja auf ein genormtes Format hin. Kann man den ein MPEG-2 File welches mit Codec X dekodiert wurde mit Codec Y abspielen? Wenn wen nein, verstehe ich diese Normung von MPEG nicht.
Antwort von jwd96:
Ich glaube du hast da was ganz falsch verstanden.
Es gibt Container z.B. mp4, mov, avi oder mpeg
In diesen Containern sind meistens ein
Audiostream und
Videostream
beide Streams werden mithilfe von Codecs "komprimiert", denn sonst hätte man ja nur Einzelbilder.(Es gibt auch unkomprimierte Formate)
Video-codecs sind z.B. H.264 (der kann z.B. im mov oder mp4 container verwendet werden) oder JPEG - PHOTO oder ProRoes (von Apple)
Das heißt der Film witrd immer in dem Codec abgespielt, in dem er gespeichert ist.
H.264 ist z.B. ein stark komprimiertes Format = kleine Date + große Rechenleistung
Antwort von Axel:
Mpeg wuirde weiterentwickelt:
Mpeg1 - VCD,
Mpeg2 - DVD-Video und HDV
Mpeg4 - AVC und H.264
Und natürlich brauchst du für ein auf bestimmte Weise en-codiertes Video auf der Player-Seite den De-coder, das ist ganz einfach so.
Um dieselbe Qualität zu erreichen, benötigt Mpeg4 (Typisch für HD sind 17 Mbit/s) eine kleinere Datenrate als Mpeg2 (25 Mbit/s), zum Beispiel.
Antwort von TheBubble:
Im Grunde ist es bei den angesprochenen Video Codecs recht einfach: Es ist kein Video Codec selbst standardisiert, sondern nur Datenformate (Bitstream-Formate). Jeder Abspieler muss mit jedem gültigen Bitstream umgehen können. Jeder Kompressor muss als Ausgabe einen gültigen Bitstream erzeugen.
Dennoch können sich die Implementierungen der Codecs in Performance, Qualität oder in beidem unterscheiden, denn wie sie einen gültigen Bitstream erzeugen oder wiederdergeben, ist nicht festgelegt.
Antwort von WoWu:
@ aight8
Das hast Du ganz richtig gesehen. MPEG ist ein Normeirungsgremium und nicht nur ein Containerformat.
Die bekanntesten Formte sind wohl MPEG1, MPEG2, MPEG4, MPEG7 und MPEG21.
MPEG ist auch streng genommen kein Kodieralgorithmus ... es ist lediglich ein Bitstream und MPEG ist lediglich und ausschließlich ein Satz an Kompressionswerkzeugen..
Für die Codecs in MPEG werden diese Kompressionswerkzeuge eingesetzt.
Es sind auch keine Algorithmen, die ein Encoding erzeugen, es sind lediglich die Vorschriften, wie encodiert werden kann und auch das nur dadurch, dass man den Dekoder definiert.
MPEG4 ist mehr als das. Es ist ein Framework. Innerhalb von MPEG 4 gibt es eigentlich nur zwei Codecs, die derzeit eine Rolle spielen: VC1 und H.264 (AVC).
Der Ursprung bestand darin, den Herstellern mit dem Encoding soviel Freiheit wie möglich zu geben, um Alleinstellungsmerkmale zu entwickeln (sprich: gute Codecs). Da sich MPEG nur über den Decoder definiert, mussten sie also zwangsläufig kompatibel sein, um sich MPEG nennen zu dürfen.
Der Gedanke dahinter war, die Geräte unterschiedlicher Hersteller ohne Einschränkung und/oder Qualitätsverlust miteinander kombinieren zu können. Ebenso für die Geräteindustrie (TV,SAT usw.) Planungssicherheit zu gewährleisten.
Wenn sich also ein Codec nur "MPEG konform" nennt, ist meist kein MPEG drin, weil das Signal auf Decodern, die dem Standard entsprechen, nicht unbedingt läuft.
So darf sich z.B. AVCHD auch nicht MPEG4 nennen, weil Teile darin enthalten sind, die eigentlich gar kein HD sind und den MPEG4 Vorgaben gar nicht entsprechen sondern aus der SD-Welt kommen.
Eigentlich hat mit der MPEG2 Entwicklung auch die MPEG4 Entwicklung eines weiterreichenden Framework begonnen. Nur hat man den Teil für einen den Codec zu einem frühen Zeitpunkt und in einer "Zwischenform" bereits für das TV genutzt, das Format aber konsequent weiterentwickelt und als Produkt MPEG4 zur Normierung gebracht.
MPEG2 ist also die 15 Jahre alte "Rohfassung" für einen Codec, der mit MPEG4 H.264 erst fertig geworden ist.
Ebenso VC1 ist von Microsoft aus einem frühen Draft von H.264 entstanden und beinhaltet sehr viele Qualitätstools von H.264 gar nicht.
Anders als in älteren Codecs, in denen die Bildqualität mit der Datenrate einher geht, lässt sich das bei H.264 nicht mehr unmittelbar daran ablesen, denn die Bildqualität hängt fast ausschliesslich davon ab, welche Profile, also welche "Tools" ich benutze. Das davon auch indirekt die Datenrate betroffen ist, ist klar, aber eben auch die Anforderung an den Prozessor und so ergibt sich manchmal das Bild, dass für eine mindergute Bildqualität eine hohe Datenrate herhalten muss, nur weil der Prozessor des Gerätes zu schwach ist, die Tools zu verarbeiten. Da wird dann mit I-Frames nachgeholfen, um es dem Prozessor zu erleichtern. Folge ist dann ein schlechtes Profile und damit ein schlechtes Bild, bei trotzdem hoher Datenrate.
Du siehst, die Codecs werden einwenig komplexer und die Zusammenhänge sind nicht mehr das, was sie einmal waren.