| Dateinamenerweiterung | .mpg .mpeg .mp1 . mp2 .mp3 .m1v .m1a .m2a . . .mpv |
|---|---|
| Internet-Medientyp | Audio / mpeg, Video / mpeg |
| Entwickelt von | ISO, IEC |
| Erste Veröffentlichung | Format 1988–92 |
| Audio, Video, Container | |
| Erweitert von | JPEG, H.261 |
| Erweitert auf | MPEG-2 |
| Standard | ISO / IEC 11172 |
MPEG-1 ist ein Standard für die verlustbehaftete Komprimierung von Video und Audio. Es wurde entwickelt, um digitales Rohvideo und CD-Audio in VHS-Qualität auf über 1,5 Mbit / s (26: 1 bzw. 6: 1 Kompressionsverhältnisse) [1] ohne übermäßigen Qualitätsverlust zu komprimieren. Dazu werden Video-CDs, digitales Kabel- / Satelliten-TV und Digital Audio Broadcasting (DAB) möglich. [2][3]
MPEG-1 ist heute das am weitesten verbreitete verlustbehaftete Audio / Video-Format der Welt und wird in einer Vielzahl von Produkten und Technologien eingesetzt. Der bekannteste Teil des MPEG-1-Standards ist möglicherweise das MP3-Audioformat, das damit eingeführt wurde.
Der MPEG-1-Standard wurde als ISO / IEC 11172 - Informationstechnologie - Codierung von Bewegtbildern und dazugehörigem Audio für digitale Speichermedien mit bis zu etwa 1,5 Mbit / s veröffentlicht.
Der Standard besteht aus den folgenden fünf Parts : [4][5][6][7][8]
- Systemen (Speicherung und Synchronisation von Video, Audio und anderen Daten zusammen)
- Video (komprimierter Videoinhalt)
- Audio ( komprimierter Audio-Inhalt)
- Konformitätsprüfung (Überprüfung der Richtigkeit von Implementierungen des Standards)
- Referenzsoftware (Beispielsoftware, die das Kodieren und Dekodieren gemäß dem Standard zeigt)
History [ edit ]
Modell des erfolgreichen kollaborativen Ansatzes und der Kompressionstechnologien, die von der Joint Photographic Experts Group und der CCITT's Experts Group on Telephony entwickelt wurden (Entwickler des JPEG-Bildkomprimierungsstandards und des H.261-Standards für Videokonferenzen). Die Arbeitsgruppe "Moving Picture Experts Group" (MPEG) wurde im Januar 1988 gegründet. MPEG wurde gegründet, um den Bedarf an Standard-Video- und Audioformaten zu adressieren und auf H.261 aufzubauen, um eine bessere Qualität zu erzielen grobe Anwendung komplexerer Kodierungsmethoden. [2][9][10] Sie wurde 1988 auf Initiative von Hiroshi Yasuda (Nippon Telegraph and Telephone) und Leonardo Chiariglione gegründet. [11]
Entwicklung des MPEG- Ein Standard begann im Mai 1988. Vierzehn Video- und vierzehn Audio-Codec-Vorschläge wurden von einzelnen Unternehmen und Institutionen zur Bewertung eingereicht. Die Codecs wurden ausführlich auf Rechenkomplexität und subjektive (vom Menschen wahrgenommene) Qualität bei Datenraten von 1,5 Mbit / s getestet. Diese spezifische Bitrate wurde für die Übertragung über T-1 / E-1-Leitungen und als ungefähre Datenrate von Audio-CDs gewählt. [12] Die Codecs, die sich in diesem Test hervorgetan haben, wurden als Basis für den Standard verwendet und mit zusätzlichen Verfeinerungen verfeinert Merkmale und andere Verbesserungen werden in den Prozess einbezogen [13]
Nach 20 Sitzungen der gesamten Gruppe in verschiedenen Städten der Welt und 4 ½ Jahren Entwicklung und Erprobung der endgültige Standard (für Teile 1–3) wurde Anfang November 1992 genehmigt und einige Monate später veröffentlicht. [14] Der gemeldete Fertigstellungszeitpunkt des MPEG-1-Standards ist sehr unterschiedlich: Ein weitgehend vollständiger Normentwurf wurde im September 1990 erstellt. Es wurden nur geringfügige Änderungen eingeführt. [2] Der Normentwurf wurde öffentlich zum Kauf angeboten. [15] Der Standard wurde mit der Sitzung vom 6. November 1992 fertiggestellt. [16] Die Berkeley Plateau Multimedia Research Group entwickelte einen MPEG-1-Decoder in No. November 1992. [17] Im Juli 1990, noch bevor der erste Entwurf des MPEG-1-Standards verfasst worden war, begannen die Arbeiten an einem zweiten Standard, MPEG-2 [18] mit dem Ziel, die MPEG-1-Technologie auf volle Rundfunkübertragung auszudehnen -Qualitätsvideo (gemäß CCIR 601) bei hohen Bitraten (3–15 Mbit / s) und Unterstützung für Interlaced-Video. [19] Aufgrund der Ähnlichkeit der beiden Codecs ist der MPEG-2-Standard vollständig abwärtskompatibel MPEG-1-Video, so dass jeder MPEG-2-Decoder MPEG-1-Videos abspielen kann. [20]
Der MPEG-1-Standard definiert insbesondere den Bitstrom und die Decoderfunktion sehr streng, aber nicht Definieren Sie, wie die MPEG-1-Codierung durchgeführt werden soll, obwohl eine Referenzimplementierung in ISO / IEC-11172-5 [1] bereitgestellt wird. Dies bedeutet, dass die Effizienz der MPEG-1-Codierung je nach Encoder stark variieren kann verwendet und bedeutet im Allgemeinen, dass neuere Encoder eine wesentlich bessere Leistung als ihre Vorgänger zeigen. [21] Die ersten drei Teile (Systems, Video und Audio) von ISO / IEC 11172 wurden im August 1993 veröffentlicht. [22]
Patente [ edit ]
Alle weithin bekannten Patentrecherchen legen aufgrund ihres Alters nahe MPEG-1-Video und Layer-I / II-Audio sind nicht mehr durch Patente geschützt und können daher ohne Lizenz oder Gebühren verwendet werden. [29][30][31][32][33] In der ISO-Patentdatenbank ist ein Patent für ISO 11172, US 4,472,747, aufgeführt 2003 abgelaufen. [34] Der fast vollständige Entwurf des MPEG-1-Standards war am 6. Dezember 1991 als ISO CD 11172 [15] öffentlich verfügbar. [35] Weder der Kuro5hin-Artikel vom Juli 2008 "Patent Status of MPEG-1" , H.261 und MPEG-2 ", [36] und ein Thread aus dem August 2008 auf der Mailingliste gstreamer-devel [37] war in der Lage, ein einzelnes nicht abgelaufenes MPEG-1-Video- und Layer-I / II-Audiopatent aufzulisten. Eine Diskussion im Mai 2009 über die Mailingliste whatwg erwähnte, dass das US-Patent 5,214,678 möglicherweise die MPEG-Audio-Schicht II abdeckt. [38] 1990 eingereicht und 1993 veröffentlicht, ist dieses Patent nun abgelaufen. [39]
Ein vollständiger MPEG-1-Decoder mit "Layer 3-Audio" konnte nicht gebührenfrei implementiert werden, da es Unternehmen gab, die Patentgebühren für die Implementierung von MPEG-1-Layer-3-Audio erforderten, wie im MP3-Artikel beschrieben. Alle mit MP3 verbundenen Patente der Welt sind am 30. Dezember 2017 abgelaufen, wodurch dieses Format für die Verwendung völlig frei ist. [ Zitat benötigt ] Dennoch wurde das Fraunhofer IIS bereits am 23. April 2017 eingestellt Lizenzgebühren für das MP3-Lizenzprogramm von Technicolor für bestimmte MP3-Patente und Software. [40]
Anwendungen [ edit ]
- Die am häufigsten verwendete Software für die Videowiedergabe enthält neben jeder anderen auch die MPEG-1-Decodierung Unterstützte Formate.
- Die Popularität von MP3-Audio hat eine massive Hardware-Basis für die Wiedergabe von MPEG-1-Audio (alle drei Schichten) etabliert.
- "Praktisch alle digitalen Audiogeräte" können MPEG-1-Audio wiedergeben [41] Bis heute wurden viele Millionen verkauft.
- Vor der Verbreitung von MPEG-2 verwendeten viele digitale Satelliten- / Kabelfernsehdienste ausschließlich MPEG-1. [10] ]
- Die weit verbreitete Popularität von MPEG-2 bei der Übertragung Dies bedeutet, dass MPEG-1 aufgrund der Abwärtskompatibilität von den meisten digitalen Kabel- und Satelliten-Set-Top-Boxen sowie digitalen Disc- und Tape-Playern wiedergegeben werden kann.
- MPEG-1 wurde für Vollbildvideos auf Green Book CD-i verwendet. und auf Video-CD (VCD).
- Der auf VCD basierende Super Video CD-Standard verwendet ausschließlich MPEG-1-Audio sowie MPEG-2-Video.
- Das DVD-Video-Format verwendet hauptsächlich MPEG-2-Video Die MPEG-1-Unterstützung ist jedoch explizit im Standard definiert.
- Der DVD-Video-Standard benötigte ursprünglich MPEG-1 Layer II-Audio für PAL-Länder, wurde jedoch dahingehend geändert, dass nur AC-3 / Dolby Digital-Discs zulässig sind. MPEG-1 Layer II-Audio ist auf DVDs noch zulässig, obwohl neuere Erweiterungen des Formats wie MPEG Multichannel selten unterstützt werden.
- Die meisten DVD-Player unterstützen auch die Wiedergabe von Video-CDs und MP3-CDs, die MPEG-1 verwenden. [19659023] Der internationale DVB-Standard (Digital Video Broadcasting) verwendet hauptsächlich MPEG-1 Layer II-Audio und MPEG-2-Video.
- Der internationale DAB-Standard (Digital Audio Broadcasting) verwendet ausschließlich MPEG-1 Layer II-Audio, insbesondere aufgrund von MP2 hohe Qualität, bescheidene Decoder-Leistungsanforderungen und Fehlertoleranz.
Teil 1: Systeme [ edit ]
Teil 1 der MPEG-1-Standardabdeckung ] und ist in ISO / IEC-11172-1 definiert.
MPEG-1-Systeme geben das logische Layout und die Methoden an, die zum Speichern der kodierten Audio-, Video- und anderen Daten in einem Standardbitstrom und zum Aufrechterhalten der Synchronisation zwischen den verschiedenen Inhalten verwendet werden. Dieses Dateiformat wurde speziell für die Speicherung auf Medien und die Übertragung über Kommunikationskanäle entwickelt, die als relativ zuverlässig gelten. Der Standard definiert nur einen eingeschränkten Fehlerschutz, und kleine Fehler im Bitstrom können zu erkennbaren Fehlern führen.
Diese Struktur wurde später als MPEG-Programmstrom bezeichnet: "Das Design des MPEG-1-Systems ist im Wesentlichen identisch mit der MPEG-2-Programmstromstruktur." [42] Diese Terminologie ist beliebter und präziser (unterscheidet sie von einem MPEG-Transport) stream) und wird hier verwendet.
Elementary Streams [ edit ]
Elementary Streams ( ES ) sind die rohen Bitströme von MPEG-1-Audio- und -Video-kodierten Daten (Ausgabe von ein Encoder). Diese Dateien können einzeln verteilt werden, wie dies bei MP3-Dateien der Fall ist.
Paketierte Elementarströme ( PES ) sind Elementarströme, die zu Paketen variabler Länge paketiert werden, dh ES sind in unabhängige Chunks unterteilt, in die jeweils eine Prüfsumme mit zyklischer Redundanzprüfung (CRC) eingefügt wurde Paket zur Fehlererkennung.
System Clock Reference (SCR) ist ein Timing-Wert, der in einem 33-Bit-Header jedes PES mit einer Frequenz / Genauigkeit von 90 kHz mit einer zusätzlichen 9-Bit-Erweiterung gespeichert wird, die zusätzliches Timing speichert Daten mit einer Genauigkeit von 27 MHz. [44] Diese werden vom Encoder eingefügt, abgeleitet von der Systemzeituhr (STC). Gleichzeitig codierte Audio- und Videoströme haben jedoch aufgrund von Pufferung, Codierung, Jitter und anderen Verzögerungen keine identischen SCR-Werte.
Programmströme [ edit ]
Programmströme (PS) befassen sich mit der Kombination mehrerer paketierter Elementarströme (in der Regel nur ein Audio- und Video-PES ) in einem einzigen Stream, der gleichzeitige Lieferung gewährleistet und die Synchronisation aufrechterhält. Die PS-Struktur wird als Multiplex- oder Containerformat bezeichnet.
Zeitstempel für die Präsentation (PTS) gibt es in PS, um die unvermeidlichen Unterschiede zwischen Audio- und Video-SCR-Werten (Zeitbasis-Korrektur) zu korrigieren. 90-kHz-PTS-Werte im PS-Header geben dem Decoder an, welche Video-SCR-Werte mit welchen Audio-SCR-Werten übereinstimmen. Das PTS bestimmt, wann ein Teil eines MPEG-Programms angezeigt werden soll, und wird auch vom Decoder verwendet, um zu bestimmen, wann Daten aus dem Puffer gelöscht werden können. [45] Entweder Video oder Audio wird vom Decoder bis zum entsprechenden Segment des anderen verzögert kommt an und kann entschlüsselt werden.
Die Handhabung von PTS kann problematisch sein. Decoder müssen mehrere Programmströme akzeptieren, die verkettet (sequentiell verbunden) wurden. Dies führt dazu, dass die PTS-Werte in der Mitte des Videos auf Null zurückgesetzt werden, die dann wieder inkrementieren. Solche PTS-Wraparound-Ungleichheiten können Zeitprobleme verursachen, die vom Decoder besonders behandelt werden müssen.
Dekodierungszeitstempel (DTS) sind wegen B-Frames zusätzlich erforderlich. Bei B-Frames im Videostrom müssen benachbarte Frames außerhalb der Reihenfolge codiert und decodiert werden (neu geordnete Frames). DTS ist dem PTS ziemlich ähnlich, aber anstatt nur sequentielle Frames zu handhaben, enthält es die richtigen Zeitstempel, um dem Decodierer mitzuteilen, wann der nächste B-Frame (die unten erläuterten Frametypen) dekodiert und angezeigt werden soll (P - oder I-) Rahmen. Ohne B-Frames im Video sind die PTS- und DTS-Werte identisch. [46]
Multiplexing [ edit ]
Zur Erzeugung der PS verschachtelt der Multiplexer das (zwei oder mehr) Paket Elementarströme. Dies geschieht, damit die Pakete der gleichzeitigen Ströme über denselben Kanal übertragen werden können und garantiert ist, dass beide genau zur selben Zeit beim Decoder ankommen. Dies ist ein Fall des Zeitmultiplexens.
Die Bestimmung, wie viele Daten aus jedem Stream in jedem verschachtelten Segment (die Größe der Verschachtelung) vorhanden sein sollten, ist kompliziert, jedoch eine wichtige Anforderung. Falsches Interleaving führt zu Pufferunterläufen oder -überläufen, da der Empfänger mehr von einem Stream erhält, als er speichern kann (z. B. Audio), bevor er genügend Daten erhält, um den anderen gleichzeitigen Stream (z. B. Video) zu decodieren. Der MPEG Video Buffering Verifier (VBV) hilft bei der Bestimmung, ob ein Multiplex-PS von einem Gerät mit einer bestimmten Datendurchsatzrate und Puffergröße decodiert werden kann. [47] Dies gibt dem Muxer und dem Encoder eine Rückmeldung, so dass sie die Einstellung ändern können Mux-Größe oder passen Sie die Bitraten an die Compliance an.
Teil 2: Video [ edit ]
Teil 2 des MPEG-1-Standards deckt Video ab und ist in ISO / IEC-11172-2 definiert. Das Design wurde stark von H.261 beeinflusst.
MPEG-1 Video nutzt perzeptuelle Kompressionsmethoden, um die für einen Videostrom erforderliche Datenrate erheblich zu reduzieren. Dadurch werden Informationen in bestimmten Frequenzen und Bereichen des Bildes, die das menschliche Auge nur eingeschränkt wahrnehmen kann, reduziert oder vollständig verworfen. Es nutzt auch die im Video übliche zeitliche (über die Zeit) und räumliche (über ein Bild) Redundanz aus, um eine bessere Datenkompression zu erreichen, als dies sonst möglich wäre. (Siehe: Videokomprimierung)
Farbraum [ edit ]
Bevor das Video in MPEG-1 codiert wird, wird der Farbraum in Y'CbCr ( Y '= Luma, Cb = Chroma Blue, Cr = Chroma Red). Luma (Helligkeit, Auflösung) wird getrennt von der Farbsättigung (Farbe, Farbton, Phase) gespeichert und noch weiter in rote und blaue Komponenten aufgeteilt. Die Farbsättigung ist ebenfalls auf 4: 2: 0 unterabgetastet, was bedeutet, dass sie vertikal um die Hälfte und horizontal um die Hälfte reduziert wird, und zwar auf nur ein Viertel der Auflösung des Videos. [1]
Dieser Softwarealgorithmus weist auch in der Hardware Analogien auf, z Ausgabe von einem Bayer-Musterfilter, der bei digitalen Farbkameras üblich ist.
Da das menschliche Auge für kleine Helligkeitsänderungen (die Y-Komponente) viel empfindlicher ist als für die Farbe (Cr- und Cb-Komponenten), ist Chroma-Subsampling eine sehr effektive Methode, um die Videodatenmenge zu reduzieren komprimiert. Bei Videos mit feinen Details (hohe räumliche Komplexität) kann sich dies als Chroma-Aliasing-Artefakt manifestieren. Verglichen mit anderen digitalen Kompressionsartefakten scheint dieses Problem sehr selten ärgerlich zu sein.
Aufgrund der Unterabtastung muss das Y'CbCr-Video immer in geraden Dimensionen (durch 2 teilbar) gespeichert werden, da es sonst zu Farbabweichungen ("Geisterbildern") kommt und es so aussieht, als ob die Farbe vor oder hinter der Farbe liegt Rest des Videos, ähnlich wie ein Schatten.
Y'CbCr wird oft ungenau als YUV bezeichnet, das nur im Bereich der analogen Videosignale verwendet wird. In ähnlicher Weise werden die Begriffe Luminanz und Chrominanz häufig anstelle der (genaueren) Begriffe Luma und Chroma verwendet.
Auflösung / Bitrate [ edit ]
MPEG-1 unterstützt Auflösungen bis zu 4095 × 4095 (12 Bits) und Bitraten bis zu 100 Mbit / s. [10]
MPEG-1-Videos werden am häufigsten mit der SIF-Auflösung (Source Input Format) angezeigt: 352x240, 352x288 oder 320x240. Diese niedrigen Auflösungen, kombiniert mit einer Bitrate von weniger als 1,5 Mbit / s, bilden einen sogenannten Constrained Parameters Bitstream (CPB), der später in "MPEG-2" in "Low Level" (LL) umbenannt wurde. Dies sind die minimalen Videospezifikationen, die jeder Decoder verarbeiten kann, um als MPEG-1-kompatibel zu gelten. Dies wurde ausgewählt, um ein ausgewogenes Verhältnis zwischen Qualität und Leistung zu bieten und die Verwendung von kostengünstiger Hardware der damaligen Zeit zu ermöglichen. [2][10]
Einzelbild- / Bild- / Blocktypen [ edit ]
MPEG- 1 hat mehrere Einzelbild- / Bildtypen, die verschiedenen Zwecken dienen. Der wichtigste und dennoch einfachste ist I-frame .
I-frames [ edit ]
I-frame ist eine Abkürzung für Intra-frame so genannt, weil sie unabhängig dekodiert werden können von anderen Frames. Sie können auch als I-Bilder oder Keyframes bekannt sein, da sie den in der Animation verwendeten Keyframes etwas ähneln. I-Frames können als praktisch identisch mit Basis-JPEG-Bildern betrachtet werden. [10]
High-Speed-Suchen durch ein MPEG-1-Video ist nur bis zum nächsten I-Frame möglich. Beim Schneiden eines Videos ist es nicht möglich, die Wiedergabe eines Videosegments vor dem ersten I-Frame des Segments zu starten (zumindest nicht ohne rechenintensive Umcodierung). Aus diesem Grund werden nur MPEG-Videos mit I-Frame in Editieranwendungen verwendet.
Die Komprimierung nur mit I-Frames ist sehr schnell, erzeugt jedoch sehr große Dateigrößen: Ein Faktor von 3 × (oder mehr) ist größer als normalerweise codiertes MPEG-1-Video, je nachdem, wie zeitlich komplex ein bestimmtes Video ist. [2] Nur I-Frame Das MPEG-1-Video ist dem MJPEG-Video sehr ähnlich. So sehr, dass eine sehr schnelle und theoretisch verlustfreie Konvertierung (in der Realität gibt es Rundungsfehler) möglich ist, kann von einem Format in das andere konvertiert werden, vorausgesetzt, es sind einige Einschränkungen (Farbraum und Quantisierungsmatrix) bei der Erstellung des Moduls enthalten bitstream. [48]
Die Länge zwischen I-Frames wird als Bildgruppengröße (GOP) bezeichnet. MPEG-1 verwendet am häufigsten eine GOP-Größe von 15 bis 18. 1 I-Frame für alle 14-17 Nicht-I-Frames (eine Kombination von P- und B-Frames). Bei intelligenteren Encodern wird die GOP-Größe dynamisch bis zu einigen vorgewählten Maximalgrenzen gewählt. [10]
Die maximale Anzahl von Frames zwischen I-Frames wird durch das Dekodieren von Komplexen begrenzt. Decoderpuffergröße, Wiederherstellungszeit nach Datenfehlern, Suchfähigkeit und Ansammlung von IDCT-Fehlern in Implementierungen mit niedriger Genauigkeit, die in Hardware-Decodern am häufigsten vorkommen (siehe: IEEE-1180).
P-Frames [ edit ]
P-Frame ist eine Abkürzung für Predicted-Frame . Sie können auch vorwärts vorhergesagte Frames oder Interframes genannt werden (B-Frames sind auch Interframes).
P-Frames existieren, um die Kompression zu verbessern, indem die zeitliche (zeitliche) Redundanz in einem Video genutzt wird. P-Frames speichern nur den Unterschied im Bild vom Frame (entweder ein I-Frame oder ein P-Frame) unmittelbar davor (dieser Bezugsrahmen wird auch als Ankerrahmen bezeichnet).
Der Unterschied zwischen einem P-Frame und seinem Ankerrahmen wird unter Verwendung von Bewegungsvektoren an jedem Makroblock des Frames berechnet (siehe unten). Solche Bewegungsvektordaten werden zur Verwendung durch den Decodierer in den P-Frame eingebettet.
Ein P-Frame kann außer für vorwärts vorhergesagte Blöcke eine beliebige Anzahl intracodierter Blöcke enthalten. [49]
Wenn ein Video von einem Frame zum nächsten drastisch wechselt ( B. ein Schnitt), ist es effizienter, ihn als I-Frame zu kodieren.
B-Frames [ edit ]
B-Frame steht für bidirektionaler Frame . Sie können auch als rückwärts vorhergesagte Bilder oder B-Bilder bekannt sein. B-Frames sind P-Frames sehr ähnlich, außer dass sie Vorhersagen treffen können, indem sowohl der vorherige als auch der zukünftige Frame (d. H. Zwei Ankerframes) verwendet werden.
Es ist daher erforderlich, dass der Spieler den nächsten I- oder P-Anker-Frame nach dem B-Frame sequenziell decodiert, bevor der B-Frame decodiert und angezeigt werden kann. Dies bedeutet, dass das Dekodieren von B-Frames größere Datenpuffer erfordert und sowohl beim Dekodieren als auch beim Kodieren eine erhöhte Verzögerung verursacht. Dies erfordert auch das Dekodierungszeitstempelmerkmal (DTS) im Container- / Systemstrom (siehe oben). Daher sind B-Frames lange umstritten, werden in Videos oft vermieden und von Hardwaredecodern nicht vollständig unterstützt.
Aus einem B-Frame werden keine anderen Frames vorhergesagt. Aus diesem Grund kann bei Bedarf ein B-Frame mit sehr niedriger Bitrate eingefügt werden, um die Bitrate zu kontrollieren. Wenn dies mit einem P-Frame durchgeführt würde, würden zukünftige P-Frames daraus vorhergesagt werden und die Qualität der gesamten Sequenz verringern. In ähnlicher Weise muss der zukünftige P-Frame dennoch alle Änderungen zwischen ihm und dem vorherigen I- oder P-Anker-Frame codieren. B-Frames können auch bei Videos von Vorteil sein, bei denen der Hintergrund hinter einem Objekt über mehrere Frames hinweg angezeigt wird, oder bei Überblendungen wie etwa Szenenwechsel. [2] [10]
Ein B-Frame kann zusätzlich zu rückwärts vorhergesagten oder bidirektional vorhergesagten Blöcken eine beliebige Anzahl intracodierter Blöcke und vorwärts vorhergesagter Blöcke enthalten. [10][49]
D-Frames [ edit ]]
MPEG-1 hat einen eindeutigen Rahmentyp, der in späteren Videostandards nicht gefunden wird. D-Frames oder DC-Bilder sind unabhängige Bilder (Intra-Frames), die nur mit DC-Transformationskoeffizienten codiert wurden (AC-Koeffizienten werden beim Codieren von D-Frames entfernt - siehe DCT unten) ) und sind daher von sehr schlechter Qualität. D-Frames werden niemals von I-, P- oder B-Frames referenziert. D-Frames werden nur für die schnelle Vorschau von Videos verwendet, beispielsweise beim Durchsuchen eines Videos mit hoher Geschwindigkeit. [2]
Bei moderat leistungsstärkeren Decodierungsgeräten kann eine schnelle Vorschau durch Decodieren erreicht werden I-Frames statt D-Frames. Dies liefert eine Vorschau mit höherer Qualität, da I-Frames sowohl AC-Koeffizienten als auch DC-Koeffizienten enthalten. Wenn der Codierer davon ausgehen kann, dass eine schnelle I-Frame-Decodierungsfunktion in Decodern verfügbar ist, kann er Bits sparen, indem er keine D-Frames sendet (wodurch die Komprimierung des Videoinhalts verbessert wird). Aus diesem Grund werden D-Frames selten bei der MPEG-1-Videocodierung verwendet, und die D-Frame-Funktion wurde nicht in spätere Videocodierungsstandards aufgenommen.
Macroblocks [ edit ]
MPEG-1 arbeitet mit Video in einer Reihe von 8x8-Blöcken zur Quantisierung. Da jedoch die Chroma (Farbe) mit einem Faktor von 4 unterabgetastet wird, entspricht jedes Paar von (roten und blauen) Chroma-Blöcken 4 verschiedenen Luma-Blöcken. Dieser Satz von 6 Blöcken mit einer Auflösung von 16x16 wird Makroblock genannt.
Ein Makroblock ist die kleinste unabhängige Einheit von (Farb-) Video. Bewegungsvektoren (siehe unten) arbeiten ausschließlich auf Makroblockebene.
Wenn die Höhe oder Breite des Videos nicht exakt ein Vielfaches von 16 ist, müssen vollständige Zeilen und vollständige Spalten von Makroblöcken immer noch codiert und decodiert werden, um das Bild auszufüllen (obwohl die zusätzlichen decodierten Pixel nicht angezeigt werden).
Bewegungsvektoren [ edit ]
Um die zeitliche Redundanz in einem Video zu verringern, werden nur die Blöcke aktualisiert, die sich ändern (bis zur maximalen GOP-Größe). Dies ist als bedingte Wiederauffüllung bekannt. Dies ist jedoch an sich nicht sehr effektiv. Die Bewegung der Objekte und / oder der Kamera kann dazu führen, dass große Teile des Frames aktualisiert werden müssen, auch wenn sich nur die Position der zuvor codierten Objekte geändert hat. Durch Bewegungsschätzung kann der Encoder diese Bewegung ausgleichen und eine große Menge an redundanten Informationen entfernen.
Der Encoder vergleicht den aktuellen Frame mit benachbarten Teilen des Videos aus dem Ankerframe (vorheriger I- oder P-Frame) in einem Rautenmuster bis zu einer (encoderabhängigen) vordefinierten Radiusgrenze aus dem Bereich des Stroms Makroblock Wenn eine Übereinstimmung gefunden wird, müssen nur die Richtung und der Abstand (dh der -Vektor der Bewegung ) vom vorherigen Videobereich zum aktuellen Makroblock in den Inter-Frame ( P- oder B-Frame). Die Umkehrung dieses Prozesses, die der Decodierer zur Rekonstruktion des Bildes durchführt, wird als Bewegungskompensation bezeichnet.
Ein vorhergesagter Makroblock passt jedoch selten perfekt zum aktuellen Bild. Die Unterschiede zwischen dem geschätzten Übereinstimmungsbereich und dem realen Rahmen / Makroblock werden als -Prädiktionsfehler bezeichnet. Je größer der Fehler, desto mehr Daten müssen zusätzlich im Frame codiert werden. Für eine effiziente Videokomprimierung ist es sehr wichtig, dass der Kodierer eine Bewegungsschätzung effektiv und präzise durchführen kann.
Bewegungsvektoren zeichnen die Entfernung zwischen zwei Bereichen auf dem Bildschirm basierend auf der Anzahl der Pixel auf (als pels bezeichnet). MPEG-1-Video verwendet eine Bewegungsvektor (MV) -genauigkeit von einem halben Pixel oder Half-Pel . Je feiner die Genauigkeit der MVs ist, desto genauer ist wahrscheinlich die Übereinstimmung und desto effizienter ist die Komprimierung. Es gibt jedoch Kompromisse bei höherer Genauigkeit. Feinere MVs führen zu einer größeren Datengröße, da im Frame für jedes einzelne MV größere Zahlen gespeichert werden müssen, eine erhöhte Codierungskomplexität erforderlich ist, da zunehmende Interpolationsniveaus auf dem Makroblock sowohl für den Codierer als auch für den Decodierer erforderlich sind und die Renditen (minimale Verstärkungen) mit abnehmen MVs mit höherer Genauigkeit. Half-Pel wurde als idealer Kompromiss gewählt. (Siehe: qpel)
Da benachbarte Makroblöcke wahrscheinlich sehr ähnliche Bewegungsvektoren haben, kann diese redundante Information durch Speichern von DPCM-codierter Art ziemlich effektiv komprimiert werden. Nur der (kleinere) Unterschied zwischen den MVs für jeden Makroblock muss im endgültigen Bitstrom gespeichert werden.
P-Frames haben einen Bewegungsvektor pro Makroblock relativ zum vorherigen Ankerframe. B-Frames können jedoch zwei Bewegungsvektoren verwenden; einer aus dem vorherigen Ankerrahmen und einer aus dem zukünftigen Ankerrahmen. [49]
Teilweise Makroblöcke und schwarze Ränder / Balken, die in das Video kodiert sind und die nicht genau auf eine Makroblock-Grenze fallen, verursachen Verwüstung mit Bewegungsvorhersage. Die Blockauffüllungs- / Randinformation verhindert, dass der Makroblock eng mit irgendeinem anderen Bereich des Videos übereinstimmt, und daher müssen erheblich größere Vorhersagefehlerinformationen für jeden der mehreren Dutzend partieller Makroblöcke entlang der Bildschirmgrenze codiert werden. Die DCT-Codierung und -Quantisierung (siehe unten) ist bei einem großen / scharfen Bildkontrast in einem Block ebenfalls nicht so effektiv.
Ein noch schwerwiegenderes Problem besteht bei Makroblöcken, die signifikantes, zufälliges Randgeräusch enthalten, bei dem das Bild in (typischerweise) Schwarz übergeht. Alle obigen Probleme gelten auch für Kantengeräusche. Darüber hinaus ist es einfach unmöglich, die zusätzliche Zufälligkeit signifikant zu komprimieren. Alle diese Effekte verringern die Qualität (oder erhöhen die Bitrate) des Videos erheblich.
DCT [ edit ]
Jeder 8x8-Block wird codiert, indem zuerst eine Forward diskrete Cosinustransformation (FDCT) und anschließend ein Quantisierungsprozess angewendet wird. Der FDCT-Prozess (für sich) ist theoretisch verlustfrei und kann durch Anwenden einer Inverse -DCT (IDCT) zur Wiedergabe der ursprünglichen Werte (ohne Quantisierungs- und Rundungsfehler) umgekehrt werden. In der Realität gibt es einige (manchmal große) Rundungsfehler, die sowohl durch Quantisierung im Codierer (wie im nächsten Abschnitt beschrieben) als auch durch IDCT-Näherungsfehler im Decodierer eingeführt werden. Die minimal zulässige Genauigkeit einer Decoder-IDCT-Näherung ist in ISO / IEC 23002-1 definiert. (Vor 2006 wurde es von IEEE 1180-1990 festgelegt.)
Der FDCT-Prozess konvertiert den 8 × 8-Block unkomprimierter Pixelwerte (Helligkeits- oder Farbdifferenzwerte) in ein 8 × 8-indiziertes Array mit -Frequenzkoeffizientenwerten (19459028). Einer davon ist der (statistisch hohe Varianz) DC-Koeffizient der den Durchschnittswert des gesamten 8x8-Blocks darstellt. Die anderen 63 Koeffizienten sind die statistisch kleineren AC-Koeffizienten bei denen es sich um positive oder negative Werte handelt, die jeweils sinusförmige Abweichungen vom durch den DC-Koeffizienten repräsentierten flachen Blockwert darstellen.
Ein Beispiel eines codierten 8x8-FDCT-Blocks:
19659160
Since the DC coefficient value is statistically correlated from one block to the next, it is compressed using DPCM encoding. Only the (smaller) amount of difference between each DC value and the value of the DC coefficient in the block to its left needs to be represented in the final bitstream.
Additionally, the frequency conversion performed by applying the DCT provides a statistical decorrelation function to efficiently concentrate the signal into fewer high-amplitude values prior to applying quantization (see below).
Quantization[edit]
Quantization (of digital data) is, essentially, the process of reducing the accuracy of a signal, by dividing it into some larger step size (i.e. finding the nearest multiple, and discarding the remainder/modulus).
The frame-level quantizer is a number from 0 to 31 (although encoders will usually omit/disable some of the extreme values) which determines how much information will be removed from a given frame. The frame-level quantizer is either dynamically selected by the encoder to maintain a certain user-specified bitrate, or (much less commonly) directly specified by the user.
Contrary to popular belief, a fixed frame-level quantizer (set by the user) does not deliver a constant level of quality. Instead, it is an arbitrary metric that will provide a somewhat varying level of quality, depending on the contents of each frame. Given two files of identical sizes, the one encoded at an average bitrate should look better than the one encoded with a fixed quantizer (variable bitrate). Constant quantizer encoding can be used, however, to accurately determine the minimum and maximum bitrates possible for encoding a given video.
A quantization matrix is a string of 64-numbers (0-255) which tells the encoder how relatively important or unimportant each piece of visual information is. Each number in the matrix corresponds to a certain frequency component of the video image.
An example quantization matrix:
Quantization is performed by taking each of the 64 frequency values of the DCT block, dividing them by the frame-level quantizer, then dividing them by their corresponding values in the quantization matrix. Finally, the result is rounded down. This significantly reduces, or completely eliminates, the information in some frequency components of the picture. Typically, high frequency information is less visually important, and so high frequencies are much more strongly quantized (drastically reduced). MPEG-1 actually uses two separate quantization matrices, one for intra-blocks (I-blocks) and one for inter-block (P- and B- blocks) so quantization of different block types can be done independently, and so, more effectively.[2]
This quantization process usually reduces a significant number of the AC coefficients to zero, (known as sparse data) which can then be more efficiently compressed by entropy coding (lossless compression) in the next step.
An example quantized DCT block:
Quantization eliminates a large amount of data, and is the main lossy processing step in MPEG-1 video encoding. This is also the primary source of most MPEG-1 video compression artifacts, like blockiness, color banding, noise, ringing, discoloration, et al. This happens when video is encoded with an insufficient bitrate, and the encoder is therefore forced to use high frame-level quantizers (strong quantization) through much of the video.
Entropy coding[edit]
Several steps in the encoding of MPEG-1 video are lossless, meaning they will be reversed upon decoding, to produce exactly the same (original) values. Since these lossless data compression steps don't add noise into, or otherwise change the contents (unlike quantization), it is sometimes referred to as noiseless coding.[41] Since lossless compression aims to remove as much redundancy as possible, it is known as entropy coding in the field of information theory.
The coefficients of quantized DCT blocks tend to zero towards the bottom-right. Maximum compression can be achieved by a zig-zag scanning of the DCT block starting from the top left and using Run-length encoding techniques.
The DC coefficients and motion vectors are DPCM-encoded.
Run-length encoding (RLE) is a very simple method of compressing repetition. A sequential string of characters, no matter how long, can be replaced with a few bytes, noting the value that repeats, and how many times. For example, if someone were to say "five nines", you would know they mean the number: 99999.
RLE is particularly effective after quantization, as a significant number of the AC coefficients are now zero (called sparse data), and can be represented with just a couple of bytes. This is stored in a special 2-dimensional Huffman table that codes the run-length and the run-ending character.
Huffman Coding is a very popular method of entropy coding, and used in MPEG-1 video to reduce the data size. The data is analyzed to find strings that repeat often. Those strings are then put into a special table, with the most frequently repeating data assigned the shortest code. This keeps the data as small as possible with this form of compression.[41] Once the table is constructed, those strings in the data are replaced with their (much smaller) codes, which reference the appropriate entry in the table. The decoder simply reverses this process to produce the original data.
This is the final step in the video encoding process, so the result of Huffman coding is known as the MPEG-1 video "bitstream."
GOP configurations for specific applications[edit]
I-frames store complete frame info within the frame and are therefore suited for random access. P-frames provide compression using motion vectors relative to the previous frame ( I or P ). B-frames provide maximum compression but require the previous as well as next frame for computation. Therefore, processing of B-frames requires more buffer on the decoded side. A configuration of the Group of Pictures (GOP) should be selected based on these factors. I-frame only sequences give least compression, but are useful for random access, FF/FR and editability. I- and P-frame sequences give moderate compression but add a certain degree of random access, FF/FR functionality. I-, P- and B-frame sequences give very high compression but also increase the coding/decoding delay significantly. Such configurations are therefore not suited for video-telephony or video-conferencing applications.
The typical data rate of an I-frame is 1 bit per pixel while that of a P-frame is 0.1 bit per pixel and for a B-frame, 0.015 bit per pixel.[50]
Part 3: Audio[edit]
Part 3 of the MPEG-1 standard covers audio and is defined in ISO/IEC-11172-3.
MPEG-1 Audio utilizes psychoacoustics to significantly reduce the data rate required by an audio stream. It reduces or completely discards certain parts of the audio that it deduces that the human ear can't heareither because they are in frequencies where the ear has limited sensitivity, or are masked by other (typically louder) sounds.[51]
Channel Encoding:
- Mono
- Joint Stereo – intensity encoded
- Joint Stereo – M/S encoded for Layer 3 only
- Stereo
- Dual (two uncorrelated mono channels)
- Sampling rates: 32000, 44100, and 48000 Hz
- Bitrates for Layer I: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416 and 448 kbit/s[52]
- Bitrates for Layer II: 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 and 384 kbit/s
- Bitrates for Layer III: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 kbit/s
MPEG-1 Audio is divided into 3 layers. Each higher layer is more computationally complex, and generally more efficient at lower bitrates than the previous.[10] The layers are semi backwards compatible as higher layers reuse technologies implemented by the lower layers. A "Full" Layer II decoder can also play Layer I audio, but not Layer III audio, although not all higher level players are "full".[51]
Layer I[edit]
MPEG-1 Layer I is nothing more than a simplified version of Layer II.[13] Layer I uses a smaller 384-sample frame size for very low delay, and finer resolution.[21] This is advantageous for applications like teleconferencing, studio editing, etc. It has lower complexity than Layer II to facilitate real-time encoding on the hardware available circa 1990.[41]
Layer I saw limited adoption in its time, and most notably was used on Philips' defunct Digital Compact Cassette at a bitrate of 384 kbit/s.[1] With the substantial performance improvements in digital processing since its introduction, Layer I quickly became unnecessary and obsolete.
Layer I audio files typically use the extension .mp1 or sometimes .m1a
Layer II[edit]
MPEG-1 Layer II (MP2—often incorrectly called MUSICAM)[51] is a lossy audio format designed to provide high quality at about 192 kbit/s for stereo sound. Decoding MP2 audio is computationally simple, relative to MP3, AAC, etc.
History/MUSICAM[edit]
MPEG-1 Layer II was derived from the MUSICAM (Masking pattern adapted Universal Subband Integrated Coding And Multiplexing) audio codec, developed by Centre commun d'études de télévision et télécommunications (CCETT), Philips, and Institut für Rundfunktechnik (IRT/CNET)[10][13][53] as part of the EUREKA 147 pan-European inter-governmental research and development initiative for the development of digital audio broadcasting.
Most key features of MPEG-1 Audio were directly inherited from MUSICAM, including the filter bank, time-domain processing, audio frame sizes, etc. However, improvements were made, and the actual MUSICAM algorithm was not used in the final MPEG-1 Layer II audio standard. The widespread usage of the term MUSICAM to refer to Layer II is entirely incorrect and discouraged for both technical and legal reasons.[51]
Technical details[edit]
Layer II/MP2 is a time-domain encoder. It uses a low-delay 32 sub-band polyphased filter bank for time-frequency mapping; having overlapping ranges (i.e. polyphased) to prevent aliasing.[54] The psychoacoustic model is based on the principles of auditory masking, simultaneous masking effects, and the absolute threshold of hearing (ATH). The size of a Layer II frame is fixed at 1152-samples (coefficients).
Time domain refers to how analysis and quantization is performed on short, discrete samples/chunks of the audio waveform. This offers low delay as only a small number of samples are analyzed before encoding, as opposed to frequency domain encoding (like MP3) which must analyze many times more samples before it can decide how to transform and output encoded audio. This also offers higher performance on complex, random and transient impulses (such as percussive instruments, and applause), offering avoidance of artifacts like pre-echo.
The 32 sub-band filter bank returns 32 amplitude coefficients, one for each equal-sized frequency band/segment of the audio, which is about 700 Hz wide (depending on the audio's sampling frequency). The encoder then utilizes the psychoacoustic model to determine which sub-bands contain audio information that is less important, and so, where quantization will be inaudible, or at least much less noticeable.[41]
The psychoacoustic model is applied using a 1024-point Fast Fourier Transform (FFT). Of the 1152 samples per frame, 64 samples at the top and bottom of the frequency range are ignored for this analysis. They are presumably not significant enough to change the result. The psychoacoustic model uses an empirically determined masking model to determine which sub-bands contribute more to the masking threshold, and how much quantization noise each can contain without being perceived. Any sounds below the absolute threshold of hearing (ATH) are completely discarded. The available bits are then assigned to each sub-band accordingly.[51][54]
Typically, sub-bands are less important if they contain quieter sounds (smaller coefficient) than a neighboring (i.e. similar frequency) sub-band with louder sounds (larger coefficient). Also, "noise" components typically have a more significant masking effect than "tonal" components.[53]
Less significant sub-bands are reduced in accuracy by quantization. This basically involves compressing the frequency range (amplitude of the coefficient), i.e. raising the noise floor. Then computing an amplification factor, for the decoder to use to re-expand each sub-band to the proper frequency range.[55][56]
Layer II can also optionally use intensity stereo coding, a form of joint stereo. This means that the frequencies above 6 kHz of both channels are combined/down-mixed into one single (mono) channel, but the "side channel" information on the relative intensity (volume, amplitude) of each channel is preserved and encoded into the bitstream separately. On playback, the single channel is played through left and right speakers, with the intensity information applied to each channel to give the illusion of stereo sound.[41][53] This perceptual trick is known as stereo irrelevancy. This can allow further reduction of the audio bitrate without much perceivable loss of fidelity, but is generally not used with higher bitrates as it does not provide very high quality (transparent) audio.[41][54][57][58]
Quality[edit]
Subjective audio testing by experts, in the most critical conditions ever implemented, has shown MP2 to offer transparent audio compression at 256 kbit/s for 16-bit 44.1 kHz CD audio using the earliest reference implementation (more recent encoders should presumably perform even better).[1][53][54][59] That (approximately) 1:6 compression ratio for CD audio is particularly impressive because it is quite close to the estimated upper limit of perceptual entropy, at just over 1:8.[60][61] Achieving much higher compression is simply not possible without discarding some perceptible information.
MP2 remains a favoured lossy audio coding standard due to its particularly high audio coding performances on important audio material such as castanet, symphonic orchestra, male and female voices and particularly complex and high energy transients (impulses) like percussive sounds: triangle, glockenspiel and audience applause.[21] More recent testing has shown that MPEG Multichannel (based on MP2), despite being compromised by an inferior matrixed mode (for the sake of backwards compatibility)[1][54] rates just slightly lower than much more recent audio codecs, such as Dolby Digital (AC-3) and Advanced Audio Coding (AAC) (mostly within the margin of error—and substantially superior in some cases, such as audience applause).[62][63] This is one reason that MP2 audio continues to be used extensively. The MPEG-2 AAC Stereo verification tests reached a vastly different conclusion, however, showing AAC to provide superior performance to MP2 at half the bitrate.[64] The reason for this disparity with both earlier and later tests is not clear, but strangely, a sample of applause is notably absent from the latter test.
Layer II audio files typically use the extension .mp2 or sometimes .m2a
Layer III/MP3[edit]
MPEG-1 Layer III (MP3) is a lossy audio format designed to provide acceptable quality at about 64 kbit/s for monaural audio over single-channel (BRI) ISDN links, and 128 kbit/s for stereo sound.
History/ASPEC[edit]
Layer III/MP3 was derived from the Adaptive Spectral Perceptual Entropy Coding (ASPEC) codec developed by Fraunhofer as part of the EUREKA 147 pan-European inter-governmental research and development initiative for the development of digital audio broadcasting. ASPEC was adapted to fit in with the Layer II/MUSICAM model (frame size, filter bank, FFT, etc.), to become Layer III.[13]
ASPEC was itself based on Multiple adaptive Spectral audio Coding (MSC) by E. F. Schroeder, Optimum Coding in the Frequency domain (OCF) the doctoral thesis by Karlheinz Brandenburg at the University of Erlangen-Nuremberg, Perceptual Transform Coding (PXFM) by J. D. Johnston at AT&T Bell Labs, and Transform coding of audio signals by Y. Mahieux and J. Petit at Institut für Rundfunktechnik (IRT/CNET).[65]
Technical details[edit]
MP3 is a frequency-domain audio transform encoder. Even though it utilizes some of the lower layer functions, MP3 is quite different from Layer II/MP2.
MP3 works on 1152 samples like Layer II, but needs to take multiple frames for analysis before frequency-domain (MDCT) processing and quantization can be effective. It outputs a variable number of samples, using a bit buffer to enable this variable bitrate (VBR) encoding while maintaining 1152 sample size output frames. This causes a significantly longer delay before output, which has caused MP3 to be considered unsuitable for studio applications where editing or other processing needs to take place.[54]
MP3 does not benefit from the 32 sub-band polyphased filter bank, instead just using an 18-point MDCT transformation on each output to split the data into 576 frequency components, and processing it in the frequency domain.[53] This extra granularity allows MP3 to have a much finer psychoacoustic model, and more carefully apply appropriate quantization to each band, providing much better low-bitrate performance.
Frequency-domain processing imposes some limitations as well, causing a factor of 12 or 36 × worse temporal resolution than Layer II. This causes quantization artifacts, due to transient sounds like percussive events and other high-frequency events that spread over a larger window. This results in audible smearing and pre-echo.[54] MP3 uses pre-echo detection routines, and VBR encoding, which allows it to temporarily increase the bitrate during difficult passages, in an attempt to reduce this effect. It is also able to switch between the normal 36 sample quantization window, and instead using 3× short 12 sample windows instead, to reduce the temporal (time) length of quantization artifacts.[54] And yet in choosing a fairly small window size to make MP3's temporal response adequate enough to avoid the most serious artifacts, MP3 becomes much less efficient in frequency domain compression of stationary, tonal components.
Being forced to use a hybrid time domain (filter bank) /frequency domain (MDCT) model to fit in with Layer II simply wastes processing time and compromises quality by introducing aliasing artifacts. MP3 has an aliasing cancellation stage specifically to mask this problem, but which instead produces frequency domain energy which must be encoded in the audio. This is pushed to the top of the frequency range, where most people have limited hearing, in hopes the distortion it causes will be less audible.
Layer II's 1024 point FFT doesn't entirely cover all samples, and would omit several entire MP3 sub-bands, where quantization factors must be determined. MP3 instead uses two passes of FFT analysis for spectral estimation, to calculate the global and individual masking thresholds. This allows it to cover all 1152 samples. Of the two, it utilizes the global masking threshold level from the more critical pass, with the most difficult audio.
In addition to Layer II's intensity encoded joint stereo, MP3 can use middle/side (mid/side, m/s, MS, matrixed) joint stereo. With mid/side stereo, certain frequency ranges of both channels are merged into a single (middle, mid, L+R) mono channel, while the sound difference between the left and right channels is stored as a separate (side, L-R) channel. Unlike intensity stereo, this process does not discard any audio information. When combined with quantization, however, it can exaggerate artifacts.
If the difference between the left and right channels is small, the side channel will be small, which will offer as much as a 50% bitrate savings, and associated quality improvement. If the difference between left and right is large, standard (discrete, left/right) stereo encoding may be preferred, as mid/side joint stereo will not provide any benefits. An MP3 encoder can switch between m/s stereo and full stereo on a frame-by-frame basis.[53][58][66]
Unlike Layers I/II, MP3 uses variable-length Huffman coding (after perceptual) to further reduce the bitrate, without any further quality loss.[51][54]
Quality[edit]
These technical limitations inherently prevent MP3 from providing critically transparent quality at any bitrate. This makes Layer II sound quality actually superior to MP3 audio, when it is used at a high enough bitrate to avoid noticeable artifacts. The term "transparent" often gets misused, however. The quality of MP3 (and other codecs) is sometimes called "transparent," even at impossibly low bitrates, when what is really meant is "good quality on average/non-critical material," or perhaps "exhibiting only non-annoying artifacts."
MP3's more fine-grained and selective quantization does prove notably superior to Layer II/MP2 at lower-bitrates, however. It is able to provide nearly equivalent audio quality to Layer II, at a 15% lower bitrate (approximately).[63][64] 128 kbit/s is considered the "sweet spot" for MP3; meaning it provides generally acceptable quality stereo sound on most music, and there are diminishing quality improvements from increasing the bitrate further. MP3 is also regarded as exhibiting artifacts that are less annoying than Layer II, when both are used at bitrates that are too low to possibly provide faithful reproduction.
Layer III audio files use the extension .mp3.
MPEG-2 audio extensions[edit]
The MPEG-2 standard includes several extensions to MPEG-1 Audio.[54] These are known as MPEG-2 BC – backwards compatible with MPEG-1 Audio.[67][68][69][70] MPEG-2 Audio is defined in ISO/IEC 13818-3
- MPEG Multichannel – Backward compatible 5.1-channel surround sound.[20]
- Sampling rates: 16000, 22050, and 24000 Hz
- Bitrates: 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144 and 160 kbit/s
These sampling rates are exactly half that of those originally defined for MPEG-1 Audio. They were introduced to maintain higher quality sound when encoding audio at lower-bitrates.[20] The even-lower bitrates were introduced because tests showed that MPEG-1 Audio could provide higher quality than any existing (circa 1994) very low bitrate (i.e. speech) audio codecs.[71]
Part 4: Conformance testing[edit]
Part 4 of the MPEG-1 standard covers conformance testing, and is defined in ISO/IEC-11172-4.
Conformance: Procedures for testing conformance.
Provides two sets of guidelines and reference bitstreams for testing the conformance of MPEG-1 audio and video decoders, as well as the bitstreams produced by an encoder.[10][18]
Part 5: Reference software[edit]
Part 5 of the MPEG-1 standard includes reference software, and is defined in ISO/IEC TR 11172-5.
Simulation: Reference software.
C reference code for encoding and decoding of audio and video, as well as multiplexing and demultiplexing.[10][18]
This includes the ISO Dist10 audio encoder code, which LAME and TooLAME were originally based upon.
File extension[edit]
.mpg is one of a number of file extensions for MPEG-1 or MPEG-2 audio and video compression. MPEG-1 Part 2 video is rare nowadays, and this extension typically refers to an MPEG program stream (defined in MPEG-1 and MPEG-2) or MPEG transport stream (defined in MPEG-2). Other suffixes such as .m2ts also exists specifying the precise container, in this case MPEG-2 TS, but this has little relevance to MPEG-1 media.
.mp3 is the most common extension for files containing MPEG-1 Layer 3 audio. An MP3 file is typically an uncontained stream of raw audio; the conventional way to tag MP3 files is by writing data to "garbage" segments of each frame, which preserve the media information but are discarded by the player. This is similar in many respects to how raw .AAC files are tagged (but this is less supported nowadays, e.g. iTunes).
Note that although it would apply, .mpg does not normally append raw AAC or AAC in MPEG-2 Part 7 Containers. The .aac extension normally denotes these audio files.
See also[edit]
- Implementations
- Libavcodec includes MPEG-1/2 video/audio encoders and decoders
- Mjpegtools MPEG-1/2 video/audio encoders
- TooLAME A high quality MPEG-1 Layer II audio encoder.
- LAME A high quality MP3 (Layer III) audio encoder.
- Musepack A format originally based on MPEG-1 Layer II audio, but now incompatible.
References[edit]
- ^ a b c d e f Adler, Mark; Popp, Harald; Hjerde, Morten (November 9, 1996), MPEG-FAQ: multimedia compression [1/9]faqs.org, archived from the original on January 4, 2017retrieved 2016-11-11
- ^ a b c d e f g h Le Gall, Didier (April 1991), MPEG: a video compression standard for multimedia applications (PDF)Communications of the ACM, archived (PDF) from the original on 2017-01-27retrieved 2016-11-11
- ^ Chiariglione, Leonardo (October 21, 1989), Kurihama 89 press releaseISO/IEC, archived from the original on August 5, 2010retrieved 2008-04-09
- ^ ISO/IEC JTC 1/SC 29 (2009-10-30). "Programme of Work — Allocated to SC 29/WG 11, MPEG-1 (Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s)". Archived from the original on 2013-12-31. Retrieved 2009-11-10.
- ^ ISO. "ISO/IEC 11172-1:1993 - Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 1: Systems". Archived from the original on 2016-11-12. Retrieved 2016-11-11.
- ^ MPEG. "About MPEG - Achievements". chiariglione.org. Archived from the original on 2008-07-08. Retrieved 2009-10-31.
- ^ MPEG. "Terms of Reference". chiariglione.org. Archived from the original on 2010-02-21. Retrieved 2009-10-31.
- ^ a b MPEG. "MPEG standards - Full list of standards developed or under development". chiariglione.org. Archived from the original on 2010-04-20. Retrieved 2009-10-31.
- ^ Fogg, Chad (April 2, 1996), MPEG-2 FAQUniversity of California, Berkeley, archived from the original on August 29, 2000retrieved 2008-04-09
- ^ a b c d e f g h i j k l Fogg, Chad (April 2, 1996), MPEG-2 FAQ (archived website)University of California, Berkeley, archived from the original on 2008-06-16retrieved 2016-11-11
- ^ Hans Geog Musmann, Genesis of the MP3 Audio Coding Standard (PDF)archived from the original (PDF) on 2012-01-17retrieved 2011-07-26
- ^ Chiariglione, Leonardo (March 2001), Open source in MPEGLinux Journal, archived from the original on 2011-07-25retrieved 2008-04-09
- ^ a b c d Chiariglione, Leonardo; Le Gall, Didier; Musmann, Hans-Georg; Simon, Allen (September 1990), Press Release - Status report of ISO MPEGISO/IEC, archived from the original on 2010-02-14retrieved 2008-04-09
- ^ MeetingsISO/IEC, archived from the original on 2010-02-10retrieved 2008-04-09
- ^ a b "Archived copy". Archived from the original on 2009-07-23. Retrieved 2008-10-12.CS1 maint: Archived copy as title (link) Q. Well, then how do I get the documents, like the MPEG I draft?
A. MPEG is a draft ISO standard. It's [sic] exact name is ISO CD 11172.
...
You may order it from your national standards body (e.g. ANSI in
the USA) or buy it from companies like
OMNICOM ...[dead link] - ^ "INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO". archive.org. 12 August 2010. Archived from the original on 12 August 2010. Retrieved 7 May 2018.
- ^ "Archived copy". Archived from the original on 2008-10-06. Retrieved 2008-07-13.CS1 maint: Archived copy as title (link)"Archived copy". Archived from the original on 2008-06-12. Retrieved 2008-07-13.CS1 maint: Archived copy as title (link) A Continuous Media Player, Lawrence A. Rowe and Brian C. Smith, Proc. 3rd Int. Workshop on Network and OS Support for Digital Audio and Video, San Diego CA (November 1992)[dead link]
- ^ a b c AchievementsISO/IEC, archived from the original on 2008-07-08retrieved 2008-04-03
- ^ Chiariglione, Leonardo (November 6, 1992), MPEG Press Release, London, 6 November 1992ISO/IEC, archived from the original on 12 August 2010retrieved 2008-04-09
- ^ a b c Wallace, Greg (April 2, 1993), Press ReleaseISO/IEC, archived from the original on August 6, 2010retrieved 2008-04-09
- ^ a b c d Popp, Harald; Hjerde, Morten (November 9, 1996), MPEG-FAQ: multimedia compression [2/9]faqs.org, archived from the original on January 4, 2017retrieved 2016-11-11
- ^ "INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO". archive.org. 26 July 2010. Archived from the original on 26 July 2010. Retrieved 7 May 2018.
- ^ ISO/IEC JTC 1/SC 29 (2010-07-17). "MPEG-1 (Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s)". Archived from the original on 2013-12-31. Retrieved 2010-07-18.
- ^ ISO. "ISO/IEC 11172-1:1993 - Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 1: Systems". Archived from the original on 2017-08-30. Retrieved 2016-11-11.
- ^ ISO. "ISO/IEC 11172-2:1993 - Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 2: Video". Archived from the original on 2017-08-30. Retrieved 2016-11-11.
- ^ ISO. "ISO/IEC 11172-3:1993 - Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 3: Audio". Archived from the original on 2017-05-15. Retrieved 2016-11-11.
- ^ ISO. "ISO/IEC 11172-4:1995 - Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 4: Compliance testing". Archived from the original on 2017-08-30. Retrieved 2016-11-11.
- ^ ISO. "ISO/IEC TR 11172-5:1998 - Information technology -- Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s -- Part 5: Software simulation". Archived from the original on 2017-08-30. Retrieved 2016-11-11.
- ^ Ozer, Jan (October 12, 2001), Choosing the Optimal Video Resolution: The MPEG-2 Player Marketextremetech.com, archived from the original on June 7, 2011retrieved 2016-11-11
- ^ Comparison between MPEG 1 & 2archived from the original on 2012-02-10retrieved 2016-11-11
- ^ MPEG 1 And 2 ComparedPure Motion Ltd., 2003, archived from the original on 2005-12-14retrieved 2008-04-09
- ^ Dave Singer (2007-11-09). "homework] summary of the video (and audio) codec discussion". Archived from the original on December 21, 2016. Retrieved November 11, 2016.
- ^ "MPEG-1 Video Coding (H.261)". Library of Congress, Digital Preservation. October 21, 2014. Archived from the original on January 11, 2017. Retrieved 2016-11-11.
- ^ "ISO Standards and Patents". Archived from the original on 2016-11-15. Retrieved 2016-11-11.
Search for 11172
- ^ Performance of a Software MPEG Video Decoder[permanent dead link] Reference 3 in the paper is to Committee Draft of Standard ISO/IEC 11172, December 6, 1991[dead link]
- ^ Patent Status of MPEG-1,H.261 and MPEG-2
- ^ "[gst-devel] Can a MPEG-1 with Audio Layers 1&2 plugin be in plugins-good (patentwise)?". SourceForge.net. 2008-08-23. Archived from the original on 2014-02-02. Retrieved 2016-11-11.
- ^ http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-May/020015.html[dead link]
- ^ http://patft1.uspto.gov/netacgi/nph-Parser?patentnumber=5214678[permanent dead link] "Digital transmission system using subband coding of a digital signal" Filed: May 31, 1990, Granted May 25, 1993, Expires May 31, 2010?[dead link]
- ^ "mp3". Fraunhofer Institute for Integrated Circuits IIS. Archived from the original on 22 March 2018. Retrieved 7 May 2018.
- ^ a b c d e f g Grill, B.; Quackenbush, S. (October 2005), MPEG-1 AudioISO/IEC, archived from the original on 2010-04-30
- ^ Chiariglione, Leonardo, MPEG-1 SystemsISO/IEC, archived from the original on 2016-11-12retrieved 2016-11-11
- ^ Fimoff, Mark; Bretl, Wayne E. (December 1, 1999), MPEG2 Tutorialarchived from the original on November 12, 2016retrieved 2016-11-11
- ^ Fimoff, Mark; Bretl, Wayne E. (December 1, 1999), MPEG2 Tutorialarchived from the original on November 5, 2016retrieved 2016-11-11
- ^ Fimoff, Mark; Bretl, Wayne E. (December 1, 1999), MPEG2 Tutorialarchived from the original on November 5, 2016retrieved 2016-11-11
- ^ Fimoff, Mark; Bretl, Wayne E. (December 1, 1999), MPEG2 Tutorialarchived from the original on November 12, 2016retrieved 2016-11-11
- ^ Acharya, Soam; Smith, Brian (1998), Compressed Domain Transcoding of MPEGCornell University, IEEE Computer Society, ICMCS, p. 3, archived from the original on 2011-02-23retrieved 2016-11-11 - (Requires clever reading: says quantization matrices differ, but those are just defaults, and selectable)(registration required)
- ^ a b c Wee, Susie J.; Vasudev, Bhaskaran; Liu, Sam (March 13, 1997), Transcoding MPEG Video Streams in the Compressed DomainHewlett-Packard, CiteSeerX 10.1.1.24.633archived from the original on 2007-08-17retrieved 2016-11-11
- ^ "Archived copy". Archived from the original on 2009-05-03. Retrieved 2009-05-03.CS1 maint: Archived copy as title (link)
- ^ a b c d e f Thom, D.; Purnhagen, H. (October 1998), MPEG Audio FAQ Version 9ISO/IEC, archived from the original on 2010-02-18retrieved 2016-11-11
- ^ MPEG Audio Frame Headerarchived from the original on 2015-02-08retrieved 2016-11-11
- ^ a b c d e f Church, Steve, Perceptual Coding and MPEG CompressionNAB Engineering Handbook, Telos Systems, archived from the original on 2001-05-08retrieved 2008-04-09
- ^ a b c d e f g h i j Pan, Davis (Summer 1995), A Tutorial on MPEG/Audio Compression (PDF)IEEE Multimedia Journal, p. 8, archived from the original (PDF) on 2004-09-19retrieved 2008-04-09
- ^ Smith, Brian (1996), A Survey of Compressed Domain Processing TechniquesCornell University, p. 7, archived from the original on 2011-02-23retrieved 2008-04-09(registration required)
- ^ Cheng, Mike, Psychoacoustic Models in TwoLAMEtwolame.org, archived from the original on 2016-10-22retrieved 2016-11-11
- ^ Grill, B.; Quackenbush, S. (October 2005), MPEG-1 Audioarchive.org, archived from the original on 2008-04-27retrieved 2016-11-11
- ^ a b Herre, Jurgen (October 5, 2004), From Joint Stereo to Spatial Audio Coding (PDF)Conference on Digital Audio Effects, p. 2, archived from the original (PDF) on April 5, 2006retrieved 2008-04-17
- ^ C.Grewin, and T.Ryden, Subjective Assessments on Low Bit-rate Audio CodecsProceedings of the 10th International AES Conference, pp 91 - 102, London 1991
- ^ J. Johnston, Estimation of Perceptual Entropy Using Noise Masking Criteria, in Proc. ICASSP-88, pp. 2524-2527, May 1988.
- ^ J. Johnston, Transform Coding of Audio Signals Using Perceptual Noise Criteria, IEEE Journal Select Areas in Communications, vol. 6, nein. 2, pp. 314-323, Feb. 1988.
- ^ Wustenhagen et al., Subjective Listening Test of Multi-channel Audio CodecsAES 105th Convention Paper 4813, San Francisco 1998
- ^ a b B/MAE Project Group (September 2007), EBU evaluations of multichannel audio codecs (PDF)European Broadcasting Union, archived from the original (PDF) on 2008-10-30retrieved 2008-04-09
- ^ a b Meares, David; Watanabe, Kaoru; Scheirer, Eric (February 1998), Report on the MPEG-2 AAC Stereo Verification Tests (PDF)ISO/International Electrotechnical CommissionEC, p. 18, archived from the original (PDF) on April 14, 2008retrieved 2016-11-11
- ^ Painter, Ted; Spanias, Andreas (April 2000), Perceptual Coding of Digital Audio (Proceedings of the IEEE, VOL. 88, NO. 4) (PDF)Proceedings of the IEEE, archived from the original (PDF) on September 16, 2006retrieved 2016-11-11
- ^ Amorim, Roberto (September 19, 2006), GPSYCHO - Mid/Side StereoLAME, archived from the original on December 16, 2016retrieved 2016-11-11
- ^ ISO (October 1998). "MPEG Audio FAQ Version 9 – MPEG-1 and MPEG-2 BC". ISO. Archived from the original on 2010-02-18. Retrieved 2016-11-11.
- ^ D. Thom, H. Purnhagen, and the MPEG Audio Subgroup (October 1998). "MPEG Audio FAQ Version 9 - MPEG Audio". Archived from the original on 2011-08-07. Retrieved 2016-11-11.CS1 maint: Multiple names: authors list (link)
- ^ MPEG.ORG. "AAC". Archived from the original on 2007-08-31. Retrieved 2009-10-28.
- ^ ISO (2006-01-15), ISO/IEC 13818-7, Fourth edition, Part 7 – Advanced Audio Coding (AAC) (PDF)archived (PDF) from the original on 2009-03-06retrieved 2016-11-11
- ^ Chiariglione, Leonardo (November 11, 1994), Press ReleaseISO/IEC, archived from the original on August 8, 2010retrieved 2008-04-09
No comments:
Post a Comment