DE69935655T2 - Verfahren und vorrichtung zum zerlegungskomprimieren - Google Patents

Verfahren und vorrichtung zum zerlegungskomprimieren Download PDF

Info

Publication number
DE69935655T2
DE69935655T2 DE69935655T DE69935655T DE69935655T2 DE 69935655 T2 DE69935655 T2 DE 69935655T2 DE 69935655 T DE69935655 T DE 69935655T DE 69935655 T DE69935655 T DE 69935655T DE 69935655 T2 DE69935655 T2 DE 69935655T2
Authority
DE
Germany
Prior art keywords
contour
cell
coding
starting point
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69935655T
Other languages
English (en)
Other versions
DE69935655D1 (de
Inventor
Ferran Marques
Cristina Gomila
Antoni Gasull
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69935655D1 publication Critical patent/DE69935655D1/de
Application granted granted Critical
Publication of DE69935655T2 publication Critical patent/DE69935655T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren zum Codieren von segmentierten Bildern oder Partitionen, die in einheitliche Regionen unterteilt sind, denen jeweils spezifische Label zugeordnet sind, und eine entsprechende Vorrichtung. Diese Erfindung weist hauptsächlich Anwendungen auf, die sich auf den MPEG-4-Standard beziehen, zur Implementierung von MPEG-4-Codierern.
  • HINTERGRUND DER ERFINDUNG
  • Konventionelle Verfahren zum Codieren von segmentierten Bildern – oder Partitionen – gelten allgemein als ziemlich aufwendig hinsichtlich der Bitmenge, z.B. ein Durchschnittswert von 1,3 Bit je Konturpixel bei der sogenannten Kettencodierungstechnik. Deshalb sind verlustreiche Formcodierungstechniken vorgeschlagen worden, doch Verluste in der Forminformation haben oft eine inakzeptable Verschlechterung der subjektiven Qualität des Bilds zur Folge, das auf der Basis der decodierten Bilds angezeigt wird.
  • Quasi-verlustlose Formcodierungstechniken (und daher im weiteren Sinne quasi-verlustlose Partitionscodierungstechniken) sind vorgeschlagen worden. Zum Beispiel erlaubt der Multiple Grid Chain Code (MGCC)-Ansatz, der im Dokument „Multiple grid chain coding of binary shapes" von P. Nunes, F. Ferreira und F. Marqués (Proceedings of International Conference of Image Processing, vol. III, SS. 114-117, 26.-29. Oktober 1997, Santa Barbara, Kalifornien, USA) beschrieben wird, das leistungsfähige Codieren der binären Forminformation von Videoobjekten im Kontext objektbasierter Videocodierungssysteme. Dieser Ansatz erlaubt auch die generelle Partitionscodierung, wobei er mit sehr wenigen und kontrollierten Verlusten einhergeht, die nur auf isolierte Bildemente (Pixel) beschränkt sind, die den Grenzen der Regionen jeder Partition angehören.
  • Dieser konventionelle MGCC-Ansatz stützt sich auf eine Konturdarstellung der Partition. Wie in 1 gezeigt, die eine kleine Partition der Größe N × M mit zum Beispiel drei Regionen veranschaulicht, denen jeweilige Label (in diesem Fall durch graue, schwarze und weiße Kreise dargestellt) zugewiesen sind, weist jedes Pixel vier ver schiedene zugehörige Konturelemente auf. 2 zeigt dieselbe Partition wie in 1, doch mit Angabe der spezifischen Konturelemente, die die Änderungen zwischen jedem Paar Nachbarpixel anzeigt, die nicht der gleichen Region angehören. 3 zeigt in einer entsprechenden Matrix mit (2N + 1) × (2M + 1) Stellen die Implementierung beider Gitter: Das zu den Pixelstellen (= die Kreise) gehörige und das, das sich auf die Konturstellen (= die Liniensegmente) bezieht. Die Konturelemente, die zwischen Pixeln mit verschiedenen Labeln angeordnet sind, gelten als aktiv.
  • Ein Element des Konturgitters kann seinerseits bis zu sechs aktive Nachbarn haben, wie in 4 gezeigt, und aufgrund dessen wird das Konturgitter allgemein als Sechseckgitter bezeichnet. Eine Methode, die Partitionsinformation in das Konturgitter zu codieren, besteht darin, einen Anfangspunkt im Gitter zu wählen und die aktiven Stellen bis zum Ende der entsprechenden Kontur zu verfolgen. Diese Methode führt eine verlustlose Codierung der Partitionsinformation durch, indem sie die Bewegung von einem aktuellen Konturelement zum folgenden Nachbarkonturelement codiert (nur drei mögliche Bewegungen: geradeaus, rechts, links).
  • Eine andere Konturverfolgungsmethode besteht darin, sich mit größeren Schritten durch die Kontur zu bewegen, wobei nur Konturelemente codiert werden, die durch solche größeren Schritte verbunden werden: Im oben angeführten Dokument verwendet die beschriebene MGCC-Technik Basiszellen aus 3 × 3 Pixeln, wie die in 5 gezeigte, wo alle Kontur- und Pixelstellen in der Zelle dargestellt sind. Aus Gründen der Komprimierungsleistung werden zwei Zelltypen verwendet: Linksläufig, wie in 6, oder rechtsläufig, wie in 7. Die Indexierungsweise der verschiedenen Konturelemente in jedem Zelltyp ist angegeben: Die Konturanfangsstelle ist durch das Symbol 0 angegeben, und die anderen durch die Symbole 1 bis 7, wobei das Symbol 1 der Stelle zugewiesen wird, die auf der gleichen Seite der Zelle liegt wie das Symbol 0. Um eine Zelle zu kennzeichnen, sind daher drei Parameter notwendig: Ihre Konturanfangsstelle, ihr Typ (rechtsläufig oder linksläufig) und ihre Orientierung (=östlich oder westlich bei einer Zelle mit einem horizontalen Anfangskonturelement, nördlich oder südlich bei einem vertikalen). Der Codierungsalgorithmus wählt zwischen jedem dieser zwei Zelltypen, um die Zahl der Konturelemente, die pro Zelle codiert werden, zu maximieren.
  • Die MGCC-Technik verwendet diese Indexierung sowie deren möglichen Drehungen. Ausgehend vom Eingangselement der Zelle, das in 6 mit einer 0 indexiert ist, kann jedes Ausgangselement aus dem Satz (1, 2, ..., 6, 7) erreicht werden, der Weg durch die Zelle wird jedoch durch das Ausgangselement nicht eindeutig definiert: Wie im Beispiel von 8 und 9 gezeigt, kann eine Bewegung (in diesem Fall von 0 bis 4) tatsächlich zwei verschiedenen Konturkonfigurationen entsprechen. Die Konturelemente im Inneren der Zelle (8, 9, 10, 11), die nicht codiert sind, führen zu einer Mehrdeutigkeit im Codierungsprozess, da zwei verschiedene Sätze von Konturstellen (0, 8, 9, 4) oder (0, 11, 10, 4) möglich sind. Diese Mehrdeutigkeit führt zu Codierungsverlusten. Dennoch ist der einzig mögliche Fehler das falsche Labelling des zentralen Pixels der Zelle, d.h., nur eines isolierten Grenzpixels.
  • In einem Konturverfolgungsprozess werden dann mehre Zellen miteinander verbunden, um die Kontur zu vervollständigen. Um zwei Zellen zu verbinden, wird die Ausgangskonturstelle der aktuellen Zelle zur Eingangskonturstelle der folgenden Zelle, wie in 10 gezeigt. Wenn mit dem MGCC-Ansatz die Grenze einer Einzelregion codiert wird, wird der so erzeugte Bitstrom deshalb enthalten: (a) Die Position des Konturanfangsstelle und (b) die Kette von Symbolen, die die Bewegungen darstellen, die zur Verfolgung der Kontur durchgeführt wurde.
  • Im Konturverfolgungsprozess ist es erforderlich, die Position der Basiszelle durch das Gitter progressiv zu verändern. Die vorgeschlagene Technik wird zum Beispiel im Artikel „Encoding of line drawings with a multiple grid chain code" beschrieben, von T. Minami und K. Shinohara, IEEE Transactions an Pattern Analysis and Machine Intelligence, vol. PAMI-8, Nr. 2, März 1986, SS. 269-276. Das Grundprinzip wird Bezug nehmend auf 11 bis 15 erläutert.
  • Wie in 11 angegeben, das ein Codierungsbeispiel mit einem festen Gitter zeigt, wurde hier in der ersten Zelle (die eine linksläufige ist) durch ein Kontursegment das Symbol 4 codiert. Wenn Zellen des gleichen Gitters verwendet werden, wird das Symbol 7 (12) in der zweiten Zelle zur Verfolgung der Kontur benutzt (wobei das Symbol 0 stets die neue Anfangs- bzw. Eingangsstelle ist), und das Symbol 2 (13) in der dritten, wobei diese zweite und dritte Zelle in diesem Fall rechtsdrehend sind. Demnach werden drei Zellen benötigt, um die Kontur von der ersten Anfangsstelle aus zu verfolgen. Demgegenüber werden nur zwei benötigt, wenn das Gitter (d.h., tatsächlich die Position des Zentrums der Zelle) geändert wird: Wie in 14 und 15 gezeigt, die eine Modifikation des Gitters in Bezug auf das Beispiel von 11 bis 13 veranschaulichen, wird nun nur eine zweite Zelle benötigt, um zur selben Ausgangsstelle zu gelangen.
  • Diese Lösung von 14 und 15 führt zu einer kompakteren Darstellung der Kontur. Doch drei verschiedene Klassen von Gittern sind dann notwendig, um die Verschiebung jedes Gitters in Bezug auf den Ursprung der entsprechenden Zelle (GO genannt) vor dieser Verschiebung zu definieren. Diese drei Klassen G1, G2, G3 werden, definiert durch die Position (x, y) des Pixels, das der Ursprung jedes Zelltyps ist, in Bezug auf das Pixel, das der Ursprung der entsprechenden Zelle ist, wie in der folgenden Klassifikationstabelle angegeben:
  • TABELLE
    Figure 00040001
  • Im Beispiel von 10 wurde eine Zelle der Klasse G2 verwendet (in Bezug auf die entsprechende aktuelle Zelle G0); in einem anderen Beispiel, das in 16 dargestellt ist, wurde eine Zelle der Klasse G1 verwendet (in Bezug auf die entsprechende aktuelle Zelle G0).
  • Der oben beschriebene MGCC-Ansatz kann aber nur verwendet werden, um binäre Partitionen zu codieren. Im Falle von generell segmentierten Bildern enthalten die Partitionen Regionen, die gemeinsame Konturen aufweisen, weshalb dieser Absatz nicht mehr geeignet ist.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung ist daher die Bereitstellung eines verbesserten Verfahrens, das auch das Konturgitter des zuvor definierten Typs verwendet, aber zu einer generellen und leistungsfähigeren Codierung der Kontursegmente der Regionen eines Bilds führt.
  • Zu diesem Zweck betrifft die Erfindung ein Codierverfahren, um einen sogenannten Intramode-Codierprozess jeder aufeinanderfolgenden Partition zu definieren, umfassend die Schritte des:
    • (a) Umwandelns des Labelbilds in eine Beschreibung in Form einer Konturelementkette, in welcher die Elemente anhand ihrer Bewegungen durch aufeinanderfolgende Basiszellen zwischen einem Eingangspunkt und einem Ausgangspunkt dieser Zellen definiert werden;
    • (b) Verfolgens, innerhalb jeder aufeinanderfolgenden Zelle, jeder Kontur von ihrem Konturanfangspunkt, der zuvor extrahiert wurde, zu ihrem Ende, durch Speichern von Kettensymbolen, die sowohl den Eingangs-, Innen- und Ausgangskonturelementen dieser Zelle als auch den Prioritäten zwischen möglichen mehrfachen Ausgangselementen entsprechen, wobei dieser Verfolgungsschritt vorgesehen ist, um die Konturelemente einer Priorität des Typs „geradeaus-rechts-links" entsprechend zu wählen;
    • (c) Wiederholens dieser Schritte bis zum Ende jedes aufeinanderfolgenden Kontursegments der betreffenden Partition;
    • (d) Codierens der Information, die in jeder Zelle dem Anfangspunkt jedes Konturelements und der zugehörigen Bewegungskette zwischen diesem Anfangspunkt und dem Anfangspunkt der folgenden Zelle entspricht;
    wobei dieses Verfahren ferner dadurch gekennzeichnet ist, dass der Verfolgungsschritt einen prioritätsbestimmenden Unterschritt umfasst, der vorgesehen ist, um in jeder Zelle, die von Mehrfachausgängen betroffen ist, den Ausgangskonturpunkt mit der höchsten Priorität auf der Basis des längsten Konturwegs zu bestimmen, der den Eingangskonturpunkt mit den möglichen Ausgangskonturpunkten verbindet, wobei die übrigen Ausgangskonturpunkte dann der Priorität des Typs „geradeaus-rechts-links" entsprechend geordnet werden.
  • Das Dokument „Shape and location coding for contour images", F. Marqués et al., PCS'93, 17-19. März 1993, Proceedings of the Picture Coding Symposium, Lausanne, SFIT, Schweiz, das eine Formcodierungstechnik beschreibt, in der zu codierende Konturelemente mit einer Priorität des Typs „geradeaus-rechts-links" verfolgt werden, beschreibt jedoch keine Verbesserung der Art, die es erlaubt, in diesem Verfolgungsschritt in Zellen, die von Mehrfachausgängen betroffen sind, eine bessere Definition der Priorität zwischen Ausgangskonturpunkten zu erhalten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der Erfindung werden nun Bezug nehmend auf die beiliegenden Zeichnungen ausführlicher beschrieben, wobei:
  • 1 ein Beispiel einer Partition der Größe M × N (wobei in diesen Fall M = N = 5) zeigt, und 2 die gleiche Partition mit den Konturelementen, die die Grenzen zwischen verschiedenen Regionen formen;
  • 3 beide Gitter vereint (das eine mit den Pixelstellen und das andere mit den Konturstellen);
  • 4 eine Darstellung der sechs aktiven Nachbarn eines Konturelements des Konturgitters ist;
  • 5 eine Basiszelle mit 3 × 3 Pixeln zeigt, die in der MGCC-Technik verwendet wird;
  • 6 und 7 die Indexierungsweise der Konturelemente bei einer linksläufigen und einer rechtsläufigen Zelle zeigen, und 8 und 9 für dieselben Eingangs- und Ausgangselemente einer Zelle zwei verschiedene Konturkonfigurationen in dieser Zelle zeigen;
  • 10, 11 bis 13, 14 bis 15 und 16 zwei verschiedene Lösungen zeigen, um Zellen bei einem Konturverfolgungsprozess zu verbinden;
  • 17 ein Flussdiagramm ist, das ein komplettes Schema des erfindungsgemäßen MGCC-Codierverfahrens zeigt;
  • 18 und 19 den Schritt, in diesem Codierverfahren, der Konturverfolgung innerhalb einer Zelle des Gitters veranschaulichen, und 20 bis 22 veranschaulichen, wie zwei Ausgangskonturen während eines Prioritätsbestimmungsschritts geordnet werden;
  • 23 und 24 zwei Beispiele von Zellen mit Mehrfachausgängen zeigen;
  • 25 bis 28 eine andere Implementierung der Erfindung darstellen, auch Scalable Mode-Codierung genannt;
  • 29 ein spezielles Beispiel einer Zelle im Falle einer anderen modifizierten Implementierung der Erfindung zeigt, Intermode-Codierung genannt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Das Flussdiagramm in 17 entspricht einem Grundschema eines erfindungsgemäßen MGCC-Intramode-Codierverfahrens. Dieser MGCC-Codierprozess wird auf Konturbilder angewandt, die auf einem Konturgitter des Typs definiert sind, wie er Bezug nehmend auf 4 und 5 beschrieben wurde. Eine Partition, die gewöhnlich in Form von Labels beschrieben wird, muss demnach in eine Beschreibung von Kontur elementen im Sechseckgitter umgewandelt werden. Die Hauptschritte des vorgeschlagenen Verfahrens, die im Block durchgeführt werden, der in 17 durch das Bezugszeichen 400 bezeichnet ist, sind daher die folgenden: Erzeugung des Konturbilds, Extraktion der Anfangspunkte aus dem Bild, Zellcharakterisierung, Konturverfolgung, Bestimmung der Priorität in der Konturverfolgung, Verwaltung der Mehrfachpunkte, Ende des Prozesses und Extraktion des nächsten Anfangspunkts, wobei auf diese Schritte die Endcodierungsschritte folgen.
  • Der erste Schritt 401 des vorgeschlagenen Verfahrens ist vorgesehen, um die Konturbilder zu erzeugen, die später codiert werden. Die Originalpartitionen, die in Form von Bildlabeln beschrieben sind, müssen daher in eine Beschreibung in Form von Konturelementen umgewandelt werden, die mit dem oben beschriebenen Sechseckgitter definiert werden.
  • Der zweite Schritt 402 ist vorgesehen, um alle Konturanfangspunkte aus dem Bild zu extrahieren. Es ist hier anzumerken, dass das Bild rasterweise (von oben nach unten und von links nach rechts) abgetastet wird. Ein MGCC-Verfahren codiert eine Bildkontur, indem es jede Region (oder Cluster von Regionen, zum Beispiel, wenn mehrere innere Regionen, die keinen Konturkontaktpunkt zu anderen Regionen aufweisen und daher keinen Tripelpunkt ergeben) einzeln adressiert. Die erste Kontur, die zu berücksichtigen ist, ist dann stets die Kontur des Bildrahmens: Da dem Empfänger die Form solch eines Bildrahmens bereits bekannt ist, ist die einzige Information, die von diesem Bildrahmen codiert zu werden braucht, die Position der Anfangspunkte, die den Anfang neuer Kontursegmente definieren. In der Praxis werden Konturpunkte, die diesen Rahmen berühren (das heißt, die Charakteristik der Zelle, die diese spezifischen Konturpunkte als Eingangskontur aufweist) in einen Puffer (eine FIFO-Warteschlange) gespeichert und dann „SCHWEBENDE" Punkte genannt (zur spezifischen Behandlung, wie weiter unten beschrieben).
  • Der dritte Schritt 403 ist einer zur Zellcharakterisierung. Denn sobald der Anfangspunkt einer Kontur gewählt wurde, muss die Zelle, die ihn definiert, charakterisiert werden. Für alle Anfangspunke wird die Klasse des Gitters auf G0 gesetzt (siehe die obige Klassifikationstabelle). Im Fall eines Konturanfangspunkts, der die Rahmenkontur berührt, legt die Seite des Rahmens, auf der dieser Punkt angeordnet ist, die Orientierung und den Typ der Zelle fest, wie in dieser Tabelle gezeigt (wo c und cc jeweils rechtsläufig und linksläufig bedeuten).
  • TABELLE 2
    Figure 00080001
  • Wie zu ersehen ist, wird im Falle eines Anfangspunkts in einem inneren Cluster von Regionen aufgrund der verwendeten Abtastung der Typ auf „linksdrehend" und die Orientierung auf „östlich" gesetzt. Im Falle einer Zelle, deren Eingangskonturstelle weder ein Konturpunkt ist, der den Rahmen berührt, noch der Anfangspunkt eines Clusters, hängt deren Charakterisierung von der Vorhersage auf der Basis der Bewegung ab, die in der vorherigen Zelle durchgeführt wurde. Demnach ist die Eingangskontur der aktuellen Zelle die Ausgangskontur der vorherigen, und die Zuweisung der Orientierung und des Zelltyps folgt den Regeln, die in Tabelle 3 angegeben sind, in welcher die zweite Zeile (N, E, S, W, c, cc) die Daten der aktuellen Zelle darstellt:
  • TABELLE 3
    Figure 00080002
  • Sobald eine Zelle charakterisiert worden ist, muss die Konturinformation in der Zelle in der Symbolkette gespeichert werden. Ein Konturverfolgungsschritt 404 ist dann vorgesehen. In diesem Schritt werden nur die Konturelemente berücksichtigt, die mit der Anfangskontur der Zelle verbunden sind, wobei die anderen innerhalb der Zelle (die nicht mit der Anfangskontur verbunden sind), zurückgezogen und später während des Verfolgungsprozesses analysiert werden. Ausgehend von der Eingangskontur wird die Verfolgung mit der folgenden Priorität durchgeführt: geradeaus – rechts – links, so dass eine Liste von Ausgangskonturen erzeugt wird, die mit der Eingangskontur verbunden sind. Während dieses Verfolgungsvorgangs werden Kontureingangs- und -ausgangspunkte als EINAUS markiert, und die anderen Konturpunkte innerhalb der Zelle, die zur Verbindung der Eingangs- und Ausgangskonturen notwendig sind, werden als INNEN markiert. Dieser Schritt 404 der Konturverfolgung innerhalb der Zelle wird in 18 und 18 veranschaulicht. Eine Originalzelle ist in 18 dargestellt: Weil die Ausgänge 5 und 6 nicht mit dem Eingang verbunden sind, werden sie in 19 zurückgezogen. Die Konturen, die weder Eingangs- noch Ausgangsstellen sind, werden als INNEN markiert.
  • Der Satz von Konturen, die erkannt wurden, werden dann in der Symbolkette gespeichert. Wenn nur eine Ausgangskontur gefunden wird, wird die Bewegung, die die Eingangs- mit der Ausgangskontur verbindet, gespeichert; wenn mehrfache Ausgangspunkte erkannt werden, wird die Zelle zum Codieren der Konturkonfiguration mehr als ein Symbol erfordern, Ein Prioritätsbestimmungsschritt 405 ist dann vorgesehen.
  • In diesem Schritt startet für jeden zusätzlichen Ausgang die Unterkette, die die Konturinformation in der Zelle beschreibt, mit einem Symbol M, was für "Mehrfachausgang" steht. Wenn die Unterkette einer Zelle mit n Symbolen M startet, beschreiben die folgenden (n + 1) Symbole daher ihre verschiedenen aktiven Ausgänge. Der Satz Ausgangskonturen wird in einer bestimmten Reihenfolge in der Kette gespeichert (was später im Decoder von Nutzen sein wird, um die Unsicherheit des zentralen Pixels der Zelle zu lösen). Das Symbol, das sich auf die Ausgangskontur mit der höchsten Priorität bezieht, wird direkt nach dem Satz der Symbole M in die Kette eingefügt und wird zur Eingangskontur für die nächste Zelle (wenn die Kontur nicht abgeschlossen wird). Das Symbol mit der höchsten Priorität wird durch die Länge des Kontursegments festgelegt, das die Eingangskontur mit jeder der Ausgangskonturen verbindet: Es ist das Symbol mit dem längsten Weg, was den Vorteil aufweist, dass die Zahl der Konturelemente, die pro Zelle codiert wird, maximiert wird. Wenn zwei Konturelemente gleiche lang sind, wird die Zweideutigkeit durch Berücksichtigung, der vorgenannten Verfolgungspriorität gelöst: geradeaus – rechts – links. Die anderen Ausgangskonturen werden nicht auf der Basis des Längenkriteriums geordnet (solch eine Ordnung würde nur sehr wenig Unsicherheitsfälle lösen, während sie die Komplexität des Decoders erhöhen würde), sondern auf der Basis der Verfolgungspriorität (geradeaus – rechts – links).
  • Beispiele können zum besseren Verständnis gegeben werden. Die Ordnung von zwei Ausgangskonturen wird in 20 bis 22 gezeigt. In 20 führt der längste Weg zum Ausgang 1, und die Symbole in der Kette sind daher M15. In 21 führt der längste Weg zu 5: Die Symbole sind demnach M51. Dieser Satz von Symbolen ergibt aber keine einmalige Zellkonfiguration, weil das dritte Beispiel von 22 zur gleichen Darstellung M51 führt. Im diesem letzten Fall sind die Wege, die zu den beiden Ausgängen (5 und 1) führen, gleich lang: Der Verfolgungspriorität gemäß ist die resultierende Kette deshalb M51.
  • Für den Fall einer Unterkette mit n Symbolen M werden in 23 und 24 zwei Beispiel von Zellen mit Mehrfachzellen gegeben. Das Beispiel von 23 entspricht einer Zelle mit zwei Tripelpunkten. Die Symbolkette, die die Konturinformation dieser Zelle beschreibt, ist MM153. (es ist anzumerken, dass das Symbol 5 in der Unterkette zuerst auftritt, obwohl der der Weg, der zum Ausgang 3 führt, länger ist als der, der zum Ausgang 5 führt: Dies ist auf die Ordnung der Nichtprioritätssymbole zurückzuführen, die auf der Verfolgungspriorität statt auf dem Längenkriterium basiert). Im Beispiel von 24, wo ein Quadrupelpunkt vorliegt, ist die Symbolkette, die die Konturinformation dieser Zelle beschreibt, MM356 (der Weg, der zu 3 führt, ist der längste, und die Verfolgungspriorität gibt 5 die Priorität gegenüber 6).
  • Wenn in einer Zelle ein Mehrfachausgang beobachtet wird, wird daher ein spezifisches Symbol in die Unterkette eingefügt, wie soeben beschrieben. Auf diesen Vorgang folgt eine Mehrfachpunktverwaltungsschritt 406. Während dieses Schritts wird der Ausgang mit geringerer Priorität (es sei denn, er schließt das Kontursegment ab) in einen Puffer für schwebende Punkte (eine FIFO-Warteschlange) gespeichert, und alle Ausgangspunkte, die auf diese Weise im Puffer gespeichert werden, werden mit der Markierung „SCHWEBEND" versehen.
  • Der Grund für solch einen Markierungsvorgang ist, dass nicht alle Punkte, die im Speicher gespeichert werden, in Zukunft gebracht werden, um auf ein neues Kontursegment zu verweisen. Denn während des Verfolgungsprozesses kann eine neue Zelle einen Konturpunkt enthalten, der bereits zuvor als „SCHWEBEND" markiert wurde. In diesem Fall ist das Segment, das diesem „SCHWEBENDEN" Konturpunkt zugeordnet war, bereits fertig, und der entsprechende Mehrfachpunkt muss aus der Kette entfernt werden (beim Löschen der Wirkung eines Mehrfachpunkts aus der Kette müssen zwei Symbole entfernt werden: Das Symbol M für Mehrfachpunkts wird zuerst aufgehoben, und dann wird die Bewegung entfernt, die den Eingang der Zelle mit dem betreffenden Mehrfachpunkt verbunden hat, was zum Beispiel dazu führt, dass in der Unterkette nur noch das einzige Symbol 3 übrig bleibt, wenn die Information in einer Zelle zuvor mit der Unterkette M35 codiert war und die neue Zelle für den zweiten Ausgang gilt, der sich auf die Bewegung zu 5 bezieht).
  • Darüber hinaus muss die betreffende Ausgangskontur entweder aus dem Puffer der möglichen Anfangspunke, wenn sie den Rahmen berührt, oder aus dem Puffer für „SCHWEBENDE" Punkte entfernt werden. Schließlich muss die Markierung des erstgenannten Ausgangspunkts – die in Bezug auf die Bewegung zu 5 – aktualisiert werden. Wenn die neue Zelle diesen Konturpunkt als Ausgang aufweist, wechselt seine Markierung von „SCHWEBEND" zu „EINAUS". Wenn den neue Zelle diesen Konturpunkt als inneren Konturpunkt aufweist, wechselt seine Markierung von „SCHWEBEND" zu „INNEN".
  • Der letzte Schritt des Verfolgungsprozesses, in 17 durch das Bezugszeichen 407 bezeichnet, ist vorgesehen, um eine Kontur (Test 471), einen Cluster (Test 472) oder die Partition (Test 473) zu beenden. Das Ende eines Kontursegments basiert auf den Konturelementen, die zuvor während des Verfolgungsprozesses als „EINAUS" markiert wurden. Wenn eine Ausgangskontur in einer Zelle mit einer Kontur übereinstimmt, die als „EINAUS" markiert ist, ist dieser Zweig des Kontursegments abgeschlossen. Wenn die Ausgangskontur die mit der höchsten Priorität ist, ist das Ende des Konturelements erreicht (auf der Decoderseite erlaubt dies den Abschluss von Konturen an bekannten Konturstellen und die Vermeidung einer möglichen Spaltung von Regionen). Ferner, wenn die Ausgangskontur als „INNEN" oder „SCHWEBEND" markiert ist, aber eine der folgenden Konturstellen, die von ihr aus erreicht werden können, „EINAUS" ist, wird die Kontur (oder der Zweig) ebenfalls beendet.
  • Wenn ein Kontursegment endet, muss geprüft werden, ob der Cluster von Regionen fertiggestellt ist. Der Puffer der „SCHWEBENDEN" Punkte wird zuerst geprüft, um zu sehen, ob weitere „SCHWEBENDE" Punkte in ihm vorhanden sind, oder ob alle davon bereits extrahiert wurden. Wenn keine „SCHWEBENDEN" Punkte übrig sind, wird der Puffer der möglichen Anfangspunkte (Anfangspunkte, die den Rahmen berühren) geprüft (die Extraktion der Konturen zuerst aus dem Puffer der „SCHWEBENDEN" Punkte erfolgt aus Gründen der Codierungsleistung). Wenn beide Puffer leer sind, ist der Cluster fertig und ein neuer (falls vorhanden) wird auf entsprechende Weise in Betracht gezogen.
  • Wie zuvor erwähnt, wird das Bild rasterweise (von oben nach unten und von links nach rechts) abgetastet, und die erste uncodierte aktive Kontur wird als der Anfangspunkt für einen neuen Cluster von Regionen genommen. Wenn keine uncodierten aktiven Konturen mehr vorhanden sind, ist die gesamte Partition codiert worden.
  • Dieser letzte Schritt des Verfolgungsprozesses ist daher in die drei Unterschritte 471 bis 473 unterteilt. Solange die Kontur nicht beendet ist (Test 471), erlaubt die Rückwärtsverbindung, die Schritte 403, 404, 405, 406 zu wiederholen. Sobald eine Kontur beendet ist, wird der Test „Ende des Clusters" vorgenommen (Testunterschritt 472). Solange der Cluster von Regionen nicht fertig ist, wird die folgende Prozedur durchgeführt. Der Puffer der „SCHWEBENDEN" Punkte wird geprüft (Vorgang 74: Auffinden eines gespeicherten schwebenden Punkts), um zu sehen, ob weitere „SCHWEBENDE" Punkte darin vorhanden sind. Wenn alle davon bereits extrahiert wurden, wird der Puffer der möglichen Anfangspunke, die den Rahmen berühren, geprüft (die Extraktion der Konturen zuerst aus dem Puffer der „SCHWEBENDEN" Punkte erfolgt aus Gründen der Codierungsleistung). Wenn beide Puffer leer sind, ist der Cluster fertig, und ein neuer Cluster von Regionen wird in Betracht gezogen (Vorgang 73: Extraktion des nächsten Anfangspunkts). Wenn keine uncodierten aktiven Konturen mehr vorhanden sind (Test 473), bedeutet dies, dass die gesamte Partition verarbeitet wurde.
  • Der letzte Schritt des Partitionscodierungsverfahrens ist ein Entropiecodierungsschritt 408, umfassend einen ersten Codierungsunterschritt 481 zum Codieren der Information der Anfangspunke und einen zweiten Codierungsunterschritt 482 zum Codieren der Bewegungskette.
  • Zur Implementierung des Unterschritts 481 ist es notwendig, zwischen den äußeren Anfangspunkten und den inneren zu unterscheiden. Alle Anfangspunke, die den Rahmen berühren (d.h., sich auf den ersten Cluster beziehen), werden zusammen als Kopfsatz der ersten Bewegungskette codiert. Für jeden Anfangspunkt, der den Rahmen berührt, wird die Position des Rahmenpunkts vor diesem Anfangspunkt codiert. Diese Anfangspunkte werden anhand zwei verschiedener Wortlängen indexiert: P Bits werden für die horizontale Abmessung des Bilds (Ober- und Unterseite) verwendet, und Q Bits für die vertikale (linke und rechte Seite), mit zum Beispiel P = log2[dim_x] und Q = log2[dim_y]. Wenn auf einer Seite des Rahmens schließlich keine zu codierenden Punkte übrig bleiben, wird ein spezifisches Wort benutzt, um diese Situation anzuzeigen (zum Beispiel PT oder QT). Wenn der letzte den Rahmen berührende Anfangspunkt codiert worden ist, wird ein anderes spezifisches Wort (zum Beispiel Po oder Qo) verwendet, um den Start der Bewegungskette anzuzeigen. Wenn keine Anfangspunkte auf dem Rahmen vorhanden sind, steht das Wort Po vor einem Code („intern_ip"), der dem ersten inneren Anfangspunkt gegeben wird. Die Codierungsweise dieser verschiedenen Situationen, die verschiedenen Zahlen von Anfangspunkten auf den vier Seiten des Rahmens entsprechen, ist in der folgenden Tabelle angegeben:
  • TABELLE 4
    Figure 00130001
  • Innere Anfangspunkte werden auf entsprechende Weise indexiert. Da sie erhalten wurden, indem das Bild von oben nach unten abgetastet wurde, entspricht ein innerer Anfangspunkt stets einer horizontalen Konturstelle. Deshalb werden nur die horizontalen Konturen indexiert.
  • Auch wenn zur Implementierung des Unterschritts 482 die optimale Lösung die Analyse der Wahrscheinlichkeiten der für jede codierte Partition beinhaltet, wurden gute Ergebnisse mit einer einfacheren, nicht optimalen Lösung erhalten, die einen generischen Satz von Tabellen verwendet, dementsprechend die Partition je nach Zahl ihrer Regionen klassifiziert werden (um die homogene Symbolwahrscheinlichkeit zu behandeln). Drei Gruppen von Analysen werden abhängig von der Dichte (niedrig, mittel, hoch) angeboten, und es werden Huffmantabellen verwendet, die jeweils diesen Gruppen zugewiesen sind.
  • NIEDRIG
    Figure 00140001
  • MITTEL
    Figure 00140002
  • HOCH
    Figure 00150001
  • Die Erfindung, wie sie oben beschrieben wurde, ist keineswegs auf die genannten und gezeigten Ausführungsformen eingeschränkt, und Alternativen oder Verbesserungen können auf deren Basis vorgeschlagen werden.
  • Zum Beispiel kann die Implementierung des Intramode-MGCC-Codierungsverfahrens auf einen Scalable Mode-Codierungsansatz angewandt werden. Der Fall von zwei Schichten – einer Basic-Layer und einer Enhancement-Layer – wird nun beschrieben, doch die Ausweitung auf mehrere Schichten liegt auch im Rahmen der Erfindung.
  • Für eine gegebene Partition kann ein Teilsatz ihrer Konturen separat gesendet werden, um eine Grobdarstellung zu formen, die die Basic-Layer darstellt. Die übrigen Konturen, die die Enhancement-Layer darstellen, die mit der Basic-Layer die Formung der kompletten Partition erlaubt, können in einem späteren Schritt gesendet werden. Dies wird in 25 bis 28 veranschaulicht, wo eine komplette Partition eines in 25 gezeigten Bilds in 26 dargestellt ist, die Basic-Layer in 27 gezeigt wird und 28 die Konturen enthält, die zur Enhancement-Layer gehörigen.
  • Es ist anzumerken, dass die Definition der Basic-Layer anwendungsabhängig sein kann. Je nach Anwendung können verschiedene Konturensätze verwendet werden, um jeweils die zwei Lagers zu formen. Im Beispiel von 25 bis 28 wurden die zwei Lagers gewählt, um die separate Codierung von spezifischen Objekten anzusprechen (wobei die Basic-Layer dem Umriss von zwei Personen entspricht). Da die Basic-Layer und die Enhancement-Layer separat codiert wurden, kann das Decodieren der Basic-Layer auch unabhängig erfolgen, wenn diese grobe Partition ausreicht, oder in Verbindung mit der Enhancement-Layer, wenn die komplette Partition benötigt wird.
  • Die Codierung der Basic-Layer wird dem zuvor beschriebenen Verfahren entsprechend durchgeführt. Um die Codierungsleistung der Basic-Layer so hoch zu halten, als wäre sie die einzige Information, die zu übertragen ist, wurde kein zusätzliches Symbol in den Bitstrom der Basic-Layer eingefügt, um die mögliche Decodierung der Enhancement-Layer zu erlauben.
  • Zur Codierung der Enhancement-Layer müssen einige Schritte des Intramode-MGCC-Verfahrens in Bezug auf die Codierung der Basic-Layer geändert werden, vor allem der Schritt der Extraktion der Anfangspunkte. Der MGCC-Ansatz codiert die Basic-Layer, indem er jeden Cluster von Regionen separat adressiert. Im Falle der Enhancement-Layer werden Cluster von Kontursegmenten adressiert. Im Intramode-MGCC-Verfahren werden Anfangspunkte, die den Rahmen berühren, unter Ausnutzung der Tatsache codiert, dass der Rahmen auf der Decoderseite bekannt ist. Dieses Konzept wird weiter ausgenutzt, da im Scalable Mode dem Empfänger die komplette Basic-Layer bekannt ist (mit Ausnahme der Unsicherheitspixel im Zentrum der MGCC-Zellen). Die Anfangspunkte der Enhancement-Kontursegmente werden direkt auf bekannten Konturen angeordnet: Dies sind alle Konturen, die während des Codierungsvorgangs der Basic-Layer als „RAHMEN" oder „EINAUS" markiert wurden. Bekannte Konturelemente, die als Anfangspunkte verwendet werden, werden indexiert, wobei das Bild von oben nach unten und von links nach rechts abgetastet wird.
  • Es ist anzumerken, dass Anfangspunkte nicht als Nachbarkonturstellen der bekannten Kontur definiert werden können, wie dies im Intramode-MGCC-Verfahren der Fall ist. Im Unterschied zur Codierung von Anfangspunkten, die im Intramode-MGCC-Verfahren den Rahmen berühren, sind zwei Anfangskonturstellen möglich, wenn ein anderes bekanntes Konturelement als Bezug verwendet wird. Konturpunkte von der Basic-Layer, die mit der Enhancement-Layer in Kontakt sind, werden daher in einen Puffer der möglichen Anfangspunk gespeichert und als „SCHWEBEND" markiert.
  • Wenn keine Konturpunkte vorhanden sind, die mit der Basispartition in Kontakt sind, geht der Prozess zum Schritt „Ende der Partition" über und extrahiert den Konturanfangspunkt der ersten Region, wenn eine innere Region im Bild vorhanden ist.
  • Wenn solch ein Anfangspunkt vorliegt, werden die gleiche Orientierung und der gleiche Zelltyp verwendet wie die, die an dieser spezifischen Stelle beim Codieren der Basic-Layer definiert wurden. Die Charakterisierung von Zellen, die keine Anfangspunkte enthalten, ändert sich nicht.
  • Wie zuvor werden Konturstellen innerhalb der Zelle, die mit der Anfangskontur nicht verbunden sind, zurückgezogen. Darüber hinaus werden Konturen, die zur Basispartition gehören, nur als Anfangs- oder Endpunkte eines Enhancement-Kontursegments berücksichtigt. Die Verwaltung der Mehrfachpunkte und Prioritäten bei der Konturverfolgung wird in Bezug auf den Fall der Basic-Layer nicht modifiziert.
  • In der Enhancement-Layer basiert das Ende eines Konturelements auf die Konturelemente entweder aus der Basic- oder der Enhancement-Layer, die zuvor während des Verfolgungsschritts als „EINAUS" markiert wurden. Wenn die Ausgangskontur die mit der höchsten Priorität ist, ist das Ende des Kontursegments erreicht. Wenn die Ausgangskontur zudem als „INNEN" (aus der Basic- oder Enhancement-Layer) oder „SCHWEBEND" (nur aus der Enhancement-Layer) markiert ist, aber eine der folgenden Konturstellen, die von diesem aus erreicht werden kann, „EINAUS" sind, ist die Kontur (oder der Zweig) ebenfalls beendet. Schließlich werden das Ende des Clusters und das Ende der Partition wie im Intramode-MGCC-Verfahren erkannt.
  • Das vorgeschlagene Intramode-MGCC-Verfahren kann auch auf ein Intermode-MGCC-Verfahren ausgeweitet werden. Denn es ist bekannt, dass es zur leistungsfähigen Codierung einer Bildpartitionssequenz erforderlich ist, die zeitliche Redundanz zu ausnutzen, die zwischen aufeinanderfolgenden Partitionen in der Sequenz besteht; Das Dokument EP 0789973 (PHF95553) beschreibt eine Codierungstechnik, in welcher Regionen der aktuellen Partition entweder im Intramode oder im Intermode codiert werden, um die Codierungsleistung zu erhöhen. In beiden Modi kann das MGCC-Verfahren angewandt werden, um die Menge der Codierungsbits zu verringern. Der generische Ansatz der Intermode-Partitionscodierung wird daher zuerst in Gedächtnis zurückgerufen, und dann werden Änderungen detailliert, die zur Anpassung des Intramode-MGCC-Verfahrens notwendig sind.
  • Eine Sequenz von Partitionen wird allgemein auf der Basis der Schätzung der Bewegung zwischen aufeinanderfolgenden Partitionen codiert (wobei diese Schätzung auf einem Schätzverfahren und einem Bewegungsmodell basiert). Sobald die Bewegungs parameter erhalten wurde, werden sie benutzt, um die Form der Regionen in der folgenden Partition vorherzusagen. Es kann sein, dass einige Regionen in der neuen Partitionen im Intramode codiert werden müssen, weil sie in dieser Partition erstmals aufgetreten sind, oder weil es effizienter schien, sie auf diese Weise zu codieren. Diese Intraregionen, die an sich schon eine Partition formen, werden zuerst codiert. Nach ihrer Übertragung kann der Empfänger mit ihnen auch eine entsprechende Partition erzeugen, und eine zugehörige Maske, die das Bild in einen Intrabereich, dessen Regionen bereits verfügbar sind, und in einen Interbereich aufteilt, dessen Regionen bewegungskompensiert werden. Die Kompensation wird durchgeführt, indem jeder Bewegungsparametersatz für alle Pixel im Interbereich getestet wird: Die Kompensation gilt nur dann als gültig, falls der Parametersatz, der zu einer Region Ri gehört, wenn auf ein bestimmtes Pixel angewandt wird, es zu einem Pixel in der vorherigen Partition kompensiert, das auch der Region Ri angehört. Wenn die kompensierten Konturen nicht genau mit den Konturen der Originalpartition übereinstimmen, wird der Satz von Konturen, die anders sind, als Fehler der kompensierten Partition gesendet. In der Praxis werden Konturen aus der Originalpartition und Konturen der Intra- und Interregionen, die nach dem Bewegungskompensationsschritt erhalten wurden, addiert, um ein einzelnes Konturenbild zu ergeben, eine Art Überpartition, in der neue Regionen durch den Schnittpunkt der originalen Interregion-Konturen und bewegungskompensierten Konturen geformt werden. Nachdem einige dieser Regionen entfernt worden sind (Vereinfachungsschritt), werden Konturen aus der Originalpartition, die zu den übrig bleibenden neuen Regionen gehören (die nicht durch den Vereinfachungsschritt beseitigt wurden) gemeinsam mit ihren eigenen Labels übertragen.
  • Das Intramode-MGCC-Verfahren kann auch in der Intermode-Technik angewandt werden, um den Satz von Intraregionen sowie die zusätzlichen Kontursegmente zu codieren, die den Fehler der kompensierten Partition bleiben. Dieser Satz von Intraregionen formt eine Partition, die direkt mit dem Intramode-MGCC-Verfahren codiert werden kann. Die einzige Verfeinerung, die in die Decodierung der Intraregionen eingeführt werden kann, betrifft die Unsicherheitspixel, die im Zentrum einiger Zellen auftreten, was der Fall jener Zellen ist, die zu Konturen an der Grenze zwischen Intra- und Interregionen gehören. Diese Pixel werden im Intramode nicht direkt einer Region zugewiesen, sondern vielmehr im Intermodus analysiert, als Intermode-Pixel verarbeitet und je nachdem, ob ein Satz von Bewegungsparameter zu diesen passt oder nicht, jeweils der zugehörigen Region oder der Intraregion zugewiesen. 29 zeigt ein Beispiel, wo eine Zelle Pixel aus Intraregionen (schwarze Kreise) und Zellen aus Interregionen (weiße Kreise) enthält: Weil das zentrale Pixel in der Zelle einer Inter- oder einer Intraregion angehören kann (seine vier Konturstellen sind noch nicht markiert), wird sein Label in der Intramode-Codierung nicht entschieden, und diese Entscheidung wird auf den Intermode-Decodierungsschritt verschoben.
  • Die zusätzlichen Kontursegmente, die die Kompensationsfehler beschreiben, werden auf der Basis der zuvor decodierten Konturen codiert. Es ist tatsächlich ein vereinfachter Fall des Scalable Mode-MGCC-Verfahrens, der hierin oben beschrieben wurde. Sowohl der Sender als auch der Empfänger verfügen über die gleiche Information über den Konturensatz, der im Intramode übertragen wird, und den Satz bewegungskompensierter Konturen. Diese Information kann daher im Scalable Mode-MGCC-Verfahren die Rolle der Basic-Layer spielen, und die Kompensationsfehler-Konturen die Rolle der Enhancement-Layer. Dennoch ist das Intermode-MGCC-Verfahren einfacher als das Scalable Mode-MGCC-Verfahren, weil die Intramode-Konturen und die bewegungskompensierten Konturen im Codierer und Decodierer vollständig bekannt sind.
  • Auf diese Weise können Anfangskontursegmente jeden vorherigen Konturpunkt zugewiesen werden, und nicht nur jenen, die als „EINAUS" markiert wurden oder zum Rahmen gehören (die gleiche Methode kann beim Abschließen einer Kontur befolgt werden).
  • Legende der Zeichnungen
  • 17
    • Yes: Ja
    • No: Nein

Claims (2)

  1. Verfahren zum Codieren von segmentierten Bildern oder Partitionen, die in einheitliche Regionen unterteilt sind, denen jeweils spezifische Label zugewiesen wird, wobei dieses Verfahren, um einen sogenannten Intramode-Codierungsprozess jeder aufeinanderfolgenden Partition zu definieren, die Schritte umfasst des: (a) Umwandelns des Labelbilds in eine Beschreibung in Form einer Konturelementkette, in welcher die Elemente anhand ihrer Bewegungen durch aufeinanderfolgende Basiszellen zwischen einem Eingangspunkt und einem Ausgangspunkt dieser Zellen definiert werden; (b) Verfolgens, innerhalb jeder aufeinanderfolgenden Zelle, jeder Kontur von ihrem Konturanfangspunkt, der zuvor extrahiert wurde, zu ihrem Ende, durch Speichern von Kettensymbolen, die sowohl den Eingangs-, Innen- und Ausgangskonturelementen der Zelle als auch den Prioritäten zwischen möglichen mehrfachen Ausgangselementen entsprechen, wobei dieser Verfolgungsschritt vorgesehen ist, um die Konturelemente einer Priorität des Typs „geradeaus-rechts-links" entsprechend zu wählen; (c) Wiederholens dieser Schritte bis zum Ende jedes aufeinanderfolgenden Kontursegments der betreffenden Partition; (d) Codierens der Information, die in jeder Zelle dem Anfangspunkt jedes Konturelements und der zugehörigen Bewegungskette zwischen diesem Anfangspunkt und dem Anfangspunkt der folgenden Zelle entspricht; wobei dieses Verfahren dadurch gekennzeichnet ist, dass der Verfolgungsschritt einen prioritätsbestimmenden Unterschritt umfasst, der vorgesehen ist, um in jeder Zelle, die von Mehrfachausgängen betroffen ist, den Ausgangskonturpunkt mit der höchsten Priorität auf der Basis des längsten Konturwegs zu bestimmen, der den Eingangskonturpunkt mit den möglichen Ausgangskonturpunkten verbindet, wobei die übrigen Ausgangskonturpunkte dann der Priorität des Typs „geradeaus-rechts-links" entsprechend geordnet werden.
  2. Vorrichtung zum Codieren von segmentierten Bildern oder Partitionen, die in einheitliche Regionen unterteilt sind, denen jeweils spezifische Label zugewiesen wird, wobei diese Vorrichtung zur Implementierung des Codierverfahrens nach Anspruch 1 angeordnet ist.
DE69935655T 1998-09-29 1999-09-22 Verfahren und vorrichtung zum zerlegungskomprimieren Expired - Fee Related DE69935655T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP98402395 1998-09-29
EP98402395 1998-09-29
EP99400436 1999-02-23
EP99400436 1999-02-23
PCT/EP1999/007027 WO2000019375A1 (en) 1998-09-29 1999-09-22 Partition coding method and device

Publications (2)

Publication Number Publication Date
DE69935655D1 DE69935655D1 (de) 2007-05-10
DE69935655T2 true DE69935655T2 (de) 2007-12-27

Family

ID=26151704

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69935655T Expired - Fee Related DE69935655T2 (de) 1998-09-29 1999-09-22 Verfahren und vorrichtung zum zerlegungskomprimieren

Country Status (6)

Country Link
US (2) US6594310B1 (de)
EP (1) EP1046136B1 (de)
JP (1) JP2002526841A (de)
KR (1) KR100573507B1 (de)
DE (1) DE69935655T2 (de)
WO (1) WO2000019375A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69935655T2 (de) * 1998-09-29 2007-12-27 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung zum zerlegungskomprimieren
EP1046135B1 (de) 1998-09-29 2003-12-03 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung zum dekodieren von segmentierung
US7046851B2 (en) * 2000-11-08 2006-05-16 California Institute Of Technology Image and video indexing scheme for content analysis
KR100603592B1 (ko) * 2001-11-26 2006-07-24 학교법인 고황재단 영상 화질 향상 인자를 이용한 지능형 파문 스캔 장치 및 그 방법과 그를 이용한 영상 코딩/디코딩 장치 및 그 방법
FR2847411B1 (fr) * 2002-11-15 2005-01-14 Telediffusion De France Tdf Procede et systeme de mesure des degradations d'une image video introduites par un codage a reduction de debit
JP4217876B2 (ja) * 2002-12-20 2009-02-04 財団法人生産技術研究奨励会 画像における移動物体の追跡方法及び装置
KR20050114751A (ko) * 2004-06-01 2005-12-06 경희대학교 산학협력단 예측 부호화/복호화 장치 및 예측 부호화/복호화 방법
US8607151B2 (en) * 2006-08-01 2013-12-10 Nvidia Corporation Method and system for debugging a graphics pipeline subunit
US8315964B2 (en) * 2008-10-27 2012-11-20 Microsoft Corporation Comprehensive human computation framework
US8798383B1 (en) * 2011-03-28 2014-08-05 UtopiaCompression Corp. Method of adaptive structure-driven compression for image transmission over ultra-low bandwidth data links
JP5854802B2 (ja) * 2011-12-01 2016-02-09 キヤノン株式会社 画像処理装置、画像処理方法、及びコンピュータプログラム
KR102499355B1 (ko) * 2016-02-26 2023-02-13 벌시테크 리미티드 손실 및 무손실 영상 압축을 위한 형상-적응형 모델-기반 코덱

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0789973B1 (de) 1995-09-06 2002-01-23 Koninklijke Philips Electronics N.V. Verfahren und system zur kodierung einer sequenz von segmentierten bildern , kodiertes signal und speichermedium, verfahren und system zur dekodierung des kodierten signals
ES2153597T3 (es) * 1995-10-25 2001-03-01 Koninkl Philips Electronics Nv Sistema y metodo de codificacion de imagen segmentada, y sistema y metodo de decodificacion correspondiente.
KR100235347B1 (ko) * 1996-09-19 1999-12-15 전주범 윤곽선 영상신호 부호화 방법 및 장치
US5978510A (en) * 1997-03-20 1999-11-02 Hyundai Electronics Industries Co., Ltd. Method and apparatus for predictively coding contour of video signal
DE69935655T2 (de) * 1998-09-29 2007-12-27 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung zum zerlegungskomprimieren

Also Published As

Publication number Publication date
WO2000019375A1 (en) 2000-04-06
DE69935655D1 (de) 2007-05-10
US6594310B1 (en) 2003-07-15
US7012958B2 (en) 2006-03-14
JP2002526841A (ja) 2002-08-20
EP1046136A1 (de) 2000-10-25
EP1046136B1 (de) 2007-03-28
KR100573507B1 (ko) 2006-04-26
KR20010032597A (ko) 2001-04-25
US20030202584A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
DE2640414C2 (de) Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen
EP0290085B1 (de) System zur Übertragung von Videobildern
EP0368139B1 (de) Verfahren zur Codierung von Restfehlerbildern
DE69724899T2 (de) Verfahren und system zur kodierung und dekodierung von segmentierten videodaten
DE69731517T2 (de) Übertragung und empfang codierter videobilder
DE69032437T2 (de) Bewegungseinschätzer
DE68914045T2 (de) Verfahren zur Kodierung von Hilfsdaten für die Rekonstruktion eines unterabgetasteten, elektronischen Bildes.
EP1797536B1 (de) Codierschema für einen ein zeitlich veraenderliches graphikmodell darstellenden datenstrom
DE69028160T2 (de) Verfahren zur Teilung des Bewegungsfeldes eines Bildes zum Kodieren eines Videobildes
DE4242796C2 (de) Hocheffizientes Kodierverfahren für mit Zweipegelbildern vermischte natürliche Bilder
DE10120644B4 (de) Bilddatenverdichtungsverfahren und -vorrichtung, welche Bilddaten separat durch Modifizieren der Farbe verdichten
DE69935655T2 (de) Verfahren und vorrichtung zum zerlegungskomprimieren
EP2109993B1 (de) Vorrichtung und verfahren zum kodieren eines transformationskoeffizientenblockes
WO2003094529A2 (de) Verfahren von transformations-koeffizienten in bild-oder videokodierern
DE102018118362A1 (de) Systeme und verfahren zur effizienten und verlustfreien komprimierung von erfassten rohbilddaten
DE69937833T2 (de) Verfahren und vorrichtung zur skalierbaren formkodierung
DE19739266A1 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE4011758C2 (de)
DE69024130T2 (de) Datenkompressionssystem
DE3850029T2 (de) Verfahren und Vorrichtung zur Verarbeitung von Bildelementsignalen.
DE3038953C2 (de) Verfahren zur Bandkompression
DE2925663A1 (de) Vorrichtung zur kompression binaerer signale fuer ein system zur kodierten uebertragung von faksimiles
DE68910552T2 (de) Verfahren zur Wiederzuordnung der Wahl eines Unterabtastungsverfahrens nach dem Kriterium einer Datenraten-Reduktion einer Folge von Hilfsdaten, die zur Rekonstruktion eines unterabgetasteten, elektronischen Bildes dienen.
DE69913312T2 (de) Verfahren zum Decodieren segmentierter Bilder und Anordnung dazu
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors

Legal Events

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