DE19744859B4 - Verfahren zum Codieren eines binären Formsignals - Google Patents

Verfahren zum Codieren eines binären Formsignals Download PDF

Info

Publication number
DE19744859B4
DE19744859B4 DE1997144859 DE19744859A DE19744859B4 DE 19744859 B4 DE19744859 B4 DE 19744859B4 DE 1997144859 DE1997144859 DE 1997144859 DE 19744859 A DE19744859 A DE 19744859A DE 19744859 B4 DE19744859 B4 DE 19744859B4
Authority
DE
Germany
Prior art keywords
bab
reconstructed
block
binary
pixel
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
DE1997144859
Other languages
English (en)
Other versions
DE19744859A1 (de
Inventor
Seok-Won Han
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.)
Maple Vision Technologies Inc Ca
Original Assignee
Daewoo Electronics Co Ltd
Dongbu Daewoo Electronics Corp
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, Dongbu Daewoo Electronics Corp filed Critical Daewoo Electronics Co Ltd
Publication of DE19744859A1 publication Critical patent/DE19744859A1/de
Application granted granted Critical
Publication of DE19744859B4 publication Critical patent/DE19744859B4/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • 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

Abstract

Verfahren zum Codieren eines binären Alphablocks (BAB) aus M×N binären Pixeln innerhalb eines aktuellen Bildes, basierend auf dem aktuellen Bild und einem vorhergehenden Bild, die eine Mehrzahl an BAB's enthalten, wobei M und N jeweils positive geradzahlige ganze Zahlen sind und jeder binäre Pixel einen binären Wert aufweist, der entweder einen Objektpixel oder einen Hintergrundpixel darstellt, bei welchem:
(a) jede zweite horizontale Linie des BAB's abgetastet wird, um einen ersten Block aus (M/2)×N binären Pixel zu erzeugen, der entweder von einer ersten oder einer zweiten horizontalen Linie des BAB's startet, wobei die erste horizontale Linie die oberste horizontale Linie des BAB's ist;
(b) jede zweite vertikale Linie des ersten Blockes abgetastet wird, um einen ersten Abtastblock aus (M/2)×(N/2) binären Pixeln als eine Basisschicht zu erzeugen, die entweder von einer ersten oder einer zweiten vertikalen Linie des ersten Blockes startet, wobei die erste vertikale Linie die am weitesten links...

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Codieren eines binären Formsignals ("binary shape signal"); und insbesondere ein Verfahren zum Codieren eines binären Formsignals unter Anwendung einer Kontext-basierenden Codiertechnik.
  • In digitalen Videosystemen, wie Video-Telefon- und Telekonferenz-Systemen, wird eine große Anzahl digitaler Daten zum Definieren jedes Videobildsignals bzw. Videohalbbildsignals bzw. Videoteilbildsignals benötigt, da das Videobildsignal eine Folge digitaler Daten umfaßt, welche als Pixelwerte bezeichnet werden.
  • Da jedoch die verfügbare Frequenzbandbreite eines herkömmlichen Übertragungskanals begrenzt ist, um die große Anzahl digitaler Daten darüber zu übertragen, ist es erforderlich, das Datenvolumen unter Anwendung zahlreicher Datenkompressionstechniken zu komprimieren oder reduzieren, insbesondere in dem Falle derartiger Videosignalscodierer niedriger Bit-Rate, wie Video-Telefon- und Telekonferenz-Systemen.
  • Eine von solchen Techniken zum Codieren von Videosignalen für ein Codiersystem niedriger Bit-Rate ist eine Objektorientierte Analyse-Synthese-Codiertechnik, bei welcher ein Eingangsvideobild in Objekte aufgeteilt wird; und drei Sätze an Parametern zum Definieren der Bewegungs-, der Kontur- und der Pixeldaten jedes Objektes über verschiedene Codierkanäle verarbeitet werden.
  • Ein Beispiel eines solchen Objekt-orientierten Codierschemas ist das sogenannte MPEG (Moving Picture Experts Group) Phase bzw. Standard 4 (MPEG4), das entworfen wurde, um einen audio-visuellen Codierstandard zu schaffen, der eine Inhalts-basierende Interaktivität, eine verbesserte Codiereffizienz und/oder eine universelle Zugriffsmöglichkeit in solchen Anwendungen wie eine Kommunikation bei niedriger Bit-Rate, interaktives Multimedia (z.B. Spiele, interaktives TV, etc.) und Gebietsüberwachung zu ermöglichen.
  • Gemäß dem MPEG-4 wird ein Eingangsvideobild in eine Vielzahl an Videoobjektebenen (VOE's) aufgeteilt, die Ganzheiten bzw. Dingen in einem Bitstrom entsprechen, auf die ein Bediener Zugriff haben kann und sie manipulieren kann. Eine VOE kann als ein Objekt bezeichnet durch ein Umfangsrechteck dargestellt werden, dessen Breite und Höhe kleinste Vielfache von 16 Pixeln (eine Makroblockgröße) sein kann, das jedes Objekt derart umrandet, daß der Codierer das Eingangsvideobild auf einer VOE-zu-VOE-Basis verarbeiten kann, d.h. einer Objekt-zu-Objekt-Basis.
  • Eine im MPEG-4 beschriebene VOE enthält eine Forminformation und eine Farbinformation, die aus Luminanz- und Chrominanz-Daten besteht, wobei die Forminformation beispielsweise durch eine binäre Maske dargestellt wird und auf die Luminanzdaten bezogen ist. In der binären Maske wird ein binärer Wert, z.B. 0, verwendet, um einen Pixel zu bezeichnen, d.h. einen Hintergrundpixel der außerhalb des Objektes in der VOE angeordnet ist, und der andere binäre Wert, z.B. 1, wird verwendet, um einen Pixel anzuzeigen, d.h. einen Objektpixel innerhalb des Objektes.
  • Ein binäres Formsignal, das den Ort und die Form der Objekte darstellt, kann als ein binärer Alphablock (BAB) innerhalb eines Bildes oder einer VOE ausgedrückt werden, z.B. als ein Block mit 16×16 binären Pixeln, wobei jeder binäre Pixel einen binären Wert aufweist, z.B. 0 oder 1, der entweder einen Objektpixel oder einen Hintergrundpixel darstellt.
  • Ein BAB kann unter Anwendung eines bekannten Bit-map-basierenden Formcodierverfahrens kodiert werden, wie einem Kontext-basierendem arithmetischen Codier (CAE) Verfahren (siehe MPEG-4 Video Verifikationsmodel Version 2.0, International Organization for Standardization, ISO/IEC JTC1/SC29/WG11 N1260, März 1996).
  • Beispielsweise wird in einem Intra-Modus ein BAB unter Anwendung eines bekannten CAE-Verfahrens kodiert, um dadurch einen kodierten BAB zu erzeugen. In einem Inter-Modus werden ein Bewegungsvektor, welcher die Verschiebung zwischen einem BAB innerhalb eines aktuellen Bildes (oder VOE's) und seinem ähnlichsten BAB innerhalb eines vorhergehenden Bildes (oder VOE's) darstellt, zusammen mit Fehlerdaten, welche die Unterschiede zwischen diesen darstellen, durch eine Bewegungsabschätzung und -kompensation ermittelt. Die Fehlerdaten werden unter Anwendung eines bekannten CAE-Verfahrens kodiert, um dadurch kodierte Fehlerdaten zu erzeugen. Und anschließend werden die kodierten Fehlerdaten und der Bewegungsvektor kombiniert, um dadurch einen kodierten BAB zu erzeugen.
  • Jedoch wird der kodierte, wie oben erhaltene BAB bei einem Decodierer in ein rekonstruiertes Bild dekodiert, das lediglich eine vorgegebene Auflösung aufweist. Falls ein Bild für einen BAB mit einer höheren Auflösung gewünscht wird, wird der BAB daher bekannterweise mit einer darin implementierten Skalierbarkeit kodiert, welche die Auflösung des dekodierten Bildes für den BAB graduell erhöht. D.h., daß eine Basisschicht, die ein Bild für einen BAB mit einer niedrigeren Auflösung darstellt, kodiert wird; und basierend auf der Basisschicht zusätzliche Information zum Erzeugen einer Anreicherungsschicht für den BAB addiert wird, die anschließend kodiert wird.
  • Die kodierten Daten, d.h. der kodierte, mit der Skalierbarkeit wie oben implementierte BAB, werden einem Decodierer übertragen, um dort dekodiert zu werden. Es gibt zahlreiche Möglichkeiten, derartige Daten bei einem Decodierer zu dekodieren. Eine Möglichkeit ist, daß lediglich die kodierte niedrige Schicht, beispielsweise die kodierte Basisschicht dekodiert wird, um ein Bild mit einer niedrigen Auflösung zu erhalten. Jedoch können zum Erhöhen der Auflösung des Bildes die Basisschicht und einige ihrer oberen Schichten kodiert werden. Um die Auflösung noch weiter zu erhöhen, können all die übertragenen Schichten dekodiert werden, wodurch ein Bild mit derselben Auflösung wie das Originalbild erhalten wird, unter der Annahme, daß eine niedrigere Schicht vor ihren höheren Schichten dekodiert wird, selbst wenn die höheren Schichten nicht dekodiert werden sollen.
  • Die mit einer Skalierbarkeit implementierten Codier- und Decodierverfahren, wie hier beschrieben, können nicht nur Fehler reduzieren, sondern auch den Verlust an Bits verhindern, und dadurch eine Übertragung an Bildern mit extrem hohen Auflösungen erreichen.
  • Außerdem ist es im Stand der Technik bekannt, daß es für ein effizientes CAE-Verfahren wichtig ist, ob die Basisschicht oder die Anreicherungsschicht kodiert wird.
  • In 1A bis 1C sind Sätze binärer Pixel mit deren Kontextdaten gezeigt, um das bekannte CAE-Verfahren zu erläutern. Nachfolgend wird ein Aspekt des bekannten CAE-Verfahrens mit Bezug auf 1A bis 1C beschrieben.
  • Das CAE-Verfahren ist eine Technik, BAB's innerhalb eines Bildes oder einer VOE zu kodieren. Jeder BAB ist ein Block aus M×N binären Pixeln, z.B. ein Block aus 16×16 binären Pixeln, wobei M und N jeweils positive geradzahlige ganze Zahlen sind. Die Codierfolge für die BAB's innerhalb einer VOE oder einem Bild ist gewöhnlich von einer sogenannten Rasterabtastordnung bzw. -reihenfolge abhängig.
  • In den gesamten Unterlagen soll unter dem Begriff "Bild" entweder ein Voll-, ein Halb- oder ein Teilbild verstanden werden, und unter dem Begriff "Linie" auch eine Zeile oder eine Spalte.
  • Das CAE-Verfahren berechnet erst den Kontextwert für jeden binären Pixel innerhalb eines zu kodierenden BAB's. Der Kontextwert für einen binären Pixel innerhalb eines BAB's stellt einen Index dar, der den Ort eines Wahrscheinlichkeitswertes für den binären Pixel in einer vorgegebenen Wahrscheinlichkeitstabelle mit Wahrscheinlichkeitswerten anzeigt, die dort in einer vorgegebenen Reihenfolge bzw. Ordnung gespeichert sind. Daher kann unter Bezug auf den Wahrscheinlichkeitswert, der durch den Kontextwert für den binären Pixel dargestellt wird, festgestellt werden, ob der binäre Pixel ein Hintergrundpixel mit einem binären Wert von beispielsweise 0 oder ein Objektpixel, mit einem binären Wert von beispielsweise 1 ist.
  • Danach werden alle Kontextwerte für alle binären Pixel innerhalb des BAB's kodiert, um dadurch einen kodierten BAB mit darin kodierten Kontextwerten zu erzeugen, die an einen Decodierer über einen Transmitter übertragen werden sollen.
  • Der Decodierer dekodiert die kodierten Kontextwerte, um dadurch rekonstruierte Kontextwerte zu erhalten. Basierend auf jedem rekonstruierten Kontextwert wird der Wahrscheinlichkeitswert für den entsprechenden binären Pixel bei dem Decodierer aus der Wahrscheinlichkeitstabelle ermittelt, die identisch zu derjenigen ist, wie sie in dem oben beschriebenen Codierprozeß verwendet wird, um da durch jeden binären Pixel mit einem Wert wie 1 oder 0 zu rekonstruieren, und dadurch einen rekonstruierten BAB für den BAB zu erzeugen.
  • Es ist im Stand der Technik bekannt, daß die Kontextwerte von binären Pixeln, die jeden binären Pixel umranden bei der Berechnung des Kontextwertes des binären Pixels verwendet werden können, und dadurch die Effizienz des CAE-Codierens von dem BAB zu geändert wird. Ein Verfahren zum Berechnen eines Kontextwertes für einen binären Pixel, wie es in dem bekannten CAE-Codierverfahren verwendet wird, das die Kontextwerte binärer Pixel verwendet, die den binären Pixel umranden, wird nachfolgend mit Bezug auf 1A bis 1C detaillierter beschrieben.
  • In 1A ist ein Satz binärer Pixel 100 innerhalb eines BAB's oder eines originalen BAB's dargestellt, der binäre Pixel mit Kontextwerten C0 bis C9 und einen bei der Position X angeordneten binären Pixel aufweist, der nachfolgend binärer Pixel X genannt wird. Der Satz binärer Pixel 100 wird zum Berechnen eines Kontextwertes des binären Pixels X verwendet. Im Falle eines Intra-Modus wird der Kontextwert des binären Pixels X, der als C bezeichnet wird, unter Verwendung der zehn Kontextwerte C0 bis C9 gemäß der nachfolgend gezeigten Gleichung (1) berechnet;
    Figure 00060001
  • In der G1. (1) stellt Ck den binären Wert, entweder 1 oder 0, des binären Pixels mit dem Kontextwert Ck dar.
  • In 1B ist ein Satz binärer Pixel 110 innerhalb eines BAB's in einem aktuellen Bild (oder VOE) dargestellt, wobei der Satz binärer Pixel 110 binäre Pixel mit Kontextwerten C'0 bis C'3 und einen bei der Position Y angeordneten Pixel aufweist, der nachfolgend als binärer Pi xel Y bezeichnet wird. Im Falle eines Inter-Modus werden in dem aktuellen Bild die Kontextwerte C'0 bis C'3 binärer Pixel in dem Satz binärer Pixel 110 zum Berechnen von C' verwendet, dem Kontextwert des binären Pixels Y.
  • In 1C ist ein Satz binärer Pixel 120 innerhalb eines BAB's dargestellt, der in einem ähnlichsten vorhergehenden Bild (oder VOE) des aktuellen Bildes (oder VOE's) enthalten ist, wobei im Falle des Inter-Modus Kontextwerte C'4 bis C'8 die Kontextwerte sind, die in dem vorhergehenden Bild (oder VOE) für die Berechnung des Kontextwertes C' berücksichtigt werden. Es wird angenommen, daß der binäre Pixel innerhalb des BAB in dem vorhergehenden Bild mit dem Kontextwert C'6, in 1C, dem binären Pixel Y in 1B entspricht oder auf diesen abgestimmt ist.
  • Mit Bezug auf 1B und 1C wird der Kontextwert C' unter Verwendung der Kontextwerte C'0 bis C'8 nach G1. (2) berechnet, wobei C'k den binären Wert, entweder 1 oder 0, des binären Pixels mit dem Kontextwert C'k darstellt;
    Figure 00070001
  • Und anschließend wird der Wahrscheinlichkeitswert für jeden binären Pixel innerhalb des BAB's, basierend auf dessen wie oben berechnetem Kontextwert, unter Verwendung einer vorgegebenen Wahrscheinlichkeitstabelle ermittelt, um dadurch einen rekonstruierten BAB für jeden BAB zu erzeugen, der aus binären Werten wie 1 oder 0 besteht. Der rekonstruierte BAB wird anschließend mit dem originalen BAB verglichen, um einen Fehlerdatenblock bereitzustellen, der aus Pixeln mit jeweils ersten und zweiten binären Werten, z.B. 1 und 0, besteht. In diesem Fall stellt der erste binäre Wert dar, daß der Wert eines binären Pixels in dem BAB nicht identisch zu demjenigen eines ent sprechenden binären Pixels ist, der an der gleichen Position des binären Pixels in dem rekonstruierten BAB angeordnet ist.
  • Nachfolgend wird der Fehlerdatenblock unter Anwendung eines bekannten Codierverfahrens kodiert, beispielsweise einem Referenzkontur-basierenden (RCB) Codierverfahren, um dadurch dem Decodierer über den Transmitter einen kodierten Fehlerdatenblock bereitzustellen.
  • Zusätzlich wird zum Verbessern der Codiereffizienz in dem bekannten CAE-Verfahren eine Vielzahl an Modus-Signalen kodiert, die auf einer BAB-zu-BAB-Basis übertragen werden sollen, anstatt all die kodierten Kontextwerte für binäre Pixel des BAB's zu übertragen. Beispielsweise kann gemäß einem bekannten Modus-Codierverfahren ein Inter/Intra-Modus-Signal, das anzeigt, ob sich der Codierer in dem Inter- oder dem Intra-Modus befindet, ein Modus-Signal, das anzeigt, daß all die Pixel des BAB entweder Hintergrund- oder Objektpixel sind, und ein Modus-Signal, das anzeigt, daß ein Bewegungsvektor in dem Inter-Modus gleich 0 ist, für die Übertragung kodiert werden. Der Decodierer erzeugt einen rekonstruierten BAB so nah wie möglich an dem originalen BAB, basierend auf den kodierten Kontextwerten, dem kodierten Fehlerdatenblock und den kodierten Modus-Signalen, wie oben beschrieben.
  • Jedoch ist es in dem oben genannten bekannten CAE-Verfahren unausweichlich, eine beträchtliche Anzahl an Datenbits zuzuweisen, um den BAB zu kodieren und ihn anschließend zu übertragen, da eine erhebliche Anzahl an Fehlerdaten existiert, welche die Differenz zwischen dem rekonstruierten und dem originalen BAB darstellen.
  • Und das bekannte oben beschriebene Modus-Kodierverfahren hat Beschränkungen beim Erhöhen der Kodiereffizienz für den BAB.
  • Es ist Ziel der Erfindung, ein Kontext-basierendes Verfahren zum Codieren eines binären Formsignals zu schaffen, das die Codiereffizienz weiter erhöhen kann.
  • Die Erfindung erreicht dieses Ziel mit dem Gegenstand des Anspruchs 1. Weitere bevorzugte Ausführungsbeispiele der Erfindung sind in den Unteransprüchen beschrieben.
  • Nach Anspruch 1 ist ein Verfahren zum Codieren eines binären Alphablocks (BAB) aus M×N binären Pixeln innerhalb eines aktuellen Bildes geschaffen, basierend auf dem aktuellen Bild und einem vorhergehenden Bild, das eine Mehrzahl an BAB's enthält, wobei M und N jeweils positive geradzahlige ganze Zahlen sind, wobei jeder binäre Pixel einen binären Wert aufweist, der entweder einen Objektpixel oder einen Hintergrundpixel darstellt, bei welchem:
    • (a) jede zweite horizontale Linie des BAB's abgetastet wird, um einen ersten Block aus (M/2)×N binären Pixel zu erzeugen, der entweder von einer ersten oder einer zweiten horizontalen Linie des BAB's startet, wobei die erste horizontale Linie die oberste horizontale Linie des BAB's ist;
    • (b) jede zweite vertikale Linie des ersten Blockes abgetastet wird, um einen ersten Abtastblock aus (M/2)×(N/2) binären Pixeln als eine Basisschicht zu erzeugen, die entweder von einer ersten oder einer zweiten vertikalen Linie des ersten Blockes startet, wobei die erste vertikale Linie die am weitesten links liegende Linie des ersten Blockes ist;
    • (c) ein rekonstruierter erster Block aus (M/2)×N binären Pixel erzeugt wird, indem eine Anzahl an (N/2) rekonstruierter vertikaler Linien sequentiell an Positionen vertikaler nicht in dem Schritt (b) abgetasteter Linien unter der Bedingung eingefügt werden, daß die Anzahl an (N/2) vertikaler Linien des ersten Abtastblockes an Positionen der in Schritt (b) abgetasteten vertikalen Linien angeordnet werden, wobei die rekonstruierten vertikalen Linien, basierend auf vertikalen Linien des ersten Abtastblockes, erzeugt werden, und jeder binäre Pixel der re konstruierten vertikalen Linien, der als ein erster Zielpixel bezeichnet wird, unter Verwendung eines entsprechenden ersten Kontextwertes, basierend auf einer vorgegebenen Wahrscheinlichkeitstabelle, erzeugt wird, wobei der entsprechende erste Kontextwert für den ersten Zielpixel unter Verwendung der Kontextwerte von 8 binären Pixeln berechnet wird, die einen binären Pixel, der an einer identischen Position zu derjenigen des ersten Zielpixels innerhalb des vorhergehenden Bildes angeordnet ist, und 7 binäre Pixel umfassen, die jeweils an einer oberen linken, linken, unteren linken, oberen, oberen rechten, rechten und unteren rechten Position des ersten Zielpixels innerhalb des rekonstruierten ersten Blockes angeordnet sind; und
    • (d) ein rekonstruierter BAB erzeugt wird, der als ein erster rekonstruierter BAB bezeichnet wird, aus M×N binären Pixeln, indem eine Anzahl an (M/2) rekonstruierter horizontaler Linien sequentiell an Positionen von nicht in dem Schritt (a) abgetasteten horizontalen Linien unter der Bedingung eingefügt werden, daß eine Anzahl an (M/2) horizontaler Linien des rekonstruierten ersten Blockes an Positionen der in dem Schritt (a) abgetasteten horizontalen Linien angeordnet werden, wobei die rekonstruierten horizontalen Linien, basierend auf den horizontalen Linien des rekonstruierten ersten Blockes, erzeugt werden, und jeder binäre Pixel, der als ein zweiter Zielpixel bezeichnet wird und unter Verwendung eines entsprechenden zweiten Kontextwertes, basierend auf einer vorgegebenen Wahrscheinlichkeitstabelle erzeugt wird, wobei der entsprechende zweite Kontextwert für den zweiten Zielpixel unter Verwendung der Kontextwerte von 8 binären Pixeln berechnet wird, die einen binären Pixel, der an einer identischen Position zu derjenigen des zweiten Zielpixels innerhalb des vorhergehenden Bildes angeordnet ist, und 7 binäre Pixel umfassen, die jeweils an einer oberen linken, oberen, oberen rechten, linken, unteren linken, unteren, unteren rechten Position des zweiten Zielpixels innerhalb des rekonstruierten BAB's angeordnet sind.
  • Die Erfindung und weitere Vorteile der Erfindung werden nunmehr anhand bevorzugter Ausführungsbeispiele mit Bezug auf die beigefügte Zeichnung näher erläutert. In der Zeichnung zeigen:
  • 1A bis 1C Sätze binärer Pixel, die mit ihren Kontextwerten markiert sind, um ein bekanntes Kontextbasierendes arithmetisches Codier (CAE) Verfahren zu beschreiben;
  • 2A bis 2D Sätze binärer Pixel, die mir ihren Kontextwerten markiert sind, um ein Kontext-basierendes arithmetisches Codier (CAE) Verfahren gemäß der vorliegenden Erfindung zu erläutern.
  • Gemäß der vorliegenden Erfindung ist ein Verfahren zum Codieren eines binären Formsignals unter Anwendung eines Kontext-basierenden arithmetischen Codier (CAE) Verfahrens geschaffen. In 2A bis 2D sind Sätze binärer Pixel gezeigt, die mir ihren Kontextwerten markiert sind, die für die Beschreibung eines CAE-Verfahrens gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung herangezogen werden.
  • Nachfolgend wird mit Bezug auf 2A bis 2D das CAE-Verfahren zum Codieren eines binären Alphablocks (BAB) oder eines originalen BAB's aus M×N binären Pixeln, z.B. 16×16 binären Pixeln, innerhalb eines aktuellen Bildes oder einer Video-Objektebene (VOE) beschrieben, basierend auf einem aktuellen und einem vorhergehenden Bild, welche eine Mehrzahl an BAB's enthalten, wobei jeder binäre Pixel einen binären Wert aufweist, der entweder einen Objektpixel oder einen Hintergrundpixel darstellt, und M und N jeweils positive geradzahlige ganze Zahlen sind.
  • Zum Codieren des BAB's aus M×N binären Pixeln wird der BAB erst abgetastet oder sub-abgetastet. In einem horizontalen Abtastprozeß für den BAB wird jede zweite horizontale Linie des BAB's abgetastet, um einen ersten Block aus (M/2)×N binären Pixeln zu erzeugen, der entweder von einer ersten oder einer zweiten horizontalen Linie des BAB's startet, wobei die erste horizontale Linie die oberste horizontale Linie des BAB's ist. Anschließend wird in einem vertikalen Abtastprozeß für den ersten Block jede zweite vertikale Linie des ersten Blockes abgetastet, um einen ersten Abtastblock aus (M/2)×(N/2) binären Pixeln als eine Basisschicht zu erzeugen, die von einer ersten oder einer zweiten vertikalen Linie des ersten Blockes startet, wobei die erste vertikale Linie die am weitesten links liegende vertikale Linie des ersten Blockes ist. Die Basisschicht wird unter Anwendung eines bekannten CAE-Verfahrens kodiert, um dadurch eine kodierte Basisschicht bereitzustellen.
  • Genauer gesagt, wird im Falle eines Intra-Modus der erste Abtastblock, d.h. die Basisschicht, unter Anwendung eines bekannten Bit-map-basierenden Codierverfahrens, beispielsweise eines CAE-Verfahrens, kodiert, um dadurch die kodierte Basisschicht bereitzustellen. Und im Falle eines Inter-Modus werden erste Abtastblöcke auf dieselbe Art erhalten, indem die ersten Abtastblöcke innerhalb des aktuellen Bildes, wie oben beschrieben, basierend auf entsprechenden BAB's innerhalb des vorhergehenden Bildes erzeugt und anschließend die ersten Abtastblöcke innerhalb des vorhergehenden Bildes gespeichert werden. Danach wird ein erster Abtastblock innerhalb des vorhergehenden Bildes, der dem ersten Abtastblock in dem aktuellen Bild am ähnlichsten ist, als ein vorhergesagter erster Abtastblock durch Vergleichen des ersten Abtastblockes innerhalb des aktuellen Bildes mit den ersten Abtastblöcken innerhalb des vorhergehenden Bildes ermittelt.
  • Anschließend wird ein Bewegungsvektor ermittelt, der durch einen zweidimensionalen Vektor mit einer horizontalen und einer vertikalen Komponente ausgedrückt wird, wobei der Bewegungsvektor eine Verschiebung zwischen dem ersten Abtastblock innerhalb des aktuellen Bildes und dem vorhergesagten ersten Abtastblock innerhalb des vorhergehenden Bildes darstellt. Auch der Bewegungsvektor wird kodiert, um dadurch einen kodierten Bewegungsvektor zu erzeugen. Fehlerdaten, welche die Differenz zwischen dem ersten Abtastblock innerhalb des aktuellen Bildes und dem vorhergesagten ersten Abtastblock darstellen, werden kodiert, um dadurch kodierte Fehlerdaten zu erzeugen. Anschließend werden der kodierte Bewegungsvektor und die kodierten Fehlerdaten kombiniert, um dadurch die kodierte Basisschicht bereitzustellen.
  • Zusätzlich wird ein rekonstruierter erster Abtastblock innerhalb des aktuellen Bildes ermittelt, basierend auf den kodierten Fehlerdaten und dem vorhergesagten ersten Abtastblock, wobei der rekonstruierte erste Abtastblock innerhalb des aktuellen Bildes gespeichert wird und anschließend in einem Bewegungsabschätzungsprozeß für einen ersten Abtastblock in dem nachfolgenden Bild verwendet wird.
  • Nachfolgend wird ein Anreicherungsschicht-Codierprozeß für den BAB beschrieben. Zuerst wird in dem Intra-Modus ein rekonstruierter BAB unter Anwendung eines bekannten Rekonstruktionsverfahrens ermittelt, beispielsweise einer Abtastdurchschußtechnik ("Scan Interleaving Technique") (SI), welche ein bekanntes CAE-Verfahren anwendet. Somit wird ein erster rekonstruierter Block aus (M/2)×N binären Pixeln unter Anwendung, z.B. einer SI-Technik erzeugt, welche ein bekanntes CAE-Verfahren anwendet. Genauer gesagt, wird der rekonstruierte erste Block durch sequentielles Einfügen einer Anzahl von (N/2) rekonstruierten vertikalen Linien an Positionen von vertikalen Linien, die in dem vertikalen Abtastprozeß für den ersten Block nicht abgetastet wurden, unter der Bedingung erzeugt, daß die Anzahl an (N/2) vertikalen Linien des ersten Abtastblockes an Positionen der vertikalen Linien angeordnet werden, die in dem vertikalen Abtastprozeß abgetastet wurden, wobei die rekonstruierten vertikalen Linien basierend auf vertikalen Linien des ersten Abtastblockes erzeugt werden und jeder binäre Pixel der rekonstruierten vertikalen Linien unter Verwendung eines hierzu entspre chenden Kontextwertes ermittelt wird, welcher unter Anwendung eines bekannten CAE-Verfahrens erzeugt wird.
  • Anschließend wird ein rekonstruierter BAB aus M×N binären Pixeln durch sequentielles Einfügen einer Anzahl an (M/2) rekonstruierten horizontalen Linien an Positionen von horizontalen Linien erzeugt, welche nicht in dem horizontalen Abtastprozeß für den BAB abgetastet wurden, unter der Bedingung, daß die Anzahl an (M/2) horizontaler Linien des rekonstruierten ersten Blockes an Positionen der horizontalen Linien angeordnet werden, welche in dem horizontalen Abtastprozeß abgetastet wurden, wobei rekonstruierte horizontale Linien, basierend auf horizontalen Linien des rekonstruierten ersten Blockes erzeugt werden und jeder binäre Pixel des rekonstruierten horizontalen Linien unter Verwendung eines hierzu entsprechenden Kontextwertes ermittelt wird, welcher unter Anwendung eines bekannten CAE-Verfahrens erzeugt wird.
  • Zwischenzeitlich wird im Falle des Inter-Modus ein rekonstruierter BAB unter Anwendung eines Rekonstruktionsverfahrens gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erhalten. Genauer gesagt, wird ein rekonstruierter erster Block durch sequentielles Einfügen einer Anzahl an (N/2) rekonstruierter vertikaler Linien an Positionen von vertikalen Linien erzeugt, welche nicht in dem vertikalen Abtastprozeß für den ersten Block abgetastet wurden, unter der Bedingung, daß die Anzahl an (N/2) vertikaler Linien des ersten Abtastblockes an Positionen der vertikalen Linien angeordnet sind, welche in dem vertikalen Abtastprozeß abgetastet wurden, wobei die rekonstruierten vertikalen Linien basierend auf den vertikalen Linien des ersten Abtastblockes erzeugt werden, und jeder binäre Pixel der rekonstruierten vertikalen Linien unter Verwendung eines hierzu entsprechenden Kontextwertes ermittelt wird, welcher unter Anwendung eines CAE-Verfahrens gemäß der vorliegenden Erfindung erzeugt wird.
  • Anschließend wird ein rekonstruierter BAB aus M×N binären Pixeln durch sequentielles Einfügen einer Anzahl an (M/2) rekonstruierter horizontaler Linien an Positionen der horizontalen Linien erzeugt, welche nicht in dem horizontalen Abtastprozeß für den BAB abgetastet wurden, unter der Bedingung, daß die Anzahl an (M/2) horizontaler Linien des rekonstruierten ersten Blockes an Positionen der horizontalen Linien angeordnet werden, welche in dem horizontalen Abtastprozeß abgetastet wurden, wobei die rekonstruierten horizontalen Linien basierend auf den horizontalen Linien des rekonstruierten ersten Blockes erzeugt werden und jeder binäre Pixel der rekonstruierten horizontalen Linien unter Verwendung eines hierzu entsprechenden Kontextwertes erzeugt wird, der unter Anwendung des CAE-Verfahrens gemäß der vorliegenden Erfindung erzeugt wurde.
  • Das CAE-Verfahren gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird nachfolgend detaillierter beschrieben. Nachfolgend wird jeder binäre Pixel der rekonstruierter vertikalen Linien als ein erster Zielpixel bezeichnet, und jeder binäre Pixel der rekonstruierten horizontalen Linien als ein zweiter Zielpixel. Außerdem wird aus Gründen der Einfachheit angenommen, daß sowohl die horizontalen als auch die vertikalen Linien, die wie oben abgetastet wurden, nachfolgend geradzahlige Linien sind.
  • Mit Bezug auf 2A und 2B sind Sätze binärer Pixel 200 und 205 dargestellt, wobei nicht gestrichelte Bereiche in den Sätzen binärer Pixel 200 und 205 Sätze binärer Pixel von rekonstruierten ersten Blöcken jeweils innerhalb des aktuellen Bildes und einem vorhergehenden Bild darstellen; und ein gestrichelter Bereich in dem Satz binärer Pixel 200 einen Satz binärer Pixel darstellt, die als Pixel rekonstruierter horizontaler Linien rekonstruiert werden und ein gestrichelter Bereich in dem Satz binärer Pixel 205 einen Satz binärer Pixel darstellt, die als Pixel rekonstruierter horizontaler Linien innerhalb des vorhergehenden Bildes rekonstruiert werden.
  • In 2A ist ein erster Zielpixel A dargestellt, wobei V0 bis V3 und V5 bis V7 die Kontextwerte der binären Pixel darstellen, welche jeweils an einer oberen linken, linken, unteren linken, oberen und oberen rechten, rechten, unteren rechten Position des erste Zielpixels A innerhalb des rekonstruierten ersten Blockes angeordnet sind, wie es dort gezeigt ist. Diese Kontextwerte sind zuvor bekannt. Jedoch ist der Kontextwert des binären Pixels unterhalb des ersten Zielpixels A nicht bekannt und bleibt daher leer.
  • Der Kontextwert des ersten Zielpixels A, der nachfolgend als ein erster Kontextwert V bezeichnet wird, wird unter Verwendung der Kontextwerte V0 bis V3 und V5 bis V7 und eines Kontextwertes eines binären Pixels, der an einer identischen Position zu derjenigen des ersten Zielpixels A in dem vorhergehenden Bild (oder VOE) angeordnet ist, welcher wie in 2B dargestellt als V4 bezeichnet wird, gemäß nachfolgender Gl. (3) berechnet;
    Figure 00160001
  • In Gl. (3) stellt Vk einen binären Wert, entweder 1 oder 0, des binären Pixels mit dem Kontextwert Vk dar. Falls es keinen binären Pixel mit dem Kontextwert Vk gibt, wird Vk zu 0 gesetzt. Der gemäß G1. (3) berechnete erste Kontextwert V kann Wert von 0 bis 255 annehmen. Auf diese Weise werden die Kontextwerte von allen binären Pixeln auf den rekonstruierten vertikalen Linien berechnet, deren binäre Werte nicht bekannt sind. Anschließend wird durch Nachsehen berechneter Kontextwerte in einer vorgegebenen Wahrscheinlichkeitstabelle der rekonstruierte erste Block erzeugt.
  • In dem oben beschriebenen bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist k, welche die Ordnung bzw. Reihenfolge des Kontextwertes Vk unter den beim Berechnen des ersten Kontextwertes des ersten Zielpixels A verwendeten acht Kontextwerten darstellt, einer solchen Ordnung bzw. Reihenfolge gefolgt, daß eine linke vertikale Linie und eine obere horizontale Linie zuerst kommen. Dies kann beispielsweise in eine sogenannte Rasterabtastordnung bzw. -reihenfolge geändert werden, in deren Fall die vorgegebene Wahrscheinlichkeitstabelle sich entsprechend ändert.
  • Mit Bezug auf 2C und 2D sind Sätze binärer Pixel 210 und 215 in rekonstruierten BAB's jeweils innerhalb des aktuellen und des vorhergehenden Bildes dargestellt. In 2C ist ein zweiter Zielpixel B dargestellt, wobei V'0 bis V'3 und V'5 bis V'7 die Kontextwerte der binären Pixel darstellen, die jeweils an einer oberen linken, oberen, oberen rechten, linken und unteren linken, unteren, unteren rechten Position des zweiten Zielpixels B angeordnet sind, wie dort gezeigt. Diese Kontextwerte sind zuvor bekannt. Jedoch ist der Kontextwert des binären Pixels rechts zum zweiten Zielpixel B nicht bekannt und bleibt daher leer.
  • Der Kontextwert des zweiten Zielpixels B, der nachfolgend als ein zweiter Kontextwert V' bezeichnet wird, wird unter Verwendung der Kontextwerte V'0 bis V'3 und V'5 bis V'7 und eines Kontextwertes eines binären Pixels, der an einer identischen Position zu derjenigen des zweiten Zielpixels B innerhalb des vorhergehenden Bildes (oder VOE's) angeordnet ist, welcher wie in 2D dargestellt als V'4 bezeichnet wird, gemäß der nachfolgenden G1. (4) berechnet;
    Figure 00170001
  • In der G1. (4) stellt V'k einen binären Wert, entweder 1 oder 0, des binären Pixels mit dem Kontextwert V'k dar. Falls es keinen binären Pixel mit dem Kontextwert V'k gibt, wird V'k zu 0 gesetzt. Der gemäß G1. (4) berechnete zweite Kontextwert von V' kann Werte von 0 bis 255 annehmen. Auf diese Weise werden die Kontextwerte von allen binären Pixeln auf den rekonstruierten horizontalen Linien berechnet, deren binäre Werte nicht bekannt sind. Anschließend wird durch Nachsehen berechneter Kontextwerte in einer vorgegebenen Wahrscheinlichkeitstabelle der rekonstruierte BAB erzeugt.
  • In dem oben beschriebenen bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist k, welche die Ordnung bzw. Reihenfolge der Kontextwerte V'k unter den bei der Berechnung des zweiten Kontextwertes des zweiten binären Pixels B verwendeten acht Kontextwerte darstellt, einer Rasterabtastordnung bzw. -reihenfolge gefolgt. Dies kann beispielsweise in eine Ordnung bzw. Reihenfolge geändert werden, bei welcher eine obere horizontale Linie und eine linke vertikale Linie zuerst kommen. In diesem Fall ändert sich die vorgegebene Wahrscheinlichkeitstabelle entsprechend. Folglich sei hier bemerkt, daß gespeicherte Ordnungen bzw. Reihenfolgen der Kontextwerte in der vorgegebenen Wahrscheinlichkeitstabelle unter der Bedingung geändert werden können, daß die vorgegebene Wahrscheinlichkeitstabelle entsprechend der Ordnungen bzw. Reihenfolgen vorbereitet wurde.
  • In dem Inter-Modus kann der rekonstruierte BAB, der gemäß dem CAE-Verfahren gemäß der vorliegenden Erfindung erhalten wird, das als eine Art Interpolationsverfahren bezeichnet werden kann, Fehler zwischen dem rekonstruierten BAB und dem originalen BAB im Vergleich zu einem bekannten Verfahren reduzieren. Der rekonstruierte BAB, der unter Anwendung eines Interpolationsverfahrens gemäß der vorliegenden Erfindung erhalten wird, wird nachfolgend als einer erster rekonstruierter BAB bezeichnet.
  • Jedoch kann in manchen Fällen in dem Inter-Modus ein CAE-Verfahren gemäß der vorliegenden Erfindung unter Verwendung eines Einfügeverfahrens anstelle eines solchen Interpolationsverfahrens den Fehler zwischen dem rekonstruierten und dem originalen BAB weiter reduzieren. Folglich wird gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung unter dem Einfüge- und dem Interpolationsverfahren das vorteilhaftere ausgewählt, um die Codiereffizienz zu erhöhen.
  • Beispielsweise kann in dem Inter-Modus ein rekonstruierter BAB aus M×N binären Pixeln unter Anwendung eines Einfügeverfahrens erhalten werden, das nachfolgend beschrieben wird. Genauer gesagt, wird zuerst jeder der ersten Abtastblöcke aus (M/2)×(N/2) binären Pixeln innerhalb des vorhergehenden Bildes (oder VOE's) von jedem entsprechenden ersten Block aus (M/2)×N binären Pixeln innerhalb des vorhergehenden Bildes (oder VOE's) subtrahiert, um zweite Abtastblöcke aus (M/2)×(N/2) binären Pixeln innerhalb des vorhergehenden Bildes (oder VOE's) zu erzeugen und zu speichern. Jeder der entsprechenden ersten Blöcke innerhalb des vorhergehenden Bildes (oder VOE's) wird von jedem der entsprechenden BAB's innerhalb des vorhergehenden Bildes (oder VOE's) subtrahiert, um zweite Blöcke aus (M/2)×N binären Pixeln innerhalb des vorhergehenden Bildes (oder VOE's) zu erzeugen und zu speichern.
  • Ein zweiter Abtastblock aus (M/2)×(N/2) binären Pixeln innerhalb des aktuellen Bildes (oder VOE's) wird durch Subtrahieren des ersten Abtastblockes aus (M/2)×(N/2) binären Pixeln von dem ersten Block aus (M/2)×N binären Pixeln ermittelt, der basierend auf einem BAB oder einem originalen BAB innerhalb des aktuellen Bildes (oder VOE's) ermittelt wird. Anschließend wird, basierend auf dem Bewegungsvektor ein dem zweiten Abtastblock innerhalb des aktuellen Bildes ähnlichster zweiter Abtastblockier unter den zweiten Abtastblöcken innerhalb des vorherge henden Bildes als ein vorhergesagter zweiter Abtastblock ermittelt.
  • Ein rekonstruierter erster Block innerhalb des aktuellen Bildes wird durch sequentielles Anordnen oder Einfügen vertikaler Linien des vorhergesagten zweiten Abtastblockes als dessen ungeradzahlige vertikale Linie unter der Bedingung erzeugt, daß vertikale Linien des ersten Abtastblockes innerhalb des aktuellen Bildes als dessen geradzahlige vertikale Linien angeordnet werden. Als Ergebnis wird der rekonstruierte erste Block aus (M/2)×N binären Pixeln innerhalb des aktuellen Bildes durch das Einfügeverfahren bereitgestellt.
  • Danach wird in dem Inter-Modus ein zweiter Block aus (M/2)×N binären Pixeln innerhalb des aktuellen Bildes (oder VOE's) durch Subtrahieren des ersten Blockes aus (M/2)×N binären Pixeln von dem BAB aus M×N binären Pixeln erhalten, und anschließend wird der zweite Block abgespeichert. Dann wird, basierend auf dem Bewegungsvektor, ein dem zweiten Block innerhalb des aktuellen Bildes ähnlichster zweiter Block unter den zweiten Blöcken innerhalb des vorhergehenden Bildes als ein vorhergesagter zweiter Block ermittelt. Ein rekonstruierter BAB aus M×N binären Pixeln wird durch sequentielles Anordnen oder Einfügen horizontaler Linien des vorhergesagten zweiten Blockes als dessen ungeradzahlige horizontale Linien unter der Bedingung erzeugt, daß horizontale Linien des BAB innerhalb des aktuellen Bildes als dessen ungeradzahlige horizontale Linien angeordnet werden. Als Ergebnis wird der rekonstruierte BAB aus M×N binären Pixeln durch das Einfügeverfahren bereitgestellt, der als ein zweiter rekonstruierter BAB bezeichnet wird.
  • Gemäß dem bevorzugten Ausführungsbeispiel der Erfindung werden der erste und der zweite rekonstruierte BAB kodiert, um dadurch jeweils kodierte erste und zweite rekonstruierte BAB's zu erzeugen, und dann werden eine erste und eine zweite Anzahl an Datenbits jeweils für den kodierten ersten und zweiten rekonstruierten BAB berechnet. Anschließend wird die erste Anzahl an Datenbits mit der zweiten Anzahl an Datenbits verglichen.
  • Falls die erste Anzahl an Datenbits gleich oder geringer als die zweite Anzahl an Datenbits ist, werden der erste rekonstruierte BAB und der kodierte erste rekonstruierte BAB jeweils als ein ausgewählter rekonstruierter BAB und als ein ausgewählter kodierter rekonstruierter BAB ausgewählt. Andernfalls, d.h., daß die erste Anzahl an Daten größer als die zweite Anzahl an Datenbits ist, werden der zweite rekonstruierte BAB und der kodierte zweite rekonstruierte BAB jeweils als ein ausgewählter rekonstruierter BAB und ein ausgewählter kodierter rekonstruierter BAB ausgewählt.
  • Anschließend wird der Fehlerdatenblock kodiert, der die Differenz zwischen dem BAB, d.h. dem originalen BAB innerhalb des aktuellen Bildes, und dem ausgewählten rekonstruierten BAB darstellt, und dadurch ein Fehlerdatenblock unter Anwendung eines bekannten Fehlerdatenblock-Codierverfahrens, z.B. eines Referenzkontur-basierenden Codier (RCB) Verfahrens erzeugt.
  • Zwischenzeitlich werden in dem Inter-Modus Modus-Signale mit Bezug auf das Codieren des ersten und des zweiten rekonstruierten BAB's und des Fehlerdatenblocks erzeugt, wobei die Modus-Signale vier nachfolgend beschriebenen Moden darstellen. Jeder der vier Modus-Signale ist nämlich ein Modus-Signal, das einen der folgenden vier Moden darstellt:
    • (1) einem ersten Modus, der anzeigt, daß der erste rekonstruierte BAB als der ausgewählte rekonstruierte BAB ausgewählt wurde; und kein Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegt, wodurch das Codieren des ausgewählten rekonstruierten BAB nicht erforderlich ist; und daher wurde der ausgewählte rekonstruierte BAB nicht kodiert wurde;
    • (2) einem zweiten Modus, der anzeigt, daß der erste rekonstruierte BAB als der selektierte rekonstruierte BAB ausgewählt wurde; und einige Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegen, wodurch das Codieren des ausgewählten rekonstruierten BAB's erforderlich ist; und dementsprechend der ausgewählte rekonstruierte BAB kodiert wurde;
    • (3) einem dritten Modus, der anzeigt, daß der zweite rekonstruierte BAB als der selektierte rekonstruierte BAB ausgewählt wurde; und kein Fehler zwischen dem selektierten rekonstruierten BAB und dem originalen BAB vorliegt, wodurch das Codieren des ausgewählten rekonstruierten BAB nicht erforderlich ist; und folglich der ausgewählte rekonstruierte BAB nicht kodiert wurde;
    • (4) einem vierten Modus, der anzeigt, daß der zweite rekonstruierte BAB als der selektierte rekonstruierte BAB ausgewählt wurde; und einige Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegen, wodurch das Codieren des rekonstruierten BAB's erforderlich wurde; und folglich der selektierte rekonstruierte BAB kodiert wurde.
  • Anschließend werden die Modus-Signale kodiert, um dadurch kodierte Modus-Signale zu erzeugen. Dann werden ein kodiertes Modus-Signal, das sich auf einen der vier oben beschriebenen Moden bezieht, der ausgewählte kodierte rekonstruierte BAB und der kodierte Fehlerdatenblock formatiert, um dadurch eine kodierte Anreicherungsschicht bereitzustellen.
  • Gemäß der vorliegenden Erfindung kann die Codiereffizienz für die Anreicherungsschicht durch Verwenden der verbesserten Kontextwerte in einem CAE-Verfahren und durch geeignetes Kombinieren der Modus-Signale beim Codieren eines binären Formsignals, z.B. eines BAB's, verbessert werden.
  • Während die vorliegende Erfindung lediglich anhand bestimmter bevorzugter Ausführungsbeispiele beschrieben wurde, sind weitere Modifikationen und Änderungen für den Durchschnittsfachmann ohne weiteres möglich, ohne den Erfindungsbereich und die Erfindungsidee der vorliegenden Erfindung zu verlassen, wie sie in den nachfolgenden Ansprüchen beschrieben wird.

Claims (11)

  1. Verfahren zum Codieren eines binären Alphablocks (BAB) aus M×N binären Pixeln innerhalb eines aktuellen Bildes, basierend auf dem aktuellen Bild und einem vorhergehenden Bild, die eine Mehrzahl an BAB's enthalten, wobei M und N jeweils positive geradzahlige ganze Zahlen sind und jeder binäre Pixel einen binären Wert aufweist, der entweder einen Objektpixel oder einen Hintergrundpixel darstellt, bei welchem: (a) jede zweite horizontale Linie des BAB's abgetastet wird, um einen ersten Block aus (M/2)×N binären Pixel zu erzeugen, der entweder von einer ersten oder einer zweiten horizontalen Linie des BAB's startet, wobei die erste horizontale Linie die oberste horizontale Linie des BAB's ist; (b) jede zweite vertikale Linie des ersten Blockes abgetastet wird, um einen ersten Abtastblock aus (M/2)×(N/2) binären Pixeln als eine Basisschicht zu erzeugen, die entweder von einer ersten oder einer zweiten vertikalen Linie des ersten Blockes startet, wobei die erste vertikale Linie die am weitesten links liegende Linie des ersten Blockes ist; (c) ein rekonstruierter erster Block aus (M/2)×N binären Pixel erzeugt wird, indem eine Anzahl an (N/2) rekonstruierter vertikaler Linien sequentiell an Positionen vertikaler nicht in dem Schritt (b) abgetasteter Linien unter der Bedingung eingefügt werden, daß die Anzahl an (N/2) vertikaler Linien des ersten Abtastblockes an Positionen der in Schritt (b) abgetasteten vertikalen Linien angeordnet werden, wobei die rekonstruierten vertikalen Linien, basierend auf vertikalen Linien des ersten Abtastblockes, erzeugt werden, und jeder binäre Pixel der rekonstruierten vertikalen Linien, der als ein erster Zielpixel be zeichnet wird, unter Verwendung eines entsprechenden ersten Kontextwertes, basierend auf einer vorgegebenen Wahrscheinlichkeitstabelle, erzeugt wird, wobei der entsprechende erste Kontextwert für den ersten Zielpixel unter Verwendung der Kontextwerte von 8 binären Pixeln berechnet wird, die einen binären Pixel, der an einer identischen Position zu derjenigen des ersten Zielpixels innerhalb des vorhergehenden Bildes angeordnet ist, und 7 binäre Pixel umfassen, die jeweils an einer oberen linken, linken, unteren linken, oberen, oberen rechten, rechten und unteren rechten Position des ersten Zielpixels innerhalb des rekonstruierten ersten Blockes angeordnet sind; und (d) ein rekonstruierter BAB erzeugt wird, der als ein erster rekonstruierter BAB bezeichnet wird, aus M×N binären Pixeln, indem eine Anzahl an (M/2) rekonstruierter horizontaler Linien sequentiell an Positionen von nicht in dem Schritt (a) abgetasteten horizontalen Linien unter der Bedingung eingefügt werden, daß eine Anzahl an (M/2) horizontaler Linien des rekonstruierten ersten Blockes an Positionen der in dem Schritt (a) abgetasteten horizontalen Linien angeordnet werden, wobei die rekonstruierten horizontalen Linien, basierend auf den horizontalen Linien des rekonstruierten ersten Blockes, erzeugt werden, und jeder binäre Pixel, der als ein zweiter Zielpixel bezeichnet wird, unter Verwendung eines entsprechenden zweiten Kontextwertes, basierend auf einer vorgegebenen Wahrscheinlichkeitstabelle, erzeugt wird, wobei der entsprechende zweite Kontextwert für den zweiten Zielpixel unter Verwendung der Kontextwerte von 8 binären Pixeln berechnet wird, die einen binären Pixel, der an einer identischen Position zu derjenigen des zweiten Zielpixels innerhalb des vorhergehenden Bildes angeordnet ist, und 7 binäre Pixel umfassen, die jeweils an einer oberen linken, oberen, oberen rechten, linken, unteren linken, unteren, unteren rechten Position des zweiten Zielpixels innerhalb des rekonstruierten BAB's angeordnet sind.
  2. Verfahren nach Anspruch 1, bei welchem im Schritt (a) geradzahlige horizontale Linien des BAB's abgetastet werden, um den ersten Block zu erzeugen, und im Schritt (b) geradzahlige vertikale Linien des ersten Blockes abgetastet werden, um den ersten Abtastblock zu erzeugen.
  3. Verfahren nach Anspruch 1 oder 2, bei welchem das aktuelle und das vorhergehende Bild jeweils durch eine aktuelle Videoobjektebene (VOE) und eine vorhergehende VOE ersetzt werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem im Schritt (c) der erste entsprechende Kontextwert, der als V bezeichnet wird, unter Verwendung von Kontextwerten V0 bis V7 der 8 binären Pixel gemäß der nachfolgenden Gleichung G1. (3) berechnet wird:
    Figure 00260001
    wobei Vk einen binären Wert, entweder 1 oder 0, eines binären Pixels mit dem Kontextwert Vk darstellt, und falls es keinen binären Pixel mit dem Kontextwert Vk gibt, wird Vk zu 0 gesetzt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem im Schritt (d) der zweite entsprechende Kontextwert, der als V' bezeichnet wird, unter Verwendung von Kontextwerten V'0 bis V'7 der 8 binären Pixel gemäß der nachfolgenden Gleichung Gl. (4) berechnet wird:
    Figure 00270001
    wobei Vk einen binären Wert, entweder 1 oder 0, eines binären Pixels mit dem Kontextwert V'k darstellt, und falls es keinen binären Pixel mit dem Kontextwert V'k gibt, wird V'k zu 0 gesetzt.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem nach Schritt (d): (e) im Falle eines Intra-Modus der erste Abtastblock unter Verwendung eines Bit-map-basierenden Codierverfahrens kodiert wird, um dadurch eine kodierte Basisschicht bereitzustellen; und (f) im Falle eines Inter-Modus, basierend auf entsprechenden BAB's innerhalb des vorhergehenden Bildes, erste Abtastblöcke auf dieselbe Art ermittelt werden, wie die ersten Abtastblöcke innerhalb des aktuellen Bildes, wie in den Schritten (a) und (b) beschrieben, erzeugt werden, und anschließend die ersten Abtastblöcke innerhalb des vorhergehenden Bildes gespeichert werden; der erste Abtastblock innerhalb des aktuellen Bildes mit den ersten Abtastblöcken innerhalb des vorhergehenden Bildes verglichen wird, um einen dem ersten Abtastblock innerhalb des aktuellen Bildes ähnlichsten ersten Abtastblock innerhalb des vorhergehenden Bildes als einen vorhergesagten ersten Abtastblock zu erfassen; ein Bewegungsvektor ermittelt wird, der durch einen zweidimensionalen Vektor mit einer horizontalen und einer vertikalen Komponente ausgedrückt wird und eine Verschiebung zwischen dem ersten Abtastblock innerhalb des aktuellen Bildes und dem vorhergesagten ersten Abtastblock darstellt; der Bewegungsvektor kodiert wird, um dadurch einen kodierten Bewegungsvektor zu erzeugen; kodierte Fehlerdaten, welche die Differenz zwischen dem ersten Abtastblock innerhalb des aktuellen Bildes und dem vorhergesagten ersten Abtastblock darstellen, kodiert werden, um dadurch kodierte Fehlerdaten zu erzeugen; und der kodierte Bewegungsvektor und die kodierten Fehlerdaten kombiniert werden, um dadurch kodierte Basisschichtdaten bereitzustellen.
  7. Verfahren nach Anspruch 6, bei welchem ferner nach Schritt (f) in dem Inter-Modus: (g) jeder der ersten Abtastblöcke aus (M/2)×(N/2) binären Pixeln innerhalb des vorhergehenden Bildes von jedem der entsprechenden ersten Blöcke aus (M/2)×N binären Pixeln innerhalb des vorhergehenden Bildes subtrahiert wird, um zweite Abtastblöcke aus (M/2)×(N/2) binären Pixeln innerhalb des vorhergehenden Bildes zu erzeugen und zu speichern, und jeder der entsprechenden ersten Blöcke innerhalb des vorhergehenden Bildes von jedem der entsprechenden BAB's innerhalb des vorhergehenden Bildes subtrahiert wird, um zweite Blöcke aus (M/2)×N binären Pixeln innerhalb des vorhergehenden Bildes zu erzeugen und zu speichern; (h) der erste Abtastblock aus (M/2)×(N/2) binären Pixeln innerhalb des aktuellen Bildes von dem ersten Block aus (M/2)×N binären Pixeln innerhalb des aktuellen Bildes subtrahiert wird, um einen zweiten Abtastblock aus (M/2)×(N/2) binären Pixeln innerhalb des aktuellen Bildes zu erzeugen; (i) unter den zweiten Abtastblöcken innerhalb des vorhergehenden Bildes ein dem zweiten Abtastblock innerhalb des aktuellen Bildes ähnlichster zweiter Abtastblock als ein vorhergesagter zweiter Abtastblock ermittelt wird, basierend auf dem Bewegungsvektor; (j) ein rekonstruierter erster Block durch sequentielles Anordnen von vertikalen Linien des vorhergesagten zweiten Abtastblockes als dessen ungeradzahlige vertikale Linien unter der Bedingung erzeugt wird, daß die vertikalen Linien des ersten Abtast blockes innerhalb des aktuellen Bildes als dessen ungeradzahlige vertikale Linien angeordnet werden; (k) der erste Block aus (M/2)×N binären Pixeln innerhalb des aktuellen Bildes von dem BAB aus M×N binären Pixeln innerhalb des aktuellen Bildes subtrahiert wird, um einen zweiten Block aus (M/2)×N binären Pixeln innerhalb des aktuellen Bildes zu erzeugen; (l) unter den zweiten Blöcken innerhalb des vorhergehenden Bildes ein dem zweiten Block innerhalb des aktuellen Bildes ähnlichster zweiter Block als ein vorhergesagter zweiter Block erfaßt wird, basierend auf dem Bewegungsvektor; und (m) ein rekonstruierter BAB aus M×N binären Pixeln, der als ein zweiter rekonstruierter BAB bezeichnet wird, durch sequentielles Anordnen von horizontalen Linien des vorhergesagten zweiten Blockes als dessen ungeradzahlige horizontale Linien unter der Bedingung erzeugt wird, daß die horizontalen Linien des ersten Blockes innerhalb des aktuellen Bildes als dessen ungeradzahlige horizontale Linien angeordnet werden.
  8. Verfahren nach Anspruch 7, bei welchem nach Schritt (m) in dem Inter-Modus: (n) der erste und der zweite rekonstruierte BAB kodiert werden, um dadurch jeweils einen ersten und einen zweiten kodierten rekonstruierten BAB zu erzeugen; (o) eine erste und eine zweite Anzahl an Datenbits für jeweils den ersten und den zweiten kodierten rekonstruierten BAB berechnet werden; (p) die erste Anzahl an Datenbits mit der zweiten Anzahl an Datenbits verglichen wird, um dadurch den ersten rekonstruierten BAB und den ersten kodierten rekonstruierten BAB als jeweils einen ausgewählten rekonstruierten BAB und einen ausgewählten kodierten rekonstruierten BAB auszuwählen, falls die erste Anzahl an Datenbits gleich oder kleiner als die zweite Anzahl an Datenbits ist; den zweiten rekonstruierten BAB und den zweiten kodierten rekonstruierten BAB jeweils als einen ausgewählten rekonstruierten BAB und als einen ausgewählten kodierten rekonstruierten BAB auszuwählen, falls die erste Anzahl an Datenbits größer als die zweite Anzahl an Datentbits ist; und (q) ein Fehlerdatenblock kodiert wird, der den Unterschied zwischen dem BAB, der als ein originaler BAB innerhalb des aktuellen Bildes bezeichnet wird, und dem ausgewählten rekonstruierten BAB darstellt, und dadurch ein kodierter Fehlerdatenblock erzeugt wird.
  9. Verfahren nach Anspruch 8, bei welchem nach Schritt (q) in dem Inter-Modus ferner: (r) Modus-Signale erzeugt werden, wobei jedes der Modus-Signale ein Modus-Signal ist, das einen der vier Moden darstellt, mit (1) einem ersten Modus, der anzeigt, daß der erste rekonstruierte BAB als der ausgewählte rekonstruierte BAB ausgewählt wurde; und kein Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegt, wodurch das Codieren des ausgewählten rekonstruierten BAB's nicht erforderlich wird; und daher der ausgewählte rekonstruierte BAB nicht kodiert wurde; (2) einen zweiten Modus, der darstellt, daß der erste rekonstruierte BAB als der ausgewählte rekonstruierte BAB ausgewählt wurde; und einige Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegen, wodurch das Codieren des ausgewählten rekonstruierten BAB's erforderlich wurde; und entsprechend der ausgewählte rekonstruierte BAB kodiert wurde; (3) einem dritten Modus, der anzeigt, daß der zweite rekonstruierte BAB als der ausgewählte rekonstruierte BAB ausgewählt wurde, und kein Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegt, wodurch das Codieren des ausgewählten rekonstruierten BAB's nicht erforderlich wurde; und folglich der ausgewählte rekonstru ierte BAB nicht kodiert wurde; (4) einem vierten Modus, der anzeigt, daß der zweite rekonstruierte BAB als ausgewählter rekonstruierter BAB ausgewählt wurde; und einige Fehler zwischen dem ausgewählten rekonstruierten BAB und dem originalen BAB vorliegen, wodurch das Codieren des rekonstruierten BAB's erforderlich wurde; und folglich der ausgewählte rekonstruierte BAB kodiert wurde.
  10. Verfahren nach Anspruch 9, bei welchem nach Schritt (r ) in dem Inter-Modus: (s) die Modus-Signale kodiert werden, um dadurch kodierte Modus-Signale zu erzeugen; (t) ein kodiertes Modus-Signal, das sich auf eines der vier Moden bezieht, der ausgewählte rekonstruierte BAB und der kodierte Fehlerdatenblock formatiert werden, um dadurch eine kodierte Anreicherungsschicht bereitzustellen.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei sowohl M als auch N gleich 16 sind.
DE1997144859 1997-08-30 1997-10-10 Verfahren zum Codieren eines binären Formsignals Expired - Fee Related DE19744859B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR97-44087 1997-08-30
KR1019970044087A KR100255754B1 (ko) 1997-08-30 1997-08-30 이진 형상 신호 부호화 방법

Publications (2)

Publication Number Publication Date
DE19744859A1 DE19744859A1 (de) 1999-03-04
DE19744859B4 true DE19744859B4 (de) 2005-08-18

Family

ID=19520004

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997144859 Expired - Fee Related DE19744859B4 (de) 1997-08-30 1997-10-10 Verfahren zum Codieren eines binären Formsignals

Country Status (7)

Country Link
US (1) US6133955A (de)
JP (1) JP3976854B2 (de)
KR (1) KR100255754B1 (de)
CN (1) CN1159922C (de)
DE (1) DE19744859B4 (de)
FR (1) FR2768003B1 (de)
GB (1) GB2328821B (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100535632B1 (ko) * 1997-10-17 2006-04-12 주식회사 팬택앤큐리텔 적응적으로 보더링하는 모양정보 부호화/복호화 장치 및 방법
KR100303085B1 (ko) * 1998-04-24 2001-09-24 전주범 이진형상신호부호화장치및방법
US20050072966A1 (en) * 2003-02-28 2005-04-07 Jeffrey Bergh Fiber cement fence system
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100670459B1 (ko) * 2004-12-10 2007-01-16 엘지전자 주식회사 영상 압축 부호화 및 복호화 방법과 장치
KR100747587B1 (ko) * 2006-03-31 2007-08-08 엘지전자 주식회사 움직임 추정 방법 및 장치
US7865025B2 (en) * 2006-08-01 2011-01-04 Ching-Wei Yeh Data processing method in embedded block coding with optimized truncation module
RS64604B1 (sr) * 2011-06-16 2023-10-31 Ge Video Compression Llc Entropijsko kodiranje razlika vektora kretanja
UA114674C2 (uk) 2011-07-15 2017-07-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Ініціалізація контексту в ентропійному кодуванні
EP2673954A4 (de) 2012-01-12 2015-08-12 Mediatek Inc Verfahren und vorrichtung zur vereinigung von kontextbasierten kartenauswahlen
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
JP6857189B2 (ja) 2016-02-26 2021-04-14 ヴァーシテック・リミテッドVersitech Limited 画像のロッシー圧縮およびロスレス圧縮のための形状適応モデルベースコーデック

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0921497B1 (de) * 1997-12-02 2004-03-24 Daewoo Electronics Corporation Gerät zur Kodierung binärer Figuren im Zeilensprungformat
GB2333412B (en) * 1998-01-20 2002-05-15 Daewoo Electronics Co Ltd Context-based arithmetic encoding/decoding apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MPEG-4 Video Verifikationsmodel Version 2.0, International Organization for Standardization, ISO/JEC JTC1/SC29/WG11 N1260, März 1996 *

Also Published As

Publication number Publication date
KR19990020622A (ko) 1999-03-25
US6133955A (en) 2000-10-17
JPH1175179A (ja) 1999-03-16
FR2768003A1 (fr) 1999-03-05
DE19744859A1 (de) 1999-03-04
GB2328821B (en) 2002-01-30
JP3976854B2 (ja) 2007-09-19
GB2328821A (en) 1999-03-03
FR2768003B1 (fr) 2004-08-13
GB9721072D0 (en) 1997-12-03
KR100255754B1 (ko) 2000-05-01
CN1159922C (zh) 2004-07-28
CN1210429A (zh) 1999-03-10

Similar Documents

Publication Publication Date Title
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE69636277T2 (de) Verfahren und Vorrichtung zur Erzeugung von Farbart-Forminformation einer Video-Objektebene in einem Videosignal
DE19744859B4 (de) Verfahren zum Codieren eines binären Formsignals
DE69630297T2 (de) Weiterentwickeltes fernsehsystem
DE69636529T2 (de) Verfahren zum Kodieren und Dekodieren von Bewegtbildsignalen
DE19816898B4 (de) Vorrichtung und Verfahren zum adaptiven Codieren eines Bildsignals
DE19743202A1 (de) Verfahren und Vorrichtung zum Codieren eines Bewegungsvektors
DE69729438T2 (de) Verfahren und Gerät zur prädiktiven Kodierung der Objektinformation von Videosignalen
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE10196431B4 (de) Alternative Blockreihenfolgen zur besseren Vorhersage
DE69737711T2 (de) Verfahren und Vorrichtung zur Kodierung einer Objektkontur unter Verwendung ihrer Zeitkorrelation
DE10218541A1 (de) Verfahren zur Videocodierung und Computerprogrammprodukt
DE19749604A1 (de) Verfahren zum Kodieren eines Modus beim Kodieren binärer Formen
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
DE3828908A1 (de) Bilduebertragungssystem
DE19749655B4 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
DE19835845A1 (de) Verfahren und Anordnung zur Bewegungsschätzung in einem digitalisierten Bild mit Bildpunkten
WO2000019373A1 (de) Verfahren und anordnung zur bearbeitung eines digitalisierten bildes mit bildpunkten
DE3726601C2 (de)
EP0981910B1 (de) Verfahren und vorrichtung zur codierung eines digitalisierten bildes
DE69923725T2 (de) Verfahren und Gerät für die Herausziehung von Farbkonturinformation aus Videohalbbildern
DE19644769B4 (de) Vorrichtung und Verfahren zum formadaptiven Codieren von Bildsignalen
DE19717453C2 (de) Verfahren zum Einblenden eines neuen Bildabschnittes an einer vorbestimmten Stelle eines datenreduzierten Video-Datenstromes
WO2001062009A1 (de) Verfahren und anordnung zur kodierung bzw. zur kodierung und dekodierung einer zahlenfolge

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: DAEWOO ELECTRONICS CORP., SEOUL/SOUL, KR

8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, DE

R081 Change of applicant/patentee

Owner name: MAPLE VISION TECHNOLOGIES INC., CA

Free format text: FORMER OWNER: DAEWOO ELECTRONICS CORP., SEOUL/SOUL, KR

Effective date: 20130313

R082 Change of representative

Representative=s name: SAMSON & PARTNER PATENTANWAELTE MBB, DE

Effective date: 20130313

Representative=s name: SAMSON & PARTNER, PATENTANWAELTE, DE

Effective date: 20130313

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0007260000

Ipc: H04N0019000000