-
Die
Erfindung betrifft Geräte
und Verfahren zur Bildkodierung z.B. auf der Basis von MPEG-(Moving Picture Image
Experts Group)-Standards und bezieht sich insbesondere auf ein Detektierungsverfahren
für Bewegungsvektoren.
-
Das
MPEG-System wurde von ISO/IEC JTC1/SC29 entwickelt. Diese Bezeichnung
ist eine Abkürzung
für die
International Organization for Standardization/International Electrotechnical
Commission, Joint Technical Committee 1/Sub Committee 29,
eine Organisation, in der die dynamische Bildkodierung diskutiert
wird.
-
Das
MPEG-System ist ein Kodiersystem zum Komprimieren von Bilddaten
unter Verwendung einer Kombination aus DCT (diskreter Cosinustransformation),
Prädiktion
mit Bewegungskompensation und variabler Wortlängenkodierung.
-
1 der
anliegenden Zeichnungen zeigt die Struktur einer Bildkodiervorrichtung
auf der Basis des MPEG-Systems. In der Anordnung von 1 werden
die Bilddaten einem Eingang T1 zugeführt. Die Bilddaten werden dann
in eine Bewegungsvektor-Detektorschaltung 21 und eine Subtrahierschaltung 22 eingegeben.
Die Bewegungsvektor-Detektorschaltung 21 berechnet unter
Verwendung der Eingangsbilddaten aus dem laufenden Vollbild und einem
Referenzvollbild (z.B. dem vorhergehenden Vollbild) einen Bewegungsvektor
und liefert diesen an eine Bewegungskompensationsschaltung 23.
-
Die
Bilddaten des Referenzvollbilds werden auch in einem Vollbildspeicher 24 gespeichert.
Die Bilddaten werden der Bewegungskompensationsschaltung 23 zugeführt. Die
Bewegungskompensationsschaltung 23 unterzieht die aus dem
Vollbildspeicher 23 übertragenen
Bilddaten einer Bewegungskompensation, wobei sie den von der Bewegungsvektor-Detektorschaltung 21 gelieferten
Bewegungsvektor benutzt. Das Ausgangssignal der Bewegungskompensationsschaltung 23 wird
der Subtrahierschaltung 22 und einer Addierschaltung 25 zugeführt.
-
Die
Subtrahierschaltung 22 bestimmt die Prädiktionsfehlerdaten durch Berechnen
der Differenz zwischen den Bilddaten des laufenden Vollbilds, die
von dem Eingang T1 geliefert werden und den bewegungskompensierten
Bilddaten des Referenzvollbilds, das von der Bewegungskompensationsschaltung 23 geliefert
wird, und führt
sie einer DCT-Schaltung 26 zu. Die DCT-Schaltung 26 unterzieht
die Fehlerprädiktionsdaten
einer DCT-Verarbeitung und sendet sie zu einem Quantisierer 27.
Der Quantisierer 27 quantisiert das Ausgangssignal der
DCT-Schaltung 26 und sendet es zu einer (in der Zeichnung
nicht dargestellten Schaltung zur variablen Wortlängenkodierung.
-
Das
Ausgangssignal des Quantisierers 27 wird außerdem einem
inversen Quantisierer 29 zugeführt. Dort wird das Ausgangssignal
einer inversen Quantisierung unterzogen, und das Ausgangssignal wird
in einer inversen DCT-Schaltung 30 einer inversen DCT-Verarbeitung
unterzogen und in die ursprünglichen
Prädiktionsfehlerdaten
zurückgeführt und
der Addierschaltung 25 zugeführt.
-
Die
Addierschaltung 25 addiert die Prädiktionsfehlerdaten zu den
Ausgangsdaten der Bewegungskompensationsschaltung 23, um
beide Daten des laufenden Vollbilds zu berechnen. Die berechneten
Bilddaten werden in dem Vollbildspeicher 24 als Bilddaten
des nächsten
Referenzvollbilds gespeichert.
-
Als
Verfahren zum Detektieren eines Bewegungsvektors war für eine solche
Bildkodiervorrichtung das Blockvergleichsverfahren bekannt. Bei
dem Blockvergleichsverfahren wird ein Bild in kleine rechteckige
Bereiche (Blöcke)
unterteilt, und die Bewegung wird Block für Block detektiert. Der Block
hat eine Größe von 8
horizontalen Pixeln × 8
vertikalen Pixeln (im folgenden als 8 × 8 abgekürzt) oder eine Größe von 16 × 16. Als
Nächstes
wird anhand von 2 das Blockvergleichsverfahren
beschrieben.
-
In 2 ist
in dem Referenzvollbild 41 ein Referenzblock RB der Größe M × N gesetzt.
In einem Suchvollbild 42 wird ein Suchblock SB gesetzt,
der die gleiche Größe hat wie
der Referenzblock RB. Der Suchblock SB wird in einem vorgeschriebenen
Suchbereich 43 der Größe ±m × ±n um den
Suchblock SB0 bewegt, der an der gleichen Position liegt wie der
Referenzblock RB in dem Suchvollbild 42. Es wird dann die Übereinstimmung
zwischen dem Referenzblock RB und dem Suchblock SB berechnet. Der Suchblock
mit der höchsten Übereinstimmung
wird als Vergleichsblock zugeordnet, und aus dem Vergleichsblock
wird der Bewegungsvektor berechnet.
-
Falls
die Übereinstimmung
eines Suchblocks SBk, der an der Position liegt, die gegenüber einem an
der gleichen Position wie der Referenzblock RB liegenden Suchblock
SBo um (u, v) verschoben ist, am größten ist, wird der Bewegungsvektor
des Referenzblocks RB als (u, v) bezeichnet. Der Suchblock, der
zu dem kleinsten Gesamtwert der Differenz der Absolutwerte der betreffenden
Pixel an der gleichen Position des Referenzblocks RB und des Suchblocks SB
oder des Gesamtwerts der Differenz der Quadrate der betreffenden
Pixel führt,
wird dann als Suchblock mit der höchsten Übereinstimmung zugeordnet.
-
In
dem MPEG-System wird eine Sequenz eines dynamischen Bilds in eine
Bildgruppe (GOP [Group of Picture]) aufgeteilt, die aus mehreren
Vollbildern (Bildern) für
die Kodierung zusammengesetzt sind. Eine GOP besteht aus einem in-frame-kodierten
Bild (I-Bild), einem inter-frame-kodierten Bild (P-Bild), das aus
dem bereits kodierten Vollbild prädiziert wird, und einem inter-frame-kodierten
Bild (B-Bild), das aus einem vorangehenden und einem nachfolgenden
Vollbild prädiziert
wird, die bereits kodiert sind.
-
In 3 wird
z.B. zunächst
das Bild I0, das ein I-Bild ist, in-frame-kodiert, und dann wird
die Bewegung detektiert, indem ein P-Bild P3 als Referenzvollbild
und das Bild I0 als Suchvollbild benutzt wird. Als Nächstes wird
die Bewegung in beiden Richtungen detektiert, indem das B-Bild B1
als Referenzvollbild und die Bilder I0 und P3 als Suchvollbilder
benutzt werden. Als Nächstes
wird die Bewegung in beiden Richtungen detektiert, indem das B-Bild
B2 als Referenzvollbild und die Bilder I0 und P3 als Suchvollbilder
benutzt werden.
-
Wie 4 zeigt, ist es im allgemeinen wünschenswert,
den für
die Bewegungsdetektierung erforderlichen Suchbereich proportional
zu dem Vollbildintervall zwischen einem Referenzvollbild und einem
Suchvollbild zu vergrößern. Hier
wird ein Beispiel beschrieben, das ein Referenzvollbild betrifft, das
einen Referenzblock mit der Blockgröße 16 × 16 enthält. Wenn beispielsweise der
Suchbereich für
ein Vollbildintervall von 1 Vollbild ±16 in horizontaler und vertikaler
Richtung beträgt,
sollte der Suchbereich für ein
Vollbildintervall von 2 Vollbildern eine Größe von ±32 haben und für ein Vollbildintervall
von 3 Vollbildern eine Größe von ±48.
-
Wenn
der Suchbereich proportional zu dem Vollbildintervall erweitert
wird, wächst
jedoch der Umfang der für
die Bewegungsdetektierung benötigten Hardware
auf den vierfachen und neunfachen Wert desjenigen an, der für das Vollbildintervall
von 1 Vollbild benötigt
wird. Mit anderen Worten, es ist sehr umfangreiche Hardware erforderlich,
um eine Bewegungsdetektierung für
das Vollbildintervall von 3 Vollbildern durchzuführen wie in dem Fall der Bewegungsdetektierung,
bei der das Bild P3 als Referenzvollbild und das Bild I0 als Suchvollbild
benutzt werden.
-
EP-A-0
652 678 offenbart ein Kodierverfahren und -gerät mit Bewegungsdetektierung,
bei denen die Lokalisierung des Suchfensters innerhalb eines Referenzvollbilds
unter Verwendung der globalen Bewegung des Vollbilds definiert wird.
-
Als
Verfahren zur Vergrößerung des
Suchbereichs ohne Vergrößerung des
Hardwareumfangs ist die teleskopische Suche bekannt. Die teleskopische Suche
kann den großen
Suchbereich abdecken, indem sie im Zentrum des Suchbereichs für die betreffenden
Referenzblöcke
einen Offset vorsieht, während
der Suchbereich stets innerhalb von ±16 gehalten wird. Die teleskopische
Suche wird im folgenden anhand von 5 beschrieben.
-
Wie 5 zeigt,
wird z.B. für
den Fall, daß eine
Suche in dem Suchvollbild durchgeführt wird, das von dem Referenzvollbild
einen Abstand von 3 Vollbildern hat, zunächst ein Bewegungsvektor MV1 in
dem Referenzblock mit dem Suchbereich von ±16 in dem Suchvollbild 1
gewonnen, das einen Abstand von 1 Vollbild hat. Als Nächstes wird
die Suche innerhalb des Suchbereichs von ±16 mit dem Zentrum in dem
Suchbereich von MV1 in dem Suchvollbild 2 durchgeführt, das
einen Abstand von 2 Vollbildern hat, um einen Bewegungsvektor MV2
zu gewinnen. Der Suchbereich beträgt dann, vom Referenzblock zu
dem Referenzvollbild betrachtet, ±32. Schließlich wird
in dem Suchvollbild 3, das einen Abstand von 3 Vollbildern hat,
eine Suche in dem Suchbereich von ±16 mit dem Zentrum in dem
Suchbereich MV2 durchgeführt,
um einen Bewegungsvektor MV3 zu gewinnen. Wie oben beschrieben wurde,
wird zuletzt für
den Suchbereich von ±48
der Suchvektor gewonnen, der einen Abstand von 3 Vollbildern hat.
Wenn eine Pipeline-Verarbeitung durchgeführt wird, ist der Hardwareumfang
nur dreimal so groß wie
derjenige, der für
die Abdeckung des Suchbereichs von ±16 benötigt wird.
-
6 zeigt einen Vergleich der Suchdaten-Übertragungsrate
zwischen dem festen Suchbereich und der teleskopischen Suche.
-
Im
Fall des festen Suchbereichs überlappen Referenzblöcke, die
in horizontaler Richtung benachbart sind, z.B. RB0 und RB1, einander
auf 32 × 48, wie
dies in 6A dargestellt ist, und nur
die Daten von 16 × 48,
in denen die Suchbereiche einander nicht überlappen, können zusätzlich übertragen
werden.
-
Da
andererseits bei der teleskopischen Suche der Suchbereich für die jeweiligen
Referenzblöcke
unterschiedlich ist, ist es hier erforderlich, jedesmal einen Suchbereich
von ±16
(48 × 48)
in einem 256 (= 16 × 16)
Takt zu übertragen,
wie dies in 6B dargestellt ist Um die teleskopische
Suche in dem Suchbereich von ±16
durchzuführen,
ist deshalb die dreifache Übertragungsrate
erforderlich, nämlich (48 × 48)/(16 × 48). Dieser
Wert nimmt mit wachsendem Suchbereich weiter zu, so ist z.B. im
Fall von ±32
die fünffache Übertragungsrate,
nämlich
(80 × 80)/(80 × 16) für die teleskopische
Suche erforderlich. Diese Vergrößerung verursacht
Schwierigkeiten. Wenn man 8-Bit-Pixeldaten und einen Pixeltakt von 13,5
MHz annimmt, ist eine Übertragungsrate
von (80 × 80/256) × 13,5 MHz × 1 Byte
= 337,5 MB/s erforderlich. Eine derart große Übertragungsrate bildet eine
hohe Barriere für
die Realisierung der Hardware.
-
In
diesem Beispiel kann nur ein BEreich von +48, nämlich das Dreifache des üblichen
Basis-Suchbereichs
(±16)
abgedeckt werden. In der Praxis kann jedoch im Fall eines schnell
be wegten Bilds in einem Programm, wie einem Sportprogramm, ein solcher
Suchbereich (±48)
die Bewegung nicht abdecken, so daß die Bildqualität beeinträchtigt wird.
-
Wie
oben beschrieben wurde, hat die herkömmliche teleskopische Suche
den Nachteil, daß zur Übertragung
des Suchbereichs eine sehr große Datenübertragungsrate
erforderlich ist. Außerdem hat
die teleskopische Suche den Nachteil, daß ein vergrößerter Basis-Suchbereich benötigt wird,
um sehr schnelle Bewegungen abzudecken, und daß für einen solchen Fall die größere Datenübertragungsrate
benötigt
wird.
-
Nach
einem ersten Aspekt der Erfindung ist eine Bildkodiervorrichtung
nach Anspruch 1 vorgesehen.
-
Nach
einem zweiten Aspekt der Erfindung ist ein Bildkodierverfahren nach
Anspruch 8 vorgesehen.
-
Bei
einem Ausführungsbeispiel
der vorliegenden Erfindung detektiert die Bewegungsdetektoreinrichtung
Bewegungsvektoren zwischen Bildern, die einen Abstand von M Halbbildern
oder M Vollbildern haben (M ist eine ganze Zahl gleich 1 oder größer). Die
Detektoreinrichtung erzeugt eine Bewegungsvektorverteilung für das ganze
Bild oder für jede
partielle Region unter Verwendung der Bewegungsvektoren, und die
Berechnungseinrichtung berechnet einen Suchbereich zwischen Bildern,
die einen Abstand von N Halbbildern oder N Vollbildern haben (N
ist eine ganze Zahl größer als
M), wobei sie die Verteilung benutzt. Die Bewegungsdetektoreinrichtung
führt die
Bewegungsdetektierung unter Verwendung des berechneten Blocks durch.
-
Es
ist vorzugsweise ein Offset zum Zentrum des Suchbereichs vorgesehen,
wenn der Bewegungsvektor detektiert wird.
-
Ein
bevorzugtes Ausführungsbeispiel
der vorliegenden Erfindung liefert eine Vorrichtung und ein Verfahren
zur Bildkodierung, die in der Lage sind, den Suchbereich ohne Erhöhung der Übertragungsrate
des Suchblocks zu vergrößern.
-
Im
folgenden wird die Erfindung unter Bezugnahme auf die anliegenden
Zeichnungen, in denen gleiche Teile durchgehend mit gleichen Bezugszeichen
versehen sind, beispielhaft beschrieben.
-
1 zeigt
ein Blockdiagramm der Struktur einer Bildkodiervorrichtung auf der
Basis des MPEG-Systems,
-
2 zeigt
ein Diagramm zur Veranschaulichung des Blockvergleichsverfahrens,
-
3 zeigt
ein Diagramm für
ein Beispiel der Bewegungsdetektierung in MPEG,
-
4A bis 4C zeigen
Diagramme, die die Beziehung zwischen dem Vollbildintervall und
einem gewünschten
Suchbereich illustrieren,
-
5 zeigt
ein Diagramm, das bereits früher vorgeschlagene
teleskopische Suche veranschaulicht,
-
6A und 6B zeigen
Diagramme zur Beschreibung des Vergleichs zwischen den Datenübertragungsraten
bei der üblichen
Suche und bei der teleskopischen Suche,
-
7 zeigt
ein Blockdiagramm einer Bewegungsvektor-Detektorschaltung,
-
8 zeigt
ein Blockdiagramm eines Ausführungsbeispiels
einer Bewegungsvektor-Detektorschaltung gemäß der Erfindung,
-
9A und 9B zeigen
Diagramme, in denen der Suchbereich für einen festen Suchbereich der
zwei Bewegungsdetektierungsschaltungen und den Suchbereich für die Detektierung
eines Bewegungsvektors dargestellt sind,
-
10 zeigt
ein Flußdiagramm,
das die Bewegungsdetektierung in der Bewegungsvektor-Detektorschaltung
von 8 beschreibt,
-
11A und 11B zeigen
Diagramme zur Beschreibung eines Beispiels einer Bewegungsvektorverteilung
im statischen Modus und im dynamischen Modus in der Bewegungsvektor-Detektorschaltung
von 8,
-
12A und 12B zeigen
Diagramme zur Beschreibung eines Beispiels eines Suchbereichs im
statischen Modus und im dynamischen Modus in der Bewegungsvektor-Detektorschaltung
von 8,
-
13 zeigt
ein Diagramm zur Beschreibung der Detektierung des Bewegungsvektors
bei einem Abstand von 3 Vollbildern,
-
14 zeigt
ein Flußdiagramm,
das ein anderes Beispiel der Bewegungsdetektierung in der Bewegungsvektor-Detektorschaltung
von 8 beschreibt,
-
15A und 15B zeigen
Diagramme zur Beschreibung eines Beispiels der Bewegungsvektorverteilung
und des Suchbereichs bei der in 14 dargestellten
Verarbeitung,
-
16 zeigt ein Blockdiagramm der Struktur einer
Bewegungsvektor-Detektorschaltung für den Fall, daß bei der
teleskopischen Suche ein Verfahren gemäß der Erfindung angewendet
wird,
-
17 zeigt
ein Diagramm zur Beschreibung eines Beispiels des Suchbereichs für den Fall, daß bei der
teleskopischen Suche ein Verfahren gemäß der Erfindung angewendet
wird.
-
7 zeigt
ein Blockdiagramm einer Bewegungsvektor-Detektorschaltung, die nicht
Teil der vorliegenden Erfindung ist. Die Bewegungsvektor-Detektorschaltung
umfaßt
einen Referenzvollbildspeicher 1, einen Suchvollbildspeicher 2,
eine Bewegungsdetektierungsschaltung 3 und eine Bewegungsvektorverteilungs-Detektorschaltung 4.
-
Der
Referenzvollbildspeicher 1 speichert das Bild eines Referenzvollbilds.
Der Suchvollbildspeicher 2 speichert das Bild eines Suchvollbilds
und setzt einen Suchbereich eines Suchblocks nach Maßgabe eines
Suchblock-Lesesteuersignals c, das aus der Bewegungsvektorverteilungs-Detektorschaltung 4 zugeführt wird.
-
Die
Bewegungsdetektierungsschaltung 3 berechnet einen Bewegungsvektor
d für den
Referenzblock aus Bilddaten a des Referenzblocks, die von dem Referenzvollbildspeicher 1 zugeführt werden, und
Bilddaten b eines Suchblocks, die von dem Suchvollbildspeicher 2 zugeführt werden.
Der Bewegungsvektor d wird z.B. nach dem oben beschriebenen Blockvergleichsverfahren
berechnet. Die Bewegungsdetektierungsschaltung 3 gibt den
berechneten Bewegungsvektor d zusammen mit der laufenden Restdifferenz
e aus.
-
Die
Bewegungsvektorverteilungs-Detektorschaltung 4 erzeugt
auf der Basis des aus der Bewegungsdetektierungsschaltung 3 zugeführten Bewegungsvektors
d und des Restvektors d das Suchblock-Lesesteuersignal c und liefert
dieses an den Suchvollbildspeicher 2. Im Einzelnen wird
auf der Basis der Bewegungsvektorverteilung zwischen Bildern, die
einen Abstand von 1 Vollbild/ oder 1 Halbbild voneinander haben,
ein Referenzvektor berechnet, der dem Zentrum eines Bewegungsbereichs
entspricht, der für
die Bewegungsdetektierung zwischen Bildern benutzt wird, die einen
Abstand von 2 Vollbildern/ oder 2 Halbbildern oder mehr voneinander
haben. In Abhängigkeit
von dem Referenzvektor, der dem Zentrum des Suchbereichs entspricht,
gibt die Bewegungsvektorverteilungs-Detektorschaltung 4 das
Suchblock-Lesesteuersignal c aus und steuert das Auslesen des Suchblocks
aus dem Suchvollbildspeicher 2 auf der Basis des Suchblock-Lesesteuersignals
c.
-
8 zeigt
ein Blockdiagramm zur Erläuterung
eines Ausführungsbeispiels
einer Bewegungsvektor-Detektorschaltung, bei der die vorliegende
Erfindung angewendet wird. Komponenten, die 7 entsprechen,
sind mit den gleichen Bezugszeichen versehen wie dort.
-
Die
Bewegungsvektor-Detektorschaltung umfaßt eine erste Bewegungsdetektierungsschaltung 3-A und
eine zweite Bewegungsdetektierungsschaltung 3-B. Die Bewegungsvektorverteilungs-Detektorschaltung 4' dient zur Detektierung
der Bewegungsvektorverteilung in einem Bild aus einem Bewegungsvektor
d1 und der Restdifferenz e1, die von der ersten Bewegungsdetektierungsschaltung 3-A ausgegeben
werden, oder eines Bewegungsvektors d2 und der Restdifferenz e2,
die von der zweiten Bewegungsdetektierungsschaltung 3-B ausgegeben werden,
sowie zur Erzeugung eines Detektierungsblock-Lesesteuersignals c.
Außerdem
ist eine Vergleicherschaltung 5 vorgesehen zur Berechnung
eines endgültigen
Bewegungsvektors f aus dem Bewegungsvektor d1 und der Restdifferenz
e1, die von der ersten Bewegungsdetektierungsschaltung 3A ausgegeben
werden, und dem Bewegungs vektor d2 und der Restdifferenz e2, die
von der zweiten Bewegungsdetektierungsschaltung 3-B ausgegeben
werden.
-
Die
erste Bewegungsdetektierungsschaltung 3-A und die zweite
Bewegungsdetektierungsschaltung 3-B führen eine Bewegungsdetektierung
in voneinander verschiedenen Suchbereichen durch. Der Suchbereich
der betreffenden Bewegungsdetektierungsschaltungen beträgt ±16 sowohl
in horizontaler als auch in vertikaler Richtung.
-
Da
ein Bild sich im allgemeinen in horizontaler Richtung oft schnell
bewegt, wird im Fall eines festen Suchbereichs der Suchbereich so
gesetzt, daß der
horizontale Suchbereich größer ist
als der vertikale Suchbereich, wie dies in 9A dargestellt
ist. In der Zeichnung ist der mit 3-A bezeichnete Bereich auf
der linken Seite der Y-Achse der Suchbereich der ersten Bewegungsdetektierungsschaltung 3-A,
und der als 3-B bezeichnete Bereich auf der rechten Seite der
X-Achse ist der Suchbereich der zweiten Bewegungsdetektierungsschaltung 3-B.
Der gesamte Suchbereich der ersten Bewegungsdetektierungsschaltung 3-A und
der zweiten Bewegungsdetektierungsschaltung 3-B umfaßt in diesem
Fall ±32
in horizontaler Richtung und ±16
in vertikaler Richtung, und der Referenzvektor, der dem Zentrum
des Suchbereichs entspricht, ist (X, Y) = (0, 0).
-
Auf
der anderen Seite kann bei der vorliegenden Erfindung der Suchbereich
der ersten Bewegungsdetektierungsschaltung 3-A fest sein,
während der
Suchbereich der zweiten Bewegungsdetektierungsschaltung 3-B verändert wird.
Deshalb kann der Suchbereich vergrößert werden (Einzelheiten werden
weiter unten beschrieben).
-
Als
Nächstes
wird anhand von 10 die Bewegungsdetektierung
in der Bewegungsvektor-Detektorschaltung
von 8 erlätert.
Hier wird der Fall beschrieben, daß ein Suchbereich in einem Suchvollbild,
das einen Abstand von 3 Vollbildern hat, mit Hilfe eines Vektors
für die
Bewegungsdetektierung zwischen Bildern, die einen Abstand von 1
Halbbild haben, beschrieben wird. Wenn angenommen wird, daß Bilder
so angeordnet sind, wie dies in 13 dargestellt
ist, wird der Suchbereich zum Detektieren des Bewegungsvektors von
P3 festgelegt, wobei I0 des Suchvollbilds benutzt wird, das einen Abstand
von 3 Vollbildern hat.
-
Zunächst wird
die Bewegung von dem oberen Halbbild (das obere Halbbild wird im
folgenden als Top abgekürzt)
von B1, das einen Abstand von 1 Halbbild zu dem unteren Halbbild
(das untere Halbbild wird im folgenden als Bottom abgekürzt) von
I0 detektiert, wobei entweder die erste Bewegungsdetektierungsschaltung 3-A oder
die zweite Bewegungsdetektierungsschaltung 3-B benutzt
wird, und die resultierende Restdifferenz und der Bewegungsvektor
werden in der Bewegungsvektgrverteilungs-Detektorschaltung 4' gespeichert.
-
Der
Suchbereich beträgt ±16 in
horizontaler Richtung und ±16
in vertikaler Richtung, der Referenzvektor, der dem Suchbereich
entspricht, ist (X, Y) = (0, 0). Diese Verarbeitung ist in dem Schritt
S1 in 10 dargestellt.
-
In
dem Schritt S1 wird die Anweisung "für
alle Halbbilder werden Vektorverteilungen erzeugt, die der Bewegungsdetektierung
zwischen 1 Halbbild entsprechen" ausgeführt. Im
Detail wird hierzu, wie in 9B dargestellt,
z.B. der Suchbereich von ±16
(32 × 32)
des Bewegungsvektors in Blöcke
der Größe 4 × 4 unterteilt,
und die Zahl der Bewegungsvektoren in dem Suchbereich wird gezählt. Der
Bewegungsvektor, dessen Restdifferenz unter einem vorbestimmten Schwellwert
liegt, wird nicht gezählt,
weil seine Zuverlässigkeit
gering ist.
-
In
dem Schritt S2 wird geprüft,
ob das Bild statisch ist. Das heißt wenn die Zahl der Bewegungsvektoren
in dem Bereich (Bereich 1) ±4
in horizontaler Richtung und ±4
in vertikaler Richtung in dem zentralen Abschnitt des Suchbereichs
gleich oder größer ist
als bestimmter Schwellwert Th1, wird entschieden, daß das Bild
im statischen Modus vorliegt (Normalmodus), und in dem Schritt S3
wird der statische Modus festgelegt. Die Funktion Zählen [Count](spezifizierter
Bereich) ist eine Funktion, mit der die Gesamtzahl der in dem spezifizierten
Bereich enthaltenen Vektoren zurückgeführt wird.
Der Bereich 1 ist der in 11A schattierte
Teil und entspricht dem statischen Bereich. Mit anderen Worten,
wenn die Mehrheit der Bewegungsvektoren statisch ist, wird entschieden,
daß sich
das Bild im statischen Modus befindet.
-
Wenn
in dem Schritt S2 festgestellt wird, daß das Bild sich nicht im statischen
Modus befindet, wird in dem Schritt S4 der Schwerpunkt MVC (mvx – c, mvy – c) bestimmt,
in dem die Bewegungsvektoren am intensivsten konzentriert sind.
Die Gesamtzahl der Vektoren wird um den Schwerpunkt herum gezählt, und
falls der Wert gleich oder größer ist
als ein Schwellwert Th2, wird entschieden, daß sich das Bild in dynamischem
Modus (Verschiebungsmodus) befindet, und in dem Schritt S5 wird
der dynamische Modus gesetzt.
-
Zur
Ermittlung des Schwerpunkts MVC wird hier z.B. die Zahl der Vektoren
in den betreffenden Teilblöcken
mit der Größe 4 × 4 über den
gesamten Suchbereich gezählt,
und dann wird in dem gesamten Suchbereich die Zahl der Vektoren
in einem Fenster gesucht, das zwei horizontale Teilblöcke und zwei
vertikale Teilblöcke
enthält,
um ein Fenster zu ermitteln, in welchem die Vektoren am intensivsten konzentriert
sind. Der Schwerpunkt wird dann in Abhängigkeit von der Zahl der Vektoren
in vier Teilblöcken
in dem Fenster ermittelt. Die Zahl der Bewegungsvektoren in dem
Bereich 2 um den Schwerpunkt wird gezählt, und es wird geprüft, ob der
Wert höher
ist als der Schwellwert Th2. Der Bereich erstreckt sich in 11B in horizontaler Richtung von 8 bis 16 und
in vertikaler Richtung von –4
bis +4, wobei der Bereich 2 jedoch in Abhängigkeit von der Position des
Schwerpunkts variiert.
-
Falls
in dem Schritt S4 die Gesamtzahl der Bewegungsvektoren in dem Bereich
2 kleiner ist als der Schwellwert Th2, wird das Bild in dem Schritt
S6 als statischer Modus gesetzt.
-
Wenn
z.B. in einem Sportprogramm eine Kamera einen Spieler oder einen
Ball mit einer sehr schnellen Schwenkbewegung verfolgt, bewegt sich der
Hintergrund, der eine große
Fläche
besetzt und den größten Teil
des Bilds darstellt, schnell in einer bestimmten Richtung, wobei
eine solche Bewegung eine Vektorkonzentration verursacht, wie sie
in 11B dargestellt ist. Der Spieler oder der Ball,
den die Kamera verfolgt, ist hingegen statisch, so daß die Restvektoren
in dem statischen Bereich (Bereich 1) verteilt sind.
-
In
dem nächsten
Schritt S7 wird in Abhängigkeit
von dem in den Schritten S3, S5 oder S6 gesetzten Modus der zentrale
Vektor SMV1 des Suchbereichs der ersten Bewegungsdetektierungsschaltung 3-A und
der zweiten Bewegungsdetektierungsschaltung 3-B bestimmt.
-
12A zeigt den Suchbereich des statischen Modus.
Dieser Suchbereich ist der gleiche wie der in 9A dargestellte
feste Suchbereich. Der zentrale Vektor des Suchbereichs ist SMV1
= (mvx1, mvy1) = (–16,
0) bzw. SMV2 = (mvx2, mvy2) = (16, 0).
-
Im
dynamischen Modus wird der Suchbereich hingegen so gesetzt, wie
dies in 12B dargestellt ist. Der zentrale
Vektor des Suchbereichs ist in diesem Fall SMV1 = (mvx1, mvy1) =
(0, 0) bzw. SMV2 = (mvx2, mvy2) = (96, 0). Im folgenden wird beschrieben,
warum der zentrale Vektor des Suchbereichs im dynamischen Modus
auf diesen Wert gesetzt wird.
-
Wie
in 13 dargestellt, umfaßt die Detektierung des Bewegungsvektors
MV3 über
einen Abstand von 3 Vollbildern vier Typen, nämlich von Top von P3 bis Top
von I0, von Top von P3 zu Bottom von I0, von Bottom von P3 zu Top
von I0 und von Bottom von P3 zu Bottom von I0 als Halbbildvektor,
wobei die betreffenden Vektoren einem Halbbildabstand von 6 Halbbildern,
von 5 Halbbildern, von 7 Halbbildern und von 6 Halbbildern entsprechen.
Der Abstand des Vollbildvektors MV3 beträgt 6 Halbbilder. In Anbetracht
dieser Abstände
wird als Abstand von P3 zu I0 ein Mittelwert von 6 Halbbildern angenommen.
Deshalb werden zwei Bereiche rund um SMV2 = (6mvx_c, 6mvy_c), 6
mal Bewegungsschwerpunkt MVC (mvx_c, mvy_c) zwischen 1 Halbbild
gesucht. Damit werden sowohl die Bewegung des schnell bewegten Hintergrundbereichs
als auch der statische Bereich des Spielers oder des Balls in dem
Suchbereich abgedeckt.
-
Hier
wurde als Beispiel der Fall einer horizontalen Schwenkbewegung herangezogen.
Eine vertikale Kippbewegung und eine Schrägbewegung werden in der gleichen
Weise verarbeitet. Bei diesem System wird im vorliegenden Ausführungsbeispiel der
maximale Suchbereich horizontal und vertikal auf ±16 × (6 + 1)
= ±112
vergrößert. Da
zwei Bewegungsdetektierungsschaltungen benutzt werden, beträgt die Übertragungsrate
der Suchdaten pro Block 48 × 16 × 2, so
daß der
Suchbereich trotz der reduzierten Ubertragungsrate der Suchdaten
größer ist
als bei der teleskopischen Suche.
-
14 zeigt
ein weiteres Beispiel für
die Bewegungsdetektierung in der Bewegungsvektor-Detektorschaltung von 8.
Bei dieser Verarbeitung wird der Offsetwert MV-Offset (mvx, mvy)
des Suchbereichzentrums zunächst
auf (0, 0) gesetzt, wenn die Bewegung zwischen 1 Halbbild detektiert
wird, und anschließend
in Abhängigkeit
von der Bewegungsvektorverteilung geändert.
-
Wie 14 zeigt,
wird zunächst
der zentrale Wert des Suchbereichs MV_Offset auf (0, 0) gesetzt. Die
Schritte S11 bis S18 sind die gleichen wie die Schritte S1 bis S8.
In dem Schritt S19 wird der Offsetwert des Zentrums des Suchbereichs
MV-Offset (mvx, mvy) bei der Bewegungsdetektierung zwischen 1 Halbbild
in Abhängigkeit
von dem vergangenen SMV1 (mvx1, mvy1) und SMV2 (mvx2, mvy29) bestimmt.
-
Wenn
z.B. der in dem Schritt S14 gezählte Bewegungsvektor
eine Verteilung hat, wie sie in 11B dargestellt
ist, wird geschätzt,
daß die
Bewegung in der Richtung nach rechts stattfindet, und das Zentrum
des Suchbereichs wird in (8, 0) geändert, wie dies in 15A dargestellt ist. Infolgedessen erstreckt sich
der Suchbereich von –8
bis +24 in horizontaler Richtung und von –16 bis +16 in vertikaler Richtung,
so daß der
Suchbereich in horizontaler Richtung nach rechts erweitert ist.
-
Wie
oben beschrieben wurde, erhält
man für den
Fall, daß der
Kameraschwenk in der Richtung nach rechts beschleunigt wird, die
in 15A dargestellte Vektorverteilung, indem man den
Suchbereich in horizontaler Richtung nach rechts erweitert. Eine solche
Vektorverteilung ist nicht erreichbar, wenn das Zentrum des Suchbereichs
in (0, 0) liegt.
-
Für den Fall,
daß die
Bewegung zwischen 3 Vollbildern mit Erweiterung des Suchbereichzentrums
horizontal nach rechts detektiert wird, wird das Suchzentrum SMV2
(mvx2, mvy2) der zweiten Bewegungsdetektierungsschaltung 3-B auf
(24 × 6,
0) gesetzt. Dieses Suchzentrum ist in 15B dargestellt. Dadurch
wird der maximale Suchbereich sowohl in horizontaler als auch in
vertikaler Richtung auf ±(24 × 6 + 16)
= ±160
erweitert. Diese Verarbeitung ist bei einem Bild besonders effektiv,
wenn das ganze Bild beschleunigt wird.
-
Es
wurde das Beispiel beschrieben, bei dem der Bewegungsvektor MV3
zwischen 3 Vollbildern aus der Bewegungsvektorverteilung MV1 zwischen
1 Halbbild bestimmt wird. Durch Anwendung der vorliegenden Erfindung
kann jedoch der Bewegungsvektor zwischen N (Halbbildern/Vollbildern)
aus der Bewegungsvektorverteilung zwischen M (Halbbildern/Vollbildern)
(N > M = 1) bestimmt
werden.
-
Im
vorliegenden Ausführungsbeispiel
wurde exemplarisch beschrieben, daß die Verteilung des Bewegungsvektors
MV1 von dem zukünftigen
Top (B1) zu dem laufenden Bottom (I0) benutzt wird. Es kann jedoch
auch die Verteilung des Bewegungsvektors MV2 (zwischen 1 Halbbild)
von dem vergangenen Bottom (B1) zu dem laufenden Top (I0) benutzt werden.
Alternativ können
für die
Beurteilung sowohl die Verteilung von MV1 als auch von MV2 benutzt werden.
-
Im
vorliegenden Beispiel wurde exemplarisch der Fall beschrieben, daß zwei Bewegungsdetektierungsschaltungen
benutzt werden. Die Zahl der Bewegungsdetektierungsschaltungen ist
jedoch keineswegs auf zwei beschränkt, sie kann vielmehr auch
gleich eins sein (wie in 7 dargestellt) oder gleich drei
oder größer.
-
Im
vorliegenden Ausführungsbeispiel
wird die Bewegungsvektorverteilung über das gesamte Halbbild oder
Vollbild detektiert. Alternativ wird ein Bild in mehrere Bereiche
unterteilt, und die Bewegungsvektorverteilung wird für die betreffenden
Bereiche bestimmt (ein Bereich kann z.B. ½ oder ¼ Bild umfassen, das in mehrere
Makroblöcke
unterteilt ist). Der Suchbereich wird individuell festgelegt.
-
16 zeigt die Struktur einer Bewegungsvektor-Detektorschaltung
für den
Fall, daß die
vorliegende Erfindung auf die teleskopische Suche angewendet wird.
Die Bewegungsvektor-Detektorschaltung
besitzt einen Referenzvollbildspeicher 11, ferner erste
bis dritte Vollbildspeicher 12-1 bis 12-3, erste bis
dritte Bewegungsdetektierungsschaltungen 13-1 bis 13-3,
erste bis dritte Bewegungsvektorverteilungs-Entscheidungsschaltungen 14-1 bis 14-3 und eine
Vektoraddierschaltung 16.
-
Der
Referenzvollbildspeicher 1 speichert ein Bild des Referenzvollbilds.
Der erste bis dritte Suchvollbildspeicher 12-1 bis 12-3 speichern
ein Bild der Suchvollbilder 1 bis 3 und legen den Suchbereich eines
Suchblocks entsprechend dem ersten bis dritten Suchblock-Lesesteuersignal
c1 bis c3 fest, das aus der ersten bis dritten Bewegungsvektorverteilungs-Entscheidungsschaltung 14-1 bis 14-3 zugeführt wird.
-
Die
erste bis dritte Bewegungsdetektierungsschaltung 13-1 bis 13-3 bestimmen
Bewegungsvektoren d1 bis d3 des Referenzblocks auf der Basis der Bilddaten
a des Referenz blocks, die von dem Referenzvollbildspeicher 11 zugeführt werden,
und der Bilddaten b1 bis b3 des Suchblocks, die von dem ersten bis
dritten Suchvollbildspeicher 12-1 bis 12-3 zugeführt werden.
Die Bewegungsvektoren d1 bis d3 werden mit Hilfe des Blockvergleichverfahrens
bestimmt. Die erste bis dritte Bewegungsdetektierungsschaltung 13-1 bis 13-3 geben
die festgelegten Bewegungsvektoren d1 bis d3 zusammen mit den laufenden
Restdifferenzen e1 bis e3 aus.
-
Die
erste Bewegungsvektorverteilungs-Entscheidungsschaltung 14-1 bestimmt
das Zentrum dieses Suchbereichs auf der Basis des ersten bis dritten
Bewegungsvektors g (MV1 bis MV3) des Referenzblocks und sendet das
erste Suchblock-Lesesteuersignal c1 an den ersten Suchvollbildspeicher 12-1.
-
Die
zweite Bewegungsvektorverteilungs-Entscheidungsschaltung 14-2 bestimmt
das Zentrum dieses Suchbereichs auf der Basis des Bewegungsvektors
d1 und der Restdifferenz c1, die aus der ersten Bewegungsdetektierungsschaltung 13-1 zugeführt werden,
erzeugt das zweite Suchblock-Lesesteuersignal c2 und sendet dieses
zu dem zweiten Suchvollbildspeicher 12-2.
-
In ähnlicher
Weise bestimmt die dritte Bewegungsvektorverteilungs-Entscheidungsschaltung 14-3 das
Zentrum dieses Suchbereichs auf der Basis des Bewegungsvektors d2
und der Restdifferenz e2, die aus der zweiten Bewegungsdetektierungsschaltung 13-2 zugeführt werden,
erzeugt das dritte Suchblock-Lesesteuersignal c3 und sendet es zu
dem dritten Suchvollbildspeicher 12-3.
-
Die
Vektoraddierschaltung 15 addiert die Ausgangssignale der
ersten bis dritten Bewegungsdetektierungsschaltung 13-1 bis 13-3,
um den endgültigen
Bewegungsvektor f zu berechnen.
-
17 zeigt
ein Beispiel eines Suchbereichs der Bewegungsvektor-Detektorschaltung
von 16. Bei der herkömmlichen
teleskopischen Suche erfolgt die Suche zur Ermittlung des ersten Schritts,
nämlich
des Suchvollbilds 1, immer in einem Bereich von ±16 in horizontaler und vertikaler
Richtung in einem Suchbereich mit dem Zentrum (0, 0), und die Suche
in dem nächsten
Schritt erfolgt rund um den in diesem Schritt ausgewählten Vektor.
Bei der vorliegenden Erfindung wird hingegen für den Fall, daß sich der
vorhergehende Makroblock in dem laufenden Schritt schnell bewegt,
das Zentrum des Suchbereichs des laufenden Makroblocks in dem laufenden
Schritt in Abhängigkeit
von der Bewegung geändert.
Falls die Bewegung in dem vorhergehenden Schritt schnell ist, wird
das Zentrum des Suchbereichs in dem laufenden Schritt in Abhängigkeit
von der Bewegung geändert.
Dadurch kann der Suchbereich vergrößert werden, ohne daß der Schaltungsumfang
und die Übertragungsrate
der Suchdaten vergrößert werden.
-
So
führt z.B.
eine ±8-Änderung
des Suchbereichzentrums (0, 0) zu einem maximalen Suchbereich von ±(16 +
8) × 3
= ±72.
Wie in 17 dargestellt ist, wird im
Falle einer schnellen Bewegung in horizontaler Richtung nach rechts
(Bewegung um 24 Pixel zwischen 1 Vollbild) das Suchbereichszentrum, das
in dem ersten Schritt (Suchvollbild 1) üblicherweise auf (0, 0) gesetzt
ist, horizontal nach rechts verschoben und auf (8, 0) gesetzt.
-
In
dem ersten Schritt wird als Bewegungsvektor MV1(24, 0) gewählt, und
in dem zweiten Schritt wird dieses (24, 0) um 8 horizontal nach
rechts verschoben und das Suchbereichszentrum auf (32, 0) gesetzt
(Suchvollbild 2). In dem Schritt 2 wird MV2 (48, 0) als Bewegungsvektor
gewählt,
und dieses (48, 0) wird um 8 horizontal nach rechts in das Suchbereichszentrum
(56, 0) verschoben. Schließlich
wird der Bewegungsvektor MV3 (72, 0) gewonnen.
-
Mit
anderen Worten, bei der früher
vorgeschlagenen teleskopischen Suche, die in 5 dargestellt
ist, ist nur der Suchbereich von ±48 abgedeckt. In dem Ausführungsbeispiel
der vorliegenden Erfindung ist hingegen der Suchbereich von ±72 abgedeckt,
wie dies in 17 dargestellt ist. Der Suchbereich
ist also um 50% vergrößert.
-
Wie
vorangehend detailliert beschrieben wurde, kann der Bewegungsvektorbereich
bei den Ausführungsbeispielen
der Erfindung vergrößert werden,
ohne daß die Übertragungsrate
des Suchblocks vergrößert wird.
Es kann ein sehr schnell bewegtes Bild gesucht werden. Da im Fall
eines Schwenkens oder Kippens, d.h. für den Fall, daß sich das
ganze Bild schnell bewegt oder daß die Bewegung beschleunigt
ist, ein Suchbereich abgedeckt wird, wird die Bildqualität des kodierten
Bilds im Vergleich zu der früher
vorgeschlagenen Methode verbessert.