DE69826823T2 - Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer - Google Patents

Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer Download PDF

Info

Publication number
DE69826823T2
DE69826823T2 DE69826823T DE69826823T DE69826823T2 DE 69826823 T2 DE69826823 T2 DE 69826823T2 DE 69826823 T DE69826823 T DE 69826823T DE 69826823 T DE69826823 T DE 69826823T DE 69826823 T2 DE69826823 T2 DE 69826823T2
Authority
DE
Germany
Prior art keywords
image
picture
images
bit rate
pictures
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69826823T
Other languages
English (en)
Other versions
DE69826823D1 (de
Inventor
Etienne Fert
Daniel Kaiser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE69826823D1 publication Critical patent/DE69826823D1/de
Publication of DE69826823T2 publication Critical patent/DE69826823T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Description

  • Die vorliegende Erfindung ist wie in den beiliegenden Patentansprüchen beschrieben.
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Videocodierung mit variabler Bitrate, wobei dieses Verfahren einen sich wiederholenden Prozess umfasst, der einen ersten Analysenschritt aufweist, zur Codierung eines Bitstroms entsprechend einer Bildsequenz mit einer konstanten Quantisierungsschrittgröße, und einen zweiten Prädiktionsschritt, zum Vorhersagen der Quantisierungsschrittgröße, die verwendet werden muss zum Codieren des genannten Bitstroms entsprechend einer vorbestimmten Zielbitrate, und wobei diesem Schritt zum Schluss ein Steuerschritt folgt, und zwar zum Einstellen der Schrittgröße gegenüber der genannten Zielbitrate. Die vorliegende Erfindung bezieht sich ebenfalls auf einen entsprechenden Videocodierer, mit dem dieses Verfahren durchgeführt werden kann.
  • Wie in dem Dokument "MPEG Video coding: a basic tutorial introduction" von S, R, Ely, "BBC Research and Development Report, BBC-RD-1996/3", Seiten 1–10 beschrieben, starteten MPEG-Aktivitäten 1988 mit der Absicht, Normen zur digitalen Kompression von Video- und Audiosignalen zu definieren. Das erste Ziel war, einen Videoalgorithmus für digitale Speichermedien wie die CD-ROM ("Compact Disc Read-Only Memory") zu definieren, aber die daraus entstandene Norm wurde ebenfalls auf das interaktive CD-System (CD-I) angewandt. Indem Übertragung und Speicherung von Bilddaten bei Bitraten in dem Bereich von 1 bis 15 Mbits/s ermöglicht werden, basiert diese Norm auf einer Datenkompression, erreicht durch Anwendung einer blockbasierten Bewegungskompensation zur Reduktion der zeitlichen Redundanz und durch Anwendung einer diskreten Kosinustransformation (DCT) zur Reduktion der räumlichen Redundanz. In EP-A-719052 wird die Einstellung einer Quantisierungsschrittgröße für einen Zielbetrag, und zwar durch Selektion aus zwei Betragstypen.
  • Bei herkömmlichen CD-Normen, wie CD-I und CD-ROM ist die Übertragungsbitrate fest und Bilder können dadurch nur mit einer konstanten Bitrate codiert werden. Neue Normen, wie die "Digital Versatile Disc" (DVD) ermöglichen eine Übertragung von Daten mit einer variablen Bitrate (VBR): komplexe Szenen können mit einer höheren Bitrate codiert werden als Szenen mit weniger Information, damit eine konstante Qualität beibehalten wird.
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung, ein VBR-Videocodierungsverfahren zu schaffen, wodurch es möglich ist, eine derartige konstante Qualität der codierten Sequenz zu erhalten mit einer minimalen Bitrate des Codiererausgangsbitstroms.
  • Dazu bezieht sich die vorliegende Erfindung auf ein VBR-Videocodierungsverfahren, wie die in dem Oberbegriff der Beschreibung definiert ist und das weiterhin das Kennzeichen aufweist, dass es zwischen dem Analysenschritt und dem Prädiktionsschritt einer Wiederholung einen Bildsequenz-Neugliederungsschritt gibt.
  • Ein derartiger Bildneugliederungsschritt umfasst vorzugsweise nacheinander einen ersten Szenenänderungsdetektionshilfsschritt, einen zweiten Zuordnungshilfsschritt und einen dritten Optimalgliederungshilfsschritt.
  • Bei einer bevorzugten Implementierung umfasst der genannte Szenenänderungsdetektionshilfsschritt einen Korrelationsvorgang, durchgeführt zwischen aufeinander folgenden Bildern der Sequenz, und einen Entscheidungsvorgang um den etwaigen Auftritt einer Szenenänderung anzugeben.
  • Eine andere Aufgabe der vorliegende Erfindung ist es, einen VBR-Videocodierer vorzuschlagen, der es ermöglicht, das genannte Codierungsverfahren durchzuführen.
  • Dazu bezieht sich die vorliegende Erfindung auf einen Videocodierer mit variabler Bitrate mit einem ersten Codierungszweig, einem zweiten Prädiktionszweig und einer Steuerschaltung, vorgesehen zum Durchführen der Implementierung der nachfolgenden Vorgänge:
    • – eines Codierungsvorgangs eines Bitstroms entsprechend einer Bildsequenz, mit einer konstanten Quantisierungsschrittgröße;
    • – eines Prädiktionsvorgangs für eine Schätzung der Quantisierungsschrittgröße, wodurch es ermöglicht wird, den genannten Bitstrom entsprechend einer spezifizierten Zielbitrate zu codieren;
    • – wenigstens einer Wiederholung der genannten Vorgänge;
    • – eines Endsteuervorgangs zum Einstellen der Schrittgröße in Bezug auf die genannte Zielbitrate;
    dadurch gekennzeichnet, dass die genannte Steuerschaltung dazu vorgesehen ist, zwischen dem ersten Codierungsvorgang und dem ersten Prädiktionsvorgang einen Bildsequenzanordnungsvorgang zu implementieren.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im vorliegenden Fall näher beschrieben. Es zeigen:
  • 1 einige Bilder einer Gruppe von Bildern,
  • 2 und 3 für eine derartige Gruppe von Bildern die Differenz zwischen der Wiedergabeordnung der Bilder und deren Übertragungsordnung,
  • 4 und 5 die Hauptschritte des Codierungsverfahrens nach der vorliegenden Erfindung und die entsprechende Architektur des Videocodierers, wodurch es möglich ist, das genannte Verfahren zu implementieren,
  • 6 einige Bilder und die zugeordneten Bewegungsvektoren für eine Sequenz mit einer Szenenänderung zwischen zwei aufeinander folgenden B Bildern,
  • 7 und 8 Werte von zwei Detektionskoeffizienten DCL und DCR, berechnet zum quantitativen Bewerten der Bewegungsvektorstatistiken, die von den Makroblöcken des B Bildes für die drei möglichen Positionen einer in Bezug auf die zwei B Bilder einer IBBP- oder einer PBBP-Gruppe von Bildern geschnittenen Szene benutzt werden,
  • 9 Werte eines ähnlichen Detektionskoeffizienten DCP für P Bilder,
  • 10 eine Darstellung der Leistung des Szenenänderungsdetektionsverfahrens, wobei nur B Bilder verwendet werden,
  • 11 die Entscheidungswerte des zum Lösen des Problems der optimalen Zuordnung von Gruppen von Bildern (oder GOPs) verwendet werden,
  • 12 ein Beispiel der Gewichtungsfunktion für die GOP-Größe (da Gewichtungswerte zum Bewerten der Größe der GOPs verwendet werden),
  • 13 eine Steuerschleife, die zur Implementierung des Endsteuerschrittes des genannten Codierungsverfahrens verwendet wird.
  • Vor der Beschreibung des Codierungsverfahrens nach der vorliegenden Erfindung können einige Grundlagen der MPEG-2-Videonorm in Erinnerung gerufen werden. Die Flexibilität dieser Norm, gemeint zum Unterstützen eines großen Bereichs möglicher Applikationen, wird erhalten dank der Definition von Profilen und Pegeln, wodurch es ermöglicht wird, alle Applikationsanforderungen zu erfüllen. Ein Profil ist ein Hilfssatz der MPEG-2-Norm zum Unterstützen nur derjenigen Merkmale, die von einer bestimmten Ap plikationsklasse angefordert werden, während ein Pegel einen Satz von Beschränkungen an Parametern des Bitstroms definiert.
  • Die Basisschritte der MPEG-2-Kompression, angewandt auf Farbbilder, bestehend aus drei Komponenten (Y, U, V), betreffenden Bilder, die in kleine Abschnitte oder Makroblöcke aufgeteilt sind, die an sich wieder aus Leuchtdichte- und Farbartblöcken bestehen. Diese Schritte sind: Bewegungsschätzung und Kompensation (auf Basis von Makroblöcken von 16 Pixeln zu 16 Zeilen), diskrete Kosinustransformation (auf Basis von Blöcken von 8 Pixeln zu 8 Zeilen), Lauflängencodierung.
  • Es sind drei Typen von Bildern definiert. Intrabilder (oder I-Bilder) werden ohne Bezugnahme auf andere Bilder codiert, prädiktive Bilder (oder P Bilder) werden unter Anwendung einer bewegungskompensierten Prädiktion eines vergangen I oder P Bildes codiert, und bidirektionell-prädiktive Bilder (oder B Bilder) benutzen vergangene und künftige Bilder zur Bewegungskompensation Die Bewegungsinformation wird in Form von Bewegungsvektoren gegeben, erhalten durch Implementierung eines Blockdeckungssuchvorgangs (wobei eine Vielzahl von Versuchsoffsets in dem Codierer getestet werden und wobei der beste auf Basis einer Messung des minimalen Fehlers zwischen dem codierten Block und der Prädiktion selektiert wird).
  • Wie in 1 angegeben, wobei dargestellt wird, wie auf Basis der Bewegungsvektoren die P und B Bilder definiert werden, treten die verschiedenen Bilder typischerweise in einer sich wiederholenden Sequenz auf, die, wie oben angegeben, als Gruppe von Bildern, oder GOP, bezeichnet wird, und aus einem I Bild und allen nachfolgenden Bildern besteht, bis das nächste I Bild auftritt. Eine typische GOP ist in Wiedergabereihenfolge in 2 dargestellt (die schwarzen Pfeile entsprechen Vorwärtsprädiktionen und die weißen Pfeile entsprechen Rückwärtsprädiktionen, wobei die Sequenzen und die Prädiktionen sich periodisch wiederholen) und in Übertragungsreihenfolge in 3 (P4, P7, I10, P13 bezeichnen die neu gegliederten Frames), wobei die genannten Reihenfolgen verschieden sind, damit an der Decodierungsseite Rückwärtsprädiktionen aus künftigen Bildern ermöglicht werden.
  • Eine regelmäßige GOP Struktur kann mit zwei Parametern N und M beschrieben werden. Der Parameter N, definiert als die Größe einer GOP, ist, wie in 2 dargestellt, die Anzahl Bilder der genannten GOP, d. h. die Anzahl Bilder zwischen zwei I Bildern plus einem Bild. Der Parameter M ist der Raum von P Bildern, oder (was dasselbe ist) die Anzahl aneinander grenzender B Bilder plus einem Bild. In dem dargestellten Beispiel nach den 1 bis 3 ist M = 3 und N = 9. Offenbar sind andere Kombinationen möglich:
    Figure 00050001
    wobei N und M unabhängig voneinander gewählt worden sind.
  • Nachdem eine Entscheidung über die Art der Makoblockkompensation getroffen worden ist, wird der Prädiktionsfehler jedes Pixels Pixels des betreffenden Makroblocks dadurch erhalten, dass der geschätzte Makroblock von dem ursprünglichen Makroblock subtrahiert wird. Es wird dann eine DCT an dem Prädiktionsfehler durchgeführt für einen Block von 8 × 8 Pixeln (deshalb werden sechs DCT-Transformationen für jeden Makroblock bestimmt: vier für den Leuchtdichteanteil, zwei für die Farbartanteile), und die auf diese Art und Weise erhaltenen Frequenzanteile werden quantisiert. Die Quantisierungsschrittgröße bestimmt die Bitrate und die Verzerrung des decodierten Bildes: wenn die Quantisierung grob ist, sind nur wenig Bits erforderlich zum Codieren eines Bildes, aber die schlussendliche Qualität ist gering, während, wenn die Quantisierungsschrittgröße fein ist, sind viele Bits erforderlich zum Codieren des Bildes, aber die Qualität ist hoch. Da das menschliche Auge weniger empfindlich ist für die höheren Frequenzen als für die niedrigeren Frequenzen, ist es vorteilhaft, gröbere Quantisierer zu verwenden für die HF-Anteile (im Wesentlichen wird zum Erzielen der frequenzabhängigen Quantisierung eine Gewichtungsmatrix auf einen Basismakroblock-Quantisierungsparameter angewandt: viele Koeffizienten, insbesondere diejenigen, bei hohen Frequenzen, sind nach der genannten gewichteten Quantisierung gleich Null).
  • Jeder Block wird danach zick-zackweise abgetastet und die erhaltene Liste wird codiert. Die Lauflängencodierung erfolgt dadurch, dass ein Paar (A, NZ) bestimmt wird, wobei A die Anzahl aufeinander folgender Nullen (0 bis 63) und NZ die Amplituden des nachfolgenden Nicht-Null-Koeffizienten bezeichnet. Diesem Paar (A, NZ) wird danach, abhängig von der Frequenz des Auftritts dieses Paares, ein Variable-Länge-Code zugeordnet (einer Kombination (A, NZ), die üblich ist, wird ein kürzerer Variable-Länge- Code zugeordnet, während einem Paar, das weniger frequent ist, ein langer Code zugeordnet wird).
  • Die oben beschriebenen Funktionen sind zusammengefasst beispielsweise in dem Dokument: "Hybrid extended MPEG video coding algorithm for general video applications" von C. T. Chen u. a. "Signal Processing":"Image Communications 5" (1993), Seiten 21–37, Teil 2.4, wobei dieses Dokument das Schema eines allgemeinen MPEG-2-Codierers umfasst. Der Zweck des nun vorgeschlagenen VBR-Codierungsverfahrens ist dann, die Information zu benutzen, die aus den vorhergehenden Codierungsschritten erhalten werden, die in verschiedenen aufeinander folgenden Analysierdurchgängen durchgeführt wurden zum Durchführen einer adaptiven Zuordnung der Bildtypen, wodurch die Größe des finalen Bitstroms minimiert wird, damit dieser genau auf dem Speichermedium mit einer festen Kapazität (wie einer DVD) passt. Ein Bild des genannten Verfahrens ist in 4 dargestellt, und eine Architektur des Videocodierers mit Bildneugliederung, wodurch das genannte Verfahren implementiert werden kann, ist in 5 dargestellt.
  • Das Codierungsverfahren ist in vier Schritten 41, 42, 43 und 44 aufgeteilt. Der erste Schritt 41 ist ein Analysieschritt, wobei eine Bildsequenz mit einer konstanten Quantisierungsschrittgröße QC (und dadurch mit einer konstanten Qualität) codiert wird. Am Ende dieses Schrittes ist ein regelmäßiger mit MPEG-2 übereinstimmender Bitstrom erzeugt worden, aber die Durchschnittsbitrate der ganzen auf diese Weise verarbeiteten Sequenz (d. h. der Quotient der gesamten Anzahl codierter Bits über die Sequenz durch die gesamte Anzahl Bilder in dieser Sequenz), unbekannt vor dem Ende des genannten Schrittes, erfüllt nicht die erforderliche Bedingung einer bestimmten Größe des Bitstroms.
  • Der zweite Schritt 42 ist ein Bildneugliederungsschritt, durchgeführt nach dem Analysenschritt 41. Der Neugliederungsschritt kann an sich wieder in drei Hilfsschritt 110 bis 130 aufgeteilt werden. Die Aufgabe der Optimierung der Bildzuordnung kann derart betrachtet werden, dass dies aus zwei einzelnen Teilen besteht. Der erste Teil ist die Verbesserung der Lage der I Bilder, was einer Optimierung der GOP-Zuordnung entspricht, während der zweite Teil die meist effiziente Lage von B und P Bildern.
  • Der erste und der zweite Hilfsschritt 110 und 120 bilden den ersten Teil der genannten Optimierungsaufgabe. Es dürfte einleuchten, dass I Bilder, die nicht die zeitliche Korrelation zwischen aufeinander folgenden Bildern einer Sequenz benutzen, in Termen von Bitrate die kostspieligsten sind. Andererseits sind sie notwendig um einen beliebigen Zugriff auf die Sequenz zu erhalten, und ein beliebiger Zugriff ist für viele Applikationen wichtig. Weiterhin soll, da ein schneller beliebiger Zugriff oft erwünscht ist, dafür gesorgt werden, dass ein bestimmter maximaler Abstand zwischen I Bildern nicht überschritten wird (beispielsweise höchstens 12 Bilder). Wenn eine Szenenänderung auftritt, werden die Bilder vor und nach dem Schnitt (linke und rechte Bilder) unkorreliert. Die Bewegungskompensation ist für das erste P Bild in der neuen Szene nicht gut durchgeführt und die Bitrate ist folglich etwa diejenige eines I Bildes. Ein derartiges I Bild kann dann an die Stelle des genannten P Bildes gesetzt werden, ohne dass dies extra Bandbreite kostet. Die Strategie für eine optimale Lage von I Bildern soll dann möglicherweise die I Bilder am Anfang einer neuen Szene platzieren.
  • Der erste Hilfsschritt 110, wobei es sich um einen Szenenänderungsdetektionsschritt handelt, ermöglich eine derartige Platzierung. Um Szenenänderungen zu detektieren wird die Korrelation aufeinander folgender Bilder der Sequenz untersucht (vorzugsweise nach der Bewegungskompensation): wenn zwei benachbarten Bilder nahezu unkorreliert sind, ist es wahrscheinlich, dass eine neue Szene mit dem zweiten Bild beginnt. In einem Basis-MPEG-2-Codierungsprozess geben verschiedene Parameter Information über die Korrelation zwischen aufeinander folgenden Bildern:
    • – die Komplexität eine P oder B Bildes: die Verbindung zwischen der Komplexität und der Korrelation wird aber nicht immer überprüft (wobei es manchmal wegen einer hohen Korrelation mit dem Bezugsbild oder mit einer niedrigen inneren Komplexität eine niedrige Bitrate gibt, beispielsweise bei völlig schwarzen Bildern);
    • – eine bessere Schätzung der Korrelation (obschon aufwendiger in Rechenzeit) wird erhalten durch einen Vergleich der Makroblöcke MB eines Bildes mit den Bezugsmakroblöcken (die von der Bewegungskompensationseinheit immer geliefert werden, welcher Typ die Blockcodierung auch haben mag: intra oder inter): der Vergleich kann mit Hilfe einer Berechnung der ausgeglichenen-Fehler-Verzerrung d(MB) gemacht werden, die beispielsweise durch die nachfolgende Beziehung (1) gegeben wird:
      Figure 00070001
      Wobei P(i) ein Pixel des analysierten Makroblocks MB ist und M(i) ein Pixel des Bezugsmakroblocks ist;
    • – da die Bewegungsschätzung makrobloc-orientiert ist, wird unter Verwendung verschiedener Bewegungskompensationsoptionen ein Bild vorhergesagt:
      Bildtyp Bewegungskompensationsoption
      I Intra (d. h. keine Bewegungskompensation)
      P Intra
      P Vorwärts
      P nicht kompensiert
      B Intra
      B Vorwärts
      B Rückwärts
      B Interpoliert
      und die Bewegungskompensationsstatistiken können Information über Bildkorrelation geben: wenn die meisten Makroblöcke intra-codiert sind, ist die Korrelation mit dem (den) Bezugsbild(ern) gering und umgekehrt.
  • Die implementierte Ausführungsform benutzt die genannten Bewegungskompensationsstatistiken zur Detektion von Szenenänderungen, in dem Fall, wo beispielsweise nur B Bilder verwendet werden, wie in 6 dargestellt, die Bilder und Bewegungsvektoren für eine Sequenz PBBP mit einer Szenenänderung zeigt, dargestellt zwischen den zwei B Bildern (gestrichelte Pfeile geben an, dass weniger Makroblöcke des betreffenden Bezugsbildes benutzt werden zum Vorhersagen des abhängigen Bildes, wobei die Korrelation geringer ist). Wenn der Szenenschnitt zwischen den zwei B Bildern auftritt, benutzt das erste Bild fast nur das vorhergehende P Bild als Bezugsbild, da es im Grunde mit dem nachfolgenden P Bild nicht korreliert ist. Auf gleiche Weise ist das zweite B Bild nahezu unkorreliert mit dem vorhergehenden P Bild und benutzt fast nur das nachfolgende P Bild als Bezugswert.
  • Eine Szenenänderung kann vor, zwischen oder hinter zwei benachbarte B Bilder gesetzt werden, in einer Gruppe von drei Bildern, wie dargestellt (PBB, oder IBB). Die nachfolgende Tabelle zeigt für die drei möglichen Positionen des Szenenschnittes die Bewegungskompensation, die von den meisten Makroblöcken des ersten B Bildes und von den meisten Makroblöcken des zweiten Bildes angewandt wird:
    Figure 00080001
    (die Richtung der Bewegungskompensation wird von dem Gesichtspunkt der B Bilder aus "gesehen").
  • Zur quantitativen Bewertung der oben genannten Bewegungsvektorstatistiken werden zwei Detektionskoeffizienten DCL und DCR berechnet (DC für "Detektionskoeffizient", L und R für "Links" und "Rechts", Mikrocontroller für "bewegungskompensiert")
  • Figure 00090001
  • Für P Bilder kann der Detektionskoeffizient auf gleiche Weise definiert sein:
  • Figure 00090002
  • Wie in den 7 und 8 dargestellt, die Werte der Links- und Rechts-detektionskoeffizienten DCL und DCR für aufeinander folgende B Bilder angeben, entsprechen Szenenschnitte deutlich Spikes. Auf gleiche Weise sind in 9 die Detektionskoeffizienten DCP für P Bilder dargestellt (offenbar ist die von den Bewegungsvektoren von P Bildern transportierte Information weniger zuverlässig als diejenige, die von den B Bildern geliefert wird).
  • Im Fall (beispielsweise) einer Szenenänderung, die nach den zwei B Bildern auftritt, d. h. zwischen dem zweiten B Bild und dem nächsten Bezugsbild (auf der rechten Seite des genannten zweiten B Bildes), werden nur wenige Makroblöcke des analysierten B Bildes rückwärts kompensiert oder interpoliert, da die Korrelation zwischen dem genannten B Bild und dem nachfolgenden Bezugsbild gering ist und die meisten derselben werden intra- oder vorwärtskompensiert: der Wert des Detektionskoeffizienten DCR ist folglich hoch, während der Wert des Detektionskoeffizienten DCL nicht zugenommen hat (im Gegenteil, im Fall einer Szenenänderung auf der linken Seite des ersten B Bildes zwischen dem vorhergehenden Bezugsbild und dem genannten B Bild, hat DCL einen hohen Wert und DCR ist nach wie vor niedrig, während DCL und DCR beide einen niedrigen Wert haben, wenn in dem Block mit M Bildern keine Szenenänderung auftritt. Im Wesentlichen wird, damit man eine einfache symmetrische Anzeige von Szenenänderungen hat, die Differenz DDV zwischen den beiden Detektionswerten berechnet, was Folgendes ergibt: DDV = DCL – DCR (5)
  • Das heißt:
  • Figure 00100001
  • Diese Differenz DDV, die als Bewegungskompensationsverhältnis bezeichnet wird, wird für jedes B Bild jeder Gruppe von drei Bildern IBB oder PBB berechnet. Wenn nun vorausgesetzt wird, dass es nur eine einzige Szenenänderung für jede Gruppe gibt, wird ein Entscheidungswert DVL, wobei die Wahrscheinlichkeit einer derartigen Szenenänderung gemessen wird, dadurch ermittelt, dass die absoluten Werte von DDV für die zwei benachbarten B Bilder addiert werden:
    Figure 00100002
    wobei die Ziffern 1 und 2 angeben, ob das Verhältnis sich auf das erste oder auf das zweite Bild der zwei aufeinander folgenden Bilder bezieht. Die genaue Position der Szenenänderung gegenüber den bidirektionellen Bildern kann danach dadurch ermittelt werden, dass man auf die Vorzeichen der zwei Verhältnisse achtet:
    • – wenn DDV(1) und DDV(2) > 0 ist, hat die Szenenänderung vor dem ersten B Bild stattgefunden;
    • – wenn DDV(1) > 0 und DDV(2) < 0 ist, hat die Szenenänderung zwischen den zwei B Bildern stattgefunden;
    • – wenn DDV(1) und DDV(2) < 0 ist, hat die Szenenänderung nach den zwei B Bildern stattgefunden.
  • Die Leistung des Szenenänderungsdetektionsverfahrens, wobei nur B Bilder verwendet werden, ist in 10 dargestellt. Ein Entscheidungswert für jede IBB oder PBB Gruppe wird berechnet und es sei bemerkt, dass:
    • – die Spikes der Entscheidungswerte sich an derselben Stelle befinden wie die wirklichen Szenenschnitte;
    • – die Störung um den Makroblock Nr. 50 herum wird verursacht durch Lichteffekte in der Sequenz, die den Bewegungsschätzungsalgorithmus und dadurch die bewegungskompensationsabhängige Szenenschnittvorhersage stören;
    • – der letzte Teil der untersuchten Videosequenz ist im Grunde ein Standbild (die Bilder sind nahezu identisch): deswegen ist es nicht definiert, welche Bewegungskompensation ver wendet wird, da der Bezugsmakroblock für alle Kompensationstypen der gleiche ist, und die Entscheidungswerte folglich einen nicht vernachlässigbaren Wert haben, obschon keine Szenenänderung auftritt (zum Reduzieren der Gefahr falscher Szenenänderungsvorhersagen, kann es dann nützlich sein, nebst den Bewegungsvektorstatistiken von B Bilden die von P Bildern zu betrachten: wenn der Detektionskoeffizient für ein P Bild niedrig ist, hat für die drei vorhergehenden Bilder keine Szenenänderung stattgefunden).
  • Der zweite Hilfsschritt 120 ist ein GOP Zuordnungshilfsschritt. Eine optimale Zuordnung eines GOP wird durch zwei strittige Aufgaben bestimmt:
    • (a) die erste ist eine bevorzugte Größe für die GOP zu selektieren: wenn eine GOP zu klein ist, werden Bits verschwendet, weil mehr aufwendige I Bilder zugeordnet werden als notwendig ist, während ein beliebiger Zugriff behindert wird, wenn eine GOP zu groß ist;
    • (b) die zweite ist, das Startbild einer GOP mit der Position einer Szenenänderung überein zu stimmen.
  • Folglich ist das Problem der GOP Zuordnung die GOPs auf eine optimale Weise zu arrangieren, während die Anforderungen (a) und (b) erfüllt werden (d. h. am Anfang einer neuen Szene soll eine neue GOP starten, wobei eine maximale und eine minimale Größe der genannten GOP respektiert werden soll). Um dieses Optimierungsproblem zu lösen wird ein Viterbi-Algorithmus verwendet: für jede Strecke wird die Umleitung von der bevorzugten Größe der GOP bestraft, während die Einbeziehung einer wahrscheinlichen Szenenänderung am Start einer GOP belohnt wird, wobei die kumulative Summe aller Entscheidungswerte die Strecke bestimmt, die für jedes Bild gewählt wird.
  • Dieser Algorithmus findet die optimalen Startpositionen der GOPs über die Sequenz. Jedes Bild hat einen angehängten Szenenänderungswert, der die Wahrscheinlichkeit eines Szenenschnittes an der betreffenden Stelle beschreibt: wenn der Entscheidungswert groß ist, bedeutet dies, dass es eine hohe Wahrscheinlichkeit einer Szenenänderung an dieser Stelle gibt, und deswegen ist es lohnend, eine neue GOP zuzuordnen. Da aber die Größe der GOPs weder zu klein, noch zu groß sein soll, werden auch die Übergänge zwischen den Startpunkten der GOPs (d. h. die Größe der GOPs) gewichtet.
  • In 11 stellen die vertikalen Linien Bilder dar, die Parameter Si beschreiben die Szenenänderungswahrscheinlichkeit des betreffenden Bildes (es wird vorausgesetzt, dass nur eine einzige Szenenänderung für eine Gruppe von drei Bildern auftritt, folglich wird es nur einen einzigen Entscheidungswert Di (N) für jeden PBB oder IBB Block ge ben), und die W Parameter sind die Gewichtungswerte, welche die Größe der GOP bewerten (wobei eine Größe nahe bei einer optimalen Größe, wie 12, bevorzugt wird). Der Entscheidungswert einer Strecke, die bei einem Bild endet, wird dann wie folgt berechnet: Di(N) = Gi–N ÷ W(N) (9)wobei N die Größe der betreffenden GOP ist und wobei Ci–N die Summe aller Gewichtungen S und W für die optimale Zuordnung von GOPs von dem Bild "1" bis zu dem Bild "i-N". Es wird diejenige GOP-Größe gewählt, die den höchsten Entscheidungswert hat. Die Gewichtungsfunktion W = f(N) ist eine quadratische und W nimmt dadurch proportional zu der quadratischen Differenz zwischen der GOP-Größe und der bevorzugten GOP-Größe ab, wie dies in 12 dargestellt ist, wobei ein Beispiel der Gewichtungsfunktion für die GOP-Größe dargestellt ist (die vorgeschlagene Gewichtungsfunktion sorgt dafür, dass alle GOPs zwischen zwei Szenenänderungen nahezu gleich groß sind: folglich wenn zwei Szenenänderungen einen Abstand von 16 Bildern haben, werden zwei GOPs mit einer Größe von 8 eher zugeordnet als eine GOP mit der Größe 10 und eine andere mit der Größe 6).
  • Bisher wurde aber noch nicht erwähnt, dass es zwischen der Übertragungsreihenfolge und der Wiedergabereihenfolge von Bildern einen Unterschied gibt. Wenn man betrachtet, dass der Start von GOP bei dem ersten Bild nach einer Szenenänderung liegt, dann startet die erste Gruppe von M Bildern auch bei dem Szenenschnitt. Das I Bild ist aber das letzte Bild des wiederzugebenden Blocks. Wenn M = 3 ist, werden die ersten zwei Bilder der GOP als B Bilder codiert und nur das dritte Bild ist ein I Bild. Deswegen kann der Start der GOPs um eine oder zwei Positionen nach links verschoben werden um zu gewährleisten, dass das erste Bild nach einer Szenenänderung wirklich ein I Bild ist und nicht ein B Bild.
  • Der dritte Hilfsschritt 130 ist ein P und B Bildzuordnungshilfsschritt. Im Hinblick auf eine Optimierung des zeitabhängigen Parameters M um auf eine adaptive Art und Weise den besten Platz von B und P Bildern zu suchen, ermöglicht tatsächlich eine Minimierung der zur Codierung der Sequenz erforderlichen Bitrate. Steigerung des Wertes M steigert die Bitrate von P Bildern aber es werden mehr bitrateneffizient B Bilder statt P Bilder verwendet. Die Korrelation zwischen aufeinander folgenden Bildern ist deswegen der wichtigste Parameter für die Optimierung, was im Wesentlichen in zwei Teilaufgaben aufgeteilt wird:
    • (a) eine Langzeitoptimierung, damit die optimale M über mehrere GOPs gefunden wird;
    • (b) eine Kurzzeitoptimierung, damit die beste Stelle für B und P Bilder innerhalb einer GOP gefunden wird, wobei die örtlichen Variationen der Korrelation zwischen Bildern berücksichtigt werden.
  • In Bezug auf die Langzeitoptimierung sei Bemerkt, dass, wenn der Korrelationskoeffizient zwischen aufeinander folgenden Bildern nach Eins neigt, ist es egal, ob ein B Bild oder ein P Bild gewählt wird, da sowieso fast keine Koeffizientenbits zurückbleiben, während Bewegungskompensation nicht wirkt, wenn die genannte Korrelation sehr niedrig ist. In diesen extremen Fällen (ein Standbild bzw. nicht korrelierte Bilder) ist es nicht deutlich, welches M bevorzugt werden soll. In den anderen Fällen ist es im Allgemeinen möglich, zu sagen, dass ein kleines M gut funktioniert für eine in geringem Maße korrelierte Sequenz und dass ein großes M besser ist für eine Sequenz mit hoher Korrelation. Die besten Ergebnisse für die Langzeitoptimierung von M werden erhalten, wenn Versuche über eine Vielzahl von Szenen durchgeführt werden.
  • In Bezug auf die Kurzzeitoptimierung kann hinzugefügt werden, dass M innerhalb jeder GOP beliebig variieren kann, was es ermöglicht, Kurzzeitschwankungen der Korrelation zwischen Bildern zu verwenden um die Bitrate zu minimieren. Ein Beispiel für Kurzzeitoptimierung von M ist in der nachfolgenden Tabelle gegeben, wobei die Wahl von M vor einer Szenenänderung angegeben wird:
  • Figure 00130001
  • Offenbar können die B Bilder vor der Szenenänderung nur vorwärts vorhergesagt werden. Es macht keinen großen Unterschied, ob M = 1 oder 2 ist vor der neuen Szene, weil das B Bild vor der Szenenänderung sich wie ein P Bild verhält; eine Wahl von M = 3 ist deutlich schlimmer, weil das B Bild an der Stelle 3 ein Bezugsbild benutzt (das vorhergehende P Bild) an der Stelle 1, folglich in einem Abstand von zwei Positionen. Da die Korrelation zwischen Bildern abnimmt, je nachdem deren Abstand voneinander zunimmt, ist die Bitrate des B Bildes an der Stelle 3 höher für M = 3 als die Bitraten der Bilder an derselben Stelle für M = 1 oder 2.
  • Der dritte Schritt 43 ist ein Prädiktionsschritt, mit der Absicht, die Quantisierungsschrittgröße Q vorherzusagen, die benutzt werden muss zum Codieren des Bitstroms entsprechend der spezifischen Zielbitrate. Wenn der genannte Prädiktionsschritt einmal gemacht worden ist, kann der Analysenschritt 41 wiederholt werden (Pfeil in 4), und zwar sooft wie notwendig, damit eine genauere Schätzung für Q erhalten wird (aber eine gute Vorhersage wird im Allgemeinen nach einigen Läufen, beispielsweise nach zwei Läufen, erhalten).
  • Da die Quantisierungsschrittgröße Q, die an dem Ende dieses zweiten Schrittes verfügbar ist, nur ein geschätzter Wert ist, wird das gesamte Bitbudget nicht genau gedeckt, wenn jedes Bild durch Verwendung des genannten vorhergesagten Wertes codiert wird. Es wird ein Endschritt 44 durchgeführt, der es ermöglicht, zu gewährleisten, dass die Bedingung der gesamten mittleren Bitrate genau eingehalten wird. Um zu gewährleisten, dass der schlussendliche Ausgangsbitstrom tatsächlich genau die gewünschte Größe hat, wird ein Quantisierungsschrittgrößensteuerprozess implementiert.
  • Dieser Prozess basiert auf eine Steuerschleife, die sich auf einen Vergleich der vorhergesagten mit der reellen Bitrate stützt. Nach der Codierung jedes Bildes in dem Endschritt vergleicht der Steuerprozess die gesamte Anzahl Bits, die verbraucht worden sind, mit der gestatteten Anzahl. Wenn mehr Bits verbraucht worden sind als das Budget erlaubt, wird die Quantisierungsschrittgröße gesteigert, und die Bitrate der nachfolgenden Bilder wird reduziert. Wenn weniger Bits verbraucht worden sind als das Budget erlaubt, wird Q verringert und die Bitrate wird gesteigert, wobei die gesamte Zielbitrate schlussendlich genau erzielt wird.
  • Das genannte VBR-Codierungsverfahren kann in einem Codierer implementiert werden, der eine Architektur hat, wie in 5 dargestellt, wobei jeder Block einer bestimmten Funktion entspricht, die unter der Aufsicht eines Controllers 55 durchgeführt wird. Der dargestellte Codierer umfasst in Reihe einen Eingangspuffer 51, einen Subtrahierer 549, eine DCT-Schaltungsanordnung 521, eine Quantisierungsschaltung 522, eine Codierungsschaltung mit variabler Länge 523 und einen Ausgangspuffer 524. Die Schaltungsanordnungen 521 bis 524 bilden die Hauptelemente eines Codierungszweiges 52, mit dem ein Prädiktionszweig 53, der eine Invertierquantisierungsschaltung 531, eine Invertier-DCT-Schaltung und ein Prädiktionshilfssystem enthält, assoziiert ist. Dieses Prädiktionshilfssystem umfasst an sich einen Addierer 541, einen Puffer 542, eine Bewegungsschät zungsschaltung 543 (wobei die genannte Schätzung auf einer Analyse der Eingangssignale basiert, die an dem Ausgang des Puffers 51 verfügbar sind), eine Bewegungskompensationsschaltung 544 (deren Ausgangssignale zu dem zweiten Eingang des Addierers 541 zurück gesendet werden), und den Subtrahierer 549 (der die Ausgangssignale des Puffers 51 und die Ausgangssignale des Puffers 51 und die Ausgangssignale der Bewegungskompensationsschaltung 544 empfängt, um die Differenz der genannten Signale dem Codierungszweig zuzusenden).
  • Der Ausgang des dargestellten Codierers wird dem Controller 55 zugeführt, der die Steuerschleife umfasst, vorgesehen zum Durchführen des Endschrittes 44. Die Hauptelemente der genannten Steuerschleife für den schlussendlichen Durchgang durch den VBR Codierer sind in 13 dargestellt. Wie bereits erläutert, ist es notwendig, die Quantisierungsschrittgröße während dieses schlussendlichen Codierungsdurchgangs einzustellen, damit gewährleistet wird, dass die von dem Operator gegebenen gesamte Zielbitrate genau eingehalten wird. Die genannte Schleife umfasst zunächst eine erste Rechenschaltung 131, in der das Ausgangssignal der Schleife (d. h. der kumulative Prädiktionsfehler) mit einem Faktor KP multipliziert wird. Dieser Faktor an sich entspricht einer Konstanten QC1(gewählt von dem Operator) multipliziert mit einem Gewichtungsfaktor Qint/APG, wobei Qint eine integrative Schätzung von Q ist und APG die gesamte Anzahl Bits für eine GOP (von N Bildern).
  • Ein Addierer 133 addiert danach das Ausgangssignal Qprop der genannten Schaltungsanordnung 131 und das Signal Qint, das an dem Ausgang einer zweiten Rechenschaltung 132 verfügbar ist, vorgesehen zum Erzielen einer integrativen Schätzung von Q. Eine Umwandlungsschaltung 134 gibt die kumulative Bitrate für alle vorhergehenden Bilder, und zwar auf Basis einer Beziehung R = fi(Q) (zwischen dem Quantisierungsfaktor Q und dem Ausgang des Addierers 63 und der Bitrate R) gespeichert in der genannten Schaltungsanordnung 134. Die auf diese Art und Weise erhaltene kumulative Bitrate wird in einer Vergleichsschaltung 135 mit der kumulativen vorhergesagten Bitrate vergleichen, die an einem zweiten Eingang der genannten Vergleichsschaltung verfügbar ist und verwendet wird, und zwar nach einer Integration in einer Schaltungsanordnung 136, zum entsprechenden Modifizieren von Q.
  • Die VBR Codierungsstrategie, wie diese oben präsentiert wird, ist eine Verbesserung gegenüber den vorhergehenden VBR Codierern, weil diese Strategie einen besse ren Ausgleich der Perzeptionsqualität der decodierten Sequenz herbeiführt. Die bekannten VBR Codierer stellen den Quantisierungsparameter Q beim Codieren eines Bildes ein, so dass die vorhergesagte Bitrate für jedes Bild stimmt. Folglich gestatten sie, dass der Quantisierungsparameter Q innerhalb eines Bildes variiert und es kann keine konstante räumliche Qualität des Bildes erreicht werden. Diese Variation in der Qualität tritt auf, ob die Bitrate des Bildes wohl oder nicht einwandfrei vorhergesagt wurde. Für den vorgeschlagenen VBR Codierer wird Q über ein Bild konstant gehalten und die räumliche Qualität jedes Bildes in der Videosequenz variiert nicht. Wenn die Bildbitraten und die Quantisierungsschrittgröße einwandfrei geschätzt wurden, sind der Q vor der adaptiven Quantisierung und damit die subjektive Verzerrung nach wie vor für alle Makroblöcke der Sequenz genau konstant. Da die Quantisierungsschrittgröße und die Bildbitraten nur geschätzt werden, tritt eine Variation von Q und folglich der Qualität der Sequenz von Bild zu Bild auf, aber nach einigen Analysen liegen die Abweichungen von Q, gemittelt über ein Bild, im Allgemeinen unterhalb 1%.
  • Nebst der Erzielung einer konstanten Intrabildqualität können verschiedene andere wichtige Aspekte der neuen VBR Strategie genannte werden:
    • – es ist möglich, die Prädiktion des Quantisierungsfaktors auf eine iterative Weise dadurch zu verbessern, dass die Anzahl Analysendurchgänge gesteigert wird: wenn nach dem Analysendurchgang die Abweichung von der gewünschten Zielbitrate dennoch zu hoch ist, kann unter Verwendung der Ergebnisse aus den vorhergehenden Codierungsdurchgängen eine bessere Schätzung des Quantisierungsfaktors berechnet werden;
    • – da die neue VBR Codierungsstrategie Q vorhersagt, können Analysendurchgänge, die mit einer anderen Bildreihenfolge als dem vorhergesagten Durchgang durchgeführt wird, benutzt werden: dies ist unter Anwendung alter Strategien unmöglich, und dies ist ein sehr großer Vorteil des neuen Codierungskonzeptes;
    • – wenn in dem letzten Durchgang, die Variationen von Q und folglich der Qualitätsausfall unakzeptierbar hoch sind, kann der Endschritt als ein Analysendurchgang für die Prädiktion von Q und der Bitrate für den nachfolgenden Durchgang benutzt werden: wobei es unter Anwendung dieses Merkmals möglich ist, einen Codierer zu entwickeln, der so viele Codierungsdurchgänge durchführt, wie erforderlich, bis die Kennlinien des Ausgangsbitstroms sich innerhalb bestimmter, durch den Operator definierter Grenzen befinden;
    • – da die Steuerschleife einen integrativen Charakter hat schließen Kurzzeitbitratenprädiktionsfehler einander aus: beeinträchtigen systematische bildtypabhängige Prädiktionsfehler die Leistung des vorgeschlagenen VBR Codierers nicht wesentlich.
  • Die vorliegende Erfindung beschränkt sich offenbar nicht auf die oben beschriebene Ausführungsform, von der im Rahmen der vorliegenden Erfindung Abwandlungen hergeleitet werden können. So kann beispielsweise ein etwaiger vierter Hilfsschritt, in 4 durch 140 bezeichnet und mit Verbindungen in gestrichelten Linien dargestellt, in den Neugliederungsschritt 42 eingeschlossen werden, wir nachstehend erläutert. Um eine Sequenz bei einer bestimmten Bitrate R(t) in dem letzten Durchgang des letzten Schrittes 44 genau zu codieren ist es tatsächlich notwendig, eine Zielquantisierungsschrittgröße Q und die Zielbildbitraten R(i) vorherzusagen. Zum Durchführen eines Analysendurchganges ist die einzige Anforderung, dass man eine Vorhersage von Q hat. Da während des ersten Analysenschrittes 41 kein Steuersystem angewandt wird, ist keine Vorhersage der Bildziele erforderlich. Für die Schätzung der Bitraten R(i) und der Schrittgröße Q sind der Quantisierungsfaktor und die Bildbitraten des vorhergehenden Codierungsdurchgangs erforderlich. Wenn aber die Reihenfolge der Bildtypen sich zwischen zwei Durchgängen geändert hat, kann dasselbe Bild einer Sequenz durch zwei verschiedene Typen in den genannten zwei Durchgängen codiert werden.
  • Wenn man beispielsweise bedenkt, dass der Analysendurchgang durchgeführt wurde unter Anwendung von N = 12 und M = 3, während der vorhergehende Durchgang mit N = 8 und M = 2 codiert wurde, sind die entsprechenden Bildzuordnungen in der nachfolgenden Tabelle dargestellt:
    Figure 00170001
    wobei das zweite Bild als ein B Bild in dem ersten Durchgang und als ein I Bild in dem zweiten Durchgang codiert wird. Da die Bildtratenvorhersage zum Vorhersagen der Zielbitrate eines Bildes geschaffen wird, das denselben Typ hat wie das Bild in dem ersten Analysendurchgang, wenn ein Bild als ein B Bild in dem genannten ersten Durchgang codier wurde, wird folglich die Bitrate eines B Bildes für den zweiten Durchgang vorhergesagt. Im Fall einer modifizierten Bildreihenfolge sind die vorhergesagten Bildbitraten folglich nutzlos.
  • Da die Vorhersage der Zielbildbitraten nach einer Bildneugliederung nicht möglich ist, kann der schlussendliche Codierungsschritt nicht unmittelbar nach der Bildneugliederung durchgeführt werden. Ein zweiter Analysendurchgang muss deswegen vor dem genannten schlussendlichen Codierungsdurchgang durchgeführt werden: folglich sind in dem Fall für den VBR Codierer nach der vorliegenden Erfindung wenigstens drei Codierungsdurchgänge erforderlich. Um zu gewährleisten, dass die vorhergesagten Bildbitraten für den schlussendlichen Durchgang nicht allzu falsch sind, kann dazu ein zusätzlicher "Zwischenbild"-Prädiktionshilfsschritt durchgeführt werden, der die Bitraten schätzt, welche die Bilder haben würden, wenn der Analysendurchgang mit der neuen Bildreihenfolge statt mit der alten Reihenfolge durchgeführt worden wäre. Dieser zusätzliche Hilfsschritt 140, der, wie bereits erwähnt, fakultativ ist, benutzt die zeitliche Korrelation der Bildbitraten.
  • Text in der Zeichnung
  • 4
  • 41
    Analyse
    110
    Szenenänderungsdetektion
    120
    GOP Zuordnung
    130
    P und B Bildzuordnung
    140
    Zwischenbildprädiktion
    43
    Prädiktion
    44
    Schlussendlicher Durchgang
  • 7
    • Detektionskoeffizient
    • Frame Nummer
  • 8
    • Detektionskoeffizient
    • Frame Nummer
  • 9
    • Detektionskoeffizient
    • Frame Nummer
  • 10
    • Szenenänderungsentscheidungswert
    • Anzahl M Blöcke
  • 12
    • GOP Entscheidungswert (W)
    • Gröbe von GOP (N)

Claims (9)

  1. Verfahren zur Videocodierung mit variabler Bitrate mit einem sich wiederholenden Prozess, der einen ersten Analysenschritt umfasst zum Codieren eines Bitstromes, entsprechend einer Bildsequenz mit einer konstanten Quantisierungsschrittgröße, und einen zweiten Prädiktionsschritt, zum Vorhersagen der Quantisierungsschrittgröße, die dann verwendet werden soll zum Codieren des genannten Bitstroms entsprechend einer vorbestimmten Zielbitrate, und wobei ein Endsteuerschritt folgt zum Einstellen der Schrittgröße gegenüber der genannten Zielbitrate, wobei das genannte Verfahren das Kennzeichen aufweist, dass es zwischen dem Analysenschritt und dem Prädiktionsschritt einer Wiederholung einen Bildsequenz-Neugliederungsschritt gibt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der genannte Bildsequenz-Neugliederungsschritt selber in Reihe einen ersten Szenenänderungsdetektionshilfsschritt, einen zweiten Zuordnungsteilschritt und einen dritten Optimalanordnungsteilschritt umfasst.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der genannte Szenenänderungsdetektionshilfsschritt einen Korrelationsvorgang aufweist, durchgeführt zwischen aufeinander folgenden Bildern der Sequenz, und einen Entscheidungsvorgang um den etwaigen Auftritt einer Szenenänderung anzugeben.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der genannte Korrelationsvorgang auf einer Bildkomplexitätsschätzung basiert ist.
  5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der genannte Korrelationsvorgang auf dem Vergleich der Blöcke eines Bildes mit Bezugsblöcken in einem vorhergehenden Bezugsbild basiert ist.
  6. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der genannte Zuordnungsteilschritt auf der Implementierung eines Viterbi-Algorithmus basiert ist, wodurch es möglich ist, eine bevorzugte Größe für aufeinander folgende Gruppen von Bildern zu selektieren, während eine Szenenänderung mit dem Start einer derartigen Gruppe von Bildern übereinstimmt.
  7. Verfahren nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, dass der genannte Optimalanordnungsteilschritt einen ersten Langzeitoptimierungsvorgang aufweist um über verschiedene Gruppen von Bildern den optimalen Zwischenraum zwischen diesen Gruppen zu finden und einen zweiten Kurzzeitoptimierungsvorgang aufweist um innerhalb einer Gruppe von Bildern die besten Stellen vorhergesagter und interpolierter Bilder zu finden.
  8. Verfahren nach einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, dass im Falle einer Änderung der Reihenfolge der Bildtypen zwischen zwei aufeinander folgenden Wiederholungen ein zusätzlicher Zwischenbildprädiktionsschritt vorgesehen ist.
  9. Videocodierer mit variabler Bitrate mit einem ersten Codierungszweig, einem Prädiktionszweig und einer Steuerschaltung, vorgesehen zum Durchführen der Implementierung der nachfolgenden Vorgänge: – eines Codierungsvorgangs eines Bitstroms entsprechend einer Bildsequenz, mit einer konstanten Quantisierungsschrittgröße; – eines Prädiktionsvorgangs für eine Schätzung der Quantisierungsschrittgröße, wodurch es ermöglicht wird, den genannten Bitstrom entsprechend einer spezifizierten Zielbitrate zu codieren; – wenigstens einer Wiederholung der genannten Vorgänge; – eines Endsteuervorgangs zum Einstellen der Schrittgröße in Bezug auf die genannte Zielbitrate; dadurch gekennzeichnet, dass die genannte Steuerschaltung dazu vorgesehen ist, zwischen dem ersten Codierungsvorgang und dem ersten Prädiktionsvorgang einen Bildsequenzanordnungsvorgang zu implementieren.
DE69826823T 1997-07-29 1998-07-06 Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer Expired - Fee Related DE69826823T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP97401823 1997-07-29
EP97401823 1997-07-29
EP98401247 1998-05-26
EP98401247 1998-05-26
PCT/IB1998/001031 WO1999007159A2 (en) 1997-07-29 1998-07-06 Variable bitrate video coding method and corresponding video coder

Publications (2)

Publication Number Publication Date
DE69826823D1 DE69826823D1 (de) 2004-11-11
DE69826823T2 true DE69826823T2 (de) 2005-10-20

Family

ID=26147872

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69826823T Expired - Fee Related DE69826823T2 (de) 1997-07-29 1998-07-06 Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer

Country Status (7)

Country Link
US (3) US6205174B1 (de)
EP (1) EP0928544B1 (de)
JP (1) JP2001501430A (de)
KR (1) KR100626994B1 (de)
CN (1) CN1136734C (de)
DE (1) DE69826823T2 (de)
WO (1) WO1999007159A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018205144B3 (de) 2018-04-05 2019-02-28 Audi Ag Testverfahren zur Erkennung von Fehler-Frames bei hochauflösenden Scheinwerfern

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100626994B1 (ko) * 1997-07-29 2006-09-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 가변 비트 레이트 비디오 코딩 방법 및 대응 비디오 코더
KR100720842B1 (ko) 1999-03-26 2007-05-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 코딩 방법 및 대응 비디오 코더
WO2000067487A1 (en) * 1999-04-30 2000-11-09 Koninklijke Philips Electronics N.V. Low bit rate video coding method and system
CN1166213C (zh) * 1999-04-30 2004-09-08 皇家菲利浦电子有限公司 选择b帧编码模式的视频编码方法和系统
US6735249B1 (en) 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
KR20020000810A (ko) 2000-03-21 2002-01-05 요트.게.아. 롤페즈 가변 비트 레이트 비디오 인코딩 방법 및 장치
US20020078463A1 (en) * 2000-06-08 2002-06-20 Foster Mark J. Method and processor engine architecture for the delivery of dynamically compressed audio video content over a broadband network
US8005145B2 (en) 2000-08-11 2011-08-23 Nokia Corporation Method and apparatus for transferring video frame in telecommunication system
KR100357689B1 (ko) * 2000-11-13 2002-10-19 삼성전자 주식회사 일관된 화질을 가지는 실시간 가변 비트율 엠펙 비디오전송 시스템
US7136394B2 (en) 2001-03-12 2006-11-14 Polycom, Inc. Low-delay video encoding method for concealing the effects of packet loss in multi-channel packet switched networks
EP1725038A3 (de) * 2001-03-12 2009-08-26 Polycom, Inc. Verzögerungsarmes Videocodierungsverfahren zum Verbergen der Effekte von Paketverlusten in Paketvermittelten Mehrkanalnetzwerken
US6804301B2 (en) 2001-08-15 2004-10-12 General Instrument Corporation First pass encoding of I and P-frame complexity for compressed digital video
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US6996183B2 (en) * 2001-09-26 2006-02-07 Thomson Licensing Scene cut detection in a video bitstream
EP3310049B1 (de) 2001-11-06 2019-01-30 Panasonic Intellectual Property Corporation of America Verfahren zur codierung bewegter bilder und verfahren zur decodierung bewegter bilder
US6763068B2 (en) * 2001-12-28 2004-07-13 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
KR100468726B1 (ko) 2002-04-18 2005-01-29 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
US7769084B1 (en) 2002-07-15 2010-08-03 Apple Inc. Method for implementing a quantizer in a multimedia compression and encoding system
US7418037B1 (en) 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US20050259750A1 (en) * 2002-07-24 2005-11-24 Koninklijke Philips Electronics N.V. Method and encoder for encoding a digital video signal
US7042943B2 (en) * 2002-11-08 2006-05-09 Apple Computer, Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
US7940843B1 (en) * 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7804897B1 (en) 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
JP2007522724A (ja) * 2004-01-30 2007-08-09 トムソン ライセンシング アダプティブレートコントロールによるエンコーダ
CA2563107C (en) 2004-03-29 2014-03-04 Nielsen Media Research, Inc. Methods and apparatus to detect a blank frame in a digital video broadcast signal
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US8406293B2 (en) * 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US20060034522A1 (en) * 2004-08-10 2006-02-16 Nader Mohsenian Method and system for equalizing video quality using selective re-encoding
US20060062478A1 (en) * 2004-08-16 2006-03-23 Grandeye, Ltd., Region-sensitive compression of digital video
JP4187746B2 (ja) * 2005-01-26 2008-11-26 三洋電機株式会社 動画像データ伝送装置
US8208536B2 (en) * 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
US20060294128A1 (en) * 2005-05-21 2006-12-28 Kula Media Group Enhanced methods for media processing and distribution
KR100789535B1 (ko) 2006-01-18 2007-12-28 엘지전자 주식회사 영상의 변화율에 따른 적응적 비트율 제어 장치 및 방법
WO2007142646A1 (en) * 2006-06-08 2007-12-13 Thomson Licensing Scene change detection for video
US20080008190A1 (en) * 2006-07-07 2008-01-10 General Instrument Corporation Method and apparatus for distributing statistical multiplex signals to handheld devices
WO2008071028A1 (en) * 2006-12-11 2008-06-19 Thomson Licensing Method of encoding an image and device implementing said method
TWI327866B (en) 2006-12-27 2010-07-21 Realtek Semiconductor Corp Apparatus and related method for decoding video blocks in video pictures
JP4901772B2 (ja) * 2007-02-09 2012-03-21 パナソニック株式会社 動画像符号化方法及び動画像符号化装置
US20080232468A1 (en) * 2007-03-21 2008-09-25 Mediatek Inc. Method and apparatus for adaptive gop structure determination
US20100309981A1 (en) * 2009-06-04 2010-12-09 Texas Instruments Incorporated Reuse of a search region in motion estimation of multiple target frames
US8925024B2 (en) 2009-12-31 2014-12-30 The Nielsen Company (Us), Llc Methods and apparatus to detect commercial advertisements associated with media presentations
US9467693B2 (en) * 2010-01-06 2016-10-11 Dolby Laboratories Licensing Corporation Multiple-pass rate control for video coding applications
US8488958B2 (en) 2010-05-25 2013-07-16 Apple Inc. Scene adaptive auto exposure
US9848222B2 (en) 2015-07-15 2017-12-19 The Nielsen Company (Us), Llc Methods and apparatus to detect spillover

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309526A (en) * 1989-05-04 1994-05-03 At&T Bell Laboratories Image processing system
US5227878A (en) * 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
KR0162203B1 (ko) * 1993-06-21 1998-12-15 김광호 양자화스텝사이즈의 가변을 이용한 적응적 부호화방법 및 그 장치
JP3050047B2 (ja) * 1994-06-24 2000-06-05 日本ビクター株式会社 動画像符号化装置及び動画像符号化方法
JPH08181987A (ja) * 1994-12-22 1996-07-12 Canon Inc 符号化装置
JP3258840B2 (ja) * 1994-12-27 2002-02-18 シャープ株式会社 動画像符号化装置および領域抽出装置
WO1996026612A2 (en) * 1995-02-24 1996-08-29 Philips Electronics N.V. Device and method for coding video pictures
JP2907063B2 (ja) * 1995-05-24 1999-06-21 日本ビクター株式会社 総符号量制御を行なう動画像符号化装置
KR0180167B1 (ko) * 1995-06-30 1999-05-01 배순훈 영상부호화를 위한 프레임 재배열 장치
US6160846A (en) * 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5878166A (en) * 1995-12-26 1999-03-02 C-Cube Microsystems Field frame macroblock encoding decision
KR100626994B1 (ko) * 1997-07-29 2006-09-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 가변 비트 레이트 비디오 코딩 방법 및 대응 비디오 코더
US6097757A (en) * 1998-01-16 2000-08-01 International Business Machines Corporation Real-time variable bit rate encoding of video sequence employing statistics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018205144B3 (de) 2018-04-05 2019-02-28 Audi Ag Testverfahren zur Erkennung von Fehler-Frames bei hochauflösenden Scheinwerfern

Also Published As

Publication number Publication date
EP0928544A2 (de) 1999-07-14
WO1999007159A2 (en) 1999-02-11
US6205174B1 (en) 2001-03-20
KR20000068659A (ko) 2000-11-25
EP0928544B1 (de) 2004-10-06
JP2001501430A (ja) 2001-01-30
CN1241335A (zh) 2000-01-12
US6795502B2 (en) 2004-09-21
US20030227970A1 (en) 2003-12-11
KR100626994B1 (ko) 2006-09-22
CN1136734C (zh) 2004-01-28
DE69826823D1 (de) 2004-11-11
WO1999007159A3 (en) 1999-05-14
US20010000704A1 (en) 2001-05-03

Similar Documents

Publication Publication Date Title
DE69826823T2 (de) Verfahren zur videocodierung mit variabler bitrate und entsprechender videocodierer
DE69830979T2 (de) Verfahren und vorrichtung zur videocodierung mit variabler bitrate
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE69735756T2 (de) Dynamische steuerung der kodierrate in einem blockbasierten videokodierungssystem
DE69635369T2 (de) Videokodierungsvorrichtung
DE69935478T2 (de) Bewegtbildkodiergerät
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE69815720T2 (de) Kodierung von bewegten bildern mit variabler bitrate in einem durchgang
DE69820142T2 (de) Dekodierverfahren für bewegte Bilder, und dementsprechendes Dekodiergerät
DE69825811T2 (de) Kodiergerät und Kodierverfahren mit Bewegungskompensation für hocheffiziente Videokodierung durch selektive Auswahl von vergangenen Bewegungsvektoren statt Benutzung von Bewegungsvektoren abgeleitet von Bewegungsschätzung
DE19730360B4 (de) Bilddatenfilterungsvorrichtung und Verfahren zur Verminderung von Bilddatencodierfehlern
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69333298T2 (de) Codierung und Codierung von digitalen Videosignalen
DE69816342T2 (de) Prädiktives Bilddekodierungsverfahren
DE69815159T2 (de) Kodierung von bewegten bildern mit globaler konstanter bitrate
DE69831894T2 (de) Signalkodierung, -aufnahme und -übertragung
DE69632232T2 (de) Verfahren und Vorrichtung zur Komprimierung von Videoinformationen mit bewegungsabhängiger Prädiktion
DE60023779T2 (de) Vorrichtung und Verfahren zur Überblendungsdetektion und Überblendungsinformationscodierung
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE19643915A1 (de) Verfahren und Schaltung zur Bestimmung eines Quantisierintervalls in einem Bildkodierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee