-
Die
vorliegende Erfindung bezieht sich auf ein Decodierverfahren für Bewegtbilddaten,
insbesondere auf eine Decodiervorrichtung für Bewegtbilddaten, die geeignet
ist, codierte Bilder, welche durch Vorhersagecodierung erhalten
werden, zu decodieren, um Ursprungsbilddaten zu reproduzieren.
-
Bei
einem System zum Übertragen
von Videosignalen von Bewegtbilddaten zu entfernten Orten, beispielsweise
bei einem Fernsehkonferenzsystem oder einem Fernsehtelefonsystem,
usw., oder einem System zum Aufzeichnen von Videosignalen von Bewegtbilddaten
auf einem Bildaufzeichnungsträger, beispielsweise
einer optischen Platte, einer Magnetplatte oder einem Magnetband,
usw., und zum Wiedergeben aufgezeichneter Videosignale von Bewegtbilddaten,
um Überbertragungswege
oder den Aufzeichnungsträger
wirksam zu nutzen, wird bisher veranlasst, dass ein Videosignal
einem sogenannten effizienten Codieren unterworfen wird, wobei von
einer Zeilenkorrelation oder einer Vollbildkorrelation Gebrauch
gemacht wird, dass im Videosignal Redundanzen in der Raumachsenrichtung
und der Zeitachsenrichtung verringert werden, um lediglich signifikante
Information zu übertragen,
um die Übertragungseffektivität zu verbessern.
-
Beispielsweise
wird beim Codieren in der Raumachsenrichtung (anschließend als
Intra-Rahmen-Codierung oder auch Intravollbildcodierung bezeichnet),
wie in 1A gezeigt ist,
die Zeilenkorrelation eines Video Signals verwendet. Bei der Übertragung
entsprechender Bilder (Vollbilder) PC1, PC2, PC3 ..., die ein Bewegtbild
in den Zeitpunkten t1, t2, t3 ... bilden, werden Bilddaten, welche
der Übertragungsverarbeitung
zu unterwerfen sind, eindimensional codiert, d. h., innerhalb der
gleichen Abtastzeile, oder beispielsweise während das Bild in mehrere Blöcke unterteilt,
um die Bilddaten von entsprechenden Blöcken zweidimensional zu codieren,
um dadurch eine Datenkompression auszuführen, um die Übertragungswirksamkeit
zu verbessern.
-
Beim
Codieren in der Zeitachsenrichtung (anschließend als Inter-Rahmen-Codierung bezeichnet)
wird außerdem
die Korrelation zwischen Vollbildern (Bildern) des Videosignals
dazu verwendet, um beispielsweise eine sogenannte Vorhersagecodierung
auszuführen.
Wie in 1B gezeigt ist,
werden nämlich
Bilddaten PC12, PC23, ..., die aus Unterschieden (sogenannten Vorhersagefehlern)
von Bilddaten bestehen, die jeweils Pixeln zwischen Bildern PC1
und PC2, PC2 und PC3, ... entsprechen, die in Reihenfolge benachbart
sind, bestimmt, um diese Bilddaten PC 12, PC23 ... zu übertragen,
um dadurch eine Datenkompression auszuführen, um so die Übertragungseffektivität zu verbessern.
-
Verglichen
mit dem Fall, wo alle Bilddaten der Bilder PC1, PC2, PC3 ... übertragen
werden, ist es somit möglich,
Videosignale mit einer bemerkenswert kleineren Datenmenge zu übertragen.
-
Beim
Vorhersagecodieren bei dem oben beschriebenen Inter-Rahmen-Codieren wird außerdem das
bewegungs-codierte Vorhersagecodieren verwendet. Es wird nämlich eine
Annäherung
verwendet, um die Bewegung eines Objekts zu ermitteln, welche sich
in einem Vollbild bewegt, beispielsweise einer Person, welche sich
in der Mitte des Vollbilds bewegt, usw., um die Position von Bilddaten,
welche beim Vorhersagen im früheren
Vollbild verwendet wird, um einen Abstand entsprechend dieser Bewegung
zu korrigieren, um Vorhersagecodierung durchzuführen, um es dadurch zu ermöglichen,
die Codiereffektivität
zu verbessern. Sogar, wenn eine derartige Näherung durchgeführt wird,
muss jedoch eine große Menge
von Daten in bezug auf den Bereich, wo sich das Objekt bewegt und
danach erscheint, übertragen werden.
Im Hinblick darauf wird eine Näherung
verwendet, um zusätzlich
zur oben beschriebenen bewegungs-kompensierten Vorhersage in der
Vorwärtsrichtung
eine bewegungs-kompensierte Vorhersage in der Rückwärtsrichtung auszuführen, oder eine
bewegungs-kompensierte Vorhersage, bei der sowohl Vorwärts- als
auch Rückwärts-Vorhersagen kombiniert
sind, um dadurch zu ermöglichen,
dass die Codiereffektivität
höher wird.
-
Als
ein repräsentatives
System für
das bewegungs-kompensierte Vorhersagecodieren, welches oben beschrieben
wurde, ist MPEG 2 (Moving Picture Expert Group) bekannt.
MPEG 2 ist ein allgemeiner Name des Bewegtbild-Codiersystems, welches in
der WG (Working group) 11 des SC (Sub Comittee) 29 des
JTC (Joint Technical Comittee) 1 von ISO (International
Electrotechnical Organization) und IEC (International Electrotechnical
Commission) vorangetrieben wurde.
-
Bei
MPEG 2 wird das Hybrid-System, bei dem ein bewegungs-kompensierte Vorhersagecodieren
und die diskrete Kosinus-Transformation (anschließend als
DCT bezeichnet) kombiniert sind, angewandt.
-
Im
folgenden wird beschrieben, welche Sequenz (Prozedur) bei MPEG 2 angewandt
wird, die es gestattet, ein Bild einer Intra-Rahmen-Codierung oder
Inter-Rahmen-Codierung
zu unterziehen. 2 ist
eine Ansicht, welche die Konfiguration einer sogenannten GOP (Bildergruppe)
zeigt, welche bei MPEG 2 angewandt wird. In 2 ist das Beispiel, wo die GOP
aus 15 Vollbildern besteht, gezeigt.
-
Da
veranlasst wird, dass das Vollbild F2 der Intra-Rahmen-Codierung
unterworfen wird, wird dieses Vollbild als I-Bild (intra-codiertes
Bild) bezeichnet. Da außerdem
veranlasst wird, dass Vollbilder F5, F8, F11, F14 der Inter-Rahmen-Codierung durch Vorhersagen
lediglich von der Vorwärtsrichtung
unterworfen werden, werden diese Vollbilder als vorwärts-bewegungskompensiertes
Vorhersagebild bezeichnet. Außerdem
werden, da veranlasst wird, dass die Vollbilder F0, F1, F3, F4,
F6, F7, F9, F10, F12, F13 einer Inter-Rahmen-Codierung durch Vorhersagen aus der
Vorwärtsrichtung,
aus der Rückwärtsermittlung
oder aus beiden Richtungen unterworfen werden, solche Vollbilder
als B-Bild (bewegungs-kompensiertes Interpolationsbild) bezeichnet. Es
sei angemerkt, dass wie im Kapitel 6.3.11 von ISO/IEC JTC1/SC29/WG11
NO702rev oder International Laid Open Official Gazette (WO 93/13626)
gemäß der internationalen
Anmeldung der Anmelderin beschrieben wurde, es Bilder gibt, welche
durch die Vollbildstruktur codiert sind, und Bilder, welche mittels
der Teilbildstruktur codiert sind.
-
Ein
Bild wird, wie in 3 gezeigt
ist, in N Scheiben unterteilt, und jede Scheibe umfasst M Makroblöcke. Jeder
Makroblock weist Luminanzdaten Y0, Y1, Y2, Y3 auf, welche in vier
Luminanzblöcken enthalten
sind, die aus 8 × 8
Pixeln bestehen und in der oberen und unteren Richtung und in der
rechten und linken Richtung benachbart sind, und Farbdifferenzdaten
Cb, Cr von Farbdifferenzblöcken,
welche aus 8 × 8
Pixeln in einem Bereich bestehen, der diesen vier Luminanzblöcken entspricht.
Der Makroblock umfasst nämlich
Luminanzdaten Y1–Y4
von 16 × 16 Pixeln,
die in der horizontalen und vertikalen Abtastrichtung in bezug auf
das Luminanzsignal fortlaufend sind, und besteht auf der anderen
Seite aus zwei Farbdifferenzsignalen, welche dazu entsprechend sind,
so dass veranlasst wird, dass die Datenmenge einer Reduktionsverarbeitung
unterworfen wird und dann einer Zeitachsen-Multiplexverarbeitung unterworfen wird,
und Daten in bezug auf 16 × 16
Pixel des Luminanzsignals einem entsprechenden von Farbdifferenzblöcken zugeteilt
werden.
-
Die
Anordnung von Bilddaten innerhalb einer Scheibe ist derart, dass
veranlasst wird, dass die Bilddaten in Makroblockeinheiten stetig
sind. Innerhalb des Makroblocks wird veranlasst, dass die Bilddaten
in Blockeinheiten in der Reihenfolge der Rasterabtastung aufeinanderfolgen.
Bei MPEG 2 wird die Codier- oder Decodierverarbeitung in den oben
beschriebenen Makroblockeinheiten ausgeführt.
-
In
Wirklichkeit weist die Bewegtbild-Codiervorrichtung gemäß MPEG 2,
wie in 4 gezeigt ist, eine
Vollbildgruppe 12 auf. Diese Vollbildgruppe wird mit Bilddaten
von der Vorverarbeitungsschaltung (nicht gezeigt) über die
Bewegtvektor-Ermittlungsschaltung 11 beliefert.
Die Vorverarbeitungsschaltung trennt das Eingangsvideosignal in
ein Luminanzsignal und ein Farbdifferenzsignal, und sie setzt dann
entsprechend die Signale in Luminanzdaten, welche aus acht Bits
bestehen, und in Farbdifferenzdaten, welche aus acht Bits bestehen,
um. Zusätzlich verringert
die Vorverarbeitungsschaltung im Falle des sogenannten 4.2:0 Formats
die Anzahl von Pixeln von Farbdifferenzdaten auf beispielsweise
1/4, um diese Luminanzdaten und Farbdifferenzdaten zur Vollbildgruppe 12 über die
Bewegungsvektor-Ermittlungsschaltung 11 zu liefern.
-
Die
Vollbildspeichergruppe 12 speichert Bilddaten von entsprechenden
Vollbildern als Bilddaten des Referenzursprungsbilds, des Vorwärtsursprungsbilds
oder des Rückwärtsursprungsbilds
gemäß einer
Sequenz, welche vorher festgelegt wurde. Praktisch gesehen speichert
beispielsweise in dem Zeitpunkt, wo Bilddaten des Vollbilds, welches
in 2 gezeigt ist, codiert
werden, die Vollbildspeichergruppe 12 Bilddaten dieses
Vollbilds F3 als Bilddaten des Referenzursprungsbilds, speichert
Bilddaten des Vollbilds F2 (I-Bild als Bilddaten des Vorwärtsursprungsbilds,
und speichert Bilddaten des Vollbilds F5 (P-Bild) als Bilddaten
des Rückwärtsursprungsbilds.
-
Die
Bewegungsvektor-Ermittlungsschaltung 11 liest Bilddaten
entsprechender Vollbilder, welche in der Vollbildspeichergruppe 12 gespeichert
sind, gemäß der oben
beschriebenen Datenanordnung, d. h., dem Blockformat, um den Bewegungsvektor
des Referenzursprungsbilds in Makroblockeinheiten zu ermitteln.
Die Bewegungsvektor-Ermittlungsschaltung 11 ermittelt den
Bewegungsvektor des laufenden Referenzbilds in Makroblockeinheiten,
wobei das Vorwärtsursprungsbild
und/oder das Rückwärtsursprungsbild,
welches in der Vollbildspeichergruppe 12 gespeichert ist,
verwendet wird. In diesem Beispiel wird die Ermittlung des Bewegungsvektors
dadurch ausgeführt,
dass erlaubt, wird, dass ein Wert, beispielsweise die Summe von
Absolutwerten der Unterschiede zwischen Bildern (Vollbildern) in
Makroblockeinheiten minimal wird, der Bewegungsvektor ist, der in
diesem Zeitpunkt ermittelt wird. Der ermittelte Bewegungsvektor
wird zur Bewegungskompensationsschaltung 23 usw. geliefert,
und die Summe von Absolutwerten von Unterschieden zwischen Bildern
(Vollbildern) in Makroblockeinheiten wird zur Intra-Rahmen/Vorwärts-/Rückwärts-/Bidirektional-Vorhersagebeurteilungsschaltung 13 geliefert.
-
Diese
Intra-Rahmen-/Vorwärts-/Rückwärts-/Bidirektional-Vorhersagebeurteilungsschaltung 13 bestimmt
den Vorhersagemodus des Makroblocks des Referenzursprungsbilds auf
der Basis des oben erläuterten
Werts, um auf der Basis des festgelegten Vorhersagemodus die Vorhersagecodierschaltung 14 so
zu steuern, dass sie eine Umschaltung in bezug auf die Intra-Rahmen-/Vorwärts-/Rückwärts-/Bidirektional-Vorhersagung
in Makroblockeinheiten ausführt.
-
Die
Vorhersagecodierschaltung 14 arbeitet, so dass, wenn der
Intra-Codiermodus
eingestellt ist, diese die Eingangsbilddaten selbst auswählt, und, wenn
der Vorwärts-/Rückwärts-/Bidirektional-Vorhersagemodus
eingestellt ist, sie Unterschiede auswählt (anschließend als
Differenzdaten bezeichnet) für
alle Pixel der Eingangsbilddaten in bezug auf die entsprechenden
Vorhersagebilder auswählt,
um die ausgewählten
Daten zur DCT-Schaltung 15 zu liefern. Diese Vorhersagecodierschaltung 14 umfasst
nämlich Addierschaltungen 14a, 14b, 14c und
einen Auswahlschalter (Umschalter) 14d. Diese Addierschaltungen 14a, 14b, 14c werden
mit Bilddaten des Vorwärtsvorhersagebilds
und des Rückwärtsvorhersagebilds
von der Bewegungskompensationsschaltung 23 beliefert, was
später
beschrieben wird. Die Addierschaltung 14a erzeugt Differenzdaten
in bezug auf das Vorwärtsvorhersagebild,
die Addierschaltung 14b erzeugt Differenzdaten in bezug
auf das Rückwärtsvorhersagebild,
die Addierschaltung 14c erzeugt die Differenzdaten in bezug
auf das Durchschnittsbild des Vorwärtsvorhersagebilds und des Rückwärtsvorhersagebilds,
und der Auswahlschalter 14d wählt durch Umschalten irgendwelche
Eingangsbilddaten und Differenzdaten in bezug auf die entsprechenden
Vorsagebilder auf der Basis des Vorhersagemodus aus, um die ausgewählten Daten zur
DCT-Schaltung 15 zu liefern.
-
Die
DCT-Schaltung 15 führt
in Blockeinheiten eine DCT-Verarbeitung von Eingangsbilddaten oder
Differenzdaten durch, wobei von der zweidimensionalen Korrelation
des Videosignals Gebrauch gemacht wird, um die Koeffizientendaten
(sogenannte DCT-Koeffizienten), die damit erhalten werden, zu einer
Quantisierungsschaltung 16 zu liefern.
-
Die
Quantisierungsschaltung 16 quantisiert die Koeffizientendaten
unter Verwendung einer Quantvisierungsskala (Quantisierungsschrittgröße), die
für jeden
Block oder Scheibe bestimmt wird, um quantisierte Daten, die somit
erhalten werden, zur variablen Längen-Codierschaltung 17 (anschließend als
VLC-Schaltung bezeichnet) und zur inversen Quantisierschaltung 18 zu
liefern. Inzwischen wird die Quantvisierungsskala, die beim Quantisieren
verwendet wird, in einer Weise durch Rückkoppeln der verbleibenden
(noch vorhandenen) Kapazität
eines Übertragungspufferspeichers 19 bestimmt,
dass dieser einen derartigen Wert annimmt, dass der Übertragungspufferspeicher 19,
der später
erläutert
wird, nicht überlastet
wird. Diese Quantvisierungsskala wird ebenfalls zur VLC-Schaltung 17 und
zur inversen Quantisierungsschaltung 18 geliefert.
-
Die
VLC-Schaltung 17 führt
das variable Längencodieren
bezüglich
der quantisierten Daten zusammen mit der Quantvisierungsskala, dem
Vorhersagemodus und dem Bewegungsvektor durch, um die codierten
Daten, die somit erhalten werden, zum Übertragungspufferspeicher 19 zu
liefern.
-
Der Übertragungspufferspeicher 19 speichert
danach einmal (vorübergehend)
codierte Daten, um diese mit einer festen Bitrate zu lesen, um dadurch
die codierten Daten zu glätten,
um diese als Bitstrom auszugeben, und um die Quantisierungssteuerungssignal
von Makroblockeinheiten in Abhängigkeit
von der Restdatenmenge, die im Speicher bleibt, auf die Quantisierungsschaltung,
um somit die Quantvisierungsskala zu steuern. Somit stellt der Übertragungspufferspeicher 19 die
Datenmenge, die erzeugt wird, als Bitstrom ein, um so Daten einer
vernünftigen
Restmenge (Datenmenge, bei der kein Überfließen oder Unterfließen stattfindet)
im Speicher aufrechtzuerhalten. Wenn die verbleibende Datenmenge
bis zu einem erlaubten oberen Limit vergrößert wird, darf die Quantvisierungsskala
der Quantisierungsschaltung 16 durch das Quantisierungssteuerungssignal
größer sein,
um dadurch die Datenmenge von quantisierten Daten abzusenken. Wenn
dagegen die verbleibende Datenmenge zu einem erlaubten unteren Limit
vermindert wird, erlaubt der Übertragungspufferspeicher 19 eine
Quantvisierungsskala der Quantisierungsschaltung 16, die
kleiner ist, durch das Quantisierungssteuerungssignal, um dadurch
die Datenmenge quantisierter Daten anzuheben.
-
Auf
diese Weise wird der Bitstrom, welcher vom Übertragungspufferspeicher 19 ausgegeben wird,
mit einer festen Bitrate zu einer Bewegtbild-Decodiervorrichtung über Übertragungsträger, welche aus
einem Übertragungspfad
bestehen, oder Übertragungsträger, beispielsweise
einer optische Platte, einer Magnetplatte oder einem Magnetband,
usw. geliefert.
-
Dagegen
quantisiert die inverse Quantisierungsschaltung 18 quantisierte
Daten invers, welche von der Quantisierungsschaltung 16 geliefert
werden, um Koeffizientendaten zu reproduzieren (zu denen Quantisierungsverzerrung
hinzugefügt
wurde), entsprechend dem Ausgangssignal der oben beschriebenen DCT-Schaltung 15,
um diese Koeffizientendaten zur inversen diskreten Kosinus-Transformationsschaltung 20 (anschließend als
IDCT-Schaltung bezeichnet) zu liefern.
-
Die
IDCT-Schaltung 20 führt
die IDCT-Verarbeitung der Koeffizientendaten durch, um Bilddaten zu
reproduzieren, welche Eingangsbilddaten entsprechen, wenn der Intra-Rahmen-Codiermodus
eingestellt ist, und reproduziert die Differenzdaten entsprechend
dem Ausgang der Vorhersagecodierschaltung 14, wenn der
Vorwärts-/Rückwärts-/Bidirektional-Vorhersagemodus
eingestellt ist, um so Daten, die reproduziert werden, zur Addierschaltung 21 zu
liefern.
-
Diese
Addierschaltung 21 wird mit Bilddaten des bewegungs-kompensierten Vorwärtsvorhersagebilds
oder Rückwärtsvorhersagebilds
(anschließend
als Vorhersagebilddaten bezeichnet) von der Bewegungskompensationsschaltung 23 beliefert, wenn
der Vorwärts-/Rückwärts- /Bidirektional-Vorhersagemodus
eingestellt ist, und sie fügt
die bewegungs-kompensierten Vorhersagebilddaten und Differenzdaten
hinzu, um dadurch Bilddaten, welche den Eingangsbilddaten entsprechen,
in Makroblockeinheiten zu reproduzieren.
-
Die
auf diese Weise reproduzierten Bilddaten werden im Vollbildspeicher 22 gespeichert.
Die inverse Quantisierschaltung 18 bis zur Bewegungskompensationsschaltung 23 bilden
eine lokale Decodierschaltung, um die quantisierten Daten lokal
zu decodieren, welche von der Quantisierschaltung 16 ausgegeben
werden, auf der Basis des Vorhersagemodus, um das decodierte Bild,
welches somit erhalten wird, im Vollbildspeicher 22 als
Vorwärtsvorhersagebild
oder als Rückwärtsvorhersagebild
zu speichern. Tatsächlich
besteht der Vollbildspeicher 22 aus einem Halbleiterspeicher,
der eine Speicherkapazität
hat, welche zwei Vollbildern entspricht (anschließend wird
eine Speicher, der einem Vollbild entspricht, als Vollbildpuffer
bezeichnet), und führt
das Datenbankumschalten der Vollbildpuffer durch, um Bilddaten,
welche von der Addierschaltung 21 geliefert werden, wie
Vorwärtsvorhersagebilddaten
oder Rückwärtsvorhersagebilddaten
zu speichern. In bezug auf die gespeicherten Bilddaten werden Bilddaten
eines einzelnen Vollbilds als Vorwärtsvorhersagebilddaten ausgegeben,
oder sie werden als Rückwärtsvorhersagebilddaten
in Abhängigkeit
von dem zu codierenden Bild ausgegeben. Diese Vorhersagebilddaten
sind insgesamt die gleichen Bilder wie diejenigen, welche in der
Bewegtbild-Decodiervorrichtung reproduziert werden, was später erläutert wird. In
bezug auf das Bild, bei dem veranlasst wird, dass dieses der Codierverarbeitung
unterworfen wird, wird anschließend
die Vorwärts-/Rückwärts-/Bidirektional-Vorhersagecodierung
auf der Basis des Vorhersagebilds ausgeführt.
-
In
Wirklichkeit führt
die Bewegungskompensationsschaltung 23 eine Bewegungskompensation auf
der Grundlage des Vorhersagemodus und des Bewegungsvektors für die Bilddaten
aus dem Vollbildspeicher 22 aus, um die bewegungs-kompensierten
Bilddaten zu lesen, um die somit gelesenen Vorhersagebilddaten zur
Vorhersagecodierschaltung 14 und zur Addierschaltung 21,
wie oben beschrieben, zu liefern.
-
Es
wird nun die Bewegtbild-Decodiervorrichtung beschrieben.
-
Die
Bewegtbild-Decodiervorrichtung besitzt, wie in 5 gezeigt ist, einen Empfangspufferspeicher 31.
Dieser Empfangspufferspeicher 31 wird mit einem Bitstrom über den Übertragungspfad
oder über Übertragungsträger beliefert,
um diesen Bitstrom einmal (vorübergehend)
zu speichern, um diesen zur variablen Längendecodierschaltung 32 zu liefern.
-
Diese
variable Längendecodierschaltung 32 führt variables
Längencodieren
bezüglich
des Bitstroms, d. h., die codierten Daten durch, um quantisierte
Daten, einen Bewegungsvektor, einen Vorhersagemodus und eine Quantvisierungsskala
usw. zu reproduzieren. Diese quantisierten Daten und die Quantisierungsskala
werden zur inversen Quantisierungsschaltung 33 geliefert,
und der Bewegungsvektor und der Vorhersagemodus usw. werden zur
Bewegungskompensationsschaltung 38 geliefert.
-
Der
Betrieb der inversen Quantisierungsschaltung 33 bis zur
Bewegungskompensationsschaltung 38 ist der gleiche wie
der der lokalen Codierschaltung der oben beschriebenen Bewegtbild-Codiervorrichtung.
Diese Schaltungen führen das
Decodieren unter Verwendung quantisierter Daten, des Bewegungsvektors,
des Vorhersagemodus, des Quantisierungsmaßstabs und der Vorwärtsvorhersagebilddaten
und der Rückwärtsvorhersagebilddaten
durch, die schon reproduziert wurden und die in den Vollbildpuffern 37a, 37b des
Vollbildspeichers 37 gespeichert wurden. Als Ergebnis werden
reproduzierte Bilddaten von der Addierschaltung 35 in Form
eines Blockformats ausgegeben. Die Bilddaten des Blockformats werden
zum Vollbildspeicher 38 geliefert und einmal dort gespeichert
(vorübergehend gespeichert).
Danach werden diese Bilddaten daraus in der Reihenfolge ihrer Anzeige
gelesen und davon ausgegeben.
-
In
Wirklichkeit hat der Vollbildspeicher 36 eine Speicherkapazität, welche
drei Vollbildern entspricht, d. h., drei Vollbildpuffer 36a, 36b, 36c,
und speichert Bilddaten von beispielsweise des P-Bilds, welches
schon reproduziert wurde und welches später auszugeben ist, im Vollbildpuffer 36a,
und speichert (vorübergehend)
Bilddaten des B-Bilds, während
er eine Datenbankumschaltung zwischen zwei Vollbildpuffern 36b, 36c ausführt, um
dadurch diese zu lesen und diese in der Reihenfolge der Anzeige
d. h., in der Art einer Rasterabastung auszugeben.
-
Wie
oben beschrieben sind bei der herkömmlichen Bewegtbild-Decodiervorrichtung
Speicher, die insgesamt fünf
Vollbildern entsprechen, des Speichers (Vollbildspeicher 37),
der zwei Vollbildern zum Decodieren entspricht (siehe beispielsweise EP-A
0 542 195), zum Decodieren und Speicher (Vollbildspeicher 36),
der drei Vollbildern entspricht, zum Ausführen einer sequentiellen Ordnen
wiedergegebener Bilder zum Ausgeben derselben in Übereinstimmung
mit der Rasterabtastung erforderlich. Aus diesem Grund bestand das
Problem, dass der Schaltungsaufwand groß ist.
-
Die
Erfindung bezieht sich auf eine Bewegtbild-Decodiervorrichtung,
die dazu geeignet ist, um Bilddaten zu reproduzieren, wie diese
im Patentanspruch 1 definiert ist.
-
1 ist eine Ansicht, welche
ein Bild zeigt, um das Prinzip der Vorhersagecodierung zu erläutern;
-
2 ist eine Ansicht, um den
Aufbau in praktischeren Sinne einer GOP zu zeigen;
-
3 ist eine Ansicht, welche
den Aufbau des Bilds in der Praxis zeigt;
-
4 ist ein Bockdiagramm,
welches den Aufbau einer Bewegtbild-Codiervorrichtung zeigt;
-
5 ist ein Blockdiagramm,
welches den Aufbau einer herkömmlichen
Bewegtbild-Decodiervorrichtung zeigt;
-
6 ist ein Blockdiagramm,
welches den Aufbau einer Bewegtbild-Decodiervorrichtung für die Praxis
zeigt, auf welche die Erfindung angewandt wird;
-
7 ist eine Ansicht, um einen
Schreibbetrieb in einen Vollbildpuffer zu erläutern, der die oben erläuterte Bewegtbild-Decodiervorrichtung
bildet;
-
8 ist eine Ansicht, um zu
erläutern,
wie der Vollbildpuffer zu verwenden ist;
-
9 ist eine Ansicht, um das
Detail des Schreib-/Lesebetriebs des Vollbildpuffers zu erläutern;
-
10 ist eine Ansicht, welche
eine Adresserfassung des Vollbildspeichers in der Praxis zeigt, die
die oben erwähnte
Bewegtbild-Decodiervorrichtung
bildet;
-
11 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt, welche die oben erwähnte Bewegtbild-Decodiervorrichtung
bildet;
-
12 ist eine Ansicht, welche
die Adresserfassung des Vollbildspeichers in der Praxis zeigt;
-
13 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt;
-
14 ist eine Ansicht, welche
die Adresserfassung des Vollbildspeichers in der Praxis zeigt;
-
15 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt;
-
16 ist eine Ansicht, welche
die Adresserfassung des Vollbildspeichers in der Praxis zeigt;
-
17 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt;
-
18 ist eine Ansicht, welche
die Adresserfassung des Vollbildspeichers in der Praxis zeigt;
-
19 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt;
-
20 ist eine Ansicht, welche
die Adresserfassung des Vollbildspeichers in der Praxis zeigt;
-
21 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt;
-
22 ist eine Ansicht, welche
eine Adresserfassung des Vollbildspeichers in der Praxis zeigt;
-
23 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt;
-
24 ist eine Ansicht, welche
die Adresserfassung des Vollbildspeichers in der Praxis zeigt; und
-
25 ist ein Blockdiagramm,
welches den Aufbau der Adresserzeugungsschaltung 52 in
der Praxis zeigt.
-
Eine
bevorzugte Ausführungsform
einer Bewegtbild-Decodiervorrichtung gemäß der vorliegenden Erfindung
wird anschließend
mit Hilfe der Figuren beschrieben.
-
Eine
Bewegtbild-Decodiervorrichtung, bei der die vorliegende Erfindung
angewandt wird, umfasst, wie in 6 gezeigt
ist, beispielsweise einen Empfangspufferspeicher 41, um
codierte Daten, welche als Bitstrom geliefert werden, einmal zu
speichern (vorübergehend
zu speichern), die als Bitstrom eingegeben werden, eine variable
Längendecodierschaltung 42,
um das variable Längendecodieren
bezüglich
codierter Daten vom Empfangspufferspeicher 41 auszuführen, um
quantisierte Daten und einen Bewegungsvektor, usw. zu reproduzieren,
eine inverse Quantisierungsschaltung 43, um Daten von der
variablen Längendecodierschaltung 42 invers
zu quantisieren, um Koeffizientendaten zu reproduzieren, eine IDCT-Schaltung 44,
um Koeffizientendaten von der inversen Quantisierschaltung 43 IDCT-zuverarbeiten,
um Bilddaten oder Differenzdaten zu liefern, eine Addierschaltung 45,
um die Differenzdaten von der IDCT-Schaltung 44 und Vorhersagebilddaten
zu addieren, um Bilddaten zu reproduzieren, einen Vollbildspeicher
(Rahmenspeicher) 46, um Bilddaten von der Addierschaltung 45 zu
speichern und um gespeicherte Bilddaten in der Reihenfolge der Anzeige
auszugeben, und eine Bewegungskompensationsschaltung 47,
um Bilddaten vom Vollbildspeicher 46 auf der Basis des
Bewegungsvektors usw. von der variablen Längendecodierschaltung 42 zu
lesen, um diese als Vorhersagebilddaten zur Addierschaltung 45 zu
liefern.
-
Außerdem umfasst
diese Bewegtbild-Decodiervorrichtung eine Vollbildspeicher-Steuerungsschaltung 51,
um eine Vollbildnummer, usw., auf der Basis der Bildstruktur von
der variablen Längendecodierschaltung 42 zu
erzeugen, eine Adresserzeugungsschaltung 52, um eine Schreibadresse
des Vollbildspeichers 46 auf der Basis der Vollbildnummer
usw. von der Vollbildspeicher-Steuerungsschaltung 51 zu
erzeugen, und eine Vollbildspeicher-Anzeigesteuerungsschaltung 53,
um eine Adresse zu erzeugen, um Bilddaten vom Vollbildspeicher 46 in der
Reihenfolge der Anzeige zu lesen.
-
Außerdem ist
diese Bewegbilddecodiereinrichtung beim Decodieren codierter Daten,
welche als Bitstrom eingegeben werden, zum Ausgeben von Wiedergabebilddaten,
die auf diese Weise gewonnen werden, dazu bestimmt, um Bilddaten
des I-Bilds und P-Bilds, die schon reproduziert wurden, im Vollbildspeicher 46 als
Vorhersagebilddaten zum Decodieren zu speichern, und liest Bilddaten
vom Vollbildspeicher 46 in der Reihenfolge der Anzeige
aus und gibt sie aus.
-
Tatsächlich speichert
der Empfangspufferspeicher 41, der als sogenannter Codepuffer
dient, einen Bitstrom einmal (vorübergehend), der über den Übertragungsweg
geliefert wird, d. h., codierte Daten, welche mit einer festen Übertragungsrate
(Geschwindigkeit) geliefert werden, oder codierte Daten, welche
von Übertragungsträgern reproduziert
werden, welche aus einem Bildaufzeichnungsträger bestehen, beispielsweise
einer optischen Platte, einer Magnetplatte oder einem Magnetband,
usw., um die gespeicherten codierten Daten zur variablen Längendecodierschaltung 42 zu
liefern.
-
Die
variable Längendecodierschaltung 42 führt das
variable Längedecodieren
bezüglich
codierter Daten, welche vom Empfangspuffer 41 geliefert werden,
durch, um quantisierte Daten, einen Bewegungsvektor, eine Quantisierungsskala,
einen Vorhersagemodus und ein Vorhersageflag zu reproduzieren, und
reproduziert die Bildstruktur, die anzeigt, ob das oben beschriebene
Bild die Vollbildstruktur oder die Teilbildstruktur hat. Danach
liefert diese variable Längendecodierschaltung 42 quantisierte
Daten und die Quantisierungsskala zur inversen Quantisierungsschaltung 43,
liefert den Bewegungsvektor, den Vorhersagemodus und das Vorhersageflag
zur Bewegungskompensationsschaltung 47, und liefert die
Bildstruktur zur Vollbildspeicher-Steuerungsschaltung 51 und
zur Vollbildspeicherungs-Anzeigesteuerungsschaltung 53.
-
Die
inverse Quantisierungsschaltung 43 quantisiert die quantisierten
Daten, welche von der variablen Längendecodierschaltung 42 geliefert
werden, gemäß der Quantisierungsskala
invers, um Koeffizientendaten (sogenannte DCT-Koeffizienten), die auf diese Weise
erhalten werden, zur IDCT-Schaltung, 44 zu liefern. Die
IDCT-Schaltung 44 führt
die IDCT-Verarbeitung bezüglich
der Koeffizientendaten durch. Wenn ein I-Bild decodiert wird (anschließend als
Decodieren bezeichnet), reproduziert die IDCT-Schaltung 44 Ursprungsbilddaten
in Makroblockeinheiten. Wenn ein P-Bild oder B-Bild decodiert wird,
reproduziert die IDCT-Schaltung 44 Differenzdaten (einen
sogenannten Vorhersagefehler) in Makroblockeinheiten. Danach werden
diese Daten zur Addierschaltung 45 geliefert.
-
Die
Addierschaltung 45 liefert Bilddaten des I-Bilds, die von
der IDCT-Schaltung 44 geliefert
werden, unverändert
zum Vollbildspeicher 46. Außerdem addiert diese Addierschaltung 45 die
Differenzdaten des P-Bilds oder B-Bilds, die von der IDCT-Schaltung 44 geliefert
werden, und Vorhersagebilddaten, welche von der Bewegungskompensationsschaltung 47 geliefert
werden, um Bilddaten des P- Bilds
oder B-Bilds im Makroblockeinheiten zu reproduzieren, um die reproduzierten
Bilddaten, d. h., die Bilddaten des Blockformats, zum Vollbildspeicher 46 zu
liefern. Inzwischen führt
die Addierschaltung 45 selbst dann, wenn die Bilddaten
z. B. Daten eines P-Bilds sind, wenn sich der Makroblock desselben
in einem Infrarahmenvorhersagemodus befindet, keine Verarbeitung ähnlich derjenigen
für Bilddaten
eines I-Bilds durch.
-
Der
Vollbildspeicher 46 besteht aus einem Halbleiterspeicher,
der eine Speicherkapazität
hat, welche beispielsweise drei Vollbildern entspricht (anschließend wird
ein Speicher, der einem Vollbild entspricht, als Vollbildpuffer
bezeichnet), und führt
eine Speicherblockumschaltung der Vollbildpuffer 46a, 46b, 46c auf
der Basis der Schreibadresse durch, welche von der Adresserzeugungsschaltung 52 geliefert
wird, um Bilddaten des I-Bilds oder des P-Bilds, die von der Addierschaltung 45 geliefert
werden, in beispielsweise die Vollbildpuffer 46a, 46b als
Vorwärtsvorhersagebilddaten
oder als Rückwärtsvorhersagebilddaten
zu speichern, und um Bilddaten des B-Bilds im Vollbildpuffer 46c als
Vorhersagebilddaten ähnlich
den oben genannten zu speichern.
-
Die
Vollbildspeicher-Steuerungsschaltung 51 erzeugt auf der
Basis der Bildstruktur, die von der variablen Längendecodierschaltung 42 geliefert
wird, beispielsweise die Vollbildnummer von zwei Bits, um einen
der Vollbildpuffer 46a–46c zu
bestimmen, die Teilbildnummer von einem Bit um zu bestimmen, ob das
erste Teilbild oder das zweite Teilbild ist, die ein Vollbild bilden,
und ein Chromasignal aus einem Bit, um eine Unterscheidung zwischen
Luminanzdaten und Farbdifferenzdaten, welche Bilddaten bilden, auszuführen, um
diese zu der Adresserzeugungsschaltung 52 zu liefern.
-
Diese
Adresserzeugungsschaltung 52 erzeugt eine Schreibadresse
des Vollbildspeichers 46 auf der Basis dieser Vollbildnummer,
dieser Teilbildnummer und dieses Chromasignals. Mittels dieser Schreibadresse
wird das Schreiben reproduzierter Bilddaten in die Vollbildpuffer 46a–46c wie
oben beschrieben durchgeführt.
-
Die
Bilddaten, welche in den Vollbildpuffern 46a–46c auf
diese Weise gespeichert sind, werden als Vorhersagebilddaten beim
Decodieren des nächsten
Bildes verwendet, und sie werden mittels der Rasteradresse gemäß der Reihenfolge
der Anzeige, welche von der Vollbildspeicher-Anzeigesteuerungsschaltung 53 geliefert
wird, d. h., beispielsweise mittels der Rasterabtastung, ausgelesen
und ausgegeben.
-
Die
Bewegungskompensationsschaltung 47 führt eine Bewegungskompensation
bezüglich
der Bilddaten des I-Bilds oder des P-Bilds durch, die im Vollbildpuffer 46a gespeichert
sind, wenn beispielsweise das Decodierungsteil des Bilds das Decodierungsteil
des P-Bilds ist und der Vorwärtsvorhersagemodus
eingestellt ist, auf der Basis des Vorhersagemodus, des Bewegungsvektor
und des Vorhersageflags, welche von der variablen Längedecodierschaltung 42 geliefert
werden, um bewegungs-kompensierten Bilddaten zu lesen, um die Bilddaten,
die auf diese Weise gelesen werden, zur Addierschaltung 45 als
die oben beschriebenen Vorhersagebilddaten zu liefern.
-
Wenn
das Decodierungsteil des Bilds beispielsweise das Decodierungsteil
des B-Bilds ist, führt
außerdem
die Bewegungskompensationsschaltung 47 eine Bewegungskompensation
auf der Basis des Vorhersagemodus, des Bewegungsvektors und des
Vorhersageflags, der Bilddaten des I-Bilds (im Fall des Vorwärtsvorhersagemodus),
welche im Vollbildspeicher 46a gespeichert sind, der Bilddaten
des P-Bilds (im Fall des Rückwärtsvorhersagemodus), die
Vollbildspeicher 46b gespeichert sind, oder der beiden
Arten von Bilddaten (im Fall des Bidirektional-Vorhersagemodus) aus, um die bewegungs-kompensierten
Bilddaten zu lesen, um die auf diese Weise gelesenen Bilddaten zur
Addierschaltung 45 als die oben beschriebenen Vorhersagebilddaten
zu liefern.
-
Dagegen
erzeugt die Vollbildspeicher-Anzeigesteuerschaltung 53 auf
der Basis der Bildstruktur, die von der variablen Längendecodierschaltung 42 geliefert
wird, eine Rasteradresse, deren Wert gemäß der Reihenfolge der Anzeige,
beispielsweise einer Rasterabtastung, welche in der Reihenfolge
des ersten Teilbilds und des zweiten Teilbilds ausgeführt wird,
wenn Abfolgen des I-Bilds, des P-Bilds und des B-Bilds kommen, die
in den entsprechenden Vollbildpuffern 46a–46c gespeichert
sind, erhöht
(inkrementiert) wird. Mittels dieser Rasteradresse wird das Lesen
von Bilddaten von den Vollbildpuffern 46a–46c wie
oben beschrieben ausgeführt.
-
Der
Schreibbetrieb und der Lesebetrieb zur Ausgabe von Bilddaten in
und von Vollbildpuffern 46a–46c wird nun ausführlich mit
Hilfe von 7–9 beschrieben. In diesen
Figuren zeigt die Ordinate die Adresse des Vollbildpuffers, und
die Abszisse zeigt die Zeit.
-
Die
Vollbildpuffer 46a–46c bestehen
jeweils aus Teilbildpuffern A, B, wie beispielsweise in 7 gezeigt ist. Es gibt Bilder
der Vollbildstruktur und Bilder der Teilbildstrukturen, wie dies
oben beschrieben wurde. Gemäß den entsprechenden
Bildstrukturen werden unterschiedliche Zugriffssysteme verwendet. Außerdem greift,
wie oben beschrieben, der Lesebetrieb von Bilddaten für die Anzeige
auf den Vollbildpuffer in der Rasterabtastrichtung zu, während der Schreibbetrieb
decodierter Bilddaten auf den Vollbildpuffer in Makroblockeinheiten
zugreift.
-
Wenn
nämlich
das Bild die Teilbildstruktur aufweist, speichert, da Bilddaten
des ersten Teilbilds eines Bilds zuerst sequentiell in Makroblockeinheiten decodiert
werden, wie in 7A gezeigt
ist, diese Bewegtbild-Decodiervorrichtung beispielsweise sequentiell
diese Bilddaten im Teilbildpuffer A, wie durch den Pfeil mit den
dicken durchgezogenen Linie angedeutet ist. Da die Bilddaten des
zweiten Teilbilds sequentiell in Makroblockeinheiten decodiert werden, speichert
dann die Bewegtbild-Decodiervorrichtung diese Bilddaten in der Reihenfolge
im Teilbildpuffer B. Der Vollbildpuffer wird nämlich im Verlaufe der Zeit
in der Reihenfolge der Teilbildpuffer A, B durch die neuen Bilddaten
aktualisiert.
-
Wenn
dagegen das Bild die Vollbildstruktur aufweist, werden, da ein Makroblock
Bilddaten sowohl von Pixeln aufweist, die acht Zeilen des ersten Teilbilds
bilden, als auch von Pixeln, die acht Zeilen des zweiten Teilbilds
bilden, Bilddaten des ersten und des zweiten Teilbilds simultan
in Makroblockeinheiten decodiert, wie in 7B beispielsweise gezeigt ist. Folglich
speichert diese Bewegtbild-Decodiervorrichtung simultan Bilddaten
des ersten Teilbilds im Teilbildpuffer A und Bilddaten des zweiten
Teilbilds im Teilbildpuffer B, wie durch den Pfeil mit der dünnen durchgezogenen
Linie angedeutet ist. Die Teilbildpuffer A, B werden nämlich simultan
durch neue Bilddaten im Laufe der Zeit aktualisiert. Es sei angemerkt, dass 7C eine Ansicht ist, in
der 7A und 7B überlappend gezeichnet sind.
Außerdem ändert sich die
Verarbeitungszeit, welche für
das Decodieren von Bilddaten erforderlich ist, in Abhängigkeit
von der Vorhersagemodusart des Makroblocks, und die Zeit von dem
Zeitpunkt an, wenn Bilddaten eines Vollbilds decodiert werden, zu
dem Zeitpunkt, wenn der Schreibbetrieb beendet ist, ändert sich
ebenfalls. 7 zeigt den
Fall, wo diese Zeit am längsten
ist.
-
Bei
dieser Bewegtbild-Decodiervorrichtung wird außerdem ein Verfahren angewandt,
um decodierte Bilddaten des I-Bilds, des P-Bilds und des B-Bilds
in die Vollbildpuffer 46a–46c zu schreiben, während die
Vollbildpuffer 46a–46c wie
oben beschrieben arbeiten, und zum Auslesen von Bilddaten aus den
Vollbildspeichern 46a–46c parallel
zu der Schreiboperation zum Zweck der Anzeige zu einem Zeitpunkt,
welcher im Wesentlichen um eine Teilbildzeit vom Schreibstartzeitpunkt
verzögert
ist.
-
Wenn
in Wirklichkeit eine Sequenz von Bildern (Vollbildern) innerhalb
der GOP als eine Sequenz "I-Bild,
B-Bild, B-Bild, P-Bild, B-Bild, B-Bild, P-Bild" angenommen wird, wie in 8 beispielsweise gezeigt
ist, werden die Bilddaten des I-Bilds zuerst decodiert und in den
Vollbildpuffer 46a geschrieben, wie durch durchgezogene
Linien (dünne
durchgezogene Linien zeigen die Vollbildstruktur, und dicke durchgezogene
Linien zeigen die Teilbildstruktur) angedeutet ist. Dann werden
die Bilddaten des P-Bilds decodiert und in den Vollbildpuffer 46b geschrieben. Danach
werden die Bilddaten des B-Bilds decodiert und in den Vollbildpuffer 46c geschrieben.
Simultan damit werden diese Bilddaten für den Zweck einer Anzeige zu
einem Zeitpunkt, welcher im Wesentlichen um ein Teilbild verzögert ist,
wie durch unterbrochene Linien (dicke unterbrochene Linien zeigen
das erste Teilbild und dünne
unterbrochene Linien zeigen das zweite Teilbild) angedeutet ist,
gelesen. Nachfolgend werden Bilddaten des B-Bilds decodiert und
in den Vollbildpuffer 46c geschrieben. Simultan damit werden
diese Bilddaten zu einem Zeitpunkt, der im Wesentlichen um ein Teilbild
verzögert
ist, gelesen. In den darauffolgenden Zeitpunkten werden das Lesen
von Bilddaten des P-Bilds, welche schon decodiert wurden, vom Vollbildpuffer 46a,
das Schreiben/Lesen in und von dem Vollbildpuffer 46c von Bilddaten
des B-Bilds, das Schreiben/Lesen in und von dem Vollbildpuffer 46c von
Bilddaten des P-Bilds ... wiederholt.
-
Wie
oben beschrieben liest, da diese Bewegtbild-Decodiervorrichtung
Bilddaten vom Vollbildspeicher 46 zu Zeitpunkten liest,
welche im Wesentlichen um ein Teilbild vom Schreibstartzeitpunkt
der Bilddaten des Bilds (Vollbilds) verzögert sind, welches laufend
decodiert wurde, in den Vollbildspeicher 46, um auf diese
Weise gelesene Bilddaten auszugeben. Während die herkömmliche
Bewegtbild- Decodiervorrichtung
einen Speicher erfordert, der fünf Vollbildern
entspricht, kann somit diese Bewegtbild-Decodiervorrichtung die
Kapazität
des Vollbildspeichers auf eine solche reduzieren, die drei Vollbildern
entspricht. Anders ausgedrückt
kann der Schaltungsaufwand kompakt werden und die Kosten können reduziert
werden.
-
Inzwischen
besteht die Möglichkeit,
dass, wie oben beschrieben, wenn der Vollbildspeicher 46 eine
Kapazität
hat, die drei Vollbildern entspricht, gemeinsam zur Speicherung
von Vorehrsagebilddaten zum Decodieren und zum sequentiellen Ordnen
für die
Anzeige, um diese Bilddaten in der Reihenfolge der Anzeige vom Vollbildspeicher 46 zu
Zeitpunkten zu lesen, welche im Wesentlichen um ein Teilbild vom Schreibstartzeitpunkt
der Bilddaten des Bilds verzögert
ist, welches gegenwärtig
decodiert wird, in den Vollbildspeicher 46 benutzt wird,
das Schreiben von Bilddaten das Lesen zur Anzeige in dem Fall überholen
kann, wenn das Bild die Vollbildstruktur hat.
-
Aufeinanderfolgende
B-Bilder werden fortlaufend in den gleichen Vollbildpuffer geschrieben, beispielsweise
den Vollbildpuffer 46c, und werden fortlaufend daraus gelesen.
Als Folge davon besteht die Möglichkeit,
dass, wenn das B-Bild die Vollbildstruktur hat, das Schreiben von
Bilddaten das Lesen für
die Anzeige des zweiten Teilbilds im Startzeitpunkt und das Lesen
für die
Anzeige des ersten Teilbilds im Zeitpunkt von dessen Beendigung überholen kann.
-
Wenn
von zwei aufeinanderfolgenden B-Bilder angenommen wird, dass sie
ein Vollbild F(t – 1) sind,
F(t) ist, würde
in der Praxis, wenn das Schreiben von Bilddaten eines decodierten
Bilds in bezug auf das Vollbild F(t), welches mittels der Vollbildstruktur
codiert wurde, unmittelbar nach der vertikalen Austastung, die aus 23 horizontalen
Abtastzeitperioden besteht (anschließend einfach als 23H bezeichnet)
zwischen den ersten und zweiten Teilbildern des Vollbilds F(t – 1) erfolgt,
obwohl das Lesen von Bilddaten der ersten acht Zeilen des zweiten
Teilbilds des Vollbilds F(t – 1)
nicht beendet ist, das Schreiben der Bilddaten von Pixeln, die die
ersten acht Zeilen des zweiten Teilbilds des Vollbilds F(t) bilden,
im gleichen Bereich beginnen, wodurch verfehlt wird, eine korrekte
Anzeige auszuführen.
-
Wenn
das Schreiben von Bilddaten des decodierten Bilds in bezug auf das
Vollbild F(t), der durch die Vollbildstruktur codiert wurde, bis
unmittelbar vor der vertikalen Austastung, welche aus 23H besteht,
zwischen den ersten und zweiten Teilbildern des Vollbilds F(t) erfolgt,
obwohl das Schreiben der Bilddaten von Pixeln, welche die letzten
acht Zeilen des ersten Teilbilds des Vollbilds F(t) bilden, nicht
beendet ist, würde
außerdem
das Schreiben von Bilddaten der letzten acht Zeilen des ersten Teilbilds
des Vollbilds F(t) beginnen, wodurch verfehlt wird, eine korrekte
Anzeige durchzuführen.
-
Aus
obiger Sicht führt
diese Bewegtbild-Decodiervorrichtung Schreib- und Leseoperationen von Bilddaten in
und von dem Vollbildpuffer 46c von aufeinanderfolgenden
B-Bildern gemäß dem Zeitplan durch,
welches beispielsweise in 9 gezeigt
ist. In 9 ist das Lesen
von Bilddaten zur Anzeige durch Pfeile mit dicken durchgezogenen
Linien gezeigt, das Schreiben von decodierten Bilddaten in dem Fall,
wo die Decodierverarbeitungsgeschwindigkeit niedrig ist, ist durch
dünne durchgezogene
Linien gezeigt, und das Schreiben von decodierten Bilddatenoperationen
in dem Fall, wo die Decodierverarbeitungsgeschwindigkeit hoch ist,
ist durch unterbrochene Linien angedeutet.
-
Das
Lesen von Bilddaten (anschließend
einfach als Lesen bezeichnet) des ersten Teilbilds des Vollbilds
F(t – 1)
vom Teilbildpuffer A des Vollbildpuffers 46c wird von 22H
bis 262H durchgeführt,
wobei die Rasteradresse zur Anzeige erhöht wird (inkrementiert wird).
Wenn die vertikale Austastung von 23H abgeschlossen ist, wird das
Lesen des zweiten Teilbilds vom Vollbildpuffer B von 285H bis 525H durchgeführt, während in ähnlicher
Weise die Rasteradresse inkrementiert wird.
-
In
diesem Zeitpunkt wird zum Zeitpunkt (293H), welcher um 8H vom Beginn
des Lesens des zweiten Teilbilds des Vollbilds F(t – 1) verzögert ist, das
Schreiben des Vollbilds F(t) in den Teilbildpuffer B begonnen. In
dem Fall der Vollbildstruktur werden Schreiboperationen von Bilddaten
des ersten und des zweiten Teilbilds simultan begonnen. Um nicht
zu erlauben, dass die Schreiboperation von Bilddaten das Lesen im
Fall der Vollbildstruktur überholt,
wird folglich die Schreiboperation um 8H wie oben beschrieben verzögert. Es
sollte angemerkt werden, dass im Fall der Teilbildstruktur, da,
nachdem alle Bilddaten des ersten Teilbilds geschrieben wurden, Bilddaten
des zweiten Teilbilds geschrieben werden, es einen Spielraum in
bezug auf das Lesen des ersten Teilbilds gibt.
-
Nachdem
der Schreibbetrieb in einer Weise wie oben beschrieben begonnen
wird, wird in dem Fall, wo die Decodierverarbeitung die Höchste ist, das
Schreiben von Bilddaten ausgeführt,
wie durch die gestrichelte Linie angedeutet ist, und in dem Fall, wo
die Decodierverarbeitungsgeschwindigkeit am niedrigsten ist, wird
das Schreiben von Bilddaten ausgeführt, wie durch die durchgezogenen
Linien angedeutet ist.
-
Bei
dem Prozess des Datenschreibbetriebs hat in dem Fall, wo die Decodierverarbeitung
die höchste
ist, wie durch gestrichelte Linien gezeigt ist, das Schreiben von
Bilddaten einen Spielraum in bezug auf das Lesen von sowohl der
Vollbildstruktur als auch der Teilbildstruktur, d. h., die Schreibadresse und
die Rasteradresse werden nicht eng zu einander. In dem Fall jedoch,
wo im Fall der Vollbildstruktur die Decodierverarbeitungsgeschwindigkeit
die niedrigste ist, werden die Schreiboperationen von Bilddaten entwickelt,
wie durch durchgezogene Linien gezeigt ist. Bei der letzten Schreiboperation
des ersten Teilbilds wird die Schreibadresse nahe der Rasteradresse.
Im Hinblick darauf wird eine Maßnahme
getroffen, dass veranlasst wird, dass die Schreiboperation in einem
Zeitpunkt beendet wird, die um 8H früher von der Beendigung des
Lesens des ersten Teilbilds liegt.
-
Danach
wird das Lesen des Vollbilds F(t) zu einem Zeitpunkt begonnen, welcher
im Wesentlichen um ein Teilbild vom Schreibstartzeitpunkt des Vollbilds
F(t) verzögert
ist. Das Lesen des ersten Teilbilds des Vollbilds F(t) wird von
22H bis 262H ausgeführt, während die
Rasteradresse inkrementiert wird. Nach der vertikalen Austastung
von 23H wird das Lesen des zweiten Teilbilds von 285H bis 525H ausgeführt, während die
Rasteradresse ähnlich
dem Fall wie beim ersten Teilbild inkrementiert wird.
-
Durch
fortlaufendes Wiederholen der oben geschilderten Operation kann
das Lesen zur Anzeige mit einer Verzögerung von im Wesentlichen
einem Teilbild vom Schreibstartzeitpunkt der Bilddaten durchgeführt werden.
Der Vollbildspeicher 46 kann nämlich
mit einer Kapazität,
die zwei Vollbildern entspricht, als Kapazität zum Speichern der Vorhersagebilddaten,
und einer Kapazität,
welche einem Vollbild entspricht, als Kapazität zur Anzeigeverarbeitung des
B-Bilds, ausgebildet sein. Der Vollbildspeicher, der für diese
Bewegtbild-Decodiervorrichtung notwendig ist, muss lediglich eine
Kapazität
haben, die insgesamt drei Vollbildern entspricht, nämlich einem Vollbild
zum Speichern von Bilddaten, welche in der Vorwärtsvorhersage verwendet werden,
einem Vollbild zum Speichern von Bilddaten, welche bei der Rückwärtsvorhersage
verwendet werden, und einem Vollbild zum Speichern eines decodierten
Bilds für die
bidirektionalen Vorhersage.
-
Wie
oben beschrieben wird in dieser Bewegtbild-Decodiervorrichtung eine
Näherung
angenommen, dass, nachdem das Lesen von Bilddaten der ersten 8 Zeilen
des zweiten Teilbilds des Vollbilds F(t – 1) beendet ist, der Schreibbetrieb
von Bilddaten von Pixeln, die die ersten 8 Zeilen des zweiten Teilbilds des
Vollbilds F(t) bilden, begonnen wird. Außerdem wurde eine Näherung angenommen,
dass, bevor Bilddaten der letzten 8 Zeilen des ersten Teilbilds
des Vollbilds F(t) gelesen werden, begonnen wird, der Schreibbetrieb
für Bilddaten
von Pixeln, welche die letzten 8 Zeilen des ersten Teilbilds des
Vollbilds F(t) bilden, beendet wird.
-
Anders
ausgedrückt
heißt
dies, dass es in dieser Bewegtbild-Decodiervorrichtung es erlaubt, dass
die Schreibstartzeit von Bilddaten des laufenden Vollbilds in den
Vollbildpuffer eine Zeit 8 horizontale Abtastperioden nach der vertikalen
Austastbeendigungszeit zwischen dem ersten und dem zweiten Teilbild
des früheren
Vollbilds ist, und es wird erlaubt, dass die Schreibbeendigungszeit
der Bilddaten des laufenden Vollbilds in den Vollbildpuffer eine
Zeit von 8H vor dem vertikalen Austaststartzeit zwischen dem ersten
und dem zweiten Teilbild des laufenden Vollbilds (Bild) ist.
-
Die
aktuellen Adresszuteilungsverfahren (Adresserfassung) des Vollbildspeichers 46,
wenn veranlasst wird, dass Bilddaten die Bilddaten des sogenannten
4:2:0 Formats sind, und aktuelle Schaltungskonfigurationen der Adresserzeugungsschaltungen 52,
die diesen Adresserfassungsverfahren entsprechen, werden nun mit
Hilfe von 10 bis 25 beschrieben. In diesen
Figuren sind jeweils gleichen Schaltungen gleiche Bezugszeichen
zugeordnet, so dass auf ihre Erläuterung
verzichtet wird.
-
In
dem Fall, wo veranlasst wird, dass die Bilddaten das Format 4:2:0
haben, werden, da im PAL-System 720 × 576 Pixel im Bild eines Vollbilds sind,
entsprechende Kapazitäten
der Vollbildpuffer 46a–46c gleich
622080 Bytes (= 720 × 576 × 1,5).
Als Ergebnis wird die Anzahl von Bytes, die für den Vollbildspeicher 56 notwendig
ist, gleich 1866240 Bytes als Gesamtsummenwert der Kapazitäten dieser
Vollbildspeicher. Folglich kann der Vollbildspeicher 46 mit
einem Halbleiterspeicher von 2 MB (2097152) gebildet werden. Somit
besteht der Vollbildspeicher aus dem Halbleiterspeicher von 2 MB,
und Adressen der Vollbildpuffer 46a–46c in diesem Zeitpunkt
werden zugeteilt (erfasst), wie unten beschrieben wird. Es sei angemerkt,
dass, da die Anzahl von Pixeln des NTSC- Systems kleiner ist als die des PAL-Systems,
es sich erübrigt
auszuführen,
dass der Vollbildspeicher 46 mit dem Halbleiterspeicher
mit 2 MB gebildet werden kann.
-
Bei
der ersten Adresserfassung werden Adressen des Vollbildspeichers 46 in
der Reihenfolge der Luminanzdaten Y und Farbdifferenzdaten C des ersten
Vollbilds (anschließend
als Vollbild F0 bezeichnet), der Luminanzdaten Y und Farbdifferenzdaten
C eines zweiten Vollbilds (anschließend als Vollbild F1 bezeichnet),
und der Luminanzdaten Y und Farbdifferenzdaten C des dritten Vollbilds
(anschließend
als Vollbild F2 bezeichnet) zugeordnet.
-
In
Wirklichkeit wird, wie in 10 gezeigt
ist, beispielsweise angenommen, dass die Anfangsadresse der Luminanzdaten
Y des Vollbilds F0 durch 00000 in hexadezimaler Schreibweise dargestellt wird
(anschließend
als 00000h bezeichnet), die Anfangsadresse der Farbdifferenzdaten
C des Vollbilds F0 durch 0Ca80h dargestellt ist, die Anfangsadresse von
Luminanzdaten Y des Vollbilds F1 durch 12FC0h dargestellt ist, die
Anfangsadresse der Farbdifferenzdaten C des Vollbilds F1 durch 1FA40h
dargestellt ist, die Anfangsadresse der Luminanzdaten Y des Vollbilds
F2 durch 25F80h dargestellt ist, und die Anfangsadresse der Farbdifferenzdaten
des Vollbilds F2 durch 32A00h dargestellt ist. Somit werden der Vollbildpuffer 46a zum
Speichern von Bilddaten des Vollbilds F0, der Vollbildpuffer 46b zum
Speichern von Bilddaten des Vollbilds F1 und der Vollbildpuffer 46c zum
Speichern von Bilddaten des Vollbilds F2 gebildet.
-
Die
verbleibenden Adressen verwenden Bereiche, welche die Adresse 38F40h
und Adressen, welche darauf folgen, haben, als Empfangspufferspeicher 41,
d. h., einen sogenannten Codepuffer. Als Folge davon kann im Vergleich
zu der herkömmlichen
Bewegtbild-Decodiervorrichtung die Speicherkapazität weiter
verringert werden.
-
Die
Adresserzeugungsschaltung 52, welche der ersten Adresserfassung
entspricht, umfasst, wie beispielsweise in 11 gezeigt ist, den Multiplizierer 101,
um die Anzahl von Wörtern
der Luminanzdaten Y für
jedes Vollbild zu berechnen, den Multiplizierer 102, um
entsprechende Anfangsadressen von Vollbildern F0–F2 auf der Basis der Vollbildnummer von
der Vollbildspeicher-Steuerungsschaltung 51 und des Ausgangssignals
des Multiplizierers 101 zu berechnen, den Multiplizierer 103,
um relative Anfangsadressen von Farbdifferenzdaten C im Vollbild auf
der Basis des Chroma-Signals von der Vollbildspeicher-Steuerungsschaltung 51 und
dem Ausgangssignal des Multiplizierer 101 zu berechnen,
den Addierer 104, um Anfangsadressen usw. von entsprechenden
Farbdifferenzdaten C der Vollbilder F0–F2 auf der Basis entsprechender
Ausgangssignale der Multiplizierer 102, 103 zu
berechnen, den Multiplizierer 105, um entsprechende relative
Anfangsadressen des ersten Teilbilds und des zweiten Teilbilds (anschließend entsprechend
als Teilbilder f0, f1 bezeichnet) in Luminanzdaten Y auf der Basis der
Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 und
dem Ausgangssignal des Multiplizierers 101 zu berechnen,
den Multiplizierer 106, um entsprechende Anfangsadressen
von Teilbildern f0, f1 in Farbdifferenzdaten C auf der Basis des Ausgangssignals
des Multiplizierers 105 zu berechnen, das Auswahlorgan 107,
um selektive Umschaltung von entsprechenden Ausgangssignalen der Multiplizierer 105, 106 auszuführen, und
den Addierer 108, um entsprechende Ausgangssignale des
Addierers 104 und des Auswahlorgans 107 zu addieren.
-
Es
sei nun angenommen, dass ein Wort beispielsweise 8 Pixel hat, da
ein Vollbild im PAL-System aus 720 × 576 Pixeln besteht, der Multiplizierer 101 die
Anzahl von Pixeln mit 1/8 multipliziert, um dadurch die Anzahl von
Wörtern
je Vollbild von Luminanzdaten Y zu 51840 (= 720 × 576/8), d. h., 0CA80h (16
Bits) zu berechnen, um den berechneten Wert zu den Multiplizierern 102, 103, 105 zu
liefern.
-
Der
Multiplizierer 102 führt
den Multiplikationsbetrieb mit der Vollbildnummer, die aus 2 Bits
besteht, die von der Vollbildspeicher-Steuerungsschaltung 51 geliefert
werden, d. h., eine der Binärzahlen "00", "01", "10", welche jeweils
den Vollbildern F0–F2 entsprechen,
und mit dem Wert 0CA80h, der vom Multiplizierer 101 geliefert
wird, durch, um den Multiplikationswert, der damit erhalten wird,
mit 3/2 zu multiplizieren, um dadurch entsprechende Anfangsadressen
der Vollbilder F0–F2
zu 00000h, 12FC0h, 25F80h (18 Bits) zu berechnen, um die damit erhaltenen
berechneten Werte zum Addierer 104 zu liefern.
-
Der
Multiplizierer 103 führt
einen Multiplikationsbetrieb des Chroma-Signals durch, welches aus einem Bit
besteht, welches von der Vollbildspeicher-Steuerungsschaltung 51 geliefert
wird, d. h., einer "0" bzw. "1", die den Luminanzdaten Y und den Farbdifferenzdaten
C entsprechen, und dem Wert 0CA80h, welcher vom Multiplizierer 101 geliefert wird,
um dadurch entsprechende relative Anfangsadressen von Luminanzdaten
Y und Farbdifferenzdaten C im Vollbild zu 00000h, 0CA80h (16 Bits)
zu berechnen, um die berechneten Werte zum Addierer 104 zu
liefern.
-
Dieser
Addierer 104 addiert entsprechende Ausgangssignale von
den Multiplizierern 102, 103, um dadurch entsprechende
Anfangsadressen von Luminanzdaten Y, Farbdifferenzdaten C der Vollbilder
F0–F2
zu 00000h, 12FC0h, 25F80h, 0CA80h, 1FA401, 32A00h (18 Bits) zu berechnen,
um dann die berechneten Werte zum Addierer 108 zu liefern.
-
Der
Multiplizierer 105 führt
den Multiplikationsbetrieb mit der Teilbildnummer durch, welche
aus einem Bit besteht, das von der Vollbildspeicher-Steuerungsschaltung 51 geliefert
wird, d. h., einer "0" bzw. einer "1", die den Teilbildern f0, f1 entsprechen,
und dem Wert 0A80h, welcher vom Multiplizierer 101 geliefert
wird, um den Multiplikationswert, der somit erhalten wird, mit 1/2
zu multiplizieren, um dadurch entsprechende relative Anfangsadressen
von Teilbildern f0, f1 in den Luminanzdaten Y zu 00000h, 06540h
(15 Bits) zu berechnen, um die berechneten Werte zum Multiplizierer 106 und
zum Auswahlorgan 107 zu liefern.
-
Der
Multiplizierer 106 multipliziert den Wert 06540h, welcher
vom Multiplizierer 105 geliefert wird, mit 1/2, um dadurch
entsprechende Anfangsadressen von Teilbildern f0, f1 in den Farbdifferenzdaten
C zu 00000h und 032A0h (15 Bits) zu berechnen, um die berechneten
Werte zum Auswahlorgan 107 zu liefern.
-
Das
Auswahlorgan 107 führt
den Auswahlbetrieb auf der Basis des Chroma-Signals durch, welches
von der Vollbildspeicher-Steuerungsschaltung 51 geliefert
wird, so dass, wenn das Chromasignal "0" ist,
das Auswahlorgan 107 das Ausgangssignal des Multiplizierers 105 auswählt, während es,
wenn das Chromasignal "1" ist, das Ausgangssignal
des Multiplizierers 106 auswählt, um dann das ausgewählte Ausgangssignal
zum Addierer 108 zu liefern.
-
Der
Addierer 108 addiert die entsprechenden Ausgangssignale
des Addierer 104 und des Auswahlorgans 107, um
dadurch, wie in 10 gezeigt, wie
oben erwähnt
entsprechende Anfangsadressen von Luminanzdaten Y und Farbdifferenzdaten
C des Vollbilds F0 zu berechnen, der Luminanzdaten Y und der Farbdifferenzdaten
C des Vollbilds F1 bzw. der Luminanzdaten Y und Farbdifferenzdaten
C des Vollbilds F2 zu 00000h, 0CA80h, 12FC0h, 1FA40h, 25F80h, 32A00h
(18 Bits) zu berechnen, und um Anfangsadressen von entsprechenden
Teilbildern f1 der Luminanzdaten und der Farbdifferenzdaten C zu
berechnen, um auf diese Weise diese Adressen zum Vollbildspeicher 46 zu
liefern.
-
Die
zweite Adresserfassung teilt Adressen des Vollbildspeichers 46 in
der Reihenfolge "Luminanzdaten
Y und Farbdifferenzdaten C des Vollbilds F0, Luminanzdaten Y und
Farbdifferenzdaten C des Vollbilds F1 und Luminanzdaten Y und Farbdifferenzdaten
C des Vollbilds F2" zu
und liefert Abstandsbereiche (leere Bereiche) zwischen den Vollbildern.
-
Tatsächlich wird,
wie in 12 beispielsweise
gezeigt ist, bewirkt, dass die Anfangsadressen der Luminanzdaten
Y und der Farbdifferenzdaten C des Vollbilds F0, der Luminanzdaten
Y und der Farbdifferenzdaten C des Vollbilds F1 und der Luminanzdaten Y
und der Farbdifferenzdaten C des Vollbilds F2 jeweils 00000h, 0CA80h,
13000h, 1FA80h, 26000h, 32A80h sind, um dadurch die Vollbildpuffer 46a–46c zu
bilden.
-
Zwischen
den Vollbildern F0 und F1 und zwischen den Vollbildern F1 und F2
sind nämlich
Abstandsbereiche vorgesehen, deren Adressen entsprechend durch 12FC0h–12FFFh
und 25FC0h–25FFFh
angedeutet sind. Bereiche, welche die Adresse 39000h und Adressen,
die darauf folgen, haben, werden als Codepuffer verwendet.
-
Die
Adresserzeugungsschaltung 52, welche der zweiten Adresserfassung
entspricht, weist, wie beispielsweise in 13 gezeigt ist, anstelle des oben beschriebenen
Multiplizierers 102, der in 11 gezeigt
ist, den Multiplizierer 109 auf, um einen Multiplikationsbetrieb
mit der Vollbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 und
einem festen Wert 13000h von 17 Bits durchzuführen, wo die unteren 12 Bits
jeweils "0" sind.
-
Der
Multiplizierer 109 erzeugt entsprechende Anfangsadressen
der Vollbilder F0–F2
als 00000h, 13000h, 26000h (18 Bits, wo die unteren 12 Bits aus "0" bestehen), um Abstandsbereiche zwischen
den Vollbildern bereitzustellen, wie in 12 gezeigt ist, die oben erwähnt wurde,
um diese Adressen zum Addierer 104 zu liefern. Als Ergebnis
erzeugt der Addierer 108 entsprechende Adressen, die in 12 gezeigt sind, die oben
erwähnt
wurden, um diese Adressen zum Vollbildspeicher 46 zu liefern.
-
Da
es nämlich
ausreichend ist, dass der Multiplizierer 109 einen Betrieb
mit höherwertigeren
5 Bits durchführt,
deren Werte nicht "0" sind, kann der Schaltungsaufwand
des Multiplizierers 109 stärker im Vergleich zum oben
beschriebenen Multiplizierer 102, der in 11 gezeigt ist, reduziert werden. Anders
ausgedrückt
erlaubt die Verwendung dieser Adresserzeugungsschaltung 52,
dass der Schaltungsaufwand zusätzlich
zu den Effekten/Vorteilen der oben beschriebenen ersten Adresserfassung stark
reduziert werden kann.
-
Die
dritte Adresserfassung teilt Adressen vom Vollbildspeicher 46 in
der Reihenfolge "Luminanzdaten
Y und Farbdifferenzdaten C des Teilbilds f0 des Vollbilds F0 zu,
Luminanzdaten Y und Farbdifferenzdaten C des Teilbilds F0 des Vollbilds
F1, Luminanzdaten Y und Farbdifferenzdaten C des Teilbilds f0 des
Vollbilds F2, Luminanzdaten Y und Farbdifferenzdaten C des Teilbilds
f1 des Vollbilds F0, Luminanzdaten Y und Farbdifferenzdaten C des
Teilbilds f1 des Vollbilds F1 und Luminanzdaten Y und Farbdifferenzdaten
C des Teilbilds f1 des Vollbilds F2" zu.
-
Tatsächlich wird,
wie in 14 beispielsweise
gezeigt ist, bewirkt, dass entsprechende Anfangsadressen von Luminanzdaten
Y und Farbdifferenzdaten C des Teilbilds f0 des Vollbilds F0, von
Luminanzdaten Y und von Farbdifferenzdaten C des Teilbilds f0 des
Vollbilds F1, von Luminanzdaten Y und von Farbdifferenzdaten C des
Teilbilds f0 des Vollbilds F2, von Luminanzdaten Y und von Farbdifferenzdaten
C des Teilbilds f1 des Vollbilds F0, von Luminanzdaten Y und Farbdifferenzdaten
C des Teilbilds f1 des Vollbilds F1 und von Luminanzdaten Y und
Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F2 entsprechend
00000h, 0654h, 097E0h, 0FD20h, 12FC0h, 19500h, 20000h, 26540h, 297E0h,
2FD20h, 32FC0h und 39500h sind, wodurch die Vollbildpuffer 46a–46c gebildet
werden. Außerdem
werden Bereiche, welche Adressen 1C7A0h–1FFFFh und 3C7A0h haben, und
Adressen, welche darauf folgen, als Codepuffer verwendet.
-
Die
Adresserzeugungsschaltung 52, welche der dritten Adresserfassung
entspricht, hat eine Struktur, wie in 15 beispielsweise
gezeigt ist, so dass die oben beschriebenen Multiplizierer 105 – Addierer 108,
die in 11 gezeigt sind,
weggelassen sind, und dass der Multiplizierer 110 zum Multiplizieren
des Ausgangssignals des Multiplizierers 101 mit 1/2, um
den multiplizierten. Wert zu den Multiplizierern 102, 103 zu
liefern, vorgesehen ist, und dass die Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 dem
Ausgangssignal des Addierers 104 als hochwertigstes Bit
(MSB) hinzugefügt
wird.
-
Der
Multiplizierer 110 multipliziert das Ausgangssignal des
Multiplizierers 101, d. h., die Anzahl der Wörter je
Vollbild der Luminanzdaten Y mit ½, um die Anzahl von Wörtern für jedes
Teilbild der Luminanzdaten Y zu 295920, d. h., 06540h (15 Bits)
zu berechnen, um den berechneten Wert zu den Multiplizierern 102, 103 zu
liefern. Als Folge davon erzeugt die Adresserzeugungsschaltung 52 Adressen,
wo die Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 dem
Ausgangssignal des Addierers 104 als hochwertigstes Bit
(MSB) hinzugefügt
wird, d. h., entsprechende Adressen, die in 14 gezeigt sind, die oben erläutert wurde,
um diese Adressen zum Vollbildspeicher 46 zu liefern.
-
Da
diese Adresserzeugungsschaltung 52 nicht den Betrieb unter
Verwendung der Teilbildnummer durchführt, ist es möglich, Bits
zu Bestimmung des Teilbilds abzutrennen.
-
Die
vierte Adresserfassung teilt Adressen des Vollbildspeichers 46 in
der Reihenfolge "Luminanzdaten
Y und Farbdifferenzdaten C des Teilbilds f0 des Vollbilds F0, Luminanzdaten
Y und Farbdifferenzdaten C des Teilbilds f0 des Vollbilds F1, Luminanzdaten
Y und von Farbdifferenzdaten C des Teilbilds f0 des Vollbilds F2,
Luminanzdaten Y und Farbdifferenzdaten C des Teilsbilds f1 des Vollbilds
F0, Luminanzdaten Y und Farbdifferenzdaten C des Teilbilds f1 des
Vollbilds F1 und Luminanzdaten Y und Farbdifferenzdaten C des Teilbilds
f1 des Vollbilds F2" zu
und schafft Abstandsbereiche zwischen Teilbildern.
-
Tatsächlich wird,
wie in 16 beispielsweise
gezeigt ist, veranlasst, dass entsprechende Anfangsadressen von
Luminanzdaten Y und von Farbdifferenzdaten C des Teilbilds f0 des
Vollbilds F0, von Luminanzdaten Y und von Farbdifferenzdaten C des Teilbilds
f0 des Vollbilds F1, von Luminanzdaten Y und von Farbdifferenzdaten
C des Teilbilds f0 des Vollbilds F2, von Luminanzdaten Y und von
Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F0, von Luminanzdaten
Y und von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F1
und von Luminanzdaten Y und von Farbdifferenzdaten C des Teilbilds
f1 des Vollbilds F2 entsprechend 00000h, 06540h, 09800h, 0FD40h,
13000h, 19540h, 20000h, 26540h, 29800h, 2FD40h, 33000h und 39540h
sind, wodurch Vollbildpuffer 46a–46c gebildet werden.
-
Zwischen
Teilbildern sind nämlich
Abstandsbereiche, welche aus 097E0h–097FFh, 12FE0h–12FFFh,
297E0h–297FFh, 32FE0h–32FFFh
bestehen, vorgesehen. Bereiche, welche die Adressen 1C800h–1FFFFh
und 3C800h und Adressen, die darauf folgen, haben, werden als Codepuffer
verwendet.
-
Die
Adresserzeugungsschaltung 52, welche der vierten Adresserfassung
entspricht, umfasst, wie in 17 gezeigt
ist, anstelle des oben beschriebenen Multiplizierers 102,
der in 15 gezeigt ist,
den Multiplizierer 109 auf, um einen Multiplikationsbetrieb der
Vollbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 und
einem festen Wert 09800h von 16 Bits durchzuführen, wobei die unteren 11
Bits aus "0" bestehen.
-
Der
Multiplizierer 109 erzeugt Anfangsadressen von entsprechenden
Teilbildern f0 der Vollbilder F0–F2 als 00000h, 09800h, 13000h
(17 Bits, wobei die unteren 11 Bits aus "0" bestehen),
um Abstandsbereiche zwischen Teilbildern bereitzustellen, wie in 16 gezeigt ist, die oben
erläutert
wurde, um diese Adressen zum Addierer 104 zu liefern. Als
Folge davon erzeugt diese Adresserzeugungsschaltung 52 Adressen,
wobei die Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 dem
Ausgangssignal des Addierers 104 als höchstwertigstes Bit (MSB) hinzugefügt wird,
d. h., entsprechende Adressen, die in 16 gezeigt
sind, die oben erwähnt
wurden, um diese Adressen zum Vollbildspeicher 46 zu liefern.
-
Somit
ist es in dieser Adresserzeugungsschaltung 52 möglich, Bits
zum Bestimmen des Teilbilds abzutrennen. Da außerdem es ausreichend ist, einen
Betrieb mit den höherwertigeren
fünf Bits,
deren Werte nicht "0" sind, im Multiplizierer 109 durchzuführen, kann
der Schaltungsaufwand des Multiplizierers 109 im Vergleich
zum Multiplizierer 102 zu einem höheren Grad reduziert werden.
-
Die
fünfte
Adresserfassung teilt Adressen des Vollbildspeichers 46 in
der Reihenfolge "Luminanzdaten
Y des Vollbilds F0, Luminanzdaten Y des Vollbilds F1, Luminanzdaten
Y des Vollbilds F2, Farbdifferenzdaten C des Vollbilds F0, Farbdifferenzdaten C
des Vollbilds F1 und Farbdifferenzdaten C des Vollbilds F2" zu.
-
Tatsächlich wird,
wie in 18 beispielsweise
gezeigt ist, veranlasst, dass die entsprechenden Anfangsadressen
von Luminanzdaten Y des Vollbilds F0, von Luminanzdaten Y des Vollbilds
F1, von Luminanzdaten Y des Vollbilds F2, von Farbdifferenzdaten
C des Vollbilds F0, von Farbdifferenzdaten C des Vollbilds F1 und
von Farbdifferenzdaten C des Vollbilds F2 entsprechend 00000h, 0CA80h,
19500h, 25F80h, 2C4C0h und 32A00h sind, wodurch die Vollbildpuffer 46a–46c gebildet
werden. Zusätzlich
werden Bereiche, welche die Adresse von 38F40h und Adressen haben,
die darauf folgen, als Codepuffer verwendet.
-
Die
Adresserzeugungsschaltung 52, welche der fünften Adresserfassung
entspricht, weist, wie beispielsweise in 19 gezeigt ist, anstelle der oben beschriebenen
Multiplizierer 102, 103, welche in 11 gezeigt sind, den Multiplizierer 111 auf,
um einen Multiplikationsbetrieb mit der Vollbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 und
dem Ausgangssignal des Multiplizierers 101 durchzuführen, und
den Multiplizierer 112 auf, um einen Multiplikationsbetrieb
des Chroma-Signals von der Vollbildspeicher-Steuerungsschaltung 51 und dem
Ausgangssignal des Multiplizierers 101 durchzuführen, um
dasselbe mit 3 zu multiplizieren.
-
Der
Multiplizierer 111 führt
einen Multiplikationsbetrieb der Vollbildnummer, die von der Vollbildspeicher-Steuerungsschaltung 51 geliefert
wird, und dem Ausgangssignal des Multiplizierers 101 durch, um
dadurch entsprechende Anfangsadressen der Vollbilder F0–F2, welche
lediglich aus Luminanzdaten Y bestehen, als 00000h, 0CA80h, 19500h
zu erzeugen, um diese Adressen zum Addierer 104 zu liefern.
Dagegen multipliziert der Multiplizierer 112 das Ausgangssignal
des Multiplizierers 101 mit 3, um dadurch die Anfangsadresse
der Farbdifferenzdaten C des Vollbilds F0 als 25F80h zu erzeugen,
wie in 18 gezeigt ist,
wie oben erläutert
wurde, um diese Adresse zum Addierer 104 zu liefern. Als
Folge davon erzeugt der Addierer 108 entsprechende Adressen,
die in 18 gezeigt sind,
die oben erwähnt
wurde, um diese Adressen zum Vollbildspeicher 46 zu liefern.
-
Die
sechste Adresserfassung teilt Adressen des Vollbildspeichers 46 in
der Reihenfolge "Luminanzdaten
Y des Vollbilds F0, Luminanzdaten Y des Vollbilds F1, Luminanzdaten
Y des Vollbilds F2, Farbdifferenzdaten C des Vollbilds F0, Farbdifferenzdaten C
des Vollbilds F1 und Farbdifferenzdaten C des Vollbilds F2" zu und stellt Abstandsbereiche
zwischen Luminanzdaten Y und Farbdifferenzdaten C bereit.
-
Tatsächlich wird,
wie in 20 gezeigt ist, veranlasst,
dass beispielsweise die entsprechenden Anfangsadressen von Luminanzdaten
Y des Vollbilds F0, von Luminanzdaten Y des Vollbilds F1, von Luminanzdater
Y des Vollbilds F2, von Farbdifferenzdaten C des Vollbilds F0, von
Farbdifferenzdaten C des Vollbilds F1 und von Farbdifferenzdaten
C des Vollbilds F2 entsprechend 00000h, 0CA80h, 19500h, 26000h,
2C540h, 32A80h sind, wodurch Vollbildpuffer 46a–46c gebildet
werden.
-
Abstandsbereiche,
welche aus 25F90h–25FFFh
bestehen, sind nämlich
zwischen Luminanzdaten Y und Farbdifferenzdaten C vorgesehen. Außerdem werden
Bereiche, welche die Adresse 39000h und Adressen haben, die darauf
folgen, als Codepuffer verwendet.
-
Tatsächlich wird
veranlasst, dass, wie beispielsweise in 22 gezeigt ist, die entsprechenden Anfangsadressen
von Luminanzdaten Y des Teilbilds f0 des Vollbilds F0, von Luminanzdaten
Y des Teilbilds f0 des Vollbilds F1, von Luminanzdaten Y des Teilbilds
f0 des Vollbilds F2, von Luminanzdaten Y des Teilbilds f1 des Vollbilds
F0, von Luminanzdaten Y des Teilbilds f1 des Vollbilds F1, von Luminanzdaten
Y des Teilbilds f1 des Vollbilds F2, von Farbdifferenzdaten C des
Teilbilds f0 des Vollbilds F0, von Farbdifferenzdaten C des Teilbilds
f0 des Vollbilds F1, von Farbdifferenzdaten C des Teilbilds f0 des
Vollbilds F2, von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds
F0, von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F1 und
von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F2 entsprechend
00000h 06540h, 0CA80h, 12FC0h, 16260h, 19500h, 20000h, 26540h, 2CA80h,
32FC0h, 36260h und 39500h sind, wodurch Vollbildpuffer 46a–46c gebildet
werden. Außerdem
werden Bereiche, welche die Adressen 1C7A0h–1FFFFh und 3C7A0h und die Adressen
haben, die darauf folgen, als Codepuffer verwendet.
-
Die
Adresserzeugungsschaltung 52, welche der siebten Adresserfassung
entspricht, hat einen Aufbau, wie beispielsweise in 23 gezeigt ist, so dass der oben beschriebene
Multiplizierer 105 bis zum Addierer 108, die in 19 gezeigt sind, weggelassen
sind, und ein Multiplizierer 110, um das Ausgangssignal
des Multiplizierers 101 mit ½ zu multiplizieren, vorgesehen
ist, um den multiplizierten Wert zu den Multiplizierern 111, 112 zu
liefern, und dass die Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 dem
Ausgangssignal des Multiplizierers 104 als hochwertigstes
Bit (MSB) hinzugefügt wird.
-
Der
Multiplizierer 110 multipliziert das Ausgangssignal des
Multiplizierers 101, d. h., die Anzahl von Wörtern je
Vollbild der Luminanzdaten Y mit 1/2, um dadurch die Anzahl von
Wörtern
für jedes
Teilbild von Luminanzdaten Y zu 06540h (15 Bits) zu berechnen, um
den berechneten Wert zu den Multiplizierern 111, 112 zu
liefern. Als Ergebnis erzeugt diese Adresserzeugungsschaltung 52 Adressen,
wo die Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 dem
Ausgangssignal des Addierers 104 als hochwertigstes Bit
(MSB) hinzugefügt
ist, d. h., entsprechende Adressen, welche in der 22, die oben erläutert wurde, gezeigt sind,
um die Adressen zum Vollbildspeicher 46 zu liefern.
-
Damit
kann diese Adresserzeugungsschaltung 52 Bits zur Bestimmung
des Teilbilds abtrennen.
-
Die
achte Adresserfassung teilt Adressen des Vollbildspeichers 46 in
der Reihenfolge "Luminanzdaten
Y des Teilbilds f0 des Vollbilds F0, Luminanzdaten Y des Teilbilds
f0 des Vollbilds F1, Luminanzdaten Y des Teilbilds f0 des Vollbilds
F2, Luminanzdaten Y des Teilbilds f1 des Vollbilds F0, Luminanzdaten
Y des Teilbilds f1 des Vollbilds F1, Luminanzdaten Y des Teilbilds
f1 des Vollbilds F2, Farbdifferenzdaten C des Teilbilds f0 des Vollbilds
F0, Farbdifferenzdaten C des Teilbilds f0 des Vollbilds F1, Farbdifferenzdaten
C des Teilbilds f0 des Vollbilds F2, Farbdifferenzdaten C des Teilbilds
f1 des Vollbilds F0, Farbdifferenzdaten C des Teilbilds f1 des Vollbilds
F1 und Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F2" zu, und liefert
Abstandsbereiche zwischen Luminanzdaten Y und Farbdifferenzdaten C.
-
Tatsächlich wird,
wie in 24 beispielsweise
gezeigt ist, veranlasst, dass entsprechende Anfangsadressen von
Luminanzdaten Y des Teilbilds f0 des Vollbilds F0, von Luminanzdaten
Y des Teilbilds f0 des Vollbilds F1, von Luminanzdaten Y des Teilbilds
f0 des Vollbilds F2, von Luminanzdaten Y des Teilbilds f1 des Vollbilds
F0, von Luminanzdaten Y des Teilbilds f1 des Vollbilds F1, von Luminanzdaten Y
des Teilbilds f1 des Vollbilds F2, von Farbdifferenzdaten C des
Teilbilds f0 des Vollbilds F0, von Farbdifferenzdaten C des Teilbilds
f0 des Vollbilds F1, von Farbdifferenzdaten C des Teilbilds f0 des
Vollbilds F2, von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds
F0, von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F1 und
von Farbdifferenzdaten C des Teilbilds f1 des Vollbilds F2 entsprechend
00000h 06540h, 0CA80h, 13000h,162A0h, 19540h, 20000h, 26540h, 2CA80h,
33000h, 362A0h und 39540h sind, wodurch Vollbildpuffer 46a–46c gebildet
werden.
-
Abstandsbereiche,
welche aus 12FV0h–12FFFh,
32FC0h–32FFFh
bestehen, sind zwischen Luminanzdaten Y und Farbdifferenzdaten C
vorgesehen. Außerdem
werden die Bereiche, welche die Adressen 1C800h–1FFFFh und 3C800h und Adressen,
die darauf folgen, haben, als Codepuffer verwendet.
-
Die
Adresserzeugungsschaltung 52, die der achten Adresserfassung
entspricht, weist, wie beispielsweise in 25 gezeigt ist, den Multiplizierer 113 auf,
um einen Multiplikationsbetrieb des Chroma-Signals von Vollbildspeicher-Steuerungsschaltung 51 mit
einem festen Wert 13000h von 17 Bits auszuführen, wo die unteren 12 Bits
aus "0" bestehen, anstelle
des oben beschriebenen Multiplizierers 112, der in 23 gezeigt ist.
-
Der
Multiplizierer 113 erzeugt die Anfangsadresse der Farbdifferenzdaten
C des Teilbilds f0 des Vollbilds F0 als 13000h (17 Bits, wo die
unteren 12 Bits aus "0" bestehen), um Abstandsbereiche
zwischen Luminanzdaten Y und Farbdifferenzdaten C bereitzustellen,
wie in 24 gezeigt ist,
was oben erläutert
wurde, um diese Adressen zum Addierer 104 zu liefern. Als
Ergebnis erzeugt diese Adresserzeugungsschaltung 52 Adressen,
wo die Teilbildnummer von der Vollbildspeicher-Steuerungsschaltung 51 dem
Ausgangssignal des Addierers 104 hinzugefügt ist,
d. h., entsprechende Adressen, die in 24 gezeigt
sind, die oben erläutert
wurden, um diese Adressen zum Vollbildspeicher 46 zu liefern.
-
Damit
kann diese Adresserzeugungsschaltung 52 Bits zum Bestimmen
des Teilbilds abtrennen. Da es ausreichend ist, den Betrieb mit
den höherwertigeren
fünf Bits,
bei denen Werte nicht "0" sind, im Multiplizierer 113 durchzuführen, kann
außerdem
der Schaltungsaufwand des Multiplizierers 113 weiter im Vergleich
zum oben beschriebenen Multiplizierer 112, der in 23 gezeigt ist, reduziert
werden.
-
Die
Bewegtbild-Decodiervorrichtung nach einer Ausführungsform der vorliegenden
Erfindung umfasst einen Speicher, der eine Kapazität hat, der drei
Vollbildern entspricht, um reproduzierte Bilddaten des I-Bilds,
des P-Bilds und des B-Bilds zu speichern. Bilddaten des I-Bilds
oder des P-Bilds, welche in diesem Speicher gespeichert sind, werden
als Bilddaten des Vorhersagebilds zum Decodieren verwendet, und
Bilddaten werden von diesem Speicher in der Reihenfolge der Anzeige
gelesen und davon ausgegeben. Damit kann die Kapazität reduziert
werden und es können
außerdem
die Herstellungskosten im Vergleich zur der herkömmlichen Bewegtbild-Decodiervorrichtung
reduziert werden.
-
Bei
dieser Bewegtbild-Decodiervorrichtung wird eine Näherung angewendet,
um Bilddaten des laufenden Vollbilds vom Speicher zu einem Zeitpunkt,
der im Wesentlichen ein Teilbild vom Schreibstartpunkt der Bilddaten
des laufenden Vollbilds verzögert
ist, in den Speicher zu lesen und auszugeben, um zu ermöglichen,
dass der Schreibstartzeitpunkt zum Schreiben von Bilddaten des laufenden
Vollbilds in den Speicher der Zeitpunkt 8 horizontale Abtastperioden
nach dem Endzeitpunkt der vertikalen Austastung zwischen den ersten
und zweiten Teilbildern des früheren
Vollbilds ist, und um zu erlauben, dass der Endzeitpunkt des Schreibens
von Bilddaten des laufenden Vollbilds in den Speicher der Zeitpunkt
8 horizontale Abtastperioden vor dem Startzeitpunkt der vertikalen
Austastung zwischen den ersten und zweiten Teilbildern des laufenden
Vollbilds ist. Somit besteht nicht die Möglichkeit, dass der Betrieb
zum Schreiben von Bilddaten in den Speicher den Lesebetrieb von
Bilddaten aus dem Speicher überholt. Damit
ist es möglich,
ein Bewegtbild korrekt zu reproduzieren.
-
Außerdem führt diese
Bewegtbild-Decodiervorrichtung den oben beschriebenen Betrieb durch, wodurch
es ermöglicht
wird, einen Halbleiterspeicher, der eine Kapazität von 2 MB hat, zu verwenden.