DE69737138T2 - Verfahren und Vorrichtung zur Kodierung eines Objektkonturbildes in einem Videosignal - Google Patents

Verfahren und Vorrichtung zur Kodierung eines Objektkonturbildes in einem Videosignal Download PDF

Info

Publication number
DE69737138T2
DE69737138T2 DE1997637138 DE69737138T DE69737138T2 DE 69737138 T2 DE69737138 T2 DE 69737138T2 DE 1997637138 DE1997637138 DE 1997637138 DE 69737138 T DE69737138 T DE 69737138T DE 69737138 T2 DE69737138 T2 DE 69737138T2
Authority
DE
Germany
Prior art keywords
contour
vertex
vertices
pixels
primary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1997637138
Other languages
English (en)
Other versions
DE69737138D1 (de
Inventor
Jin-Hun Namdaemoon-Ro Jung-Gu Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WiniaDaewoo Co Ltd
Original Assignee
Daewoo Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Application granted granted Critical
Publication of DE69737138D1 publication Critical patent/DE69737138D1/de
Publication of DE69737138T2 publication Critical patent/DE69737138T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Kodieren einer Kontur eines Objektes in einem Bildsignal; und insbesondere ein Verfahren und eine Vorrichtung, die die Kontur unter Verwendung eines adaptiven Kodierverfahrens basierend auf einer oktant-basierten und einer Technik zum Kodieren gleichbeabstandeter Vertices kodieren kann.
  • In digitalen Fernsehsystemen, wie Video-Telefon-, Telekonferenz- und hochauflösenden Fernsehsystemen, wird eine große Menge digitaler Daten benötigt, jedes Bildframesignal zu definieren, da ein Bildliniensignal im Bildframesignal eine Folge digitaler Daten umfaßt, die als Pixelwerte bezeichnet werden. Da jedoch die verfügbare Frequenzbandbreite eines herkömmlichen Übertragungskanals beschränkt ist, die große Menge digitaler Daten dorthin durch zu übertragen, ist es erforderlich, das Datenvolumen unter Verwendung verschiedener Datenkomprimierungstechniken zu komprimieren oder vermindern, insbesondere im Fall solcher niedrigbitratiger Bildsignalkodierer, wie Bild-Telefon- und Telekonferenz-Systeme.
  • Eine solcher Techniken zum Kodieren von Bildsignalen für ein niederbitratiges Kodiersystem ist die sogenannte Objektorientierte Analyse-Synthese-Kodiertechnik, bei der ein Bildeingangssignal in Objekte aufgeteilt wird und drei Sätze an Parametern zum Definieren der Bewegung, der Kontur und der Pixeldaten jedes Objektes durch verschiedene Kodierkanäle verarbeitet werden.
  • Beim Verarbeiten einer Kontur eines Objektes ist die Konturinformation wichtig für die Analyse und Synthese der Objektform. Ein klassisches Kodierverfahren zum Darstellen der Konturinformation ist ein Kettenkodierverfahren, bei dem die Positionsinformation aller Konturpixel kodiert wird. Das Kettenkodierverfahren benötigt jedoch eine erhebliche Menge an Bits für deren Darstellung, auch wenn das Verfahren keinerlei Verluste der Konturinformation nach sich zieht.
  • Um den Nachteil des Kettenkodierverfahrens zu beheben, sind daher mehrere Verfahren vorgeschlagen worden, die Konturinformation zu kodieren, wie eine polygonale Näherung, eine B-Spline-Näherung und eine DST (Diskrete Sinustransformation), kombiniert mit einer polygonalen Näherungstechnik. Bei einer solchen Näherungstechnik wird die Kontur durch Linien- oder Kurvensegmente genähert, von denen jedes ein Paar benachbarter, auf der Kontur bestimmter Vertices verbindet; und die Vertices werden basierend auf zum Beispiel der sogenannten lokal-adaptiven, oktant-basierten Vertex-Kodiertechnik kodiert (siehe z.B. International Organisation for Standardisation, Coding of Moving Pictures and Audio Information, ISO/IEC JTCI/SC29/WG11, Shape Coding AHG, Juli 30, 1996, Titel "Revised Description of S4a: Geometrical Representation Method" von K. O'Connell, P. Gerken und J. H. Kim).
  • Bezugnehmend auf 1 ist ein schematisches Blockdiagramm einer herkömmlichen Vorrichtung zum Kodieren von Vertices einer Kontur eines Objektes in einem Bildsignal basierend auf dem oktant-basierten Vertex-Kodierverfahren gezeigt.
  • Eine Binärmaske wird einem Konturextraktionsblock 10 eingegeben, wobei jeder der Pixel in der Binärmaske durch einen der Binärwerte, z.B. 0 oder 1, dargestellt wird, abhängig davon, ob ein Pixel innerhalb eines Objektes angeordnet ist, oder in einem Hintergrundbereich.
  • Die Konturextraktionsblock 10 extrahiert eine Kontur des Objektes von der Binärmaske und stellt die Kontur einem Vertexauswahlblock 20 bereit. Die Kontur ist aus Konturpixeln hergestellt, wobei jeder ein Objektpixel ist, der auf dem Rand des Objektes angeordnet ist.
  • Der Vertexauswahlblock 20 wählt mehrere Vertices unter Anwendung eines herkömmlichen iterativen Verfeinerungsverfahrens aus, z.B. einer polygonalen Näherungstechnik, wobei ein Paar Konturpixel, das eine maximale Distanz voneinander beabstandet ist, zuerst als Start-Vertices bestimmt wird; und zusätzliche Konturpixel als Vertices ausgewählt werden, bis ein größter senkrechter Abstand von einem Liniensegment, das jedes Paar benachbarter Vertices verbindet, zu einem Kontursegment, das durch das Paar benachbarter Vertices definiert ist, nicht mehr einen vorgegebenen Schwellwert Dmax überschreitet, wobei das Paar benachbarter Vertices entlang der Kontur aneinander angrenzt. Bei der polygonalen Näherungstechnik wird daher der Näherungsgrad durch die Größe des Schwellwerts Dmax bestimmt.
  • Bei einem Vertex-Kodierblock 30 werden die beim Vertex-Auswahlblock 20 bestimmten Vertices basierend auf z.B. der sogenannten oktant-basierten Vertex-Kodiertechnik kodiert.
  • Bei der oktant-basierten Vertex-Kodiertechnik werden eine x- und eine y-Komponente R(x) und R(y) und deren Beträge x_mag und y_mag einer Verschiebung R zwischen jedem Paar benachbarter Vertices berechnet. Danach werden zwei Vertices entsprechend einem größten Betrag unter all den x_mag's und y_mag's als ein Anfangsvertex und ein Endvertex der Kontur ausgewählt. Dann werden N, z.B. 8 Vertices nacheinander entlang der Kontur indiziert, beginnend mit dem Anfangvertex bis zum Endvertex, wie in 2 gezeigt. In 2 ist das x_mag, das dem Paar Vertices V1 und V8 entspricht, das größte unter den 8 Paaren von x_mag's und y_mag's, die von den Vertices V1 bis V8 erhalten werden.
  • Nach Bestimmen des Anfangs- und des Endvertices werden ein x_max_mag und ein y_max_mag, die jeweiligen Maximalwerte der x_mag's und y_mag's der Verschiebungen Ri's, als ein x_dynamic_range bzw. ein y_dynamic_range der Kontur bestimmt, wobei R1 = Vi+1 – Vi für i = 1, 2, ..., N – 1, wobei Vi ein Positionsvektor ist, der den Vertex Vi darstellt. Danach werden der x_dynamic_range, der y_dynamic_range und die Absolutposition des Anfangsvertex Vi kodiert, während jeder der verbleibenden Vertices, d.h. Vi+1 für i = 1 bis (N – 1) basierend auf der Verschiebung Ri von seinem vorhergehenden Vertex Vi kodiert wird.
  • Genauer gesagt wird, wie in 3 gezeigt, ein Oktant, zu dem ein Vertex Vi+1 gehört, unter dem Oktant 0 bis zum Oktant 7 basierend auf einer x-Komponente Ri(x) und einer y-Komponente Ri(y) der Verschiebung Ri bestimmt, wobei die acht nächsten Nachbarn zum Ursprung (alle durch die geschlossenen Kreise in 3 gekennzeichnet) die Startpunkte der acht Oktanten darstellen.
  • Nach Bestimmen der Oktanten für die Vertices Vi+1 werden die Indizes der Oktanten unter Anwendung der herkömmlichen Differenzkettenkodiertechnik kodiert; und die Beträge der Komponenten Ri(x) und Ri(y), die die Relativposition des Vertex Vi+1 bzgl. seines vorhergehenden Vertices Vi darstellen, unter Verwendung der Bits kodiert, die basierend auf dem x_dynamic_range bzw. dem y_dynamic_range bestimmt sind.
  • Als ein weiteres Beispiel der oktant-basierten Vertex-Kodiertechnik werden die Oktantindizes und Ri's alternativ unter Anwendung des sogenannten Syntax-adaptiven arithmetischen Kodierens (SAAC) kodiert. Beim SAAC hängt die Anzahl möglicher Symbole vom Maximum des dynamischen Bereichs ab, d.h. max(x_dynamic_range, y_dynamic_range). Für weitere Details der oktant-basierten Vertexkodiertechnik siehe K. O'Connell et al., supra.
  • Aufgrund des Prozesses zum Ordnen der Vertices, wie oben beschrieben, kann die die Vertices darstellende Datenmenge bei der oktant-basierten Vertex-Kodiertechnik effektiv vermindert werden, da jeder Vertex mit Ausnahme des Anfangsvertex durch den Oktanten, zu dem er gehört, und die Beträge von Ri(x) und Ri(y) dargestellt wird; und die zum Kodieren der Beträge benötigte Anzahl an Bits hängt von x_dynamic_range und y_dynamic_range ab.
  • Ein solches herkömmliches Konturkodierverfahren kann jedoch weiterhin eine unnötig große Menge an Bits zum Darstellen der Vertices benötigen, insbesondere falls die meisten x_mag's und y_mag's erheblich kleiner als die x_dynamic_range und y_dynamic_range sind oder eine große Anzahl an eng angeordneten Vertices existiert, was vorkommen kann, wenn der Schwellwert Dmax eine kleine Größe hat.
  • Die Druckschrift "Coding efficiency of multiring differential chain coding", Johannessen A.B. et al., IEE Proc. I, (Commun. Speech Vis.), ISSN 0956-3776, offenbart ein Kodierverfahren, bei dem ein Suchfenster um einen ersten primären Vertex an dessen Zentrum gebildet und ein Vektor bestimmt wird, der vom Zentrum zu einem Randpixel des Suchfensters zeigt, der am besten an den Linienabschnitt der Kontur angepaßt ist, der vom Zentrum des Suchfensters zu deren nächstem Randpixel verläuft.
  • Die Druckschrift "Motorola MPEG-4 Contour Coding Tool Technical Description", K. O'Connell et al., XP002087374 offenbart ein Verfahren zum Kodieren einer Kontur, bei dem mehrere primäre Vertices auf der Kontur bestimmt werden, die die Kontur in eine Anzahl primärer Kontursegmente unterteilen, mit jeweils einem Paar primärer Vertices an deren Enden. Das primäre Kontursegment mit dem größten senkrechten Abstand zur Kontur wird durch zwei Liniensegmente ersetzt, und dieser Vorgang wird solange wiederholt, bis eine gewünschte Anzahl an Vertices erhalten ist.
  • Es ist daher ein primäres Ziel der Erfindung, ein verbessertes Verfahren und eine verbesserte Vorrichtung zum Kodieren einer Kontur eines Objektes bereitzustellen, das die Kontur effektiv kodieren kann.
  • Die Erfindung erreicht dieses Ziel mit dem Gegenstand der unabhängigen Ansprüche 1 bzw. 12. Bevorzugte Ausführungsbeispiele sind in den abhängigen Ansprüchen offenbart.
  • Die obigen und weitere Ziele und Merkmale der vorliegenden Erfindung werden aus der nachfolgenden Beschreibung bevorzugter Ausführungsbeispiele mit Bezug auf die beigefügte Zeichnung deutlich, in der:
  • 1 ein schematisches Blockdiagramm einer herkömmlichen Vorrichtung zum Kodieren einer Kontur eines Objektes zeigt;
  • 2 einen Vorgang zum Zuordnen einer Priorität zu Vertices darstellt;
  • 3 eine oktant-basierte Vertex-Kodiertechnik beschreibt;
  • 4A und 4B schematische Blockdiagramme von Vorrichtungen zum Kodieren einer Kontur eines Objektes gemäß den bevorzugten Ausführungsbeispielen der vorliegenden Erfindung darstellen;
  • 5 ein detailliertes Blockdiagramm eines Blockes zum Kodieren von gleichbeabstandeten Vertices in 4A und 4B zeigt;
  • 6A und 6B einen Vorgang zum Auswählen sekundärer Vertices an dem Block zum Kodieren von gleichbeabstandeten Vertices in 4A und 4B darstellt;
  • 7 ein detailliertes Blockdiagramm eines Differenzkettenkodierblockes in 5 darstellt; und
  • 8A und 8B beispielhafte Quantisierungsvorgänge eines Quantisierungsblockes in 7 demonstrieren.
  • Bezugnehmend auf 4A ist ein schematisches Blockdiagramm einer Vorrichtung 100 zum Kodieren einer Kontur eines in einem Bildsignal ausgedrückten Objektes gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung gezeigt.
  • Ein Konturbild eines Objektes wird einem Konturextraktionsblock 40 in Form einer Binärmaske eingeben. Beim Konturextraktionsblock 40 wird eine Kontur des Objektes extrahiert, wobei die Kontur aus Konturpixeln am Rand des Objektes erzeugt wird. Die vom Konturextraktionsblock 40 extrahierte Kontur wird einem ersten Vertexauswahlblock 50 und einem Block 90 zum Kodieren gleichbeabstandeter Vertices zugeführt.
  • Beim ersten Vertex-Auswahlblock 50 werden mehrere primäre Vertices auf der Kontur unter Anwendung einer herkömmlichen polygonalen Näherungstechnik bestimmt, um dadurch primäre Vertexdaten einem Primärvertexkodierblock 80 über eine Leitung L20 bereitzustellen, wobei die primären Vertexdaten eine Positionsinformation der primären Vertices darstellen. Beim Bestimmen der primären Vertices auf der Kontur wird zuerst ein Paar Konturpixel als Anfangsvertices bestimmt, die eine maximale Distand voneinander beabstandet sind; und zusätzliche Konturpixel werden jeweils als Vertices ausgewählt, bis ein größter senkrechter Abstand von einem Liniensegment, das jedes Paar benachbarter Vertices verbindet, zu einem Kontursegment, das durch das Paar Vertices definiert ist, einen vorgegebenen Schwellwert Dmax nicht mehr überschreitet. Die bestimmten Vertices werden dann als die primären Vertices gesetzt.
  • Nach Bestimmen der primären Vertices wird eine maximale senkrechte Distanz von jedem Liniensegment, das alle zwei benachbarte primären Vertices entlang der Kontur verbindet, zu einem dementsprechenden Kontursegment beim ersten Vertexauswahlblock 50 bestimmt und einem Fehlerbestimmungsblock 60 über eine Leitung L10 bereitgestellt.
  • Der Fehlerbestimmungsblock 60 empfängt den maximalen Abstand für jedes Liniensegment vom ersten Vertexauswahlblock 50 und wählt unter ihnen den größten aus, um ihn einem Vergleicher 70 als einen Näherungsfehler zuzuführen. Der Komparator 70 vergleicht den Näherungsfehler mit einem vorbestimmten Schwellwert TH1 und stellt einer Auswahleinrichtung 95 ein erstes Auswahlsignal bereit, falls der Näherungsfehler größer als der Schwellwert TH1 ist, und andernfalls ein zweites Auswahlsignal.
  • Die vom ersten Vertexauswahlblock 50 bereitgestellten primären Vertexdaten werden beim Primärvertexkodierblock 80 unter Anwendung z.B. der herkömmlichen oktant-basierten Vertex-Kodiertechnik kodiert, wie sie bzgl. 1 beschrieben ist, um dadurch kodierte Primärvertexdaten der Auswahleinrichtung 95 bereitzustellen.
  • Der Block 90 zum Kodieren gleichbeabstandeter Vertices bestimmt in Reaktion auf die Kontur vom Konturextraktionsblock 40 sekundäre Vertices auf der Kontur und kodiert sie, um kodierte sekundäre Vertexdaten der Auswahleinrichtung 95 bereitzustellen.
  • Bezugnehmend auf 5 ist ein detailliertes Blockdiagramm des Blockes 90 zum Kodieren gleichbeabstandeter Vertices dargestellt, der einen zweiten Vertexauswahlblock 110 und einen Differenzkettenkodierblock 120 aufweist.
  • Der zweite Vertexauswahlblock 110 bestimmt mehrere sekundäre Vertices auf der vom Konturextraktionsblock 40 empfangenen Kontur, wobei jeder sekundäre Vertex ein Konturpixel ist, der an einer Position einer vorbestimmten Menge an Positionen weg von seinem benachbarten sekundären Vertex liegt. Beim Bestimmen der sekundären Vertices auf der Kontur wird ein längster linearer Abschnitt der Kontur bestimmt und einer der Konturpixel, die an den Enden des Abschnittes liegen, als ein erster sekundärer Vertex gesetzt. Danach wird ein Suchfenster für den ersten sekundären Vertex aufgestellt, wobei die Größe des Suchfensters gleich (2M + 1) × (2N + 1) Pixel ist und das Suchfenster den zuvor bestimmten sekundären Vertex in seinem Zentrum hat, wobei M und N positive ganze Zahlen größer als eins sind, die basierend auf dem Schwellwert Dmax bei der polygonalen Näherung bestimmt sind. Danach wird überprüft, ob irgendein Randpixel des Suchfenster mit Konturpixeln übereinstimmt, die zuvor noch nicht als sekundäre Vertices bestimmt worden sind. Falls dort nur ein solcher Konturpixel existiert, wird der Konturpixel erneut als sekundärer Vertex ausgewählt. Falls es jedoch mehr als einen solcher Konturpixel an den Randpixelpositionen gibt, wird einer dieser Konturpixel als ein zusätzlicher sekundärer Vertex entsprechend einer Priorität ausgewählt, die jeder der Randpositionen zugeordnet ist.
  • Wie in 6A gezeigt, wird, falls ein mit einer fetten Linie umrandete Pixel RV der erste sekundäre Vertex der Kontur ist, untersucht, ob jeder der 16 schattierten Randpixel eines Suchfensters 65 aus 5 × 5 Pixeln ein Konturpixel ist. Die beispielhaften Richtungsindizes 1 bis 15 an den Randpixelpositionen stellen eine Vertexauswahlpriorität dar. Falls beispielsweise dort mehr als ein Konturpixel an den Randpixelpositionen ermittelt wird, z.B. 2 bis 5, wird der Konturpixel an der Position 2 als ein nächster sekundärer Vertex bestimmt. Der oben beschriebene Bestimmungsvorgang für sekundäre vertices wird bzgl. des neu ausgewählten sekundären Vertex wiederholt, bis die zwei anfangs bestimmten Vertices, d.h. der erste und der zweite sekundäre Vertex, nacheinander innerhalb zweier aufeinanderfolgender Suchfenster jeweils ermittelt werden. In 6B ist ein Teil einer beispielhaften Kontur 67 mit sekundären Vertices SV1 bis SV4 darin dargestellt, die unter Anwendung des Suchfensters aus 5 × 5 Pixeln bestimmt worden sind. Nach Bestimmen der sekundären Vertices auf der Kontur wird eine Positionsinformation des ersten sekundären Vertex und Richtungsindizes der verbleibenden sekundären Vertices über Leitungen L32 bzw. L30 einem Differenzkettenkodierblock 120 zugeführt, der einen Quantisierungsblock 220 (Q-Block), einen Quantisierungsparameter- Bestimmungsblock 222 (QP-Bestimmungsblock), einen Differenzbestimmungsblock 230 und einen Differenzkodierblock 240 umfaßt, wie in 7 gezeigt.
  • Der QP-Bestimmungsblock 222 überwacht über eine Leitung L40 einen Pufferfüllstand oder Besetzungspegel in einem Übertragungspuffer 96, in 4 gezeigt, und bestimmt einen QP auf ähnliche Weise wie beim herkömmlichen Quantisierungsparameter-Bestimmungsverfahren. Der bestimmte QP wird dem Quantisierungsblock 220 zugeführt.
  • Die vom zweiten Vertexauswahlblock 110 empfangenen Richtungsindizes auf Leitung L30 werden beim Quantisierungsblock 220 in Reaktion auf den QP quantisiert.
  • 8A und 8B zeigen beispielhafte Diagramme eines Quantisierungsvorganges der Richtungsindizes in den Fällen, bei denen das Suchfenster 5 × 5 bzw. 7 × 7 Pixel groß ist. In 8A und 8B stellen die schattierten Rechtecke repräsentative Randpixel dar, wobei die Randpixel an den Ecken und vorbestimmten Positionen der Ränder des jeweiligen Suchfensters angeordnet sind. Während des Quantisierungsvorganges werden Richtungsindizes der sekundären Vertices an den nicht-repräsentativen Randpixelpositionen, die durch Punkte, z.B. b und f, markiert sind, durch Richtungsindizes ihrer benachbarten repräsentativen Randpixel dargestellt, z.B. c und g. Die Richtungsindizes der repräsentativen Randpixel werden dann erneut indiziert, um ihre repräsentativen Indizes bereitzustellen. Durch ein derartiges Quantisieren der Richtungsindizes werden insgesamt 16 bzw. 24 Richtungsindizes auf 8 repräsentative Indizes reduziert, wie in 8A und 8B gezeigt.
  • Die Anzahl der repräsentativen Randpixel oder repräsentativen Indizes wird durch den QP gesteuert. Das heißt, falls der QP anzeigt, daß der Pufferfüllstand oder Besetzungspegel hoch ist, wird die Anzahl an repräsentativer Randpixel vermindert oder umgekehrt. Im bevorzugten Ausführungsbeispiel der Erfindung wird die obere Grenze der Anzahl an repräsentativer Randpixel als die Anzahl aller Randpixel im Suchfenster eingestellt. Die untere Grenze wird auf 8 eingestellt. In einem solchen Fall wird jeder beliebige sekundäre Vertex durch einen von acht repräsentativen Randpixeln dargestellt, die an den vier Ecken und an den Zentren der vier Ränder des Suchfensters angeordnet sind, unabhängig von deren Größe, wie in 8A und 8B gezeigt.
  • Der Differenzbestimmungsblock 230 bestimmt Differenzindizes basierend auf den repräsentativen Indizes, die vom Quantisierungsblock 220 empfangen werden, um sie dadurch dem Differenzkodierblock 240 bereitzustellen, wobei jeder Differenzindex eine Differenz zwischen Beträgen zweier aufeinanderfolgender repräsentativer Indizes darstellt.
  • Der Differerenzkodierblock 240 kodiert die Positionsinformation des ersten sekundären Vertex auf der Leitung L32 und der Differenzindizes basierend auf einem herkömmlichen Kodierverfahren variabler Länge oder einem syntax-basierten arithmetischen Kodierverfahren, um dadurch kodierte sekundäre Vertexdaten der Auswahleinrichtung 95 bereitzustellen.
  • Die Auswahleinrichtung 95 wählt die kodierten primären Vertexdaten in Reaktion auf das erste Auswahlsignal und die kodierten sekundären Vertexdaten aus, falls das zweite Auswahlsignal dorthin eingegeben wurde; und stellt die ausgewählten Daten dem Übertragungspuffer 96 als kodierte Konturdaten bereit. Die kodierten Konturdaten werden über den Übertragungspuffer 96 einem Sender (nicht gezeigt) für deren Übertragung übertragen.
  • Bezugnehmend auf 4B ist ein schematisches Blockdiagramm der Vorrichtung 100 gemäß einem anderen bevorzugten Ausführungsbeispiel der Erfindung gezeigt.
  • Ein Komparator 75 vergleicht anstelle des Näherungsfehlers im bevorzugten Ausführungsbeispiel den Schwellwert Dmax mit dem Schwellwert TH1 und gibt über eine Leitung L25 das erste Aus wahlsignal aus, falls Dmax größer als TH1 ist, und andernfalls das zweite Auswahlsignal. In Reaktion auf die Auswahlsignale führen eine erste und eine zweite Auswahleinrichtung 95A und 95B ihre Operationen durch. Das heißt, daß die vom Konturextraktionsblock 40 empfangene Kontur dem ersten Vertexauswahlblock 50 über die erste Auswahleinrichtung 95 in Reaktion auf das erste Auswahlsignal zugeführt und dem Block 90 zum Kodieren gleichbeabstandeter Vertices durch das zweite Auswahlsignal eingegeben wird. Der Auswahlvorgang der zweiten Auswahleinrichtung 95B ist identisch dem der Auswahleinrichtung 95 in 4A. In 4A und 4B führen die Blöcke mit den gleichen Bezugszeichen die gleichen Operationen aus, weswegen deren nähere Darstellung weggelassen wird.
  • Auch wenn die vorliegende Erfindung mit Bezug auf die speziellen Ausführungsbeispiele beschrieben worden ist, ist es dem Durchschnittsfachmann verständlich, daß zahlreiche Änderungen und Modifikationen durchgeführt werden können, ohne den Bereich der vorliegenden Erfindung zu verlassen, wie er in den nachfolgenden Ansprüchen definiert ist.
  • 1
    • PRIOR – ART STAND DER TECHNIK
    • BINARY MASK – BINÄRMASKE
    • 10 CONTOUR EXTRACTION – KONTUREXTRAKTION
    • 20 VERTEX SELECTION – VERTEXAUSWAHL
    • 30 VERTEX CODING – VERTEX KODIEREN
    • CODED CONTOUR DATA – KODIERTE KONTURDATEN
  • 2
    • PRIOR – ART STAND DER TECHNIK
  • 3
    • PRIOR ART – STAND DER TECHNIK
    • OCTANT – OKTANT
    • OCTANT – OKTANT
    • OCTANT – OKTANT
    • OCTANT – OKTANT
    • OCTANT – OKTANT
    • OCTANT – OKTANT
    • OCTANT – OKTANT
    • OCTANT – OKTANT
  • 4A
    • BINARY MASK – BINÄRMASKE
    • 40 CONTOUR EXTRACTION – KONTUREXTRAKTION
    • 50 FIRST VERTEX SELECTION – ERSTVERTEXAUSWAHL
    • 60 ERROR DETECTION – FEHLERBESTIMMUNG
    • 70 COMPARATOR – VERGLEICHER
    • 80 PRIMARY VERTEX CODING – KODIEREN PRIMÄRER VERTICES
    • 90 EQUAL DISTANCE VERTEX CODING – KODIEREN GLEICHBEABSTANDETER VERTICES
    • 95 SELECTOR – AUSWAHLEINRICHTUNG
    • 96 TRANSMISSION BUFFER ENCODED CONTOUR DATA – ÜBERTRAGUNGSPUFFER KODIERTE KONTURDATEN
  • 4B
    • 75 COMPARATOR – KOMPARATOR
    • 40 CONTOUR EXTRACTION BINARY MASK – KONTUREXTRAKTION BINÄRMASKE
    • 95A FIRST SELECTOR – ERSTE AUSWAHLEINRICHTUNG
    • 50 FIRST VERTEX SELECTION – ERSTVERTEXAUSWAHL
    • 80 PRIMARY VERTEX CODING – KODIEREN PRIMÄRER VERTICES
    • 90 EQUAL DISTANCE VERTEX CODING – KODIEREN GLEICHBEABSTANDETER VERTICES
    • 95B SECOND SELECTOR – ZWEITE AUSWAHLEINRICHTUNG
    • 96 TRANSMISSION BUFFER ENCODED CONTOUR DATA – ÜBERTRAGUNGSPUFFER KODIERTE KONTURDATEN
  • 5
    • CONTOUR – KONTUR
    • 110 SECOND VERTEX SELECTION – ZWEITE VERTEXAUSWAHL
    • 120 DIFFERENTIAL CHAIN CODING – DIFFERENZKETTENKODIEREN
    • TO SELECTOR 95 OR 95B – ZUR AUSWAHLEINRICHTUNG 95 ODER 95B
  • 7
    • 222 QP DETERMINATION – QP-BESTIMMUNG
    • 230 DIFFERENCE DECIDING – DIFFERENZBESTIMMUNG
    • 240 DIFFERENCE ENCODING – DIFFERENZKODIERUNG
    • TO SELECTOR 95 OR 95B – ZUR AUSWAHLEINRICHTUNG 95 ODER 95B

Claims (15)

  1. Verfahren zum Kodieren einer Kontur eines Objektes, wobei die Kontur Konturpixel darauf aufweist, das die folgenden Schritte umfaßt: (a) Bestimmen eines der Konturpixel als einen ersten sekundären Vertex; (b) Bilden eines Suchfensters für den ersten sekundären Vertex, wobei das Suchfenster (2M + 1) × (2N + 1) Pixel hat, und das Suchfenster 2 × (2M + 2N) Randpixel entlang seines Umfanges aufweist und den ersten sekundären Vertex an seinem Zentrum umfaßt, und M und N positive ganze Zahlen größer als 1 sind; (c) Zuordnen einer Priorität zu jedem Randpixel innerhalb des Suchfensters; (d) Bestimmen eines Randpixels als nächsten sekundären Vertex, der mit einem Konturpixel zusammenfällt, der sich von einem zuvor ausgewählten sekundären Vertex unterscheidet und die höchste Priorität unter etwaigen weiteren Konturpixeln aufweist, die auch mit den Randpixeln übereinstimmen; (e) Darstellen des nächsten sekundären Vertex durch einen Richtungsindex, wobei der Richtungsindex eine relative Richtung des nächsten sekundären Vertexes bzgl. des vorhergehenden sekundären Vertex darstellt; (f) Wiederholen der Schritte (b) bis (e) bzgl. des nächsten sekundären Vertex, um dadurch eine Vielzahl sekundärer Vertices zu erzeugen, die die Kontur nähern; und (g) Kodieren einer Positionsinformation für den ersten sekundären Vertex und von Richtungsindizes für die verbleibenden sekundären Vertices, um sie als kodierte sekundäre Vertexdaten bereitzustellen.
  2. Verfahren nach Anspruch 1, bei dem der erste sekundäre Vertex einer von zwei Konturpixeln an den Enden eines längsten linearen Abschnitts der Kontur ist.
  3. Verfahren nach Anspruch 1 oder 2, bei dem der Wiederholschritt (f) beendet ist, falls die ersten beiden in den Schritten (a) und (d) bestimmten sekundären Vertices nacheinander wieder in den Suchfenstern beim Vorgang zum Erfassen zusätzlicher sekundärer Vertices gefunden werden.
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem der Kodierschritt (g) die folgenden Schritte umfaßt. (g1) Berechnen eines Differenzwertes zwischen Richtungsindizes jedes Paares sekundärer Vertices; und (g2) Kodieren der Positionsinformation für den ersten sekundären Vertex, eines Richtungsindex des zweiten sekundären Vertex und von Differenzwerten für den Rest der sekundären Vertices, um dadurch die kodierten sekundären Vertexdaten bereitzustellen.
  5. Verfahren nach Anspruch 4, bei dem die Differenzwerte über eine Kodiertechnik variabler Länge oder eine syntaxbasierte arithmetische Kodiertechnik kodiert werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Bestimmungsschritt (d) ferner die folgenden Schritte umfaßt: (d1) Darstellen jedes nicht-ersten sekundären Vertex durch einen von vorbestimmten repräsentativen Randpixeln im Suchfenster, wobei jeder vorbestimmte repräsentative Randpixel einen repräsentativen Index aufweist und alle vorbestimmten repräsentativen Randpixel eine Untermenge der Randpixel im Suchfenster bilden; (d2) Erzeugen repräsentativer Indizes von vorbestimmten repräsentativen Randpixeln, die die nicht-ersten Vertizes als sekundäre Vertexinformation darstellen; und (d3) Bereitstellen der sekundären Vertexinformation als Positionsinformation der sekundären Vertices.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Kodierschritt (g) durch eine oktant-basierte Vertexkodiertechnik ausgeführt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Kodierschritt (g) den Schritt des Berechnens eines Differenzwertes zwischen repräsentativen Indices benachbarter sekundärter Vertices umfaßt.
  9. Verfahren nach einem der vorhergehenden Ansprüche, das ferner die folgenden Schritte umfaßt: (h) Bestimmen einer Vielzahl primärer Vertices auf der Kontur, wobei die Kontur in eine Vielzahl an Kontursegmenten aufgeteilt wird, und jedes Kontursegment ein Paar primärer Vertices an seinen Enden aufweist, und einen senkrechten Abstand von einem Liniensegment, das das Paar primärer Vertices verbindet, zu irgendeinem Punkt jedes Kontursegmentes, das kleiner als ein Schwellwert Dmax ist; (i) Kodieren einer Positionsinformation der primären Vertices, um die kodierten primären Vertexdaten bereitzustellen; (j) Schätzen eines Näherungsfehlers der kodierten primären Vertexdaten und Vergleichen des Näherungsfehlers oder des Schwellwerts Dmax mit einem Schwellwert TH; und (k) Bereitstellen, als kodierte Konturdaten, der kodierten primären Vertexdaten, falls der Näherungsfehler oder der Schwellwert Dmax größer als der Schwellwert TH ist, und andernfalls der kodierten sekundären Vertexdaten.
  10. Verfahren nach Anspruch 9, bei dem M und N basierend auf dem Schwellwert Dmax bestimmt werden.
  11. Verfahren nach Anspruch 9 oder 10, bei dem der Bestimmungsschritt (j) die folgenden Schritte umfaßt: (j1) Berechnen eines maximalen senkrechten Abstandes zwischen jedem Kontursegment und seinem entsprechenden Liniensegment, um eine Vielzahl maximaler senkrechter Abstände bereitzustellen; und (j2) Setzen eines größten maximalen senkrechten Abstandes als den Näherungsfehler.
  12. Vorrichtung zum Kodieren einer Kontur eines Objektes, wobei die Kontur Konturpixel darauf umfaßt, mit: einer ersten Einrichtung (90, 110) zum sequentiellen Bestimmen einer Vielzahl an Vertices auf der Kontur und zum Bereitstellen von Positionsinformation der Vertices durch Bilden eines Suchfensters für einen aktuellen sekundären Vertex, wobei das Suchfenster (2M + 1) × (2N + 1) Pixel hat, und das Suchfenster 2 × (2M + 2N) Randpixel entlang seines Umfanges und den aktuellen sekundären Vertex an seinem Zentrum umfaßt, und M und N positive ganze Zahlen größer als 1 sind, durch Zuordnen einer Priorität zu jedem Randpixel innerhalb des Suchfensters, durch Bestimmen eines Randpixels als nächsten sekundären Vertex, der mit einem Konturpixel übereinstimmt, der sich von einem zuvor ausgewählten sekundären Vertex unterscheidet und die höchste Priorität unter etwaigen weiteren Randpixeln hat, die auch mit den Konturpixeln übereinstimmen, und durch Darstellen des nächsten sekundären Vertex durch einen Richtungsindex, wobei der Richtungsindex eine relative Richtung des nächsten sekundären Vertex bzgl. des vorhergehenden sekundären Vertex darstellt; einem ersten Kodierer (90, 120) zum Kodieren der Richtungsindizes der sekundären Vertices, um sie als kodierte sekundäre Vertexdaten bereitzustellen.
  13. Vorrichtung nach Anspruch 12, ferner mit: einer zweiten Einrichtung (50) zum polygonalen Nähern der Kontur mit einer Vielzahl primärer Vertices, wobei die Kontur in eine Vielzahl erste Kontursegmente aufgeteilt wird, jede zwei primäre Vertices an ihren Enden aufweist und durch ein Liniensegment dargestellt ist, das die beiden primären Vertices verbindet, wobei ein maximaler senkrechter Abstand zwischen dem ersten Kontursegment und dem Liniensegment kleiner als ein Schwellwert Dmax ist; einem zweiten Kodierer (80) zum Kodieren einer Positionsinformation der primären Vertices, um sie dadurch als kodierte primäre Vertexdaten bereitzustellen; eine Einrichtung (60, 70; 75) zum Bestimmen eines Näherungsfehlers der kodierten primären Vertexdaten und zum Ver gleichen des Näherungsfehlers des Schwellwertes Dmax mit einem Schwellwert TH; und einer Einrichtung (95; 95B) zum Auswählen, als kodierte Konturdaten, der kodierten primären Vertexdaten, falls der Näherungsfehler oder der Schwellwert Dmax größer als der Schwellwert TH ist, und andernfalls der kodierten sekundären Vertexdaten.
  14. Vorrichtung nach Anspruch 12 oder 13, bei der die erste Einrichtung (90, 110) zum sequentiellen Bestimmen der sekundären Vertices folgendes umfasst: eine Einrichtung zum Darstellen jedes nicht-ersten sekundären Vertex durch einen von vorbestimmten repräsentativen Randpixeln im Suchfenster, wobei jeder vorbestimmte repräsentative Randpixel einen repräsentativen Index aufweist und alle vorbestimmten repräsentativen Randpixel eine Untermenge der Randpixel im Suchfenster bilden; eine Einrichtung zum Erzeugen repräsentativer Indizes der vorbestimmten repräsentativen Randpixel, die die nicht-ersten Vertices als sekundäre Vertexinformation darstellen; und eine Einrichtung zum Bereitstellen der sekundären Vertexinformation als die Positionsinformation der sekundären Vertices.
  15. Vorrichtung nach Anspruch 13 oder 14, bei der der erste Kodierer (90, 120) folgendes umfaßt: eine Einrichtung zum Berechnen eines Differenzwertes zwischen Richtungsindizes jedes Paares nacheinander bestimmter sekundärer Vertices; und eine Einrichtung zum Kodieren der Position des ersten sekundären Vertex, eines Richtungsindex des zweiten sekundären Vertex und Richtungswerten für die verbleibenden sekundären Vertices, um dadurch die kodierten sekundären Konturdaten bereitzustellen.
DE1997637138 1997-01-10 1997-06-12 Verfahren und Vorrichtung zur Kodierung eines Objektkonturbildes in einem Videosignal Expired - Lifetime DE69737138T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR9700432 1997-01-10
KR1019970000432A KR100239307B1 (ko) 1997-01-10 1997-01-10 윤곽선 영상 부호화기

Publications (2)

Publication Number Publication Date
DE69737138D1 DE69737138D1 (de) 2007-02-08
DE69737138T2 true DE69737138T2 (de) 2007-04-19

Family

ID=19494359

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997637138 Expired - Lifetime DE69737138T2 (de) 1997-01-10 1997-06-12 Verfahren und Vorrichtung zur Kodierung eines Objektkonturbildes in einem Videosignal

Country Status (7)

Country Link
US (1) US5896467A (de)
EP (1) EP0853435B1 (de)
JP (1) JP4136031B2 (de)
KR (1) KR100239307B1 (de)
CN (1) CN1151678C (de)
DE (1) DE69737138T2 (de)
IN (1) IN192338B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998010592A1 (fr) * 1996-09-04 1998-03-12 Sony Corporation Codeur de compression d'images et procede de codage de compression d'images
KR100462999B1 (ko) * 1997-02-17 2005-06-27 주식회사 팬택앤큐리텔 대상물영상의정점위치다중부호화방법및이를이용한mpeg-4vop의정점위치다중부호화방법
KR19990008977A (ko) * 1997-07-05 1999-02-05 배순훈 윤곽선 부호화 방법
KR100295798B1 (ko) * 1997-07-11 2001-08-07 전주범 스케일러빌리티를구현한이진현상신호부호화장치
KR100472545B1 (ko) * 1997-12-20 2005-05-16 주식회사 대우일렉트로닉스 두가지코드워드길이를이용한버텍스코딩장치
JP4224748B2 (ja) * 1999-09-13 2009-02-18 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
DE19958063C2 (de) * 1999-12-02 2001-11-22 Siemens Ag Verfahren und Anordnung zum Abspeichern von Objektinformation
KR100732958B1 (ko) * 2004-08-13 2007-06-27 경희대학교 산학협력단 20면체 파노라마 영상의 부호화 및 복호화를 위한 방법 및장치
EP1679902A3 (de) 2005-01-06 2012-04-25 Qualcomm Incorporated Residualcodierung für einen Videostandard mit nichtstandardisierter Vektorquantisierung
US20120016574A1 (en) * 2010-07-16 2012-01-19 Research In Motion Limited Gps trace filtering

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100235345B1 (ko) * 1994-12-29 1999-12-15 전주범 분할영역에서의 움직임 추정방법 및 장치
JP3038143B2 (ja) * 1994-12-29 2000-05-08 現代電子産業株式会社 映像機器の物体別形状情報の減縮装置及びその減縮方法並びに多角近似化方法
KR0171151B1 (ko) * 1995-03-20 1999-03-20 배순훈 곡률 계산 기법을 이용한 이미지 윤곽 근사화 장치
US5691769A (en) * 1995-09-07 1997-11-25 Daewoo Electronics Co, Ltd. Apparatus for encoding a contour of an object
US5764808A (en) * 1995-10-26 1998-06-09 Motorola, Inc. Method and device for compact representation of a discrete region contour
KR970064261A (ko) * 1996-02-09 1997-09-12 모리시타 요우이치 윤곽 부호화 방법, 윤곽 복호화 방법, 및 그의 방법을 이용한 윤곽 부호화 장치, 윤곽 복호화 장치 및 그의 방법을 기록한 기록 매체
EP0831654B1 (de) * 1996-09-23 2002-07-24 Daewoo Electronics Co., Ltd Verfahren und Vorrichtung zur Kodierung eines Objektkonturbildes in einem Videosignal

Also Published As

Publication number Publication date
KR19980065442A (ko) 1998-10-15
JP4136031B2 (ja) 2008-08-20
KR100239307B1 (ko) 2000-01-15
EP0853435A3 (de) 2000-02-23
CN1187731A (zh) 1998-07-15
IN192338B (de) 2004-04-10
DE69737138D1 (de) 2007-02-08
CN1151678C (zh) 2004-05-26
EP0853435A2 (de) 1998-07-15
JPH10208062A (ja) 1998-08-07
US5896467A (en) 1999-04-20
EP0853435B1 (de) 2006-12-27

Similar Documents

Publication Publication Date Title
DE69324743T2 (de) Vorrichtung und Verfahren zur Bildsignalkodierung
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69523135T2 (de) Bildverarbeitungsvorrichtung und Verfahren
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69223560T2 (de) Einrichtung zur Verminderung von Quantisierungsstörungen in einem Zwischenbild-Hybrid-Kodierungssystem mit Bewegungskompensation
DE69320292T2 (de) Bildsignalcodierungsvorrichtung zur Minderung der Datenmenge in dem übertragenen Bild durch Übertragung von bestimmten Bildregionen
DE69125199T2 (de) Geometrische Vektorquantifizierung
DE69635836T2 (de) Verfahren und Vorrichtung zur Kodierung eines Bildes mit einer Kontur in einem Videosignal
DE69636277T2 (de) Verfahren und Vorrichtung zur Erzeugung von Farbart-Forminformation einer Video-Objektebene in einem Videosignal
DE69523439T2 (de) Verfahren und Vorrichtung zur Bildsignalkodierung mit einer Klassifizieranlage
DE19743202B4 (de) Verfahren zum Codieren eines Bewegungsvektors
DE69519801T2 (de) Videokompressionsverfahren
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE69837497T2 (de) Verfahren und vorrichtung zum kodieren eines videosignals
DE19609859C1 (de) Verfahren zur Bildung einer Bild-Transformationsmatrix für ein beliebig geformtes Bildsegment eines digitalen Bildes, durch einen Rechner
DE19737805A1 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
EP0346766A1 (de) Verfahren zur Reduktion von "Blocking"-Artefakten bei Videoszenen-Codierung mittels Diskreter Cosinus Transformation (DCT) bei niedriger Datenrate
DE69814212T2 (de) Gerät zur Bildsignalumwandlung
DE69125315T2 (de) Kodierverfahren und Kodiervorrichtung
DE69517791T2 (de) Vorrichtung zur Darstellung von Objektkonturen mit Konturannäherung
DE69737138T2 (de) Verfahren und Vorrichtung zur Kodierung eines Objektkonturbildes in einem Videosignal
DE19816898B4 (de) Vorrichtung und Verfahren zum adaptiven Codieren eines Bildsignals
DE69225649T2 (de) Bewegungskompensation mit Verwendung einer minimalen Bitanzahl je bewegtem Block als Kriterium für Blockübereinstimmung
DE69620586T2 (de) Adaptive Konturenkodierung
DE69737711T2 (de) Verfahren und Vorrichtung zur Kodierung einer Objektkontur unter Verwendung ihrer Zeitkorrelation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition