Die Nutzung bidirektional Differenz-codierter Einzelbilder (bidirectionally predictive-coded) ist ein patentiertes Verfahren in der digitalen Videokompression. Es handelt sich um Einzelbilder (englisch frame), die über die Differenz zu vorhergehenden und nachfolgenden Einzelbildern beschrieben werden (– eine sogenannte Delta-Kodierung, aus beiden zeitlichen Richtungen – also bidirektional), ein Typ sogenannter Inter-Bilder. Im Unterschied zu dem zweiten Typ, den P-Bildern (englisch predictive-coded frames), die nur vorhergehende Bilder verwenden, wird so ein noch höherer Anteil per Referenz auf in einem anderen Einzelbild bereits vorhandene Bilddaten beschrieben, womit sich eine weitere Reduzierung der benötigten Datenmenge ergibt, wodurch letztlich bessere Kompressionsraten erreicht werden können. Durch die Nutzung von Bildvorhersage ergeben sich Gruppen untereinander abhängiger kodierter Bilder mit jeweils mindestens einem unabhängig dekodierbaren Bild, dem Intra- oder Schlüsselbild – die sogenannte Bildergruppe oder englisch Group of Pictures (GoP). Neuere Verfahren wie H.264 können den Vorhersage-Typ des Bildes auch für Teilbilder unterschiedlich wählen. So ergeben sich beim H.264-Beispiel sogenannte B-Slices auf Makroblock-Basis.
B-Bilder finden zum Beispiel in MPEG-Codecs und VC-1 Anwendung.
Nachteile
Beim Streaming ist zu beachten, dass Intra- oder P-Bilder, die B-Bildern folgen, vor diesen übertragen werden müssen. Dies basiert wieder darauf, dass B-Bilder Informationen von vorausgegangenen und nachfolgenden I- oder P-Bildern verwenden. Dadurch ergeben sich als weitere Nachteile die Notwendigkeit größerer Puffer und damit auch größere verfahrensinherent notwendige Verzögerungen bei der Übertragung. Wenn sich die Vorhersage sowohl auf das vorhergehende als auch das folgende Bild stützt und ein Durchschnitt erzeugt wird, steigt auch der Berechnungsaufwand mit der Verwendung von B-Bildern.
Siehe auch
Quellen
- ↑ Frank Gadegast: MPEG-FAQ: multimedia compression, part 3. 2. Juni 1996, abgerufen am 4. Oktober 2010 (englisch).