Frage von Chris555:Tag Zusammen,
was bedeutet denn der sog.
I-Frame bzw. die I-Framerate welche in vielen Kompremierungsprog's angegeben werden kann?
Wie stellt man diesen Wert denn am Besten ein?
Habe diesbezüglich nicht viel infos im Netz finden können.
Gruß,
Chris
Antwort von WoWu:
Hallo Chris
I-Frames sind Bestandteil einer Group-of-pictures (GoP) in MPEG orientierten Kompressionsverfahren und beinhalten als einziger Bestandteil der GoP ein komplettes Bild.
B und P sind in der GoP keine Bilder-auch wenn sie manchmal so bezeichnet werden- sondern lediglich Differenzinformationen zwischen den I-Frames. Im MPEG 2 Verfahren, das HDV zugrunde liegt gibt es bei HDV1 eine Bilstruktur von 6 Frames/GoP und bei HDV2 von 15 Frames/GoP -(jede GoP hat 1 I-Frame). Bei HDV1 sind es also rd. 4 echte Bilder/sec und bei HDV2 rd. 1,6 echte Bilder/sec.
In der Regel verstellst Du an dieser Struktur nichts, es sei denn, Du willst Deine eigene Struktur erstellen, was nur in ganz wenigen Fällen wirklich Sinn macht.
Detailinfos: siehe unten
Antwort von tommyb:
Die Frage ist immer, welcher Codec?
MPEG2 => siehe WoWu (nichts ändern)
MPEG4 => das 10x der Framerate (25fps = 250 frames I-Frame-Interval)
Antwort von TheBubble:
was bedeutet denn der sog.
I-Frame bzw. die I-Framerate welche in vielen Kompremierungsprog's angegeben werden kann?
I-Frame steht für Intra-Frame. Dies bezeichnet Frames (Einzelbilder) die alleine dekompriemeirt werden können, d.h. sie nehmen auf keine Daten anderer Frames Bezug. Das erste Frame eines Films ist daher normalerweise ein I-Frame.
Die anderen Frame-Typen (P für Predicted und B für Bi-directional) nehmen auf andere Frames Bezug und lassen sich daher nicht einzeln dekomprimieren.
I-Frames werden auch zwischendurch (d.h. nicht nur um am Anfang eines Films) eingefügt, da ohne sie nicht problemlos "mitten im Film" mit der Dekompression begonnen werden kann.
Wie stellt man diesen Wert denn am Besten ein?
Habe diesbezüglich nicht viel infos im Netz finden können.
Das hängt von mehreren Dingen ab. Vorgaben für die Parameter sollte man einhalten.
Ansonsten: Bei wenig Bewegung, d.h. sehr ähnlichen aufeinanderfolgenden Frames, sind eher größere Abstände zwischen I-Frames vorteilhaft, da es die Kompressionseffiziens steigert. Bei viel Bewegung bzw. Veränderung im Film geht der Nutzen hingegen verloren.
Bei harten Schnitten mit Szenenwechsel bietet es sich an, an diesen Stellen ein I-Frame einzufügen.
Häufig eingefügte I-Frames haben den Vorteil, dass mit der Dekompresion an möglichst vielen Orten begonnen werden kann. DV-Video besteht z.B. nur aus I-Frames, daher kann an jeder beliebigen Stelle, ohne eventuell Teile des Films neu komprimieren zu müssen, geschnitten und mit der Wiedergabe überall begonnen werden.
Antwort von Chris555:
45 min. DV-Filmmaterial zum erzeugen einer mpv bzw. mpeg2 Datei bei 15 I-Frames und 9800 kBits/s.
Danke für Eure Antworten!
Antwort von WoWu:
@ tommyb
Solche Angaben wie auch in VirtualDub:
MPEG4 => das 10x der Framerate (25fps = 250 frames I-Frame-Interval)
sind sehr verwirrend und es sollte auch nicht 250 frames heissen, sondern lediglich 250 und bezieht sich auf das Zeitintervall in ms. Üblich sind 25/30-1000 ms.
Fakt ist, dass in MPEG 4 mehr I-Frames (als das eine bei MPEG2) -bis zu 16- zulässt und auch ausserhalb der eigentlichen GoP. Die Referenzbilder können also auch in einer andern GoP liegen und als Long-Term Referenz Pictures im Speicher abgelegt sein.
Darüber hinaus gibt es noch die Switching slices, die auch einen Schnitt (Übergang) zulassen, der nicht an einem I-Frame liegt.
Auch können B-Frames in MPEG 4 in gewissem Umfang wieder als Referenz benutzt werden und haben damit eine weitreichendere Bedeutung als in MPEG2.
Insofern ist MPEG 4 (I-Frame) nicht so einfach erklärt wie bei MPEG2.
Tommy, deswegen hab ich es mir geschenkt ...
Häufig eingefügte I-Frames haben den Vorteil, dass mit der Dekompresion an möglichst vielen Orten begonnen werden kann.
Vorsicht, Unregelmäßigkeiten in der GoP Struktur müssen dem Decoder übermittelt werden ... das ist nicht in allen Fällen möglich !!
Daher können sich Decoder bei einer solchen Beliebigkeit leicht mal verschlucken !!
Antwort von tommyb:
@WoWu
Das weiß ich auch selbst, aber der Threadersteller hat ja auch nicht erwähnt welchen Codec er meint. Außerdem hat er nur angefragt, "welche Werte man eisntellt" und nicht wie so ein Codec im Inneren funktioniert.
Antwort von Chris555:
Also aus Avid eine .mov-Referenz und in Sorenson ein .mov (bei kurzen DV-Filmen für's Internet zum Deinterlacen wenn nötig) mittels Soenenso Video 3 Pro Codec, da der Avid DV Codec nicht funktioniert. Weiter zum Erzeugen des mp4 mittels QT (hier kein Deinterlacing möglich) mit dem H.264 Codec.
Gruß,
Chris