DE19702728A1 - Verfahren und Gerät zum Bilden symmetrischer Suchfenster zur zweiseitig gerichteten Bewegungsabschätzung von Halbpixeln - Google Patents
Verfahren und Gerät zum Bilden symmetrischer Suchfenster zur zweiseitig gerichteten Bewegungsabschätzung von HalbpixelnInfo
- Publication number
- DE19702728A1 DE19702728A1 DE19702728A DE19702728A DE19702728A1 DE 19702728 A1 DE19702728 A1 DE 19702728A1 DE 19702728 A DE19702728 A DE 19702728A DE 19702728 A DE19702728 A DE 19702728A DE 19702728 A1 DE19702728 A1 DE 19702728A1
- Authority
- DE
- Germany
- Prior art keywords
- image
- pixels
- pixel
- picture
- images
- 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.)
- Ceased
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Description
Die Erfindung bezieht sich auf das Komprimieren von digitalen
sichtbaren Abbildern und insbesondere auf zeitliches
Komprimieren, das heißt Vermindern von Redundanz zwischen
Bildern unter dem MPEG2-Standard. Redundanz zwischen Bildern
wird durch die Verwendung von Bewegungsvektoren vermindert
oder sogar beseitigt. Erfindungsgemäß werden aus symmetrischen
vergangenen und zukünftigen am besten passenden Makroblöcken
die Vektoren der Halbpixelbewegung für in zwei Richtungen
vorherbestimmte Bilder erzeugt. Symmetrisch bedeutet dabei,
daß die Makroblöcke die gleiche Größe, Gestalt und Ausrichtung
haben.
Innerhalb des vergangenen Jahrzehnts hat die Realisierung
weltweiter elektronischer Kommunikationssysteme die Art und
Weise verbessert, in der Menschen Information versenden und
empfangen können. Insbesondere hat sich die Leistungsfähigkeit
von Echt-zeit-Video- und -Audiosystemen in den letzten Jahren
stark verbessert. Um Teilnehmern Dienste, wie etwa Video auf
Abruf und Videokonferenzen zur Verfügung zu stellen, ist eine
enorme Netzbandbreite erforderlich. In der Tat ist die
Netzbandbreite oftmals das wesentliche Hindernis für die
Leistungsfähigkeit solcher Systeme.
Um die durch Netze auferlegten Beschränkungen zu überwinden,
sind Kompressionssysteme aufgetaucht. Diese Systeme vermindern
die Menge von Video- und Audiodaten, die übertragen werden
müssen, indem sie Redundanz in der Bildfolge beseitigen. Am
Empfangsende wird die Bildfolge dekomprimiert und kann in
Echtzeit dargestellt werden.
Ein Beispiel eines neu erschienenen Videokompressionsstandards
ist der Standard der Gruppe Beweglicher Bildexperten ("MPEG").
Innerhalb des MPEG-Standards wird Videokompression sowohl
innerhalb eines gegebenen Bildes wie zwischen Bildern
definiert. Videokompression innerhalb eines Bildes wird
dadurch bewerkstelligt, daß das digitale Abbild aus der
Zeitdomäne durch eine diskrete Cosinustransformation,
Quantisierung, Codieren mit variabler Länge und Huffman-
Codieren in die Frequenzdomäne umgewandelt wird.
Videokompression zwischen Bildern wird über einen Vorgang
bewerkstelligt, der als Bewegungsabschätzung bezeichnet wird,
wobei ein Bewegungsvektor verwendet wird, um die Umwandlung
einer Gruppe von Bildelementen (Pixeln) von einem Bild zum
anderen zu beschreiben.
Bewegungsabschätzung wird dadurch bewerkstelligt, daß ein 16 ×
16 Makroblock von Daten aus dem aktuellen Bild entnommen und
mit allen 16 × 16 Makroblöcken in einem Suchfenster eines
Referenzbildes verglichen wird, das heißt für zweidimensionale
Voraussage in den Suchfenstern beider Referenzbilder. Die
Suchfenster sind rund um die Position des aktuellen 16 × 16
Makroblockes zentriert. Der Vergleich wird vorgenommen, indem
eine akkumulierte absolute Pixeldifferenz des aktuellen und
des Referenzmakroblockes ermittelt wird und der mit der
niedrigsten Vorherbestimmungsdifferenz verbundene Makroblock
als der am besten passende Makroblock ausgewählt wird.
Der MPEG-2-Standard ermöglicht es, daß eine
Bewegungsabschätzung zur Bildcodierung unter Verwendung von
zweiseitig gerichteter Interpolation eines vergangenen und
eines zukünftigen Referenzbildes berechnet werden kann. In der
Tat ist dies die günstigste Form der Bewegungsabschätzung, da
sie den höchsten Grad von Datenkompression besitzt. Die
Abschätzung kann mit Werten von ganzen Pixeln oder Werten von
Halbpixeln erfolgen. Halbpixelwerte werden durch Interpolatiom
zwischen ganzen Pixelwerten gebildet. Um alle möglichen
Halbpixelwerte für einen 16 × 16 Makroblock zu bilden, ist ein
Bereich von 18 × 18 Werten ganzer Pixel mit einem zusätzlichen
Wert eines ganzen Pixels an jeder Seite des Makroblockes
erforderlich.
Ein Problem, das sich aus der Bewegungsabschätzung mit
Halbpixeln ergibt, besteht darin, daß dann, wenn sich die am
besten passende Position von Referenzdaten mit ganzen Pixeln
an einer Kante befindet, wie etwa der Kante des Suchfensters
ganzer Pixel, die zusätzlichen ganzen Pixelwerte an dieser
Seite des Makroblockes zur Bildung von Halbpixelwerten nicht
zur Verfügung stehen.
Dieses Problem ergibt sich bei der zweiseitigen Bewegungsab
schätzung mit Halbpixeln, wenn die am besten passenden ganzen
Pixeldaten von einem Referenzbild sich an einer Kante des
Bildes befinden und die Daten von dem anderen Bild nicht an
der gleichen Kante liegen. In diesem Falle würden dem
Prozessor zur Halbpixelberechnung zwei Gruppen von
Referenzdaten vorgelegt, die unterschiedliche Abmessungen,
Gestalten und/oder Ausrichtungen mit Bezug auf den Ursprung
des aktuellen Makroblockes haben. Dies würde getrennte
Lesesteuerungen für die Referenzdaten erforderlich machen, um
Daten aufzufüllen, auszurichten und zu überspringen, um die
zweiseitig gerichteten Halbpixelwerte zu bilden.
Es ist ein erstes Ziel der Erfindung, in asymmetrische Suchfen
ster Symmetrie hinein zu bringen. Dies bedeutet, daß die am be
sten passenden Makroblöcke, die bei der Bildung zweiseitig
gerichteter interpolierter Bilder verwendet werden, die
gleiche Anzahl von Pixeln, die gleiche Gestalt und die gleiche
Ausrichtung haben.
Gemäß dem Verfahren und der Vorrichtung der Erfindung werden
die obigen Ziele dadurch erreicht, daß aus zwei
Referenzbildern ein in zwei Richtungen codiertes Bild geformt
wird. Das Verfahren beginnt damit, daß von jedem Referenzbild
ein Speicherabruf vorgenommen wird, daß die am besten
passenden Makroblöcke an den ganzen Pixelgrenzen der
Suchfenster gefunden werden. Überschußpixel werden von den am
besten passenden Makroblöcken abgetrennt, um die am besten
passenden Makroblöcke in Größe, Gestalt und Ausrichtung
symmetrisch zu machen. Dies kann dadurch bewerkstelligt
werden, daß Kantendetektoren gesetzt werden, um Überschußpixel
anzuzeigen. Die Überschußpixel entsprechen Pixeln, welche die
am besten passenden Makroblöcke in Größe, Gestalt und
Ausrichtung unterschiedlich machen.
Damit ist es gemäß unserer Erfindung nun möglich, der
Halbpixel-Berechnungsschaltung immer Referenzdaten sowohl von
dem vergangenen wie dem zukünftigen Bild vorzulegen, die
symmetrisch sind. Das heißt, die Daten haben in bezug auf die
Position des aktuellen Makroblockes die gleichen Abmessungen
und die gleiche Ausrichtung. Genauer gesagt wird der größere
Makroblock auf die Größe des kleineren Makroblockes
vermindert, falls die beiden Makroblöcke nicht die gleichen
Abmessungen haben.
Die Erfindung wird durch Bezugnahme auf die hier angefügten
Figuren besser verständlich.
Fig. 1 zeigt ein Flußdiagramm eines verallgemeinerten MPEG2-
gerechten Codierers 11, der eine Einrichtung zur diskreten
Cosinustransformation 21, eine Quantisiereinrichtung 23, einen
Codierer mit variabler Länge 25, eine inverse
Quantisiereinrichtung 29, eine Einrichtung zur inversen
diskreten Cosinustransformation 31, Bewegungskompensierung 41,
Rahmenspeicher 42 und Bewegungsabschätzung 43 enthält. Die
Datenwege enthalten die Eingabe des i-ten Bildes 111, der
Differenzdaten 112, der Bewegungsvektoren 113, die Bildausgabe
121, das Rückkopplungsbild zur Bewegungsabschätzung und
Kompensation 131 und das bewegungskompensierte Bild 101.
Dieser Fig. liegt die Annahme zugrunde, daß die i-ten Bilder
in Rahmenhauptspeicher oder Rahmenspeicher 42 existieren und
daß das i+1-te Bild mit Bewegungsabschätzung codiert wird.
Fig. 2 veranschaulicht die I-, P- und B-Bilder, Beispiele
ihrer Anzeige- und Übertragungsreihenfolgen und Vorwärts- und
Rück-wärts-Bewegungsvorhersage.
Fig. 3 veranschaulicht die Suche vom
Bewegungsabschätzungsblock im aktuellen Rahmen oder Bild nach
dem am besten passenden Block im nachfolgenden oder
vorhergehenden Rahmen oder Bild.
Fig. 4 veranschaulicht die Bewegung von Blöcken entsprechend
den Bewegungsvektoren von ihrer Position in einem Referenzbild
zu einem aktuellen Bild und die nach der Verwendung von
Bewegungsvektoren ausgerichteten Blöcke des Referenzbildes.
Fig. 5 zeigt die Referenzdaten, die erforderlich sind, um
alle Halbpixelwerte zu berechnen.
Fig. 6 zeigt die notwendigen Referenzdaten, aus denen
Halbpixelwerte berechnet werden können, wenn nicht alle
Referenzdaten zur Verfügung stehen.
Fig. 7 zeigt die Referenzdaten, die erforderlich sind, um die
Halbpixelwerte mit zweiseitig gerichteten Kantenbedingungen
mit symmetrischen vergangenen/zukünftigen Daten zu berechnen.
Die hier beschriebene Erfindung befaßt sich mit einem
verbesserten Verfahren der Halbpixel-Bewegungsabschätzung für
B oder zweiseitig interpolierte Bilder und ist eine
Verbesserung gegenüber dem Verfahren, wie es in der gemeinsam
übertragenen, ebenfalls anhängigen US-Patentanmeldung 08/411
100, eingereicht von Agnes Ngai und Ronald S. Svec am 27. März
1995, für HALBPIXEL-BEWEGUNGSABSCHÄTZUNGSVERFAHREN FÜR B-
BILDER beschrieben ist, deren Beschreibung hier als Quelle
eingeschlossen ist.
Die Erfindung bezieht sich auf MPEG- und HDTV-gerechte
Codierer und Codiervorgänge. Die vom Codierer ausgeführten
Codierfunktionen enthalten Dateneingabe, Bewegungsabschätzung,
Makroblock-modus-Erzeugung, Datenrekonstruktion,
Entropiecodierung und Datenausgabe. Bewegungsabschätzung und
Kompensation sind die zeitlichen Kompressionsfunktionen. Sie
sind Wiederholfunktionen mit hohen Rechenanforderungen, und
sie enthalten intensive Rekonstruktionsverarbeitung, wie etwa
inverse diskrete Cosinustransformation, inverse Quantisierung
und Bewegungskompensation.
Insbesondere bezieht sich die Erfindung auf
Bewegungsabschätzung, -kompensationen und -vorhersage, und
sogar noch spezieller auf die Berechnung von
Bewegungsvektoren. Bewegungskompensation nutzt zeitliche
Redundanz aus, indem sie das aktuelle Bild in Blöcke,
beispielsweise Makroblöcke, unterteilt und dann in vorher
übertragenen Bildern nach einem naheliegenden Block mit
ähnlichem Inhalt sucht. Nur die Differenz zwischen den Pixeln
des aktuellen Blockes und den Pixeln des vorhergesagten
Blockes, die aus dem Referenzbild herausgeholt wird, wird
tatsächlich zum Übertragen komprimiert und danach übertragen.
Das einfachste Verfahren von Bewegungskompensation und -vorher
sage besteht im Aufzeichnen von Leuchtdichte und Farbwert,
d. h. Intensität und Farbe jedes Pixels in einem "I"-Bild, dann
dem Aufzeichnen von Veränderungen in Leuchtdichte und
Farbwert, d. h. Intensität und Farbe für jedes spezielle Pixel
im nachfolgenden Bild. Dies ist jedoch unwirtschaftlich
hinsichtlich der Bandbreite des Übertragungsmediums, der
Speicher-, Prozessorkapazität und der Verarbeitungszeit, weil
sich Objekte zwischen Bildern bewegen, das heißt, Pixelinhalte
bewegen sich von einem Standort in einem Bild zu einem
unterschiedlichen Standort in einem nachfolgenden Bild. Eine
fortentwickelte Idee besteht darin, ein vorhergehendes oder
nachfolgendes Bild dazu zu benutzen, um vorherzusagen, wo ein
Block von Pixeln sich in einem nachfolgenden oder
vorhergehenden Bild oder in Bildern befinden wird,
beispielsweise mit Bewegungsvektoren, und das Ergebnis als
"vorhergesagte Bilder" oder "P"-Bilder aufzuschreiben.
Insbesondere bedeutet dies das Erstellen einer besten
Schätzung oder Vorhersage dessen, wo sich die Pixel oder
Makroblöcke von Pixeln des i-ten Bildes in dem i-1-ten oder
i+1-ten Bild befinden werden. Es ist ein weiterer Schritt,
sowohl nachfolgende als auch vorhergehende Bilder zu benutzen,
um vorherzusagen, wo sich ein Block von Pixeln in einem
dazwischen liegenden oder "B"-Bild befinden wird.
Es ist anzumerken, daß die Biidcodierungsreihenfolge und die
Bildübertragungsreihenfolge nicht notwendigerweise mit der
Bildanzeigereihenfolge übereinstimmen. Dies wird in Fig. 2
veranschaulicht. Für I-P-B-Systeme ist die Eingabereihenfolge
der Bildübertragung von der Codierreihenfolge verschieden, und
die Eingabebilder müssen zeitweise gespeichert werden, bis sie
zum Codieren verwendet werden. Ein Zwischenspeicher speichert
diese Eingabe, bis sie verwendet wird.
Zu Zwecken der Anschaulichkeit wird in Fig. 1 ein verallgemei
nertes Flußdiagramm einer MPEG-gerechten Codierung gezeigt. Im
Flußdiagramm werden die Abbilder des i-ten Bildes und des i+1-
ten Bildes verarbeitet, um Bewegungsvektoren zu erzeugen. Die
Bewegungsvektoren sagen vorher, wo sich ein Makroblock von
Pixeln in einem vorhergehenden und/oder nachfolgenden Bild
befinden wird. Die Verwendung der Bewegungsvektoren anstelle
von Vollabbildern ist ein Schlüsselaspekt der zeitlichen
Kompression in den MPEG- und HDTV-Standards. Wie in Fig. 1
gezeigt, werden die Bewegungsvektoren, wenn sie einmal erzeugt
wurden, für die Umwandlung von Makroblöcken von Pixeln vom i-
ten Bild zum i+1-ten Bild benutzt.
Wie in Fig. 1 gezeigt, werden im Codiervorgang die Abbilder
des i-ten Bildes und des i+1-ten Bildes im Codierer 11
verarbeitet, um Bewegungsvektoren zu erzeugen, welche die Form
haben, in der beispielsweise das i+1-te und nachfolgende
Bilder codiert und übertragen werden. Ein Eingabeabbild 111
eines nachfolgenden Bildes geht an die
Bewegungsabschätzungseinheit 43 des Codierers.
Bewegungsvektoren 113 werden als Ausgabe der
Bewegungsabschätzungseinheit 43 gebildet. Diese Vektoren
werden von der Bewegungskompensationseinheit 41 dafür
verwendet, als "Referenz"daten bezeichnete Makroblockdaten von
vorhergehenden und/oder zukünftigen Bildern abzurufen, damit
diese Einheit sie ausgibt. Eine Ausgabe der
Bewegungskompensationseinheit 41 wird negativ mit der Ausgabe
aus der Bewegungsabschätzungseinheit 43 summiert und geht an
die Eingabe der Einrichtung zur diskreten
Cosinustransformation 21. Die Ausgabe der Einrichtung zur
diskreten Cosinustransformation 21 wird in einem Quantisierer
23 quantisiert. Die Ausgabe des Quantisierers 23 wird in zwei
Ausgaben aufgespalten, 121 und 131; eine Ausgabe 121 geht zu
einem im Datenstrom abwärts liegenden Element 25 zur weiteren
Komprimierung und Verarbeitung vor der Übertragung, wie etwa
zu einem Lauflängencodierer; die andere Ausgabe 131 geht über
Rekonstruktion des codierten Pixel-Makroblockes zum Speichern
in Rahmenspeicher 42. Im zu Zwecken der Anschaulichkeit
gezeigten Codierer durchläuft diese zweite Ausgabe 131 eine
inverse Quantisierung 29 und eine inverse diskrete
Cosinustransformation 31, um eine verlustbehaftete Version des
Differenzmakroblockes zurückzuschicken. Diese Daten werden mit
der Ausgabe der Bewegungskompensationseinheit 41 summiert und
schicken eine verlustbehaftete Version des ursprünglichen
Bildes an den Rahmenspeicher 42.
Wie in Fig. 2 gezeigt, gibt es drei Arten von Bildern. Es
gibt "interne Bilder" oder "I"-Bilder, die als ganzes codiert
und übertragen werden und bei denen es nicht erforderlich ist,
Bewegungsvektoren zu definieren. Diese "I"-Bilder dienen als
Quelle von Bewegungsvektoren. Es gibt "Vorherbestimmte Bilder"
oder "P"-Bilder, die durch Bewegungsvektoren aus einem
vorhergehenden Bild aufgebaut werden und die als Quelle von
Bewegungsvektoren für weitere Bilder dienen können.
Schließlich gibt es "Zweiseitig gerichtete Bilder" oder "B"-
Bilder, die durch Bewegungsvektoren von zwei anderen Bildern
aufgebaut werden, einem vergangenen und einem zukünftigen, und
die nicht als Quelle von Bewegungsvektoren dienen können.
Bewegungsvektoren werden aus "I"- und "P"-Bildern erzeugt und
werden benutzt, um "P"- und "B"-Bilder zu erzeugen.
Ein Verfahren, durch das Bewegungsabschätzung erfolgt, wie es
in Fig. 3 gezeigt wird, besteht in einer Suche von einem
Makroblock 211 eines i-ten Bildes aus durch einen Bereich des
nächsten Bildes, um den am besten passenden Makroblock 213 zu
finden. Das Umwandeln der Makroblöcke auf diese Weise bietet
ein Muster von Makroblöcken für das i+1-te Bild, wie es in
Fig. 4 gezeigt ist. Auf diese Weise wird das i-te Bild in
geringem Maße verändert, z. B. durch Bewegungsvektoren und
Differenzdaten, um das i+1-te Bild zu erzeugen. Was codiert
wird, sind die Bewegungsvektoren und Differenzdaten und nicht
das i+1-te Bild selbst. Bewegungsvektoren wandeln die Position
eines Abbildes von Bild zu Bild um, während Differenzdaten
Veränderungen in Farbwerten, Leuchtdichte und Sättigung
weitergeben, das heißt, Veränderungen in Schattierung und
Ausleuchtung.
Zurück zu Fig. 3, suchen wir nach einer Übereinstimmung,
indem wir im i-ten Bild vom gleichen Standort wie im i+1-ten
Bild ausgehen. Im i-ten Bild wird ein Suchfenster erzeugt. Wir
suchen innerhalb dieses Suchfensters nach einer bestmöglichen
Übereinstimmung. Sobald sie gefunden ist, werden die am besten
passenden Bewegungsvektoren für den Makroblock codiert. Die
Codierung des am besten passenden Makroblockes enthält einen
Bewegungsvektor, das heißt, um wieviele Pixel in y-Richtung
und um wieviele Pixel in x-Richtung ist die bestmögliche
Übereinstimmung in nächsten Bild versetzt. Ebenso werden
Differenzdaten codiert, die auch als "Vorhersagefehler"
bezeichnet werden, was der Differenz in Farbwert und
Leuchtdichte zwischen dem aktuellen Makroblock und dem am
besten passenden Referenzmakroblock entspricht.
Wie im MPEG-Standard definiert, können Videoabbilder als einer
von drei Bildtypen komprimiert werden: I, P oder B. Ein I-Bild
wird komprimiert, indem räumliche Redundanz innerhalb des
Bildes selbst beseitigt wird. Ein P-Bild wird komprimiert,
indem zeitliche Redundanz in bezug auf ein vorher codiertes
(komprimiertes) Bild beseitigt wird. Ein B-Bild wird ebenfalls
durch das Beseitigen von zeitlicher Redundanz komprimiert,
aber in bezug auf zwei vorher codierte Bilder. Das B-Bild kann
durch Interpolation beider Referenzbilder komprimiert werden.
Dies versetzt B-Bilder in die Lage, die höchste Kompression
innerhalb der drei Bildtypen zu erreichen.
Zweiseitig gerichtete Interpolation in einem B-Bild wird wie
folgt definiert:
x soll ein Pixel aus Referenzbild I und
y ein Pixel aus Referenzbild P sein.
y ein Pixel aus Referenzbild P sein.
Das zweiseitig gerichtet interpolierte Referenzpixel ist
(x+y)/2
wobei / eine Division mit Rundung ist.
Ein Pixel wird als 8 bit breite positive ganze Zahl im Bereich
von 0 bis 255 definiert. Damit besagt Rundung, daß, falls das
höchstwertige Bit des Restes 1 ist, eine 1 zum am niedrigstwer
tigen Bit des Quotienten addiert wird. Nur der Quotient wird
als Teilungsergebnis weitergeführt, und der Rest wird
verworfen. Dies wird hardwareseitig einfach als Verschiebung
nach rechts realisiert, gefolgt von einem Inkrement.
Beim Codieren von Bewegungsbildern muß die zeitliche Redundanz
so gekennzeichnet werden, daß sie beseitigt werden kann. Dies
wird durch einen Vorgang bewerkstelligt, der
Bewegungsabschätzung genannt wird. Um für das aktuelle Bild
eine bestmögliche Übereinstimmung in einem Suchfenster zu
finden, wird eine Vergleichsschaltung benutzt. Damit würde
eine solche drei Bewegungsabschätzungen erfordern, um eine
bestmögliche Übereinstimmung für ein B-Bild zu finden: eine
Bewegungsabschätzung bei jedem der zwei Referenzbilder und
eine Bewegungsabschätzung bei der interpolierten Referenz.
Nach dem MPEG-Standard wird Bewegungsabschätzung an einem
Makroblock vorgenommen. Das Videoabbild wird in Einheiten von
16 × 16 Pixeln unterteilt, die als Makroblock bezeichnet
werden. Aus diesem Grunde muß die Größe des am besten
passenden Makroblockes ebenfalls 16 × 16 Pixel betragen. Ein
Bereich von 18 × 18 Pixeln ist erforderlich, um alle möglichen
Halbpixel rund um den gekennzeichneten am besten passenden (16
× 16) Makroblock zu bilden. Die bei Bewegungsabschätzung
benutzten Arten von Halbpixeln werden später erklärt.
Bei Bewegungsabschätzung eines B-Bildes finden Speicherabrufe
statt. Ein Bild (720 × 480 Pixel) erfordert 346 KByte Leuchtdich
tedaten und wird üblicherweise in einem Speicher gespeichert,
der sich außerhalb des Prozessors befindet, der die
Kompression ausführt.
Ein Verfahren, das nach Stand der Technik benutzt wurde,
besteht im Abrufen eines Referenzbildes vom externen Speicher
und in der Vornahme einer Bewegungsabschätzung an ihm. Dann
wird das zweite Referenzbild abgerufen, und
Bewegungsabschätzung wird auf die gleiche Weise wie beim
ersten Referenzbild durchgeführt. Dann werden die am besten
passenden Referenzdaten (Block zu 18 × 18 Pixel) vom ersten
und zweiten Referenzbild wieder abgerufen, und die
Bewegungsabschätzung wird am interpolierten Bild vorgenommen.
Das in der gemeinsam übertragenen, ebenfalls anhängigen US-
Patentanmeldung 08/411 100, auf die vorstehend Bezug genommen
wurde, beschriebene Verfahren besteht darin, jedes
Referenzbild nur einmal abzurufen. Die am besten passenden
Referenzdaten von jedem Referenzbild werden in einem chip
internen Zwischenspeicher gesichert. Nachfolgend wird eine
interpolierte Bewegungsabschätzung unter Verwendung dieser
zwischengespeicherten Daten vorgenommen. Dies vermindert die
Anforderungen an die Speicherbandbreite.
Sobald aus diesen drei Suchen mit ganzen Pixelgrenzen eine
bestmögliche Übereinstimmung identifiziert wurde, müssen
Halbpixel-Referenzdaten berechnet werden, und die
Bewegungsabschätzung muß wieder vorgenommen werden, um an der
Halbpixelgrenze die am besten passenden Referenzdaten zu
finden. Nur mit einer der drei Suchvorgänge mit ganzen Pixeln,
dem Suchvorgang mit der bestmöglichen Übereinstimmung, wird
die Halbpixelsuche fortgeführt. Es gibt drei Arten von
Halbpixelinterpolation, die dazu benutzt werden, die
Halbpixel-Referenzdaten zu berechnen: horizontale Hälfte,
vertikale Hälfte und vollständige Hälfte.
Es sollen a, b, c und d die vier benachbarten Pixel in einem
Referenzbild wie folgt sein:
a b
c d
c d
Die horizontalen Halbpixel werden gebildet durch:
(a + b) / 2
(c + d) / 2,
(c + d) / 2,
wobei / Division mit Rundung ist. Vertikale Halbpixel werden
gebildet durch
(a + c) / 2
(b + d) / 2,
(b + d) / 2,
wobei / Division mit Rundung ist. Vollständige Halbpixel
werden gebildet durch:
(a+ b + c + d) / 4,
wobei / Division mit Rundung ist.
Aus den für jedes Referenzbild zwischengespeicherten Daten müs
sen zuerst Halbpixel gebildet werden. Dann können aus diesen
Ergebnissen die interpolierten Halbpixel für B-Bilder gebildet
werden, um die Bewegungsabschätzung abzuschließen. Wegen der
Rundung muß die Reihenfolge der Operationen aufrechterhalten
werden, um das interpolierte Ergebnis korrekt zu erzeugen.
Nach Stand der Technik erfordert dies für ein B-Bild 2 Gruppen
von Zwischenspeichern zu 18 × 18 × 8 Bit, jeweils eine für
jedes Referenzbild.
Der Zwischenspeicherbedarf kann auf einen einzelnen
Zwischenspeicher zu 18 × 18 × 11 Bit vermindert werden. Dieser
Zwischenspeicher speichert eine 7-bit-Teilsumme für jedes
Pixel, die dadurch gebildet wird, daß die 6 höchstwertigen
Bits entsprechender I- und P-Bild-Pixel addiert werden. Die
anderen 4 Bits jedes Wortes im Zwischenspeicher bestehen aus
den 2 niedrigstwertigen Bits der entsprechenden I- und P-
Pixel.
Wie vorstehend erwähnt, erfordert Halbpixel-
Bewegungsabschätzung eines B-Bildes Halbpixel-Interpolation an
jedem Referenzbild, gefolgt vom Interpolieren dieser
Halbpixelergebnisse über den beiden Referenzbildern.
Die folgenden Bilder werden in bezug auf den I-Rahmen benutzt.
Dabei soll das folgende die Pixel im Referenz-I-Bild
bezeichnen:
I₀₀(x) I₀₁(x)
I₁₀(x) I₁₁(x) ,
I₁₀(x) I₁₁(x) ,
wobei x die Bitposition jedes Pixels bezeichnet und eine ganze
Zahl zwischen 1 und 8 ist.
Die Gleichung für horizontale Halbpixel lautet
Wenn man nur die beiden niedrigstwertigen Bits des Pixelpaares
betrachtet, ergibt sich folgendes:
Es ist anzumerken, daß Isox (8) der "runde" Ausdruck für diese
Halbpixel-Berechnung ist, da wir eine Division durch 2
durchführen. Dies berücksichtigend, kann die horizontale
Halbpixel-Gleichung für das I-Bild modifiziert werden zu:
Durch ähnliche Ableitung kann die vertikale Halbpixel-
Gleichung für das I-Bild geschrieben werden als:
wobei Icxo(6), Isxo(7) und Isxo(8) sich wie folgt ergeben:
Wieder ist anzumerken, das Isxo(8) der "runde" Ausdruck für
diese Berechnung ist, da die Division durch 2 erfolgt.
Durch ähnliche Ableitung kann die vollständige Halbpixel-
Gleichung geschrieben werden als:
wobei sich Ic(5), Ic(6) und Is(7) aus der folgenden Gleichung
ergeben:
Es ist anzumerken, daß für diese Berechnung der "runde"
Ausdruck Is(7) ist, da wir durch 4 teilen, und daß Is(8)
verworfen wird.
Halbpixelberechnungen für das P-Bild können auf die gleiche
Weise abgehandelt werden. Das Folgende soll die Pixel im
Referenz-P-Bild bezeichnen:
P₀₀(x) P₀₁(x)
P₁₀(x) P₁₁(x)
P₁₀(x) P₁₁(x)
wobei x die Bitposition jedes Pixels bezeichnet und eine ganze
Zahl zwischen 1 und 8 ist.
Mit dem gleichen Verfahren wie im I-Bild könnte die Gleichung
für horizontale Halbpixelinterpolation im P-Bild wie folgt
geschrieben werden:
wobei sich Pcox(6), Psox(7) und Psox(8) ergeben aus:
Die Gleichung für vertikale Halbpixelinterpolation im P-Bild
kann wie folgt geschrieben werden:
wobei sich Pcxo(6), Psxo(7) und Psxo(8) ergeben aus:
Und schließlich kann die Gleichung für vollständige
Halbinterpolation im P-Bild wie folgt geschrieben werden:
wobei sich Pc(5), Pc(6) und Ps(7) aus der folgenden Gleichung
ergeben:
Zweiseitig gerichtet interpolierte horizontale Halbpixel im B-
Bild werden durch Interpolation der horizontalen Halbpixel aus
den I- und P-Referenzbildern erzeugt. Dazu können die Gleichun
gen für IHH und PHH mit der Gleichung für zweiseitig gerichtete
Interpolation kombiniert werden. Dies ergibt für ein
interpoliertes horizontales Halbpixel die folgende Gleichung:
wobei IPcox(4), IPcox(5), IPcox(6) und IPsox(7) wie folgt gebildet
werden:
und Icox(6), Isox(7), Isox(8), Pcox(6), Psox(7) und Psox(8) so sind,
wie sie vorstehend in den horizontalen Halbpixelgleichungen
für I- beziehungsweise P-Bilder definiert wurden.
Die HH-Gleichung kann dann wie folgt neu angeordnet werden:
wobei IP₀₀n die von I₀₀(n) und P₀₀(n) gebildete Teilsumme
bezeichnet, wobei IP₀₁n die von I₀₁(n) und P₀₁(n) gebildete
Teilsumme bezeichnet, wobei "n" die Bitposition im Pixelbyte
bezeichnet und nur im Bereich von 0 bis 6 liegt.
Es ist ebenso anzumerken, daß:
IP₀₀(0) ergibt sich aus I₀₀(1:6) + P₀₀(1:6),
IP₀₁(0) ergibt sich aus I₀₁(1:6) + P₀₁(1:6) ist.
IP₀₁(0) ergibt sich aus I₀₁(1:6) + P₀₁(1:6) ist.
Damit können die interpolierten horizontalen
Halbpixelergebnisse mit Teilsummen (IP₀₀(n) und IP₀₁(n)) aus den
I- und P-Referenzbildern in Kombination mit den beiden
niedrigstwertigen Bits jedes Pixels aus den I- und P-
Referenzbildern berechnet werden.
Die gleiche Neuordnung kann ebenfalls bei den VH- und FH-
Gleichungen erfolgen. Damit wird VH:
wobei IP₀₀(n) die von I₀₀(n) und P₀₀(n) gebildete Teilsumme
bezeichnet, wobei IP₀₁(n) die von I₁₀(n) und P₀₁(n) gebildete
Teilsumme bezeichnet, wobei "n" die Bitposition im Pixelbyte
bezeichnet und nur im Bereich von 0 bis 6 liegt.
Wieder ist anzumerken, daß:
IP₀₀(0) ergibt sich aus I₀₀(1:6) + P₀₀(1:6), ergibt
IP₀₁(0) ergibt sich aus I₁₀(1:6) + P₁₀(1:6), ergibt
IP₀₁(0) ergibt sich aus I₁₀(1:6) + P₁₀(1:6), ergibt
und IPcxo(4) IPcxo(5) IPcxo(6) und IPsxo(7) wie folgt gebildet
werden:
wobei Icxo(6), Isxo(7), Isxo(8), Pcxo(6), Psxo(7) und Psxo(8) so sind,
wie vorstehend definiert.
Mit der gleichen Ableitung wird die FH-Gleichung zu:
wobei IP₀₀(n) die von I₀₀(n) und P₀₀(n) gebildete Teilsumme
bezeichnet,
wobei IP₀₁(n) die von I₀₁(n) und P₀₁(n) gebildete Teilsumme bezeichnet,
wobei IP₁₀(n) die von I₁₀(n) und P₁₀(n) gebildete Teilsumme bezeichnet,
wobei IP₁₁(n) die von I₁₁(n) und P₁₁(n) gebildete Teilsumme bezeichnet
und n die Bitposition im Pixelbyte bezeichnet und nur im Bereich von 0 bis 6 liegt.
wobei IP₀₁(n) die von I₀₁(n) und P₀₁(n) gebildete Teilsumme bezeichnet,
wobei IP₁₀(n) die von I₁₀(n) und P₁₀(n) gebildete Teilsumme bezeichnet,
wobei IP₁₁(n) die von I₁₁(n) und P₁₁(n) gebildete Teilsumme bezeichnet
und n die Bitposition im Pixelbyte bezeichnet und nur im Bereich von 0 bis 6 liegt.
IP₀₀(0) ergibt sich aus I₀₀(1:6) + P₀₀(1:6). IP₀₁(0) ergibt sich
aus I₀₁(1:6) + P₀₁(1:6). IP₀₁(0) ergibt sich aus I₁₀(1:6) +
P₀₁(1:6) und IP₁₁(0) ergibt sich aus I₁₁(1:6) + P₁₁(1:6).
IPc(3), IPc(4), IPc(5) und IPc(6) in der vorhergehenden
Gleichung werden durch das Folgende gebildet:
wobei Ic(5), Ic(6), Is(7), Pc(5), Pc(6) und Ps(7) so sind wie
vorstehend definiert.
Es ist ebenfalls anzumerken, daß für diesen Fall das niedrigst
wertige Bit jeder Teilsumme (IP₀₀(6), IP₀₁(6), IP₁₀(6) und
IP₁₁(6)) in der obigen Gleichung berücksichtigt werden muß.
Die obigen Gleichungen zeigen deutlich, daß die für
Bewegungsabschätzung beim B-Bild erforderlichen Halbpixel in
einem ersten Schritt durch erstens Interpolation der Pixel in
den entsprechenden Bitpositionen der beiden Referenzbilder und
danach durch Berechnen der Halbpixelwerte aus diesen
interpolierten Pixeln gebildet werden können.
Die obigen Gleichungen zeigen ebenfalls deutlich, daß die für
Bewegungsabschätzung am B-Bild erforderlichen Halbpixel aus
einer "verminderten"′ Gruppe von Daten statt der beiden
vollständigen, normalerweise erforderlichen 18×18
Pixelblöcke gebildet werden können. Diese verminderte Gruppe
von Daten besteht aus einem 18×18×11 Bereich von 7-bit-
Teilsummen, die aus den 6 hochwertigen Bits entsprechender
Pixel in den I- und P-Bildern zusammen mit den 2
niedrigstwertigen Bits aus jedem dieser Pixel gebildet werden.
Wenn dieses Verfahren benutzt wird, kann der chip-interne
Zwischenspeicherplatz von 5184 Bits (2×18×18×8) auf 3564
Bits (18×18×11) um eine 31%ige Verbesserung im
erforderlichen Zwischenspeicherbereich vermindert werden.
Das Verfahren und die Vorrichtung der Erfindung beziehen sich
insbesondere auf "B"- oder in zwei Richtungen vorhergesagte
Bilder und sind so, daß dem Halbpixelberechnungsprozessor
immer Referenzdaten vorgelegt werden, die sowohl vom
vergangenen wie vom zukünftigen Bilder her symmetrisch sind.
Das heißt, die Daten in beiden Referenzbildern haben die
gleichen Abmessungen und in bezug auf die aktuelle
Makroblockposition die gleiche Ausrichtung. Genauer gesagt,
falls die beiden Makroblöcke nicht die gleichen Abmessungen
haben, schneiden das Verfahren und die Vorrichtung der
Erfindung das größere Suchfenster auf die Größe des kleineren
Suchfensters zurecht. Der Halbpixelberechnungsprozessor wird
vereinfacht, weil er nur einen einzigen Makroblock sowohl für
vergangene, zukünftige als auch zweiseitig gerichtete Bilder
sieht.
Eine Kantenerkennungsschaltung wird benutzt, um zu erkennen,
wenn sich ein am besten passender Referenzmakroblock mit
ganzen Pixeln an einer Kante eines Bildes oder Suchfensters
befindet. Es gibt einen Kantenanzeiger für jede Seite des
Makroblockes: oben, unten, links und rechts. Es ist möglich,
für jedes Bild höchstens zwei Kantenanzeiger aktiv zu haben,
aber der am besten passende zweiseitig gerichtete Makroblock
kann alle vier Kantenanzeiger aktiv haben.
Jedes Referenzbild hat seinen eigenen unabhängigen Satz von
Kantenanzeigern, die zu dem Zeitpunkt gesetzt werden, zu dem
der am besten passende Referenz-Makroblock für jedes Bild
gefunden wird. Wann beispielsweise ein am besten passender
Referenz-Makroblock in der oberen rechten Ecke des
Referenzsuchfensters gefunden wird, würden der obere und der
rechte Kantenanzeiger aktiv sein. In diesem Falle würde die
Suchverarbeitungsschaltung für ganze Pixel keine Referenzdaten
für Pixel oberhalb und rechts vom Referenzmakroblock zur
Verfügung haben, damit könnten oberhalb und rechts davon
Halbpixelwerte nicht berechnet werden.
Wenn Suchvorgänge mit ganzen Pixeln sowohl der vergangenen wie
der zukünftigen Suchfenster abgeschlossen sind, werden die am
besten passenden Referenzdaten von jedem Bild an den Prozessor
geschickt, der die zweiseitig gerichteten Halbpixelwerte
berechnet. Zu diesem Zeitpunkt werden die Kantenanzeiger von
beiden Referenzbildersuchvorgängen dazu benutzt, symmetrische
Suchfenster zu bilden.
Wenn nur für eines der beiden Referenzbilder der
Kantenanzeiger aktiv ist, besteht eine Bedingung, bei der das
Bild mit dem abgeschalteten Kantenanzeiger die mit dieser
Kante verbunden Referenzdaten hat, aber das andere Bild hat
dies nicht. Das heißt, einer der Makroblöcke hat ganze 18 × 18
Pixel, und der andere hat dies nicht. In diesem Falle werden,
obwohl der Bild mit dem ausgeschalteten Anzeiger sogar die
Daten hat, die Überschußdaten abgestreift und nicht gesendet.
Das heißt, die mit einem Kantenanzeiger verbundenen
zusätzlichen Referenzdaten werden nur gesendet, wenn für die
Makroblöcke in beiden Bildern der Kantenanzeiger ausgeschaltet
ist. Durch das Abstreifen der zusätzlichen Pixeldaten, die nur
in einem der Bilder vorhanden sind, werden für beide Bilder
immer symmetrische Suchfenster gebildet.
Fig. 6 zeigt die erforderlichen Referenzdaten, aus denen Halb
pixelwerte berechnet werden können, wenn nicht alle
Referenzdaten verfügbar sind. Fig. 7 zeigt die erforderlichen
Referenzdaten, um die Halbpixelwerte mit zweiseitig
gerichteten Kantenbedingungen mit symmetrischen
Vergangenheits-/Zukunftsdaten zu berechnen.
Obgleich die Erfindung, mit Bezug auf gewisse bevorzugte Ausfüh
rungsformen und Beispielfälle beschrieben worden ist, besteht
nicht die Absicht, den Umfang der Erfindung dadurch
einzuschränken, sondern nur durch die hier angefügten
Ansprüche.
Claims (3)
1. Verfahren zum Erzeugen eines in zwei Richtungen codierten
Bildes aus zwei Referenzbildern, das die Durchführung
eines Speicherabrufes jedes Referenzbildes, das Finden
von am besten passenden Makroblöcken an seinen Grenzen
mit ganzen Pixeln, das Interpolieren der Makroblöcke mit
ganzen Pixelgrenzen zum Bilden zweiseitig gerichteter
Makroblöcke und das Berechnen von Halbpixel-
Referenzbilddaten daraus umfaßt; Verbesserung, die das
Abtrennen von Überschußpixeln von den am besten passenden
Makroblöcken umfaßt, um die am besten passenden
Makroblöcke in Größe, Gestalt und Orientierung
symmetrisch zu machen.
2. Verfahren von Anspruch 1, welches das Setzen von Kantende
tektoren umfaßt, um Überschußpixel zu erkennen.
3. Verfahren von Anspruch 1, wobei die Überschußpixel Pixeln
entsprechen, welche die am besten passenden Makroblöcke
ergeben, die in Größe, Gestalt und Ausrichtung
unterschiedlich sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60247296A | 1996-02-16 | 1996-02-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19702728A1 true DE19702728A1 (de) | 1997-08-21 |
Family
ID=24411484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19702728A Ceased DE19702728A1 (de) | 1996-02-16 | 1997-01-27 | Verfahren und Gerät zum Bilden symmetrischer Suchfenster zur zweiseitig gerichteten Bewegungsabschätzung von Halbpixeln |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH09261661A (de) |
KR (1) | KR100240620B1 (de) |
DE (1) | DE19702728A1 (de) |
TW (1) | TW366647B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014198055A1 (en) * | 2013-06-14 | 2014-12-18 | Intel Corporation | Image processing including adjoin feature based object detection, and/or bilateral symmetric object segmentation |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100599935B1 (ko) | 2003-10-15 | 2006-07-13 | 한국전자통신연구원 | 정화소 탐색시의 사드값 및 확률 변수에 기반한 고속의반화소 탐색 방법 |
JP6646218B2 (ja) | 2016-03-28 | 2020-02-14 | 富士通株式会社 | 充電回路及び電子装置 |
-
1996
- 1996-06-28 TW TW085107826A patent/TW366647B/zh active
- 1996-11-07 KR KR1019960052608A patent/KR100240620B1/ko not_active IP Right Cessation
-
1997
- 1997-01-27 DE DE19702728A patent/DE19702728A1/de not_active Ceased
- 1997-02-13 JP JP9029047A patent/JPH09261661A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014198055A1 (en) * | 2013-06-14 | 2014-12-18 | Intel Corporation | Image processing including adjoin feature based object detection, and/or bilateral symmetric object segmentation |
US10074034B2 (en) | 2013-06-14 | 2018-09-11 | Intel Corporation | Image processing including adjoin feature based object detection, and/or bilateral symmetric object segmentation |
Also Published As
Publication number | Publication date |
---|---|
TW366647B (en) | 1999-08-11 |
JPH09261661A (ja) | 1997-10-03 |
KR100240620B1 (ko) | 2000-01-15 |
KR970064262A (ko) | 1997-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19702048C2 (de) | Skalierbarer Videocodierer gemäß MPEG2-Standard | |
DE69433272T2 (de) | Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales | |
DE69937462T2 (de) | Effiziente macroblockheaderkodierung zur videokompression | |
DE69738262T2 (de) | Videokodierungs- und Videodekodierungsvorrichtung | |
DE60015566T2 (de) | Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes | |
DE69839100T2 (de) | Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke | |
DE69031045T2 (de) | Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals | |
DE69116869T2 (de) | Digitale bildkodierung mit einer zufallsabtastung der bilder | |
DE19743202B4 (de) | Verfahren zum Codieren eines Bewegungsvektors | |
DE19704439A1 (de) | Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien | |
EP0687111A2 (de) | Verfahren zur Codierung/Decodierung eines Datenstroms | |
DE4442643B4 (de) | Verfahren zum Abschätzen der Bewegung in einem Bewegtbild | |
DE69126525T2 (de) | Digitale bildverarbeitung mit filterung der blockkanten | |
EP1241892A1 (de) | Hardware-Accelerator eines Systems zur Videoverarbeitung | |
EP0836785B1 (de) | Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf | |
DE60210757T2 (de) | Vorrichtung zur videokodierung und -aufzeichnung | |
DE19524872C1 (de) | Verfahren und Anordnung zur Codierung und Decodierung von einem Videodatenstrom für alle Bildelemente des Videodatenstroms | |
EP1110407B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors | |
DE19702728A1 (de) | Verfahren und Gerät zum Bilden symmetrischer Suchfenster zur zweiseitig gerichteten Bewegungsabschätzung von Halbpixeln | |
EP1285537B1 (de) | Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern | |
EP0336510A2 (de) | Prädiktiver Standbildcodierer | |
DE10219640A1 (de) | Verfahren zum Codieren und Decodieren von Videosequenzen und Computerprogrammprodukt | |
DE4333368C2 (de) | Verfahren zur Aufbereitung von Daten zur Beschreibung von Bildbereichen, sowie Anordnung hierzu | |
DE102020207711B3 (de) | Verfahren und vorrichtungen zur codierung von bilddaten | |
WO2001049038A1 (de) | Verfahren, anordnung und computerprogrammerzeugnis zur prädiktion bei der codierung eines in bildblöcke unterteilten bildes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |