» SelfLinux » Multimedia » DVDs rippen » Abschnitt 6 SelfLinux-0.10.0
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GFDL   xine - Ein freier Video-Player

SelfLinux-Logo
Dokument DVDs rippen - Abschnitt 6 Revision: 1.1.2.10
Autor:  Moritz Bunkus
Formatierung:  Matthias Hagedorn
Lizenz:  GFDL
 

6 Glossar


6.1 CBR, VBR und ABR

Diese drei Abkürzungen stehen für Constant Bit Rate, Variable Bit Rate und Average (=durchschnittliche) Bit Rate.

Mit CBR verwendet der Encoder die gleiche Anzahl von Bits in jedem Frame, unabhängig davon, wieviele Bits er tatsächlich bräuchte. Dies hat den Nachteil, das z.B. ein komplett schwarzes Bild oder absolute Stille in einem Audio-Frame eine Menge Bits veschwendet, während Bilder oder Audio-Frames mit einer Menge Elementen von diesen Bits profitieren könnten.

VBR nimmt nun soviele Bits, wie tatsächlich gebraucht werden. So bekommt ein komplett schwarzes Bild nur einige wenige Bits und ein komplexes Bild bekommt soviele Bits wie es benötigt. Während dies die beste Qualität erzeugt, ist die endgültige Dateigröße nicht mehr vorhersagbar.

Das ist die Stelle, an der ABR in Spiel kommt. Du gibst eine durchschnittliche Bitrate an,die Du erreichen möchtest, und der Encoder verteilt die Bits, die ihm zur Verfügung stehen. So spart der Encoder bei schwarzen Bildern Bits ein, die dann komplexeren Bildern zur Verfügung stehen. Es ist somit ein Kompromiss zwischen Qualität und Vorhersagbarkeit der Dateilänge.



6.2 Global Motion Compensation (GMC)

Global motion compensation (GMC) hilft beim Zoomen und Schwenken der Kamera, wenn sich Objekte nur in ihrer Größe oder Position verändern, ihren Typ dabei aber beibehalten. Die Aktivierung von GMC ist für Naturfilme oder Landschafts-Dokumentationen zu empfehlen, die komprimiert werden sollen.



6.3 Letterboxing

Vielleicht ist Dir aufgefallen, dass Videos manchmal vor dem Kodieren mit schwarzen Balken eingerahmt sind. Dieser Vorgang nennt sich letterboxing. Er kann bei einigen Abspielern dabei helfen, das korrekte Seitenverhältnis zu erhalten. Andere nutzen die schwarzen Balken zum Anzeigen von Untertiteln. Der Nachteil ist, dass diese schwarzen Balken das Bild vergrößern und daher mehr Bandbreite zum Kodieren benötigen, obgleich komplett schwarze Teile nicht sehr viel Platz beanspruchen - aber gerade die Übergänge zwischen dem Bild und den schwarzen Streifen brauchen sehr viele Bits.



6.4 P/I/B-Frames, GOPs

GOP:

  • beginnt mit einem "I"-Frame, gefolgt normalerweise von einer Anzahl von "P" und "B"-Frames
  • jede GOP ist unabhängig: alle Frames, die für Hochrechnungen benötigt werden, sind in jedem GOP vorhanden.
  • GOPs können so klein sein wie ein einzelner I-Frame oder so groß wie gewünscht, aber normalerweise nicht mehr als 15 Frames für MPEG2. MPEG4 GOPs können so groß wie das maximale Keyframe-Intervall sein (üblicherweise 200-300 frames). Die meisten Codecs erlauben GOPs beliebiger Länge.
  • Je länger eine GOP, desto effizienter aber unrobuster die Kodierung.

I-frame:

  • "Intra-coded" frames: Durchschnittliche 7:1-Reduzierung.
  • wie JPEG, jedes Video-Bild ist unterteilt in Blöcke zu 8x8 Pixeln aus Y, R-Y, and B-Y
  • Blöcke sind in "macroblocks" zu 16x16 gruppiert.
  • Die Standards besagen, dass Macroblocks horizontal in Scheiben gruppiert werden, die eine ähnliche durchschnittlichen Blockhöhe besitzen, obgleich tatsächlich vorhandene Codecs dieser Regel nicht notwendigerweisefolgen.
  • Außerdem besagen die Standards, dass mehrere Scheiben einen Frame formen, und dass diese Frames die sich ergebenden "I"-Frames sind, obgleich Codecs auch dieser Vorgabe nicht folgen.

P-frame:

  • P-Frames sind auf der Basis vorhergehender I- oder P-Frames zuzüglich der Daten veränderter Macroblocks vorhergesagte Frames.
  • Durchschnittlich etwa 20:1 Reduzierung, oder etwa die Hälfte der Größe eine I-frames

B-frame:

  • Bidirektional vorhersagbare Frames basierend auf dem Aussehen und der Position vergangener und folgender Frame-Macroblöcke.
  • B-Frames benötigen weniger Daten als P-Frames, durchschnittlich etwa 50:1 Reduzierung.
  • BFrames benötigen mehr decoder-buffer-Speicher da zwei Frames während der Rekonstruktion miteinander verglichen werden.
  • B frames benötigen außerdem einer änderung der Kodierungsreihenfolge: Frames, die sich vom Encoder zum Decoder bewegen, sind NICHT in der Reihenfolge der Präsentation.

Für jeden Macroblock in einem P-Frame entscheidet der Encoder, ob er diesen Block bereits aus dem vorhergeheneden Frame kennt, oder ob es sich um einen komplett neuen Frame handelt. Im ersten Fall codiert er nur die Unterschiede (INTER mode). Im letzen Fall codiert er den gesamten Macroblock (INTRA mode).

Die Situation für B-Frames ist wie die folgende: "Ich kennen diesen Block nicht" (INTRA mode), "Ich kenne diesen Block vom vorhergehenden I- oder P-Frame (backward mode)", "dieser Block sieht aus wie ein Block im nächsten Frame (forward mode)", oder "dieser Block sieht aus wie eine Mischung des vorhergehenden und des nachfolgenden Frames (bidirectional mode".

MPEG1 GOPs sind immer "IBBPBBPBBPBB" (dies ist die Reihenfolge in der die Frames angezeigt werden, nicht notwendigerweise die Reihenfolge in der sie kodiert/gespeichert werden). MPEG2 GOPs sehen genauso aus. Sie können auch drei B-frames enthalten. Der DivX5 MPEG4 codec benutzt nur "IBPBPBPBPB", da es leichter zu implementieren ist, und weil B-Frame-Support for MPEG4-Codecs ziemlich neu ist. Du kannst in Zukunft mehr B-Frames erwarten.



6.5 Quarter Pixel (QP)

Quarter pel oder Quarter Pixel wirkt auf die Präzision beim Filtern von Macroblöcken. DivX 4 arbeitet mit Half Pel (1.5, 1.5); 1.25, 1.75, etc. sind beginnend mit DivX 5 möglich. Die konventionelle Teilung eines Bildes in Macroblöcke wird auf der Basis von Integer-Zahlen - 16x16 oder 8x8 - unter Verwendung der ergänzenden Information von dem, was als Virtual Block bekannt ist, verfeinert. Dies erlaubt es, Bewegungen von Objekten in Bildern realistischer wiederzugeben.




zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GFDL   xine - Ein freier Video-Player