DE69837284T2 - Verfahren und vorrichtung zur kodierung von zeilensprunginformationen - Google Patents

Verfahren und vorrichtung zur kodierung von zeilensprunginformationen Download PDF

Info

Publication number
DE69837284T2
DE69837284T2 DE1998637284 DE69837284T DE69837284T2 DE 69837284 T2 DE69837284 T2 DE 69837284T2 DE 1998637284 DE1998637284 DE 1998637284 DE 69837284 T DE69837284 T DE 69837284T DE 69837284 T2 DE69837284 T2 DE 69837284T2
Authority
DE
Germany
Prior art keywords
field
bab
type
block
update
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 - Lifetime
Application number
DE1998637284
Other languages
English (en)
Other versions
DE69837284D1 (de
Inventor
Sung Ryul Cho
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.)
WiniaDaewoo Co Ltd
Original Assignee
Daewoo Electronics Co Ltd
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 Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Application granted granted Critical
Publication of DE69837284D1 publication Critical patent/DE69837284D1/de
Publication of DE69837284T2 publication Critical patent/DE69837284T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Kodieren von Zeilensprung-Forminformation; und, insbesondere, ein Verfahren und eine Vorrichtung zum wirksamen Kodieren der Zeilensprung-Forminformation durch Verändern eines Kodiermodus der Zeilensprung-Forminformation, basierend auf einer Halbbild_keine_Aktualisierung-(Feld_keine_Aktualsierung) Abschätzung.
  • Hintergrund der Erfindung
  • In digitalen Fernsehübertragungssystemen, wie beispielsweise Videotelefon-, Telekonferenz- und hochauflösende Fernsehsysteme wird eine große Menge digitaler Daten benötigt, um jedes Video-Vollbildsignal (Video-Rahmensignal) festzulegen, da ein Video-Zeilensignal in dem Video-Vollbildsignal eine Folge von digitalen Daten aufweist, die als Pixelwerte bezeichnet werden. Da jedoch die verfügbare Frequenzbandweite eines herkömmlichen Übertragungskanals begrenzt ist, ist es notwendig, um die große Menge digitaler Daten dort hindurch zu übertragen, das Datenvolumen unter Verwendung verschiedener Datenkompressionstechniken zu komprimieren oder zu reduzieren, insbesondere im Falle solcher Niedrigbitraten Videosignalkodierer, wie Videotelefon- und Telekonferenzsysteme.
  • Eine solcher Techniken zum Kodieren von Videosignalen für ein Niedrigbitraten-Kodiersystem ist die sogenannte objektbasierte Analyse-Synthese-Kodiertechnik, bei welcher ein Eingangs-Videobild in Objekte aufgeteilt wird, und drei Parametersätze zur Festlegung der Bewegung, des Umrisses und von Pixeldaten für jedes Objekt, durch verschiedene Kodierungskanäle verarbeitet werden.
  • Ein Beispiel eines solchen objektbasierten Kodierschemas ist das sogenannte MPEG (Moving Picture Experts Group) Phase 4 (MPEG-4), welches entwickelt wurde, um einen audiovisuellen Kodierstandard bereitzustellen, um inhaltsbasierte Interaktivität, verbesserte Kodiereffizienz und/oder universelle Verfügbarkeit in Anwendungen wie beispielsweise Niedrigbitraten-Kommunikation, interaktives Multimedia (zum Beispiel Spiele, interaktives TV, usw.) und Gebietsüberwachung zu ermöglichen.
  • Gemäß MPEG-4, wird ein Eingangs-Videobild in mehrere Video-Objektebenen (VOP) unterteilt, die Einheiten in einem Bitstrom entsprechen, auf die ein Benutzer Zugriff haben kann und diese manipulieren kann. Eine VOP kann als ein Objekt bezeichnet werden und durch ein Begrenzungsrechteck dargestellt werden, dessen Breite und Höhe das kleinste Vielfache von 16 Pixeln (einer Makroblockgröße) ist, das jedes Objekt umgibt, so dass der Kodierer das Eingangs-Videobild auf einer VOP-zu-VOP-Basis verarbeiten kann.
  • Eine in MPEG-4 beschriebene VOP weist Forminformation und Texturinformation auf mit Helligkeits- und Farbartdaten, wobei die durch binäre Formsignale dargestellte Forminformation als eine Alphaebene bezeichnet wird. Die Alphaebene ist in mehrere binäre Alphablöcke aufgeteilt, wobei jeder binäre Alphablock (BAB) herkömmlicherweise 16 × 16 binäre Pixel aufweist. Jeder der binären Pixel ist entweder in einen Hintergrundpixel oder einen Objektpixel eingeteilt, wobei der Hintergrundpixel außerhalb des Objektes in der Alphaebene angeordnet ist und durch einen binären Pixelwert, beispielsweise 0, dargestellt wird, während der Objektpixel innerhalb des Objekts angeordnet ist und durch einen anderen binären Pixelwert, beispielsweise 255, dargestellt wird.
  • Jedes der binären Pixel in dem BAB kann durch Verwendung eines herkömmlichen Bit-Map-basierten Formkodierverfahrens kodiert werden, wie beispielsweise einer kontextbasierten arithmetischen Kodier-(CAE, engl. Context-based arithmetic encoding)-Technik und einer Bewegungsabschätzungs- und Ausgleichstechnik. Zum Beispiel werden in einem Intramodus alle binären Pixel eines aktuellen BAB durch Verwendung einer intra-CAE-Technik kodiert, um dadurch Intra-CAE-Daten zu erzeugen, wobei ein Kontextwert für einen binären Pixel des BAB basierend auf einer vorgegebenen Zahl, beispielsweise 10 binären Pixeln um den binären Pixel in dem BAB herum, berechnet wird. In einem Intermodus werden alle binären Pixel eines aktuellen BAB durch Verwendung einer Inter-CAE-Technik kodiert, um dadurch Inter-CAE-Daten zu erzeugen, wobei ein Kontextwert von einem binären Pixel des aktuellen BAB basierend auf beispielsweise 4 binären Pixeln, die den binären Pixel in dem aktuellen BAB umgeben, berechnet wird, und beispielsweise 5 binären Pixeln in einem Referenz-BAB, beispielsweise, innerhalb eines randbewegungsausgeglichenen BAB (siehe MPEG-4 Video Verification Model Version 7,0, International Organisation for Standardisation, Coding of Moving Pictures And Associated Audio Information, ISO/IEC JTC1/SC29/WG11 MPEG97/N1642, Bristol, April 1997, Seiten 28–30).
  • In dem herkömmlichen binären Formkodierschema wird ein BAB_Typ zur Darstellung oder Charakterisierung eines Kodiertyps eines BAB verwendet, um die Kodiereffizienz zu verbessern. Zum Beispiel wird ein BAB_Typ, wenn alle binären Pixel innerhalb eines BAB Objektpixel sind, der anzeigt, dass alle binären Pixel innerhalb des BAB Objektpixel sind, kodiert und an einen Dekodierer an einem Empfangsende anstelle der Pixeldaten selbst übertragen. Daher ist es möglich, die Kodiereffizienz durch Übertragen des BAB_Typs als die grundlegende binäre Forminformation für den BAB zu verbessern.
  • Tabelle 1
    Figure 00030001
  • Figure 00040001
  • Bezugnehmend auf Tabelle 1 sind dort 7 BAB_Typen für ein BAB veranschaulicht, wie er herkömmlicherweise im Stand der Technik verwendet wird, wobei ein Bewegungsvektorunterschied für eine Form (MVDs = Englisch: motion vector difference for shape) ein Unterschied zwischen einem Bewegungsvektor für eine Form (MVs = Englisch: motion vector for shape) und einem Bewegungsvektor-Prädiktor für eine Form (MVPs = Englisch motion vector predictor for shape) eines BAB ist (siehe MPEG-4 Video Verification Model Version 7.0, Supra, Seiten 20–23).
  • In Tabelle 1 stellt ein BAB_Typ "0" dar, dass der MVDs für einen BAB Null ist und, dass der BAB keine_Aktualisierung entspricht, d.h., dass der BAB durch einen ähnlichsten Kandidaten-BAB davon ersetzt werden kann, wohingegen ein BAB_Typ "1" beschreibt, dass der MVDs für einen BAB einen von Null verschiedenen Wert aufweist und, dass der BAB durch einen ähnlichsten Kandidaten-BAB davon ersetzt werden kann. Ein BAB des BAB_Typs "0" kann nur durch den BAB_Typ selbst dargestellt werden, während ein BAB des BAB_Typs "1" sowohl durch den BAB_Typ und dem MVDs davon dargestellt bzw. repräsentiert werden kann.
  • Ein BAB_Typ "2" repräsentiert, dass ein BAB transparent ist, d.h. alle binären Pixel innerhalb des BAB können als Hintergrundpixel behandelt werden, wohingegen ein BAB_Typ "3" zeigt, dass ein BAB opak ist, d.h. alle binären Pixel innerhalb des BAB können durch Objektpixel repräsentiert werden. Es werden keine anderen Daten neben dem BAB_Typ für die Darstellung des BAB des BAB_Typs "2" oder "3" benötigt.
  • Ein BAB_Typ "4" setzt voraus, dass alle binären Pixel innerhalb eines BAB durch eine Intra-CAE kodiert worden sind; ein BAB_Typ "5" bedeutet, dass der MVDs als Null festgelegt ist und alle binären Pixel innerhalb eines BAB durch Inter-CAE kodiert worden sind; und ein BAB_Typ "6" zeigt an, dass der MVDs einen von Null verschiedenen Wert aufweist und alle binären Pixel innerhalb eines BAB durch Inter-CAE kodiert worden sind. Ein BAB des BAB_Typs "4" oder "5" wird durch den BAB_Typ "4" oder "5" gefolgt von den Intra-CAE- oder den Inter-CAE-Daten repräsentiert. Ein BAB des BAB_Typs "6" benötigt den MVDs und die Inter-CAE-Daten zusätzlich zu dem BAB_Typ selbst.
  • Bezugnehmend auf 1 ist dort eine herkömmliche Vorrichtung zum Anpassungskodieren von Zeilensprung-Forminformation einer VOP auf einer Vollbild BAB-Basis (Rahmen-BAB-Basis, Englisch: frame BAB basis) und einer Halbbild BAB-Basis (Feld-BAB-Basis, Englisch: field BAB basis) veranschaulicht, bei welcher ein Vollbild BAB M × N Pixel darin aufweist und in einen Oben-Halbbild- und einen Unten-Halbbild BAB aufgeteilt werden kann, wobei jeder M/2 × N Pixel aufweist, wobei M eine gerade positive Ganzzahl und N eine positive Ganzzahl ist. Typischerweise weisen M und N einen Wert von 16 auf und die Oben-Halbbild- und Unten-Halbbild BAB werden durch ungerade bzw. gerade Pixelreihen des Vollbild BAB erstellt. Die Zeilensprung-Forminformation einer VOP wird in eine Vollbild-Erkennungsschaltung 10 auf der Vollbild BAB-Basis eingegeben. Die Vollbild-Erkennungsschaltung 10 untersucht, ob ein aktueller Vollbild BAB, der beispielsweise 16 × 16 binäre Pixel aufweist, als entweder transparent oder opak behandelt werden kann. Typischerweise wird ein aktueller Vollbild BAB als transparent oder opak erkannt, wenn ein erzeugter Fehler kleiner als eine vorgegebene Schwelle ist, wenn die Pixel innerhalb des aktuellen Vollbild BAB alle mit 0 oder alle mit 255 ersetzt werden. Wenn der aktuelle Vollbild BAB als entweder transparent oder opak erkannt wurde, wird der BAB_Typ "2" oder "3" an einem Übertrager (nicht gezeigt) über einen Multiplexer (MUX) 60 bereitgestellt und das Kodierverfahren des aktuellen Vollbild BAB wird beendet.
  • Wenn der aktuelle Vollbild BAB weder transparent noch opak ist, wird die Zeilensprung-Forminformation des aktuellen Vollbild BAB an eine Kodier_Typ Entscheidungs-Schaltung 20 und an einem Schalter 30 bereitgestellt. Die Kodier_Typ Entscheidungs-Schaltung 20 berechnet Vollbild- und Halbbildkorrelationen für den aktuellen Vollbild BAB, basierend auf Veränderungen der binären Pixelwerte zwischen zwei benachbarten Zeilen; ermittelt, ob ein vollbildbasiertes (rahmenbasiertes) oder ein halbbildbasiertes (feldbasiertes) Kodieren basierend auf den berechneten Vollbild- und Halbbildkorrelatioinen vorzuziehen ist; weist einen Kodier_Typ "0" dem aktuellen Vollbild BAB zu, wenn die Vollbildkorrelation größer oder gleich der Halbbildkorrelation ist und einen Kodier_Typ "1", wenn es anders ist; und stellt einen Kodier_Typ "0" oder "1" des aktuellen Vollbild BAB an dem Schalter 30 und dem MUX 60 bereit, wobei die Kodier_Typen "0" und "1" anzeigen, dass der aktuelle Vollbild BAB auf einer Vollbild BAB- bzw. einer Halbbild BAB-Basis kodiert ist. Die Vollbildkorrelationen können zum Beispiel als eine Summe von binären Pixelwertunterschieden zwischen allen möglichen zwei benachbarten Zeilen, d.h. einer ersten und einer zweiten Zeile, der zweiten und einer dritten Zeile usw. des aktuellen Vollbild BAB berechnet werden; und die Halbbildkorrelation kann als eine Summe von binären Pixelwertunterschieden zwischen allen möglichen zwei benachbarten ungeraden Zeilen berechnet werden, d.h. der ersten und der dritten Zeile, der dritten und einer fünften Zeile usw. und aller möglichen zwei benachbarten geraden Zeilen, d.h. der zweiten und einer vierten Zeile, der vierten und einer sechsten usw. Je kleiner die Summe der binären Pixelwertedifferenzen ist, desto höher ist der Grad der Korrelation.
  • Der auf dem Kodier_Typ ansprechende Schalter 30 stellt die Zeilensprung-Forminformation des aktuellen Vollbild BAB der Vollbild-Kodierschaltung 40 bereit, wenn der Kodier_Typ "0" entspricht, und der Halbbild-Kodierschaltung 50 bereit, wenn der Kodier_Typ "1" entspricht.
  • Die Vollbild-Kodierschaltung 40 wählt einen der BAB_Typen "0", "1", "4", "5" und "6" als den BAB_Typ des aktuellen Vollbild BAB aus und kodiert den aktuellen Vollbild BAB als eine Vollbildbasis entsprechend dem festgestellten BAB_Typ. Wenn der BAB_Typ als "0" festgestellt wurde, ist die Ausgabe der Vollbild-Kodierschaltung 40 an den MUX 60 nur der BAB_Typ, wohingegen, wenn der erkannte BAB_Typ einer der BAB_Typen "1", "4", "5" und "6" ist, gibt die Vollbild-Kodierschaltung 40 die kodierten Daten des aktuellen Vollbild BAB auf der Vollbildbasis an den MUX 60 aus (oder der vollbildkodierten Daten) zusammen mit dem festgestellten BAB_Typ. Die vollbildkodierten Daten weisen den kodierten MVDs und/oder die Intra/Inter-CAE-Daten auf.
  • Andererseits, wenn der aktuelle Vollbild BAB von dem Schalter 30 der Halbbild-Kodierschaltung 50 in Reaktion auf den Kodier_Typ "1" bereitgestellt wird, teilt die Halbbild-Kodierschaltung 50 den aktuellen Vollbild BAB in zwei Halbbild BAB auf, d.h. einen Oben-Halbbild- und einen Unten-Halbbild BAB; wählt einen der BAB_Typen "0", "1", "4", "5" und "6" als einen BAB_Typ für sowohl den Oben- als auch den Unten-Halbbild BAB; und kodiert die zwei Halbbild BAB einzeln auf der Halbbild-Basis entsprechend dem festgestellten BAB_Typ. Es soll festgehalten werden, dass die zwei Halbbild BAB einzeln auf der Halbbild-Basis kodiert werden, obwohl nur ein BAB_Typ den zwei Halbbild BAB zugeordnet ist. Der Halbbild BAB_Typ wird mit den halbbildkodierten Daten dem MUX 60 bereitgestellt, wobei die halbbildkodierten Daten, wenn welche vorhanden sind, zwei kodierte MVDs aufweisen und/oder die Intra/Inter-CAE-Daten der zwei Halbbild BAB. Details des Kodierschemas der Halbbild-Kodierschaltung 50 werden unter Bezugnahme auf Tabelle 2 beschrieben.
  • Der MUX 60 multiplext den BAB_Typ, den Kodier_Typ und/oder die vollbildkodierten (rahmenkodierten) oder die halbbildkodierten (feldkodierten) Daten, um die kodierten Daten für den aktuellen Vollbild BAB dem Überträger für die Übertragung derselbigen bereitzustellen. Wenn der BAB_Typ als "2" oder "3" bei der Vollbild-Erkennungsschaltung 10 festgestellt wurde, werden die kodierten Daten nur durch den BAB_Typ gestellt. Wenn der BAB_Typ "0" ist, weisen die kodierten Daten einen Kodier_Typ und den BAB_Typ auf. Wenn der BAB_Typ "1", "4", "5" oder "6" ist, weisen die kodierten Daten einen Kodier_Typ, den BAB_Typ und die vollbildkodierten oder die halbbildkodierten Daten abhängig von dem Kodier_Typ auf.
  • Tabelle 2
    Figure 00080001
  • Bezugnehmend auf Tabelle 2 sind dort BAB_Typen veranschaulicht, die für die zwei Halbbild BAB der Halbbild-Kodierschaltung 50 zugeordnet sind. Ein Oben-Halbbild BAB_Typ, d.h. ein BAB_Typ des Oben-Halbbild BAB, "Ti" und ein Unten-Halbbild BAB_Typ, d.h. ein BAB_Typ des Unten-Halbbild BAB, "Bi" entsprechen einem BAB_Typ "i", wie in Tabelle 1 definiert, wobei i eine Ganzzahl zwischen 0 und 6 ist.
  • Die Halbbild-Kodierschaltung 50 untersucht den Oben- und Unten-Halbbild BAB_Typ einzeln. Wenn die zwei Halbbild BAB_Typen als identisch mit BAB_Typ "0", "1", "4", "5" oder "6" erkannt werden, wird der erkannte BAB_Typ den zwei Halbbild BAB zugeordnet. Der BAB_Typ "2" oder "3" ist nicht den zwei Halbbild BAB zugeordnet, da der BAB_Typ "2" oder "3" auf der Vollbildbasis bei der Vollbild-Erkennungsschaltung 10 herausgeprüft wurde.
  • Wenn einer der Halbbild BAB_Typen "0" ist und der andere "1" ist, wird der BAB_Typ "1" den zwei Halbbild BAB zugeordnet. Wenn einer der zwei Halbbild BAB_Typen "6" ist und der andere "5" ist, wird der BAB_Typ "6" den zwei Halbbild BAB zugeordnet. Für die übrig bleibenden Fälle werden beide Halbbild BAB entsprechend den BAB_Typen "4", "5" und "6" kodiert und ein BAB_Typ, der wenigstens eine Anzahl von kodierten Bits erreicht, wird als der BAB_Typ der zwei Halbbild BAB zugeordnet.
  • In der herkömmlichen Vollbild-Halbbild-Anpassungskodiertechnik, wie oben beschrieben, weisen, wenn ein BAB_Typ "2" oder "3" ist, kodierte Daten für den aktuellen Vollbild BAB nur den BAB_Typ auf. Wenn der BAB_Typ als von zwei "2" oder "3" verschieden erkannt wird, wird der aktuelle Vollbild BAB durch einen BAB_Typ und einen Kodier_Typ zusammen mit vollbildkodierten oder halbbildkodierten Daten dargestellt, wenn welche vorhanden sind. Die Anpassungskodiertechnik wurde basierend auf der Tatsache entwickelt, dass die Korrelation zwischen Halbbildern größer ist, als die zwischen Vollbildern und auf der Annahme, dass zwei BAB_Typen des Oben- und Unten-Halbbild BAB einander identisch sind. Durch Ausführung der oben beschriebenen Formkodierung können extra Bits für einige BAB bei der einzelnen Darstellung des Kodier_Typ und der Kodierung der zwei Halbbild BAB unter Verwendung eines einzelnen BAB_Typen benötigt werden. Es soll festgehalten werden, dass der optimale Fall wäre, zwei Halbbild BAB einzeln basierend auf deren eigenen Halbbild BAB_Typen zu kodieren, die voneinander unterschiedlich sein können. Solche Vorkommnisse werden allerdings als selten erachtet, da die Wahrscheinlichkeit, dass die zwei Halbbild BAB einen identischen BAB_Typ teilen, in der Zeilensprung-Form-Information eines Videosignals hoch wäre. Diese Extrabits können mit Bits ausgeglichen werden, die durch Zuweisung nur eines BAB_Typ für alle zwei Halbbild BAB eingespart werden, und es kann eine erweiterte Kodiereffizienz erreicht werden.
  • Allerdings bleibt es weiterhin wünschenswert, obwohl die oben genannte Anpassungskodiertechnik in der Lage ist, die Kodiereffizienz zu verbessern, das Volumen der Übertragungsdaten weiter zu reduzieren. Wenn zum Beispiel ein BAB_Typ als "6" für zwei Halbbild BAB mit Halbbild BAB_Typen "0" und "6" festgestellt wurde, würde ein beträchtlicher Verlust an Bits auftauchen, da ein Halbbild BAB mit BAB_Typ "0", der nur durch den BAB_Typ "0" kodiert werden konnte, MVDs und Inter-CAE-Daten für seine Darstellung benötigen wird.
  • Kurzfassung der Erfindung
  • Es ist daher eine hauptsächliche Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung bereitzustellen, die in der Lage sind, das Volumen von Transmissionsdaten durch Verändern eines BAB Typ von Zeilensprung-Form-Information zu reduzieren.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung bereitzustellen, um das Volumen von Transmissiondaten durch einzelnes Aussortieren der BAB weiter zu reduzieren, die nur durch den BAB_Typ beschrieben sind.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Kodieren eines Zielblockes eines Zeilensprung-Formsignals bereitgestellt, wobei das Zeilensprung-Formsignal mehrere Bilder umfaßt, jedes Bild in eine Vielzahl von Blöcken von M × N Pixeln, die einen ersten oder einen zweiten binären Wert aufweisen, aufgeteilt ist, wobei M und N jeweils positive gerade Ganzzahlen sind, und der Zielblock entweder durch eine vollbildbasierte (rahmenbasierte, Englisch: frame based) Kodierung, um auf Basis von M × N Pixeln kodiert zu werden oder durch eine halbbildbasierte (feldbasierte, Englisch: field based) Kodierung, um auf Basis von M/2 × N Pixeln kodiert zu werden, kodiert wird, wobei der Zielblock einen der Blöcke eines zu kodierenden aktuellen Bilds repräsentiert, umfassend die folgenden Schritte:
    • (a) Feststellen, ob der Zielblock nur mit einem keine_Aktualisierung-BAB_Typ kodiert wird oder nicht, wobei der keine_Aktualisierung-BAB_Typ repräsentiert, dass der Zielblock nur durch den BAB_Typ selbst kodiert wird, was keine zusätzlichen kodierten Daten für den Zielblock erfordert;
    • (b) wenn der Zielblock nicht mit dem keine_Aktualisierung BAB_Typ kodiert wird, Auswählen entweder des vollbildbasierten (rahmenbasierten) oder des halbbildbasierten (feldbasierten) Kodier_Typs als einen Kodier_Typ basierend auf einem Korrelationsgrad zwischen dem Zielblock und seinen beiden Halbbildblöcken (Feldblöcken), wobei die beiden Halbbildblöcke (Feldblöcke) jede ungerade bzw. jede gerade Zeile des Zielblocks enthalten, wobei jeder Feldblock M/2 × N Pixel aufweist, und der Kodier_Typ anzeigt, welche einer vollbildbasierten (rahmenbasierten) und einer halbbildbasierten (feldbasierten) Kodierdisziplin zum Kodieren des Zielblocks verwendet wird;
    • (c) wenn in Schritt (b) die halbbildbasierte (feldbasierte) Kodierung ausgewählt wird, Feststellen, ob die beiden Halbbildblöcke (Feldblöcke) einer Ein_Halbbild(Feld)_keine_Aktualisierung entsprechen oder nicht, wobei die Ein_Halbbild(Feld)_keine_Aktualisierung repräsentiert, dass wenigstens einer der beiden Halbbildblöcke (Feldblöcke) durch einen ähnlichsten Kandidaten-Halbbildblock (Feldblock) ersetzt wird;
    • (d) Wenn die beiden Halbbildblöcke (Feldblöcke) als ein BAB_Typ "1" der Ein_Halbbild(Feld)_keine_Aktualisierung erkannt werden, Ermitteln von Oben oder Unten und BAB_Typ Halbbild(Feld), wobei das Oben_oder_Unten anzeigt, welche der beiden Halbbildblöcke (Feldblöcke) durch den ähnlichsten Kandidaten-Halbbildblock (Feldblock) ersetzt wird, und der BAB_Typ_Halbbild(Feld) eine Kodierbedingung des anderen, nicht durch das Oben oder Unten bezeichneten Halbbildblocks (Feldblocks) repräsentiert; und
    • (e) Multiplexen des keine_Daten-BAB_Typs, des Kodier_Typs, des BAB_Typs, des Oben_oder_Unten und/oder des BAB_Typ Halbbilds(Felds).
  • Kurzbeschreibung der Zeichnungen
  • Die obigen und andere Aufgaben und Merkmale der vorliegenden Erfindung werden durch die folgende Beschreibung bevorzugter Ausführungsbeispiele unter Bezugnahme auf die beigefügten Zeichnungen offensichtlich, in welchen:
  • 1 eine herkömmliche Vorrichtung zum Kodieren der Zeilensprung-Forminformation auf einer binären Alphablock(BAB)-Basis veranschaulicht;
  • 2 ein schematisches Blockdiagramm einer Vorrichtung zum Kodieren der Zeilensprung-Forminformation auf einer BAB-Basis gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 3 ein detailliertes Blockdiagramm einer Ein_Halbbild_keine_Aktualisierung Kodierschaltung, wie in 2 gezeigt, darstellt; und
  • 4A und 4B ein Flußdiagramm darstellen, die den BAB_Typ Kodieralgorithmus für einen BAB gemäß der vorliegenden Erfindung betreffen.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • Bezugnehmend auf 2 ist dort eine Vorrichtung zum Anpassen der Kodierung von Zeilensprung-Forminformation einer aktuellen VOP gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht, wobei die Zeilensprung-Forminformation in der Form einer binären Alphaebene ist. Die binäre Alphaebene ist in mehrere Vollbild BAB unterteilt und umrandete Vollbild BAB, die nacheinander einer keine_Aktualisierung BAB_Typ Entscheidungsschaltung 110, einer Bewegungsabschätzungsschaltung 170 und einem Vollbildspeicher 175 bereitgestellt werden. Ein umrandeter Vollbild BAB weist einen Vollbild BAB und Randpixel benachbart zu dem Vollbild BAB auf, wobei die Randpixel oben und unten Randpixel an einem oberen und einem unteren Rand darstellen mit einer Breite gleich beispielsweise 4 Pixel oberhalb bzw. unterhalb des Vollbild BAB, und linke und rechte Randpixel an einem linken und rechten Rand mit einer Breite gleich beispielsweise 2 Pixeln links bzw. rechts des Vollbild BAB. Die rechten Randpixel des umrandeten Vollbild BAB können, basierend auf den äußersten rechten Pixeln des Vollbild BAB, ausgefüllt sein. Die Randpixel können verwendet werden, um einen Zusammenhang eines Pixel in dem Vollbild BAB für sowohl die Intra-CAE und die Inter-CAE herzustellen.
  • Die Bewegungsabschätzungsschaltung 170 führt eine Bewegungsabschätzung eines aktuellen Vollbild BAB, der in einem aktuellen umrandeten Vollbild BAB enthalten ist, auf einer Vollbildbasis durch bzgl. mehrerer Kandidaten-Vollbild-BAB innerhalb einer binären Alphaebene einer Referenz, beispielsweise einem vorhergehenden Vollbild, wobei das vorhergehende Vollbild aus dem Vollbildspeicher 175 bereitgestellt wird; wählt einen vorhergesagten Vollbild BAB des aktuellen Vollbild BAB unter den Kandidaten-Vollbild-BAB, wobei der vorhergesagte Vollbild BAB der ähnlichste Kandidaten-Vollbild-BAB ist; berechnet einen Bewegungsvektorunterschied für eine Form (MVDs) des aktuellen Vollbild BAB; und stellt den MVDs und einen vorhergesagte umrandeten Vollbild BAB aus dem Vollbildspeicher 175 der keine_Aktualisierung BAB_Typ Entscheidungshaltung 110 und einer Vollbild-Kodierschaltung 140 bereit, wobei der vorhergesagte umrandetet Vollbild BAB den vorhergesagten Vollbild BAB und Randpixel mit einer Breite gleich 1 um den vorhergesagten Vollbild BAB aufweist und die Randpixel in dem vorhergesagten umrandetet Vollbild genutzt werden können, um einen Kontext eines Pixels in dem aktuellen Vollbild BAB für die Inter_CAE herzustellen. Der MVDs repräsentiert einen Unterschied zwischen einem Bewegungsvektor für eine Form (MVs) und einem Bewegungsvektor Prädiktor für eine Form (MVPs) des aktuellen Vollbild BAB, wobei der MVs eine Verschiebung zwischen dem aktuellen Vollbild BAB und dem vorhergesagten Vollbild BAB repräsentiert.
  • Die keine_Aktualisierung BAB_Typ Entscheidungsschaltung 110 untersucht, ob oder ob nicht ein BAB_Typ des aktuellen Vollbild BAB "0", "2" oder "3" entspricht. Wenn sich das Untersuchungsergebnis bestätigt, wird der BAB_Typ "0", "2" oder "3" einem Multiplexer (MUX) 160 als ein keine_Aktualisierung BAB_Typ B bereitgestellt, wobei der BAB_Typ "0", "2" oder "3" repräsentiert, dass der aktuelle Vollbild BAB nur als der BAB_Typ selbst kodiert werden kann und deshalb keine zusätzlichen Daten benötigt.
  • Insbesondere der aktuelle Vollbild BAB kann in eine Anzahl von 16 Subblöcken von 4 × 4 Pixeln unterteilt werden. Wenn alle Fehler zwischen allen Subblöcken des BAB und eines Alle_0 Subblocks kleiner oder gleich eines vorbestimmten Schwellwertes sind, können alle Pixel des BAB durch Hintergrundpixel mit einem Pixelwert "0" und BAB_Typ "2", der anzeigt "Alle_0" ist zugeteilt, repräsentiert werden, wobei der Alle_0 Subblock ein Subblock ist, dessen binäre Pixelwerte alle "0" sind. Auf ähnliche Weise wird, wenn alle binären Pixel des BAB in Objektpixel mit einem Pixelwert "255" geändert werden können, der BAB_Typ "3", der "Alle_255" anzeigt, zugewiesen. Wenn der vorgegebene Schwellwert auf "0" gesetzt ist, repräsentieren "Alle_0" und "Alle_255", dass jeder Pixel des aktuellen Vollbild BAB der Hintergrundpixel bzw. der Objektpixel ist. Demzufolge wird der BAB_Typ "0", der anzeigt "MVDs ist gleich Null und keine_Aktualisierung", zugewiesen, wenn der MVDs Null ist und alle Fehler zwischen allen Subblöcken des aktuellen Vollbild BAB und deren entsprechenden Subblöcken des vorhergesagten Vollbild BAB kleiner oder gleich dem vorgegebenen Schwellwert sind, so dass der aktuelle Vollbild BAB durch den vorhergesagten Vollbild BAB, von der Bewegungs-Abschätzungsschaltung 170 geliefert, ersetzt werden kann.
  • Wenn der keine_Aktualisierung BAB_Typ B erzeugt wird, geht das BAB_Typ Erkennungsverfahren nicht weiter, ansonsten wird der aktuelle umrandete Vollbild BAB einer Kodier_Typ Entscheidungsschaltung 120, der Vollbild-Kodierschaltung 140 und einem Halbbild BAB Erzeuger 135 bereitgestellt. Die Kodier_Typ Entscheidungsschaltung 120 berechnet Vollbild- und Halbbildkorrelationen für den aktuellen Vollbild BAB, basierend auf Veränderungen der binären Pixelwerte zwischen zwei benachbarten Zeilen; stellt fest, welcher der vollbildbasierten und halbbildbasierten Kodierung vorgezogen werden soll, basierend auf den berechneten Vollbild- und Halbbildkorrelationen; weist einen Kodier_Typ E "0" dem aktuellen Vollbild BAB zu, wenn die Vollbildkorrelation kleiner gleich der Halbbildkorrelation ist und ansonsten einen Kodier_Typ E "1"; und stellt einen Kodier_Typ E "0" oder "1" des aktuellen Vollbild BAB der Vollbild-Kodierschaltung 140, dem Halbbild BAB Erzeuger 135 und dem MUX 160 bereit, wobei der Kodier_Typ E "0" und "1" anzeigt, dass der aktuelle Vollbild BAB auf einer Vollbild- bzw. einer Halbbildbasis kodiert wurde.
  • Die Vollbild-Kodierschaltung 140 wird aktiviert, wenn der Kodier_Typ E "0" ist und stellt einen der BAB_Typen "1", "4", "5" und "6" als einen BAB_Typ des aktuellen Vollbild BAB fest, basierend auf dem aktuellen umrandeten Vollbild BAB von der Kodier_Typ Entscheidungsschaltung 120 und der MVDs und dem vorhergesagten Randvollbild BAB von der Bewegungsabschätzungsschaltung 170. Die Vollbild-Kodierschaltung 140 versorgt die MUX 160 mit dem festgestellten BAB_Typ und den vollbildkodierten Daten, wobei die vollbildkodierten Daten Daten des aktuellen Vollbild BAB basierend auf der Vollbildbasis repräsentieren. Die vollbildkodierten Daten weisen kodierten MVDs auf, wenn der BAB_Typ "1" ist; Intra-CAE-Daten, wenn der BAB_Typ "4" ist; Inter-CAE-Daten, wenn der BAB_Typ "5" ist; und kodierten MVDs und Inter-CAE-Daten, wenn der BAB_Typ "6" ist.
  • Der Halbbild BAB Erzeuger 135 wird aktiviert, wenn der Kodier_Typ E, der "1" entspricht, ihm geliefert wird. Der Halbbild BAB Erzeuger 135 teilt den aktuellen umrandeten Vollbild BAB in zwei umrandete Halbbild BAB auf, d.h. einen umrandeten Oben- und umrandeten Unten-Halbbild BAB. Der umrandete Oben-Halbbild BAB enthält vorzugsweise jede ungerade Zeile des aktuellen umrandeten Vollbild BAB und weist einen Oben-Halbbild BAB und Randpixel davon auf, wobei der Oben-Halbbild BAB aus ungeraden Reihen des aktuellen Vollbild BAB hergestellt wird. Der umrandete Unten-Halbbild BAB weist jede gerade Reihe des aktuellen umrandeten Vollbild BAB auf und weist ein Unten-Halbbild BAB und Randpixel davon auf, wobei der Unten-Halbbild BAB aus geraden Reihen des aktuellen Vollbild BAB hergestellt wird. Der Halbbild BAB Erzeuger 135 stellt die zwei umrandeten Halbbild BAB einer Eine_Halbbild_keine_Aktualisierung Entscheidungsschaltung 180 und einer Halbbild-Bewegungsabschätzungsschaltung 185 bereit.
  • Die Halbbild-Bewegungsabschätzungsschaltung 185 führt die Bewegungsabschätzung auf den Oben- und Unten-Halbbild BAB auf der Halbbildbasis aus. Genauer gesagt, empfängt die Halbbild-Bewegungsabschätzungsschaltung 185 eine binäre Alphaebene einer Referenz, beispielsweise eines vorhergehenden Vollbilds aus dem Vollbildspeicher 175 und teilt die erhaltene Alphaebene in eine Oben- und eine Unten-Alphaebene auf, wobei die Oben- und die Unten-Alphaebenen aus ungeraden bzw. geraden Reihen der erhaltenen Alphaebene aufgebaut sind. Bei der Bewegungsabschätzung des Oben-Halbbild BAB wird zuerst ein Oben-Halbbild MVPs bestimmt. Der Oben-Halbbild MVPs kann ein MVs oder ein vorher erzeugter Halbbild BAB oder Vollbild BAB benachbart dem Oben-Halbbild BAB sein. Danach wird eine Vielzahl von Kandidaten Halbbild BAB basierend auf dem Oben-Halbbild MVPs in der Oben- und der Unten-Alphaebene bestimmt, wobei der Kandidaten Halbbild BAB eine mit der eines Halbbild BAB identische Größe aufweist. Dann wird der Oben-Halbbild BAB bzgl. dem Kandidaten Halbbild BAB bewegungsabgeschätzt, um einen der Kandidaten Halbbild BAB als einen vorhergesagten Oben-Halbbild BAB zu bestimmen. Nach Festlegen des vorhergesagten Oben-Halbbild BAB wird ein MVDs für den Oben-Halbbild BAB (Oben-Halbbild MVDs) berechnet, wobei der Oben-Halbbild MVDs durch den Unterschied zwischen dem Oben-Halbbild MVPs und einem Oben-Halbbild MVs gegeben ist, wobei der Oben-Halbbild MVs die Verschiebung zwischen dem Oben-Halbbild BAB und dem vorhergesagten Oben-Halbbild BAB repräsentiert. Ausgaben für den Oben-Halbbild BAB von der Halbbild-Bewegungsabschätzungsschaltung 185 sind eine Oben-Halbbild Markierung, die die Oben- oder Unten-Alphaebene repräsentiert, bei welcher der vorhergesagte Oben-Halbbild BAB angeordnet ist, der Oben-Halbbild MVDs und ein vorhergesagter umrandeter Oben-Halbbild BAB, der aus dem Vollbildspeicher 175 erhalten wurde, wobei der vorhergesagte umrandete Oben-Halbbild BAB den vorhergesagten Oben-Halbbild BAB und Randpixel mit einer Breite gleich 1 in dem vorhergesagten Oben-Halbbild BAB aufweist. Der Unten-Halbbild BAB wird auf eine ähnliche Art und Weise, wie oben beschrieben, bewegungsabgeschätzt und eine Unten-Halbbild Markierung, ein Unten-Halbbild MVDs und ein vorhergesagter umrandeter Unten-Halbbild BAB mit einem vorhergesagten Unten-Halbbild BAB und seinen entsprechenden Randpixeln werden dem Unten-Halbbild BAB bereitgestellt. Ausgaben der Halbbild- Bewegungsabschätzungsschaltung 185 werden an die Eine_Halbbild_keine_Aktualisierung Entscheidungsschaltung 180 geleitet. Für Details der Bewegungsabschätzung eines Vollbild BAB und eines Halbbild BAB siehe beispielsweise MPEG-4-Supra. Es soll festgehalten werden, dass die Bewegungsabschätzung in einer von der oben beschriebenen abweichenden Art und Weise vorgenommen werden kann.
  • Die Eine_Halbbild_keine_Aktualisierung Entscheidungsschaltung 180 entscheidet, ob oder ob nicht einer der zwei Halbbild BAB dem BAB_Typ "0" oder "1" entspricht; und stellt ein Schaltsignal und Halbbilddaten an einem Schalter 190 bereit, wobei das Schaltsignal anzeigt, ob oder ob nicht wenigstens einer der zwei Halbbild BAB durch seinen entsprechenden vorhergesagten Halbbild BAB ersetzt werden kann, unabhängig von einem Wert des entsprechenden MVDs, und die Halbbilddaten weisen den umrandeten Oben- und Unten-Halbbild BAB des Halbbild BAB Erzeugers 135 und Ausgaben der Halbbild-Bewegungsabschätzungsschaltung 185 auf. Insbesondere überprüft die Eine_Halbbild_keine_Aktualisierung Entscheidungsschaltung 180, ob oder ob nicht ein Fehler zwischen dem Oben- oder dem Unten-Halbbild BAB und seinem entsprechenden vorhergesagten Halbbild BAB kleiner oder gleich einem vorgegebenen Schwellenwert ist, so dass der Oben- oder der Unten-Halbbild BAB durch seinen entsprechenden vorhergesagten Halbbild BAB ersetzt werden kann.
  • An dem Schalter werden die Halbbilddaten für die zwei Halbbild BAB basierend auf dem Schaltersignal geschaltet. Insbesondere repräsentiert das Schaltsignal, dass der Oben- oder der Unten-Halbbild BAB durch seinen entsprechend vorhergesagten Halbbild BAB ersetzt werden kann, wobei die Halbbilddaten einer Eine_Halbbild_keine_Aktualisierung Kodierschaltung 200 bereitgestellt werden. Ansonsten werden die Halbbilddaten einer Halbbild-Kodierschaltung 150 bereitgestellt.
  • Die Eine_Halbbild_keine_Aktualisierung Kodierschaltung 200 kodiert die zwei Halbbild BAB basierend auf einem erfinderischen Schema der vorliegenden Erfindung. Bezugnehmend auf 3 ist dort ein detailliertes Blockdiagramm der Eine_Halbbild_keine_Aktualisierung Kodierschaltung 200 in Übereinstimmung mit dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht, wobei die Halbbilddaten einer Oben_oder_Unten Entscheidungsschaltung 210 und einer Halbbild Entscheidungsschaltung 220 bereitgestellt werden.
  • Zu allererst bestimmt die Oben_oder_Unten Entscheidungsschaltung 210, ob alle Halbbild BAB dem BAB_Typ "0" oder "1" als ein Halbbild_keine_Aktualisierung entsprechen und stellt ein Oben_oder_Unten (T/B) "0" oder "1" der Halbbild Erkennungsschaltung 220 und dem MUX 160 bereit, wobei T/B "0" und "1" anzeigen, dass der Unten- und der Oben-Halbbild BAB entsprechend dem Halbbild_keine_Aktualisierung entsprechen. Wenn alle zwei Halbbild BAB dem BAB_Typ "0" oder "1" entsprechen, kann der Oben-Halbbild BAB vorzugsweise als Halbbild_keine_Aktualisierung bezeichnet werden. Die Oben_oder_Unten Erkennungsschaltung 210 kodiert den MVDs des festgestellten Halbbild_keine_Aktualisierung sogar dann, wenn der Wert davon Null ist und überträgt den kodierten MVDs an den MUX 160. Es soll festgehalten werden, dass sogar, wenn ein BAB, der als ein Halbbild_keine_Aktualisierung erkannt wurde, von dem BAB_Typ "0" ist, ihm der BAB_Typ "1" zugeordnet wird und der MVDs davon mit dem Wert 0 ebenfalls gemäß der vorliegenden Erfindung kodiert wird, wobei ein BAB des BAB_Typ "0" nur durch den BAB_Typ ohne Kodierung des MVDs davon in dem herkömmlichen Kodierschema repräsentiert wird.
  • Die Halbbild Erkennungsschaltung 220 findet den anderen Halbbild BAB, welcher nicht durch Oben_oder_Unten angezeigt wird, und bestimmt, ob ein BAB_Typ_Halbbild, d.h. BAB_Typ des anderen Halbbild BAB dem "keine_Aktualisierung" entspricht (d.h. BAB_Typ "0" oder "1"), "Alle_0" (d.h. BAB_Typ "2") oder "Alle_255" (d.h. BAB_Typ "3") basierend auf den Halbbilddaten. Wenn der BAB_Typ_Halbbild "keine_Aktualisierung", "Alle_0" oder "Alle_255" ist, wird ein Anzeigesignal S2 davon, welches anzeigt, dass ein anderer Halbbild BAB als "keine_Aktualisierung", "Alle_0" oder "Alle_255" festgelegt ist, einer BAB_Typ_Halbbild Erkennungsschaltung 260 bereitgestellt. Die Halbbild Erkennungsschaltung 220 stellt ebenfalls ein MVDs_Halbbild, d.h. der MVDs des anderen Halbbild BAB, einer MVD Kodierschaltung 240 bereit, wenn der andere Halbbild BAB "keine_Aktualisierung" entspricht. Wenn der BAB_Typ_Halbbild weder "keine_Aktualisierung", "Alle_0" noch "Alle_255" ist, wird der MVDs_Halbbild der MVD Kodierschaltung 240 bereitgestellt und die verbleibenden Halbbilddaten, d.h. ein umrandeter Halbbild BAB und vorhergesagter umrandeter Halbbild BAB des anderen Halbbild BAB wird an eine Intra- oder Inter-Erkennungsschaltung 250 geleitet.
  • Die MVD Kodierschaltung 240 versorgt die BAB_Typ_Halbbild Erkennungsschaltung 260 mit einem MVD Signal S3, das anzeigt, ob oder ob nicht der MVDs gleich "0" ist, und kodiert den MVDs_Halbbild, um den kodierten MVDs_Halbbild der Intra- oder Inter-Erkennungsschaltung 250 und dem MUX 160 bereitzustellen. Der MVDs_Halbbild ist vorzugsweise nicht kodiert, wenn der Wert davon Null ist.
  • Die Intra- oder Inter-Erkennungsschaltung 250 führt die Intra-CAE und die Inter-CAE auf dem anderen Halbbild BAB basierend auf den verbleibenden Halbbilddaten und dem kodierten MVDs_Halbbild aus; vergleicht die Anzahl von Bits der Intra-CAE Daten mit denen des kodierten MVDs_Halbbild und der Inter-CAE Daten; und wählt Daten aus, die keine größere Bit-Anzahl als ein BAC(binärer arithmetischer Code)_Halbbild haben. Die Intra- oder Inter-Erkennungsschaltung 250 stellt ein Intra/Inter-Signal S4 bereit, das anzeigt, dass der andere Halbbild BAB entweder durch die Intra-CAE oder die Inter-CAE kodiert wurde, der BAB_Typ_Halbbild Erkennungsschaltung 260 und den BAC_Halbbild dem MUX 160 bereit.
  • Die BAB_Typ_Halbbild Erkennungsschaltung 260 stellt einen BAB_Typ des anderen Halbbild BAB fest, d.h. ein BAB_Typ_Halbbild, "0", "1", "2", "3", "4", "5" oder "6" basierend auf den Signalen S2, S3 und S4 und stellt den BAB_Typ_Halbbild dem MUX 160 bereit. Insbesondere, wenn das S2 anzeigt, dass der andere Halbbild BAB "Alle_0" oder "Alle_255" entspricht, wird der BAB_Typ_Halbbild als "2" oder "3" festgestellt. Wenn das S2 repräsentiert, dass der andere Halbbild BAB "keine_Aktualisierung" entspricht und das S3 das "MVDs_Halbbild=0" repräsentiert, wird der BAB_Typ_Halbbild als "0" entschieden. Wenn die S2 und S3 zeigen, dass der andere Halbbild BAB und der MVDs_Halbbild "keine_Aktualisierung" entsprechen bzw. einem Wert, der nicht Null ist, wird der BAB_Typ_Halbbild "1" gesetzt. Wenn das S2 nicht weitergeleitet wird und das S4 anzeigt, dass der BAC_Halbbild die Intra-CAE-Daten sind, wird der BAB_Typ_Halbbild als "4" bestimmt. Wenn das S2 nicht weitergeleitet wird, während das S4 darstellt, dass der BAC_Halbbild die Inter_CAE-Daten sind und das MVDs_Halbbild durch das S3 gleich Null gefunden wird, wird der BAB_Typ_Halbbild als "5" gesetzt. Schlußendlich, wenn das S4 den Inter-CAE-Daten entspricht und das S3 einem MVDs_Halbbild mit nicht Nullwerten entspricht, wird der BAB_Typ_Halbbild als "6" entschieden.
  • Zurückkommend zu 2 stellt, wenn keiner der beiden Halbbild BAB dem BAB_Typ "0" oder "1" entspricht, die Halbbild Kodierschaltung 150 einen der BAB_Typen "4", "5" und "6" als einen BAB_Typ für beide der zwei Halbbild BAB fest, basierend auf den Halbbilddaten, die von der Ein_Halbbild_keine_Aktualisierung Entscheidungsschaltung 180 über den Schalter 190 bereitgestellt wurden. Beim Bestimmen des BAB_Typs für die zwei Halbbild BAB kann ein herkömmliches Bit-Anzahl Vergleichschema verwendet werden, wobei die Anzahl von Bits, die für die Darstellung der zwei Halbbild BAB durch das Intra-CAE Schema benötigt werden (d.h. die Anzahl von Bits zur Darstellung des BAB_Typs "4" und der Intra-CAE-Daten für die zwei Halbbild BAB) und die, die für die Darstellung der zwei Halbbild BAB durch die Inter-CAE Technik benötigt werden (d.h. die Anzahl von Bits zur Darstellung des BAB_Typs "5" oder "6", die Inter-CAE-Daten für die zwei Halbbild BAB und die kodierten MVDs für die zwei Halbbild BAB, wenn ein MVDs eines der zwei Halbbild BAB nicht Null ist) werden miteinander verglichen; und ein BAB_Typ, der einer nicht größeren Anzahl von Bits entspricht, wird als der BAB_Typ für die zwei Halbbild BAB ausgewählt. Beachte, dass der BAB_Typ "4" oder "5" als der BAB_Typ für die zwei Halbbild BAB gewählt wird, wenn beide der zwei MVDs nullwertig sind und der BAB_Typ "4" oder "6" als der BAB_Typ für die zwei Halbbild BAB festgestellt wird, wenn wenigstens einer der zwei MVDs einen Nicht-Nullwert aufweist. Das heißt, wenn ein MVDs Null ist und der andere einen Nicht-Nullwert aufweist, und der BAB_Typ als "6" festgestellt wird, werden beide MVDs kodiert. Die Halbbild Kodierschaltung 150 stellt den kodierten BAB_Typ "4", "5" oder "6" und Intra_CAE oder Inter_CAE Daten als ein BAC dem MUX 160 bereit. Die kodierten MVDs werden von der Halbbild Kodierschaltung 150 zu dem MUX 160 geleitet, wenn der BAB_Typ "6" ist.
  • Der MUX 160 multiplext den Keine_Aktualisierung BAB_Typ B, den Kodiertyp E und die kodierten Daten von der Vollbild Kodierschaltung 140, der Ein_Halbbild_keine_Aktualisierung Kodierschaltung 200 und der Halbbild Kodierschaltung 150, um multigeplexte Daten für das aktuelle Vollbild BAB einem Überträger (nicht gezeigt) zur Übertragung derselben bereitzustellen. Details des Multiplexingschemas werden unter Bezugnahme auf die Bitstromsyntax, wie in Tabelle 3 gezeigt, beschrieben.
  • Bezugnehmend auf Tabelle 3, ist dort eine beispielhafte Bitstromsyntax gemäß der vorliegenden Erfindung gezeigt.
  • Tabelle 3
    Figure 00220001
  • Figure 00230001
  • Der 1 Bit Kodier_Typ "0" zeigt an, dass die zwei Halbbild BAB als eine Einheit kodiert sind, d.h. auf einer Vollbildbasis, während der Kodier_Typ "1" anzeigt, dass die zwei Halbbild BAB einzeln kodiert wurden, d.h. auf einer Halbbildbasis.
  • Der BAB_Typ ist ein veränderbarer Längencode, beispielsweise zwischen 1 und 6 Bits. Wenn der BAB_Typ "0", "2" oder "3" entspricht, das voraussetzt, dass der aktuelle Vollbild BAB auf der Vollbildbasis kodiert ist, folgt der Kodier_Typ. Wenn der BAB_Typ "1", "4", "5" oder "6" ist, folgt der Kodier_Typ danach.
  • Der 1 Bit Oben_oder_Unten "0" zeigt an, dass der Unten-Halbbild BAB dem Halbbild Keine_Aktualisierung entspricht, während der Oben_oder_Unten "1" anzeigt, dass der Oben-Halbbild BAB dem Halbbild Keine_Aktualisierung entspricht.
  • Der BAB_Typ_Halbbild "0", "1", "2", "3", "4", "5" oder "6" repräsentiert den BAB_Typ des anderen Halbbild BAB, welcher nicht durch den Oben_oder_Unten angezeigt wird.
  • Die MVDs_x/MVDs_y mit dem Kodier_Typ "0" repräsentieren horizontale/vertikale Komponenten des MVDs für den Vollbild BAB, während die MVDs_x/MVDs_y mit dem Kodier_Typ "1" horizontale/vertikale Komponenten des Halbbild MVDs für ein Halbbild BAB, wie in Tabelle 4 gezeigt ist, repräsentieren.
  • Tabelle 4
    Figure 00240001
  • Der BAC sind die Vollbild kodierten Daten, die durch die Infra-CAE oder Inter-CAE erzeugt wurden, wenn der Kodier_Typ "0" ist.
  • Der BAC_Halbbild sind halbbildkodierte Daten für die zwei Halbbild BAB, die durch Intra-CAE oder Inter-CAE erzeugt werden, wenn der BAB_Typ "4", "5" oder "6" ist und der Kodier_Typ "1" ist. Der BAB_Halbbild sind halbbildkodierte Daten für den anderen Halbbild BAB, der durch Intra_CAE oder Inter-CAC erzeugt werden, wenn der BAB_Typ "1" ist, der Kodier_Typ "1" ist und der BAB_Typ_Halbbild "4", "5" oder "6" ist.
  • Der MVDs_x_unten/MVDs_y_unten repräsentiert die horizontale/vertikale Komponente des Halbbild MVDs für den Unten-Halbbild BAB. Der MVDs_x_Halbbild/MVDs_y_Halbbild repräsentiert die horizontale/vertikale Komponente des Halbbild MVDs für den anderen Halbbild BAB, der nicht durch Oben_oder_Unten angezeigt wird, wobei, wenn der Oben_oder_Unten "1" ist, der andere Halbbild BAB anzeigt, dass der Unten-Halbbild BAB des BAB ist, während, wenn der Oben_oder_Unten "0" ist, der andere Halbbild BAB den Oben-Halbbild BAB davon zeigt.
  • Bezugnehmend auf Tabelle 5 sind dort beispielhaft vier Anzahlen von BAB_Typen, die zwei Halbbild BAB zugeordnet sind, für den Fall veranschaulicht, dass der aktuelle Halbbild BAB auf einer Halbbild-nach-Halbbildbasis kodiert ist, wobei ein Oben- und ein Unten-Halbbild BAB_Typ "Ti" und "Bi" einem herkömmlichen BAB_Typ "i" entsprechen, wobei i eine Ganzzahl zwischen 0 und 6 ist. Es gibt keine anderen BAB_Typen "0", "2" und "3", die beiden Halbbild BAB zugeordnet sind, da "MVDs=0 und Keine_Aktualisierung", "Alle_0" und "Alle_255" bereits auf der Vollbildbasis herausgeprüft in der Keine_Aktualisierung BAB_Typ Entscheidungsschaltung 110 wurden.
  • Tabelle 5
    Figure 00260001
  • Bezugnehmend auf 4A und 4C ist dort ein Flußdiagramm betreffend den BAB_Typ Kodieralgorithmus der Zeilensprung-Forminformation auf einer BAB-Basis gemäß der vorliegenden Erfindung veranschaulicht.
  • Bei Schritt S11 wird, durch Durchführen der Bewegungsabschätzung eines aktuellen Vollbild BAB in einem aktuellen umrandeten Vollbild BAB auf einer Vollbildbasis bzgl. mehreren Kandidaten Vollbild BAB innerhalb einer binären Alphaebene einer Referenz, beispielsweise eines vorhergehenden Vollbilds, ein vorhergesagter Vollbild BAB des aktuellen Vollbild BAB ausgewählt und der MVDs des aktuellen Vollbild BAB berechnet.
  • Bei Schritt S13 wird der Keine_Aktualisierung BAB_Typ basierend auf dem aktuellen Vollbild BAB entschieden (bestimmt). Genauer gesagt, wird untersucht, ob alle Pixel innerhalb des aktuellen BAB durch alle 0 oder alle 255 ersetzt werden können, so dass nur der BAB_Typ "2" oder "3" den BAB selbst repräsentiert und, wenn nicht, wird weiterhin festgestellt, dass der MVDs des aktuellen Vollbild BAB 0 ist und der BAB durch einen vorhergesagten Vollbild BAB ersetzt wird, beispielsweise durch den ähnlichsten Kandidaten BAB, so dass nur der BAB_Typ "0" den aktuellen Vollbild BAB selbst repräsentieren kann. Wenn der aktuelle Vollbild BAB durch den Keine_Aktualisierung BAB_Typ "2", "3" oder "0" repräsentiert wird, d.h. "Alle_0", "Alle_255" oder "MVDs=0 und Keine_Aktualisierung", wird bei Schritt S14 der Keine_Aktualisierung BAB_Typ des aktuellen Vollbild BAB kodiert und es wird kein weiterer Kodieralgorithmus ausgeführt.
  • Wenn andererseits bei Schritt S16 die Vollbild- und die Halbbildkorrelation des aktuellen Vollbild BAB basierend auf den Veränderungen der binären Pixelwerte von allen zwei benachbarten Zeilen davon und allen zwei benachbarten ungeraden bzw. geraden Zeilen davon berechnet werden, so dass festgestellt wird, ob oder ob nicht die Vollbildkorrelation des aktuellen Vollbild BAB größer als die Halbbildkorrelation davon ist. Wenn das vollbildbasierte Kodieren gegenüber dem halbbildbasierten Kodieren als bevorzugt bestimmt wird, so dass der Kodier_Typ "Vollbild_Basis" ist, d.h. "0" bei Schritt S17, wird einer der BAB_Typen "1", "4", "5" und "6" als ein BAB_Typ des aktuellen Vollbild_BAB bestimmt, wobei die BAB_Typen "1", "4", "5", "6" repräsentieren, dass der aktuelle Vollbild BAB bevorzugter Weise mit "MVDs≠0 und Keine_Aktualisierung" kodiert wird, bzw. "Intra CAE", "MVDs=0 und Inter_CAE" und "MVDs≠0 und Inter CAE". Bei Schritt S18 werden der BAB_Typ "1", "4", "5" oder "6" und der Kodier_Typ "0" kodiert; und dann werden bei Schritt S19 vollbildkodierte Daten des aktuellen Vollbild BAB gemäß dem BAB_Typ "1", "4", "5" und "6" gemultiplext und das Verfahren endet, wobei die vollbildkodierten Daten den kodierten MVDs und/oder den BAC aufweisen, d.h. die Intra/Inter-CAE-Daten, die durch die Intra/Inter-CAE-Technik erzeugt wurden.
  • In der Zwischenzeit, wenn bei Schritt S16 herausgefunden wird, dass das halbbildbasierte Kodieren gegenüber dem vollbildbasieren Kodieren in Reaktion auf den Kodier_Typ "1" bevorzugt ist, wird dann bei Schritt S21 bestimmt, ob oder ob nicht die zwei Halbbild BAB des aktuellen Vollbild BAB dem Ein_Halbbild_keine_Aktualisierung entsprechen. Mit anderen Worten wird untersucht, ob ein Oben- oder ein Unten-Halbbild BAB durch einen entsprechenden vorhergesagten Halbbild BAB ersetzt werden kann. Wenn die zwei Halbbild BAB nicht zu dem Ein_Halbbild_keine_Aktualisierung passen, wird dann bei Schritt S22 der BAB_Typ "4", "5" oder "6" der zwei Halbbild BAB basierend auf dem Bitanzahl-Vergleichschema entschieden, welches die Anzahl der Bits, die für die Darstellung der zwei Halbbild BAB durch das Intra-CAC Schema benötigt werden, mit der vergleicht, die für die Darstellung der zwei Halbbild BAB durch das Inter-CAE Schema benötigt werden; bei Schritt S23 werden der Halbbild BAB_Typ "4", "5", oder "6" und der Kodier_Typ "1", der das halbbildbasierte Kodieren anzeigt, kodiert; und bei Schritt S24 werden die zwei Halbbild BAB einer nach dem anderen durch die Intra/Inter-CAE Disziplin dafür kodiert, so dass die halbbildkodierten Daten zwei MVDs für die zwei Halbbild BAB aufweisen, wenn welche vorhanden sind, und/oder die Intra/Inter-CAE Daten werden erzeugt und das Verfahren endet dann.
  • Wenn die zwei Halbbild BAB zu dem Ein_Halbbild_keine_Aktualisierung bei Schritt S21 passen, so dass die zwei Halbbild BAB dem Halbbild BAB_Typ "1" entsprechen, wird bei Schritt S25 festgestellt, dass entweder der Oben- oder der Unten-Halbbild BAB dem Halbbild_keine_Aktualisierung entspricht, so dass der Oben_oder_Unten T/B "0" oder "1" erzeugt werden kann, und dann der BAB_Typ_Halbbild, d.h. der BAB_Typ des anderen Halbbild BAB, der nicht durch den Oben_oder_Unten angezeigt wird, wird bestimmt, wobei die BAB_Typ_Halbbild "0", "1", "2", "3", "4", "5" und "6" repräsentieren, dass die anderen entsprechenden Halbbild BAB dem "MVDs_Halbbild=0 und Halbbild_keine_Aktualisierung", "MVDs_Halbbild≠0 und Halbbild_keine_Aktualisierung", "Alle_0", "Alle_255", "Intra_CAE", "MVDs_Halbbild=0 und Inter_CAE" und "MVDs_Halbbild≠0 und Inter_CAE" entsprechen. Bei Schritt S26 werden der BAB_Typ "1", der Kodier_Typ "1", der Oben_oder_Unten "0" oder "1" und der BAB_Typ_Halbbild "0", "1", "2", "3", "4", "5" oder "6" nacheinander kodiert. Bei Schritt S27 werden halbbildkodierte Daten des anderen Halbbild BAB gemultiplext und dann endet das Verfahren, wobei die halbbildkodierten Daten des anderen Halbbild BAB den MVDs_Halbbild aufweisen, wenn er vorhanden ist, und/oder die Intra/Inter-CAE-Daten des anderen Halbbild BAB.
  • Nachdem die vorliegende Erfindung nur unter Bezugnahme auf ein bestimmtes bevorzugtes Ausführungsbeispiel beschrieben wurde, können weitere Veränderungen oder Variationen ausgeführt werden, ohne den Schutzbereich der vorliegenden Erfindung, wie er in den nachfolgenden Patentansprüchen festgelegt ist, zu verlassen.

Claims (20)

  1. Verfahren zum Kodieren eines Zielblocks eines Zeilensprung-Formsignals, wobei das Zeilensprung-Formsignal eine Vielzahl von Bildern umfasst, jedes Bild in eine Vielzahl von Blöcken von M × N Pixeln, die einen ersten oder einen zweiten binären Wert aufweisen, aufgeteilt ist, wobei M und N jeweils positive gerade Ganzzahlen sind, und der Zielblock entweder durch eine rahmenbasierte Kodierung, um auf Basis von M × N Pixeln kodiert zu werden, oder durch eine feldbasierte Kodierung, um auf Basis von M/2 × N Pixeln kodiert zu werden, kodiert wird, wobei der Zielblock einen der Blöcke eines zu kodierenden aktuellen Bilds repräsentiert, umfassend die folgenden Schritte: (a) Feststellen, ob der Zielblock nur mit einem Keine_Aktualisierung-BAB_Typ kodiert wird oder nicht, wobei der Keine_Aktualisierung-BAB_Typ repräsentiert, dass der Zielblock nur durch den BAB_Typ selbst kodiert wird, was keine zusätzlichen kodierten Daten für den Zielblock erfordert; (b) wenn der Zielblock nicht mit dem Keine_Aktualisierung-BAB_Typ kodiert wird, Auswählen entweder des rahmenbasierten oder des feldbasierten Kodier_Typs als einen Kodier_Typ basierend auf einem Korrelationsgrad zwischen dem Zielblock und seinen beiden Feldblöcken, wobei die beiden Feldblöcke jede ungerade bzw. jede gerade Zeile des Zielblocks enthalten, wobei jeder Feldblock M/2 × N Pixel aufweist, und der Kodier_Typ anzeigt, welche einer rahmenbasierten und einer feldbasierten Kodierdisziplin zum Kodieren des Zielblocks verwendet wird; (c) wenn in Schritt (b) die feldbasierte Kodierung ausgewählt wird, Feststellen, ob die beiden Feldblöcke einer Ein_Feld_keine_Aktualisierung entsprechen oder nicht, wobei die Ein_Feld_keine_Aktualisierung repräsentiert, dass wenigstens einer der beiden Feldblöcke durch einen ähnlichsten Kandidaten-Feldblock ersetzt wird; (d) wenn die beiden Feldblöcke als ein BAB_Typ "1" der Ein_Feld_keine_Aktualisierung erkannt werden, Ermitteln von Oben_oder_Unten und BAB_Typ_Feld, wobei das Oben_oder_Unten anzeigt, welcher der beiden Feldblöcke durch den ähnlichsten Kandidaten-Feldblock ersetzt wird, und der BAB_Typ_Feld eine Kodierbedingung des anderen, nicht durch das Oben_oder_Unten bezeichneten Feldblocks repräsentiert; und (e) Multiplexen des Keine_Daten-BAB_Typs, des Kodier_Typs, des BAB_Typs, des Oben_oder_unten und/oder des BAB_Typ_Felds.
  2. Verfahren nach Anspruch 1, bei dem Schritt (c) die folgenden Schritte umfasst: (c1) feldbasiertes Erkennen von Bewegung für jeden der beiden Feldblöcke in Bezug auf ein oder mehrere Referenzbilder des aktuellen Bilds, um dadurch einen ähnlichsten Kandidaten-Feldblock davon zu erzeugen; (c2) Berechnen eines Feldfehlers zwischen jedem der Feldblöcke und dem ähnlichsten Kandidaten-Feldblock, um den Feldfehler jedes der Feldblöcke mit einer anderen vorgegebenen Schwelle zu vergleichen; (c3) wenn der Feldfehler des jeweiligen Feldblocks nicht größer als die vorgegebene Schwelle ist, Feststellen, dass der jeweilige Feldblock Feld_keine_Aktualisierung ist, wobei die Feld_keine_Aktualisierung repräsentiert, dass der jeweilige Feldblock durch den ähnlichsten Kandidaten-Feldblock ersetzt wird; und (c4) wenn wenigstens einer der beiden Feldblöcke der Feld_keine_Aktualisierung entspricht, Zuweisen der Ein_Feld_keine_Aktualisierung an die beiden Feldblöcke.
  3. Verfahren nach Anspruch 2, bei dem Schritt (d) die folgenden Schritte umfasst: (d1) Detektieren, ob BAB_Typ_Feld des anderen Feldblocks "2" oder "3" ist, um ein Alle_0/Alle_255-Signal zu erzeugen, wobei der BAB_Typ_Feld "2" repräsentiert, dass ein Fehler des anderen Feldblocks in Bezug auf einen ersten Referenzblock nicht größer als eine vorgegebene Schwelle ist, und der BAB_Typ_Feld "3" repräsentiert, dass ein Fehler des anderen Feldblocks in Bezug auf einen zweiten Referenzblock nicht größer als die vorgegebene Schwelle ist, wobei die Referenzblöcke jeweils M × N Pixel aufweisen und alle Pixel des ersten und zweiten Referenzblocks die ersten bzw. zweiten binären Werte sind; (d2) Setzen eines Feld_keine_Aktualisierung-Signals für den anderen Feldblock, wobei die Feld_keine_Aktualisierung repräsentiert, dass der Feldfehler für den anderen Feldblock kleiner als die vorgegebene Schwelle ist, so dass der andere Feldblock mit einem ähnlichsten Kandidaten-Feldblock ersetzt wird; (d3) Berechnen eines Feld-MVDs zwischen dem Bewegungsvektor des anderen Feldblocks und seinem Prädiktor basierend auf der feldbasierten Bewegungserkennung durch Schritt (c1) zum Erzeugen eines Feld-MVD-Signals, wobei das Feld-MVD-Signal anzeigt, ob der Feld-MVDs Null ist oder nicht; (d4) Kodieren des Feld-MVDs des anderen Feldblocks, wenn der Feld-MVDs nicht Null ist, um Feld-MVD-Daten zu erzeugen; (d5) wenn der Feldfehler nicht kleiner als die vorgegebene Schwelle ist, Erzeugen von feld-intra-kodierten Daten und von feld-inter-kodierten Daten, wobei die feld-intra-kodierten Daten durch Kodieren der Pixel des anderen Feldblocks basierend auf vorgegebenen Pixeln des aktuellen Bilds erzeugt werden und die inter-kodierten Daten durch Kodieren der Pixel des anderen Feldblocks basierend auf voreingestellten, in das aktuelle Bild und den ähnlichsten Kandidaten-Feldblock des anderen Feldblocks eingeschlossenen Pixeln bereitgestellt werden; (d6) Erzeugen eines Feld-Intra/Inter-Signals, wobei das Feld-Intra/Inter-Signal erzeugt wird, wenn entweder die feld-intra-kodierten Daten oder die feld-inter-kodierten Daten ausgewählt werden; und (d7) Ermitteln des BAB_Typ_Felds basierend auf dem Alle_0/Alle_255-Signal, dem Feld-MVD-Signal, dem Feld_keine_Aktualisierung-Signal und/oder dem Feld-Intra/Inter-Signal.
  4. Verfahren nach Anspruch 3, bei dem die intra-kodierten Daten durch ein intra-kontext-basiertes arithmetisches Kodierverfahren (CAE) und die inter-kodierten Daten durch ein Inter-CAE-Verfahren bereitgestellt werden.
  5. Verfahren nach Anspruch 1, bei dem der Keine_Aktualisierung_BAB_Typ einen BAB_Typ "2" oder "3" umfasst, wobei der BAB_Typ "2" repräsentiert, dass ein Fehler des Zielblocks in Bezug auf einen ersten Referenzblock nicht größer als eine vorgegebene Schwelle ist, und der BAB_Typ "3" repräsentiert, dass ein Fehler des Zielblocks in Bezug auf einen zweiten Referenzblock nicht größer als die vorgegebene Schwelle ist, wobei die jeweiligen Referenzblöcke M × N Pixel aufweisen und alle Pixel des ersten und zweiten Referenzblocks die ersten bzw. zweiten binären Werte sind.
  6. Verfahren nach Anspruch 5, bei dem der Keine_Aktualisierung_BAB_Typ außerdem einen BAB_Typ "0" umfasst, der repräsentiert, dass ein Bewegungsvektorunterschied für eine Form (MVDs) zwischen einem Bewegungsvektor des Zielblocks und dem seines Bewegungsvektor-Prädiktors Null ist und dass ein Fehler des Zielblocks in Bezug auf einen ähnlichsten Kandidaten-Block nicht größer als die vorgegebene Schwelle ist, wobei der ähnlichste Kandidaten-Block, der M × N Pixel aufweist, einen minimalen Fehler unter einer Vielzahl von Kandidaten-Blöcken eines oder mehrerer Referenzbilder des aktuellen Bilds ergibt.
  7. Verfahren nach Anspruch 6, bei dem ein BAB_Typ "0" durch die folgenden Schritte ermittelt wird: (a1) Bewegungserkennung für den Zielblock in Bezug auf ein oder mehrere Referenzbilder des aktuellen Bilds, um dadurch Bewegungsvektorinformation einschließlich des ähnlichsten Kandidatenblocks und des Bewegungsvektors dafür zu erzeugen; (a2) Berechnen des Fehlers zwischen dem Zielblock und dem ähnlichsten Kandidatenblock und des MVDs zwischen dem Bewegungsvektor und seinem Prädiktor; (a3) Vergleichen des MVDs und des Fehlers des Zielblocks mit Null bzw. der vorgegebenen Schwelle; (a4) wenn der Fehler nicht größer als die vorgegebene Schwelle ist, Einstufen des Zielblocks als Keine_Aktualisierung, wobei die Keine_Aktualisierung repräsentiert, dass der Zielblock mit dem ähnlichsten Kandidatenblock ersetzt wird; und (a5) wenn der MVDs Null ist und der Zielblock der Keine_Aktualisierung entspricht, erzeugen des BAB_Typs "0".
  8. Verfahren nach Anspruch 1, bei dem das Verfahren vor Schritt (e) außerdem die folgenden Schritte umfasst: (f) wenn der Kodier_Typ in Schritt (b) als die Rahmenbasis festgestellt wird, Kodieren des Zielblocks durch Anwenden der rahmenbasierten Kodierungsdisziplin, um einen BAB_Typ mit rahmenkodierten Daten zu erzeugen, wobei der BAB_Typ eine Kodierungsbedingung der rahmenkodierten Daten repräsentiert; und (g) wenn die beiden Feldblöcke nicht als der BAB_Typ der Ein_Feld_keine_Aktualisierung eingestuft werden, Kodieren der beiden Feldblöcke durch Verwenden der feldbasierten Kodierungsdisziplin zum Erzeugen eines BAB_Typs mit feldkodierten Daten, wobei der BAB_Typ eine Kodierungsbedingung der feldkodierten Daten repräsentiert.
  9. Verfahren nach Anspruch 8, bei dem der in Schritt (f) ermittelte BAB_Typ einer der BAB_Typen "1", "4", "5" und "6" ist, wobei die BAB_Typen "1", "4", "5" und "6" "MVDs≠0 und Keine_Aktualisierung", "intra_CAE", "MVDs=0 und inter_CAE" bzw. "MVDs≠0 und Keine_Aktualisierung" sind.
  10. Verfahren nach Anspruch 8, bei dem der in Schritt (g) ermittelte BAB_Typ einer der BAB_Typen "4", "5" und "6" ist, wobei die BAB_Typen "4", "5" und "6" "intra_CAE", "MVDs=0 und inter_CAE" bzw. "MVDs≠0 und Keine_Aktualisierung" sind.
  11. Vorrichtung zum Kodieren eines Zielblocks eines Zeilensprung-Formsignals, wobei das Zeilensprung-Formsignal eine Vielzahl von Bildern umfasst, jedes Bild in eine Vielzahl von Blöcken von M × N Pixeln, die einen ersten oder einen zweiten binären Wert aufweisen, aufgeteilt ist, wobei M und N jeweils positive gerade Ganzzahlen sind, und der Zielblock entweder durch eine rahmenbasierte Kodierung, um auf Basis von M × N Pixeln kodiert zu werden, oder durch eine feldbasierte Kodierung, um auf Basis von M/2 × N Pixeln kodiert zu werden, kodiert wird, wobei der Zielblock einen der Blöcke eines zu kodierenden aktuellen Bilds umfasst, wobei die Vorrichtung umfasst: eine Keine_Aktualisierung-BAB_Typ-Entscheidungsschaltung, um zu entscheiden, ob der Zielblock nur mit einem Keine_Aktualisierung_BAB_Typ kodiert wird oder nicht, wobei der Keine_Aktualisierung_BAB_Typ repräsentiert, dass der Zielblock nur durch den BAB_Typ selbst kodiert wird, was keine zusätzlichen kodierten Daten für den Zielblock erfordert; eine Kodier_Typ-Entscheidungsschaltung zum Auswählen entweder des rahmenbasierten oder des feldbasierten Kodier_Typs als einen Kodier_Typ basierend auf einem Korrelationsgrad zwischen dem Zielblock und seinen beiden Feldblöcken, wobei die beiden Feldblöcke jede ungerade bzw. jede gerade Zeile des Zielblocks enthalten und jeder Feldblock M/2 × N Pixel aufweist, und der Kodier_Typ anzeigt, ob eine rahmenbasierte Kodierdisziplin oder eine feldbasierte Kodierdisziplin zum Kodieren des Zielblocks verwendet wird; eine Ein_Feld_Keine_Aktualisierung-Entscheidungsschaltung um zu entscheiden, ob die beiden Feldblöcke einer Ein_Feld_Keine_Aktualisierung entsprechen oder nicht, wobei die Ein_Feld_Keine_Aktualisierung repräsentiert, dass wenigstens einer der beiden Feldblöcke durch einen ähnlichsten Kandidaten-Feldblock ersetzt wird; eine Ein_Feld_Keine_Aktualisierung-Kodierschaltung zum Ermitteln von Oben_oder_Unten und BAB_Typ_Feld, wobei das Oben_oder_Unten anzeigt, welcher der beiden Feldblöcke durch den ähnlichsten Kandidaten-Feldblock ersetzt wird, und der BAB_Typ_Feld eine Kodierbedingung des anderen Feldblocks repräsentiert, der nicht durch das Oben_oder_Unten bezeichnet ist; und einen Multiplexer zum Multiplexen des Keine_Daten-BAB_Typs, des Kodier_Typs, des BAB_Typs, des Oben_oder_Untens und/oder des BAB_Typ_Felds.
  12. Vorrichtung nach Anspruch 11, bei der die Ein_Feld_Keine_Aktualisierung-Entscheidungsschaltung umfasst: Mittel zum Erkennen von Bewegung für jeden der beiden Feldblöcke in Bezug auf ein oder mehrere Referenzbilder des aktuellen Bilds, um dadurch einen ähnlichsten Kandidaten-Felsblock davon zu erzeugen; Mittel zum Berechnen eines Feldfehlers zwischen jedem der Feldblöcke und dem ähnlichsten Kandidaten-Feldblock, um den Feldfehler jedes der Feldblöcke mit einer anderen vorgegebenen Schwelle zu vergleichen; Mittel zum Entscheiden, dass der jeweilige Feldblock Feld_Keine_Aktualisierung ist, wobei die Feld_Keine_Aktualisierung repräsentiert, dass der jeweilige Feldblock durch den ähnlichsten Kandidaten-Feldblock ersetzt wird; und Mittel zum Zuweisen der Ein_Feld_Keine_Aktualisierung an die beiden Feldblöcke.
  13. Vorrichtung nach Anspruch 12, bei der die Ein_Feld_Keine_Aktualisierung-Kodierschaltung umfasst: Mittel zum Detektieren, ob ein BAB_Typ_Feld des anderen Feldblocks "2" oder "3" ist, um ein Alle_0/Alle_255-Signal zu erzeugen, wobei der BAB_Typ_Feld "2" repräsentiert, dass ein Fehler des anderen Feldblocks in Bezug auf einen ersten Referenzblock nicht größer als eine vorgegebene Schwelle ist, und der BAB_Typ_Feld "3" repräsentiert, dass ein Fehler des anderen Feldblocks in Bezug auf einen zweiten Referenzblock nicht größer als die vorgegebene Schwelle ist, wobei die Referenzblöcke jeweils M × N Pixel aufweisen und alle Pixel des ersten und zweiten Referenzblocks die ersten bzw. zweiten binären Werte sind; Mittel zum Setzen eines Feld_Keine_Aktualisierung-Signals für den anderen Feldblock, wobei die Feld_Keine_Aktualisierung repräsentiert, dass der Feldfehler für den anderen Feldblock kleiner als die vorgegebene Schwelle ist, so dass der andere Feldblock mit einem ähnlichsten Kandidaten-Feldblock ersetzt wird; Mittel zum Berechnen eines Feld-MVDs zwischen dem Bewegungsvektor des anderen Feldblocks und seinem Prädiktor basierend auf der feldbasierten Bewegungserkennung zum Erzeugen eines Feld-MVD-Signals, wobei das Feld-MVD-Signal anzeigt, ob der Feld-MVDs Null ist oder nicht; Mittel zum Kodieren des Feld-MVDs des anderen Feldblocks, um Feld-MVD-Daten zu erzeugen, wenn der Feld-MVDs nicht Null ist; Mittel zum Erzeugen von feld-intra-kodierten Daten und von feld-inter-kodierten Daten, wobei die feld-intra-kodierten Daten durch Kodieren der Pixel des anderen Feldblocks basierend auf vorgegebenen Pixeln des aktuellen Bilds erzeugt werden und die feld-inter-kodierten Daten durch Kodieren der Pixel des anderen Feldblocks basierend auf voreingestellten, in das aktuelle Bild und den ähnlichsten Kandidaten-Feldblock des anderen Feldblocks eingeschlossenen Pixeln bereitgestellt werden; Mittel zum Erzeugen eines Feld-Intra/Inter-Signals, wobei das Feld-Intra/Inter-Signal erzeugt wird, wenn entweder die feld-intra-kodierten Daten oder die feld-inter-kodierten Daten ausgewählt sind; und Mittel zum Ermitteln des BAB_Typ_Felds basierend auf dem Alle_0/Alle_255-Signal, dem Feld-MVD-Signal, dem Feld_Keine_Aktualisierung-Signal und/oder dem Feld-Intra/Inter-Signal.
  14. Vorrichtung nach Anspruch 13, bei der die intra-kodierten Daten durch ein intra-kontext-basiertes arithmetisches Kodierverfahren (CAE) und die inter-kodierten Daten durch ein Inter-CAE-Verfahren bereitgestellt werden.
  15. Vorrichtung nach Anspruch 11, bei welcher der Keine_Aktualisierung-BAB_Typ einen BAB_Typ "2" oder "3" umfasst, wobei der BAB_Typ "2" repräsentiert, dass ein Fehler des Zielblocks in Bezug auf einen ersten Referenzblock nicht größer als eine vorgegebene Schwelle ist, und der BAB_Typ „3„ repräsentiert, dass ein Fehler des Zielblocks in Bezug auf einen zweiten Referenzblock nicht größer als die vorgegebene Schwelle ist, wobei die jeweiligen Referenzblöcke M × N Pixel aufweisen und alle Pixel des ersten und zweiten Referenzblocks die ersten bzw. zweiten binären Werte sind.
  16. Vorrichtung nach Anspruch 15, bei welcher der Keine_Aktualisierung-BAB_Typ außerdem einen BAB_Typ "0" umfasst, der repräsentiert, dass ein Bewegungsvektorunterschied für eine Form (MVD) zwischen einem Bewegungsvektor des Zielblocks und dem seines Bewegungsvektor-Prädiktors Null ist und dass ein Fehler des Zielblocks in Bezug auf einen ähnlichsten Kandidaten-Feldblock nicht größer als eine vorgegebene Schwelle ist, wobei der ähnlichste Kandidaten-Block, der M × N Pixel aufweist, einen minimalen Fehler unter einer Vielzahl von Kandidaten-Blöcken eines oder mehrerer Referenzbilder des aktuellen Bilds ergibt.
  17. Vorrichtung nach Anspruch 16, bei welcher der BAB_Typ "0" ermittelt wird durch: Mittel zum Bewegungserkennen für den Zielblock in Bezug auf die ein oder mehrere Referenzbilder des aktuellen Bilds, um dadurch Bewegungsvektorinformation einschließlich des ähnlichsten Kandidatenblocks und des Bewegungsvektors dafür zu erzeugen; Mittel zum Berechnen des Fehlers zwischen dem Zielblock und dem ähnlichsten Kandidatenblock und des MVDs zwischen dem Bewegungsvektor und seinem Prädiktor; und Mittel zum Vergleichen des MVDs und des Fehlers des Zielblocks mit Null bzw. der vorgegebenen Schwelle; Mittel zum Einstufen des Zielblocks als Keine_Aktualisierung, wobei die Keine_Aktualisierung repräsentiert, dass der Zielblock mit dem ähnlichsten Kandidatenblock ersetzt wird.
  18. Vorrichtung nach Anspruch 11, die außerdem umfasst: eine rahmenbasierte Kodierschaltung zum Kodieren des Zielblocks durch Anwenden der rahmenbasierten Kodierungsdisziplin zum Erzeugen eines BAB_Typs mit rahmenkodierten Daten, wobei der BAB_Typ eine Kodierungsbedingung der rahmenkodierten Daten repräsentiert; und eine feldbasierte Kodierschaltung zum Kodieren der beiden Feldblöcke durch Verwenden der feldbasierten Kodierungsdisziplin zum Erzeugen eines BAB_Typs mit feldkodierten Daten, wobei der BAB_Typ eine Kodierungsbedingung der feldkodierten Daten repräsentiert.
  19. Vorrichtung nach Anspruch 18, bei der die rahmenbasierte Kodierschaltung einen der BAB_Typen "1", "4", "5" und "6" als einen BAB_Typ des Zielblocks ermittelt, wobei die BAB_Typen "1", "4", "5" und "6" "MVDs≠0 und Keine_Aktualisierung", "intra_CAE", "MVDs=0 und inter_CAE" bzw. "MVDs≠0 und Keine_Aktualisierung" sind.
  20. Vorrichtung nach Anspruch 18, bei der die feldbasierte Kodierschaltung einen der BAB_Typen "4", "5" und "6" als einen BAB_Typ der beiden Feldblöcke ermittelt, wobei die BAB_Typen "4", "5" und "6" "intra_CAE", MVDs=0 und inter_CAE" bzw. "MVDs≠0 und Keine_Aktualisierung" sind.
DE1998637284 1998-01-31 1998-06-16 Verfahren und vorrichtung zur kodierung von zeilensprunginformationen Expired - Lifetime DE69837284T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1019980002689A KR100281329B1 (ko) 1998-01-31 1998-01-31 이진 형상 신호의 모드 신호 부호화 방법 및 그 복원 방법
KR9802689 1998-01-31
PCT/KR1998/000162 WO1999039507A1 (en) 1998-01-31 1998-06-16 Method and apparatus for coding interlaced shape information

Publications (2)

Publication Number Publication Date
DE69837284D1 DE69837284D1 (de) 2007-04-19
DE69837284T2 true DE69837284T2 (de) 2007-11-08

Family

ID=19532285

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998637284 Expired - Lifetime DE69837284T2 (de) 1998-01-31 1998-06-16 Verfahren und vorrichtung zur kodierung von zeilensprunginformationen

Country Status (8)

Country Link
US (1) US6256345B1 (de)
EP (1) EP1051849B1 (de)
JP (1) JP4033554B2 (de)
KR (1) KR100281329B1 (de)
CN (1) CN1147154C (de)
AU (1) AU746317B2 (de)
DE (1) DE69837284T2 (de)
WO (1) WO1999039507A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100523908B1 (ko) * 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
US6421386B1 (en) * 1999-12-29 2002-07-16 Hyundai Electronics Industries Co., Ltd. Method for coding digital moving video including gray scale shape information
US7023491B2 (en) * 2001-02-28 2006-04-04 Thomson Licensing Method and device for displaying frozen pictures on video display device
US7200275B2 (en) * 2001-12-17 2007-04-03 Microsoft Corporation Skip macroblock coding
CN100428803C (zh) * 2002-11-25 2008-10-22 松下电器产业株式会社 动态图像的解码方法及解码装置
US7769088B2 (en) * 2003-05-28 2010-08-03 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
DE602004017689D1 (de) * 2003-11-21 2008-12-24 Samsung Electronics Co Ltd Vorrichtung und Methode zur Erzeugung von kodierten Blockanordnungen für ein Alpha-Kanalbild sowie Alpha-Kanalkodierungs und -dekodierungsvorrichtung und -methode.
KR100543611B1 (ko) * 2004-03-02 2006-01-20 엘지전자 주식회사 인트라 압축 방법
KR101075722B1 (ko) * 2004-08-13 2011-10-21 삼성전자주식회사 이동통신시스템에서의 패킷 처리 결과 통보방법
US20060222251A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for frame/field coding
US20070206681A1 (en) * 2006-03-02 2007-09-06 Jun Xin Mode decision for intra video encoding
CN101170707B (zh) * 2007-11-08 2012-08-08 华为技术有限公司 图像格式的转换和恢复方法及装置
US8275033B2 (en) * 2008-01-15 2012-09-25 Sony Corporation Picture mode selection for video transcoding
WO2010085361A2 (en) * 2009-01-26 2010-07-29 Thomson Licensing Frame packing for video coding
US8878996B2 (en) * 2009-12-11 2014-11-04 Motorola Mobility Llc Selective decoding of an input stream

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW241416B (de) * 1992-06-29 1995-02-21 Sony Co Ltd
US5412435A (en) * 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
US6043846A (en) * 1996-11-15 2000-03-28 Matsushita Electric Industrial Co., Ltd. Prediction apparatus and method for improving coding efficiency in scalable video coding
KR100258111B1 (ko) * 1997-10-31 2000-06-01 전주범 이진형상신호적응적부호화장치
EP0921497B1 (de) * 1997-12-02 2004-03-24 Daewoo Electronics Corporation Gerät zur Kodierung binärer Figuren im Zeilensprungformat
US6081554A (en) * 1998-10-02 2000-06-27 The Trustees Of Columbia University In The City Of New York Method to control the generated bit rate in MPEG-4 shape coding

Also Published As

Publication number Publication date
KR19990066623A (ko) 1999-08-16
CN1224977A (zh) 1999-08-04
EP1051849A1 (de) 2000-11-15
KR100281329B1 (ko) 2001-02-01
AU7939198A (en) 1999-08-16
JPH11262013A (ja) 1999-09-24
JP4033554B2 (ja) 2008-01-16
EP1051849B1 (de) 2007-03-07
CN1147154C (zh) 2004-04-21
US6256345B1 (en) 2001-07-03
WO1999039507A1 (en) 1999-08-05
DE69837284D1 (de) 2007-04-19
AU746317B2 (en) 2002-04-18

Similar Documents

Publication Publication Date Title
DE69834348T2 (de) Verfahren und vorrichtung zur bewegungsvektorkodierung eines binären kontursignals
DE69837284T2 (de) Verfahren und vorrichtung zur kodierung von zeilensprunginformationen
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69233620T2 (de) Adaptive Kodierung und Dekodierung von Vollbildern und Halbbildern von Videosignalen
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
EP2198610B1 (de) Verfahren und vorrichtung zum erstellen eines kodierten ausgangsvideostroms aus mindestens zwei kodierten eingangsvideoströmen, sowie verwendung der vorrichtung
DE69333818T2 (de) Verfahren und Vorrichtung zur Bilddatenkodierung
DE69937462T2 (de) Effiziente macroblockheaderkodierung zur videokompression
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE19737805A1 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
DE69837497T2 (de) Verfahren und vorrichtung zum kodieren eines videosignals
DE19816898B4 (de) Vorrichtung und Verfahren zum adaptiven Codieren eines Bildsignals
DE19743202A1 (de) Verfahren und Vorrichtung zum Codieren eines Bewegungsvektors
DE4228221A1 (de) Vorrichtung zur aufteilung von videosignalen zwischen zwei kanaelen
DE69636529T2 (de) Verfahren zum Kodieren und Dekodieren von Bewegtbildsignalen
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE69910695T2 (de) Verfahren und Apparat zum Filtern von Bildfarbsignalen
DE19744859B4 (de) Verfahren zum Codieren eines binären Formsignals
DE10196431B4 (de) Alternative Blockreihenfolgen zur besseren Vorhersage
DE69737711T2 (de) Verfahren und Vorrichtung zur Kodierung einer Objektkontur unter Verwendung ihrer Zeitkorrelation
DE69719740T2 (de) Vorrichtung und verfahren zur bildsignalkodierung und -dekodierung sowie aufzeichnungsmedium
DE19749655B4 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors

Legal Events

Date Code Title Description
8364 No opposition during term of opposition