DE19744859B4 - Verfahren zum Codieren eines binären Formsignals - Google Patents
Verfahren zum Codieren eines binären Formsignals Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/21—Methods 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
Abstract
(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 bis1C 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 auf1A bis1C 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 bis1C 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; - 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, in1C , dem binären Pixel Y in1B entspricht oder auf diesen abgestimmt ist. -
- 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 bis1C Sätze binärer Pixel, die mit ihren Kontextwerten markiert sind, um ein bekanntes Kontextbasierendes arithmetisches Codier (CAE) Verfahren zu beschreiben; -
2A bis2D 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 bis2D 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 bis2D 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 und2B 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; - 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 und2D sind Sätze binärer Pixel 210 und 215 in rekonstruierten BAB's jeweils innerhalb des aktuellen und des vorhergehenden Bildes dargestellt. In2C 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; - 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)
- 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.
- 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.
- 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.
- 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: 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.
- 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: 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach einem der vorhergehenden Ansprüche, wobei sowohl M als auch N gleich 16 sind.
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)
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)
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 |
-
1997
- 1997-08-30 KR KR1019970044087A patent/KR100255754B1/ko not_active IP Right Cessation
- 1997-10-01 US US08/940,394 patent/US6133955A/en not_active Expired - Lifetime
- 1997-10-03 GB GB9721072A patent/GB2328821B/en not_active Expired - Fee Related
- 1997-10-07 CN CNB971170452A patent/CN1159922C/zh not_active Expired - Fee Related
- 1997-10-09 JP JP27697897A patent/JP3976854B2/ja not_active Expired - Fee Related
- 1997-10-09 FR FR9712614A patent/FR2768003B1/fr not_active Expired - Fee Related
- 1997-10-10 DE DE1997144859 patent/DE19744859B4/de not_active Expired - Fee Related
Non-Patent Citations (1)
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 |