summaryrefslogtreecommitdiffstats
path: root/DOCS/xml/de/encoding-guide.xml
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/xml/de/encoding-guide.xml')
-rw-r--r--DOCS/xml/de/encoding-guide.xml5758
1 files changed, 0 insertions, 5758 deletions
diff --git a/DOCS/xml/de/encoding-guide.xml b/DOCS/xml/de/encoding-guide.xml
deleted file mode 100644
index 0ce558f997..0000000000
--- a/DOCS/xml/de/encoding-guide.xml
+++ /dev/null
@@ -1,5758 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- in sync with r24549 -->
-<!-- missing cosmetic commit 21537 -->
-<chapter id="encoding-guide">
- <title>Encodieren mit <application>MEncoder</application></title>
-
- <sect1 id="menc-feat-dvd-mpeg4">
- <title>Erzeugen eines hochwertigen MPEG-4-Rips ("DivX") eines DVD-Films</title>
-
- <para>
- Eine häufig gestellte Frage ist
- "Wie mache ich den hochwertigsten Rip für eine gegebene Größe?".
- Eine weitere Frage ist
- "Wie mache ich den qualitativ bestmöglichen DVD-Rip? Die Dateigröße ist
- mir egal, ich will einfach nur die beste Qualität."
- </para>
-
- <para>
- Die letzte Frage ist zumindest etwas falsch gestellt. Wenn du dir
- schließlich keine Gedanken um die Dateigröße machst, warum kopierst Du
- dann nicht einfach den kompletten MPEG-2-Videostream der DVD?
- Sicherlich, deine AVI wird am Ende 5GB groß sein, so oder so, jedoch ist
- dies mit Sicherheit deine beste Option, wenn du die beste Qualität
- erhalten willst und dich nicht um die Größe kümmerst.
- </para>
-
- <para>
- Tatsache ist, der Grund eine DVD in MPEG-4 umzuencodieren ist
- gerade <emphasis role="bold">weil</emphasis> dir die Größe wichtig ist.
- </para>
-
- <para>
- Es ist sehr schwierig, ein Rezept zum Erzeugen eines sehr
- hochwertigen DVD-Rips anzubieten. Es gilt mehrere Faktoren zu
- berücksichtigen, und du solltest dich mit diesen Details auskennen oder
- du wirst voraussichtlich am Ende von den Resultaten enttäuscht.
- Nachfolgend werden wir einige dieser Themen etwas näher untersuchen
- und uns danach ein Beispiel ansehen. Wir gehen davon aus, dass Du
- <systemitem class="library">libavcodec</systemitem> zum Encodieren des
- Videos verwendest, obwohl diese Theorie genauso gut auf andere Codecs
- zutrifft.
- </para>
-
- <para>
- Ist dies alles zu viel für dich, solltest du womöglich auf eins der vielen
- guten Frontends zurückgreifen, die in der
- <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder-Sektion</ulink>
- unserer diesbezüglichen Projektseite zu finden sind.
- Auf diese Weise solltest du in der Lage sein, hochwertige Rips zu
- erhalten ohne viel nachdenken zu müssen, da die meisten dieser Tools dazu entworfen
- wurden, clevere Entscheidungen für dich zu treffen.
- </para>
-
- <sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
- <title>Vorbereitung aufs Encodieren: Identifiziere Quellmaterial und Framerate</title>
- <para>
- Bevor du über das Encodieren eines Films nachdenkst, solltest du einige einleitende
- Schritte vornehmen.
- </para>
-
- <para>
- Der erste und allerwichtigste Schritt vor dem Encodieren sollte sein,
- festzustellen, mit welchem Inhaltstyp du umgehst.
- Kommt dein Quellmaterial von einer DVD oder einem Rundfunk-/Kabel-/Satelliten-TV,
- wird es in einem von zwei Formaten abgespeichert: NTSC für Nord-Amerika und Japan,
- PAL für Europa usw.
- Es ist wichtig, sich klar zu machen, dass dies ganz einfach die Formatierung
- für die Präsentation auf einem Fernsehgerät ist und häufig
- <emphasis role="bold">nicht</emphasis> mit dem originalen Format des Films
- korrespondiert. Die Erfahrung zeigt, dass NTSC-Material schwieriger zu
- encodieren ist, da mehr Elemente in der Quelle zu identifizieren sind.
- Um eine geeignete Encodierung zu produzieren, solltest du das originale
- Format kennen.
- Fehler, dies sollte man berücksichtigen, führen zu diversen Fehlerstellen
- in deiner Encodierung, einschließlich hässlicher Kammartefakte (combing/interlacing)
- und doppelten oder gar verlorenen Frames.
- Abgesehen davon, dass sie unschön sind, beeinflussen diese Artefakte die
- Codierungseffizienz negativ:
- Du erhältst eine schlechtere Qualität pro Bitrateneinheit.
- </para>
-
- <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
- <title>Identifizieren der Quellframerate</title>
- <para>
- Hier ist eine Liste der verbreiteten Typen des Quellmaterials, in der Du
- diese und ihre Eigenschaften voraussichtlich finden wirst:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">Standardfilm</emphasis>: Produziert für
- theatralische Anzeige bei 24fps.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">PAL-Video</emphasis>: Aufgenommen mit einer
- PAL-Videokamera bei 50 Feldern pro Sekunde.
- Ein Feld besteht ganz einfach aus den ungerade oder gerade nummerierten
- Zeilen eines Frames.
- Das Fernsehen wurde entworfen, diese Felder als billige Form einer
- analogen Komprimierung im Wechsel zu aktualisieren.
- Das menschliche Auge kompensiert dies angeblich, aber wenn du
- Interlacing einmal verstanden hast, wirst du lernen, es auch auf
- dem TV-Bildschirm zu erkennen und nie wieder Spass am Fernsehen haben.
- Zwei Felder machen <emphasis role="bold">keinen</emphasis> kompletten
- Frame, da sie in einer 50-stel Sekunde zeitlich getrennt aufgenommen
- werden und so nicht Schlange stehen solange keine Bewegung da ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">NTSC-Video</emphasis>: Aufgenommen mit einer
- NTSC-Videokamera bei 60000/1001 Feldern pro Sekunde oder 60 Feldern
- pro Sekunde zu Zeiten vor dem Farbfernsehen.
- Ansonsten ähnlich wie PAL.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Animation</emphasis>: Üblicherweise bei
- 24fps gezeichnet, kommt jedoch auch in Varianten mit gemischter
- Framerate vor.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Computer Graphics (CG)</emphasis>: Kann
- irgendeine Framerate sein, jedoch sind einige üblicher als andere;
- 24 und 30 Frames pro Sekunde sind typisch für NTSC und 25fps ist
- typisch für PAL.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Alter Film</emphasis>: Diverse niedrigere
- Frameraten.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
- <title>Identifizieren des Quellmaterials</title>
- <para>
- Filme, die sich aus Frames zusammensetzen, werden den progressiven
- zugeordnet, während die aus unabhängigen Feldern bestehenden
- entweder interlaced (engl. für verschachteln) oder Video
- genannt werden - somit ist letzterer Terminus zweideutig.
- </para>
- <para>
- Um das ganze noch komplizierter zu machen, sind manche Filme ein
- Gemisch aus einigen den oben beschriebenen Formen.
- </para>
- <para>
- Das wichtigste Unterscheidungsmerkmal zwischen all diesen
- Formaten ist, dass einige Frame-basiert, andere wiederum
- Feld-basiert sind.
- <emphasis role="bold">Immer</emphasis> wenn ein Film für die
- Anzeige auf dem Fernseher vorbereitet wird (einschließlich
- DVD), wird er in ein Feld-basiertes Format konvertiert.
- Die verschiedenen Methoden, mit denen dies bewerkstelligt werden
- kann, werden zusammengenommen als "telecine" bezeichnet, von welchen
- das verrufene NTSC "3:2 pulldown" eine Abart darstellt.
- Sofern das Originalmaterial nicht Feld-basiert war (bei gleicher
- Feldrate), erhältst du einen Film in einem anderen Format als
- das Original.
- </para>
-
- <itemizedlist>
- <title>Es gibt einige verbreitete Typen des pulldown:</title>
- <listitem>
- <para>
- <emphasis role="bold">PAL 2:2 pulldown</emphasis>: Das schönste von
- allen.
- Jeder Frame wird durch das wechselweise Extrahieren und Anzeigen
- der geradzahligen und ungeradzahligen Zeilen für die Dauer von zwei
- Feldern dargestellt.
- Hat das Originalmaterial 24fps, beschleunigt dieser Prozess den Film
- um 4%.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
- Jeder 12-te Frame, anstatt nur jeder 2-te, wird für die Dauer von zwei
- Feldern dargestellt.
- Dies vermeidet die 4% Geschwindigkeitssteigerung, macht jedoch das
- Umkehren des Prozesses viel schwieriger.
- Es ist üblicherweise in Musical-Produktionen zu sehen, wo das Anpassen der
- Geschwindigkeit um 4% sicherlich das musikalische Ergebnis kaputt machen würde.
- </para>
- </listitem>
- <listitem><para>
- <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Frames werden
- abwechselnd für die Dauer von 3 oder 2 Feldern angezeigt.
- Dies verleiht der Feldrate das 2.5-fache der originalen Framerate.
- Das Resultat wird dadurch auch leicht von 60 Feldern pro Sekunde auf
- 60000/1001 Felder pro Sekunde verlangsamt, um die NTSC-Felddrate
- beizubehalten.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Verwendet zur
- Darstellung von 30fps Material auf NTSC.
- Schön, genau wie das 2:2 PAL pulldown.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Es gibt auch Methoden zur Konvertierung zwischen NTSC- und PAL-Video,
- jedoch liegen diese Themen jenseits des Rahmens dieser Anleitung.
- Wenn du auf solch einen Film stößt und ihn encodieren willst, solltest
- du besser eine Kopie im originalen Format suchen.
- Die Konvertierung zwischen diesen beiden Formaten ist hochdestruktiv und
- kann nicht spurlos rückgängig gemacht werden, somit wird deine Encodierung
- außerordentlich darunter leiden, wenn sie aus einer konvertierten Quelle
- erzeugt wurde.
- </para>
- <para>
- Wenn ein Video auf DVD gespeichert wird, werden fortlaufend Feldpaare
- als Frames gruppiert, auch wenn nicht beabsichtigt ist, diese gleichzeitig
- zu zeigen.
- Der bei DVD und digitalem TV verwendete MPEG-2-Standard bietet einen Weg
- für beides, die originalen progressiven Frames zu encodieren und die Anzahl
- der Felder, für die ein Frame gezeigt werden soll, im Header dieses Frames
- zu speichern.
- Wurde diese Methode angewandt, wird dieser Film oft als "soft telecined"
- beschrieben, da der Prozess eher nur den DVD-Player anweist, pulldown
- auf den Film anzuwenden, als den Film selbst abzuändern.
- Dieser Fall sollte möglichst bevorzugt werden, da er (eigentlich ignoriert)
- leicht vom Encoder rückgängig gemacht werden kann und da er die maximale
- Qualität beibehält.
- Wie auch immer, viele DVD- und Rundfunkproduktionsstudios verwenden
- keine passenden Encodierungstechniken, sie produzieren stattdessen Filme mit
- "hard telecine", bei denen Felder sogar in encodiertes MPEG-2 dupliziert
- werden.
- </para>
- <para>
- Die Vorgehensweisen für den Umgang mit solchen Fällen werden
- <link linkend="menc-feat-telecine">später in diesem Handbuch</link>
- behandelt.
- Wir lassen dich jetzt mit einigen Anleitungen zur Identifizierung der
- Materialtypen zurück, mit denen du es zu tun hast:
- </para>
-
- <itemizedlist>
- <title>NTSC-Bereiche:</title>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> angibt, dass die Framerate
- während des Betrachtens des Films zu 24000/1001 gewechselt hat
- und diese nie wieder zurückwechselt, handelt es sich meist mit
- Sicherheit um progressiven Inhalt, der "soft telecined" wurde.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> anzeigt, dass die Framerate
- zwischen 24000/1001 und 30000/1001 vor und zurück wechselt, und Du
- siehst hin und wieder Kammartefakte, dann gibt es mehrere Möglichkeiten.
- Die Segmente mit 24000/1001 fps sind meist mit Sicherheit progressiver
- Inhalt, "soft telecined", jedoch könnten die Teile mit 30000/1001 fps
- entweder "hard telecined" 24000/1001 fps Inhalt oder 60000/1001 Felder
- pro Sekunde NTSC-Video sein.
- Verwende die selben Richtwerte wie in den folgenden zwei Fällen, um zu
- bestimmen, um was es sich handelt.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> nie einen Frameratenwechsel
- anzeigt und jeder einzelne Frame mit Bewegung gekämmt (combed) erscheint,
- ist dein Film ein NTSC-Video bei 60000/1001 Feldern pro Sekunde.
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn <application>MPlayer</application> nie einen Frameratenwechsel
- anzeigt und zwei von fünf Frames gekämmt (combed) erscheinen, ist der
- Inhalt deines Films "hard telecined" 24000/1001 fps.
- </para>
- </listitem>
- </itemizedlist>
-
- <itemizedlist>
- <title>PAL-Bereiche:</title>
- <listitem>
- <para>
- Wenn du niemals irgend ein Combing siehst, ist dein Film 2:2 pulldown.
- </para>
- </listitem>
- <listitem>
- <para>
- Siehst du alle halbe Sekunde abwechselnd ein- und ausgehendes Combing,
- dann ist dein Film 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
- </para>
- </listitem>
- <listitem>
- <para>
- Hast du immer während Bewegungen Combing gesehen, dann ist dein Film
- PAL-Video bei 50 Feldern pro Sekunde.
- </para>
- </listitem>
- </itemizedlist>
-
- <note>
- <title>Tipp:</title>
- <para>
- <application>MPlayer</application> kann das Filmplayback
- mittels der Option -speed verlangsamen oder Frame für Frame abspielen.
- Versuche <option>-speed</option> 0.2 zu verwenden, um den Film sehr lamgsam
- anzusehen oder drücke wiederholt die Taste "<keycap>.</keycap>", um jeweils
- einen Frame abzuspielen und identifiziere dann das Muster, falls du bei voller
- Geschwindigkeit nichts erkennen kannst.
- </para>
- </note>
- </sect3>
- </sect2>
-
- <sect2 id="menc-feat-dvd-mpeg4-2pass">
- <title>Konstanter Quantisierungsparameter vs. Multipass</title>
-
- <para>
- Es ist möglich, deinen Film in einer großen Auswahl von Qualitäten zu
- encodieren.
- Mit modernen Videoencodern und ein wenig Pre-Codec-Kompression
- (Herunterskalierung und Rauschunterdrückung), kann eine sehr gute
- Qualität bei 700 MB für einen 90-110-minütigen Breitwandfilm erreicht werden.
- Des Weiteren können alle Filme - sogar die längsten - mit nahezu perfekter
- Qualität bei 1400 MB encodiert werden.
- </para>
-
- <para>
- Es gibt drei Annäherungen für das Encodieren eines Videos: konstante Bitrate
- (CBR), konstanter Quantisierungsparameter und Multipass (ABR, oder mittlere Bitrate).
- </para>
-
- <para>
- Die Komplexität der Frames eines Filmes und somit die Anzahl der für
- deren Komprimierung erforderlichen Bits kann von einer Szene zur anderen
- außerordentlich variieren.
- Moderne Videoencoder können sich durch Variieren der Bitrate an diese
- Anforderungen anpassen.
- In einfachen Modi wie CBR kennen die Encoder jedoch nicht den
- Bitratenbedarf zukünftiger Szenen und sind somit nicht in der Lage,
- die angeforderte mittlere Bitrate über längere Zeitspannen zu
- überschreiten.
- Erweiterte Modi wie etwa Multipass-Encodierung können die Statistik
- früherer Durchgänge berücksichtigen; dies behebt das oben erwähnte
- Problem.
- </para>
-
- <note><title>Anmerkung:</title>
- <para>
- Die meisten Codecs, die ABR-Encodierung unterstützen, unterstützen nur
- die Encodierung in zwei Durchgängen (two pass) während einige andere wie
- etwa <systemitem class="library">x264</systemitem>,
- <systemitem class="library">Xvid</systemitem>
- und <systemitem class="library">libavcodec</systemitem> Multipass
- unterstützen, was die Qualität bei jedem Durchgang leicht verbessert.
- Jedoch ist diese Verbesserung weder messbar noch ist sie nach dem
- 4-ten Durchgang oder so spürbar.
- Aus diesem Grund werden in diesem Abschnitt die Encoderierung mit 2 Durchläufen
- (two pass) und Multipass abwechselnd angewandt.
- </para>
- </note>
-
- <para>
- In jedem dieser Modi bricht der Videocodec (wie etwa
- <systemitem class="library">libavcodec</systemitem>)
- den Videoframe in 16x16 Pixel Macroblöcke und wendet danach einen
- Quantisierer auf jeden Macroblock an. Je niedriger der Quantisierer desto
- besser die Qualität und desto höher die Bitrate.
- Die Methode, die der Filmencoder zur Bestimmung des auf einen gegebenen
- Macroblock anzuwendenden Quantisierer verwendet, variiert und ist in
- hohem Maße einstellbar. (Dies ist eine extrem übertriebene Vereinfachung
- des aktuellen Prozesses aber nützlich, um das Grundkonzept zu verstehen.)
- </para>
-
- <para>
- Wenn du eine konstante Bitrate festlegst, wird der Videocodec das Video
- so encodieren, dass so viele Details wie notwendig und so wenig
- wie möglich ausgesondert werden, um unterhalb der vorgegebenen Bitrate zu
- bleiben. Wenn du dich wirklich nicht um die Dateigröße kümmerst, könntest
- du auch CBR verwenden und eine nahezu endlose Bitrate festlegen.
- (In der Praxis bedeutet dies einen Wert, der hoch genug ist, kein Limit
- aufzuwerfen wie 10000Kbit.) Ohne echte Einschränkung der Bitrate wird
- der Codec als Ergebnis den niedrigsten möglichen Quantisierer für jeden
- Macroblock anwenden (wie durch <option>vqmin</option> für
- <systemitem class="library">libavcodec</systemitem>
- spezifiziert, Standardwert ist 2).
- Sobald du eine Bitrate festlegst, die niedrig genug ist, den
- Codec zur Anwendung eines höheren Quantisierers zu zwingen, bist Du
- nahezu sicher dabei, die Qualität deines Videos zu ruinieren.
- Um dies zu vermeiden, solltst du möglicherweise dein Video wie
- in der später in diesem Handbuch beschriebenen Methode reduzieren.
- Im Allgemeinen solltst du CBR vollkommen meiden, wenn dir Qualität
- wichtig ist.
- </para>
-
- <para>
- Mit konstantem Quantisierer wendet der Codec denselben Quantisierer, wie
- durch die Option <option>vqscale</option> (für
- <systemitem class="library">libavcodec</systemitem>) spezifiziert, auf jeden
- Macroblock an.
- Willst du einen Rip mit höchstmöglicher Qualität und ignorierst dabei
- wiederum die Bitrate, kannst du <option>vqscale=2</option> verwenden.
- Dies wird dieselbe Bitrate und PSNR (peak signal-to-noise ratio) liefern
- wie CBR mit <option>vbitrate</option>=infinity und der Standardeinstellung
- <option>vqmin</option>=2.
- </para>
-
- <para>
- Das Problem mit konstantem Quantisierer ist, dass der vorgegebene Quantisierer
- zum Einsatz kommt, egal ob der Macroblock ihn benötigt oder nicht. Dies heißt,
- es wäre möglich, einen höheren Quantisierer auf einen Macroblock anzuwenden,
- ohne sichtbare Qualität zu opfern. Warum die Bits für einen unnötig kleinen
- Quantisierer verschwenden? Deine CPU hat soundso viele Arbeitsgänge Zeit zur
- Verfügung, die Festplatte jedoch nur soundso viele Bits.
- </para>
-
- <para>
- Bei einer Encodierung mit zwei Durchläufen (two pass), wird der erste Durchgang
- den Film so rippen, als würde CBR vorliegen, jedoch wird ein Log die Eigenschaften
- jedes Frames beibehalten. Diese Daten werden danach während des zweiten Durchgangs
- dazu verwendet, intelligente Entscheidungen zur Wahl des Quantisierers zu treffen.
- Während schneller Action oder hochdetaillierter Szenen werden womöglich
- höhere Quantisierer, während langsamen Bewegungen und Szenen mit weniger Details
- niedrigere Quantisierer verwendet.
- Normalerweise ist die Anzahl der Bewegungen wichtiger als die der Details.
- </para>
-
- <para>
- Wenn du <option>vqscale=2</option> verwendest, verschwendest du Bits. Wenn
- du <option>vqscale=3</option> anwendest, wirst du keinen Rip mit bestmöglicher
- Qualität erhalten. Angenommen du rippst eine DVD mit <option>vqscale=3</option>
- und das Resultat ist 1800Kbit. Wenn du in zwei Durchgängen mit
- <option>vbitrate=1800</option> encodierst, wird das daraus resultierende Video
- eine <emphasis role="bold">bessere Qualität</emphasis> bei
- <emphasis role="bold">gleicher Bitrate</emphasis> haben.
- </para>
-
- <para>
- Da du nun davon überzeugt bist, dass zwei Durchgänge (two pass) den besten
- Weg darstellen, stellt sich jetzt tatsächlich die Frage, welche Bitrate
- verwendet werden soll? Die Antwort ist, dass es nicht nur eine
- Antwort gibt. Idealerweise willst du eine Bitrate wählen, die die beste Balance
- zwischen Qualität und Dateigröße ergibt. Die kann abhängig vom Quellvideo
- variieren.
- </para>
-
- <para>
- Interessiert die Größe nicht, stellen etwa 2000Kbit plus oder minus 200Kbit
- einen guten Ausgangspunkt für einen sehr hochqualitativen Rip dar.
- Bei einem Video mit schneller Action oder hohen Details, oder wenn du schlicht
- und ergreifend ein sehr kritisches Auge besitzst, könntest du dich für 2400
- oder 2600 entscheiden.
- Bei einigen DVDs kannst du eventuell keinen Unterschied bei 1400Kbit feststellen.
- Um ein besseres Gefühl zu bekommen, ist es eine gute Idee, mit Szenen bei
- unterschiedlichen Bitraten herumzuexperimentieren.
- </para>
-
- <para>
- Wenn du eine bestimmte Größe anvisierst, musst du die Bitrate irgendwie
- kalkulieren.
- Aber zuvor solltest du wissen, wieviel Platz du für den/die Audiotrack(s)
- reservieren musst, daher solltest Du
- <link linkend="menc-feat-dvd-mpeg4-audio">diese(n) zuerst rippen</link>.
- Du kannst die Bitrate mit folgender Gleichung berechnen:
- <systemitem>Bitrate = (zielgroesse_in_MByte - soundgroesse_in_MByte) * 1024 * 1024 / laenge_in_sek * 8 / 1000</systemitem>
- Um zum Beispiel einen zweistündigen Film auf eine 702MB CD mit einem 60MB
- Audiotrack zu bekommen, sollte die Videobitrate folgendermaßen sein:
- <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbps</systemitem>
- </para>
-
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-constraints">
- <title>Randbedingungen für effizientes Encodieren</title>
-
- <para>
- Aufgrund der Natur der MPEG-Komprimierung gibt es zahlreiche
- Randbedingungen, denen du zum Erreichen maximaler Qualität folgen
- solltest.
- MPEG splittet das Video in Macroblöcke genannte 16x16 Quadrate auf,
- jeder davon zusammengesetzt aus 4 8x8 Blöcken mit
- Luma-(Intensitäts)-Informationen und zwei halb-auflösenden 8x8
- Chroma-(Farb)-Blöcken (einer für die Rot-Cyan-Achse und der andere für
- die Blau-Gelb-Achse).
- Selbst wenn Breite und Höhe deines Films kein Vielfaches von 16 sind,
- wird der Encoder ausreichend 16x16 Macroblöcke zur Abdeckung des
- gesamten Bildbereichs verwenden und der Extraplatz wird verschwendet.
- Folglich ist es keine gute Idee, im Interesse der Maximierung der
- Qualität bei fester Dateigröße, Abmessungen zu verwenden, die kein
- Vielfaches von 16 sind.
- </para>
-
- <para>
- Die meisten DVDs besitzen ein bestimmtes Maß schwarzer Balken
- an ihren Rändern. Diese dort zu belassen wird für die Qualität in mehrfacher
- Hinsicht <emphasis role="bold">sehr</emphasis> schädlich sein.
- </para>
-
- <orderedlist>
- <listitem>
- <para>
- MPEG-Kompression hängt in höchstem Maße von den
- Frequenzbereichs-Transformationen ab, insbesondere von der
- Discrete Cosine Transform (DCT), die der Fourier Transform ähnelt.
- Diese Art Encodierung ist für darstellende Muster und weiche
- Übergänge effizient, hat jedoch große Probleme mit scharfen Kanten.
- Um diese zu encodieren muss sie viel mehr Bits verwenden,
- oder es wird andernfalls ein als Ringing bekannter Artefakt
- auftreten.
- </para>
-
- <para>
- Die Discrete Frequency Transform (DCT) erfolgt separat auf jeden
- Macroblock (eigentlich auf jeden Block), somit trifft dieses Problem
- nur zu, wenn sich in einem Block eine scharfe Kante befindet.
- Beginnt dein schwarzer Rand exakt an den Grenzen zum Vielfachen von
- 16 Pixeln, stellt dies kein Problem dar.
- Seis drum, die schwarzen Ränder bei DVDs werden in den seltensten
- Fällen schön angeordnet, daher wirst du sie in der Praxis immer
- abschneiden müssen, um diesen Nachteil zu vermeiden.
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Zusätzlich zu den Frequenzbereichs-Transformationen verwendet die
- MPEG-Kompression Bewegungsvektoren, um den Wechsel von einem Frame
- zum anderen darzustellen.
- Bewegungsvektoren arbeiten bei Inhalt, der von den Kanten eines Bildes
- her einfließt, normalerweise weniger effizient, da dieser im vorherigen
- Frame nicht vorhanden ist. Solange sich das Bild bis voll zur Kante des
- encodierten Bereichs hin vergrößert, haben Bewegungsvektoren kein Problem
- mit Inhalt, der sich aus den Kanten des Bildes hinausbewegt. Die Präsenz
- schwarzer Ränder kann jedoch Ärger machen:
- </para>
-
- <orderedlist continuation="continues">
- <listitem>
- <para>
- Die MPEG-Kompression speichert für jeden Macroblock einen Vektor,
- um ausfindig zu machen, welcher Teil des vorherigen Frames in diesen
- Macroblock als Basis zur Vorhersage des nächsten Frames kopiert
- werden soll. Nur die verbleibenden Unterschiede müssen encodiert werden.
- Überspannt der Macroblock die Kante des Bildes und enthält einen
- Teil des schwarzen Randes, werden Bewegungsvektoren aus anderen
- Teilen des Bildes den schwarzen Rand überschreiben. Dies bedeutet, dass
- jede Menge Bits entweder zur wiederholten Schwärzung des überschriebenen
- Randes aufgewendet werden müssen, oder es wird (eher) erst gar kein
- Bewegungsvektor genutzt und alle Änderungen innerhalb dieses Macroblocks
- müssen explizit encodiert werden. So oder so wird die Encodiereffizienz
- außerordentlich reduziert.
- </para>
-
- <para>
- Nochmal, dieses Problem trifft nur dann zu, wenn schwarze Ränder
- nicht an den Grenzen eines Vielfachen von 16 anstehen.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Zuletzt noch was, angenommen wir haben einen Macroblock im Inneren des
- Bildes und ein Objekt bewegt sich aus Richtung Nähe der Kante des Bildes
- her in diesen Block hinein. Die MPEG-Encodierung kann nicht sagen
- "kopiere den Teil, der innerhalb des Bildes liegt, den schwarzen Rand
- aber nicht". Somit wird der schwarze Rand ebenfalls mit hinein kopiert
- und jede Menge Bits müssen zur Encodierung des Teils des Bildes, der
- dort angenommen wird, aufgewendet werden.
- </para>
-
- <para>
- Läuft das Bild ständig zur Kante des encodierten Bereichs hin, besitzt
- MPEG spezielle Optimierungen, um immer wieder dann die Pixel am Rand des
- Bildes zu kopieren, wenn ein Bewegungsvektor von außerhalb des
- encodierten Bereichs ankommt. Dieses Feature wird nutzlos, wenn der Film
- schwarze Ränder hat. Im Gegensatz zu den Problemen 1 und 2 hilft hier
- kein Anordnen der Ränder am Vielfachen von 16.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Obwohl die Ränder komplett schwarz sind und sich nie ändern, ist
- zumindest ein minimaler Overhead damit verbunden, mehr Macroblöcke
- zu besitzen.
- </para>
- </listitem>
- </orderedlist>
-
- <para>
- Aus all diesen Gründen wird empfohlen, schwarze Ränder komplett abzuschneiden.
- Mehr noch, liegt ein Bereich mit Rauschen/Verzerrung an der Kante des Bildes,
- steigert dessen Abschneiden ebenso die Encodiereffizienz. Videophile Puristen,
- die den Originalzustand so nah wie möglich sichern wollen,
- mögen dieses Abschneiden (cropping) beanstanden, wenn du jedoch nicht planst,
- bei konstantem Quantisierer zu encodieren, wird der Qualitätsgewinn, den Du
- durch dieses Abschneiden erreichst, beträchtlich über dem Verlust an Informationen
- an den Kanten liegen.
- </para>
- </sect2>
-
-
- <sect2 id="menc-feat-dvd-mpeg4-crop">
- <title>Abschneiden und Skalieren</title>
-
- <para>
- Wiederaufruf der vorherigen Sektion, dass die letzte von Dir
- encodierte Bildgröße ein Vielfaches von 16 sein sollte (bei beidem,
- Breite und Höhe).
- Diese kann durch Abschneiden, Skalieren erreicht werden oder durch
- eine Kombination von beidem.
- </para>
-
- <para>
- Beim Abschneiden gibt es ein paar Richtwerte, die befolgt werden müssen,
- um eine Zerstörung des Films zu vermeiden.
- Das normale YUV-Format, 4:2:0, speichert Chroma-(Farb)-Informationen
- in einer Unterstichprobe (subsampled), z.B. wird Chroma nur halb so oft
- in jede Richtung gesampelt wie Luma-(Intensitäts)-Informationen.
- Beobachte dieses Diagramm, in dem L Luma-Samplingpunkte bedeuten und C
- für Chroma steht.
- </para>
-
- <informaltable>
- <?dbhtml table-width="40%" ?>
- <?dbfo table-width="40%" ?>
- <tgroup cols="8" align="center">
- <colspec colnum="1" colname="col1"/>
- <colspec colnum="2" colname="col2"/>
- <colspec colnum="3" colname="col3"/>
- <colspec colnum="4" colname="col4"/>
- <colspec colnum="5" colname="col5"/>
- <colspec colnum="6" colname="col6"/>
- <colspec colnum="7" colname="col7"/>
- <colspec colnum="8" colname="col8"/>
- <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
- <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
- <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
- <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <tbody>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>
- Wie du sehen kannst, kommen Zeilen und Spalten des Bildes natürlich paarweise.
- Folglich <emphasis>müssen</emphasis> deine Abschneide-Offsets und
- Abmessungen geradzahlig sein.
- Sind sie dies nicht, wird Chroma nicht mehr korrekt mit Luma abgeglichen.
- In der Theorie ist es möglich, mit ungeraden Offsets abzuschneiden, jedoch
- erfordert dies ein Resampling von Chroma, was potentiell eine mit Verlust
- verbundene Operation bedeutet und vom Crop-Filter nicht unterstützt
- wird.
- </para>
-
- <para>
- Weiterhin wird interlaced Video folgendermaßen gesampelt:
- </para>
-
- <informaltable>
- <?dbhtml table-width="80%" ?>
- <?dbfo table-width="80%" ?>
- <tgroup cols="16" align="center">
- <colspec colnum="1" colname="col1"/>
- <colspec colnum="2" colname="col2"/>
- <colspec colnum="3" colname="col3"/>
- <colspec colnum="4" colname="col4"/>
- <colspec colnum="5" colname="col5"/>
- <colspec colnum="6" colname="col6"/>
- <colspec colnum="7" colname="col7"/>
- <colspec colnum="8" colname="col8"/>
- <colspec colnum="9" colname="col9"/>
- <colspec colnum="10" colname="col10"/>
- <colspec colnum="11" colname="col11"/>
- <colspec colnum="12" colname="col12"/>
- <colspec colnum="13" colname="col13"/>
- <colspec colnum="14" colname="col14"/>
- <colspec colnum="15" colname="col15"/>
- <colspec colnum="16" colname="col16"/>
- <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
- <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
- <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
- <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
- <spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
- <spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
- <spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
- <spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
- <tbody>
- <row>
- <entry namest="col1" nameend="col8">Oberes Feld</entry>
- <entry namest="col9" nameend="col16">Unteres Feld</entry>
- </row>
- <row>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry>L</entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry spanname="spa1-2">C</entry>
- <entry spanname="spa3-4">C</entry>
- <entry spanname="spa5-6">C</entry>
- <entry spanname="spa7-8">C</entry>
- <entry></entry>