-
Hintergrund
der Erfindung
-
Die
vorliegende Erfindung betrifft das hocheffiziente Codieren analoger
Bewegungsbildsignale zu digitalen Signalen mit einem kleinen Betrag
von Codes für
eine effiziente Datenübertragung,
-speicherung und -anzeige. Insbesondere betrifft diese Erfindung
das bewegungskompensierte Codieren von Bewegungsbildsignalen durch
variables Codieren mit Bewegungsvektoren.
-
Bewegungsbildsignale
werden allgemein durch bewegungskompensierte Vorhersage gemäße Codierstandards,
wie MPEG-Standards, codiert.
-
Bewegungsvektoren
(MV), die für
bewegungskompensierte Vorhersage verwendet werden, werden auch durch
Codieren mit variabler Länge
codiert und dann mit Codes von Vorhersagefehlersignalen gemultiplext.
Bitströme
von gemultiplexten Codes werden dann an Decodierer übertragen,
in Speichermedien gespeichert oder auf einem Bildschirm angezeigt.
-
Das
MV-Codieren wird durch Bilden von Differenzen zwischen Bewegungsvektoren
in einem Block eines Bewegungsbildsignals und denen in einem benachbarten
Block und Codieren der Differenzen in den horizontalen und vertikalen
Richtungen durch Verwendung von Codes mit variabler Länge ausgeführt. Die
Codes mit variabler Länge
bestehen zum Beispiel aus Huffmann- Codes gemäß der Frequenz (der Anzahl
der Male) der Erzeugung von Bewegungsvektordifferenzen.
-
Das
MV-Codieren verwendet allgemein eine Codetabelle zum Codieren mit
variabler Länge.
Die Codetabelle besteht aus Codes mit variabler Länge gemäß der MV-Differenzverteilung
(Wahrscheinlichkeit der Erzeugung von jeder MV-Differenz). MV-Differenzen
haben eine große
Differenz zueinander gemäß der Bewegung
der Bilder, und die MV-Differenzverteilung paßt nicht zu einer Codetabelle,
die von den Teilen eines Bildes abhängt, wodurch der Betrag der
Codes der Bewegungsvektoren erhöht
wird. Je kleiner der Block des Bewegungsbildssignals bei der Bewegungskompensation
für eine
hohe Genauigkeit außerdem
ist, desto mehr Codes von Bewegungsvektoren gibt es in dem gesamten
Betrag der erzeugten Codes. „On
Coding of Motion Vectors for Motion-Compensated Predictive/Interpolative
Video Coder", Chen
u.a. SPIE Band 1605 Visual Communications and Image Processing '91: Visual Communication
offenbart das Codieren von Bewegungsvektoren mit variabler Länge unter
Verwendung eines optimalen VLC-Codebuchs.
-
Zusammenfassung
der Erfindung
-
Aufgabe
der vorliegenden Erfindung ist es, eine Vorrichtung und ein Verfahren
zum Codieren mit bewegungskompensierter Vorhersage von Bewegungsbildsignalen
durch variables Codieren mit Bewegungsvektoren zur Erzeugung von
weniger Codes für
Bewegungsvektoren zu schaffen.
-
Eine
weitere Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung
und ein Verfahren zum Decodieren mit bewegungs kompensierter Vorhersage
von codierten Bewegungsbildsignalen und Bewegungsvektoren zu schaffen.
-
Die
vorliegende Erfindung schafft eine Vorrichtung zum Codieren von
einem Bewegungsbildsignal durch bewegungskompensierte Vorhersage
unter Verwendung von Bewegungsvektoren für jeden bewegungskompensierten
Block des Bewegungsbildsignals. Die Vorrichtung schließt eine
Vektorgruppiereinheit, einen Bewegungsvektorcodierer und Multiplexer
ein. Die Vektorgruppiereinheit ordnet die Bewegungsvektoren im Bewegungsvektorgruppen
für jede
vorherbestimmte Anzahl von Bewegungsvektoren an; ein Codetabellenauswähler wählt eine
Codetabelle unter mehreren Codetabellen für jede Bewegungsvektorgruppe
zum Codieren der Bewegungsvektoren und Ausgeben der Codetabellenauswahlinformation
aus. Der Bewegungsvektorcodierer codiert die Bewegungsvektoren durch
Codieren mit variabler Länge
unter Verwendung der ausgewählten
Codetabelle als Reaktion auf die Codetabellenauswahlinformation.
Der Multiplexer multiplext die Codetabellenauswahlinformation und
die codierten Bewegungsvektoren.
-
Außerdem schafft
die vorliegende Erfindung ein Verfahren zum Codieren von einem Bewegungsbildsignal
durch bewegungskompensierte Vorhersage unter Verwendung von Bewegungsvektoren
für jeden
bewegungskompensierten Block des Bewegungsbildsignals. Die Bewegungsvektoren
sind in Bewegungsvektorgruppen für
jede vorbestimmte Anzahl von Bewegungsvektoren angeordnet. Eine
Codetabelle wird unter mehreren Codetabellen für jede Bewegungsvektorgruppe
zum Codieren der Bewegungsvektoren ausgewählt, und die Codetabellenauswahlinformation
wird ausgegeben. Die Bewegungsvektoren werden durch Codieren mit variabler
Länge unter
Verwendung der ausgewählten
Codetabelle als Reaktion auf die Codetabellenauswahlinformation
codiert. Die Codetabellenauswahlinformation und die codierten Bewegungsvektoren
werden gemultiplext.
-
Die
vorliegende Erfindung schafft außerdem eine Vorrichtung zum
Decodieren eines Bewegungsbildbitstroms, der durch bewegungskompensierte
Vorhersage unter Verwendung von Bewegungsvektoren für jeden
bewegungskompensierten Block des Bewegungsbilds codiert wurde. Die
Vorrichtung schließt
einen Demultiplexer und einen Bewegungsvektor ein. Der Demultiplexer
demultiplext den Bewegungsbildbitstrom in Bewegungsvektoren und
Codetabellenauswahlinformation, nachdem die Bewegungsvektoren durch
Codieren mit variabler Länge
unter Verwendung einer Codetabelle codiert wurden, die unter mehreren
Codetabellen für jede
Bewegungsvektorgruppe gemäß der Codetabellenauswahlinformation
ausgewählt
wurde, wobei die Bewegungsvektoren in Bewegungsvektorgruppen für jede vorherbestimmte
Anzahl von Bewegungsvektoren angeordnet wurden. Der Bewegungsvektordecodierer
decodiert die Bewegungsvektoren, die durch Demultiplexen durch Decodieren
mit variabler Länge
unter Verwendung der Codetabelle erhalten wurden, die gemäß der Codetabellenauswahlinformation
ausgewählt
wurde, die durch Demultiplexen erhalten wurde.
-
Außerdem schafft
die vorliegende Erfindung ein Verfahren zum Decodieren eines Bewegungsbildbitstroms,
der durch bewegungskompensierte Vorhersage unter Verwendung von
Bewegungsvektoren für
jeden bewegungskompensierten Block des Bewegungsbilds codiert wurde.
Der Bewegungsbildbitstrom wird in Bewegungsvektoren und Codetabellenauswahlinformation
demultiplext, nachdem die Bewegungsvektoren durch Codieren mit variabler
Länge unter
Verwendung einer Codetabelle codiert wurden, die unter mehreren
Codetabellen für
jede Bewegungsvektorgruppe gemäß der Codetabellenauswahlinformation
ausgewählt
wurden, wobei die Bewegungsvektoren in Bewegungsvektorgruppen für jede vorherbestimmte
Anzahl von Bewegungsvektoren angeordnet wurden. Die Bewegungsvektoren,
die durch Demultiplexen erhalten wurden, werden durch Decodieren
mit variabler Länge
unter Verwendung der Codetabelle decodiert, die gemäß der Codetabellenauswahlinformation
ausgewählt
wurde, die durch Demultiplexen erhalten wurde.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
ein Blockdiagramm der ersten bevorzugten Ausführungsform einer erfindungsgemäßen Codiervorrichtung;
-
2 veranschaulicht
Bewegungsvektorgruppen, die in zwei Dimensionen angeordnet sind;
-
3a veranschaulicht
Bewegungsvektoren mit kleiner Änderung;
-
3b veranschaulicht
Bewegungsvektoren mit großer Änderung;
-
4 zeigt
ein Blockdiagramm der zweiten bevorzugten Ausführungsform einer Codiervorrichtung
gemäß der vorliegenden
Erfindung; und
-
5 zeigt
ein Blockdiagramm einer bevorzugten Ausführungsform einer erfindungsgemäßen Decodiervorrichtung.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsformen
-
Erfindungsgemäße bevorzugte
Ausführungsformen
werden mit Bezugnahme auf die beiliegenden Zeichnungen beschrieben
werden.
-
[Erste bevorzugte Ausführungsform
eines Codierers]
-
In 1 ist
ein Blockdiagramm der ersten bevorzugten Ausführungsform einer erfindungsgemäßen Codiervorrichtung
mit bewegungskompensierter Vorhersage gezeigt.
-
Ein
eingegebenes Bewegungsbildsignal wird zu dem Substrahierer 2 durch
einen Eingangsanschluß 1 zugeführt. Zu
dem Substrahierer 2 wird auch ein Vorhersagesignal von
einem bewegungskompensierten Vorhersager 10 zugeführt. Das
Vorhersagesignal wird von dem eingegebenen Bewegungsbildsignal abgezogen,
um ein Vorhersagefehlersignal zu erzeugen.
-
Das
Vorhersagefehlersignal wird zu einem diskreten Kosinustransformator
(DCT) 3 zugeführt
und in DCT-Koeffizienten transformiert. Die DCT-Koeffizienten werden
zu einem Quantisierer 4 zugeführt, der die DCT-Koeffizienten
mit einer vorbestimmten Schrittgröße quantisiert, um Codes mit
feststehender Länge
des Vorhersagefehlersignals zu erzeugen. Die erzeugten Codes mit
feststehender Länge
werden zu einem Codierer mit variabler Länge 5 und einem Umkehrquantisierer 7 zugeführt.
-
Der
Codierer mit variabler Länge 5 codiert
die Codes mit feststehender Länge
des Vorhersagefehlersignals zu Codes mit variabler Länge. Ein
Bitstrom der Codes mit variabler Länge, wird zu einem Multiplexer 8 zugeführt.
-
Die
Codes mit feststehender Länge,
die zu dem Umkehrquantisierer 7 zugeführt werden, werden verarbeitet
und zu einem Umkehr-DCT 13 zugeführt, der das Vorhersagefehlersignal
wiedergibt. Die Operationen des Umkehrquantisierers 7 und
des Umkehr-DCT 13 sind das Umgekehrte des Quantisierers 4 beziehungsweise
des DCT 3. Das wiedergegebene Vorhersagefehlersignal wird
zu einem Addierer 12 zugeführt. Der Addierer 12 addiert
das Vorhersagefehlersignal und das Vorhersagesignal, das von dem
bewegungskompensierten Vorhersager 10 zugeführt wird,
um das Bewegungsbildsignal (Video) wiederzugegeben.
-
Das
wiedergegebene Videosignal wird einmal in einem Videospeicher 11 gespeichert.
Das gespeicherte Videosignal wird zu dem bewegungskompensierten
Vorhersager 10 zugeführt.
Der Vorhersager 10 verarbeitet das Videosignal durch Bewegungskompensation
gemäß den Bewegungsvektoren
MV, die von einem MV-Detektor 6 zugeführt werden, um das Vorhersagesignal
zu erzeugen, das dann zu dem Substrahierer 2 und dem Addierer 12 zugeführt wird.
-
Der
MV-Detektor 6 erhält
eine räumliche
Bewegung eines Bezugsrahmens mit Bezug auf einen Rahmen, der für jeden
Block von 16 × 16
oder 8 × 8
Pixel des eingegebenen Bewegungsbildsignals codiert werden soll.
Die räumliche
Bewegung wird als Bewegungsvektoren MV zu dem bewegungskompensierten
Vorhersager 10 und auch zu einer MV-Gruppiereinheit 15 zugeführt.
-
Die
MV-Gruppiereinheit 15 die eines der erfindungsgemäßen Merkmale
ist, wird detailliert offenbart werden.
-
Die
MV-Gruppiereinheit 15 ordnet die Bewegungsvektoren MV für jede 16
bis 64 Vektoren zum Beispiel in MV-Gruppen an. Jede MV-Gruppe besteht
vorzugsweise aus einem 4 × 4-Bewegungsvektorblock
in zwei Dimensionen, wie in 2 gemäß der Codiermerkmale
der Codiervorrichtung aus 1 gezeigt.
Die Bewegungsvektoren MV werden in eine zweidimensionale Anordnung unter
Verwendung eines Speichers umgewandelt, der die Bewegungsvektoren
MV speichert. Nicht nur das, jede MV-Gruppe kann eindimensional
sein, wobei beispielsweise sechzehn Bewegungsvektoren auf einer
horizontalen Linie angeordnet sind. Wie später im Detail beschrieben wird,
wird Tabelle I oder II, die Codes mit variabler Länge haben,
zum Codieren von Bewegungsvektoren MV ausgewählt.
-
Jeder
Bewegungsvektor MV der MV-Gruppe wird von der MV-Gruppiereinheit 15 zu
einem temporären MV-Codierer 16 und
einer Verzögerungseinheit 19 zugeführt. Der
Codierer 16 codiert jeden Bewegungsvektoren temporär gemäß aller
Codetabellen, die in dem MV-Codierer 14 installiert sind,
um Bitströme
durch Codieren unter Verwendung von Codes mit variabler Länge von
jeder Codetabelle zu erzeugen. Die Bitströme werden zu einem Codebetragsrechner 18 zugeführt.
-
Tabellen
I und II, die unten gezeigt sind, sind Beispiele der Codetabellen.
-
Die
erste Codetabelle mit variabler Länge, die in Tabelle I gezeigt
ist, wird vorzugsweise zum Codieren von Bewegungsvektoren MV mit
kleiner Änderung
wie von Bewegungsvektoren verwendet, die in
3A veranschaulicht
sind. Andererseits wird die zweite Tabelle von Codes mit variabler
Länge,
die in Tabelle II gezeigt ist, vorzugsweise zum Codieren von Bewegungsvektoren
MV mit großer Änderung
wie von Bewegungsvektoren verwendet, die in
3B veranschaulicht
sind. Das Zeichen „s", das an jeden Code
mit variabler Länge
in Tabellen I und II angehängt
ist, zeigt positives „+" oder negatives „–" an. Die Codes mit
variabler Länge
werden beim Codieren von Bewegungsvektoren MV sowohl für horizontale
als auch für
vertikale MV-Komponenten von MV-Differenzwerten verwendet. Die Codes
mit variabler Länge
können
beim Codieren von ganzen Zahlen von Bewegungsvektoren MV verwendet
werden, die beim Multiplizieren der Bewegungsvektoren mit zwei erhalten
werden, wenn die Bewegungsvektoren eine Genauigkeit von 1/2 haben. Die
erste Tabelle von Codes mit variabler Länge
MV-Differenzwert | Code
mit variabler Länge |
0 | 1s |
1 | 01s |
2 | 001s |
3 | 00011s |
4 | 000101s |
5 | 000100s |
6 | 0000111s |
7 | 0000110s |
8 | 0000101s |
9 | 0000100s |
10 | 0000011s |
11 | 00000101s |
12 | 00000100s |
13 | 00000011s |
14 | 00000010s |
15 | 00000001s |
Tabelle
I Die
zweite Tabelle von Codes mit variabler Länge
MV-Differenzwert | Code
mit variabler Länge |
0 | 11 |
1 | 10s |
2 | 011s |
3 | 0101s |
4 | 0100s |
5 | 00111s |
6 | 00110s |
7 | 00101s |
8 | 00100s |
9 | 000111s |
10 | 000110s |
11 | 000101s |
12 | 000100s |
13 | 000011s |
14 | 000010s |
15 | 000001s |
Tabelle
II
-
Codebeträge der Bitströme, die
unter Verwendung von jeder Codetabelle mit variabler Länge erzeugt werden,
werden durch den Codebetragsrechner 17 berechnet. Die Codebeträge werden
zu dem Codetabellenauswähler 18 für jede MV-Gruppe
zugeführt.
Die Bitströme,
die durch den temporären
MV-Codierer 16 erzeugt werden, können nicht so vollständig sein,
weil nur Codebeträge
benötigt
werden. Aus diesem Grund kann eine Codelänge für jeden MV-Differenzwert durch
den temporären
MV-Codierer 16 ausgegeben
werden und dann durch den Codebetragsrechner 17 für jede MV-Gruppe
akkumuliert werden.
-
Der
Codetabellenauswähler 18 vergleicht
die Codebeträge,
die durch den Codebetragsrechner 17 gemäß der Tabellen I und II berechnet
werden, und wählt
entweder Tabelle I oder II aus, für welche der Codebetrag kleiner
als der andere ist. Die Codetabellenauswahlinformation (CTSI), die
die ausgewählte
Tabelle anzeigt, wird durch den Auswähler 18 ausgegeben
und zu dem MV-Codierer 14 und auch dem Multiplizierer 8 zugeführt.
-
Jeder
Bewegungsvektor MV der MV-Gruppen wird durch die Verzögerungseinheit 19 verzögert, bevor er
zu dem MV-Codierer 14 zugeführt wird, bis die Codetabellenauswahlinformation
ausgegeben wird.
-
Der
MV-Codierer 14 bildet eine Differenz zwischen jedem Bewegungsvektor
und dem vorhergehenden Bewegungsvektor und codiert den Differenzwert
durch Codes mit variabler Länge
von mehreren Codetabellen wie in Tabelle I oder II gezeigt. Die
Codetabelle wird für
jede MV-Gruppe wie in 2 gezeigt gemäß der Codetabellenauswahlinformation
ausgewählt.
-
Der
codierte Differenzwert oder MV-Code wird zu dem Multiplexer 8 zugeführt und
dann mit einem Vorhersagefehlersignal gemultiplext, das von dem
Codierer 5 mit variabler Länge gesendet wird, wobei die
Codetabellenauswahlinformation zu der Kopfzeile des codierten MV-Codes
hinzugeführt
wird. Der Multiplexer 8 gibt den gemultiplexten Bitstrom
durch einen Ausgangsanschluß aus.
-
Die
zwei Codetabellen sind in dieser Ausführungsform vorgesehen. Jedoch
sind mehr als zwei Tabellen gemäß der vorliegen den
Erfindung gemäß unterschiedlichen
MV-Differenzerzeugungsverteilungen vorgesehen. Eine Codetabelle,
die für
eine MV-Gruppe geeignet
ist, wird selbst ausgewählt,
wenn eine MV-Differenzverteilung
in der MV-Gruppe eine große
Differenz zu einer Durchschnittsverteilung hat.
-
Die
ausgewählte
Codetabelle besteht aus Codes mit variabler Länge, die für die MV-Differenzverteilung
in der MV-Gruppe geeignet sind. Die Codebeträge der MV-Gruppe werden somit
kleiner als diejenigen einer durchschnittlichen Codetabelle sein.
Außerdem
wird eine Codetabelle, die für
jede MV-Gruppe geeignet ist, ausgewählt, so daß der gesamte Codebetrag abnehmen
wird, selbst wenn die Codetabellenauswahlinformation eingeschlossen
ist. Weil die Auswahlinformation aus einem oder zwei Bits nur für jede MV-Gruppe
besteht.
-
[Die zweite bevorzugte
Ausführungsform
eines Codierers]
-
In 4 ist
ein Blockdiagramm der zweiten bevorzugten Ausführungsform einer erfindungsgemäßen Codiervorrichtung
mit bewegungskompensierter Vorhersage gezeigt. Elemente in der zweiten
Ausführungsform,
welche die gleichen sind oder analog zu Elementen in der ersten
Ausführungsform
sind, werden mit den gleichen Bezugszeichen bezeichnet und werden
später
im Detail beschrieben werden.
-
Unterschiede
zwischen der ersten und der zweiten Ausführungsform sind: Die erstere
hat den temporären
MV-Codierer 16 und den Codebetragsrechner 17,
während
die letztere den Aktivitätsdetektor 31 hat;
und die Funktion des Codetabellenauswählers 18 und diejenige
eines Codetabellenauswählers 32 unterscheiden sich
voneinander.
-
Die
zweite bevorzugte Ausführungsform
ist nur für
die Unterschiede offenbart.
-
Jeder
Bewegungsvektor MV der MV-Gruppen wird zu dem Aktivitätsdetektor 31 von
der MV-Gruppiereinheit 15 zugeführt. Die Aktivität des Bewegungsvektors
MV wird durch den Detektor 31 erfaßt und zu dem Codetabellenauswähler 32 zugeführt. Die
Aktivität
wird für
jede MV-Gruppe zusätzlich
zu dem Betragswerten der MV-Differenzwerte erfaßt. Die logarithmische Umwandlung
der Betragswerte der MV-Differenzwerte vor der Addition wird den
MV-Differenzwerten eine höhere
Korrelation mit MV-Codebeträgen
geben, wodurch die Codiereffizienz verbessert wird.
-
Der
Codetabellenauswähler 32 wählt eine
geeignete Codetabelle unter mehreren Codetabellen aus, die in dem
MV-Codierer 14 gemäß der Beziehung
zwischen der Eingangsaktivität
und einem vorbestimmten Bezugsschwellenniveau installiert sind.
Wie die erste Ausführungsform
hat der MV-Codierer 14 der zweiten Ausführungsform die Codetabellen,
wie sie in den Tabellen I und II gezeigt sind.
-
Die
Eingangsaktivität
wird mit dem Bezugsschwellniveau oder der Bezugsaktivität verglichen,
die ein Zwischenniveau hat. Tabelle I wird ausgewählt, wenn
die Eingangsaktivität
kleiner als das Bezugsschwellniveau ist. Andererseits wird Tabelle
II ausgewählt,
wenn die Eingangsaktivität
größer als
das Bezugsschwellniveau ist.
-
Die
Aktivität
wird zusätzlich
zu den Betragswerten der MV-Differenzwerte
in dieser Ausführungsform erfaßt. Jedoch
nicht nur das, die Aktivität
kann zweidimensional erfaßt
werden, um die MV-Differenzverteilung genau darzustellen. Beispielsweise
können
die Frequenz (die Anzahl der Male) der Erzeugung von MV-Differenzen,
die relativ klein aber nicht null wie die Betragswerte von 1 bis
3 sind, und diejenige der Erzeugung der MV-Differenzen, die wie
der Betragswert von 4 oder mehr relativ groß sind, als zwei Parameter
erfaßt
werden. Bezugsschwellwerte werden dann zweidimensional mit Bezug
auf die zwei Parameter vorgesehen.
-
[Die dritte bevorzugte
Ausführungsform
eines Codierers]
-
Die
dritte bevorzugte Ausführungsform
einer erfindungsgemäßen Codiervorrichtung
mit bewegungskompensierter Vorhersage wird ohne Zeichnung offenbart
werden.
-
Die
dritte Ausführungsform
der Codiervorrichtung ist die Kombination der ersten und der zweiten
Ausführungsform.
Im Detail schließt
die Codiervorrichtung mit bewegungskompensierter Vorhersage der
dritten Ausführungsform
einen temporären
Codierer und einen Codebetragsrechner ein, die dem temporären Codierer 16 beziehungsweise
dem Codebetragsrechner 17 ähneln, die in 1 gezeigt
sind. Die Codiervorrichtung der dritten Ausführungsform ist außerdem mit
einem Codetabellenauswähler
versehen, der dem Codetabellenauswähler 32 ähnlich ist,
der in 4 gezeigt ist.
-
Der
temporäre
Codierer und Codebetragsrechner dieser Ausführungsform berechnen einen
Codebetrag für
jede MV-Gruppe gemäß einer
Codetabelle. Die Codetabelle hat eine durchschnittliche MV-Differenzvariation
wie eine zwischen den Tabellen I und II.
-
Der
berechnete Codebetrag wird zu dem Codetabellenauswähler dieser
Ausführungsform
zugeführt. Der
Codetabellenauswähler
wählt eine
Codetabelle wie in Tabelle I oder II gemäß der Beziehung zwischen dem
berechneten Codebetrag und einem vorbestimmten Referenzschwellniveau
aus und gibt die Codetabellenauswahlinformation (CTSI) aus. Tabelle
I mit kleiner Änderung
der MV-Differenzen wird ausgewählt,
wenn der Codebetrag kleiner als das Referenzschwellniveau ist. Andererseits
wird Tabelle II mit großer Änderung der
MV-Differenzen ausgewählt,
wenn der Codebetrag größer als
der Referenzschwellwert ist.
-
[Bevorzugte Ausführungsform
eines Decodierers]
-
Als
nächstes
wird eine bevorzugte Ausführungsform
einer Decodiervorrichtung mit bewegungskompensierter Vorhersage,
die einen Bitstrom empfangen wird, der von einer Codiervorrichtung
wie derjenigen der ersten, zweiten oder dritten Ausführungsform
empfangen wird, mit Bezugnahme auf 5 offenbart
werden.
-
Ein
Bitstrom, der durch Codieren mit bewegungskompensierter Vorhersage
codiert wurde, wird zu einem Demultiplexer 22 über einen
Eingangsanschluß 21 zugeführt. Der
Bitstrom wird in Codes mit variabler Länge des Vorhersagefehlersignals,
MV-Codes und Codetabellenauswahlinformation
(CTSI) getrennt.
-
Die
Codes mit variabler Länge
des Vorhersagefehlersignals werden dann zu einem Decodierer 23 mit variabler
Länge zugeführt. Andererseits
werden die MV-Codes und die Codetabellenauswahlinformation zu einem
MV-Decodierer 25 zugeführt.
-
Die
Codes mit variabler Länge
des Vorhersagefehlersignals werden in Codes mit feststehender Länge durch
den Decodierer 23 mit variabler Länge umgewandelt und zu einem
Umkehrquantisierer 70 zugeführt. Die Codes mit feststehender
Länge werden
in eine Anzahl von 8 × 8
DCT-Koeffizienten umgewandelt und zu einem Umkehr-DCT 130 zugeführt.
-
Die
DCT-Koeffizienten werden umgekehrt transformiert, um ein Vorhersagefehlersignal
wiederzugeben, das dann zu einem Addierer 120 zugeführt wird.
Auch wird ein Vorhersagesignal zu dem Addierer 120 von
einem bewegungskompensierten Vorhersager 100 zugeführt. Das
Vorhersagefehlersignal und das Vorhersagesignal werden addiert,
um ein Bewegungsbildsignal wiederzugeben.
-
Das
Bewegungsbildsignal wird über
einen Ausgangsanschluß 24 ausgegeben
und auch zu einem Videospeicher 110 zugeführt und
in diesem gespeichert. Das gespeicherte Bewegungsbildsignal wird
dann durch den bewegungskompensierten Vorhersage 100 bewegungskompensiert,
um das Vorhersagesignal zu erzeugen, das zu dem Addierer 120 zugeführt wird.
-
Die
Bewegungskompensation wird auf Basis der Bewegungsvektoren durchgeführt, die
von dem MV-Puffer 26 zugeführt werden. Die Bewegungsvektoren
MV, die in dem MV-Puffer 26 gespeichert werden, werden
durch den MV-Decodierer 25 erhalten, um das Decodieren
der MV-Codes durch Codes mit variabler Länge von einer der Codetabellen
für jede
MV-Gruppe auszuführen.
Der MV-Decodierer 25 hat mehrere Codetabellen, die aus
Codes mit variabler Länge
bestehen, welchee die gleichen sind wie diejenigen, die in den Tabellen
I und II gezeigt sind. Und eine Codetabelle wird gemäß der Codetabellenauswahlinformation
ausgewählt.
Das Decodieren ist das Umgekehrte des Codierens durch den MV-Codierer 14,
der in den 1 und 4 gezeigt
ist.
-
Der
MV-Puffer 26 speichert einmal die Bewegungsvektoren MV
und führt
sie zu dem bewegungskompensierten Vorhersager 100 nur zu,
wenn der Vorhersager 100 sie anfordert. Der Grund dafür ist, daß die Reihenfolge
der Blöcke
des Vorhersagefehlersignals nicht mit der Anzahl der Bewegungsvektoren übereinstimmt, die
in jeder MV-Gruppe angeordnet sind.
-
Wie
oben offenbart, wird erfindungsgemäß das Codieren mit bewegungskompensierter
Vorhersage unter Verwendung mehrerer Tabellen von Codes mit variabler
Länge für das Codieren
von Bewegungsvektoren ausgeführt.
Eine Codetabelle wird gemäß der Auswahlinformation
ausgewählt,
die gemäß dem Betrag
der Codes oder Aktivität
der Bewegungsvektoren erzeugt wird, die in Gruppen angeordnet sind.
-
Das
Decodieren mit bewegungskompensierter Vorhersage wird auch unter
Verwendung der gleichen Codetabellen ausgeführt. Eine geeignete Codetabelle
wird zum Decodieren gemäß der Codetabellenauswahlinformation
ausgewählt,
die von der Codiererseite gesendet wird.
-
Mehrere
Codetabellen sind für
unterschiedliche Verteilungen der Erzeugung von MV-Differenzen vorgesehen.
Und eine geeignete Codetabelle wird für die Verteilung der Erzeugung
von MV-Differenzen in einer MV-Gruppe, die codiert werden soll,
ausgewählt,
wodurch ein kleiner Betrag der erzeugten MV-Codes erreicht wird.
Der erzeugte gesamte Codebetrag wird verklei nert werden, weil der
Codebetrag des Vorhersagefehlers nicht variiert. Insbesondere das
Verkleinern des Blocks der Bewegungsbildsignale zur Bewegungskompensation
mit hoher Genauigkeit wird den Betrag der Codes der Bewegungsvektoren
in dem gesamten Betrag der erzeugten Codes relativ erhöhen. Die
Abnahme des Betrags der MV-Codes trägt somit zur Abnahme des Gesamtbetrags
der erzeugten Codes bei.