-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Bilddatencodierverfahren zum
Codieren der Bilddaten mit hoher Effektivität, eine Vorrichtung zum Codieren
von Bilddaten und im besonderen ein Bilddatencodierverfahren zum
Teilen der Bilddaten in eine Vielzahl von Blöcken, um codierte Daten von
allen Bildern bezüglich
der jeweiligen Blöcke
zu erzeugen, die durch Teilen der Bilddaten erhalten wurden.
-
Beschreibung der verwandten
Technik
-
Auf
dem Gebiet von Televisionskonferenzen/Televisionstelefonen, wo farbige
Standbilder und farbige Bewegtbilder inbegriffen sind, werden Bilddaten
verwendet, deren Informationskapazität viel größer als bei typischen numerischen
Daten ist, und im besonderen erfordern die Daten der Zwischenstufe des
Bildes, oder die farbigen Bilddaten, eine Übertragung mit hoher Geschwindigkeit
und in großer
Menge. Deshalb ist es notwendig, die Codierung der Werte der jeweiligen
Bildelemente mit hoher Effektivität auszuführen.
-
Das
adaptive diskrete Cosinustransformationsverfahren ist als Beispiel
eines Bilddatencodierverfahrens mit hoher Effektivität bekannt.
-
Bei
diesem adaptiven diskreten Cosinustransformationsverfahren (abgekürzt: ADCT)
wird das Bild in eine Vielzahl von Blöcken geteilt, die zum Beispiel
8 × 8
Bildelemente umfassen, wird das Bildsignal von jeweiligen Blöcken (durch
die zweidimensionale diskrete Cosinustransformation in zweidimensionale
DCT-Koeffizienten, die den Verteilungen der Raumfrequenz entsprechen)
transformiert, wird der zweidimensionale DCT-Koeffizient innerhalb
eines Blocks, der durch die Transformation erhalten wird, unter
Verwendung eines Schwellenwertes, der für das Sehvermögen geeignet
ist, quantisiert, und dann wird der quantisierte Koeffizient unter
Verwendung einer Huffman-Tabelle, die statistisch erhalten wird,
codiert.
-
Die
herkömmliche
Codiervorrichtung für Standbilder
(statische Bilder) unter Verwendung der ADCT codiert die jeweiligen
Bilder separat, selbst wenn sich die jeweiligen Werte zwischen Bildern
auf Grund einer engen Beziehung zwischen ihnen nicht groß verändern, wie
zum Beispiel bei einem Bewegtbild, das als Gruppe von statischen
Bildern angesehen wird.
-
1 zeigt
ein Beispiel einer Struktur der herkömmlichen Codiervorrichtung
für ein
statisches Bild.
-
Ein
statisches Bild wird in eine Vielzahl von Blöcken geteilt, die zum Beispiel
8 × 8
Bildelemente umfassen, und von dem Eingangsanschluß 11 aus eingegeben,
und die jeweiligen Bildsignale werden in der dem Blockpuffer 12 eingegebenen
Reihenfolge sequentiell wiederhergestellt.
-
Die
Einheit für
die zweidimensionale DCT 13 liest die jeweiligen Bildsignale
von dem Blockpuffer 12, indem sie das Bildsignal, das einer
Vielzahl von Bildelementen in jeweiligen Blöcken entspricht, in den zweidimensionalen
DCT-Koeffizienten, der der Raumfrequenz entspricht, in derselben
Anzahl wie die Vielzahl von Bildelementen unter Verwendung der zweidimensionalen
diskreten Cosinustransformation transformiert.
-
Eine
Einheit für
die lineare Quantisierung 14 quantisiert den zweidimensionalen
DCT-Koeffizienten (Matrix) von jeweiligen Blöcken unter Verwendung des Quantisierungsschwellenwertes
(Quantisierungsmatrix), der für
das Sehvermögen
geeignet ist und durch visuelles Experimentieren erhalten wird.
Die Einheit für
die lineare Quantisierung 14 liest den Quantisierungsschwellenwert
aus einer Quantisierungsschwelleneinheit 15.
-
Eine
Einheit zum Codieren mit variabler Länge 16 führt eine
Codierung mit variabler Länge
des Quantisierungskoeffizienten, der durch die Einheit für die lineare
Quantisierung 14 erhalten wird, unter Verwendung der Huffman-Codiertabelle 17 aus,
die statistisch erhalten wird, und gibt von dem Ausgangsanschluß 18 die
codierten Daten aus, die durch das Verfahren zum Codieren mit variabler
Länge erhalten wurden.
-
Bei
dem Verfahren zum Codieren mit variabler Länge wird der Quantisierungskoeffizient
(Matrix), der auf zweidimensionale Weise angeordnet ist, in eine
eindimensionale Folge von numerischen Werten unter Verwendung einer
Scanoperation konvertiert, die als Zickzackscannen bezeichnet wird,
und eine Codierung mit variabler Länge auf der Basis der Differenz
zwischen dem DCT-Kopfkoeffizienten eines Blocks und dem DCT-Kopfkoeffizienten
des vorhergehenden Blocks bezüglich
der DAC-Komponenten ausgeführt.
Der Wert der gültigen
Koeffizienten, deren Wert nicht Null ist, wird mit der Lauflänge (Lauflänge des
ungültigen
Koeffizienten, dessen Wert Null ist) kombiniert, wodurch die Codierung
mit variabler Länge
auf jeweilige Blöcke
angewendet wird.
-
2 zeigt
eine Struktur einer herkömmlichen
Wiederherstellungsvorrichtung des statischen Bildes zum Wiederherstellen
von Daten, die durch die obengenannte Codierung mit variabler Länge codiert
wurden, als Bilder.
-
Die
Daten, die durch die Codiervorrichtung für das statische Bild codiert
wurden, werden von dem Eingangsanschluß 21 aus einer Wiederherstellungseinheit
für variable
Länge 22 in
Einheiten von Blöcken
eingegeben.
-
Die
Wiederherstellungseinheit für
variable Länge 22 stellt
den Quantisierungskoeffizienten der DC-Komponente und der AC-Komponenten
in den jeweiligen Blöcken
unter Verwendung der Huffman-Codiertabelle 17 (Huffman-Decodiertabelle 27) wieder
her, die bei der obigen Codierung mit variabler Länge verwendet
wird.
-
Eine
Dequantisierungseinheit 23 konvertiert den decodierten
Quantisierungskoeffizienten der jeweiligen DC-Komponente und AC-Komponente
in die zweidimensionalen DCT-Koeffizienten unter Verwendung eines
Quantisierungsschwellenwertes 29 (quantisierte Matrix).
-
Eine
Transformationseinheit für
die inverse DCT 24 führt
die zweidimensionale DCT-Transformation unter Verwendung des zweidimensionalen DC-Koeffizienten
der jeweiligen Blöcke
aus, die decodiert und als Bildelemente wiederhergestellt werden.
-
Das
Bildsignal von jeweiligen wiederhergestellten Bildelementblöcken wird
innerhalb des Bildspeichers 25 in Einheiten von Blöcken gespeichert.
-
Eine
Operation des Bildsignals von jeweiligen Bildelementen in Bildblöcken für den Bildspeicher 25 wird
durch eine Intrablockbildelementschreibsteuereinheit 26 gesteuert.
Diese steuert die Blockadressenerzeugungseinheit 28 und
ermöglicht es,
eine Adresse eines Blocks auszugeben, unter der das Bildsignal in
den Bildspeicher 25 zu schreiben ist, und führt eine
Schreiboperation des Bildsignals von jeweiligen Bildelementen des
gegenwärtigen
Rahmens in den Bildspeicher 25 in Einheiten von Blöcken aus.
-
Es
gibt ein Verfahren zum Codieren eines Bewegtbildes, das Objekt einer
konsekutiven Szene ist, d. h., ein Televisionskonferenz- oder Televisionstelefonsystem.
Herkömmlicherweise
werden die jeweiligen Bilder den Verfahren zum Codieren der Bewegtbilder
unterzogen.
-
3 zeigt
ein Blockdiagramm eines Basisteils der Bewegtbildcodiervorrichtung
unter Verwendung eines Zwischenrahmenvorhersagecodierverfahrens
zum Nutzen einer Beziehung zwischen dem Bild in einem Referenzrahmen
und dem Bild in dem gegenwärtigen
Rahmen.
-
Das
Bild von jeweiligen Szenen des Bewegtbildes wird durch die Eingangsanschlußeinheit 31 einer
Differenzbilderzeugungseinheit 32 eingegeben.
-
Das
Referenzbild, das durch Wiederherstellen des Bildes in dem vorhergehenden
Rahmen erhalten wird, wird als Bild in dem Referenzrahmen verwendet.
-
Die
Differenzerzeugungseinheit 32 erhält das Differenzbild zwischen
den Referenzbildern, die in einem Bildspeicher 33 gespeichert
sind, und dem gegenwärtigen
Bild (dem Bild in dem gegenwärtigen Rahmen),
das von dem Eingangsanschluß 31 aus eingegeben
wird, und speichert das Differenzbild in einem Blockpuffer 34.
Das Differenzbild kann für
jeweilige Blöcke
erhalten werden, die zum Beispiel 8 × 8 Bildelemente umfassen.
Deshalb speichert der Blockpuffer 34 das Differenzbild,
d. h., das Differenzblockbild zwischen dem Block in dem Referenzrahmen
von zum Beispiel 8 × 8
Bildelementen und dem entsprechenden Block in dem gegenwärtigen Rahmen
von 8 × 8
Bildelementen hinsichtlich der Blöcke an derselben Position.
-
Bei
der zweidimensionalen DCT-Transformation 35 wird die zweidimensionale
DCT-Transformation auf das Differenzblockbild von 8 × 8 Bildelementen
angewendet, das in dem Blockpuffer 34 gespeichert ist,
werden die 8 × 8
DCT-Koeffizienten erhalten und dadurch an die Quantisierungseinheit 36 ausgegeben.
-
Die
Quantisierungseinheit 36 wendet eine lineare Quantisierung
auf 8 × 8
Koeffizienten unter Verwendung eines adäquaten Schwellenwertes an, der
für ein
Sehvermögen
geeignet ist, wodurch 8 × 8 quantisierte
Koeffizienten vorgesehen werden.
-
Die
8 × 8
Quantisierungskoeffizienten werden einem Zickzackscannen unterzogen
und an die Einheit zum Codieren mit variabler Länge 37 in der Reihenfolge
der DC-Komponente, der AC-Komponenten mit einer niedrigen Raumfrequenz
und der AC-Komponenten mit relativ hoher Raumfrequenz ausgegeben.
-
Die
variable Codiereinheit 37 führt eine Codierung mit variabler
Länge der
eingegebenen 8 × 8 quantisierten
Koeffizienten unter Verwendung der Huffman-Codiertabelle 38 aus
und gibt die Daten, die durch das Codieren mit variabler Länge codiert
wurden, von dem Rusgangsanschluß 40 aus.
-
Die
Matrix der 8 × 8
quantisierten Koeffizienten, die von der Quantisierungseinheit 36 ausgegeben
wird, wird der Dequantisierungseinheit 39 eingegeben, und
die Dequantisierungseinheit 39 stellt sie als Matrix der
zweidimensionalen DCT-Koeffizienten wieder her.
-
Die
Einheit 41 für
die inverse zweidimensionale DCT-Transformation
führt die
inverse zweidimensionale DCT-Transformation unter Verwendung der
8 × 8
zweidimensionalen Koeffizienten aus und stellt das obige Differenzblockbild
wieder her.
-
Die
Addiereinheit 42 addiert das wiederhergestellte Differenzblockbild
zu dem vorhergehenden Bild des Blocks an derselben Position in dem
Referenzbild wie an der Position in dem Bild des gegenwärtigen Blocks
und schreibt das Bild, das durch die Addition erhalten wird, für den Bildspeicher 33 wieder um.
-
Die
obenerwähnte
sequentielle Operation wird auf alle Blöcke des Bildes (des gegenwärtigen Bildes)
des neuen Rahmens angewendet, das von dem Eingangsanschluß 31 aus
eingegeben wird, wodurch es ermöglicht
wird, daß die
codierten Daten des Differenzbildes hinsichtlich aller Blöcke des
gegenwärtigen
Bildes von dem Ausgangsanschluß 40 ausgegeben werden
können.
Die Bilddaten des gegenwärtigen
Rahmens werden, wie oben erläutert, nicht
codiert wie sie sind, und ein Differenzbild zwischen dem Referenzbild
und dem gegenwärtigen Rahmen
wird codiert, wodurch die Codiermenge verringert wird. Dasselbe
Bild, so wie es gemäß dem Bild
des gegenwärtigen
Rahmen wiederhergestellt wird, das auf der Basis der codierten Daten
des Differenzbildes auf der Bildwiederherstellungsseite wiederhergestellt
wird, wird in dem Bildspeicher 33 als Referenzbild gespeichert,
das als Bild des Referenzrahmens zu verwenden ist, wenn das Bild
des folgenden Rahmens von dem Eingangsanschluß 31 aus eingegeben
wird.
-
4 zeigt
eine grundlegende Struktur einer herkömmlichen Wiederherstellungsvorrichtung
des Bewegtbildes zum Wiederherstellen des Bildes aus den codierten
Daten, die von der herkömmlichen
Codiervorrichtung für
das Bewegtbild ausgegeben werden.
-
Eine
Wiederherstellungseinheit für
variable Länge 52 nimmt
die codierten Daten, die durch Anwenden einer Codierung mit variabler
Länge auf
das Differenzbild erhalten werden, in Blockeinheiten von dem Eingangsanschluß 51 auf
und stellt die codierten Daten als Quantisierungskoeffizienten in
Einheiten von Blöcken
unter Verwendung der Huffman-Codiertabelle 58 wieder
her, die dieselbe wie die Huffman-Codiertabelle 38 in der herkömmlichen
Codiervorrichtung für
das Bewegtbild ist.
-
Die
Dequantisierungseinheit 53 führt eine Dequantisierung von
Quantisierungskoeffizienten von jeweiligen Blöcken aus, wobei dieselbe Matrix wie
bei der Dequantisierungseinheit 39 in der Codiervorrichtung
für das
Bewegtbild verwendet wird, und stellt die zweidimensionalen DCT-Koeffizienten
von jeweiligen Blöcken
wieder her.
-
Die
Einheit für
die inverse zweidimensionale DCT-Transformation 54 stellt
das Differenzbild von jeweiligen Blöcken durch Ausführen der
inversen zweidimensionalen DCT-Konvertierung in Einheiten von Blöcken unter
Verwendung der Matrizen der zweidimensionalen DCT-Koeffizienten
von jeweiligen Blöcken
wieder her.
-
Die
Addiereinheit 55 addiert das decodierte Differenzbild von
jeweiligen Blöcken
zu dem Bild in dem Block an derselben Position in dem Bildspeicher 56,
und das Bild, das durch diese Addieroperation erhalten wird, wird
in dem Bildspeicher 56 umgeschrieben.
-
Eine
Schreiboperation eines wiederhergestellten Bildes in den Bildspeicher 56 für jeweilige Blöcke wird
durch eine Intrablockbildelementschreibsteuereinheit 57 gesteuert.
Die Intrablockbildelementschreibsteuereinheit 57 steuert
eine Blockadressenerzeugungseinheit 59 und gibt eine Adresse des
besonderen Blocks, der in dem Bildspeicher gespeichert ist und zu
dem das Differenzbild hinzuaddiert wird, an den Bildspeicher 56 von
der Blockadressenerzeugungseinheit 59 aus, wodurch das
Wiederherstellungsbild von jeweiligen Rahmen in Einheiten von Blöcken in
den Bildspeicher 56 geschrieben wird.
-
Der
obige sequentielle Prozeß wird
auf die codierten. Daten des Differenzbildes von allen Blöcken von
jeweiligen Rahmen des Bildes angewendet, und somit speichert der
Bildspeicher 56 das Wiederherstellungsbild von jeweiligen
Rahmen.
-
Die
oben erläuterte
herkömmliche
Technologie ist jedoch mit den folgenden Problemen behaftet.
-
Bei
der herkömmlichen
Codiertechnologie des statischen Bildes werden selbst jeweilige
Bilder, die eine kleine Abweichung zwischen konsekutiven Bildern
aufweisen, unabhängig
codiert. Somit kann die herkömmliche
Codiertechnologie in einer kleinen Schaltung realisiert werden.
Selbst wenn die Abweichung zwischen den konsekutiven Bildern sehr
klein ist, wie etwa bei Bildern für eine Videokonferenz oder ein
Bildtelefon unter Verwendung einer feststehenden Kamera, kann das
Komprimierungsverhältnis
jedoch nicht erhöht
werden.
-
Wenn
die Codiertechnologie für
das Bewegtbild verwendet wird, wie sie in 3 gezeigt
ist, kann das Komprimierungsverhältnis
auf Grund des Differenzcodierverfahrens angehoben werden, aber dies erfordert
eine größere Vorrichtung.
In der herkömmlichen
Codiervorrichtung für
das Bewegtbild wird das Differenzbild zwischen dem gegenwärtigen Rahmen und
dem Referenzrahmen berechnet, und das Bild des Referenzrahmens,
das zum Erhalten des Differenzbildes zu verwenden ist, ist in dem
Bildspeicher 33 gespeichert. Die Codierung mit variabler
Länge für die obige
ADCT ist eine irreversible Codierung (Informationsverlustcodierung),
und somit wird der Fehler des Differenzbildes bezüglich des
ursprünglichen
Bildes groß,
wenn die Anzahl von Akkumulationen eine vorbestimmte Zahl überschreitet,
und daher wird die Qualität
des Bildes, das in dem Bildspeicher 33 gespeichert wird,
offensichtlich gemindert. Deshalb ist es erforderlich, das Bild
in einem Intrarahmenmodus in einer vorbestimmten Anzahl von Rahmenintervallen
aufzufrischen.
-
Bei
dem Intrarahmenmodus wird eine Codierung mit variabler Länge des
Eingangsbildes gemäß der ADCT
auf ähnliche
Weise wie bei der herkömmlichen
Codiervorrichtung für
das statische Bild ausgeführt.
-
Wenn
sich die Einheit für
die inverse zweidimensionale DCT-Transformation 54, die
in der herkömmlichen
Decodiervorrichtung des Bewegtbildes verwendet wird, von der Einheit
für die
inverse zweidimensionale DCT-Transformation 41, die in
der herkömmlichen
Codiervorrichtung für
das Bewegtbild verwendet wird, hinsichtlich einer Operation oder
eines Operationsverfahrens unterscheidet, werden die Fehler, die
bei Codieroperationen erzeugt werden, in den Bildspeichern 33 und 56 gespeichert
und akkumuliert, und das Rauschen, das durch die akkumulierten Fehler
erzeugt wird, wird offensichtlich. Deshalb sieht die CCITT-Empfehlung
H-261 vor, daß eine
Auffrischoperation wenigstens einmal unter Einsatz des obigen Intrarahmenmodus
während
der Periode von 132 Codieroperationen ausgeführt werden sollte, um das obige
Problem der akkumulierten Fehler zu lösen, die auf Grund einer Nichtübereinstimmung
zwischen der Einheit für
die inverse zweidimensionale DCT-Transformation 41 und 54 in
beiden Vorrichtungen erzeugt werden.
-
Bei
dem Intrarahmenmodus werden die Bilddaten aller Blöcke eines
Rahmens codiert wie sie sind, und die codierten Daten aller Blöcke eines
Rahmens werden zu der Empfangsseite übertragen. Der Rahmen, in dem
solch eine Codierung ausgeführt wird,
wird als Auffrischrahmen bezeichnet, und solch eine Codierung wird
Auffrischen genannt. Eine Codierungsmenge des Auffrischrahmens,
in dem die Bilddaten aller Blöcke
von einem Rahmen codiert werden wie sie sind, unterscheidet sich
außerordentlich
von der Codierungsmenge des gewöhnlichen Rahmens,
bei dem nur das Differenzbild codiert wird. Eine Codierungsmenge
des Auffrischrahmens ist nämlich
gewöhnlich
größer als
die der gewöhnlichen Rahmen.
-
Wenn
das Bild durch Ausführen
der Datenkomprimierung unter Verwendung solch eines hocheffektiven
Codierverfahrens, wie oben beschrieben, bei einer Televisionskonferenz
oder einem Televisionstelefon übertragen
wird, stellt der Empfänger
der codierten Daten bei Empfang der codierten Daten des Auffrischrahmens
deshalb den Rahmen nach Ablauf einer längeren Zeitperiode als bei
Empfang der codierten Daten eines gewöhnlichen Rahmens wieder her.
-
Dieser
Unterschied in der Empfangszeit führt natürlich dazu, daß ein Betrachter
des Bildes eine Verzögerung
wahrnimmt.
-
Wenn
das Bild mit zehn Rahmen pro Sekunde über ein ISDN (integriertes
Sprach- und Datennetz) mit der Übertragungsrate
von 64 KB/s übertragen
wird, die durch eine japanische Telekommunikations- und Telefongesellschaft
vorgesehen wird, sollte die Menge von codierten Daten eines Rahmens kleiner
als 6400 Bits sein.
-
Im
allgemeinen kann eine Menge von codierten Daten von einem Rahmen
im Fall des gewöhnlichen
Rahmens auf unter 6400 Bits komprimiert werden, aber die Menge der
codierten Daten von einem Rahmen im Fall des aufgefrischten Rahmens
liegt manchmal über
6400 Bits.
-
Wenn
eine Menge von codierten Daten pro Rahmen die maximale Menge von
codierten Daten (die in diesem Fall 6400 Bits beträgt) von
einem Rahmen überschreitet,
die einem Rahmen ursprünglich zugeordnet
ist, kann die Übertragungsverarbeitung des
Auffrischrahmens nicht innerhalb der Verarbeitungszeit vollendet
werden, die dem Auffrischrahmen zugeordnet ist, und sie erstreckt
sich in die Verarbeitungszeit des nächsten Rahmens hinein.
-
In
diesem Fall wird der Codierprozeß des nächsten Rahmens nicht ausgeführt, und
der Übertragungsprozeß des Auffrischrahmens
wird ausgeführt.
Als Resultat wird der Rahmen, der nicht dem Codierprozeß unterzogen
wird, nicht zu der Empfangsseite übertragen, und bei der Anzeige
auf dem Bildschirm auf der Empfangsseite fehlt ein Rahmen.
-
Dieses
Beispiel ist in 5 gezeigt.
-
In 5 ist
der dritte Rahmen ein Auffrischrahmen, und die Menge der codierten
Daten des Auffrischrahmens überschreitet
6400 Bits. Deshalb wird das Bild des dritten Rahmens zu der Zeit
T3 nicht wiederhergestellt, wenn das Bild des dritten Rahmens auf
dem Bildschirm auf der Empfangsseite wiederhergestellt werden sollte.
Ein Bild des dritten Rahmens wird zu der Zeit T4 wiederhergestellt,
zu der das Bild des vierten Rahmens wiederhergestellt werden sollte.
Somit wird das Bild der Rahmen, die dem vierten Rahmen folgen, mit
einer Verzögerung von
einem Rahmen wiederhergestellt.
-
Beim Übertragen
des Bewegtbildes haben die Codierungsseite und die Decodierungsseite
Codepuffer.
-
Diese
Codepuffer sind jeweilig in einer nachfolgenden Stufe der Einheit
zum Codieren mit variabler Länge 37 und
in einer vorhergehenden Stufe der Decodiereinheit für variable
Länge 52 vorgesehen, wie
in den 3 und 4 gezeigt.
Diese Codepuffer haben die Daten zu speichern, wenn die Auffrischoperation
ausgeführt
wird, und somit hängt
die Kapazität
dieser Codepuffer von der maximalen Menge der Daten von einem Rahmen
ab, nämlich
von der Datenmenge, die für
die Auffrischoperation erforderlich ist. Daher trägt die Verringerung
der Kapazität dieser
Codepuffer außerordentlich
zu einer Realisierung einer kleinen Größe und einer preiswerten Codier-
und Decodiervorrichtung bei.
-
Wenn
die Auffrischoperation ausgeführt
wird, werden die Bilddaten aller Blöcke des Auffrischrahmens codiert,
ohne irgendeiner Verarbeitung unterzogen zu werden, wie es oben
erwähnt
wurde, und somit ist die Menge der codierten Daten in dem Auffrischrahmen
größer als
die in dem gewöhnlichen Rahmen,
bei dem nur das Differenzbild aktualisiert wird. Deshalb besteht
das Problem, daß eine
Zeit, die mit dem Aktualisieren des Referenzrahmens beim Ausführen der
Auffrischoperation verbracht wird, länger als die zum Aktualisieren
des Referenzrahmens beim Codieren des gewöhnlichen Rahmens wird.
-
Die
Abweichung zwischen zwei konsekutiven Rahmen bei dem Bewegtbild
hängt von
der Art des Bildes ab. Beim Ausführen
der Auffrischoperation wird deshalb die Menge der Daten bei einem
Bild mit einer großen
Bewegung vergrößert, und
somit kann die Auffrischoperation manchmal verschiedene Bedingungen
der Übertragungsleitung
wie etwa eine Informationsübertragungsrate
und die Anzahl von Rahmen, die pro Zeiteinheit übertragen werden, nicht erfüllen.
-
Es
besteht auch das Problem, daß das
Bild seltsam aussieht, so als ob es zu der Zeit der Auffrischoperation
flimmert, da eine große
Menge von Fehlern im Vergleich zu dem ursprünglichen Bild in den Bilddaten
des Referenzrahmens akkumuliert wurde, bevor die Auffrischoperation
auf den Referenzrahmen angewendet wird.
-
US-A-5
144 426 offenbart ein Codierverfahren und eine Codiervorrichtung,
die in einem Bewegungskompensationsvorhersage-Rahmenredundanzcodiersystem
zum Einsatz kommen. Wie bei der vorliegenden Erfindung wird ein
Videosignal als Folge von Rahmen vorgesehen, wobei Pixels innerhalb jedes
Rahmens in ein rechteckiges Array von Blöcken geteilt sind. Bewegungsvektoren
werden berechnet, indem ein gegenwärtiger Rahmen mit einem vorhergehenden
Rahmen (Referenzrahmen) verglichen wird, und verwendet, um zu bewerten,
ob eine Bewegungskompensationsvorhersage, die bezüglich eines
Blocks vorgenommen wird, effektiv oder ineffektiv ist. Die Intrarahmencodierung
wird für
einen Block verwendet, bei dem die Bewegungskompensationsvorhersage
effektiv ist (d. h., die Bewegungskompensation soll unter Verwendung
des Bewegungsvektors erfolgen soll), und sonst wird die Rahmenredundanzcodierung
verwendet (die Bewegungskompensation sollte nicht erfolgen). Ferner kann
bei Bedarf ein Auffrischrahmen eingefügt werden, indem die Intrarahmencodierung
für alle
Blöcke selektiert
wird. Diese Offenbarung betrifft im besonderen eine Quantisierungsstufengröße, die
verwendet wird, um Vorhersagefehler zu verarbeiten, betrifft aber
nicht die Codiergeschwindigkeit, wenn eine Auffrischoperation ausgeführt wird.
-
Zusammenfassung der Erfindung
-
Es
ist eine Aufgabe der vorliegenden Erfindung, den Auffrischrahmen
anzuzeigen, der eine große
Menge von codierten Daten hat, indem ein kleiner Codepuffer verwendet
wird, so daß der
Betrachter auch bei dem Auffrischrahmen keine Verzögerungszeit
spürt.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist das Aktualisieren des
Referenzrahmens mit hoher Geschwindigkeit, wenn die Auffrischoperation
ausgeführt
wird.
-
Ein
weiteres Ziel der vorliegenden Erfindung ist das übertragen
des Bildes auf optimale Weise gemäß verschiedenen Bedingungen,
wie etwa einer Informationsübertragungsrate
der Übertragungsleitung und
der Anzahl von Rahmen, die pro Zeiteinheit zu übertragen sind, hinsichtlich
jeweiliger Rahmen.
-
Noch
ein weiteres Ziel der vorliegenden Erfindung ist das Ermöglichen
der Auffrischoperation, so daß sie
ausgeführt
werden kann, ohne zu bewirken, daß der Auffrischrahmen seltsam
aussieht.
-
Im
allgemeinen sieht die vorliegende Erfindung ein Verfahren zum Codieren
der konsekutiven Bilddaten durch das Codieren eines Auffrischrahmens
vor, indem er in eine Vielzahl von Abschnitten geteilt wird.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist ein Codierverfahren
zum Codieren von kontinuierlichen Bilddaten vorgesehen, die als Folge
von Rahmen vorgesehen sind, die jeweils in eine Vielzahl von Blöcken geteilt
sind, das umfaßt:
einen
ersten Schritt zum Bestimmen der Existenz einer Veränderung
der Bilddaten innerhalb eines Blocks eines gegenwärtigen Rahmens
im Vergleich zu den Bilddaten des entsprechenden Blocks an derselben
Position in einem Referenzrahmen;
einen zweiten Schritt zum
Codieren nur von gültigen Blöcken des
gegenwärtigen
Rahmens, wobei ein gültiger
Block ein Block ist, bei dem die Existenz einer Veränderung
bei dem ersten Schritt bestimmt wurde, wenn der gegenwärtige Rahmen
kein Auffrischrahmen ist;
einen dritten Schritt zum Codieren
zunächst
von gültigen
Blöcken
des gegenwärtigen
Rahmens und dann, nach Vollendung des Codierens der gültigen Blöcke, zum
Codieren von ungültigen
Blöcken
des gegenwärtigen
Rahmens, wobei ein ungültiger
Block ein Block ist, bei dem die Existenz einer Veränderung bei
dem ersten Schritt nicht bestimmt wurde, wenn der gegenwärtige Rahmen
ein Auffrischrahmen ist;
einen vierten Schritt zum Aktualisieren
der entsprechenden Blöcke
in dem Referenzrahmen auf die Bilddaten der gültigen Blöcke in dem gegenwärtigen Rahmen
nach Vollendung des zweiten Schrittes; und
einen Schritt zum
Umschalten von Bilddaten des gegenwärtigen Rahmens auf die Bilddaten
des Referenzrahmens nach Vollendung des dritten Schrittes.
-
Wenn
ein Auffrischrahmen codiert wird, werden zuerst nur die gültigen Blöcke codiert,
die einen großen
Einfluß auf
das decodierte Bild haben, und dann werden nach Vollendung aller
gültigen
Blöcke alle
ungültigen
Blöcke
codiert. Deshalb ist es möglich,
den Auffrischrahmen auf natürlichere
Weise als bei der herkömmlichen
Technik zu decodieren, auch wenn die Menge der Codes in dem Auffrischrahmen umfangreich
ist, wodurch die Kapazität
sowohl auf der Codierseite als auch auf der Decodierseite verringert
wird.
-
Des
weiteren werden bei der vorliegenden Erfindung die Bilddaten des
gegenwärtigen
Rahmens auf die Bilddaten des Referenzrahmens umgeschaltet, wenn
das Codieren des Auffrischrahmens bei dem obigen dritten Schritt
vollendet ist, und somit kann der Referenzrahmen bei einer Auffrischoperation
mit hoher Geschwindigkeit aktualisiert werden.
-
Gemäß einem
zweiten Aspekt der Erfindung ist eine Bilddatencodiervorrichtung
zum Codieren von kontinuierlichen Bilddaten vorgesehen, die als Folge
von Rahmen vorgesehen sind, die jeweils in eine Vielzahl von Blöcken geteilt
sind, mit:
einem Referenzrahmenhaltemittel zum Halten der Bilddaten
eines Referenzrahmens;
einem Haltemittel eines gegenwärtigen Rahmens zum
Halten der Bilddaten eines gegenwärtigen Rahmens;
einem
Bestimmungsschwellenwerthaltemittel zum Halten eines Schwellenwertes,
der zum Bestimmen der Existenz einer Veränderung der Bilddaten innerhalb
eines Blocks des gegenwärtigen
Rahmens im Vergleich zu den Bilddaten des entsprechenden Blocks
an derselben Position in dem Referenzrahmen verwendet wird;
einem
Blockveränderungsbestimmungsmittel
zum Erhalten eines Veränderungsbetrages
der Bilddaten für
jeden Block des gegenwärtigen
Rahmens im Vergleich zu den Bilddaten des entsprechenden Blocks an
derselben Position in dem Referenzrahmen, die in dem Referenzrahmenhaltemittel
gehalten werden, und Verwenden des Schwellenwertes, um bei jedem Block
des gegenwärtigen
Rahmens auf der Basis des erhaltenen Veränderungsbetrages zu bestimmen,
ob er ein gültiger
oder ungültiger
Block ist;
einem Blockinformationshaltemittel zum Halten, als Blockinformationen,
der Resultate der Bestimmung bezüglich jedes
Blocks des gegenwärtigen
Rahmens, die durch das Blockveränderungsbestimmungsmittel
erhalten wurden; und
einem Codiermittel zum Codieren, auf der
Basis der Blockinformationen, der gültigen Blöcke des gegenwärtigen Rahmens,
die die Blöcke
sind, bei denen der Veränderungsbetrag
den Schwellenwert überschreitet,
wenn der gegenwärtige
Rahmen kein Auffrischrahmen ist, und zum Codieren aller Blöcke des gegenwärtigen Rahmens,
wenn der gegenwärtige Rahmen
ein Auffrischrahmen ist;
bei der das Referenzrahmenhaltemittel
die Bilddaten innerhalb eines Blocks des Referenzrahmens unter Verwendung
der entsprechenden Bilddaten des entsprechenden Blocks an derselben
Position in dem gegenwärtigen
Rahmen aktualisiert.
-
Kurze Beschreibung der
Zeichnungen
-
Lediglich
beispielhaft wird Bezug auf die beiliegenden Zeichnungen genommen,
in denen besonders die 30 bis 44 die
Erfindung betreffen und die übrigen
Figuren zum Verstehen der Erfindung hilfreich sind.
-
Zu
den Zeichnungen:
-
1 zeigt
ein Blockdiagramm einer Struktur einer herkömmlichen Codiervorrichtung
eines statischen Bildes;
-
2 zeigt
ein Blockdiagramm einer Struktur einer herkömmlichen Decodiervorrichtung
eines statischen Bildes;
-
3 zeigt
ein Blockdiagramm einer Struktur eines Grundkonzeptes einer herkömmlichen
Codiervorrichtung für
ein Bewegtbild;
-
4 zeigt
ein Blockdiagramm einer Struktur des grundlegenden Abschnittes einer
herkömmlichen
Decodiervorrichtung für
ein Bewegtbild;
-
5 zeigt
eine Ansicht zum Erläutern
eines Problems des herkömmlichen
Datencodierverfahrens;
-
6 zeigt
eine Ansicht zum Erläutern
eines ersten Bilddatencodierverfahrens;
-
7 zeigt
ein Flußdiagramm
zum Erläutern des
ersten Bilddatendecodierverfahrens;
-
8 zeigt
ein Blockdiagramm einer Schaltung einer ersten Bilddatencodiervorrichtung;
-
9A bis 9C zeigen
eine Blockabweichungsbestimmungseinheit;
-
10 zeigt ein Format von codierten Daten, die von
der ersten Bilddatencodiervorrichtung ausgegeben werden;
-
11 zeigt eine Schaltungsstruktur der ersten Bild
datenwiederherstellungseinheit zum Wiederherstellen der codierten
Daten, die durch die erste Bilddatencodiervorrichtung erzeugt wurden,
als Bilddaten;
-
12 zeigt ein Schaltungsblockdiagramm einer internen
Anordnung der oben beschriebenen Adressenberechnungseinheit;
-
13 zeigt ein schematisches Schaltungsblockdiagramm
zum Zeigen einer Gesamtanordnung einer zweiten Bilddatencodiervorrichtung;
-
14 zeigt ein Format von codierten Daten, die durch
einen Multiplexer ausgegeben werden, in der zweiten Bilddatencodiervorrichtung;
-
15 zeigt ein schematisches Schaltungsblockdiagramm
zum Zeigen einer Gesamtanordnung einer zweiten Bilddatendecodiervorrichtung;
-
16 zeigt ein schematisches Schaltungsblockdiagramm
zum Zeigen einer Gesamtanordnung einer dritten Bilddatencodiervorrichtung;
-
17 zeigt ein Schaltungsblockdiagramm einer Gesamtanordnung
einer dritten Bilddatendecodiervorrichtung;
-
18 ist ein Flußdiagramm, welches ein 2. Bilddatencodierverfahren
zeigt;
-
19 ist ein Blockdiagramm, das die Schaltungskonfiguration
einer 4. Bilddatencodiervorrichtung zeigt;
-
20 ist ein Blockdiagramm, das ein Beispiel der
Schaltungskonfiguration der Codiereinheit in der 4. Bilddatencodiervorrichtung
zeigt;
-
21A bis 21E zeigen
eine erläuternde
Ansicht einer praktischen Operation von 4. bis 7. Bilddatencodiervorrichtungen;
-
22A bis 22D zeigen
eine erläuternde
Ansicht einer Operation der 4. bis 7. Bilddatencodiervorrichtungen;
-
23A bis 23F zeigen
eine erläuternde
Ansicht einer anderen Operation der 4. bis 7. Bilddatencodiervorrichtungen;
-
24 zeigt ein Flußdiagramm, welches ein 3. Bilddatencodierverfahren
zeigt;
-
25 ist ein Blockdiagramm, das die Schaltungskonfiguration
einer 5. Bilddatencodiervorrichtung zeigt;
-
26 ist ein Flußdiagramm, welches ein 4. Bilddatencodierverfahren
zeigt;
-
27 ist ein Blockdiagramm, das die Schaltungskonfiguration
einer 6. Bilddatencodiervorrichtung zeigt;
-
28 ist ein Flußdiagramm, welches ein 5. Bilddatencodierverfahren
zeigt;
-
29 ist ein Blockdiagramm, das die Schaltungskonfiguration
einer 7. Bilddatencodiervorrichtung zeigt;
-
30 zeigt ein Blockdiagramm, das die Konfigurationen
von 8. und 9. Bilddatencodiervorrichtungen darstellt;
-
31 zeigt ein Blockdiagramm, das die Konfiguration
einer 10. Bilddatencodiervorrichtung darstellt;
-
32 zeigt ein Blockdiagramm, das die Konfiguration
einer 11. Bilddatencodiervorrichtung darstellt;
-
33 zeigt ein Blockdiagramm, das die Konfiguration
einer 12. Bilddatencodiervorrichtung darstellt;
-
34 zeigt ein Blockdiagramm, das die Konfiguration
einer 13. Bilddatencodiervorrichtung darstellt;
-
35 zeigt ein Blockdiagramm, das die Konfiguration
einer 14. Bilddatencodiervorrichtung darstellt;
-
36 zeigt ein Blockdiagramm, das einen Aspekt der
Bestimmungsschwellenausgabeeinheit in der 14. Bilddatencodiervorrichtung
darstellt;
-
37 zeigt ein Blockdiagramm, das einen anderen
Aspekt der oben beschriebenen Bestimmungsschwellenausgabeeinheit
in der 14. Bilddatencodiervorrichtung darstellt;
-
38 zeigt ein Flußdiagramm, welches ein 6. Bilddatencodierverfahren
darstellt;
-
39 zeigt eine erläuternde Ansicht zum Decodieren
eines Referenzrahmens, wenn das 6. Bilddatencodierverfahren verwendet
wird;
-
40 zeigt ein Blockdiagramm, das die Schaltungskonfiguration
einer 15. Bilddatencodiervorrichtung zum Codieren von Bilddaten
gemäß dem 6.
Bilddatencodierverfahren darstellt;
-
41 zeigt ein Blockdiagramm, das die Schaltungskonfiguration
einer 16. Bilddatencodiervorrichtung zum Codieren von Bilddaten
gemäß dem 6.
Bilddatencodierverfahren darstellt;
-
42 zeigt ein Beispiel einer Konfiguration der
Codiereinheit in der 15. und 16. Bilddatencodiervorrichtung;
-
43 zeigt ein Flußdiagramm, welches ein 7. Bilddatencodierverfahren
darstellt;
-
44 zeigt eine Schaltungskonfiguration einer 17.
Bilddatencodiervorrichtung zum Codieren von Bilddaten gemäß dem 7.
Bilddatencodierverfahren;
-
45 zeigt ein Flußdiagramm, das die wichtige
Operation eines 8. Bilddatencodierverfahrens darstellt;
-
46 zeigt ein Blockdiagramm, das den Hauptteil
der Schaltung einer 18. Bilddatencodiervorrichtung darstellt;
-
47 zeigt eine Konfiguration einer 19. Bilddatencodiervorrichtung
zum Codieren von Bilddaten in jedem Rahmen gemäß dem oben beschriebenen Verfahren
II;
-
48 zeigt eine Konfiguration einer 20. Bilddatencodiervorrichtung
zum Codieren von Bilddaten in jedem Rahmen gemäß dem oben beschriebenen Verfahren
III;
-
49 zeigt eine Konfiguration einer 21. Bilddatencodiervorrichtung
zum Codieren von Bilddaten in jedem Rahmen gemäß dem oben beschriebenen Verfahren
III;
-
50 zeigt ein Flußdiagramm, welches ein 9. Bilddatencodierverfahren
erläutert;
-
51 zeigt ein Blockdiagramm, das die Schaltungskonfiguration
der 22. Bilddatencodiervorrichtung zeigt;
-
52 zeigt ein Blockdiagramm, das eine andere Konfiguration
der 23. Bilddatencodiervorrichtung darstellt, die Bilddaten gemäß dem in
dem Flußdiagramm
angegebenen Verfahren codiert;
-
53 zeigt ein Flußdiagramm, welches ein 10.
Bilddatencodierverfahren darstellt;
-
54 zeigt ein Flußdiagramm, welches ein 11.
Bilddatencodierverfahren darstellt;
-
55 zeigt ein Flußdiagramm, welches ein 12.
Bilddatencodierverfahren darstellt;
-
56 zeigt ein Blockdiagramm, das die Konfiguration
einer 24. Bilddatencodiervorrichtung darstellt; und
-
57A bis 57C zeigen
verschiedene Konfigurationsbeispiele der Bestimmungsschwellenausgabeeinheit
in der 24. Bilddatencodiervorrichtung.
-
Neben
dem Beschreiben von Ausführungsformen
der vorliegenden Erfindung werden als Hintergrunderläuterung
andere Verfahren und Vorrichtungen zum Codieren oder Decodieren
von Bilddaten beschrieben.
-
6 zeigt
eine erläuternde
Ansicht eines ersten Bilddatencodierverfahrens. Das erste Bilddatencodierverfahren
teilt die Bilddaten von einem Rahmen, der m × n Bildelemente umfaßt, in eine
Vielzahl von Blöcken
(wobei m und n ganze Zahlen sind) und führt eine Codierung der Bildelemente
innerhalb dieser Blöcke
aus.
-
In 6 wird
ein Bildelement in dem ersten Block des gegenwärtigen Rahmens mit dem Bildelement
an derselben Position des ersten Blocks des vorherigen Rahmens verglichen,
wodurch bestimmt wird, ob der erste Block des gegenwärtigen Rahmens ein
gültiger
Block ist, in dem sich das Bild von jenem in dem ersten Block des
vorherigen Rahmens unterscheidet (S1, S2).
-
Die
Bestimmung bezüglich
dessen, ob der Block ein gültiger
Block ist, wird auf der Basis eines der folgenden Verfahren (1),
(2) und (3) ausgeführt.
- (1) Die Summe des Absolutwertes der Differenz zwischen
dem Wert (zum Beispiel dem Helligkeitsniveauwert) des Bildelementes
in dem gegenwärtigen
Rahmen und dem gegenwärtigen Rahmen
wird erhalten, und der Block mit dem Summenwert der entsprechenden
Bildelemente an derselben Position in dem vorherigen Rahmen, der
größer als
der vorbestimmte Schwellenwert ist, wird als "gültiger
Block" betrachtet.
Gemäß diesem
Verfahren (1) wird der gültige
Block auf der Basis der Gesamtsumme der Absolutwerte der Differenzen
zwischen den entsprechenden Bildelementen bestimmt, und somit kann
eine Abweichung des gesamten einen Blocks geprüft werden.
- (2) Die Absolutwerte der Differenz von allen Bildelementen werden
für jeweilige
Blöcke
des gegenwärtigen
Rahmens erhalten. Der Block, in dem der maximale Wert von Absolutwerten
der Differenz über
dem spezifizierten Wert liegt, kann als "gültiger
Block" betrachtet
werden. Bei diesem Verfahren (2) müssen nur die Absolutwerte der Differenz
detektiert werden, und somit wird der "gültige
Wert" mit einer
einfachen Schaltung und einer hohen Verarbeitungsrate bestimmt.
- (3) Die Gesamtsumme der Quadrate der Differenz zwischen dem
Wert des Bildelementes in dem Block in dem gegenwärtigen Rahmen
und dem Wert des entsprechenden Bildelementes in dem entsprechenden
Block an derselben Position in dem vorherigen Rahmen wird ermittelt,
und nur der Block, dessen Gesamtsumme den vorbestimmten Schwellenwert überschreitet,
wird als "gültiger Block" betrachtet. Bei
diesem Verfahren (3) beruht die Abweichung der Bildelemente auf der
Gesamtsumme der Quadrate der Differenz, und somit wird der Betrag
der Abweichung hervorgehoben. Deshalb kann die Abweichung innerhalb
eines Blocks unter dem Gesichtspunkt ihrer Wirkung auf einen Betrachter
mit Genauigkeit geprüft
werden.
-
Im
folgenden wird ein Block, der kein gültiger Block ist, in dem sich
nämlich
die Bilddaten bezüglich jener
des vorherigen Rahmens nicht verändern,
als ungültiger
Block bezeichnet.
-
Das
Resultat der Bestimmung des ersten Blocks wird als Blockinformationen
ausgegeben, die angeben, ob der Block ein gültiger Block ist (S3). Im Anschluß daran
wird auf der Basis des Bestimmungsresultates von Schritt S2 bestimmt,
ob sich die Bilddaten des ersten Blocks bezüglich des vorherigen Rahmens
verändern
(S4).
-
Wenn
sich die Bilddaten des gegenwärtigen Rahmens
bezüglich
jener des vorherigen Rahmens verändern,
werden die Bilddaten des ersten Blocks codiert (S5), wobei der erste
Block des gegenwärtigen
Rahmens als gültiger
Block bestimmt wird. Falls sich das Bild des ersten Blocks bezüglich jenes des vorherigen
Rahmens bei Schritt S4 nicht verändert, werden
die Bilddaten des Blocks nicht codiert.
-
Die
obigen Prozesse S1 bis S5 werden hinsichtlich aller Blöcke, die
dem ersten Block des gegenwärtigen
Rahmens folgen, wiederholt, die Blockinformationen, die den gültigen Block
oder den ungültigen
Block bezeichnen, für
alle Blöcke
des gegenwärtigen
Rahmens werden ausgegeben, und nur die Bilddaten der Blöcke, die
als gültiger
Block in dem gegenwärtigen
Rahmen bezeichnet wurden, werden codiert.
-
Wenn
bei den obigen Prozessen S1 bis S5 die Bestimmung erfolgt, daß sie hinsichtlich
aller Blöcke
des gegenwärtigen
Rahmens vollendet sind (S6 JA), ist das Codieren der Bilddaten des
gegenwärtigen
Rahmens vollendet.
-
Bei
Schritt S5 kann die Codierung unter Verwendung einer orthogonalen
Transformation wie etwa der ADCT ausgeführt werden. Durch Anwenden solch
einer orthogonalen Transformation kann das Ausmaß einer Schaltung des Codierers
klein sein, und das Komprimierungsverhältnis kann vergrößert werden.
Die Blockinformationen bei Schritt S3 können an die Informationshalteeinheit
in der Codiervorrichtung ausgegeben werden. Wenn das Codieren für alle Blöcke des
gegenwärtigen
Rahmens vollendet ist, können
die Blockinformationen aller Blöcke, die
in der Informationshalteeinheit gehalten werden, mit den codierten
Daten der gültigen
Blöcke
ausgegeben werden.
-
Wenn
die codierten Daten der gültigen
Blöcke
ausgegeben werden, wird die Anzahl des kontinuierlichen Auftretens
der ungültigen
Blöcke
bis zu dem nächsten
Auftreten eines gültigen
Blocks berechnet, und der berechnete Wert des kontinuierlichen Auftretens
der ungültigen
Blöcke
kann als Blockinformationen im Anschluß an die Codierdaten ausgegeben
werden, wodurch die Menge der Daten des Blocks in den Rahmeninformationen
verringert wird.
-
Die
Blockinformationen können
dadurch zur Ausgabe codiert werden, nachdem sie komprimiert worden
sind.
-
Wie
oben beschrieben, werden bei dem ersten Bilddatencodierverfahren
nur die Bilddaten des gültigen
Blocks, in dem sich die Bilddaten in dem Block in dem gegenwärtigen Rahmen
bezüglich
der entsprechenden Daten in dem entsprechenden Block in dem vorherigen
Rahmen verändern,
selektiert und codiert, und somit kann die Menge der codierten Daten
in dem Fall des Rahmens, der einen großen Hintergrundabschnitt enthält, in dem
sich das Bild nicht verändert,
außerordentlich
reduziert werden.
-
Da
die Existenz der Veränderung
der Bilddaten in dem Block in dem gegenwärtigen Rahmen bezüglich der
entsprechenden Bilddaten in dem vorherigen Rahmen als Blockinformationen
ausgegeben wird, kann die Bilddatenwiederherstellungsseite leicht
den Block bestimmen, in dem sich das Bild verändert, wodurch die Bilddaten
akkurat wiederhergestellt werden.
-
7 zeigt
ein Flußdiagramm
zum Erläutern des
ersten Bilddatendecodierverfahrens.
-
Bei
dem Decodierverfahren, das durch ein erstes Bilddatencodierverfahren
bezeichnet wird, werden die codierten Daten in Bilddaten decodiert. Gemäß diesem
Verfahren wird auf der Basis der Blockinformationen bei jedem von
jeweiligen Blöcken des
Rahmens, in dem das Bild wiederherzustellen ist, bestimmt, ob er
ein gültiger
Block ist (S11).
-
Wenn
der Block der gültige
Block ist, werden die codierten Daten des Blocks als Bilddaten wiederhergestellt
(S12). Die wiederhergestellten Bilddaten (wiederhergestelltes Blockbild)
werden in die vorbestimmte Blockadresse des Bildspeichers geschrieben
(S13). Dann wird die Schreibadresse des Bildspeichers auf die Adresse
des Blocks aktua lisiert, der als nächster der Wiederherstellung
unterzogen werden sollte (S14).
-
Bei
Schritt S11 wird, falls der Block als ungültiger Block bestimmt wird,
die Schreibadresse für
das Wiederherstellungsbild auf die Schreibadresse der Wiederherstellung
des nächsten
Blocks aktualisiert (S15). Die obigen Schritte (S11–S15) werden
in der vorbestimmten Folge hinsichtlich aller Blöcke des Wiederherstellungsrahmens
wiederholt, und wenn bestimmt wird, daß die Wiederherstellung der
Bilddaten für
alle Blöcke
vollendet ist (S16, JA), ist die Wiederherstellungsoperation der
Bilddaten aller Blöcke innerhalb
eines Rahmens vollendet.
-
Gemäß dem ersten
Bilddatendecodierverfahren werden nur die Bilddaten des gültigen Blocks auf
der Basis der eingegebenen Blockinformationen wiederhergestellt,
und nach der Wiederherstellung werden die Bilddaten der Blockadresse,
die dem gültigen
Block in dem Bildspeicher entspricht, auf die wiederhergestellten
Bilddaten aktualisiert. Bezüglich des
ungültigen
Blocks, dessen Bilddaten von denen des vorherigen Rahmens nicht
abweichen, wird die Wiederherstellung der Bilddaten nicht ausgeführt, und
es wird lediglich die Blockadresse des Bildspeichers aktualisiert.
Deshalb können
bei diesem Verfahren die Bilddaten von einem Rahmen mit hoher Effektivität und hoher
Geschwindigkeit wiederhergestellt werden.
-
8 zeigt
ein Blockdiagramm einer Schaltung einer ersten Bilddatencodiervorrichtung.
-
In 8 speichert
der Blockpuffer 610 sequentiell die Bilddaten von jeweiligen
Blöcken
des eingegebenen gegenwärtigen
Rahmens in Einheiten von Blöcken.
Der Bildpuffer 612 speichert die Bilddaten des Referenzrahmens,
die als Bilddaten des vorherigen Rahmens hinsichtlich der Bilddaten von
jeweiligen Rahmen zu verwenden sind, die sequentiell eingegeben
werden.
-
Eine
Abweichungsbetragsberechnungseinheit 614 vergleicht das
Bildelement in dem Block in dem gegenwärtigen Rahmen mit dem entsprechenden
Bildelement in den Blöcken
des Referenzrahmens, die in dem Bildpuffer 612 gespeichert
sind, und berechnet den Betrag der Abweichung des Wertes der Bildelemente
pro Block.
-
Die
Blockabweichungsbestimmungseinheit 616 vergleicht den Abweichungsbetrag
der Bildelemente von jeweiligen Blöcken, der eingegeben und durch
die Abweichungsberechnungseinheit 614 berechnet wurde,
mit dem hinreichenden Wert, der in der Schwellenwertspeichereinheit 616A gespeichert ist,
und bestimmt, ob sich das Bild von jeweiligen eingegebenen Blöcken bezüglich jenes
des Referenzrahmens verändert.
Wenn ein gültiger
Block vorhanden ist, dessen Bild sich bezüglich des Referenzrahmens verändert, gibt
die Blockabweichungsbestimmungseinheit 616 "1" aus, und wenn ein ungültiges Blockbild
vorhanden ist, das nicht von dem Referenzrahmen abweicht, erzeugt
sie "0" als Entscheidungsbestimmungssignal.
-
Der
Schalter 618 gibt die Bilddaten des gegenwärtigen Blocks,
der in dem Blockpuffer 610 gespeichert ist, an die Einheit
für die
zweidimensionale DCT-Transformation 620 und den Bildpuffer 612 gemäß dem Bestimmungsresultatssignal
aus, das von der Blockbestimmungseinheit 616 eingegeben
wird. Wenn nämlich
die Blockbestimmungseinheit 616 das Entscheidungsresultatssignal
erzeugt, das angibt, daß der
gegenwärtige
Block ein gültiger
Block ist, werden die Bilddaten des gegenwärtigen Blocks, die in dem Blockpuffer 610 gehalten
werden, an die Einheit für
die zweidimensionale DCT-Transformation 622 und den Bildpuffer 612 ausgegeben.
-
Der
Bildpuffer 612 schreibt die Bilddaten in dem Block, die
in dem Referenzrahmen enthalten sind und an derselben Position wie
jene des gegenwärtigen
Blocks vorgesehen sind, in die Daten in dem gegenwärtigen Rahmen
um.
-
Die
Blockinformationshalteeinheit 620 hält Abweichungsbestimmungsinformationen
aller Blöcke
des gegenwärtigen
Rahmens, die von der Blockabweichungsbestimmungseinheit 616 eingegeben werden,
nämlich "1" im Fall eines gültigen Blocks und "0" im Fall eines ungültigen Blocks.
-
Die
Einheit für
die zweidimensionale DCT-Transformation 622 führt eine
orthogonale Transformation der Bilddaten von jeweiligen Blöcken des
gegenwärtigen
Rahmens, die von dem Schalter 618 eingegeben werden, unter
Verwendung der zweidimensionalen diskreten Cosinustransformation aus,
wodurch die zweidimensionalen DCT-Koeffizienten mit der speziellen
Verteilung vorgesehen werden, wobei die Zahl der DCT gleich der
Koeffizientenanzahl der Bildelemente in dem Block ist, und der zweidimensionale
DCT-Koeffizient von jeweiligen Blöcken wird unter Verwendung
des Quantisierungsschwellenwertes quantisiert, der durch visuelles
Experimentieren erhalten wird und an das Sehvermögen angepaßt wird und in der Quantisierungsschwellenwerthalteeinheit 624a gehalten
wird.
-
Die
Einheit zum Codieren mit variabler Länge 626 codiert den
quantisierten Koeffizienten, der durch die Quantisierungseinheit 624 erhalten
wird, unter Verwendung der Huffman-Codetabelle, die in den Huffman-Codierdaten
gespeichert ist, die statistisch erhalten werden. Die codierten
Daten, die durch dieses variable Codierverfahren erhalten werden, werden
an die Halteeinheit für
codierte Daten 628 ausgegeben.
-
Bei
diesem variablen Codierverfahren wird der Quantisierungskoeffizient,
der auf zweidimensionale Weise angeordnet ist, in eine eindimensionale Folge
von Zahlen durch einen Scanprozeß konvertiert, der als Zickzackscannen
be zeichnet wird. Was die DC-Komponente betrifft, wird die Differenz
zwischen der DC-Komponente am Kopf des gegenwärtigen Blocks und jener des
Kopfes des vorherigen Blocks der Codierung mit variabler Länge unterzogen.
Was die AC-Komponente betrifft, wird der Wert des gültigen Koeffizienten
(dessen Wert nicht Null ist) mit der Länge des Laufes (Lauflänge) der
ungültigen Koeffizienten
kombiniert, deren Werte Null sind, die bis zu dem nächsten gültigen Koeffizienten
erhalten werden, wodurch sie einer Codierung mit variabler Länge für jeweilige
Blöcke
unterzogen werden. Die Halteeinheit für codierte Daten 628 speichert
einen Rahmen der codierten Daten des gegenwärtigen Rahmens, die von der
Einheit zum Codieren mit variabler Länge 626 eingegeben
werden.
-
Der
Multiplexer MPX 630 gibt die Blockinformationen des gegenwärtigen Rahmens,
die in der Blockinformationshalteeinheit 620 gehalten werden, selektiv
aus, und die codierten Daten aller Blöcke des gegenwärtigen Rahmens
werden in der Halteeinheit für
codierte Daten 628 gespeichert.
-
9A bis 9C zeigen
die Struktur der Blockabweichungsbestimmungseinheit 616.
-
9A zeigt ein Blockdiagramm einer Schaltungsstruktur
gemäß einer
Form der Blockabweichungsbestimmungseinheit 616. Die Berechnungseinheit
des variablen Absolutwertes 6120 berechnet den Absolutwert
der Abweichung des Bildelementwertes, der von der Abweichungsbetragsberechnungseinheit 614 eingegeben
wird und der auf der Basis des Bildwertes an derselben Position
wie an jener in dem Referenzrahmen bezüglich der jeweiligen Bildelemente
von jeweiligen Blöcken
bestimmt wird.
-
Die
Detektionseinheit des blockinternen Maximalwertes 6162 detektiert
den Maximalwert A des Absolutwertes von jeweiligen Blöcken aus
dem Absolutwert des Abweichungsbetra ges des Bildelementwertes von
jeweiligen Bildelementen von jeweiligen Blöcken, der von der Absolutwertberechnungseinheit 6160 eingegeben
wird.
-
Die
Schwellenhalteeinheit 616A speichert den Schwellenwert
T1 zum Bestimmen des ungültigen/gültigen Blocks
(Vorhandensein der Abweichung/Nichtvorhandensein der Abweichung)
in bezug auf jeweilige Blöcke
des gegenwärtigen
Rahmens.
-
Wenn
die Berechnung des Abweichungsbetrages des Bildelementwertes bezüglich aller
Bildelemente eines Blocks durch die Absolutwertberechnungseinheit 6120 vollendet
ist, vergleicht die Vergleichseinheit 6124 den maximalen
Abweichungswert A in dem Block, der durch die Detektionseinheit des
blockinternen Maximalwertes 6122 detektiert wird, mit dem
Schwellenwert T, der in der Schwellenhalteeinheit 616A gehalten
wird, und bestimmt den Block, in dem sich das Bild bezüglich des
Referenzrahmens verändert,
nämlich
den gültigen
Block, wo der maximale Abweichungswert A größer als der Schwellenwert T1
ist, wodurch "1" ausgegeben wird. Die
Vergleichseinheit 6124 bestimmt jeden Block als ungültig, in
dem das Bild nicht von dem Referenzrahmen abweicht, nämlich den
ungültigen
Block, falls der maximale Abweichungswert A kleiner als der Schwellenwert
T1 ist, wodurch "0" an den Schalter 618 und
die Blockinformationshalteeinheit 620 ausgegeben wird.
-
Bei
der Ausführungsform
kann unter Verwendung einer einfachen Schaltung bestimmt werden,
ob sich das Bild gegenüber
dem Referenzrahmen bezüglich
jeweiliger Blöcke
verändert,
da nur die Absolutwerte des Abweichungsbetrages von jeweiligen Bildelementen
der Blöcke
detektiert zu werden brauchen.
-
9B zeigt ein Blockdiagramm einer Schaltungsstruktur
gemäß einer
zweiten Form der Blockabweichungsbestimmungseinheit 616.
In 9B sind die Absolutwertberech nungseinheit 6120 und
die Vergleichseinheit 6124 dieselben wie bei der ersten
Ausführungsform.
-
Die
Einheit zur blockinternen Akkumulation 6126 akkumuliert
den Absolutwert der Abweichung des Bildelementes, der von der Absolutwertberechnungseinheit 6120 eingegeben
wird, und gibt den Betrag der Abweichung des jeweiligen Bildelementwertes
aller Bildelemente in jeweiligen Blöcken, der durch die obige Berechnung
erhalten wird, an die Vergleichseinheit 6124 aus.
-
Die
Schwellenhalteeinheit 616A speichert den akkumulierten
Schwellenwert T2 zum Bestimmen des gültigen/ungültigen Blocks (Vorhandensein der
Veränderung
des Bildes/Nichtvorhandensein der Veränderung des Bildes) bezüglich jeweiliger
Blöcke des
gegenwärtigen
Rahmens.
-
Wenn
die Absolutwertberechnungseinheit 6120 die obige Berechnung
für einen
Block vollendet und die Berechnung des Akkumulationswertes B vollendet,
wird die Abweichung des Bildelementwertes aller Bildelemente des
besonderen Blocks durch die Akkumulationseinheit 6126 akkumuliert,
und die Vergleichseinheit 6124 vergleicht den akkumulierten. Wert
B mit dem Akkumulationsschwellenwert T2, der durch die Schwellenwerthalteeinheit 616A gehalten wird.
Wenn der akkumulierte Wert B größer als
der Akkumulationsschwellenwert T2 ist, bestimmt die Vergleichseinheit 6124,
daß das
Bild von dem Referenzrahmen hinsichtlich des Blocks abweicht, wodurch "1" ausgegeben wird, und wenn der Akkumulationswert
B kleiner als der Akkumulationsschwellenwert T2 ist, bestimmt die
Vergleichseinheit 6124, daß der Block keine Abweichung
enthält,
daß es
nämlich ein
ungültiger
Block ist, wodurch "0" an den Schalter 618 und
die Blockinformationshalteeinheit 620 ausgegeben wird.
Bei dieser Ausführungsform
werden Blöcke
als gültig
oder ungültig
auf der Basis des akkumulierten Wertes des absoluten Abweichungswertes
aller Bild elemente innerhalb eines Blocks bestimmt, wodurch die
Abweichung des gesamten Blocks geprüft wird.
-
9C zeigt ein Blockdiagramm einer Schaltungsstruktur
gemäß einer
dritten Form der Blockabweichungsbestimmungseinheit 616.
In 9C ist die Vergleichseinheit 6124 dieselbe
wie in den 9A und 9B.
Die Quadratberechnungseinheit 6128 berechnet das Quadrat
der Abweichung des Bildelementwertes, die von der Abweichungsberechnungseinheit 614 eingegeben
wird.
-
Die
Einheit zur blockinternen Akkumulation und Addition 6130 akkumuliert
die Quadrate, die von der Quadratberechnungseinheit 6128 in
Einheiten von Blöcken
eingegeben werden, und berechnet den Akkumulationswert der Quadrate
für alle
Bildelemente innerhalb eines Blocks.
-
Die
Schwellenwerthalteeinheit 616A speichert den Akkumulationsschwellenwert
T3 zum Bestimmen des veränderten
(d. h. gültigen)/unveränderten
(d. h. ungültigen)
Blocks (Vorhandensein der Abweichung in dem Bild/Nichtvorhandensein
der Abweichung in dem Bild) in bezug auf die jeweiligen Blöcke des
gegenwärtigen
Rahmens.
-
Die
Quadratberechnungseinheit 6128 vollendet die Berechnung
des Quadrates, und die Einheit zur blockinternen Akkumulation 6130 vollendet
die Akkumulationsberechnung des Quadrates aller Bildelemente in
einem besonderen Block. Die Vergleichseinheit 6124 vergleicht
den Akkumulationsschwellenwert T3, der in der Akkumulationshalteeinheit 616A gehalten
wird, mit dem Akkumulationswert C des Quadrates der Abweichung aller
Bildelemente in dem Block, der der Berechnung der Einheit zur blockinternen
Akkumulation 6130 unterliegt, und bestimmt, daß der Block
ein gültiger
Block ist, wenn der Akkumulationswert C größer als der Akkumulationsschwellenwert
T3 ist, wodurch "1" ausgegeben wird, und
bestimmt, daß der
Block ein ungültiger
Block ist, wenn der Akkumulationswert C kleiner als der Akkumulationsschwellenwert
T3 ist, wodurch "0" an den Schalter 618 und
die Blockinformationshalteeinheit 620 ausgegeben wird.
-
Bei
der Schaltung von 9C kann der gültige Block
oder der ungültige
Block auf der Basis der Akkumulation des Quadrates der Abweichung
des Bildelementwertes bestimmt werden, die in dem Block erhalten
wird. Somit wird der Abweichungsbetrag hervorgehoben, wodurch die
Abweichung innerhalb eines Blocks mit hoher Präzision bestimmt wird.
-
10 zeigt ein Format von codierten Daten, die von
der ersten Bilddatencodiervorrichtung ausgegeben werden, die in 8 gezeigt
ist. Die Operation der ersten Bilddatencodiervorrichtung wird unter
Bezugnahme auf 10 erläutert. Ursprüngliche
Bilddaten eines Blocks des gegenwärtigen Rahmens werden in den
Blockpuffer 610 geschrieben und an die Abweichungsbetragsberechnungseinheit 614 ausgegeben.
Die Abweichungsbetragsberechnungseinheit 614 vergleicht
ursprüngliche
Bilddaten des Blocks mit den Bilddaten des Blocks des Referenzrahmens,
die in einem Bildpuffer 612 gespeichert sind, wobei der
Block an derselben Position wie der Block der ursprünglichen
Bilddaten bezüglich
des Bildelementes vorgesehen ist, das an derselben Position in den
entsprechenden zwei Blöcken
vorgesehen ist, wodurch der Abweichungsbetrag des Bildelementwertes
an die Blockabweichungsbestimmungseinheit 616 ausgegeben
wird.
-
Die
Blockveränderungsbestimmungseinheit 616 mit
den Strukturen, die in jeder der 9A bis 9C gezeigt
sind, bestimmt gemäß dem oben
beschriebenen Verfahren, welcher Block der gültige Block ist, und ein Signal,
welches das Bestimmungsresultat darstellt (nämlich "1" im
Fall eines gültigen Blocks
und "0" im Fall eines ungültigen Blocks),
wird an den Schalter 618 und die Blockinformationshalteeinheit 620 gesendet.
-
Die
Blockinformationshalteeinheit 620 hält auf der Basis des obigen
Bestimmungsresultatssignals die Blockinformationen, die im Fall
eines gültigen
Blocks auf "1" festgelegt sind
und im Fall eines ungültigen
Blocks auf "0" festgelegt sind,
bezüglich aller
Blöcke
eines Rahmens. Der Schalter 618 überträgt die Bilddaten des gültigen Blocks,
die in dem Blockpuffer 610 gehalten werden, zu der DCT-Transformationseinheit 622 und
zu dem Bildpuffer 612, wodurch das Referenzbild aktualisiert
wird.
-
Die
Bilddaten des Blocks in dem Referenzrahmen, der an derselben Position
wie der gültige Block
liegt, die in dem Bildpuffer 612 gehalten werden, werden
auf die Bilddaten des gültigen
Blocks aktualisiert, wenn die Bilddaten des gültigen Blocks eingegeben sind.
-
Die
Einheit für
die zweidimensionale DCT-Transformation 622 wendet die
sekundäre
diskrete Cosinustransformation auf die Bilddaten des gültigen Blocks
an und gibt den zweidimensionalen DCT-Koeffizienten, der durch solch
eine Transformation erhalten wird, an die Quantisierungseinheit 624 aus.
-
Der
zweidimensionale DCT-Koeffizient wird in der Quantisierungseinheit 624 einer
weiteren Quantisierung unterzogen und danach der Einheit zum Codieren
mit variabler Länge 626 zugeführt. Die Bilddaten
des gültigen
Blocks, die durch das Codieren mit variabler Länge erhalten werden, werden
in der Halteeinheit für
codierte Daten 628 gehalten.
-
Die
obige Operation wird auf die Bilddaten aller Blöcke des gegenwärtigen Rahmens
angewendet, und dementsprechend werden die Bilddaten des Rahmens
vollendet.
-
Wenn
der Codierprozeß für alle Blöcke (gerechnet
mit 90 × 72
= 6480 Blöcken
pro Rahmen, wobei ein Block 8 × 8
Bildelemente enthält
und ein Rahmen 720 × 576
Bildelemente im Fall des PAL-Systems enthält) für einen Rahmen vollendet ist,
gibt der Multiplexer (MPX) 630 die Blockinformationen aus, die
im Fall des PAL-Systems 6480 Bits umfassen, die in der Blockinformationshalteeinheit
gehalten werden, wie in 10 gezeigt,
und danach gibt er die Codierdaten des gültigen Blocks aus, die in der
Halteeinheit für
codierte Daten 628 gehalten werden.
-
Bei
Empfang der Bilddaten des neuen Rahmens schreibt die erste Bilddatencodiervorrichtung nur
die Bilddaten in dem Block in dem Referenzrahmen, die in dem Bildpuffer 612 gehalten
werden, an derselben Position wie im Block in dem gegenwärtigen oder
neu eingegebenen Rahmen um, der als gültiger Block bestimmt wurde,
wie oben erläutert.
-
Die
erste Bilddatencodiervorrichtung bestimmt, wie oben beschrieben,
den gültigen
Block, der von dem Bild des entsprechenden Blocks des vorherigen
Rahmens abweicht, und codiert nur die Bilddaten des gültigen Blocks,
wodurch die Codiermenge außerordentlich
verringert wird. Bei Ausführung
der Codieroperation werden Blockinformationen, die angeben, ob der
Block der gültige
Block oder der ungültige
Block ist, bezüglich
aller Blöcke
eines Rahmens sowie codierte Daten des gültigen Blocks ausgegeben, und
somit kann die Decodierseite die Blockposition des gültigen Blocks
auf der Basis der Blockinformationen erkennen, wodurch das Bild
des Rahmens korrekt wiederhergestellt werden kann.
-
11 zeigt eine Schaltungsstruktur einer ersten
Bilddatenwiederherstellungseinheit zum Wiederherstellen der codierten
Daten, die durch die erste Bilddatencodiervorrichtung erzeugt wurden,
als Bilddaten.
-
In 11 trennt ein Demultiplexer (DMPX) 640 eingegebene
Daten in die Blockinformationen und die codierten Daten der gültigen Daten
und gibt sie der Blockinformationshalteeinheit 642 und
der Halteeinheit für
codierte Daten 644 ein.
-
Die
Blockinformationshalteeinheit 642 hält die Informationen für einen
Rahmen. Die Halteeinheit für
codierte Daten 644 hält
die codierten Daten des gültigen
Blocks von einem Rahmen.
-
Die
Wiederherstellungseinheit für
variable Länge 646 versetzt
(decodiert) die codierten Daten mit variabler Länge wieder in den Quantisierungskoeffizienten
mit feststehender Länge
unter Bezugnahme auf die Huffman-Tabelle, die statistisch erhalten wird
und in der Halteeinheit der Huffman-Decodiertabelle 646A gespeichert
ist.
-
Die
Dequantisierungseinheit 648 wendet die lineare Dequantisierung
auf den Quantisierungskoeffizienten unter Verwendung des Schwellenwertes
an, der in der Dequantisierungsschwellenwerthalteeinheit 648A gespeichert
ist, und transformiert den Quantisierungskoeffizienten in zweidimensionale DCT-Koeffizienten
mit Raumfrequenzverteilung. Die Einheit für die inverse zweidimensionale
DCT-Transformation 650 wendet die inverse zweidimensionale diskrete
Cosinustransformation auf den zweidimensionalen DCT-Koeffizienten
an und stellt die Bilddaten von jeweiligen Blöcken wieder her.
-
Die
Halteeinheit des decodierten Bildes 652 hält einen
Block der wiederhergestellten Bilddaten.
-
Die
Blockinformationsdetektionseinheit 654 detektiert die Anzahl
der konsekutiven ungültigen Blöcke gemäß den Blockinformationen,
die von der Blockinformationshalteeinheit 642 eingegeben
werden.
-
Die
Adressenberechnungseinheit 656 überspringt die Adressen der
ungültigen
Blöcke
gemäß der detektierten
Anzahl der ungültigen
Blöcke,
die von der Blockinformationsdetektionseinheit 654 eingegeben
wird, und gibt nur die Blockadresse des gültigen Blocks an den Rahmenspeicher 658 aus.
-
Der
Rahmenspeicher 658 speichert die Bilddaten des gültigen Blocks,
die von der Halteeinheit des decodierten Bildes 652 eingegeben
werden, an der Position des Blocks, die durch das Adressensignal
bezeichnet wird, das von der Adressenberechnungseinheit 656 eingegeben
wird, und hält
die wiederhergestellten Bilddaten eines Rahmens.
-
12 zeigt ein Schaltungsblockdiagramm einer internen
Anordnung der oben beschriebenen Adressenberechnungseinheit 656.
-
In
dieser Schaltung von 12 wird eine Takterzeugungseinheit 6560 unter
der Steuerung einer Aktualisierungssteuereinheit 6564 betrieben,
um einen Takt mit einer Erzeugungsperiode zu erzeugen, die länger als
der Schreibzyklus der Bilddaten bezüglich des gültigen Blocks ist, die dem
Rahmenspeicher 658 zuzuführen sind.
-
Eine
Verriegelungsschaltung 6562 verriegelt eine Seriennummer
von ungültigen
Blöcken,
die von der Blockinformationsdetektionseinheit 654 eingegeben
wird.
-
Bei
Empfang des Signals eines ungültigen Blocks,
das von der Blockinformationsdetektionseinheit 654 zugeführt wird,
bewirkt die Aktualisierungssteuereinheit 6564, daß die Taktoperation
der Takterzeugungseinheit gestartet wird. Dann wird der Takt, der
von der Takterzeugungseinheit 6560 abgeleitet wird, einem
Zähler 6566 und
einer ODER-Gatterschaltung 6568 zugeführt.
-
Der
Zähler 6566 inkrementiert
den Zählwert immer
dann, wenn der Takt eingegeben wird, um 1 und gibt dann den resultierenden
Zählwert
an eine Vergleichsschaltung 6570 aus. Die Vergleichsschaltung 6570 vergleicht
diesen Zählwert
mit der Seriennummer von ungültigen
Blöcken,
die in der Verriegelungsschaltung 6562 verriegelt ist,
und gibt ein Koinzidenzsignal an die Aktualisierungssteuereinheit 6564 aus,
wenn diese beiden Werte einander gleich werden.
-
Wenn
das Koinzidenzsignal eingegeben wird, unterbricht die Aktualisierungssteuereinheit 6564 die
Taktoperation der Takterzeugungseinheit 6560.
-
Die
ODER-Gatterschaltung 6568 gibt den Takt, der von der Takterzeugungsschaltung 6560 eingegeben
wird, an einen X-Adressenzähler 6572 aus.
-
Dieser
X-Adressenzähler 6572 ist
solch ein Zähler
zum Zählen
eines Komponentenwertes (X-Koordinate) eines Bildes an einer Blockadresse längs der
horizontalen Scanrichtung (nämlich
der X-Richtung) und zum Ausgeben eines Zählwertes an eine UND-Gatterschaltung 6576.
Wenn dann der X-Adressenzähler 6572 bis
zu dem Komponentenwert an der letzten Adresse längs der horizontalen Scanrichtung
zählt,
gibt dieser Zähler
ein Übertragssignal
an einen Y-Adressenzähler 6574 aus.
-
Dieser
Y-Adressenzähler 6574 entspricht
einem Zähler
zum Zählen
eines Komponentenwertes (Y-Koordinate) eines Bildes längs der
vertikalen Richtung (Y-Richtung). Dieser Y-Adressenzähler 6574 inkrementiert
den Zählwert
immer dann, wenn das Übertragssignal
von dem X-Adressenzähler 6572 zugeführt wird,
um 1 und gibt den resultierenden Zählwert an die UND-Gatterschaltung 6576 als
Wert der Y-Koordinate aus.
-
Eine
Adresse von jedem Block in dem Rahmenspeicher 658 kann
durch eine Blockadresse (X, Y) bezeichnet werden, die auf der Basis
sowohl des Zählwertes
X des X-Adressenzählers 6572 als
auch des Zählwertes
Y des Y-Adressenzählers 6574 definiert
ist.
-
Wenn
das Koinzidenzsignal, das von der Vergleichseinheit 6570 ausgegeben
wird, eingegeben wird und danach das Signal des gültigen Blocks eingegeben
wird, das von der Blockinformationsdetektionsschaltung 654 abgeleitet
wird, gibt die Aktualisierungssteuereinheit 6564 an den
Rahmenspeicher 658 als Schreibadresse von decodierten Blockbild daten
sowohl den Zählwert
X des X-Adressenzählers 6572 als
auch den Zählwert
Y des Y-Adressenzählers 6574 aus,
die von der UND-Gatterschaltung 6576 abgeleitet werden.
-
Bei
Vollendung des Schreibens dieser decodierten Blockbilddaten wird
ein Blockaktualisierungssignal von einer Blockbildelementschreibsteuereinheit
(in 12 nicht gezeigt) erzeugt,
so daß der Zählwert dieses
X-Adressenzählers 6572 über die ODER-Gatterschaltung 6568 als
Reaktion auf dieses Blockaktualisierungssignal um 1 inkrementiert
wird.
-
Wie
oben beschrieben, wird auf der Basis der Blockinformationen, die
von der ersten Bilddatencodiervorrichtung erhalten werden, im Fall
des ungültigen
Blocks nur die Blockadresse bei dem Hochgeschwindigkeitstakt aktualisiert,
der von der Takterzeugungseinheit 6560 erzeugt wird, während in
dem Fall des gültigen
Blocks die Blockadressendaten bezüglich dieses gültigen Blocks
an den Rahmenspeicher 658 ausgegeben werden und ferner
die decodierten Bilddaten bezüglich
dieses gültigen
Blocks in den Rahmenspeicher 658 geschrieben werden. Falls dann
die decodierten Bilddaten dieses gültigen Blocks geschrieben sind,
wenn diese Schreiboperation vollendet ist, wird die Blockadresse
als Reaktion auf das Blockaktualisierungssignal, das von der Blockbildelementschreibsteuereinheit
eingegeben wird, aktualisiert.
-
Da
im Fall des ungültigen
Blocks nur das Aktualisieren der Blockadresse ausgeführt wird,
kann auf diese Weise eine Hochgeschwindigkeitsdecodieroperation
der Rahmenbilddaten realisiert werden.
-
Unter
Bezugnahme auf die Anordnung der ersten Bilddecodiervorrichtung,
die in den 11 und 12 gezeigt
ist, wird nun eine Bilddecodieroperation von ihr erläutert.
-
Eingangsdaten,
die solch ein Format haben, wie es in 10 gezeigt
ist, und von der ersten Bilddatencodiervor richtung übertragen
worden sind, werden durch den Demultiplexer 30 in codierte
Daten und Blockinformationen getrennt. Die codierten Daten werden
in der Halteeinheit für
codierte Daten 644 gehalten, und die Blockinformationen
werden in der Blockinformationshalteeinheit 642 gehalten.
-
Die
codierten Daten mit variabler Länge,
die in der Halteeinheit für
codierte Daten 644 gehalten werden, werden durch die Decodiereinheit
für variable
Länge 646 unter
Verwendung der Huffman-Decodierliste 646A in einen Quantisierungskoeffizienten mit
feststehender Länge
decodiert. Die Struktur dieser Huffman-Decodierliste 646A ist
zu jener der zuvor erläuterten
Huffman-Codierliste 626A entgegengesetzt, die genutzt wird,
wenn die Bilddaten durch die erste Bilddatencodiervorrichtung codiert
werden. Dieser Quantisierungskoeffizient wird durch lineare Dequantisierung
unter Verwendung eines Dequantisierungsschwellenwertes 648A durch
die Dequantisierungseinheit 648 verarbeitet, um dadurch
in den zweidimensionalen DCT-Koeffizienten decodiert zu werden.
-
Die
Einheit für
die inverse zweidimensionale DCT-Transformation 650 führt die
inverse zweidimensionale DCT-Konvertierung unter Verwendung des
zweidimensionalen DCT-Koeffizienten aus, so daß die Bilddaten bezüglich des
gültigen
Blocks decodiert werden.
-
Dann
werden die decodierten Bilddaten dieses gültigen Blocks erst einmal in
der Halteeinheit des decodierten Bildes 652 gespeichert.
-
Andererseits
werden die Blockinformationen, die in der Blockinformationshalteeinheit 642 gespeichert
sind, durch die Blockinformationsdetektionseinheit 654 verarbeitet.
Mit anderen Worten, die Blockinformationsdetektionseinheit 654 unterscheidet
eine auftretende Folge eines gültigen
Blocks und eines ungültigen
Blocks auf der Basis der Blockinformationen. Wenn ein gültiger Block
erscheint, gibt dann die Blockinformationsdetektionseinheit 654 das
Signal des gültigen
Blocks an die Adressenberechnungseinheit 656 aus. Wenn
ein ungültiger
Block erscheint, zählt
die Blockinformationsdetektionseinheit 654 im Gegensatz
dazu die Anzahl von ungültigen
Blöcken, die
konsekutiv erscheinen, und sie gibt die gezählte Seriennummer von ungültigen Blöcken an
die Adressenberechnungseinheit 656 aus. Zu dieser Zeit
wird auch das Signal des ungültigen
Blocks an die Adressenberechnungseinheit 656 ausgegeben.
-
Somit
wird die Blockadresse des gültigen Blocks
auf der Basis der Blockinformationen korrekt berechnet, und dann
werden die decodierten Bilddaten dieses gültigen Blocks an die relevante
Position des Rahmenspeichers 658 geschrieben. Infolgedessen
werden bezüglich
der Bilddaten, die in dem Rahmenspeicher 658 gespeichert
sind, nur die Bilddaten bezüglich
der gültigen
Blöcke
in den jeweiligen Rahmen aktualisiert.
-
Wie
zuvor erläutert,
gibt die Adressenberechnungseinheit 656 die Schreibadresse
der decodierten Bilddaten bezüglich
des gültigen
Blocks, die in der Halteeinheit des decodierten Bildes 652 gespeichert
worden sind, an den Rahmenspeicher 658 gemäß den Informationen
und dem Signal aus, die von der Blockinformationsdetektionseinheit 654 eingegeben
werden. Als Resultat werden die decodierten Bilddaten dieses gültigen Blocks
an die relevante Blockposition des Rahmenspeichers 658 durch
die Blockbildelementschreibsteuereinheit geschrieben.
-
13 ist ein schematisches Schaltungsblockdiagramm
zum Zeigen einer Gesamtanordnung einer zweiten Bilddatencodiervorrichtung.
-
Es
sei erwähnt,
daß dieselben
Bezugszeichen, wie sie in der ersten Bilddatencodiervorrichtung
verwendet wurden, zum Bezeichnen derselben Schaltungsblöcke verwendet
werden, die in 13 gezeigt sind.
-
In
der zweiten Bilddatencodiervorrichtung von 13 zählt eine
Zähleinheit
der Anzahl von ungültigen
Blöcken 670 die
Menge von konsekutiven ungültigen
Blöcken
durch Empfangen des Beurteilungsresultats bezüglich dessen, ob ein gültiger Block
vorhanden ist oder nicht, von der Blockveränderungsbestimmungseinheit 616.
Wenn das Beurteilungsresultat für
den gültigen
Block eingegeben wird, wird der oben beschriebene Zählwert an
eine Erzeugungseinheit von ungültigen
Blockinformationen 672 ausgegeben, und der Schalter 618 wird
gesteuert, um die Bilddaten des gültigen Blocks, die temporär in dem
Blockpuffer 610 gespeichert sind, der Einheit für die zweidimensionale
DCT-Transformation 622 und dem Bildpuffer 612 einzugeben.
-
Die
Erzeugungseinheit von ungültigen
Blockinformationen 672 codiert die Seriennummer der ungültigen Blöcke, die
von der Berechnungseinheit der Anzahl von ungültigen Blöcken 670 zugeführt wird, um
die codierten Daten zu erhalten, die dann einem Multiplexer (MPX) 630 zugeführt werden.
-
Als
nächstes
wird nun eine Operation der zweiten Bilddatencodiervorrichtung mit
der oben beschriebenen Anordnung erläutert.
-
Ursprüngliche
Bilddaten von einem Rahmen werden in eine Vielzahl von Blöcken unterteilt,
und die Bilddaten werden in Blockeinheiten eingegeben. Dann werden
die ursprünglichen
Bilddaten der jeweiligen Blöcke
in den Blockpuffer 610 geschrieben und auch an die Veränderungsbetragsberechnungseinheit 614 ausgegeben.
Die Veränderungsbetragsberechnungseinheit 614 vergleicht
Bildelemente der ursprünglichen
Bilddaten des Blocks, die einzugeben sind, mit den entsprechenden
Bildelementen der Bilddaten des Blocks, die an derselben Position
des Blocks bei dem Referenzrahmen ange ordnet sind, der in dem Bildpuffer 612 gespeichert
ist, um einen Veränderungsbetrag
eines vorbestimmten Bildelementwertes durch diesen Bildelementvergleich
zu erhalten, und gibt diesen Veränderungsbetrag
an die Blockveränderungsbestimmungseinheit 616 aus.
-
Die
Blockveränderungsbestimmungseinheit 616 wird
zum Beispiel durch die zuvor erläuterte Schaltungsanordnung
vorgesehen, wie sie in den 9A, 9B und 9C gezeigt
ist. Diese Blockveränderungsbestimmungseinheit 616 beurteilt,
ob ein eingegebener Block einem gültigen Block entspricht oder
nicht. Dann führt
die Blockveränderungsbestimmungseinheit 616 das
Beurteilungsresultat dem Schalter 618 und der Zähleinheit
der Anzahl von ungültigen
Blöcken 670 zu.
-
Eine
Zähleinheit
der Anzahl von ungültigen Blöcken 670 ist
zum Beispiel aus einem Zähler
gebildet, der auf 0 zurückgesetzt
wird, wenn ein Beurteilungsresultat eingegeben wird, das einen gültigen Block
angibt. Wenn andererseits ein anderes Beurteilungsresultat diesem
Zähler
eingegeben wird, das einen ungültigen
Block angibt, wird dessen Zählwert um
1 inkrementiert. Jedes Mal, wenn das Beurteilungsresultat eingegeben
wird, das den gültigen Block
bezeichnet, gibt dann dieser Zähler
den resultierenden Zählwert,
nämlich
die Seriennummer von gültigen
Blöcken,
an die Erzeugungseinheit gültiger Blockinformationen 672 aus.
-
Die
Erzeugungseinheit ungültiger
Blockinformationen 672 codiert die Seriennummer der eingegebenen
gültigen
Blöcke,
um codierte Anzahldaten zu erzeugen, die dann dem Multiplexer 630 zugeführt werden.
-
Bei
Eingabe des Signals, das die gültigen Blöcke bezeichnet,
bewirkt der Schalter 618, daß die ursprünglichen Bilddaten des Blocks,
die in dem Blockpuffer 610 gespeichert sind, der Einheit
für die zweidimensionale
DCT-Transformation 622 und dem Bildpuffer 612 zugeführt werden.
-
Infolgedessen
aktualisiert der Bildpuffer 612 die Bilddaten des Blocks,
die an derselben Position wie jene des oben beschriebenen Blocks
angeordnet sind, durch neu eingegebene ursprüngliche Bilddaten.
-
Bilddaten
des gültigen
Block, die der Einheit für
die zweidimensionale DCT-Transformation 622 eingegeben
werden, werden in der Einheit für
die zweidimensionale DCT-Transformation 622, einer Quantisierungseinheit 624 und
einer Einheit zum Codieren mit variabler Länge 626 durch die
DCT-Konvertierung,
die lineare Quantisierung bzw. die Codierung mit variabler Länge auf ähnliche
Weise wie jene der oben erläuterten
ersten Bilddatencodiervorrichtung verarbeitet, so daß diese
Bilddaten in codierte Daten konvertiert werden, die eine variable
Länge haben
und dann dem Multiplexer 630 eingegeben werden.
-
14 zeigt, daß der
Multiplexer 630 zuerst die codierten Daten bezüglich der
gültigen
Daten ausgibt, die in der Halteeinheit für codierte Daten 628 gespeichert
sind, und anschließend
einen Blockendcode (EOB) ausgibt. Ferner gibt dieser Multiplexer 630 die
codierten Daten bezüglich
der Anzahl ungültiger
Blöcke
aus, die von der Erzeugungseinheit ungültiger Blockinformationen 672 zugeführt wird.
-
Da
der gültige
Block, dessen Bild sich bezüglich
des vorherigen Rahmens verändert
hat, auf der Basis der Bilddaten des Referenzrahmens abgeleitet wird
und dann nur die Bilddaten dieses abgeleiteten gültigen Blocks codiert werden,
kann, wie oben beschrieben, auch in der zweiten Bilddatencodiervorrichtung
die gesamte Codiermenge beträchtlich
reduziert werden. Da sowohl die codierten Daten bezüglich des
gültigen
Blocks als auch die Seriennummer der ungültigen Blöcke codiert und dann ausgegeben werden,
kann die Block position des gültigen
Blocks auf der Bilddecodierseite auch korrekt erkannt werden, und
deshalb kann das Bild korrekt decodiert werden.
-
Weiterhin
kann, da die Seriennummer der ungültigen Blöcke, die zwischen den gültigen Blöcken existieren,
codiert wird und die codierte Seriennummer zwischen den codierten
Daten der gültigen Blöcke ausgegeben
wird, nur die Menge von konsekutiven ungültigen Blöcken nach dem gültigen Block als
Blockinformationen ausgegeben werden. Als Resultat kann ein Gesamtbetrag
der Blockinformationen gemäß der Gesamtanzahl
der gültigen
Blöcke
reduziert werden. Demzufolge wird die Datenübertragungsmenge der zweiten
Bilddatencodiervorrichtung kleiner als jene der ersten Bilddatencodiervorrichtung.
-
15 ist ein schematisches Schaltungsblockdiagramm
zum Zeigen einer Gesamtanordnung einer zweiten Bilddatendecodiervorrichtung.
Es sei erwähnt,
daß gleiche
Bezugszeichen, die zum Bezeichnen der Blöcke von 11 verwendet
werden, dieselben oder ähnliche
Blöcke
in 15 kennzeichnen.
-
Diese
zweite Bilddatendecodiervorrichtung decodiert die codierten Daten,
die von der ersten Bilddatencodiervorrichtung erzeugt werden, in
Bilddaten.
-
Eine
Codebestimmungseinheit 680 unterscheidet codierte Daten
von gültigen
Blöcken
und codierte Daten einer Anzahl von ungültigen Blöcken von Eingangsdaten, die
solch ein Format haben, wie es in 14 gezeigt
ist, wodurch eine Schaltoperation eines Demultiplexers (DMPX) 640 gesteuert
wird. Eine Detektionseinheit ungültiger
Blockinformationen 682 detektiert eine Seriennummer von
ungültigen Blöcken von
den codierten Daten bezüglich
der Anzahl von ungültigen
Blöcken,
die von dem Demultiplexer 640 eingegeben wird, und gibt
die detektierte Seriennummer an eine Adressenberechnungseinheit 656 aus.
-
Nun
folgt eine Beschreibung einer Operation der zweiten Bilddatendecodiervorrichtung
mit solch einer Schaltungsanordnung, wie sie in 15 gezeigt ist.
-
Unter
der Steuerung der Codebestimmungseinheit 680 werden die
Eingangsdaten, die das in 14 gezeigte
Datenformat haben und von der zweiten Bilddatencodiervorrichtung übertragen
worden sind, in die codierten Daten bezüglich des gültigen Blocks und die codierten
Daten bezüglich
der Anzahl der ungültigen
Blöcke
durch den Demultiplexer 640 getrennt. Die codierten Daten
bezüglich
des gültigen
Blocks werden der Decodiereinheit für variable Länge 646 eingegeben.
In dieser Decodiereinheit für
variable Länge 646 werden
diese codierten Daten in einen Quantisierungskoeffizienten, der
eine feststehende Länge
hat, unter Einsatz einer Huffman-Decodierliste 646A decodiert,
deren Struktur zu jener der Codiertabelle, die auf der Codierseite verwendet
wird, entgegengesetzt ist. Eine Dequantisierungseinheit 648 verarbeitet
den eingegebenen Quantisierungskoeffizienten durch lineare Dequantisierung
unter Verwendung eines Dequantisierungsschwellenwertes 648A,
um einen zweidimensionalen DCT-Koeffizienten zu erhalten, der dann
einer Einheit für
die inverse zweidimensionale DCT-Transformation 650 zugeführt wird.
Die Einheit für
die inverse zweidimensionale DCT-Transformation 650 führt die inverse
zweidimensionale DCT-Konvertierung an dem eingegebenen zweidimensionalen
DCT-Koeffizienten aus, wodurch Daten decodiert werden.
-
Diese
Prozeßoperationen
werden in Einheiten von 1 Block ausgeführt, und die decodierten Bilddaten
bezüglich
eines einzelnen Blocks werden erst einmal in der Halteeinheit des
decodierten Bildes 652 gespeichert.
-
Andererseits
werden die decodierten Daten bezüglich
der Anzahl ungültiger
Blöcke,
die von den Eingangsdaten getrennt und von dem Demultiplexer 640 abgeleitet
werden, der Detektionseinheit ungültiger Blockinformationen 682 eingegeben.
-
Die
Detektionseinheit ungültiger
Blockinformationen 682 detektiert die Seriennummer von
ungültigen
Blöcken
von den codierten Daten und führt die
detektierte Seriennummer der Adressenberechnungseinheit 656 zu.
Die Adressenberechnungseinheit 656 berechnet die Blockadresse
des Rahmenspeichers 658, in die die decodierten Bilddaten,
die in der Halteeinheit des decodierten Bildes 652 gespeichert
sind, geschrieben werden sollten, gemäß den Informationen bezüglich der
Seriennummer der eingegebenen ungültigen Blöcke und führt dann die berechnete Adresse
dem Rahmenspeicher 658 zu. In dem Rahmenspeicher 658 werden
die decodierten Bilddaten des Blocks, die in der Halteeinheit des
decodierten Bildes 652 gespeichert sind, in dessen relevante
Blockadresse geschrieben.
-
Wie
zuvor eingehend beschrieben wurde, berechnet die zweite Bilddatendecodiervorrichtung die
Blockadresse des gültigen
Blocks, zu der die codierten Daten gesendet werden, auf der Basis
der codierten Daten bezüglich
des ungültigen
Blocks, und schreibt die decodierten Bilddaten dieses gültigen Blocks
an die entsprechende Blockposition innerhalb des Rahmenspeichers 658,
wodurch die Bilddaten aktualisiert werden, die an derselben Position
wie jene dieses gültigen
Blocks angeordnet sind.
-
16 ist ein schematisches Schaltungsblockdiagramm
zum Zeigen einer gesamten Anordnung einer dritten Bilddatencodiervorrichtung
gemäß der vorliegenden
Erfindung.
-
Es
versteht sich, daß in 16 dieselben Bezugszeichen wie für die in 8 gezeigten
Blöcke verwendet
werden.
-
Eine
Binärcodierungseinheit 690 führt eine Binärcodierung
von Blockinformationen, die in einer Blockinformationshalteeinheit 620 gespeichert
sind, zum Beispiel durch eine Lauflängencodierung oder dergleichen
aus, um binärcodierte
Daten zu erhalten, und gibt diese binärcodierten Daten an einen Multiplexer
(MPX) 630 aus.
-
Nun
wird eine Operation der dritten Bilddatencodiervorrichtung beschrieben.
-
In
der dritten Bildcodiervorrichtung von 16 werden
ursprüngliche
Daten von 1 Block in dem gegenwärtigen
Rahmen in den Blockpuffer 610 geschrieben und auch der
Veränderungsbetragsberechnungseinheit 614 zugeführt. Die
Veränderungsbetragsberechnungseinheit 614 vergleicht
die Bildelemente dieser Blockbilddaten mit den Bildelementen der
entsprechenden Bilddaten, die an derselben Position wie an jener
des Referenzrahmenblocks vorhanden sind, der in dem Bildpuffer 624 gespeichert ist,
wodurch ein Veränderungsbetrag
der Bildelementwerte erhalten wird. Dann wird der Veränderungsbetrag
der Bildelementwerte von der Veränderungsbetragsberechnungseinheit 614 an
die Blockveränderungsbestimmungseinheit 616 ausgegeben.
-
Die
Blockveränderungsbestimmungseinheit 616 mit
solch einer Schaltungsanordnung, wie sie in 9A, 9B oder 9C gezeigt
ist, wird auf der Basis des Veränderungsbetrags
des Bildelementwertes beurteilen, ob der relevante Block dem gültigen Block
gleich ist oder nicht, und dann gibt er dieses Beurteilungsresultat
an den Schalter 618 und die Blockinformationshalteeinheit 620 aus.
-
Die
Blockinformationshalteeinheit 620 setzt "1", wenn der relevante Block dem gültigen Block
entspricht, und setzt "0", wenn der relevante
Block dem ungültigen
Block entspricht, und ferner hält
sie diese Blockinformationen bezüglich
aller Blöcke
in einem einzelnen Rahmen. Andererseits führt der Schalter 618 die
Bilddaten bezüglich
des relevanten Blocks, der in dem Blockpuffer 610 gespeichert
ist, der Einheit für
die zweidimensionale DCT-Transformation 622 und dem Bildpuffer 624 zu,
wenn ihm solch ein Beurteilungsresultat eingegeben wird, das den
gültigen
Block bezeichnet. Infolgedessen schreibt der Bildpuffer 624 die
Bilddaten bezüglich
des Blocks, die an derselben Position wie jene dieses gültigen Blocks angeordnet
sind, durch die Bilddaten bezüglich
dieses gültigen
Blocks um, so daß die
Bilddaten des Referenzrahmens aktualisiert werden.
-
Andererseits
werden die Bilddaten dieses gültigen
Blocks, die der Einheit für
die zweidimensionale DCT-Transformation 622 eingegeben
werden, durch die zweidimensionale DCT-Konvertierung, die lineare
Quantisierung und die variable Codierung in der Einheit für die zweidimensionale
DCT-Transformation 622,
der Quantisierungseinheit 624 bzw. der Einheit zum Codieren
mit variabler Länge 626 sequentiell
verarbeitet, um codiert zu werden. Daher werden die codierten Daten
der Bilddaten bezüglich dieser
gültigen
Daten, die durch diese Codieroperation erhalten worden sind, in
der Halteeinheit für
codierte Daten 628 gehalten.
-
Wenn
eine Serie der oben erläuterten
Prozeßoperation
bezüglich
aller Blöcke
in einem einzelnen Rahmen vollendet worden ist, führt die
Binärcodierungseinheit 690 eine
Binärcodierung
der Blockinformationen bezüglich
aller Blöcke
aus, die in der Blockinformationshalteeinheit 620 gespeichert
sind, um binärcodierte
Daten zu erhalten. Somit gibt diese Binärcodierungseinheit 690 die
binärcodierten
Daten bezüglich
der Blockinformationen an den Multiplexer (MPX) 630 aus.
-
Ähnlich wie
der vorherige Multiplexer, der in 5 gezeigt
ist und die codierten Daten ausgibt, gibt dieser Multiplexer 630 zuerst
die codierten Daten bezüglich
der Blockinformationen aus, die ihm von der Binärcodierungseinheit 690 eingegeben
wurden, und danach gibt er die codierten Daten des gültigen Blocks
aus, die in der Halteeinheit für
codierte Daten 628 gehalten werden.
-
Da
solch ein gültiger
Block, dessen Bild sich bezüglich
des vorherigen Rahmens verändert
hat, auf der Basis der Bilddaten bezüglich des Referenzrahmens extrahiert
wird, der in dem Bildpuffer 624 gespeichert worden ist,
und somit nur die Bilddaten dieses gültigen Blocks decodiert werden,
kann eine Gesamtcodiermenge außerordentlich
reduziert werden, wie zuvor erläutert.
Da zusammen mit den codierten Daten bezüglich des gültigen Blocks die Blockinformationen,
die für
alle Blöcke
in dem Rahmen angeben, ob es gültige
Blöcke
oder ungültige
Blöcke sind,
codiert werden und die codierten Daten/Informationen ausgegeben
werden, können
die Blockpositionen der gültigen
Blöcke
auf der Decodierseite auch korrekt erkannt werden. Als Resultat
kann das ursprüngliche
Bild korrekt decodiert werden.
-
Da
die Blockinformationen in dieser dritten Bilddatencodiervorrichtung ähnlich decodiert
werden, kann eine Gesamtcodiermenge reduziert werden.
-
17 zeigt ein Schaltungsblockdiagramm einer Gesamtanordnung
einer dritten Bilddatendecodiervorrichtung. Die dritte Bilddatendecodiervorrichtung
decodiert Bilddaten von codierten Daten, die von der oben beschriebenen
dritten Bilddatencodiervorrichtung erzeugt wurden. Es sei erwähnt, daß gleiche
Bezugszeichen, die bei der ersten Bilddatendecodiervorrichtung verwendet
wurden, die in 11 gezeigt ist, dieselben oder ähnliche
Blöcke
bei dieser dritten Bilddatendecodiervorrichtung bezeichnen.
-
Eine
Binärdecodierungseinheit 696 decodiert
die codierten Daten bezüglich
der Blockinformationen, die über
den Demultiplexer (DMPX) 640 in der Blockinformationshalteeinheit 642 gespeichert
worden sind und durch die dritte Bilddatencodiervorrichtung codiert
worden sind, um ursprüngliche
Informationen zu erhalten.
-
Nun
folgt eine Beschreibung einer Operation der Bilddatendecodiervorrichtung,
die in 17 gezeigt ist.
-
Die
codierten Daten, die von der dritten Bilddatencodiervorrichtung
erzeugt wurden, die in 16 gezeigt
ist, werden durch den Demultiplexer 640 in die codierten
Daten der gültigen
Daten und die codierten Daten der Blockinformationen getrennt. Dann
werden die codierten Daten in der Halteeinheit für codierte Daten 642 gespeichert,
während
die codierten Daten der Blockinformationen in der Blockinformationshalteeinheit 654 gespeichert
werden.
-
Die
codierten Daten mit variabler Länge
der gültigen
Daten, die in der Halteeinheit für
codierte Daten 644 gespeichert sind, werden durch die variable
Decodiereinheit 646 zu einem Quantisierungskoeffizienten
mit feststehender Länge
unter Einsatz der Huffman-Decodiertabelle 646A decodiert,
deren Struktur bezüglich
jener der Huffman-Codiertabelle 626A, die bei der Codieroperation
verwendet wird, entgegengesetzt ist. Der Quantisierungskoeffizient wird
durch die lineare Dequantisierung in der Dequantisierungseinheit 648 unter
Verwendung des Dequantisierungsschwellenwertes 648A verarbeitet, wodurch
er in den zweidimensionalen DCT-Koeffizienten konvertiert wird.
Die Einheit für
die inverse zweidimensionale DCT-Transformation 650 führt die inverse
zweidimensionale DCT-Konvertierung unter Verwendung dieses zweidimensionalen
DCT-Koeffizienten aus, so daß die
Bilddaten des gültigen
Blocks decodiert werden.
-
Diese
Prozeßoperationen
werden in Einheiten eines einzelnen Blocks ausgeführt, und
dann werden die decodierten Bilddaten bezüglich des decodierten 1 gültigen Blocks
in der Halteeinheit des decodierten Bildes 652 gespeichert.
-
Andererseits
werden die codierten Daten der Blockinformationen durch die Binärdecodierungseinheit 696 in
die ursprünglichen
Blockinformationen decodiert, die dann an die Blockinformationsdetektionseinheit 654 ausgegeben
werden. Auf der Basis dieser Blockinformationen detektiert die Blockinformationsdetektionseinheit 654 die
Blockposition des gültigen Blocks
und zählt
die Seriennummer der ungültigen Blöcke zwischen
den gültigen
Blöcken
und gibt auch die resultierenden Informationen an die Adressenberechnungseinheit 656 aus.
Auf der Basis der eingegebenen Informationen berechnet die Adressenberechnungseinheit 656 die
Schreibadresse des gültigen
Blocks, der in der Halteeinheit des decodierten Bildes 652 gespeichert
ist, innerhalb des Rahmenspeichers 658 und führt dann
die berechneten Adressendaten dem Rahmenspeicher 658 zu.
Der Rahmenspeicher 658 schreibt die decodierten Bilddaten bezüglich des
gültigen
Blocks, die in der Halteeinheit des decodierten Bildes 652 gehalten
werden, gemäß dem Adressensignal
in die Blockadresse, die durch dieses Adressensignal bezeichnet
wird.
-
Wie
oben beschrieben, wird die Blockadresse für den gültigen Block auf der Basis
der codierten Daten der Blockinformationen berechnet, werden die decodierten
Bilddaten dieser gültigen
Daten an die entsprechende Position des Referenzrahmens geschrieben,
und dann können
die Bilddaten bezüglich des
Referenzrahmens aktualisiert werden.
-
Da
in diesem Fall die Blockinformationen codiert worden sind und die
codierten Blockinformationen übertragen
werden, kann eine Übertragungsmenge
der codierten Daten reduziert werden.
-
Obwohl
der Zählwert
des Zählers 6566 durch die
Nummer, die der Seriennummer der ungültigen Blöcke gleich ist, in der Adressenberechnungseinheit 656 der
oben beschriebenen Bilddatendecodiervorrichtung inkrementiert wird,
wenn die Seriennummer des gültigen
Blocks eingegeben wird, sei erwähnt, daß alternativ
der Zählwert
des X-Adressenzählers 6572 mit
der Seriennummer der ungültigen
Blöcke zusammengefaßt werden
kann, um dadurch die Blockadresse zu erhalten.
-
Obwohl
sowohl die Bilddatencodiervorrichtung als auch die Bilddatendecodiervorrichtung
bei den oben beschriebenen Beispielen als Hardware implementiert
sind, können
die Funktionen der Blöcke,
die in diesen Vorrichtungen verwendet werden, ferner durch einen
Mikroprozessor und einen digitalen Signalprozessor gemäß einem
Softwareprozeß ausgeführt werden.
-
Gemäß dieser
Vorrichtung, wie sie zuvor eingehend beschrieben wurde, wird ein
Vergleich in Einheiten eines einzelnen Blocks zwischen den Bilddaten
des gegenwärtigen
Rahmens und den Bilddaten des Referenzrahmens, die als Bilddaten
des vorhergehenden Rahmens genutzt werden, ausgeführt, wodurch
eine Selektion nur für
die Bilddaten des gültigen
Blocks vorgenommen wird, dessen Bild sich bezüglich des Bildes des vorherigen
Rahmens verändert
hat. Da nur die Bilddaten bezüglich
dieses gültigen
Blocks codiert und ausgegeben werden, wird dann die Datenkomprimierungsrate
von solchen konsekutiven Bilddaten, die eine kleine Veränderung zwischen
diesen konsekutiven Bildern aufweisen, erhöht. Folglich können durchschnittliche
Komprimierungsraten in bezug auf Bewegtbilder eines Bildtelefonsystems,
wo eine Fernsehkamera stationär
verwendet wird, und Bewegtbilder von einer Szene, in der Abweichungen
in den sukzessiven Rahmen klein sind, erhöht werden. Da auch die Blockinformationen,
die die positionellen Informationen bezüglich des ungültigen Blocks
mitteilen, zusammen mit den codierten Daten des gültigen Blocks
ausgegeben werden, kann die korrekte Position des gültigen Blocks
auf der Basis dieser Blockinformationen erkannt werden, so daß das Bild
korrekt decodiert werden kann.
-
18 ist ein Flußdiagramm zum Erläutern eines
zweiten Bilddatencodierverfahrens.
-
Gemäß dem zweiten
Bilddatencodierverfahren werden Bilddaten bezüglich eines einzelnen Rahmens
in eine Vielzahl von Unterblöcken
unterteilt, die m × n
Bildelemente haben (wobei die Symbole "m" und "n" natürliche
Zahlen darstellen), und die Bilddaten werden in Einheiten eines
Blocks codiert. Ferner werden zwei Schwellenwerte, die sich voneinander unterscheiden,
als Schwellenwert verwendet, der zum Beurteilen des oben beschriebenen
gültigen Blocks
eingesetzt wird.
-
Bei
dem Bilddatencodierverfahren, das in 18 gezeigt
ist, wird bezüglich
des ersten Blocks (Unterblock) in dem gegenwärtigen Rahmen ein Vergleich
zwischen den Bildelementen dieses ersten Blocks und den Bildelementen
des entsprechenden Blocks ausgeführt,
der an derselben Position wie im Referenzrahmen (vorhergehender
Rahmen) angeordnet ist, wodurch ein Veränderungsbetrag von vorbestimmten
Bildelementwerten berechnet wird. Dann wird diese Veränderungsmenge
mit dem gegenwärtig
selektierten Schwellenwert verglichen, um zu beurteilen, ob der
erste Block des gegenwärtigen
Rahmens ein gültiger
Block ist oder nicht (Schritt S21).
-
Wenn
in diesem Fall der Veränderungsbetrag
der Bildelementwerte größer als
der gegenwärtig selektierte
Schwellenwert wird, wird beurteilt, daß der erste Block dem gültigen Block
entspricht. Wenn der erste Block der gültige Block ist, werden bei
Schritt S22 Veränderungsinformationen
(z. B. "1") ausgegeben, die
solch einen gültigen
Block bezeichnen.
-
Anschließend wird
ein anderer Schwellenwert, der einen kleinen Wert hat, als Schwellenwert zum
Bestimmen des gültigen
Blocks selektiert (Schritt S23). Nachdem dann dieser erste Block durch
die zweidimensionale DCT-Konvertierung und die Quantisierung verarbeitet
worden ist, wird der verarbeitete erste Block codiert, und der Inhalt
des Blocks bei dem oben beschriebenen Referenzrahmen, der an derselben
Position wie jener des ersten Blocks angeordnet ist, wird durch
den Inhalt des ersten Blocks aktualisiert (Schritt S24).
-
Wenn
im Gegensatz dazu bei dem vorhergehenden Schritt S21 die andere
Beurteilung erfolgt, daß der
erste Block ein ungültiger
Block ist, werden Veränderungsinformationen
(z. B. "0") ausgegeben, die
solch einen ungültigen
Block bezeichnen (Schritt S25).
-
Als
nächstes
wird der Schwellenwert, der einen großen Wert hat, als Schwellenwert
selektiert, der verwendet wird, um den gültigen Block zu beurteilen
(Schritt S26).
-
Danach
werden die oben erläuterten
Prozeßoperationen,
wie sie bei den Schritten S21 bis S26 definiert sind, bezüglich aller
Blöcke,
die sich an den zweiten Block des gegenwärtigen Rahmens anschließen, wiederholt
ausgeführt,
wodurch die Veränderungsinformationen
zum Bezeichnen dessen erzeugt werden, ob der relevante Block gültig oder
ungültig
ist. Ferner werden die Bilddaten des gültigen Blocks codiert, und
die codierten Bilddaten werden ausgegeben. Weiterhin wird der Block,
der an derselben Position wie an jener von solch einem Block angeordnet
ist, der in dem gegenwärtigen
Rahmen als gültiger
Block beurteilt worden ist, innerhalb der Blöcke des Referenzrahmens durch
diese gültigen
Blöcke
umgeschrieben, um den Referenzrahmen zu aktualisieren.
-
Wenn
dann ein Beurteilungsresultat bei Schritt S27 der oben erläuterten
Prozeßoperationen, die
von Schritt S21 bis Schritt S26 bezüglich aller Blöcke innerhalb
des gegenwärti gen
Rahmens definiert sind, "JA" lautet, ist der
Codierprozeß der
Bilddaten des gegenwärtigen
Rahmens vollendet.
-
Wie
zuvor eingehend beschrieben wurde, wird gemäß dem zweiten Bilddatencodierverfahren bezüglich des
Blocks, der an derselben Position des vorherigen Rahmens innerhalb
der jeweiligen Blöcke des
gegenwärtigen
Rahmens angeordnet ist, nur der Block als gültiger Block selektiert, dessen
Bild sich verändert
hat. Da nur die Bilddaten dieses gültigen Blocks codiert werden,
kann eine Gesamtmenge von solchen codierten Daten bei Bildern, in
denen eine kleine Bewegung vorhanden ist, wie zum Beispiel bei einem
konsekutiven Bild eines Hintergrundes, das eine kleine Bildabweichung
aufweist, bezüglich
einer Gesamtmenge von uneingeschränkt codierten Daten beträchtlich
reduziert werden.
-
Da
ferner der gültige
Block auf der Basis des Resultats der Bestimmung dessen beurteilt
wird, ob der Block dem gültigen
Block entspricht oder nicht, indem der Bestimmungsschwellenwert
verändert wird,
können
dann, selbst wenn die Bilder zwischen den Blöcken leicht abweichen, die
Zonen, in denen die Bilder beginnen sich zu verändern und die Veränderung
beenden, als Zone für
den gültigen
Block beurteilt werden, so daß es
möglich
ist, solch eine diskontinuierliche Bildbewegung zu verhindern, aus
der die gültigen
Blöcke
hervorstechen.
-
19 zeigt ein Schaltungsdiagramm einer vierten
Bilddatencodiervorrichtung zum Codieren von konsekutiven Bilddaten,
die gemäß dem oben
erläuterten
zweiten Bilddatencodierverfahren erzeugt worden sind.
-
In 19 speichert ein Blockpuffer 700 temporär die Bilddaten
in Einheiten von einzelnen Blöcken,
die von einem Eingangsanschluß 700a aus
eingegeben werden.
-
Eine
Referenzrahmenhalteeinheit 702 ist ein Speicher zum Speichern
von Bilddaten eines Referenzrahmens. Die Bilddaten dieses Referenzrahmens
werden als Bilddaten des vorhergehenden Rahmens verwendet.
-
Eine
Blockveränderungsbestimmungseinheit 704 vergleicht
Bildelemente von Blockbilddaten des gegenwärtigen Rahmens, die in dem
Blockpuffer 700 gespeichert worden sind, mit Bildelementen
von Blockbilddaten des Referenzrahmens, die in der Referenzrahmenhalteeinheit 702 gespeichert
worden sind und an derselben Position wie an jener der zuerst erwähnten Blockbilddaten
angeordnet sind, um dadurch Veränderungsbeträge von vorbestimmten Bildelementwerten
für die
jeweiligen Blöcke
des gegenwärtigen
Rahmens bezüglich
des Referenzrahmens zu berechnen. Dann vergleicht diese Blockveränderungsbestimmungseinheit 704 ferner
den Veränderungsbetrag
der Bildelementwerte mit einem Schwellenwert, der von einer Schwellenwerthalteeinheit 706 abgeleitet
wird, wodurch eine Veränderung der
Bilder der jeweiligen Blöcke
des gegenwärtigen Rahmens
bezüglich
des Referenzrahmens bestimmt wird, wodurch nämlich bestimmt wird, ob der
eingegebene Block ein gültiger
Block ist oder nicht. Dieser Veränderungsbetrag
der Bildelementwerte enthält entweder
einen Maximalwert eines Absolutwertes für differentielle Bildelementwerte
innerhalb des eingegebenen Blocks oder einen akkumulierten Wert
von Absolutwerten für
alle differentiellen Bildelementwerte innerhalb des eingegebenen
Blocks, anderenfalls einen akkumulierten Wert von Quadratwerten
für Absolutwerte
von allen differentiellen Bildelementwerten innerhalb des eingegebenen
Blocks.
-
Die
Bestimmungsschwellenwerthalteeinheit 706 hält zwei
verschiedene Arten von Schwellenwerten (die als "großer
Schwellenwert und kleiner Schwellenwert" bezeichnet werden) und selektiert einen
von diesen zwei Schwellenwerten gemäß einem Schwellenwertveränderungssignal,
das von der Blockveränderungsbestimmungseinheit 704 zugeführt wird,
um den selektierten Schwellenwert für die Blockveränderungsbestimmungseinheit 704 bereitzustellen.
Eine Blockinformationshalteeinheit 708 hält Veränderungsinformationen
(Informationen, die angeben, ob ein eingegebener Block einem gültigen Block
oder einem ungültigen
Block entspricht) des eingegebenen Blocks, die von der Blockveränderungsbestimmungseinheit 704 zugeführt werden.
-
Eine
Einheit zum Codieren mit variabler Länge 710 codiert nur
die Bilddaten des gültigen
Blocks, die in dem Blockpuffer 700 gespeichert sind, gemäß dem Beurteilungsresultat,
das angibt, ob die jeweiligen Blöcke
dem gültigen
Block entsprechen oder nicht, und von der Blockveränderungsbestimmungseinheit 704 eingegeben
werden. Die Einheit zum Codieren mit variabler Länge 710 ist zum Beispiel,
wie in 20 gezeigt, gebildet aus einer
Einheit für
die zweidimensionale DCT-Transformation 7100 zum Transformieren
des übertragenen
Blockbildes durch eine zweidimensionale diskrete Cosinuskonvertierung
in einen zweidimensionalen DCT-Koeffizienten mit
Raumfrequenzverteilung, einer Quantisierungseinheit 7102 zum
Quantisieren dieses zweidimensionalen DCT-Koeffizienten mit einem
visuell adaptiven Schwellenwert, um einen Quantisierungskoeffizienten
zu erhalten, und einer Einheit zum Codieren mit variabler Länge 7104a zum
Codieren des Quantisierungskoeffizienten mit variabler Länge auf
der Basis einer statistisch erhaltenen Huffman-Tabelle.
-
Ein
Multiplexer 712 gibt die Blockinformationen in bezug auf
alle Blöcke
des gegenwärtigen
Rahmens, die in der Blockinformationshalteeinheit 708 gespeichert
worden sind, und die codierten Daten, die von der Codiereinheit 710 erzeugt
werden, selektiv aus.
-
Nun
werden Operationen der Bilddatencodiervorrichtung mit der oben beschriebenen
Anordnung erläutert.
-
Die
Bilddaten von jedem Block für
den gegenwärtigen
Rahmen werden dem Eingangsanschluß 700a eingegeben
und dann in dem Blockpuffer 700 temporär gespeichert. Die Referenzrahmenhalteeinheit 702 speichert
die Referenzbilddaten, die verwendet werden, um zu detektieren,
ob eine Veränderung
des Bildes des gegenwärtigen
Blocks bezüglich
des Bildes des vorherigen Rahmens vorhanden ist oder nicht.
-
Die
Blockveränderungsbestimmungseinheit 704 vergleicht
Bildelemente von Blockbilddaten des gegenwärtigen Rahmens, die in dem
Blockpuffer 700 gespeichert worden sind, mit Bildelementen
von Blockbilddaten des Referenzrahmens, die in dem Referenzrahmen
gespeichert worden sind, um zu bestimmen, ob der eingegebene Block
ein gültiger Block
ist oder nicht. Dieser Veränderungsbetrag
der Bildelementwerte enthält
entweder einen Maximalwert eines Absolutwertes für differentielle Bildelementwerte
innerhalb des eingegebenen Blocks oder einen akkumulierten Wert
von Absolutwerten für
alle differentiellen Bildelementwerte innerhalb des eingegebenen
Blocks, anderenfalls einen akkumulierten Wert von Quadratwerten
für Absolutwerte
aller differentiellen Bildelementwerte innerhalb des eingegebenen
Blocks. Dann führt
die Blockveränderungsbestimmungseinheit 704 das
Beurteilungsresultat (das entweder einen gültigen Block oder einen ungültigen Block
bezeichnet) der Blockinformationshalteeinheit 708 zu, um
in ihr gespeichert zu werden.
-
Die
Blockveränderungsbestimmungseinheit 704 gibt
ein Referenzrahmenumschreibsignal an die Referenzrahmenhalteeinheit 702 aus,
wenn das Beurteilungsresultat den gültigen Block bezeichnet. Bei Empfang
des Referenzrahmenumschreibsignals aktualisiert die Referenzrahmenhalteeinheit 702 die Bilddaten
des Blocks, die an derselben Position wie an jener des gültigen Blocks
angeordnet sind, der in ihr gehalten wird, durch die Bilddaten dieses
gültigen Blocks,
der jetzt in dem Blockpuffer 700 gespeichert ist.
-
Ferner
führt die
Blockveränderungsbestimmungseinheit 704 das
Schwellenwertveränderungssignal
gemäß dem Beurteilungsresultat
der Bestimmungsschwellenwerthalteeinheit 706 zu, und sie
verändert
den Schwellenwert, der von der Bestimmungsschwellenwerthalteeinheit 706 abgeleitet
wurde, von dem großen
Schwellenwert auf den kleinen Schwellenwert, wenn das Beurteilungsresultat
den gültigen
Block bezeichnet, und verändert
ihn umgekehrt von dem kleinen Schwellenwert auf den großen Schwellenwert,
wenn das Beurteilungsresultat den ungültigen Block bezeichnet. Ferner
gibt die Blockveränderungsbestimmungseinheit 704 das
Beurteilungsresultat an die Einheit zum Codieren mit variabler Länge 710 aus.
Die Einheit zum Codieren mit variabler Länge 710 liest die
Bilddaten dieses gültigen Blocks
aus dem Blockpuffer 700, wenn das eingegebene Beurteilungsresultat
dem gültigen
Block entspricht, um diese Bilddaten zu codieren, und führt im Gegensatz
dazu die Lese- und Codieroperationen für die Bilddaten des ungültigen Blocks
nicht aus, wenn das Beurteilungsresultat dem ungültigen Block entspricht.
-
Der
Multiplexer 712 schaltet die Blockinformationen, die in
der Blockinformationshalteeinheit 708 gespeichert sind,
und die codierten Daten mit variabler Länge, die von einer ADCT-Codiereinheit 710 eingegeben
werden, sequentiell um, um die umgeschalteten Daten sukzessive auszugeben.
-
Wie
oben beschrieben, wird gemäß der vierten
Bilddatencodiervorrichtung, wenn beurteilt wird, daß der gegenwärtige Block
der gültige
Block ist, der Bestimmungsschwellenwert auf den kleinen Schwellenwert
gesetzt, und dann wird eine andere Beurteilung der Veränderung
des Bildes des anschließenden
Blocks bezüglich
des Referenzrahmens auf der Basis dieses kleinen Schwellenwertes
vorgenommen. Wenn im Gegen satz dazu beurteilt wird, daß der gegenwärtige Block
der ungültige
Block ist, wird der Bestimmungsschwellenwert auf den großen Schwellenwert
gesetzt, und dann wird eine Prüfung der
Veränderung
des Bildes des nächsten
Blocks bezüglich
des Referenzrahmens auf der Basis des großen Schwellenwertes vorgenommen.
-
In
Abhängigkeit
davon, ob das Bild in dem gegenwärtigen
Block abweicht oder nicht, wird der Schwellenwert selektiert, wie
zuvor erläutert,
der verwendet wird, um die Bildabweichung zu beurteilen, die in
dem nachfolgenden Block auftritt, so daß die Zonen von gültigen Blöcken längs der
Blockscanrichtung konsekutiv extrahiert werden können. Als Resultat ist es möglich, eine
unnatürliche
Anzeige der Blöcke
auf dem Bildschirm zu unterdrücken,
die bewirkt wird, wenn die gültigen
Blöcke
eine unterbrochene Kontinuität
aufweisen.
-
Unter
Bezugnahme auf die 21 bis 23 werden nun die oben beschriebenen Vorteile
eingehender beschrieben. Wie in 21A dargestellt, können sich
gemäß dem Verfahren
zum Bestimmen des gültigen
Blocks durch Vergleichen des Veränderungsbetrages
des Blocks mit einem einzelnen Schwellenwert die folgenden Schwierigkeiten
ergeben, wenn sich das Bild des Blocks im Vergleich zu dem des vorherigen
Blocks allmählich
verändert.
Das heißt,
sowohl der Veränderungsstartabschnitt "A" des Bildes als auch der Veränderungsendabschnitt "C" von ihm innerhalb der Zonen A, B, C
würden
als "ungültige" Blöcke beurteilt,
wie in 21B gezeigt, und nur der Veränderungsspitzenabschnitt
B würde als "gültiger" Block beurteilt. Da demzufolge nur
die Zone B während
der Bilddecodieroperation reproduziert oder decodiert wird, kann
diese Zone B solch einen Eindruck vermitteln, daß diese Zone aus den benachbarten
Zonen A, C hervorsticht.
-
Im
Gegensatz dazu kann gemäß der vierten Bildcodiervorrichtung,
wie in 21C gezeigt, wenn beurteilt
wird, daß der
Bildveränderungsspitzenabschnitt
B ein gültiger
Block ist, da der Bestimmungsschwellenwert für den gültigen Block selektiert wird, um
ein niedriger Schwellenwert zu sein, auch die Zone C als gültiger Block
beurteilt werden, so daß die Zone
des gültigen
Blocks fortgesetzt werden kann.
-
Wie
in 22A gezeigt, könnte dann,
wenn der Block B, der eine kleine Bildveränderung aufweist, ausschließlich innerhalb
der Zone des gültigen Blocks
vorhanden ist, falls nur ein Schwellenwert als Bestimmungsschwellenwert
des gültigen
Blocks verwendet werden würde,
beurteilt werden, daß der Block
A gültig
ist, der Block B ungültig
ist und der Block C gültig
ist (siehe 22B), so daß die gültigen Blöcke unterbrochen würden, wodurch
sich ein unnatürliches
decodiertes Bild ergibt. Im Gegensatz dazu wird im Fall der vierten
Bilddatencodiervorrichtung, wie in 22C gezeigt,
wenn der Block A als gültiger
Block beurteilt wird, der kleine Bestimmungsschwellenwert selektiert,
so daß der
Block B auch als gültiger
Block beurteilt wird, woraus sich ein natürliches decodiertes Bild ergibt.
Somit kann die Zone des gültigen
Blocks ab der Veränderungsstartzone
A bis zu der Veränderungsendzone
C fortgesetzt werden.
-
Ähnlich erscheinen
dann, wie in 23A gezeigt, im Fall von Bildern,
deren Blockveränderungsbeträge nicht
konstant sind, falls nur ein Bestimmungsschwellenwert verwendet
wird, die gültigen Blöcke intermittierend
(siehe 23B). Falls die vierte Bilddatencodiervorrichtung
verwendet wird, sind die gültigen
Blöcke
kontinuierlich, wie in 23C gezeigt,
und deshalb kann die Bildqualität
des decodierten Bildes verbessert werden.
-
24 ist ein Flußdiagramm zum Erläutern eines
dritten Bilddatencodierverfahrens.
-
Auch
bei diesem dritten Bilddatencodierverfahren werden die Bilddaten
von jedem Block für
den gegenwärtigen
Rahmen mit den Bilddaten des Blocks für den vorherigen Rahmen verglichen,
die an derselben Position des zuerst genannten Blocks angeordnet
sind, wodurch eine Beurteilung diesbezüglich getroffen wird, ob jeder
Block des gegenwärtigen Rahmens
ein gültiger
Block ist oder nicht (Schritt S31). Dann werden im Fall des gültigen Blocks
zum Beispiel die Veränderungsinformationen "1" ausgegeben (Schritt S32), und ein Schwellenwert
mit einem kleinen Wert wird als Bestimmungsschwellenwert des gültigen Blocks
selektiert (Schritt S33).
-
Andererseits
werden im Fall eines ungültigen Blocks
zum Beispiel die Veränderungsinformationen "0" ausgegeben (Schritt S34), und danach
wird der andere Schwellenwert, der einen großen Schwellenwert hat, als
Schwellenwert für
den gültigen
Block selektiert (Schritt S35).
-
Charakteristisch
für dieses
dritte Bilddatencodierverfahren, sind die Prozesse, die ab Schritt S36
definiert sind. Das heißt,
wenn beurteilt wird, daß der
gegenwärtige
Block dem gültigen
Block entspricht, wird dann, nachdem die Prozeßoperation des vorherigen Schrittes
S33 ausgeführt
worden ist, wieder die andere Beurteilung diesbezüglich vorgenommen,
ob der vorherige Block der gültige
Block ist oder nicht, indem der kleine Schwellenwert verwendet wird,
der bei Schritt S33 selektiert wird.
-
Wenn
dann der vorherige Block der gültige Block
ist, werden die Veränderungsinformationen dieses
vorherigen Blocks zum Beispiel auf "1" gesetzt
(Schritt S37). Als Resultat werden dann, falls der vorherige Block
als ungültiger
Block bei dem vorhergehenden Schritt S31 beurteilt worden ist, dessen Veränderungsinformationen
zum Beispiel von "0" auf "1" verändert.
Mit anderen Worten, der vorhergehende Block wird von dem ungültigen Block
in den gültigen Block
verändert.
Dann wird dieser vorhergehende Block, der als gültiger Block beurteilt worden
ist, codiert (Schritt S38).
-
Andererseits
wird anschließend
an den obigen Schritt S35 eine andere Beurteilung diesbezüglich vorgenommen,
ob der vorhergehende Block dem gültigen
Block entspricht oder nicht (Schritt S39). Falls der vorherige Block
der gültige
Block ist, werden dann die Bilddaten des vorherigen Blocks codiert (Schritt
S40).
-
Wenn,
wie oben beschrieben, eine Beurteilung vorgenommen wird, daß der gegenwärtige Block
dem gültigen
Block entspricht, wird der Schwellenwert, der zum Bestimmen des
gültigen
Blocks verwendet wird, reduziert, und es wird eine Prüfung ausgeführt, ob
der vorherige Block dem gültigen
Block entspricht oder nicht. Dann werden als Resultat dieser Beurteilung,
wenn solch eine Beurteilung vorgenommen wird, daß der vorhergehende Block der
gültige
Block ist, die Veränderungsinformationen
des vorherigen Blocks auf "1" gesetzt, wodurch
er als gültiger
Block bezeichnet wird, und die Bilddaten dieses vorherigen Blocks
werden codiert.
-
Wenn
der gegenwärtige
Block andererseits dem ungültigen
Block entspricht, wird der Schwellenwert zum Bestimmen des gültigen Blocks
erhöht. Falls
der vorherige Block dann der gültige
Block ist, werden die Bilddaten dieses vorherigen Blocks codiert.
-
Wenn
eine Reihe von Prozeßoperationen, wie
sie ab Schritt S31 bis S40 definiert sind, für die gegenwärtigen Rahmen
von allen Blöcken
vollendet worden sind (Schritt S41), wird eine Prüfung diesbezüglich vorgenommen,
ob der letzte Block des gegenwärtigen
Rahmens einem gültigen
Block entspricht oder nicht (Schritt S42). Falls der letzte Block dem
gültigen
Block entspricht, werden dann die Bilddaten dieses letzten Blocks
codiert (Schritt S43).
-
25 ist ein schematisches Blockdiagramm zum Zeigen
einer Schaltungsanordnung einer fünften Bilddatencodiervorrichtung
zum Codieren eines konsekutiven Bildes durch das oben beschriebene
dritte Bilddatencodierverfahren. Es versteht sich, daß dieselben
Bezugszeichen, die verwendet wurden, um die Schaltungsblöcke in der
vierten Bilddatencodiervorrichtung zu bezeichnen, die in 19 gezeigt ist, eingesetzt wurden, um dieselben
oder ähnliche
Schaltungsblöcke
in 25 zu bezeichnen.
-
In
der fünften
Bilddatencodiervorrichtung von 25 hält eine
Halteeinheit des vorherigen Blocks 724 die Bilddaten des
Blocks (nämlich
des vorherigen Blocks), die den Bilddaten des gegenwärtigen Blocks
vorausgehen, die in dem Blockpuffer 700 gespeichert worden
sind. Ähnlich
wie die Blockveränderungsbestimmungseinheit 704,
die in der vierten Bilddatencodiervorrichtung verwendet wurde, entspricht eine
Blockveränderungsbestimmungseinheit 722 solch
einer Schaltung zum Bestimmen, bei jedem der Blöcke in dem gegenwärtigen Rahmen,
ob es ein gültiger
Block ist oder nicht. Wenn diese Blockveränderungsbestimmungseinheit 722 beurteilt,
daß der
gegenwärtige
Block, der in dem Blockpuffer 700 gespeichert ist, der
gültige
Block ist, gibt die Bestimmungseinheit 722 ein Neuüberprüfungssignal
des vorherigen Blocks an die Halteeinheit des vorherigen Blocks 724 aus.
-
Als
nächstes
folgt eine Beschreibung von Operationen der fünften Bilddatencodiervorrichtung mit
der oben beschriebenen Schaltungsanordnung.
-
Die
Bilddaten der jeweiligen Blöcke
in dem gegenwärtigen
Rahmen werden von dem Eingangsanschluß 700a aus dem Blockpuffer 700 eingegeben, um
temporär
in ihm gespeichert zu werden. Die Referenzrahmenhalteeinheit 702 hält die Bilddaten
des Referenzrahmens, die verwendet werden, um zu detektieren, ob
eine Veränderung
des Bildes des Blocks in dem gegenwärtigen Rahmen bezüglich des
Bildes des entsprechenden Blocks in dem vorherigen Rahmen vorhanden
ist oder nicht. Die Blöcke
in dem gegenwärtigen
Rahmen sind in dem Blockpuffer 700 gespeichert.
-
Die
Blockveränderungsbestimmungseinheit 722 liest
die Bilddaten des relevanten Blocks des Referenzrahmens aus der
Referenzrahmenhalteeinheit 702 aus. Der relevante Block
ist an derselben Position wie an jener des gegenwärtigen Blocks
angeordnet, der in dem Blockpuffer 700 gespeichert ist.
Ferner vergleicht die Blockveränderungsbestimmungseinheit 722 Bildelemente
der Bilddaten des relevanten Blocks in dem Referenzrahmen mit Bildelementen
der Bilddaten des gegenwärtigen
Blocks, die an denselben Positionen angeordnet sind, und berechnet
dann einen Veränderungsbetrag
des Blocks auf der Basis von Veränderungsbeträgen dieser
Bildelemente, nämlich
einen sogenannten "Blockveränderungsbetrag" (zum Beispiel einen
Maximalwert von Absolutwerten für
den oben erläuterten
Veränderungsbetrag,
einen akkumulierten Betrag von Absolutwerten für alle Bildelemente, einen
akkumulierten Betrag von quadrierten Werten der Veränderungsbeträge für alle Bildelemente).
Weiterhin vergleicht die Blockveränderungsbestimmungseinheit 722 diesen Blockveränderungsbetrag
mit dem Schwellenwert, der von der Bestimmungsschwellenwerthalteeinheit 706 ausgegeben
wird, um dadurch zu bestimmen, ob der gegenwärtige Block dem gültigen Block
entspricht oder nicht (nämlich
einem Block, dessen Veränderungsbetrag
größer als
der Schwellenwert ist).
-
Wenn
der gegenwärtige
Block dem gültigen Block
entspricht, gibt dann die Blockveränderungsbestimmungseinheit 722 ein
Referenzrahmenumschreibsignal an die Referenzrahmenhalteeinheit 702 aus.
Bei Empfang dieses Referenzrahmenumschreibsignals aktualisiert die
Referenzrahmenhalteeinheit 702 die Bilddaten des Blocks
in dem Referenzrahmen, der in ihr gehalten wird, die an derselben
Position wie an jener des gegenwärtigen
Blocks angeordnet sind, durch die Bilddaten des gegenwärtigen Blocks,
die in dem Blockpuffer gespeichert sind.
-
Zusätzlich zu
der obigen Operation gibt die Blockveränderungsbestimmungseinheit 722 ein Schwellenwertveränderungssignal,
das dem Beurteilungsresultat entspricht, an die Bestimmungsschwellenwerthalteeinheit 706 aus
und führt
solch eine Steuerung aus, daß dann,
wenn das Beurteilungsresultat den gültigen Block bezeichnet, der
Schwellenwert, der von der Bestimmungsschwellenwerthalteeinheit 706 abgeleitet
wird, ein kleiner Schwellenwert wird, während dann, wenn das Beurteilungsresultat den
ungültigen
Block bezeichnet, der Schwellenwert, der von der Bestimmungsschwellenwerthalteeinheit 706 abgeleitet
wird, ein großer
Schwellenwert wird.
-
Darüber hinaus
liest die Blockveränderungsbestimmungseinheit 722 die
Bilddaten des vorherigen Blocks aus der Halteeinheit des vorherigen Blocks
aus, wenn das Beurteilungsresultat den gültigen Block bezeichnet, und
sie vergleicht die Bilddaten dieses vorherigen Blocks mit den Bilddaten
des Blocks in dem Referenzrahmen auf die oben beschriebene Weise,
wobei der Block des Referenzrahmens an derselben Position wie der
Block des vorherigen Rahmens angeordnet ist, der in der Referenzrahmenhalteeinheit 702 gehalten
wird, wodurch eine Neuüberprüfung diesbezüglich vorgenommen
wird, ob der vorherige Block dem gültigen Block entspricht oder
nicht.
-
Wenn
dann die Blockveränderungsbestimmungseinheit 722 beurteilt,
daß der
vorherige Block der gültige
Block ist, stellt die Bestimmungseinheit 722 das Beurteilungsresultat
(die Veränderungsinformationen)
dieses vorherigen Blocks auf den gültigen Block ein (zum Beispiel
auf "1") und gibt die eingestellten
Veränderungsinformationen
an die Blockinforma tionshalteeinheit 708 und die Codiereinheit 710 aus.
Wenn die Blockveränderungsbestimmungseinheit 722 andererseits
beurteilt, daß der
vorherige Block der ungültige
Block ist, gibt diese Bestimmungseinheit 722 das Beurteilungsresultat
(die Veränderungsinformationen)
des vorherigen Blocks, der in ihr gehalten wird, an die Blockinformationshalteeinheit 708 und
die Codiereinheit 710 aus.
-
Wenn
das Beurteilungsresultat des gültigen Blocks
von der Blockveränderungsbestimmungseinheit 722 abeleitet
ist, codiert die Einheit zum Codieren mit variabler Länge 710 die
Bilddaten des vorherigen Blocks, die in der Halteeinheit des vorherigen Blocks 724 gehalten
werden, und gibt dann die codierten Bilddaten an den Multiplexer
(MPX) 712 aus. Wenn umgekehrt das Beurteilungsresultat
des ungültigen
Blocks von der Blockveränderungsbestimmungseinheit 722 abgeleitet
wird, führt
die Einheit zum Codieren mit variabler Länge 710 die oben beschriebene
Codieroperation nicht aus.
-
Der
Multiplexer 712 schaltet die Veränderungsinformationen bezüglich der
jeweiligen Blöcke, die
in der Blockinformationshalteeinheit 708 gehalten werden,
und die variablen codierten Daten bezüglich der jeweiligen Blöcke, die
von der Einheit zum Codieren mit variabler Länge 710 eingegeben
werden, sequentiell um und gibt die oben beschriebenen zwei Arten
von Informationen sukzessive aus.
-
Wie
oben beschrieben, wird in der fünften Bilddatencodiervorrichtung,
wenn eine Beurteilung diesbezüglich
vorgenommen wird, daß der
gegenwärtige
Block der gültige
Block ist, der Bestimmungsschwellenwert des gültigen Blocks auf den kleinen Schwellenwert
gesetzt, und die Bildveränderung
des vorherigen Blocks wird auf der Basis dieses kleinen Schwellenwertes
neu überprüft. Wenn
dann während dieser
Neuüberprüfungsoperation
eine andere Beurteilung in bezug darauf vorgenommen wird, daß der vorherige
Block der gültige Block
ist, werden die Veränderungsinformationen
des vorherigen Blocks auf den gültigen
Block gesetzt. Wenn andererseits eine Beurteilung in bezug darauf
vorgenommen wird, daß der
gegenwärtige
Block der ungültige
Block ist, wird der Bestimmungsschwellenwert des oben erläuterten gültigen Blocks
auf den großen
Schwellenwert gesetzt, um die Bildveränderung des nächsten Blocks zu
beurteilen.
-
Wie
oben beschrieben, wird eine Selektion der Bestimmungsschwellenwerte
für den
gültigen Block
auf der Basis dessen vorgenommen, ob der gegenwärtige Block der gültige Block
ist oder nicht, nämlich
ob eine Bildveränderung
in dem gegenwärtigen
Block vorhanden ist oder nicht. Wenn beurteilt wird, daß der gegenwärtige Block
der gültige
Block ist, wird der vorherige Block auf der Basis des kleinen Schwellenwertes
dahingehend neu überprüft, ob dieser
vorherige Block dem gültigen
Block entspricht. Als Resultat kann, selbst wenn das Bild innerhalb
einer gewissen Zone allmählich
verändert
wird, der gültige
Block korrekt beurteilt werden.
-
Solch
ein Effekt wird nun unter Bezugnahme auf die 21 bis 23 erläutert.
-
Zuerst
würden,
wie in 21A gezeigt, falls das Bild
des Blocks wie etwa ein Abschnitt, der aus den Zonen A, B, C gebildet
ist, allmählich
verändert wird,
wenn die Beurteilung des gültigen
Blocks auf der Basis eines einzelnen Schwellenwertes ausgeführt würde, sowohl
die Veränderungsstartzone
A als auch die Veränderungsendzone
B als ungültige
Blöcke
beurteilt werden, und nur die Bildveränderungsspitzenzone B würde als
gültiger
Block beurteilt werden (siehe 21B).
Als Resultat kann der Eindruck entstehen, daß die Zone B, die dem gültigen Block entspricht,
aus den benachbarten Zonen A und C hervorsticht.
-
Im
Gegensatz dazu wird im Fall der fünften Bilddatencodiervorrichtung,
wie in 21E gezeigt, wenn eine Beurteilung
vorgenommen wird, daß die Bildveränderungsspitzenzone
B der gültige
Block ist, der Bestimmungsschwellenwert des gültigen Blocks in den kleinen
Schwellenwert verändert.
Da die Zone A auf der Basis dieses kleinen Schwellenwertes wieder
darauf geprüft
wird, ob diese Zone A der gültige Block
ist oder nicht, kann danach beurteilt werden, daß diese Zone A dem gültigen Block
entspricht. Infolgedessen kann, wie in 21E gezeigt,
die konsekutive Zone ab der Bildveränderungsstartzone A bis zu
der Bildveränderungsendzone
B als Zone eines gültigen
Blocks beurteilt werden. Da die Bilder der Zonen A, B, C während der
Bilddecodieroperation zusammen verändert werden, könnte deshalb
eine natürliche
Bildwiedergabe realisiert werden.
-
Wenn
ferner, wie in 22A gezeigt, eine Zone B, die
eine kleine Bildabweichung aufweist, ausschließlich innerhalb einer konsekutiven
Zone vorhanden ist, deren Bild bezüglich des Bildes des vorherigen
Rahmens verändert
worden ist, wird in dem Fall, wenn nur ein Bestimmungsschwellenwert des
gültigen
Blocks verwendet wird, das folgende Beurteilungsresultat erhalten.
Die Zone A ist der gültige Block,
die Zone B ist der ungültige
Block, und die Zone C ist der gültige
Block, so daß die
Zonen des gültigen
Blocks unterbrochen sind, wodurch solch ein Eindruck entsteht, daß ein unnatürliches
decodiertes Bild betrachtet wird, wenn das Bild während der
Bilddecodier-/-darstellungsoperationen verfolgt wird. Da jedoch
gemäß der fünften Bilddatencodiervorrichtung,
wie in 22C gezeigt, die Zone B auch
als gültiger
Block beurteilt wird, kann eine konsekutive Zone ab der Bildveränderungsstartzone
bis zu der Bildveränderungsendzone
als gültiger
Block beurteilt werden. Infolgedessen kann, da jede der Zonen A,
B und C während
der Decodier-/Anzeigeoperationen verändert wird, ein natürliches
decodiertes Bild erhalten werden.
-
Ähnlich werden,
wie in 23A gezeigt, in solch einer
konsekutiven Zone, deren Blockveränderungsbetrag nicht konstant
ist, wenn nur ein Bestimmungsschwellenwert für den gültigen Block genutzt wird,
die Zonen, die als gültiger
Block beurteilt werden, unterbrochen (siehe 23A).
Im Gegensatz dazu kann gemäß der fünften Bilddatencodiervorrichtung,
wie in 23D gezeigt, die Bildqualität des decodierten
Bildes von ihr verbessert werden, da eine Beurteilung diesbezüglich vorgenommen
wird, daß eine
konsekutive Zone ab der Bildveränderungsstartzone
bis zu der Bildveränderungsendzone
der gültige Block
ist.
-
26 ist das Flußdiagramm, welches das 4. Bilddatencodierverfahren
zeigt.
-
Bei
diesem Codierverfahren werden zwei Schwellen, die jeweils einen
anderen Wert haben, als Blockgültigkeitsbestimmungsschwelle
verwendet.
-
Gemäß diesem
Codierverfahren wird eine Schwelle, die einen kleineren Wert hat
(eine kleinere Schwelle), als Blockgültigkeitsbestimmungsschwelle selektiert
(S51).
-
Zuerst
wird unter Verwendung der kleineren Schwelle bestimmt, ob der gegenwärtige Block
gültig ist
oder nicht (S52). Falls ja, wird eine Schwelle mit einem größeren Wert
(eine größere Schwelle)
als Blockgültigkeitsbestimmungsschwelle
selektiert (S53).
-
Dann
wird unter Verwendung der größeren Schwelle
bestimmt, ob der folgende Block gültig ist oder nicht (S54).
Falls ja, wird ein Wert, der angibt, daß der gegenwärtige Block
gültig
ist (zum Beispiel "1"), als Veränderungsinformationen
bezüglich
des gegenwärtigen
Blocks (S55) ausgegeben. Als nächstes
werden die Bilddaten in dem gegenwärtigen Block codiert (S56).
-
Falls
bei Schritt S54 bestimmt wird, daß der folgende Block ungültig ist,
wird dann ein Wert, der angibt, daß der gegenwärtige Block
ungültig
ist (zum Beispiel "0"), als Veränderungsinformationen
bezüglich
des gegenwärtigen
Blocks ausgegeben (S57). In diesem Fall werden die Bilddaten in
dem gegenwärtigen
Block nicht codiert.
-
Die
Prozesse bei den Schritten S51 bis S57 werden an allen Blöcken in
einem Rahmen ausgeführt.
Falls die Veränderungsinformationen
für den vorletzten
Block ausgegeben worden sind ("JA" bei S58), wird dann
unter Verwendung einer kleineren Schwelle bestimmt, ob der letzte
Block gültig
ist oder nicht (S59). Nur falls bestimmt wird, daß der Block gültig ist,
werden die Bilddaten in dem letzten Block codiert (S60).
-
Somit
wird bei diesem Codierverfahren unter Verwendung der kleineren Schwelle
bestimmt, ob der gegenwärtige
Block gültig
ist oder nicht. Falls ja, wird unter Verwendung der größeren Schwelle
bestimmt, ob der folgende Block gültig ist oder nicht. Nur falls bestimmt
wird, daß der
folgende Block gültig
ist, wird bestimmt, daß der
gegenwärtige
Block gültig
ist, wird ein Wert, der angibt, daß der gegenwärtige Block
gültig
ist, eingestellt und als Veränderungsinformationen bezüglich des
gegenwärtigen
Blocks ausgegeben, und die Bilddaten in dem gegenwärtigen Block
werden codiert. Das heißt,
auch bei diesem Codierverfahren können die Daten in einem gültigen Block
codiert werden.
-
27 ist das Blockdiagramm, das die Schaltungskonfiguration
der 6. Bilddatencodiervorrichtung zum Codieren von Bilddaten in
einem Rahmen in Blockeinheiten gemäß dem 4. Bilddatencodierverfahren
zeigt.
-
In 27 ist ein Block, der auch in dem Blockdiagramm
erscheint, welches die 4. Bilddatencodiervorrichtung darstellt,
die in 19 gezeigt ist, mit dem Zeichen
versehen, das ihm dort zugeordnet ist.
-
Ein
Puffer des gegenwärtigen
Blocks 732 speichert Bilddaten in dem gegenwärtigen Block, dessen
Daten zu codieren sind.
-
Ein
Puffer des folgenden Blocks 734 speichert Bilddaten in
dem folgenden Block, die durch den Eingangsanschluß 700a zugeführt werden.
-
Eine
Blockveränderungsbestimmungseinheit 736 bestimmt
unter Verwendung einer kleineren Schwelle, die durch die Bestimmungsschwellenwertspeichereinheit 706 angewendet
wird, ob der oben beschriebene gegenwärtige Block gültig ist
oder nicht, gemäß den Bilddaten
in dem gegenwärtigen Block,
die in dem Puffer des gegenwärtigen
Blocks 732 gespeichert sind, und den Bilddaten in dem Referenzrahmen,
die in der Referenzrahmenspeichereinheit 701 gespeichert
sind. Falls die Bestimmung ergibt, daß der gegenwärtige Block
gültig
ist, bestimmt dann die Blockveränderungsbestimmungseinheit 736 unter
Verwendung einer größeren Schwelle,
die durch die Bestimmungsschwellenwertspeichereinheit 706 angewendet
wird, ob der folgende Block gültig
ist oder nicht, gemäß den Bilddaten
in dem folgenden Block, die in dem Puffer des folgenden Blocks 734 gespeichert
sind, und den Bilddaten in dem Referenzrahmen, die in der Referenzrahmenspeichereinheit 701 gespeichert
sind. Falls die Bestimmung ergibt, daß der folgende Block gültig ist, wird
dann das Bestimmungsresultat an die Blockinformationsspeichereinheit 708 und
die Codiereinheit 710 als Veränderungsinformationen bezüglich des gegenwärtigen Blocks
ausgegeben.
-
Das
heißt,
die Blockveränderungsbestimmungseinheit 736 liest
aus der Referenzrahmenspeichereinheit 732 die Bilddaten
in dem Block, die an der Position angeordnet sind, die jener des
gegenwärtigen
Blocks entspricht, der in dem Puffer des gegenwärtigen Blocks gespeichert ist,
in dem Referenzrahmen, vergleicht Bildelemente der Bilddaten in dem
gegen wärtigen
Block mit jenen in dem Block in dem Referenzrahmen, erhält eine
Abweichung in einem Block gemäß der Abweichung
jedes Bildelementes (zum Beispiel den Maximalwert in einem Block,
einen akkumulativen Wert der Absolutwerte der oben beschriebenen
Abweichungen von allen Bildelementen, einen akkumulativen Wert von
Quadratzahlen der Abweichung aller Bildelemente, etc.), vergleicht
die Blockabweichung mit einer kleineren Schwelle, die durch die
Schwellenspeichereinheit 706 angewendet wird, und bestimmt,
ob der gegenwärtige
Block gültig
ist oder nicht, nachdem bestimmt wird, ob die Blockabweichung größer als
die kleinere Schwelle ist oder nicht.
-
Falls
dann das Bestimmungsresultat einen gültigen Block bezeichnet, speichert
die Blockveränderungsbestimmungseinheit 736 intern
Veränderungsinformationen,
die einen gültigen
Block bezeichnen, gibt sie ein Schwellenveränderungssignal an die Bestimmungsschwellenspeichereinheit 706 aus
und schaltet Schwellen, die durch die Bestimmungsschwellenspeichereinheit 706 ausgegeben werden,
von einer kleineren Schwelle auf eine größere Schwelle um.
-
Die
Blockveränderungsbestimmungseinheit 736 liest
Bilddaten in dem folgenden Block aus dem Puffer des folgenden Blocks 734,
liest aus der Referenzrahmenspeichereinheit 701 die Bilddaten
in dem Block, die an der Position angeordnet sind, die jener des
folgenden Blocks entspricht, in dem Referenzrahmen und berechnet
dann die Blockabweichung, wie oben beschrieben. Die Blockabweichung
wird mit einer größeren Schwelle
verglichen, die durch die Bestimmungsschwellenspeichereinheit 706 angewendet
wird, und es wird bestimmt, ob der folgende Block gültig ist
oder nicht.
-
Falls
dann die Blockveränderungsbestimmungseinheit 736 bestimmt,
daß der
folgende Block gültig
ist, bestimmt sie, daß der
gegenwärtige
Block gültig
ist, und sie gibt das Bestimmungsresultat des gegenwärtigen Blocks
(das einen signifikanten Block bezeichnet) an die Blockinformationsspeichereinheit 708 und
die Codiereinheit 710 aus. Falls die Blockveränderungsbestimmungseinheit 736 bestimmt, daß der folgende
Block ungültig
ist, stellt sie dann das Bestimmungsresultat des gegenwärtigen Blocks auf "einen ungültigen Block" ein und gibt es
an die Blockinformationsspeichereinheit 708 und die Codiereinheit 710 aus.
-
Wenn
die Blockveränderungsbestimmungseinheit 736 bestimmt,
daß der
gegenwärtige
Block ein gültiger
Block ist, gibt sie dann ein Referenzrahmenumschreibsignal an die
Referenzrahmenspeichereinheit 701 aus. Bei Empfang des
Signals aktualisiert die Referenzrahmenspeichereinheit 701 die Bilddaten
in dem Block in dem Referenzrahmen auf die Daten in dem entsprechenden
Block in dem gegenwärtigen
Block.
-
Bei
Empfang eines Bestimmungsresultats von der Blockveränderungsbestimmungseinheit 736 liest
die Codiereinheit 710 die Bilddaten in dem gegenwärtigen Block
aus dem Blockpuffer 732, codiert sie die Bilddaten in dem
gegenwärtigen
Block und gibt sie an den Multiplexer (MPX) 712 aus. Falls
das Bestimmungsresultat jedoch einen ungültigen Block bezeichnet, codiert
die Codiereinheit 710 keine Bilddaten in dem gegenwärtigen Block.
-
Der
Multiplexer 712 schaltet Veränderungsinformationen bezüglich jedes
Blocks, die von der Blockinformationsspeichereinheit 708 angewendet werden,
und codierte Daten mit variabler Länge eines gültigen Blocks, die von der
Codiereinheit 710 empfangen werden, sequentiell um und
gibt sie aus.
-
Somit
wird mit der 6. Bilddatencodiervorrichtung, wenn der gegenwärtige Block
unter Verwendung einer kleineren Bestimmungsschwelle als gültiger Block
bestimmt wird, unter Verwendung einer größeren Bestimmungsschwelle weiter
bestimmt, ob der folgende Block gültig ist oder nicht. Falls
ja, wird bestimmt, daß der
gegenwärtige
Block gültig
ist. Falls nein, wird bestimmt, daß der gegenwärtige Block
ungültig
ist.
-
Die
Operation der 6. Bilddatencodiervorrichtung wird unter Bezugnahme
auf die 21 bis 23 erläutert.
-
Wie
oben beschrieben, werden dann, falls ein Blockbild eine moderate
Abweichung von seinem vorherigen Rahmen aufweist und falls eine
Bestimmung eines gültigen
Blocks unter Verwendung einer einzelnen Schwelle für die Bereiche
A, B und C vorgenommen wird, ein Bildveränderungsstartbereich A und
ein Bildveränderungsendbereich
C, wo eine Abweichung von Daten von ihrem vorherigen Rahmen relativ
moderat ist, als ungültige
Blöcke
bestimmt, und nur ein Bildveränderungsspitzenbereich
B wird als gültiger
Block bestimmt, wie in 21B gezeigt. Deshalb
wird nur der gültige
Block B deutlich angezeigt, wenn ein Bild rekonstruiert wird, was
zu einem unnatürlichen
Bild führt.
-
Falls
bei der 6. Bilddatencodiervorrichtung ein Bereich A unter Verwendung
einer kleineren Schwelle als gültig
bestimmt wird, wie in 21D gezeigt,
wird dann unter Verwendung einer größeren Schwelle bestimmt, ob
der Bereich B, das heißt,
der folgende Block, gültig
ist oder nicht. Deshalb kann ein Bereich, der eine Abweichung der
Bilder von dem vorherigen Rahmen aufweist, zweckmäßig detektiert werden,
und die angrenzenden Bereiche A und B können als gültig bestimmt werden. Als Resultat
wird ein natürliches
Bild erhalten, nachdem ein ursprüngliches
Bild rekonstruiert wird.
-
Falls
des weiteren, wie in 22A gezeigt, angrenzende
Bereiche eine Abweichung der Bilder von den vorherigen Rahmen aufweisen
und falls sich das Bild in dem zentralen Abschnitt der Bereiche
moderat verändert,
wird dann beim Bestimmen eines gültigen
Blocks unter Verwendung einer einzelnen Schwelle bestimmt, daß der Bereich
A gültig
ist, der Bereich B ungültig
ist und der Bereich C gültig
ist. Dann sieht das rekonstruierte Bild im Bereich B unnatürlich aus.
-
Andererseits
wird mit der 6. Bilddatencodiervorrichtung unter Verwendung einer
kleineren Schwelle bestimmt, daß der
Bereich B gültig
ist, und unter Verwendung einer größeren Schwelle wird bestimmt,
daß der
Bereich C gültig
ist. Deshalb wird der Bereich B als gültig bestimmt. Als Resultat
können, wie
in 22D gezeigt, die angrenzenden
Bereiche B und C als gültig
bestimmt werden, wodurch ein natürlicheres
Bild rekonstruiert wird.
-
Als
nächstes
ist 28 das Flußdiagramm, welches das 5. Bilddatencodierverfahren
zeigt.
-
Bei
diesem Codierverfahren werden zwei Schwellen verwendet, um zu bestimmen,
ob ein Block gültig
ist oder nicht.
-
Das
heißt,
zuerst wird eine Schwelle mit einem größeren Wert (eine größere Schwelle)
als Bestimmungsschwelle eines gültigen
Blocks selektiert (S71). Unter Verwendung der größeren Schwelle wird bestimmt,
ob der gegenwärtige
Block gültig
ist oder nicht (S72). Falls ja, wird ein Wert, der angibt, daß der gegenwärtige Block
gültig
ist (zum Beispiel "1"), festgelegt und
als Veränderungsinformationen bezüglich des
gegenwärtigen
Blocks ausgegeben (S73), und die Bilddaten in dem gegenwärtigen Block werden
codiert (S74).
-
Falls
bei Schritt S72 bestimmt wird, daß der gegenwärtige Block
ungültig
ist, wird dann eine kleinere Schwelle als Bestimmungsschwelle eines
gültigen
Blocks selektiert (S75). Dann wird unter Verwendung der kleineren
Schwelle bestimmt, ob der gegenwärtige
Block gültig
ist oder nicht (S76). Falls nein, wird ein Wert, der angibt, daß der gegen wärtige Block
ungültig
ist (zum Beispiel "0"), festgelegt und als
Veränderungsinformationen
bezüglich
des gegenwärtigen
Blocks ausgegeben (S77), und die Bilddaten in dem gegenwärtigen Block
werden nicht codiert.
-
Falls
bei Schritt S76 bestimmt wird, daß der gegenwärtige Block
ein gültiger
Block ist, wird dann die größere Schwelle
als Bestimmungsschwelle eines gültigen
Blocks selektiert (S78), und es wird bestimmt, ob der vorherige
Block gültig
ist oder nicht (S79).
-
Falls
bei der Bestimmung bestimmt wird, daß der vorherige Block gültig ist,
wird bestimmt, daß der gegenwärtige Block
gültig
ist, und die Prozesse bei den Schritten S73 und S74 werden ausgeführt.
-
Falls
andererseits bei Schritt S78 bestimmt wird, daß der vorherige Block ungültig ist,
wird dann unter Verwendung der größeren Schwelle bestimmt, ob
der folgende Block gültig
ist oder nicht (S80). Falls ja, wird bestimmt, daß der gegenwärtige Block
gültig ist,
und die Prozesse bei Schritt S73 und S74 werden ausgeführt.
-
Falls
bei Schritt S80 bestimmt wird, daß der folgende Block gültig ist,
wird dann der gegenwärtige Block
als gültig
angesehen, und nur der Prozeß bei Schritt
S77 wird ausgeführt.
-
Falls
die Prozesse bei den Schritten S71 bis S80 an allen Blöcken in
einem Rahmen ausgeführt werden
und falls die Prozesse bei den Schritten S71 bis S80 bei allen Blöcken vollendet
worden sind ("Ja" bei S81), ist die
Verarbeitung dann vollendet.
-
Falls
bei Schritt S79 während
der Bestimmung des letzten Blocks in einem Rahmen bestimmt wird,
daß der
vorherige Block ungültig
ist, wird dann bestimmt, daß der
letzte Block ungültig
ist, und der Prozeß von
Schritt S77. wird sofort ausgeführt.
-
Falls
bei Schritt S76 während
der Bestimmung des führenden
Blocks bestimmt wird, daß der gegenwärtige Block
gültig
ist, wird dann der Prozeß von
Schritt S80 sofort nach Schritt S78 ausgeführt.
-
29 ist das Blockdiagramm, welches die allgemeine
Konfiguration der 7. Bilddatencodiervorrichtung zum Codieren einer
Serie von Bildern durch das oben beschriebene 5. Bilddatencodierverfahren zeigt.
-
In 29 ist ein Block, falls der Block auch in den
Diagrammen der 5. und 6. Bilddatencodiervorrichtungen erscheint,
die in den 25 bzw. 27 gezeigt
sind, mit dem Zeichen versehen, das ihm in diesen Figuren zugeordnet
ist.
-
Eine
Blockveränderungsbestimmungseinheit 742 empfängt die
Bilddaten in dem gegenwärtigen
Block von dem Puffer des gegenwärtigen
Blocks 732, die Bilddaten in dem vorherigen Block von dem Puffer
des vorherigen Blocks 724 und die Bilddaten in dem folgenden
Block von dem Puffer des folgenden Blocks 734. Die Blockveränderungsbestimmungseinheit 742 liest
aus der Referenzrahmenspeichereinheit 701 sequentiell Bilddaten
in den Blöcken,
die an den Positionen der oben beschriebenen gegenwärtigen,
vorherigen und folgenden Blöcke
angeordnet sind. Dann bestimmt sie unter Verwendung einer größeren und/oder
kleineren Schwelle, die von der Bestimmungsschwellenwertspeichereinheit 706 empfangen
werden, und gemäß der Prozedur,
die in dem Flußdiagramm
von 28 gezeigt ist, ob der gegenwärtige Block
eine Differenz bezüglich
jenes in dem Referenzrahmen aufweist und gültig ist oder nicht.
-
Als
nächstes
wird die Operation der 7. Bilddatencodiervorrichtung erläutert, die
in 29 gezeigt ist.
-
Bilddaten
in jedem Block in einem Rahmen werden durch den Eingangsanschluß 700a angewendet
und temporär
in dem Puffer des folgenden Blocks 734 gespeichert und
dann in dem Puffer des gegenwärtigen
Blocks 732 gespeichert. Wenn die Bilddaten in dem gegenwärtigen Block
codiert worden sind, werden sie zu dem Puffer des gegenwärtigen Blocks 732 übertragen
und in ihm als Bilddaten in einem neuen gegenwärtigen Block gespeichert. Die
Bilddaten in dem gegenwärtigen
Block, die in dem Puffer des gegenwärtigen Blocks 732 gespeichert
sind, werden sofort nach dem Codieren zu dem Puffer des vorherigen
Blocks 724 übertragen
und als Bilddaten in einem neuen vorherigen Blockgespeichert.
-
Wenn
bestimmt wird, ob der gegenwärtige Block,
dessen Bilddaten in dem Puffer des gegenwärtigen Blocks 732 gespeichert
sind, gültig
ist oder nicht, liest die Blockveränderungsbestimmungseinheit 742 aus
der Referenzrahmenspeichereinheit 701 die Bilddaten in
dem Block, die an der Position angeordnet sind, die jener des gegenwärtigen Blocks
entspricht, des Referenzrahmens, vergleicht sie die Bilddaten in
dem Block in dem Referenzrahmen mit den Bilddaten in dem gegenwärtigen Block,
die in dem Puffer des gegenwärtigen
Blocks 732 gespeichert sind, durch Vergleichen von Bildern
an den entsprechenden Positionen und erhält sie die Differenz des Bildelementwertes
für jedes
Bildelement. Dann wird die Differenz in Blockeinheiten (zum Beispiel
der maximale Absolutwert der Differenz in einem Block, der akkumulative
Wert von Absolutwerten von Differenzen für alle Bildelemente in einem
Block, der akkumulative Wert von Quadratzahlen von Differenzen für alle Bildelemente
in einem Block, etc.) erhalten. Dann wird die Differenz in einem
Block mit einer größeren Schwelle
verglichen, die durch die Bestimmungsschwellenspeichereinheit 706 vorgesehen
wird, und dann wird bestimmt, ob der gegenwärtige Block gültig ist
oder nicht. Das heißt,
falls die oben beschriebene Differenz in einem Block gleich der
größeren Schwelle
oder größer als
diese ist, wird dann bestimmt, daß der gegenwärtige Block
gültig
ist.
-
Falls
somit die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
gegenwärtige Block
gültig
ist, gibt sie dann das Bestimmungsresultat an die Blockinformationsspeichereinheit 708 und die
Codiereinheit 710 aus. Dann codiert die Codiereinheit 710 die
Bilddaten in dem gegenwärtigen Block,
die in dem Puffer des gegenwärtigen
Blocks 732 gespeichert sind, und gibt die codierten Daten
an den Multiplexer (MPX) 712 aus.
-
Andererseits
legt die Blockinformationsspeichereinheit 708 einen Wert,
der angibt, daß der
gegenwärtige
Block gültig
ist (zum Beispiel "1"), als Blockinformationen
bezüglich
des gegenwärtigen
Blocks fest und speichert ihn als Informationen des gegenwärtigen Blocks
(Veränderungsinformationen).
-
Falls
die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
gegenwärtige
Block ungültig
ist, gibt sie ein Schwellenveränderungssignal
an die Bestimmungsschwellenspeichereinheit 706 aus. Dann
schaltet die Bestimmungsschwellenspeichereinheit 706 die
Schwellen von der größeren auf
die kleinere um und gibt die kleinere Schwelle aus.
-
Die
Blockveränderungsbestimmungseinheit 742 bestimmt
wieder unter Verwendung der kleineren Schwelle gemäß der oben
beschriebenen Prozedur, ob der gegenwärtige Block gültig ist
oder nicht.
-
Falls
die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
gegenwärtige
Block ungültig
ist, gibt er dann das Bestimmungsresultat an die Blockinformationsspeichereinheit 708 und
die Codiereinheit 710 aus.
-
Dann
stellt die Blockinformationsspeichereinheit 708 einen Wert,
der angibt, daß der
gegenwärtige
Block ungültig ist
(zum Beispiel "0"), als Informationen
des gegenwärtigen
Blocks (Veränderungsinformationen)
ein und speichert ihn.
-
Falls
die Blockveränderungsbestimmungseinheit 742 unter
Verwendung der kleineren Schwelle bestimmt, daß der gegenwärtige Block
gültig
ist, gibt sie dann ein Schwellenveränderungssignal wieder an die
Bestimmungsschwellenspeichereinheit 706 aus und läßt die Bestimmungsschwellenspeichereinheit 706 wieder
die größere Schwelle
ausgeben.
-
Dann
liest die Blockveränderungsbestimmungseinheit 742 die
Bilddaten in dem vorherigen Block aus dem Puffer des vorherigen
Blocks 724, liest aus der Referenzrahmenspeichereinheit 701 die Bilddaten
in dem Block, die an der Position angeordnet sind, die jener des
gegenwärtigen
Blocks entspricht, in dem Referenzrahmen und bestimmt dann unter
Verwendung der größeren Schwelle,
ob der vorherige Block gültig
ist oder nicht, wie bei der Bestimmung des gegenwärtigen Blocks.
-
Falls
die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
vorherige Block gültig ist,
wird bestimmt, daß der
gegenwärtige
Block gültig ist,
und die Einheit gibt das Bestimmungsresultat an die Blockinformationsspeichereinheit 708 und
die Codiereinheit 710 aus. Dann codiert die Codiereinheit 710 die
Bilddaten in dem gegenwärtigen
Block, die in dem Puffer des gegenwärtigen Blocks 732 gespeichert
sind.
-
Die
Blockinformationsspeichereinheit 708 stellt einen Wert,
der angibt, daß der
gegenwärtige Block
gültig
ist, als Blockinformationen bezüglich
des gegenwärtigen
Blocks (Veränderungsinformationen) ein
und speichert ihn.
-
Falls
die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
vorherige Block ungültig
ist, liest sie dann die Bilddaten in dem folgenden Block aus dem
Puffer des folgenden Blocks 734, vergleicht sie die Bilddaten
in dem folgenden Block mit den Bilddaten in dem Block, die an einer
Position angeordnet sind, die jener des folgenden Blocks entspricht,
in dem Referenzrahmen und bestimmt unter Verwendung der größeren Schwelle,
ob der folgende Block gültig
ist oder nicht.
-
Falls
somit die Blockveränderungsbestimmungseinheit 742 den
folgenden Block als gültig
bestimmt, wird dann bestimmt, daß der gegenwärtige Block
gültig
ist, und sie gibt das Bestimmungsresultat an die Blockinformationsspeichereinheit 708 und
die Codiereinheit 710 aus.
-
Somit
führen
die Blockinformationsspeichereinheit 708 und die Codiereinheit 710 die
oben beschriebenen Prozesse aus.
-
Falls
die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
folgende Block ungültig
ist, bestimmt sie dann, daß der
gegenwärtige Block
ungültig
ist, und sie gibt das Bestimmungsresultat an die Blockinformationsspeichereinheit 708 und
die Codiereinheit 710 aus.
-
Als
Resultat legt die Blockinformationsspeichereinheit 708 einen
Wert, der angibt, daß der
gegenwärtige
Block ungültig
ist, als Informationen des gegenwärtigen Blocks (Veränderungsinformationen) fest
und speichert diesen. Die Codiereinheit 710 codiert die
Bilddaten in dem gegenwärtigen
Block nicht, die in dem Puffer des gegenwärtigen Blocks gespeichert sind.
-
Falls
die Blockveränderungsbestimmungseinheit 742 bestimmt,
daß der
gegenwärtige
Block gültig
ist, gibt sie dann ein Referenzrahmenumschreibsignal an die Referenzrahmenspeichereinheit 701 aus.
Die Referenzrahmenspeichereinheit 701 aktualisiert die
Bilddaten in ihrem Block, der an der Position angeordnet ist, die
jener des gegenwärtigen Blocks
entspricht, auf die Bilddaten in dem gegenwärtigen Block.
-
Falls
das Aktualisieren vollendet worden ist, werden die Bilddaten des
gegenwärtigen
Blocks, die in dem Puffer des gegenwärtigen Blocks 732 gespeichert
sind, zu dem Puffer des vorherigen Blocks 724 übertragen,
und dann werden die Bilddaten des folgenden Blocks, die in dem Puffer
des folgenden Blocks 734 gespeichert sind, zu dem Puffer
des gegenwärtigen
Blocks 732 übertragen.
Als nächstes werden
die Bilddaten in einem neuen Block durch den Eingangsanschluß 700a eingegeben
und auf den Puffer des folgenden Blocks 734 angewendet und
in ihm gespeichert.
-
Der
Multiplexer 712 schaltet alternierend Blockinformationen
von jedem Block, die in der Blockinformationsspeichereinheit 708 gespeichert
sind, und codierte Daten mit variabler Länge eines gültigen Blocks, die von der
Codiereinheit 710 angewendet werden, um und gibt sie sequentiell
aus. Somit wird mit der 7. Bilddatencodiervorrichtung unter Verwendung
einer größeren Schwelle
bestimmt, daß der
gegenwärtige
Block gültig
ist, falls eingeschätzt
wird, daß sein
Bild von jenem des vorherigen Rahmens (Referenzrahmen) abweicht.
-
Falls
unter Verwendung einer größeren Schwelle
bestimmt wird, daß der
gegenwärtige
Block ungültig
ist, wird dann unter Verwendung einer kleineren Schwelle bestimmt,
ob das Bild in dem gegenwärtigen
Rahmen von jenem in dem vorherigen Rahmen (Referenzrahmen) abweicht
oder nicht. Falls gemäß der Bestimmung
bestimmt wird, daß der
gegenwärtige
Block gültig
ist, wird dann unter Verwendung einer größeren Schwelle bestimmt, ob
der vorherige oder folgende Block gültig ist oder nicht. Falls
gemäß der Bestimmung
der vorherige oder der folgende Block gültig ist, wird dann schließlich bestimmt,
daß der
gegenwärtige
Block gültig
ist.
-
Da
der gegenwärtige
Block somit als gültig angesehen
wird, können
Blöcke
in dem Bereich, wo ein Bild eine mode rate Abweichung von jenem in dem
vorherigen Rahmen aufweist, oder in einer Serie von Bereichen, wo
Differenzen in Bildern nicht konstant sind, als gültig festgelegt
werden.
-
Als
nächstes
wird die Operation der 7. Bildcodiervorrichtung unter Bezugnahme
auf die 21 bis 23 konkret
erläutert.
-
Zuerst
wird, wie in 21A gezeigt, falls bestimmt
wird, ob ein Block in einer Serie von Bereichen A, B und C, wo eine
Abweichung in einem Bild von jenem in dem vorherigen Rahmen moderat
zunimmt und dann moderat abnimmt, gültig ist oder nicht, bestimmt,
daß sowohl
der Bildveränderungsstartbereich
A als auch der Bildveränderungsendbereich
C ungültige
Blöcke
betreffen, während
bestimmt wird, daß nur
der Bereich B, wo die Bildveränderung
ihre Spitze hat, einen gültigen
Block betrifft, wie in 21B gezeigt.
Wenn deshalb die Serie von Bereichen rekonstruiert und angezeigt
wird, werden Bilder nur in dem Bereich B verändert, während dieselben Bilder für die gegenwärtigen und
vorherigen Rahmen angezeigt werden, wodurch als Ganzes unnatürliche Bilder
angezeigt werden.
-
Andererseits
wird mit der 7. Bilddatencodiervorrichtung unter Verwendung einer
größeren Schwelle
bestimmt, daß der
Bereich A ungültig
ist, und dann wird unter Verwendung einer kleineren Schwelle bestimmt,
daß es
ein vorläufig
gültiger Block
ist. Da unter Verwendung einer größeren Schwelle bestimmt wird,
daß der
folgende Block, das heißt,
der Bereich B, ein gültiger
Block ist, wird bestimmt, daß der
Bereich A schließlich
gültig
ist. Obwohl unter Verwendung einer größeren Schwelle bestimmt wird,
daß der
Bereich C ungültig
ist, wird ebenfalls unter Verwendung einer kleineren Schwelle bestimmt,
daß er
vorläufig
gültig
ist. Da unter Verwendung einer größeren Schwelle bestimmt wird, daß der vorherige
Block, das heißt,
der Bereich B, gültig
ist, wird dann bestimmt, daß der
Bereich C schließlich
gültig
ist. Somit verändern
sich mit der 7. Bilddatencodiervorrichtung Bilder in den Bereichen
A und C, wo Bilder moderat von jenen in dem vorherigen Rahmen abweichen,
und es wird bestimmt, daß die
gesamte Serie von Bereichen A, B und C gültig ist, wie in 21E gezeigt. Als Resultat werden, wenn Bilder
rekonstruiert werden, alle Daten in den Bereichen A, B und C rekonstruiert,
wodurch natürlichere
Bilder angezeigt werden.
-
Falls
eine Abweichung in einem Bild in dem zentralen Abschnitt moderater
als in dessen benachbarten Endabschnitten A und B ist, wie in 22A gezeigt, wird bestimmt, daß nur der oben beschriebene
zentrale Bereich B ungültig
ist, wenn eine Bestimmung von gültigen
Blöcken
unter Verwendung einer einzelnen Schwelle vorgenommen wird, wie
in 22B gezeigt. Deshalb kann das
ursprüngliche Bild
nicht natürlich
mit sanften Linien angezeigt werden, da Bereiche mit Bildveränderungen
durch einen Bereich mit einem unveränderten Bild unterbrochen werden,
wenn das ursprüngliche
Bild rekonstruiert und angezeigt wird.
-
Bei
der 7. Bilddatencodiervorrichtung wird andererseits unter Verwendung
einer größeren Schwelle
bestimmt, daß der
Bereich B ungültig
ist, aber daß er
gültig
ist, wenn eine kleinere Schwelle verwendet wird. Da unter Verwendung
einer größeren Schwelle
bestimmt wird, daß der
Bereich A, das heißt,
der vorhergehende Block des Bereiches B, gültig ist, wird bestimmt, daß der Bereich
B schließlich gültig ist.
Als Resultat wird bestimmt, wie in 22C gezeigt,
daß alle
Bereiche A, B und C gültig
sind. Deshalb werden Bilder in allen benachbarten Bereichen A, B
und C verändert,
wenn das ursprüngliche Bild
rekonstruiert und angezeigt wird. Somit kann ein natürlich rekonstruiertes
Bild angezeigt werden.
-
Wie
in 23A gezeigt, wird bei der Serie von
Bereichen, wo die Abweichung des Bildes zwischen vorherigen und gegenwärtigen Rahmen
(Abweichung des Blocks) nicht konstant ist und die Bildabweichung
unterbrochen detektiert wird, wenn eine Bestimmung von gültigen Blöcken unter
Verwendung einer einzelnen Schwelle erfolgt, bestimmt, daß alle Blöcke ungültig sind,
falls sich ein Bild moderat verändert,
wie in 23B gezeigt. Wenn das Bild
in den seriellen Bereichen rekonstruiert wird, erscheinen deshalb
Bereiche mit Bildveränderungen
so, als ob sie durch einen anderen Bereich unterbrochen würden, wodurch
ein unnatürliches
Bild angezeigt wird.
-
Andererseits
wird bei der 7. Bilddatencodiervorrichtung bei den oben beschriebenen
Bereichen, wo sich Bilder moderat verändern, unter Verwendung einer
größeren Schwelle
bestimmt, daß der
vorherige oder folgende Block gültig
ist. Deshalb wird bestimmt, wie in 23F gezeigt,
daß die
oben beschriebene Serie von Bereichen insgesamt gültig ist.
Als Resultat wird das Bild all dieser Bereiche verändert, wenn
das ursprüngliche
Bild rekonstruiert und angezeigt wird, wodurch ein natürlich rekonstruiertes
Bild ausgegeben wird.
-
Die
oben beschriebene 7. Bildcodiervorrichtung wird durch Hardware realisiert.
Jedoch kann die Funktion durch Software wie etwa durch Mikroprozessoren
und digitale Signalprozessoren realisiert werden.
-
Die
Funktion kann auch durch Reduzieren der Menge von codierten Übertragungsdaten
realisiert werden, indem Blockinformationen (Veränderungsinformationen) codiert
werden, die angeben, ob jeder Block in einem Rahmen gültig oder
ungültig
ist.
-
Eine
Datenkomprimierungsrate kann bei einer Serie von Bildern, wo eine
kleine Veränderung zwischen
benachbarten Rahmen detektiert werden kann, außerordentlich angehoben werden,
indem selektiv nur Blöcke
codiert und ausgegeben werden, bei denen eine Bildabweichung von
dem vorherigen Rahmen angenommen wurde. Unter Ausnutzung dieses
Effektes kann eine durchschnittliche Komprimierungsrate von Bewegungsdaten,
wie etwa von Bildtelefonbildern, Bewegtbildern, etc., bei denen eine
Kamera stationär
ist, außerordentlich
angehoben werden.
-
Wenn
Bilddaten in einem Block codiert werden, erfolgt die Bestimmung
von gültigen
Blöcken
flexibel, indem zwei Schwellen verwendet werden. Daher kann die
Rekonstruktion eines unnatürlichen
Bildes verhindert werden, indem eine Serie von Bereichen ab Beginn
bis zum Ende einer Veränderung
als gültige
Blockbereiche bestimmt wird, selbst wenn eine Veränderung
im Bild moderat erfolgt.
-
30 ist ein Blockdiagramm, das die Konfigurationen
von 8. und 9. Bilddatencodiervorrichtungen zeigt. Jede der Vorrichtungen
betrifft eine Bilddatencodiervorrichtung zum Codieren einer Serie
von Bilddaten und umfaßt
die folgenden Einheiten.
-
Eine
Referenzrahmenspeichereinheit 811 speichert Bilddaten in
einem Referenzrahmen.
-
Eine
Speichereinheit des gegenwärtigen Rahmens 812 speichert
Bilddaten in dem gegenwärtigen
Rahmen (der letzte Rahmen, dessen Daten zu codieren sind).
-
Eine
Bestimmungsschwellenspeichereinheit 813 speichert eine
Schwelle, die beim Bestimmen der Existenz einer Veränderung
in dem Bild in jedem Block des gegenwärtigen Rahmens verwendet wird, der
an der Position angeordnet ist, die jener in dem Referenzrahmen
entspricht.
-
Eine
Blockveränderungsbestimmungseinheit 814 erhält die Abweichung
eines Bildelementwertes eines Blocks, der an einer Position angeordnet
ist, die jener des Referenzrahmens entspricht, der in der Referenzrahmenspeichereinheit 811 gespeichert
ist, vergleicht die Abweichung mit der Schwelle, die in der Bestimmungsschwellenspeichereinheit 813 gespeichert
ist, und bestimmt die Veränderung
des Bildes in jedem von allen Blöcken
in dem gegenwärtigen
Rahmen bezüglich
des Bildes in dem Block, der an der Position angeordnet ist, die
jener in dem Referenzrahmen entspricht.
-
Eine
Blockinformationsspeichereinheit 815 speichert Bestimmungsresultate
aller Blöcke
in den gegenwärtigen
Rahmen, die durch die Blockveränderungsbestimmungseinheit 814 erhalten
werden, als Blockinformationen.
-
Eine
Codiereinheit 816 codiert Daten in einem gültigen Block,
der als Block mit Bildveränderung
im Vergleich zu dem entsprechenden Block in dem Referenzrahmen bestimmt
wurde, falls der gegenwärtige
Rahmen kein Auffrischrahmen ist, und codiert Daten nach dem Teilen
aller Blöcke
in dem gegenwärtigen
Rahmen in gültige
Blöcke
und ungültige
Blöcke,
die als Blöcke
mit unverändertem
Bild im Vergleich zu dem Referenzrahmen bestimmt wurden, falls der
gegenwärtige
Rahmen ein Auffrischrahmen ist, gemäß den Blockinformationen bezüglich jedes Blocks
in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit 815 gespeichert sind.
-
Die
Referenzrahmenspeichereinheit 811 aktualisiert in dem Referenzrahmen
die Bilddaten in dem Block, der an der Position angeordnet ist,
die jener des Blocks entspricht, dessen Daten durch die Codiereinheit 816 in
dem gegenwärtigen
Rahmen codiert werden, auf die codierten Bilddaten in dem Block
in dem gegenwärtigen
Rahmen.
-
Die
9. Bilddatencodiervorrichtung umfaßt ferner zusätzlich zu
den Einheiten 811, 812, 813, 814, 815 und 816 eine
Auffrischsignalerzeugungseinheit 819 zum Ausgeben eines
Auffrischsignals, das angibt, daß der gegenwärtige Rahmen
ein Auffrischrahmen ist, wenigstens an die Codiereinheit und die
Referenzrahmenspeichereinheit 811 immer dann, wenn die Anzahl
von Rahmen, deren Daten durch die Codiereinheit 816 codiert
wurden, einen vorbestimmten Wert erreicht.
-
Falls
in der 8. und 9. Bilddatencodiervorrichtung der gegenwärtige Rahmen
ein Auffrischrahmen ist, teilt dann die Codiereinheit 816 den
gegenwärtigen
Rahmen in gültige
Blöcke
und ungültige
Blöcke, um
Daten in zwei Schritten zu codieren. Deshalb codiert die Codiereinheit 816 zuerst
alle gültigen
Blöcke und
dann alle ungültigen
Blöcke.
-
Da
Daten in Auffrischrahmen zu mehreren Zeiten von Codierprozessen
codiert werden, können Daten
von codierten Bildern in Auffrischrahmen, die eine große Menge
von Codes haben, in mehreren Schritten übertragen und rekonstruiert
werden.
-
Deshalb
kann die Rekonstruktionseinrichtung ihren Rekonstruktionsprozeß in Zeitintervallen starten,
in denen Rahmendaten normal rekonstruiert werden, und die Kapazität eines
Codepuffers kann sowohl in der Codier- als auch in der Rekonstruktionseinrichtung
reduziert werden.
-
Wenn
Daten in einem Auffrischrahmen codiert werden, werden jene in gültigen Blöcken zuerst codiert,
da sie einen größeren Einfluß auf die
Qualität eines
rekonstruierten Bildes haben. Nachdem die Daten in allen gültigen Blöcken codiert
worden sind, werden Daten in ungültigen
Blöcken
codiert.
-
Somit
können
in der Rekonstruktionseinrichtung Daten in einem Auffrischrahmen
natürlicher
als bei einem herkömmlichen
Verfahren rekonstruiert werden, und die Kapazität eines Puffers kann sowohl in
der Codier- als auch in der Rekonstruktionseinrichtung reduziert
werden, obwohl der Auffrischrahmen eine große Menge von Codes hat.
-
31 ist ein Blockdiagramm, das die Konfiguration
der 10. Bilddatencodiervorrichtung zeigt. Die Vorrichtung betrifft
eine Bilddatencodiervorrichtung zum Codieren einer Serie von Bilddaten
und umfaßt die
folgenden Einheiten.
-
Eine
Referenzrahmenspeichereinheit 821 speichert Bilddaten in
einem Referenzrahmen.
-
Eine
Speichereinheit des gegenwärtigen Rahmens 822 speichert
Bilddaten in dem gegenwärtigen
Rahmen (der letzte Rahmen, dessen Daten zu codieren sind).
-
Eine
Bestimmungsschwellenspeichereinheit 823 speichert eine
Schwelle, die beim Bestimmen der Existenz einer Veränderung
des Bildes in jedem Block des gegenwärtigen Rahmens verwendet wird, der
an der Position angeordnet ist, die jener in dem Referenzrahmen
entspricht.
-
Eine
Blockveränderungsbestimmungseinheit 824 erhält die Abweichung
des Bildelementwertes eines Blocks, der an einer Position angeordnet ist,
die jener des Referenzrahmens entspricht, der in der Referenzrahmenspeichereinheit 821 gespeichert ist,
vergleicht die Abweichung mit der Schwelle, die in der Bestimmungsschwellenspeichereinheit 823 gespeichert
ist, und bestimmt die Veränderung
des Bildes in jedem von allen Blöcken
des gegenwärtigen Rahmens
bezüglich
des Bildes in dem Block, der an der Position angeordnet ist, die
jener in dem Referenzrahmen entspricht.
-
Eine
Blockinformationsspeichereinheit 825 speichert Bestimmungsresultate
aller Blöcke
in den gegenwärtigen
Rahmen, die durch die Blockveränderungsbestimmungseinheit 824 erhalten
werden, als Blockinformationen.
-
Eine
Codiereinheit 826 codiert Daten in einem gültigen Block,
der als Block mit Bildveränderung
im Vergleich zu dem entsprechenden Block in dem Referenzrahmen bestimmt
wurde, falls der gegenwärtige
Rahmen kein Auffrischrahmen ist, und codiert Daten nach dem Teilen
aller Blöcke
in dem gegenwärtigen
Rahmen in gültige
Blöcke
und ungültige
Blöcke,
die als Blöcke
mit unverändertem
Bild im Vergleich zu dem Referenz rahmen bestimmt wurden, falls der
gegenwärtige
Rahmen ein Auffrischrahmen ist, gemäß den Blockinformationen bezüglich jedes Blocks
in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit 825 gespeichert sind.
-
Eine
Rahmenschalteinheit 827 schaltet von der gegenwärtigen Referenzrahmenspeichereinheit 821 auf
die Speichereinheit des gegenwärtigen
Rahmens 822 und von der Speichereinheit des gegenwärtigen Rahmens 822 auf
die Referenzrahmenspeichereinheit 821, wenn der gegenwärtige Rahmen, dessen
Daten durch die Codiereinheit 826 codiert werden, ein Auffrischrahmen
ist.
-
Die
Referenzrahmenspeichereinheit 821 aktualisiert in dem Referenzrahmen
die Bilddaten in dem Block, der an der Position angeordnet ist,
die jener des Blocks entspricht, dessen Daten durch die Codiereinheit 826 in
dem gegenwärtigen
Rahmen codiert werden, auf die codierten Bilddaten in dem Block
in dem gegenwärtigen
Rahmen, falls der gegenwärtige
Rahmen kein Auffrischrahmen ist.
-
Bei
der Codiervorrichtung schaltet die Rahmenschalteinheit 827 von
der gegenwärtigen
Referenzrahmenspeichereinheit 821 auf die Speichereinheit
des gegenwärtigen
Rahmens 822 und von der Speichereinheit des gegenwärtigen Rahmens 822 auf
die Referenzrahmenspeichereinheit 821, wenn der gegenwärtige Rahmen,
dessen Daten durch die Codiereinheit 826 codiert werden,
ein Auffrischrahmen ist. Deshalb können bei einem Auffrischprozeß Daten
in einem Referenzrahmen mit höherer
Geschwindigkeit als bei einem herkömmlichen Verfahren aktualisiert
werden.
-
32 ist das Blockdiagramm, das die Konfiguration
der 11. Bilddatencodiervorrichtung zeigt. Die Vorrichtung betrifft
eine Bilddatencodiervorrichtung zum Codieren einer Serie von Bilddaten
und umfaßt
die folgenden Einheiten.
-
Eine
Referenzrahmenspeichereinheit 831 speichert Bilddaten in
einem Referenzrahmen.
-
Eine
Speichereinheit des gegenwärtigen Rahmens 832 speichert
Bilddaten in dem gegenwärtigen
Rahmen (der letzte Rahmen, dessen Daten zu codieren sind).
-
Eine
Bestimmungsschwellenspeichereinheit 833 speichert eine
Schwelle, die beim Bestimmen der Existenz einer Veränderung
des Bildes in jedem Block des gegenwärtigen Rahmens verwendet wird, der
an der Position angeordnet ist, die jener in dem Referenzrahmen
entspricht.
-
Eine
Blockveränderungsbestimmungseinheit 834 erhält die Abweichung
des Bildelementwertes eines Blocks, der an einer Position angeordnet ist,
die jener des Referenzrahmens entspricht, der in der Referenzrahmenspeichereinheit 831 gespeichert ist,
vergleicht die Abweichung mit der Schwelle, die in der Bestimmungsschwellenspeichereinheit 833 gespeichert
ist, und bestimmt die Veränderung
des Bildes in jedem von allen Blöcken
des gegenwärtigen Rahmens
bezüglich
des Bildes in dem Block, der an der Position angeordnet ist, die
jener in dem Referenzrahmen entspricht.
-
Eine
Codiereinheit 835 codiert Daten in den gültigen Blöcken, bei
denen durch die Blockveränderungsbestimmungseinheit 834 bestimmt
worden ist, daß deren
Daten von Daten in dem Referenzrahmen abweichen.
-
Eine
Bestimmungsschwellenneuzuordnungseinheit 836 bestimmt,
ob eine Schwelle, die gegenwärtig
in der Bestimmungsschwellenspeichereinheit 833 gespeichert
ist, ein geeigneter Wert ist oder nicht, gemäß der Menge von Codes von Daten,
die durch die Codiereinheit 835 codiert werden. Falls nicht,
stellt die Einheit die Bestimmungsschwellenspeichereinheit 833 auf
einen Wert ein, der sich von der Schwelle unterscheidet.
-
Falls
die Bestimmungsschwellenneuzuordnungseinheit 836 bestimmt,
daß die
Schwelle, die gegenwärtig
in der Bestimmungsschwellenspeichereinheit 833 gespeichert
ist, ein geeigneter Wert ist, gibt dann eine Ausgabeeinheit für codierte
Daten 837 Daten aus, die durch die Codiereinheit 835 codiert
wurden.
-
33 ist das Blockdiagramm, das die Konfiguration
der 12. Bilddatencodiervorrichtung zeigt. Die Vorrichtung betrifft
eine Bilddatencodiervorrichtung zum Codieren einer Serie von Bilddaten
und umfaßt
die folgenden Einheiten.
-
Eine
Referenzrahmenspeichereinheit 841 speichert Bilddaten in
einem Referenzrahmen.
-
Eine
Speichereinheit des gegenwärtigen Rahmens 842 speichert
Bilddaten in dem gegenwärtigen
Rahmen (der letzte Rahmen, dessen Daten zu codieren sind).
-
Eine
Bestimmungsschwellenspeichereinheit 843 speichert eine
Schwelle, die beim Bestimmen der Existenz einer Veränderung
des Bildes in jedem Block des gegenwärtigen Rahmens verwendet wird, der
an der Position angeordnet ist, die jener in dem Referenzrahmen
entspricht.
-
Eine
Blockveränderungsbestimmungseinheit 844 erhält die Abweichung
des Bildelementwertes eines Blocks, der an einer Position angeordnet ist,
die jener des Referenzrahmens entspricht, der in der Referenzrahmenspeichereinheit 841 gespeichert ist,
vergleicht die Abweichung mit der Schwelle, die in der Bestimmungsschwellenspeichereinheit 843 gespeichert
ist, und bestimmt die Veränderung
des Bildes in jedem von allen Blöcken
in dem gegenwärtigen
Rahmen bezüglich
des Bildes in dem Block, der an der Position angeordnet ist, die
jener in dem Referenzrahmen entspricht.
-
Eine
Bestimmungsschwellenneuzuordnungseinheit 845 zählt die
Anzahl von gültigen
Blöcken,
bei denen die Bestimmung erfolgte, daß sie Veränderungen des Bildes bezüglich eines Referenzrahmens
aufweisen, oder die Anzahl von ungültigen Blöcken, bei denen die Bestimmung
erfolgte, daß sie keine
Veränderungen
des Bildes bezüglich
des Referenzrahmens aufweisen. Dann bestimmt die Einheit, ob die
Schwelle, die in der Bestimmungsschwellenspeichereinheit 843 gespeichert
ist, ein zweckmäßiger Wert
ist oder nicht, gemäß der Anzahl
der gültigen
Blöcke
oder der ungültigen
Blöcke.
Falls nein, setzt die Einheit die Bestimmungsschwellenspeichereinheit 843 auf
einen Wert, der sich von der Schwelle unterscheidet.
-
Eine
Codiereinheit 846 codiert Daten in den Blöcken in
dem gegenwärtigen
Rahmen, die in der Speichereinheit des gegenwärtigen Rahmens 842 gespeichert
sind und bei denen die Bestimmung durch die Bestimmungsschwellenspeichereinheit 843 erfolgte,
daß sie
gültig
sind, falls die Bestimmungsschwellenneuzuordnungseinheit 845 bestimmt,
daß die
Schwelle, die in der Bestimmungsschwellenspeichereinheit 843 gespeichert
ist, ein zweckmäßiger Wert
ist.
-
Gemäß den 11.
und 12. Bilddatencodiervorrichtungen bestimmt jede der Bestimmungsschwellenneuzuordnungseinheiten 836 und 845,
ob eine Schwelle, die gegenwärtig
in den Bestimmungsschwellenspeichereinheiten 833 und 843 gespeichert sind,
ein geeigneter Wert ist oder nicht, gemäß der Menge von Daten, die
durch die Codiereinheit 835 codiert werden, oder gemäß der Anzahl
von Blöcken, bei
denen die Bestimmung durch die Blockveränderungsbestimmungseinheit 844 erfolgt,
daß sie
gültig oder
ungültig
sind. Falls nein, führen
die Einheiten wiederholt einen Prozeß zum Neuzuordnen eines anderen
Wertes in den Bestimmungsschwellenspeichereinheiten 833 und 843 aus,
bis bestimmt wird, daß die
Schwelle ein geeigneter Wert ist. Wenn die Einheiten bestimmen,
daß die
Schwelle ein geeigneter Wert ist, geben sie codierte Daten von Bildern
in dem gegenwärtigen
Rahmen aus.
-
Deshalb
können
Bilddaten in jedem Rahmen codiert wer den, um sich gemäß den Charakteristiken von
Bildern und einer Übertragungsrate
einer Übertragungsleitung
auf eine geeignete Menge von Codes zu beziehen.
-
34 ist das Blockdiagramm, das die Konfiguration
der 13. Bilddatencodiervorrichtung zeigt. Die Vorrichtung betrifft
eine Bilddatencodiervorrichtung zum Codieren einer Serie von Bilddaten
und umfaßt
die folgenden Einheiten.
-
Eine
Referenzrahmenspeichereinheit 851 speichert Bilddaten in
einem Referenzrahmen.
-
Eine
Speichereinheit des gegenwärtigen Rahmens 852 speichert
Bilddaten in dem gegenwärtigen
Rahmen (der letzte Rahmen, dessen Daten zu codieren sind).
-
Eine
Histogrammerzeugungseinheit 853 erhält die Abweichung eines vorbestimmten
Bildelementwertes, die als Maß beim
Detektieren einer Bildveränderung
verwendet wird, in jedem Block in dem gegenwärtigen Rahmen in bezug auf
den Block, der an einer Position angeordnet ist, die dem Block mit verändertem
Bild entspricht, gemäß den Bilddaten
in dem Referenzrahmen, der in der Referenzrahmenspeichereinheit 851 gespeichert
ist, und den Bilddaten in dem gegenwärtigen Rahmen, die in der Speichereinheit
des gegenwärtigen
Rahmens 852 gespeichert sind, wodurch ein Histogramm für die Abweichung
in dem gesamten gegenwärtigen
Rahmen erzeugt wird.
-
Eine
Bestimmungsschwelleneinstelleinheit 854 stellt eine Bestimmungsschwelle
ein, die verwendet wird, um die Existenz einer Veränderung
des Bildes in jedem Block in dem gegenwärtigen Rahmen in bezug auf
den Block, der an einer Position angeordnet ist, die dem Block mit
verändertem
Bild in dem gegenwärtigen
Block entspricht, in dem Referenzrahmen gemäß dem Histogramm zu bestimmen,
das durch die Histogrammerzeugungseinheit 853 erzeugt wird.
-
Eine
Blockveränderungsbestimmungseinheit 855 vergleicht
die Abweichung des vorbestimmten Bildelementwertes in jedem Block
des gegenwärtigen
Rahmens, die durch die Histogrammerzeugungseinheit 853 erzeugt
wird, mit einer Bestimmungsschwelle, die durch die Bestimmungsschwelleneinstelleinheit 854 festgelegt
wurde, um die Existenz eines veränderten
Bildes in allen Blöcken
in dem gegenwärtigen
Rahmen gegenüber
den Blöcken,
die an einer Position angeordnet sind, die einem Block mit verändertem
Bild in dem gegenwärtigen
Rahmen entspricht, in dem Referenzrahmen zu bestimmen.
-
Eine
Codiereinheit 856 codiert hinsichtlich aller Blöcke in dem
gegenwärtigen
Rahmen Daten nur in gültigen
Blöcken,
bei denen durch die Blockveränderungsbestimmungseinheit 855 die
Bestimmung erfolgte, daß sie
veränderte
Bilder aufweisen.
-
Die
Histogrammerzeugungseinheit 853 kann auch konstruiert sein,
um den Absolutwert der Differenz bei einem vorbestimmten Bildelementwert
zwischen Bildelementen in dem gegenwärtigen Rahmen und dem Referenzrahmen
an der entsprechenden Position in dem entsprechenden Block zu erhalten, um
den maximalen Absolutwert der Differenz in jedem Block in dem gegenwärtigen Rahmen
als Abweichung in einem vorbestimmten Block zu erhalten und ein
Histogramm auf der Basis der Abweichung zu erzeugen.
-
Gemäß der 13.
Bilddatencodiervorrichtung erhält
die Histogrammerzeugungseinheit 853 die Abweichung eines
vorbestimmten Bildelementwertes, die als Maß beim Detektieren einer Bildveränderung in
jedem Block in dem gegenwärtigen
Rahmen gegenüber
dem Block verwendet wird, der an einer Position angeordnet ist,
die dem Block mit verändertem Bild
entspricht, gemäß den Bilddaten
in dem Referenzrahmen, die in der Referenzrahmenspeichereinheit 851 gespeichert
sind, und gemäß den Bilddaten in
dem gegenwärtigen
Rahmen, die in der Speichereinheit des gegenwärtigen Rahmens 852 gespeichert
sind, wodurch ein Histogramm für
die Abweichung in dem gesamten gegenwärtigen Rahmen erzeugt wird.
-
Die
Bestimmungsschwelleneinstelleinheit 854 stellt eine Bestimmungsschwelle
ein, die verwendet wird, um die Existenz einer Veränderung
des Bildes in jedem Block in dem gegenwärtigen Rahmen gegenüber dem
Block, der an einer Position angeordnet ist, die dem Block mit verändertem
Bild in dem gegenwärtigen
Block entspricht, in dem Referenzrahmen zu bestimmen, gemäß dem Histogramm,
das durch die Histogrammerzeugungseinheit 853 erzeugt wird.
Die Blockveränderungsbestimmungseinheit 855 vergleicht
die Abweichung des vorbestimmten Bildelementwertes in jedem Block
des gegenwärtigen
Rahmens, die durch die Histogrammerzeugungseinheit 853 erzeugt
wird, mit einer Bestimmungsschwelle, die durch die Bestimmungsschwelleneinstelleinheit 854 festgelegt
wurde, um die Existenz eines veränderten
Bildes in allen Blöcken
in dem gegenwärtigen
Rahmens gegenüber
den Blöcken, die
an einer Position angeordnet sind, die einem Block mit verändertem
Bild in dem gegenwärtigen Rahmen
entspricht, in dem Referenzrahmen zu bestimmen. Die Codiereinheit 856 codiert
hinsichtlich aller Blöcke
in dem gegenwärtigen
Rahmen Daten nur in gültigen
Blöcken,
bei denen durch die Blockveränderungsbestimmungseinheit 855 die
Bestimmung erfolgte, daß sie
veränderte
Bilder aufweisen.
-
Da
eine Schwelle so eingestellt werden kann, daß die Anzahl von gültigen Blöcken auf
der Basis des oben beschriebenen Histogramms einen konstanten Wert
betrifft, kann deshalb der optimale Codierprozeß ausgeführt werden, bei dem eine geeignete
Menge von Codes für
jeden Rahmen in Abhängigkeit
von verschiedenen Bedingungen wie etwa von der Informationsübertragungsgeschwindigkeit
einer Übertragungsleitung, der
Anzahl von übertragenen
Rahmen, etc., erhalten werden kann.
-
35 ist das Blockdiagramm, das die Konfiguration
der 14. Bilddatencodiervorrichtung zeigt. Die Vorrichtung betrifft
eine Bilddatencodiervorrichtung zum Codieren einer Serie von Bilddaten
und umfaßt
die folgenden Einheiten.
-
Eine
Referenzrahmenspeichereinheit 861 speichert Bilddaten in
einem Referenzrahmen.
-
Eine
Bereichsteileinheit 862 teilt Bilddaten in dem gegenwärtigen Rahmen
in eine Vielzahl von Bereichen.
-
Eine
Bestimmungsschwellenausgabeeinheit 863 gibt individuell
eine Schwelle aus, die verwendet wird, um die Existenz einer Veränderung
des Bildes in einer Vielzahl von Blöcken in jedem Bereich, für den die
Bereichsteileinheit 862 zuständig ist, in dem gegenwärtigen Rahmen
gegenüber
dem Block an der entsprechenden Position in dem Referenzrahmen zu
detektieren.
-
Eine
Blockveränderungsbestimmungseinheit 864 erhält die Abweichung
eines vorbestimmten Bildelementwertes für jeden Block in jedem Bereich, der
durch die Bereichsteileinheit 862 erhalten wird, in dem
gegenwärtigen
Rahmen gegenüber
dem entsprechenden Block in dem Referenzrahmen, der in der Referenzrahmenspeichereinheit 861 gespeichert ist,
vergleicht die Abweichung mit der Schwelle, die durch die Bestimmungsschwellenausgabeeinheit 863 angewendet
wird, und bestimmt, ob eine Veränderung
des Bildes zwischen Blöcken
in jedem Bereich in dem gegenwärtigen
Rahmen und den entsprechenden Blöcken
in dem Referenzrahmen detektiert wird oder nicht.
-
Eine
Codiereinheit 865 codiert nur gültige Blöcke, bei denen durch die Blockveränderungsbestimmungseinheit 864 die
Bestimmung erfolgte, daß sie
veränderte
Bilder gegenüber
dem Referenzrahmen aufweisen.
-
Eine
Blockinformationsausgabeeinheit 866 gibt das Bestimmungsresultat
der Blockveränderungsbestimmungseinheit 864 als
Blockinformationen aus.
-
Eine
Referenzrahmenspeichereinheit 861 ersetzt einen Block in
dem Referenzrahmen, der an der Position angeordnet ist, die jener
eines gültigen Blocks
in dem Referenzrahmen entspricht, durch den gültigen Block.
-
36 ist das Blockdiagramm, das einen Aspekt der
Bestimmungsschwellenausgabeeinheit 863 zeigt.
-
In 36 ist eine Schwellenspeichereinheit 863b ein
Speicher zum Speichern einer Vielzahl von Schwellen.
-
Eine
Steuereinheit 863a schaltet in vorbestimmten Intervallen
eine Schwelle um, die durch die Schwellenspeichereinheit 863b an
die Blockveränderungsbestimmungseinheit 864 für jeden
Bereich in dem gegenwärtigen
Rahmen ausgegeben wird.
-
37 ist das Blockdiagramm, das einen anderen Aspekt
der oben beschriebenen Bestimmungsschwellenausgabeeinheit 863 zeigt.
-
In 37 ist eine Schwellenspeichereinheit 863d ein
Speicher zum Speichern einer Vielzahl von Schwellen für eine Vielzahl
von Bereichen in dem gegenwärtigen
Rahmen.
-
Eine
Steuereinheit 863e gibt eine Schwelle für jeden Bereich in dem gegenwärtigen Rahmen
von der Schwellenspeichereinheit 863d aus.
-
Eine
Schwellentransformationseinheit 863f gibt eine Schwelle
für jeden
Bereich in dem gegenwärtigen
Rahmen von der Schwellenspeichereinheit 863d an die Blockveränderungsbestimmungseinheit 864 nach
dem Modifizieren der Schwelle in einem vorbestimmten Rahmenintervall
aus. Der Schwellenmodifizierungsprozeß wird zum Beispiel durch eine arithmetische
Operation ausgeführt.
-
Gemäß der 14.
Bilddatencodiervorrichtung teilt die Bereichsteileinheit 862 die
Bilddaten in dem gegenwärtigen
Rahmen in eine Vielzahl von Bereichen. Dann bestimmt die Blockveränderungsbestimmungseinheit 864 die
Veränderung
des Bildes gegenüber
den Daten in dem entsprechenden Block in dem Referenzrahmen unter
Verwendung einer Schwelle für
jeden Bereich, die durch die Bestimmungsschwellenausgabeeinheit 863 für jeden
Block in jedem Bereich eingegeben wird. Gemäß dem oben beschriebenen Bestimmungsresultat
codiert die Codiereinheit 865 nur gültige Blöcke, bei denen bestimmt wurde,
daß sie
ein verändertes
Bild gegenüber
den Daten in dem Referenzrahmen aufweisen. Die Blockinformationsausgabeeinheit 866 gibt
das oben beschriebene Bestimmungsresultat als Blockinformationen
aus. Ferner ersetzt die Referenzrahmenspeichereinheit 861 einen
Block in dem Referenzrahmen durch den gültigen Block, der an der entsprechenden
Position in dem gegenwärtigen
Rahmen angeordnet ist.
-
Deshalb
frischt die Bestimmungsschwellenausgabeeinheit 863 Bilddaten
in jedem Bereich in dem Referenzrahmen auf und löst das Bildverschlechterungsproblem
auf Grund des oben beschriebenen Fehlers durch Modifizieren der
Schwelle, die für
jeden Bereich in dem gegenwärtigen
Rahmen ausgegeben wird, in vorbestimmten Rahmenintervallen. Da bei
dem Auffrischprozeß nur
gültige
Blöcke
codiert werden, kann die Inkrementierung der Menge von Codes minimiert
werden.
-
Ferner
kann ein Prozeß zum
Reduzieren eines Fehlers in jedem Bereich in dem Referenzrahmen
gegenüber
dem ursprünglichen
Bild ausgeführt werden,
nachdem ein Rahmen in eine Vielzahl von Rahmen geteilt ist, und
an ihnen in vorbestimmter Reihenfolge ausgeführt werden. Somit kann der
Fehler allmählich
reduziert werden. Das heißt,
die gesamten Bereiche werden nicht gleichzeitig aufgefrischt, wie
bei dem herkömmlichen
Verfahren, sondern der Auffrischprozeß kann in Bereichseinheiten über eine
Vielzahl von Rahmen hinweg ausgeführt werden. Deshalb kann ein
unnatürliches
Bild verhindert werden, bei dem das Bild während des Auffrischprozesses
flimmert.
-
Das
heißt,
gemäß der Bestimmungsschwellenausgabeeinheit 863 mit
der Konfiguration, die in 36 gezeigt
ist, steuert die Steuereinheit 863a die Korrelation zwischen
einer Vielzahl von Schwellen, die durch die Schwellenspeichereinheit 863 gespeichert
werden, und jedem Bereich in dem gegenwärtigen Rahmen, so daß die Korrelation
in vorbestimmten Rahmenintervallen verändert wird. Deshalb kann eine
Schwelle, die für
jeden Bereich in dem gegenwärtigen
Rahmen ausgegeben wird, in vorbestimmten Rahmenintervallen modifiziert
werden. Zum Beispiel gibt gemäß der Bestimmungsschwellenausgabeeinheit 863 mit
der Konfiguration, die in 37 gezeigt
ist, die Steuereinheit 863e eine vorbestimmte Schwelle
für jeden
Bereich in dem gegenwärtigen Rahmen
von der Schwellenspeichereinheit 863d aus, und die Schwellentransformationseinheit 863f gibt
an die Blockveränderungsbestimmungseinheit 864 eine
Schwelle aus, die entsprechend jedem Bereich ausgegeben wird, nachdem
sie in vorbestimmten Rahmenintervallen modifiziert wurde. Somit
kann eine Schwelle, die entsprechend jedem Bereich in dem gegenwärtigen Rahmen
ausgegeben wird, in vorbestimmten Rahmenintervallen modifiziert
werden, wodurch der oben beschriebene Effekt mit Erfolg erreicht
wird.
-
38 ist ein Flußdiagramm, welches das 6. Bilddatencodierverfahren
zeigt.
-
Gemäß diesem
Codierverfahren wird, wie in 38 gezeigt,
ein Bildelement in dem ersten Block in einem Rahmen, der auf einen
Bildpuffer angewendet und in ihm gespeichert wurde (im folgenden
als gegenwärtiger
Rahmen bezeichnet), mit jenem in dem entsprechenden Block in dem
Referenzrahmen verglichen, so daß der erste Block in dem gegenwärtigen Rahmen
ein gültiger
Block ist, der eine Veränderung
des Bildes gegenüber
dem gegenwärtigen Rahmen
aufweist (S101).
-
Eine
Bestimmung des gültigen
Blocks kann durch jedes der folgenden Verfahren (1), (2) und (3), etc.,
erfolgen.
- (1) Die Summe von Absolutwerten von
Differenzen zwischen Bildelementen (zum Beispiel Gradationswerte)
in jedem Block in dem gegenwärtigen
Rahmen und jenen in dem entsprechenden Block in dem Referenzrahmen
wird erhalten, und ein Block, der einen Gesamtwert hat, der größer als
eine vorbestimmte Schwelle ist, wird als gültiger Block angesehen. Gemäß diesem
Verfahren wird eine Bestimmung auf der Basis eines Gesamtwertes
vorgenommen. Somit kann eine Veränderung
in einem gesamten Block geprüft
werden.
- (2) Der oben beschriebene Absolutwert der Differenz wird für jeden
Block in dem gegenwärtigen Rahmen
erhalten. Falls der Maximalwert dieser Absolutwerte von Differenzen
größer als
eine vorbestimmte Schwelle ist, wird der Block als gültig angesehen.
Da bei diesem Verfahren nur ein Absolutwert einer Differenz detektiert
werden muß, kann
der Detektionsprozeß mit
hoher Geschwindigkeit mit einer relativ einfachen Schaltung ausgeführt werden.
- (3) Die Summe von Quadratzahlen von Differenzen zwischen Bildelementen
(zum Beispiel Gradationswerte) in jedem Block in dem gegenwärtigen Rahmen
und dem entsprechenden Block in dem Referenzrahmen wird erhalten.
Falls die Summe größer als
eine vorbestimmte Schwelle ist, wird der Block als gültig angesehen.
Da bei diesem Verfahren ein Block gemäß der Summe von Quadratzahlen
von Differenzen der Bildelemente bestimmt wird, wird die Abweichung
hervorgehoben. Deshalb kann eine Veränderung in einem Block visuell
exakt geprüft
werden.
-
Falls
der erste Block ein gültiger
Block ist, werden Veränderungsinformationen,
die einen gültigen
Block kenn zeichnen, an eine entsprechende Position in der Blockinformationsspeichereinheit
geschrieben (zum Beispiel "1") (S102).
-
Dann
werden die Bilddaten in dem ersten Block durch die ADCT, etc., codiert
(S103), und die Daten in dem ersten Block in dem Referenzrahmen werden
auf den Inhalt des ersten Blocks in dem gegenwärtigen Rahmen aktualisiert
(S104).
-
Falls
bestimmt wird, daß der
erste Block in dem gegenwärtigen
Rahmen ungültig
ist, das heißt, daß er bei
dem Bestimmungsprozeß bei
Schritt S1 keine Veränderung
des Bildes aufweist, werden Veränderungsinformationen,
die einen ungültigen
Block kennzeichnen (zum Beispiel "0"),
an die entsprechende Position in der Blockinformationsspeichereinheit
geschrieben (S105).
-
Dann
werden die Prozesse der Schritte S1–S5 an allen Blöcken in
und ab dem 2. Block in dem gegenwärtigen Rahmen wiederholt, werden Veränderungsinformationen,
die einen gültigen
Block oder einen ungültigen
Block kennzeichnen, für
alle Blöcke
in dem gegenwärtigen
Rahmen in die Blockinformationsspeichereinheit geschrieben, und
die Daten in dem Referenzrahmen werden aktualisiert, indem die Daten
in den Blöcken
auf die Daten in dem entsprechenden Block in dem gegenwärtigen Rahmen
umgeschrieben werden, falls die entsprechenden Blöcke in dem
gegenwärtigen
Rahmen als gültig bestimmt
werden.
-
Falls
bestimmt wird, daß die
Prozesse der Schritte S101 bis S105 bei allen Blöcken in dem gegenwärtigen Rahmen
ausgeführt
worden sind ("Ja" bei S106), wird
dann bestimmt, ob der gegenwärtige Rahmen
ein Auffrischrahmen ist oder nicht (S107). Falls ja, werden die
Veränderungsinformationen
für alle
Blöcke
in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit gespeichert
sind, ab dem ersten Block sequentiell gelesen (S108), und es wird
bei jedem Block bestimmt, ob er gültig oder ungültig ist
(S109). Dann werden die Daten nur in ungültigen Blöcken wie bei den oben beschriebenen gültigen Blöcken codiert
(S110), und dann wird der Referenzrahmen aktualisiert, indem die
Daten in den Blöcken
auf den Inhalt der Blöcke
in dem gegenwärtigen
Rahmen umgeschrieben werden, falls die entsprechenden Blöcke in dem
gegenwärtigen
Rahmen ungültig
sind (S111).
-
Falls
bestimmt wird, daß die
Prozesse der Schritte S109 bis S111 ausgeführt worden sind ("Ja" bei S112), ist dann
der Bilddatencodierprozeß für den gegenwärtigen Rahmen
vollendet.
-
Somit
werden bei dem Codierverfahren zuerst Bilddaten in gültigen Blöcken codiert,
und dann werden Bilddaten in ungültigen
Blöcken
codiert, falls der gegenwärtige
Rahmen ein Auffrischrahmen ist. Falls Blöcke codiert werden, werden
die entsprechenden Blöcke
in dem Auffrischrahmen durch die codierten Blöcke in dem gegenwärtigen Rahmen
ersetzt.
-
Deshalb
werden in einem normalen Rahmen, der kein Auffrischrahmen ist, Daten
in einem gültigen
Block codiert. Nur wenn ein Rahmen ein Auffrischrahmen ist, werden
alle Blöcke
in der Reihenfolge von gültigen
Blöcken
und ungültigen
Blöcken
codiert.
-
39 zeigt die Operation in der Zeitfolge des Codierens
von Daten in einem Rahmen in einer Sendeeinrichtung und des Rekonstruierens
eines ursprünglichen
Bildes aus gesendeten codierten Daten in einer Empfangseinrichtung,
wenn das Bewegtbild in Rahmeneinheiten durch das oben beschriebene Bilddatencodierverfahren
codiert und zu der Empfangseinrichtung gesendet worden ist, wo das
ursprüngliche
Bild aus den codierten Daten rekonstruiert wird. 39 zeigt den Unterschied bei einem Prozeß zum Rekonstruieren
eines ursprünglichen Bildes
in einem Auffrischrahmen in einer Rekonstruktionseinrichtung zwischen
dem herkömmlichen Bilddatencodierverfahren,
das in 5 gezeigt ist, und dem Bilddatencodierverfahren
gemäß dem 6.
Bilddatencodierverfahren.
-
Wenn
Bilder, wie in 5 gezeigt, durch das herkömmliche
Codierverfahren rekonstruiert werden, ist ein Codierzeitintervall
mit Rekonstruktionszeitintervallen nicht synchron, und die Rekonstruktion
des 3. Rahmens wird zu der Zeit T4 und nicht
zu der Zeit T3 ausgeführt, falls die Codes in einem
Auffrischrahmen (dem 3. Rahmen, Codierstartzeit t3)
nicht bis zu der Codierstartzeit t4 gesendet
sind. Somit führt
die Rekonstruktion zu einem unnatürlichen Bild, das an der Empfangseinrichtung
angezeigt wird. Da andererseits bei diesem Verfahren ein Bild in
einem Auffrischrahmen (dem 3. Rahmen) aus codierten Daten nur in
gültigen
Blöcken
zu der Zeit T3 rekonstruiert wird, kann
die oben beschriebene Synchronisation zwischen einem Codierzeitintervall
und einem Rekonstruktionszeitintervall verhindert werden, und das rekonstruierte
Bild wird an der Empfangseinrichtung nicht unnatürlich angezeigt. Da ein Bild
in einem Auffrischrahmen (dem 3. Rahmen) vollständig aus codierten Daten, wobei
ungültige
Blöcke
enthalten sind, zu der Rekonstruktionszeit T4 rekonstruiert
wird und das Bild in dem Auffrischrahmen (dem 3. Rahmen) aus codierten
Daten in gültigen
Blöcken
zu der Rekonstruktionszeit T3 rekonstruiert
wird, spürt
dann ein Bediener, daß der
Empfangseinrichtung die kürzestmögliche Wartezeit
zugeteilt wird, wenn das Bild in dem Auffrischrahmen rekonstruiert
wird.
-
Da
weiterhin ein Auffrischrahmen, der eine große Menge von Codes enthält, codiert
wird, nachdem er in gültige
Blöcke
und ungültige
Blöcke
geteilt worden ist, und die codierten Daten in gültigen Blöcken vor jenen in ungültigen Blöcken gesendet
werden, kann die Kapazität
eines Codepuf fers sowohl in der Sende- als auch in der Empfangseinrichtung
gegenüber
dem herkömmlichen
Verfahren reduziert werden.
-
40 ist das Blockdiagramm, das die Schaltungskonfiguration
der 15. Bilddatencodiervorrichtung zum Codieren von Bilddaten gemäß dem 6. Bilddatencodierverfahren
zeigt.
-
Ein
Bildpuffer 1020 speichert Bilddaten in einem Rahmen (gegenwärtiger Rahmen),
die durch einen Eingangsanschluß 1010 angewendet
werden, und gibt die Daten in Blockeinheiten (zum Beispiel 8 × 8 Bildelemente)
in vorbestimmter Reihenfolge an eine Blockveränderungsbestimmungseinheit 1040 und
eine Codiereinheit 1060 aus.
-
Eine
Referenzrahmenspeichereinheit 1030 ist ein Speicher zum
Speichern von Bilddaten in einem Referenzrahmen, die mit den Bilddaten
in dem gegenwärtigen
Rahmen verglichen werden, die in dem Bildpuffer 1020 gespeichert
sind. Der Inhalt der Referenzrahmenspeichereinheit 1030 wird
gemäß Blockinformationen
in jedem Block in dem letzten Rahmen (gegenwärtiger Rahmen) sequentiell
umgeschrieben, die von einer Blockinformationsspeichereinheit 1050 angewendet
werden, und wird als Bilddaten in dem Referenzrahmen verwendet.
-
Die
Blockveränderungsbestimmungseinheit 1040 vergleicht
die Bilddaten in jedem Block, die von dem Bildpuffer 1020 gesendet
werden, mit den Daten in dem entsprechenden Block in dem Referenzrahmen,
die in der Referenzrahmenspeichereinheit 1030 gespeichert
sind, erhält
(1) die Summe von Absolutwerten der Differenzen der Bildelementwerte,
(2) den maximalen Absolutwert von Differenzen des Bildes oder der
Bildelementwerte oder (3) die Summe von durchschnittlichen Quadratzahlen
von Differenzen des Bildes oder der Bildelementwerte, vergleicht
einen der Werte mit einer Schwelle, die in einer Bestimmungsschwellenspeichereinheit 1070 gespeichert ist,
und bestimmt bei jedem Block in dem gegenwär tigen Rahmen, ob er gültig ist
(der oben beschriebene Wert ist gleich der Schwelle oder größer als
diese) oder ungültig
ist (der oben beschriebene Wert ist kleiner als die Schwelle).
-
Die
Blockinformationsspeichereinheit 1050 speichert Blockinformationen
(die angeben, daß der gegenwärtige Block
gültig
oder ungültig
ist) von jedem Block in dem gegenwärtigen Rahmen, die durch die
Blockveränderungsbestimmungseinheit 1040 geschrieben
werden, und die Blockinformationen werden an eine Codiereinheit 1060,
die Referenzrahmenspeichereinheit 1030 und einen Ausgangsanschluß 1090 ausgegeben.
-
Die
Referenzrahmenspeichereinheit 1030 empfängt von dem Bildpuffer 1020 einen
gültigen Block,
der die Blockinformationen hat, die einen gültigen Block kennzeichnen,
und ersetzt den entsprechenden Block in dem Referenzrahmen durch
den gültigen
Block.
-
Die
Codiereinheit 1060 konsultiert die Blockinformationen von
jedem Block, die in der Blockinformationsspeichereinheit 1050 gespeichert
sind, wenn die Daten von jedem Block von Bilddaten in dem gegenwärtigen Rahmen
von dem Bildpuffer 1020 in vorbestimmter Reihenfolge gesendet
werden. Falls kein Auffrischsignal r, das später beschrieben wird, empfangen
wird, werden Daten in den Blöcken,
die durch die Blockinformationen als "gültig" gekennzeichnet sind,
zu Daten mit variabler Länge
codiert, und die codierten Daten werden von dem Ausgangsanschluß 1070 ausgegeben.
-
Ein
Auffrischsignal r gibt an, daß der
gegenwärtige
Rahmen, der in dem Puffer des gegenwärtigen Bildes 1020 gespeichert
ist, ein Auffrischrahmen ist, und wird von einer Steuereinheit,
die in 40 nicht gezeigt ist, durch
einen Eingangsanschluß 1080 extern
angewendet. Das Auffrischsignal r wird auf den Bildpuffer 1020,
die Blockinfor mationsspeichereinheit 1050 und die Codiereinheit 1060 angewendet.
-
Bei
Empfang des Auffrischsignals r wiederholt der Bildpuffer 1020 zweimal
die Operation zum Ausgeben von Bilddaten in allen Blöcken in
dem gegenwärtigen
Rahmen an die Codiereinheit 1060 sequentiell ab dem ersten
Block. Die Blockinformationsspeichereinheit 1050 wiederholt
synchron mit der oben beschriebenen Operation die Operation zum Ausgeben
von Bilddaten in allen Blöcken
in dem gegenwärtigen
Rahmen an die Codiereinheit 1060 sequentiell ab dem ersten
Block auch zweimal.
-
Bei
Empfang eines Auffrischsignals r codiert die Codiereinheit 1060 erstens
nur die Blöcke,
die gemäß den Blockinformationen
als gültige
Blöcke
identifiziert werden, und zweitens die Blöcke, die gemäß den Blockinformationen
als ungültige
Blöcke
identifiziert werden. Deshalb teilt die Codiereinheit 1060 einen
Auffrischrahmen in Daten von gültigen
Blöcken und
Daten von ungültigen
Blöcken
und codiert sie und gibt sie in dieser Reihenfolge aus.
-
41 ist das Blockdiagramm, das die Schaltungskonfiguration
der 16. Bilddatencodiervorrichtung zum Codieren von Bilddaten gemäß dem Codierverfahren
zeigt, das in dem Flußdiagramm
von 38 dargestellt ist.
-
In 41 ist einem Schaltungsblock, der auch in 40 als Funktion der Bilddatencodiervorrichtung
gezeigt ist, dieselbe Bezeichnung und Zahl zugeordnet, wobei die
eingehende Erläuterung
hier weggelassen wird.
-
Die
in 40 gezeigte 15. Bilddatencodiervorrichtung wird
extern mit einem Auffrischsignal r versehen, während die 16. Bilddatencodiervorrichtung,
die in 41 gezeigt ist, intern mit
einem Zähler 1024 zum
Erzeugen eines Auffrischsignals in einem vorbestimmten Rahmenintervall
versehen ist.
-
Der
Zähler
ist ein Aufwärtszähler zum
Zählen der
Anzahl von Rahmen zum Beispiel in vorbestimmten Zeitintervallen
und gibt ein Auffrischsignal r an den Bildpuffer 1022,
die Blockinformationsspeichereinheit 1050 und die Codiereinheit 1060 aus,
wenn ein Zählerwert
einen vorbestimmten Wert erreicht hat, das heißt, in vorbestimmten Rahmenintervallen.
-
Bei
Empfang eines Auffrischsignals r codieren der Bildpuffer 1022,
die Blockinformationsspeichereinheit 1050 und die Codiereinheit 1060 Bilddaten
in dem gegenwärtigen
Rahmen, wie oben beschrieben, in der Reihenfolge von gültigen Blöcken zuerst
und dann von ungültigen
Blöcken.
-
Der
Bildpuffer 1022 speichert Bilddaten in einem Rahmen, die
durch den Eingangsanschluß 1010 angewendet
werden, und gibt ein Rücksetzsignal
R an den Zähler 1024 zu
einer vorbestimmten Zeitlage aus (zum Beispiel nachdem der Prozeß zum Codieren
des Bildes in dem Auffrischrahmen ausgeführt worden ist), wenn er ein
Auffrischsignal r von dem Zähler 1024 empfängt.
-
Der
Zähler 1024 wird
auf einen vorbestimmten Anfangswert (zum Beispiel auf 0) bei Empfang
eines Rücksetzsignals
R zurückgesetzt.
-
42 zeigt ein Beispiel einer Konfiguration der
Codiereinheit 1060. Die Codiereinheit 1060, die in 42 gezeigt ist, umfaßt eine Einheit für die zweidimensionale
DCT 1061, eine Einheit für die lineare Quantisierung 1062,
eine Quantisierungsmatrix (Quantisierungsschwelle) 1063 und
eine Codiertabelle 1065. Die Konfiguration der Einheit
ist jener der herkömmlichen
Codiervorrichtung von statischen Bildern ähnlich, die in 1 gezeigt
ist. Das heißt,
sie unterscheidet sich von der herkömmlichen Vorrichtung darin,
daß sie
nicht den Blockpuffer 120 enthält. Die Codiertabelle 1065 wird
so verwendet, daß die Einheit
zum Codieren mit variabler Länge 1064 die Kombination
aus einer Lauflänge
und einem Quantisierungskoeffizienten, der in Blockeinheiten von
der Einheit für
die lineare Quantisierung 1062 ausgegeben wird, effektiv
codieren kann. Sie ist zum Beispiel eine Tabelle, die bei einem
Entropiecodierverfahren verwendet wird, wie etwa eine Huffman-Codetabelle, eine
Rechenoperationscodetabelle, etc.
-
So
wird gemäß dem vorliegenden
Verfahren ein Auffrischrahmen in gültige Blöcke und ungültige Blöcke geteilt, und die Daten
in den gültigen
Blöcken werden
zuerst codiert und gesendet, und dann werden die Daten in den ungültigen Blöcken codiert
und gesendet. Deshalb kann eine Rekonstruktionseinrichtung (eine
Empfangseinrichtung) ursprüngliche Bilddaten
von Auffrischrahmen durch eine Art hierarchische Rekonstruktion
rekonstruieren. Deshalb spürt
ein Betrachter des rekonstruierten Bildes, daß seine Wartezeit beim erfolgreichen
Rekonstruieren eines ursprünglichen
Bildes nicht sehr lang ist.
-
Somit
kann die Kapazität
des Codepuffers zum temporären
Speichern von codierten Daten von Bildern in Rahmen in einer Codierrekonstruktionseinrichtung
reduziert werden, indem die Daten in Auffrischrahmen codiert werden,
nachdem sie in zwei Blockgruppen geteilt wurden.
-
Wenn
Bilder aufgefrischt werden, das heißt, wenn Daten in einem Auffrischrahmen
codiert werden, sollte ein Referenzbild, das in der Referenzrahmenhalteeinheit 1030 gespeichert
ist, durch die Daten in dem Auffrischrahmen ersetzt werden. In diesem
Fall sollten die Bilddaten in allen Blöcken in einem Rahmen, die in
der Referenzrahmenhalteeinheit 1030 gespeichert sind, auf
die oben beschriebenen Bilddaten in dem Auffrischrahmen aktualisiert
werden.
-
Bei
dem folgenden Verfahren wird der Referenzrahmen mit hoher Geschwindigkeit
aktualisiert, wenn der Auffrischprozeß ausgeführt wird.
-
43 ist das Flußdiagramm, welches das 7. Bilddatencodierverfahren
zeigt.
-
Eine
Funktion, die auch in 38 als Teil des 6. Bilddatencodierverfahrens
gezeigt ist, ist mit demselben Bezugszeichen (Schrittnummer) versehen.
-
Bei
diesem Verfahren wird wie bei dem oben beschriebenen 6. Bilddatencodierverfahren
zuerst bestimmt, ob Blöcke
in dem gegenwärtigen
Rahmen gültig
oder ungültig
sind, und Veränderungsinformationen
(Blockinformationen), die angeben, ob Blöcke gültig oder ungültig sind,
werden gespeichert (S101–S103,
S105 und S106). Das heißt,
bis zu diesem Punkt sind die Daten in dem Referenzrahmen nicht aktualisiert
worden.
-
Als
nächstes
wird bestimmt, ob der gegenwärtige
Rahmen ein Auffrischrahmen ist oder nicht (S107). Falls nein ("Nein" bei S107), ersetzen
gültige Blöcke in dem
gegenwärtigen
Rahmen die entsprechenden Blöcke
in dem Referenzrahmen gemäß den Veränderungsinformationen,
die wie oben beschrieben gespeichert sind, wodurch der Referenzrahmen aktualisiert
wird (S121).
-
Falls
bei Schritt S107 bestimmt wird, daß der gegenwärtige Rahmen
ein Auffrischrahmen ist ("Ja" bei S107), wird
dann gemäß den gespeicherten
Veränderungsinformationen
bestimmt, ob die Blöcke gültig oder
ungültig
sind (S109), und die Daten in dem ungültigen Block werden codiert
(S110). Wenn der Prozeß an
allen Blöcken
ausgeführt
worden ist ("Ja" bei S112), wird
dann der Rahmenspeicher zum Speichern von Bilddaten in dem Referenzrahmen (Referenzrahmenspeicher)
durch den Speicher des gegenwärtigen
Rahmens zum Speichern von Bilddaten in dem gegenwärtigen Rahmen
ersetzt, während der
Speicher des gegenwärtigen
Rahmens durch den Referenzrahmenspeicher zum Speichern von Bilddaten
in dem Referenzrahmen ersetzt wird (S122).
-
Deshalb
werden die Bilddaten, die als nächste
angewendet werden, auf den Rahmenspeicher angewendet und in ihm
gespeichert, der bislang als Referenzrahmenspeicher verwendet wurde,
und sie werden mit den Bilddaten in dem Auffrischrahmen verglichen,
die in dem Rahmenspeicher gespeichert sind, der bislang als Speicher
des gegenwärtigen Rahmens
verwendet wurde. Das heißt,
gemäß dem Prozeß bei Schritt
S122 kann ein Prozeß zum
Aktualisieren eines Referenzrahmens bei einem Auffrischprozeß ohne jegliches
Problem sofort ausgeführt werden.
-
Somit
ist es bei dem 7. Bilddatencodierverfahren nicht nötig, da
die Funktionen des Referenzrahmenspeichers und des Speichers des
gegenwärtigen
Rahmens immer dann, wenn ein Auffrischprozeß ausgeführt wird, aufeinander umgeschaltet
werden, die Bilddaten in allen Blöcken in dem Referenzrahmen
auf jene in dem gegenwärtigen
Rahmen umzuschreiben. Deshalb kann der Referenzrahmenspeicher bei
einem Auffrischprozeß sofort
aktualisiert werden.
-
44 zeigt die Schaltungskonfiguration einer 17.
Bilddatencodiervorrichtung zum Codieren von Bilddaten gemäß dem Codierverfahren,
das in dem Flußdiagramm
von 43 gezeigt ist.
-
In 44 ist einem Schaltungsblock, der auch in 40 als Funktion der 15. Bilddatencodiervorrichtung
gezeigt ist, dieselbe Bezeichnung und Zahl zugeordnet, wobei die
eingehende Erläuterung hier
weggelassen wird.
-
Die
in 44 gezeigte Bilddatencodiervorrichtung wird realisiert,
indem die Vorrichtung von 40 versehen
wird mit einem Schalter 2010 zum alternierenden Umschalten der
Referenzrahmenspeichereinheit 1030 und des Bildpuffers
(gegenwärtiger
Speicher) 1020 in einem Auffrischprozeß.
-
Der
Schalter 2010 empfängt
ein Auffrischsignal r von einer externen Steuereinheit durch den
Eingangsanschluß 1080.
Jedes Mal, wenn das Auffrischsignal r angewendet wird, schaltet
der Schalter 2010 das Ziel der Bilddaten in einem Rahmen
(Eingangsrahmen), die durch den Eingangsanschluß 1010 angewendet
werden, alternierend auf den Bildpuffer 1020 und die Referenzrahmenspeichereinheit 1030,
nachdem der oben beschriebene Auffrischprozeß ausgeführt worden ist (nach dem Codieren
der Daten in allen Blöcken
in dem Eingangsrahmen). Als Resultat tauschen immer dann, wenn ein
Auffrischsignal r angewendet wird, der Bildpuffer 1020 und
die Referenzrahmenspeichereinheit 1030 ihre Funktionen,
nachdem ein Auffrischprozeß ausgeführt worden
ist.
-
Da
die Referenzrahmenspeichereinheit 1030 dann, wenn sie auf
einen Bildpuffer oder den Bildpuffer 1020 geschaltet ist,
die Bilddaten gerade in dem gegenwärtigen Rahmen speichert, können die
Bilder in dem Referenzrahmen durch die oben beschriebene Schaltoperation
durch den Schalter 2010 bei einem Auffrischprozeß sofort
aktualisiert werden, ohne die Daten in allen Blöcken in dem letzten Rahmen, der
in der Referenzrahmenspeichereinheit zu speichern ist, gemäß einem
herkömmlichen
Verfahren von dem Bildpuffer zu der Referenzrahmenspeichereinheit
zu übertragen
(kopieren).
-
Der
Grad der Abweichung der Bewegung zwischen benachbarten Rahmen hängt von
dem Bildtyp ab. Falls eine Schwelle (im folgenden als Bestimmungsschwelle
bezeichnet), die für
gültige
Blöcke
verwendet wird und für
ein Bewegtbild geeignet ist, auf ein statisches Bild angewendet
wird, ist deshalb der Wert für
das Bild dann zu groß,
um erfolgreich als gültige
Blöcke
detektiert zu werden, obwohl jeder von ihnen die Qualität des gesamten
rekonstruierten Bildes beeinträch tigt.
Falls andererseits eine Bestimmungsschwelle, die verwendet wird,
um statische Blöcke
als gültige
Blöcke
zu erkennen, das heißt,
die für
ein statisches Bild geeignet ist, auf ein Bewegtbild angewendet
wird, wird dann die Anzahl von gültigen
Blöcken
zu groß,
und die Gesamtmenge von Codes nimmt extrem zu.
-
Das
folgende Verfahren ist entwickelt worden, um das oben beschriebene
Problem zu lösen.
-
45 ist das Flußdiagramm, das zuerst die wichtige
Operation eines 8. Bilddatencodierverfahrens zeigt.
-
Zuerst
wird irgendeines von (1) der Summe von Absolutwerten der Differenzen
des Bildes oder der Bildelementwerte, (2) dem maximalen Absolutwert
von Differenzen des Bildes oder der Bildelementwerte und (3) der
Summe von durchschnittlichen Quadratzahlen von Differenzen des Bildes
oder der Bildelementwerte für
alle Blöcke
in einem Rahmen erhalten. Dann wird bestimmt, ob einer von diesen
gleich einer Bestimmungsschwelle T oder größer als diese ist oder nicht,
werden alle gültigen
Blöcke, die
einen der oben beschriebenen Werte haben, der gleich der Bestimmungsschwelle
oder größer als
diese ist, extrahiert, und die gültigen
Blöcke
werden codiert (S131).
-
Falls
die Menge von Codes, die durch den oben beschriebenen Codierprozeß erhalten
wird (Summe der Menge von Codes in allen gültigen Blöcken), berechnet wird, dann
die erhaltene Menge von Codes mit einer vorbestimmten zweckmäßigen Menge
von Codes verglichen wird (S132) und die erhaltene Menge von Codes
kleiner als die zweckmäßige Menge
von Codes ist ("Nein" bei S132), wird
dann die oben beschriebene Bestimmungsschwelle reduziert (S133),
und die Steuerung wird zu dem Prozeß bei Schritt S131 zurückgeführt.
-
Falls
die berechnete Menge von Codes größer als die zweckmäßige Menge
von Codes ist ("Ja" bei S132), wird
dann bestimmt, ob die Differenz zwischen den Mengenwerten kleiner
als ein vorbestimmter Wert ist (S134). Falls sie größer ist
("Nein" bei S134), wird
dann der Wert der Bestimmungsschwelle T angehoben (S135), und die
Steuerung wird zu dem Prozeß bei
Schritt S132 zurückgeführt. Falls
andererseits die Differenz zwischen den Mengenwerten kleiner als
ein vorbestimmter Wert ist ("Ja" bei S134), wird
dann die Bestimmungsschwelle T nicht verändert.
-
Somit
wird die Bestimmungsschwelle T verändert, bis die Summe der Menge
von Codes in gültigen
Blöcken
(die berechnete Menge von Codes) gleich der zweckmäßigen Menge
von Codes oder größer als
diese ist und die Differenz kleiner als ein vorbestimmter Wert ist.
Die Modifizierung der Bestimmungsschwelle T wird dann gestoppt,
wenn die Summe der Menge von Codes in gültigen Blöcken einen zweckmäßigen Wert
erreicht hat, wodurch ein Prozeß zum
Codieren von gültigen
Blöcken
(Verfahren I) vollendet wird.
-
Bei
dem oben beschriebenen Verfahren wird eine Bestimmungsschwelle T
gemäß der Menge
von Codes, die bei einem Codierprozeß erhalten wird, zurückgesetzt.
Da die Menge von Codes proportional zu der Anzahl von codierten
Blöcken
schwankt, das heißt,
zu der Anzahl von gültigen
Blöcken,
kann die Anzahl von gültigen
Blöcken
gezählt
werden, ohne einen Codierprozeß auszuführen, und
die Bestimmungsschwelle T kann modifiziert werden, bis die Menge
von Codes dem zweckmäßigen Wert
gemäß der Anzahl
von gültigen
Blöcken,
die durch die obige Zähloperation
erhalten wird, gleich wird (Verfahren II). Bei diesem Verfahren
II kann, da die Bestimmungsschwelle T mit höherer Geschwindigkeit als bei
dem Verfahren I eingestellt werden kann und der Codierprozeß nur einmal
ausgeführt
werden muß, der
Prozeß zum
Codieren des gegenwärtigen
Rahmens mit einer Geschwindigkeit vollendet werden, die höher als
bei dem Verfahren I ist.
-
Des
weiteren zeigen benachbarte Rahmen sehr ähnliche Bilder bei Bewegungsdaten.
Deshalb kann eine Bestimmungsschwelle T ein Wert sein, der beim
Codieren von Bilddaten in dem vorherigen Rahmen verwendet wird,
und kann nach dem Codierprozeß modifiziert
(eingestellt) werden, wodurch der Codierprozeß beschleunigt wird (Verfahren
III).
-
Bei
den oben beschriebenen drei Verfahren wird die Bestimmungsschwelle
T jedes Mal eingestellt, wenn die Daten in jedem Rahmen codiert
werden. Da die Abweichung zwischen Rahmen in einer Serie von Bewegtbildern
jedoch fast konstant ist (da Bilder in einer Serie von Rahmen ähnlich sind),
wird der Einstellprozeß der
Bestimmungsschwelle (T) durch jedes der oben beschriebenen Verfahren
bei den ersten n Rahmen ausgeführt
(n = 1, 2, 3, ...), und der Codierprozeß bei dem n-ten und den folgenden Rahmen
(bei dem (n + 1)-ten Rahmen) wird unter Verwendung der Bestimmungsschwelle
T ausgeführt,
die bei einem der vorherigen Rahmen bestimmt wurde, so daß die Zeit,
die zum Codieren der Daten in dem (n + 1)-ten und den folgenden
Rahmen erforderlich ist, verkürzt
werden kann.
-
46 ist ein Blockdiagramm, das die Schaltung der
18. Bilddatencodiervorrichtung zum Codieren von Bilddaten in einem
Rahmen nach dem flexiblen Einstellen einer Bestimmungsschwelle T durch
das oben beschriebene Verfahren I zeigt, so daß die Menge von Codes zweckmäßig ist.
-
In 46 wird einem Schaltungsblock, der als Funktion
der 15. Bilddatencodiervorrichtung auch in 40 gezeigt
ist, dieselbe Bezeichnung und Zahl zugeordnet, wobei die eingehende
Erläuterung
hier weggelassen wird.
-
Die
Codiereinheit 1060 liest sequentiell aus der Blockinformationsspeichereinheit 1040 die
Blockinformationen in jedem Block in dem gegenwärtigen Rahmen in einer vorbestimmten
Reihenfolge und codiert nur die Daten in gültigen Blöcken. Wenn die Daten in einem
Rahmen codiert sind, überträgt dann
die Codiereinheit 1060 die codierten Daten in einem Rahmen
zu einer Codemengenbestimmungseinheit 3010.
-
Die
Codemengenbestimmungseinheit 3010 bestimmt, ob die übertragene
Menge von Codes in dem gegenwärtigen
Rahmen zweckmäßig ist
oder nicht. Falls ja, sendet die Einheit ein Sendefreigabesignal
PE an einen Schalter 3012.
-
Bei
Empfang des Sendefreigabesignals PE gibt der Schalter 3012 von
den Ausgangsanschlüssen 1070 und 1090 die
codierten Daten in dem gegenwärtigen
Rahmen, die in der Codiereinheit 1060 gespeichert sind,
bzw. die Blockinformationen bezüglich
aller Blöcke
in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit 1050 gespeichert
sind, extern aus.
-
Falls
die Codemengenbestimmungseinheit 3010 bestimmt, daß die Menge
von Codes in dem gegenwärtigen
Rahmen keinen zweckmäßigen Wert betrifft,
sendet sie ein Bestimmungsschwellenumschreibsignal RET zu
einer Bestimmungsschwellenspeichereinheit 3014 und sendet
ein Neulesesignal RR zu einem Bildpuffer 3016.
-
Die
Bestimmungsschwellenspeichereinheit 3014 modifiziert eine
Bestimmungsschwelle T gemäß der Instruktion,
die als Bestimmungsschwellenumschreibsignal RET gesendet
wurde (Instruktion zum Anheben oder Verringern der Bestimmungsschwelle
T).
-
Die
Blockveränderungsbestimmungseinheit 1040 erzeugt
unter Verwendung der modifizierten Bestimmungsschwelle T die Blockinformationen diesbezüglich, ob
jeder Bilddatenblock in dem gegenwärtigen Rahmen, der von dem
Bildpuffer 3016 wieder gesendet wird, gültig oder ungültig ist,
und überträgt die Blockinformationen
zu der Blockinformationsspeichereinheit 1050.
-
Dann
codiert die Codiereinheit 1060 gemäß den neu erhaltenen Blockinformationen
nur gültige Blöcke in den Bilddaten
in dem gegenwärtigen
Rahmen, die von dem Bildpuffer 3016 wieder übertragen werden,
und gibt die erhaltenen codierten Daten der Bilddaten in dem gegenwärtigen Rahmen
an die Codemengenbestimmungseinheit 3010 aus.
-
Die
Codemengenbestimmungseinheit 3010 bestimmt, ob die Menge
der übertragenen
codierten Daten zweckmäßig ist
oder nicht.
-
So
modifiziert die Bestimmungsschwellenspeichereinheit 3014 die
Bestimmungsschwelle T, bis die Codemengenbestimmungseinheit 3010 bestimmt,
daß die
Menge von Codes zweckmäßig ist. Dann
sendet die Codemengenbestimmungseinheit 3010 ein Sendefreigabesignal
PE zu dem Schalter 3012, wenn die Menge von Codes von Bilddaten
in dem gegenwärtigen
Rahmen gemäß der modifizierten
Bestimmungsschwelle T zweckmäßig ist.
Somit werden die codierten Daten der Bilddaten in dem gegenwärtigen Rahmen
und die Blockinformationen bezüglich
jedes Blocks in dem gegenwärtigen
Rahmen durch den Schalter 3012 an die Anschlüsse 1070 und 1090 extern
ausgegeben.
-
Die
Bilddaten in jedem Rahmen werden daher so codiert, daß die Menge
von Codes ständig zweckmäßig ist,
und die codierten Daten und die Blockinformationen bezüglich aller
Blöcke
werden ausgegeben. Selbst wenn eine Rekonstruktionseinrichtung zum
Rekonstruieren von ursprünglichen
Bildern aus den codierten Daten codierte Daten nur in bezug auf
gültige
Blöcke
oder auf Blöcke
gemäß den Blockinformationen
empfängt,
können
deshalb die entsprechenden Blöcke
für die
gültigen
Blöcke
korrekt aktualisiert werden.
-
47 zeigt die Konfiguration der 19. Bilddatencodiervorrichtung
zum Codieren von Bilddaten in jedem Rahmen gemäß dem oben beschriebenen Verfahren
II.
-
In 47 ist einem Schaltungsblock, der als Funktion
der 15. Bilddatencodiervorrichtung auch in 40 gezeigt
ist, mit derselben Bezeichnung und Zahl versehen.
-
In
dieser Vorrichtung sendet eine Blockveränderungsbestimmungseinheit 3020 Blockinformationen,
die angeben, ob jeder Block in dem gegenwärtigen Rahmen gültig oder
ungültig
ist, zu einer Bestimmungseinheit der Anzahl von gültigen Blöcken 3022 sowie
zu der Blockinformationsspeichereinheit 1050.
-
Die
Bestimmungseinheit der Anzahl von gültigen Blöcken 3022 zählt die
Anzahl von gültigen
Blöcken
durch einen eingebauten Zähler,
etc., und bestimmt, ob die Anzahl von gültigen Blöcken in dem gegenwärtigen Rahmen
zweckmäßig ist
oder nicht. Falls die Anzahl von gültigen Blöcken zweckmäßig ist, sendet die Bestimmungseinheit
der Anzahl von gültigen
Blöcken 3022 ein
Sendefreigabesignal PE an einen Schalter 3024 und gibt
eine Codierinstruktion an eine Codiereinheit 3029 aus.
Bei Empfang der Instruktion konsultiert die Codiereinheit 3029 die
Blockinformationen, die in der Blockinformationsspeichereinheit 1050 gespeichert
sind, und codiert nur Bilddaten in den gültigen Blöcken in dem gegenwärtigen Rahmen.
-
Bei
Empfang des Signals PE gibt der Schalter 3024, nachdem
die Codiereinheit 1060 ihren Codierprozeß vollendet
hat, von den Anschlüssen 1070 und 1090 die
codierten Daten von Bilddaten in dem gültigen Block in dem gegenwärtigen Rahmen,
die in der Codiereinheit 3029 gespeichert sind, bzw. die Blockinformationen
bezüglich
jedes Blocks in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit 1050 gespeichert
sind, extern aus.
-
Wenn
die Bestimmungseinheit der Anzahl von gültigen Blöcken 3022 bestimmt,
daß die
Anzahl von gültigen
Blöcken
in dem gegenwärtigen
Rahmen, die unter Verwendung der gegenwärtigen Bestimmungsschwelle
T erhalten wurde, keinen zweckmäßigen Wert
betrifft, sendet sie ein Bestimmungsschwellenumschreibsignal RET, welches die Bestimmungsschwellenspei chereinheit 3026 anweist,
die Bestimmungsschwelle T umzuschreiben, und ein Neulesesignal RR
an einen Bildpuffer 3028.
-
Die
Bestimmungsschwellenspeichereinheit 3026 modifiziert die
Bestimmungsschwelle T gemäß dem Bestimmungsschwellenumschreibsignal
RET, das von der Bestimmungseinheit der
Anzahl von gültigen
Blöcken 3022 gesendet
wurde (welches ein Anheben oder Verringern der Bestimmungsschwelle
T anweist).
-
Die
Blockveränderungsbestimmungseinheit 3020 erzeugt
gemäß der modifizierten
Bestimmungsschwelle T Blockinformationen, die angeben, ob jeder
Block von Bilddaten in dem gegenwärtigen Rahmen, die von dem
Bildpuffer 3028 gesendet werden, gültig oder ungültig ist.
-
Dann
wird die oben beschriebene Operation wiederholt, bis die Bestimmungseinheit
der Anzahl von gültigen
Blöcken 3022 bestimmt,
daß die
Anzahl von gültigen
Blöcken
in dem gegenwärtigen
Rahmen zweckmäßig ist.
Falls die Bestimmungsschwellenspeichereinheit 3026 eine
zweckmäßige Bestimmungsschwelle
T für die
Bilddaten in dem gegenwärtigen
Rahmen festlegt und die Anzahl der gültigen Blöcke in dem gegenwärtigen Rahmen
zweckmäßig ist,
werden dann die codierten Daten der gültigen Blöcke in dem gegenwärtigen Rahmen,
die durch die Codiereinheit 1060 codiert werden, und die
Blockinformationen bezüglich
aller Blöcke
in dem gegenwärtigen
Rahmen von den Anschlüssen 1070 bzw. 1090 durch
den Schalter 3024 extern ausgegeben.
-
Somit
werden die Bilddaten in jedem Rahmen so codiert, daß die Menge
von Codes ständig zweckmäßig ist,
und die codierten Daten und die Blockinformationen bezüglich aller
Blöcke
werden ausgegeben. Selbst wenn eine Rekonstruktionseinrichtung zum
Rekonstruieren von ursprünglichen
Bildern aus den codierten Daten codierte Daten nur in bezug auf
gültige
Blöcke
gemäß den Blockinformationen empfängt, können deshalb
die entsprechenden Blöcke
korrekt auf die gültigen
Blöcke
aktualisiert werden.
-
48 zeigt die Konfiguration der 20. Bilddatencodiervorrichtung
zum Codieren von Bilddaten in jedem Rahmen gemäß dem oben beschriebenen Verfahren
III.
-
In 48 ist einem Schaltungsblock, der als Funktion
der 15. Bilddatencodiervorrichtung auch in 40 gezeigt
ist, mit derselben Bezeichnung und Zahl versehen.
-
Eine
Codemengenbestimmungseinheit 3030 bestimmt, ob die Menge
von Bilddaten in dem gegenwärtigen
Rahmen, die von der Codiereinheit 1060 angewendet werden,
zweckmäßig ist
oder nicht. Falls nein, sendet die Einheit ein Bestimmungsschwellenumschreibsignal
RET zu der Bestimmungsschwellenspeichereinheit 3014.
-
Bei
Empfang des Bestimmungsschwellenumschreibsignals RET modifiziert
die Bestimmungsschwellenspeichereinheit 3014 die Bestimmungsschwelle
T gemäß der Instruktion
des Signals (um die Bestimmungsschwelle T anzuheben oder zu verringern).
-
Die
Bestimmungsschwelle T, die durch die Bestimmungsschwellenspeichereinheit 3014 modifiziert
wird, wird verwendet, wenn die Blockveränderungsbestimmungseinheit 1040 bei
jedem Block von Bilddaten in dem folgenden Rahmen bestimmt, ob er gültig oder
ungültig
ist.
-
In
dieser Vorrichtung bestimmt die Blockveränderungsbestimmungseinheit 1040 unter
Verwendung der Bestimmungsschwelle T, die durch die Bestimmungsschwellenspeichereinheit 3014 gemäß dem Resultat
des Bilddatencodierprozesses eingestellt wird, der an dem vorherigen
Rahmen ausgeführt
wurde, bei jedem Block in dem gegenwärtigen Rahmen, ob er gültig oder
ungültig
ist. Dann codiert die Codiereinheit 1060 nur die Blöcke, die
gemäß der obigen
Bestimmung als gültig
bestimmt wurden.
-
Dann
werden die codierten Daten der Bilddaten in dem gegenwärtigen Rahmen,
die durch die Codiereinheit 1060 vorgesehen werden, und
die Blockinformationen bezüglich
jedes Blocks in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit 1050 gespeichert
sind, durch die Anschlüsse 1070 bzw. 1090 sofort
nach der Codierung extern ausgegeben.
-
So
wird mit der Vorrichtung bestimmt, ob ein Block gültig oder
ungültig
ist, indem eine Bestimmungsschwelle T verwendet wird, die gemäß dem Resultat
des Codierprozesses eingestellt wird, der an dem vorherigen Rahmen
ausgeführt
wurde, ungeachtet der Zweckmäßigkeit
der Menge von Codes von codierten Daten in dem gegenwärtigen Rahmen. Falls
die Menge von codierten Daten in dem gegenwärtigen Rahmen, die durch den
Codierprozeß unter Verwendung
der Bestimmungsschwelle T erhalten werden, überhaupt nicht zweckmäßig ist,
wird dann beim Codieren der Bilddaten in dem folgenden Rahmen die
Bestimmungsschwelle T verwendet, die durch die Bestimmungsschwellenspeichereinheit 3014 modifiziert
wird.
-
Das
heißt,
die Vorrichtung kann die Zeit verkürzen, die zum Modifizieren
einer Bestimmungsschwelle T erforderlich ist, und eine Codieroperation durch
Ausnutzen des Merkmals beschleunigen, daß benachbarte Rahmen ähnliche
Bilder bei Bewegungsdaten aufweisen.
-
49 zeigt die Konfiguration der 21. Bilddatencodiervorrichtung
zum Codieren von Bilddaten in jedem Rahmen gemäß dem oben beschriebenen Verfahren
III.
-
In 49 ist einem Schaltungsblock, der als Funktion
der 19. Bilddatencodiervorrichtung zum Codieren von Bilddaten gemäß dem oben
beschriebenen Verfahren III auch in 40 gezeigt
ist, dieselbe Bezeichnung und Zahl zugeordnet.
-
In
der Vorrichtung unterscheidet sich die Funktion einer Bestimmungseinheit
der Anzahl von gültigen
Blöcken 3040 von
jener der Bestimmungseinheit der Anzahl von gültigen Blöcken 3022, und der
Schalter 3024, der für
die Vorrichtung von 47 vorgesehen ist, ist in der
gegenwärtigen
Vorrichtung nicht vorgesehen.
-
Wie
die Bestimmungseinheit der Anzahl von gültigen Blöcken 3022 zählt die
Bestimmungseinheit der Anzahl von gültigen Blöcken 3040 die Anzahl
von gültigen
Blöcken
in dem gegenwärtigen
Rahmen gemäß dem Resultat
der Bestimmung durch die Blockveränderungsbestimmungseinheit 3020 und
bestimmt, ob die Anzahl von gültigen
Blöcken
zweckmäßig ist
oder nicht. Die Bestimmungseinheit der Anzahl von gültigen Blöcken 3040 gibt
ein Bestimmungsschwellenumschreibsignal RET an
die Bestimmungsschwellenbestimmungseinheit 3026 nur dann aus,
wenn die Anzahl von gültigen
Blöcken
nicht zweckmäßig ist.
-
Dann
modifiziert die Bestimmungsschwellenspeichereinheit 3026 die
Bestimmungsschwelle T gemäß der Instruktion
des Bestimmungsschwellenumschreibsignals RET.
-
Die
modifizierte Bestimmungsschwelle T wird verwendet, wenn die Blockveränderungsbestimmungseinheit 3020 bei
jedem Block in dem folgenden Rahmen bestimmt, ob er gültig oder
ungültig
ist.
-
Die
Blockinformationen in jedem Block in dem gegenwärtigen Rahmen, die durch die
Blockveränderungsbestimmungseinheit 3020 erhalten
werden, werden in der Blockinformationsspeichereinheit 1050 gespeichert
und an die Referenzrahmenspeichereinheit 1030 ausgegeben.
Die Codiereinheit 1060 liest sequentiell die Blockinformationen
in jedem Block in dem gegenwärtigen
Rahmen, die in der Blockinformationsspeichereinheit 1050 gespeichert sind,
und codiert nur gültige
Blöcke
in allen Blöcken von
Bilddaten in dem gegenwärtigen Rahmen,
die in dem Bildpuffer 1020 gespeichert sind, gemäß den Blockinformationen.
-
Die
Blockinformationen in jedem Block in dem gegenwärtigen Rahmen, die in der Blockinformationsspeichereinheit 1050 gespeichert
sind, und die Daten in dem gegenwärtigen Rahmen, die durch die
Codiereinheit 1060 codiert wurden, werden durch die Anschlüsse 1070 bzw. 1090 extern
ausgegeben.
-
Daher
wird mit der Vorrichtung unter Verwendung der Bestimmungsschwelle
T, die gemäß dem Resultat
des Codierprozesses festgelegt wird, der an dem vorherigen Rahmen
ausgeführt
wird, bei jedem Block in dem gegenwärtigen Rahmen bestimmt, ob er
gültig
ist oder nicht. Nur Blöcke,
die als gültig
bestimmt wurden, werden codiert und zusammen mit den Blockinformationen
bezüglich
der Blöcke
extern ausgegeben. Die Bestimmungsschwelle T, die durch die Bestimmungsschwellenspeichereinheit 3026 gemäß der Anzahl
von gültigen
Blöcken
modifiziert wird, die bei dem Codierprozeß erhalten wird, wird beim
Bestimmen eines gültigen
Blocks verwendet, wenn Bilddaten in dem folgenden Rahmen codiert werden.
-
So
wird bei der Vorrichtung anders als bei der Vorrichtung von 48 die Bestimmungsschwelle T für jeden Rahmen gemäß der Anzahl
von gültigen
Blöcken
sequentiell modifiziert, und nicht gemäß der Menge von Codes, um die
Wirkung zu erhalten, die durch die in 48 gezeigte
Vorrichtung vorgesehen wird.
-
Gemäß der Bilddatencodiervorrichtunq,
die durch das Verfahren I oder II betrieben wird, kann eine Bestimmungsschwelle
T, die beim Bestimmen eines gültigen
Blocks verwendet wird, gemäß dem Bildtyp,
einer Übertragungsrate
einer Übertragungsleitung,
etc., auf einen zweckmäßigen Wert
eingestellt werden. Das heißt,
wenn zehn Rahmen pro Sekunde über
ein ISDN (integriertes Sprach- und Datennetz) mit zum Beispiel 64
KB/s übertragen
werden müssen,
erfolgt die Bestimmung von gültigen
Blöcken
unter Verwendung einer Bestimmungsschwelle T, und es werden nur
Blöcke
codiert, die als gültig
bestimmt werden. Falls zu dieser Zeit die Menge von Codes in einem
Rahmen 6400 Bits überschreitet, kann
das Bild nicht mit einer Rate von 10 Rahmen pro Sekunde übertragen
werden. Falls andererseits die Menge von Codes in einem Rahmen weit
unter 6400 Bits liegt, wird das Bild dann mit niedriger Qualität übertragen.
-
In
diesem Fall können
gemäß der 3.
Ausführungsform
codierte Daten übertragen
werden, nachdem die Bestimmungsschwelle T modifiziert (wieder eingestellt)
worden ist, bis die Menge von Codes einen gewünschten Wert (6400 Bits in
diesem Fall) erreicht hat. Daher kann eine wünschenswerte Bildübertragung
in Abhängigkeit
von der Stückzahl
von übertragenen
Bildern pro Zeiteinheit ausgeführt
werden.
-
Als
nächstes
wird unten eine Ausführungsform
erläutert,
die die Effekte der 18. bis 21. Bilddatencodiervorrichtungen aufweist.
-
50 ist das Flußdiagramm, welches das 9. Bilddatencodierverfahren
gemäß der oben
beschriebenen Ausführungsform
erläutert.
-
Gemäß dem Codierverfahren
wird ein Prozeß zum
Erhalten einer vorbestimmten Abweichung des Bildes oder des Bildelementwertes
(zum Beispiel (1) eine Summe von Absolutwerten von Differenzen, (2)
der maximale Absolutwert der Differenz oder (3) die Summe von Quadratzahlen
von Differenzen, etc.) zwischen entsprechenden Blöcken in
dem gegenwärtigen
Rahmen und dem Referenzrahmen an allen Blöcken ausgeführt (S141). Dann wird die Anzahl
von Blöcken
für die
Abweichung des Bildes oder des Bildelementwertes berechnet, um ein
Histogramm der Abweichung des Bildes oder des Bildelementwertes zu
erhalten (S142).
-
Dann
wird gemäß dem erhaltenen
Histogramm eine Bestimmungsschwelle T bestimmt, um gültige Blöcke zu detektieren
(S143). Die Bestimmungsschwelle T basiert auf dem Referenzwert von 10%
von der Anzahl von Blöcken
in einem Rahmen, wobei die Anzahl von Blöcken ab der größten Abweichung
des Bildes oder des Bildelementwertes sequentiell integriert wird,
bis das Resultat den Referenzwert erreicht hat oder sich dem Referenzwert
nähert.
Dann wird der Minimalwert der Abweichung des Bildes oder des Bildelementwertes
als Bestimmungsschwelle T festgelegt.
-
Danach
wird die Abweichung des Bildes oder des Bildelementwertes mit der
Bestimmungsschwelle T bei allen Blöcken in dem gegenwärtigen Rahmen verglichen,
und es wird bestimmt, daß ein
Block, in dem die Abweichung des Bildes oder des Bildelementwertes
gleich der Bestimmungsschwelle T oder größer als diese ist, im Vergleich
zu dem entsprechenden Block in dem Referenzrahmen als Block mit verändertem
Bild bestimmt wird. Ein Block mit verändertem Bild, das heißt, ein
gültiger
Block, wird codiert (S144 bis S146).
-
Die
Prozesse der Schritte S141 bis S146 werden an allen anderen Rahmen
ausgeführt.
Wenn bestimmt wird, daß der
Codierprozeß an
allen gültigen
Blöcken
in allen Rahmen ausgeführt
worden ist ("Ja" bei S147), endet
dann der Codierprozeß.
-
51 ist das Blockdiagramm, das die Schaltungskonfiguration
der 22. Bilddatencodiervorrichtung zum Codieren von Bilddaten in
jedem Rahmen gemäß dem 9.
Bilddatencodierverfahren zeigt.
-
In 51 hat jede von der Bildpuffereinheit 1020,
der Referenzrahmenspeichereinheit 1030, der Blockveränderungsbestimmungseinheit 1040,
der Blockinformationsspeichereinheit 1050 und der Codiereinheit 1060 die
Funktion, die mit jener des Schaltungsblocks identisch ist, dem
die selbe Bezeichnung und Zahl zugeordnet ist, die in den oben beschriebenen
Bilddatencodiervorrichtungen verwendet wurden.
-
Eine
Frequenzberechnungseinheit 4010 erhält die Abweichung des Bildes
oder des Bildelementwertes (zum Beispiel den maximalen Absolutwert
der Differenz) zwischen jedem Block in dem gegenwärtigen Rahmen,
der in dem Bildpuffer 1020 gespeichert ist, und dem entsprechenden
Block in dem Referenzrahmen, der in der Referenzrahmenspeichereinheit 1030 gespeichert
ist, und dann wird die Frequenz (die Anzahl von Blöcken) für jeden
Wert der Abweichung des Bildes oder des Bildelementwertes berechnet.
Das heißt,
ein Histogramm der Abweichung des Bildes oder des Bildelementwertes wird
mit der Frequenz erhalten, die durch die Anzahl von Blöcken verkörpert wird.
Beim Erzeugen des Histogramms gibt dann die Frequenzberechnungseinheit 4010 ein
Bestimmungsschwellenumschreibsignal RET an
eine Bestimmungsschwelleneinstelleinheit 4012 aus.
-
Die
Bestimmungsschwelleneinstelleinheit 4012 nimmt die Frequenz
(die Anzahl von Blöcken) der
Abweichung des Bildes oder des Bildelementes von der Frequenzberechnungseinheit 4010 in
der Reihenfolge ab der größten Abweichung
des Bildes oder des Bildelementwertes sequentiell auf und integriert
dann sequentiell die Frequenz (die Anzahl von Blöcken). Wenn der integrierte
Wert eine vorbestimmte Höhe
erreicht hat (zum Beispiel etwa 10% aller Blöcke in einem Rahmen), stellt
die Bestimmungsschwelleneinstelleinheit 4012 die Bestimmungsschwelle
T auf den Wert der Abweichung des Bildes oder des Bildelementes
ein, der bei dem letzten Schritt des Berechnungsprozesses als integrierte Frequenz
(die Anzahl von Blöcken)
erhalten wurde, das heißt,
auf den Wert der minimalen Abweichung des Bildes oder des Bildelementes
als integrierte Frequenz (die Anzahl von Blöcken).
-
Falls
die Bestimmungsschwelle T somit eingestellt ist, empfängt. die
Blockveränderungsbestimmungseinheit 1040 die
Bilddaten in dem gegenwärtigen
Rahmen und dem Referenzrahmen von dem Bildpuffer 1020 bzw.
der Referenzrahmenspeichereinheit 1030 und bestimmt unter
Verwendung der Bestimmungsschwelle T, ob jeder der Blöcke in dem
gegenwärtigen
Rahmen gültig
oder ungültig
ist. Die Gültigkeits-/Ungültigkeitsbestimmung
kann ausgeführt werden,
indem wieder die Abweichung des Bildes oder des Bildelementwertes
für jeden
Block in dem gegenwärtigen
Rahmen erhalten wird und der resultierende Wert mit der Bestimmungsschwelle
T verglichen wird. Als Resultat gibt die Blockveränderungsbestimmungseinheit 1040 an
die Blockinformationsspeichereinheit 1050 die Blockinformationen
aus, die angeben, daß jeder
der Blöcke
in dem gegenwärtigen
Rahmen gültig
oder ungültig
ist (zum Beispiel "1" für einen
gültigen
Block und "0" für einen
ungültigen Block).
-
Die
Codiereinheit 1060 liest sequentiell in einer vorbestimmten
Reihenfolge von der Blockinformationsspeichereinheit 1050 die
Blockinformationen bezüglich
jedes Blocks in dem gegenwärtigen
Rahmen, der in dem Bildpuffer 1020 gespeichert ist, und codiert
dann nur die Daten in gültigen
Blöcken.
Wenn die Codiereinheit 1060 die Daten in allen gültigen Blöcken in
dem gegenwärtigen
Rahmen codiert hat, gibt die Codiereinheit 1060 durch den
Anschluß 1070 die
codierten Daten aus, die durch den oben beschriebenen Codierprozeß erhalten
wurden, und die Blockinformationsspeichereinheit 1050 gibt
durch den Anschluß 1090 die
Blockinformationen bezüglich jedes
Blocks in dem gegenwärtigen
Rahmen aus.
-
52 ist das Blockdiagramm, das die Konfiguration
der 23. Bilddatencodiervorrichtung zum Codieren von Bilddaten wie
in der 22. Bilddatencodiervorrichtung gemäß dem Verfahren zeigt, das durch
das Flußdiagramm
von 50 dargestellt wird.
-
In 52 hat jede von der Bildpuffereinheit 1020,
der Referenzrahmenspeichereinheit 1030 und der Codiereinheit 1060 die
Funktion, die mit jener des Schaltungsblocks identisch ist, die
mit derselben Bezeichnung und Zahl versehen ist, die in der oben
beschriebenen 15. Bilddatencodiervorrichtung von 39 verwendet wurden.
-
Eine
Bild- oder Bildelementveränderungsberechnungseinheit 4020 empfängt die
Bilddaten in dem gegenwärtigen
Rahmen und dem Referenzrahmen von dem Bildpuffer 1020 bzw.
der Referenzrahmenspeichereinheit 1030 und erhält wie die
Frequenzberechnungseinheit 4010 der Bilddatencodiereinheit
von 22 die Abweichung des Bildes oder des
Bildelementwertes (zum Beispiel den maximalen Absolutwert der Differenz)
für jeden
Block in dem gegenwärtigen
Rahmen, und die Resultate werden in der Blockinformationsspeichereinheit 4022 temporär gespeichert.
-
Beim
Empfangen und Speichern der Abweichung des Bildes oder des Bildelementwertes
für jeden
der Blöcke
in dem gegenwärtigen
Rahmen von der Bild- oder Bildelementveränderungsdetektionseinheit 4020 gibt
die Blockinformationsspeichereinheit 4022 ein Bestimmungsschwellenumschreibsignal
RET an eine Bestimmungsschwelleneinstelleinheit 4024 aus.
-
Die
Bestimmungsschwelleneinstelleinheit 4024 liest von der
Blockinformationsspeichereinheit 4022 die Abweichung des
Bildes oder des Bildelementwertes für alle Blöcke in dem gegenwärtigen Rahmen,
erzeugt ein Histogramm für
jeden Wert mit der Frequenz, die als Anzahl von Blöcken verkörpert ist,
und stellt das Histogramm zum Beispiel auf eine Bestimmungsschwelle
T gemäß dem oben
beschriebenen Verfahren ein. Dann empfängt die Bestimmungsschwelleneinstelleinheit 4024 von
der Blockinformationsspeichereinheit 4022 die Abweichung
des Bildes oder des Bildelementwertes für jeden Block in dem gegenwärtigen Rahmen,
vergleicht die Abweichung des Bildes oder des Bildelementwertes
für jeden
Block sequentiell mit der Besitimmungsschwelle T, bestimmt einen
Block, dessen Abweichung des Bildes oder des Bildelementwertes gleich
der Bestimmungsschwelle T oder größer als diese ist, als gültigen Block,
und einen Block, dessen Abweichung des Bildes oder des Bildelementwertes
kleiner als die Bestimmungsschwelle T ist, als ungültigen Block
und schreibt die Abweichung des Bildes oder des Bildelementwertes,
die in der Blockinformationsspeichereinheit 4022 für jeden
Block gespeichert ist, in binäre Blockinformationen
um ("1" für einen
gültigen
Block und "0" für einen
ungültigen
Block), wodurch für
jeden Block angegeben wird, daß er
gültig
oder ungültig
ist.
-
Falls
die Blockinformationen bezüglich
aller Blöcke
in dem gegenwärtigen
Rahmen in der Blockinformationsspeichereinheit 4022 gespeichert
sind, wie oben beschrieben, liest die Codiereinheit 1060 in einer
vorbestimmten Reihenfolge von der Blockinformationsspeichereinheit 4022 bei
allen Blöcken
in dem gegenwärtigen
Rahmen sequentiell die Blockinformationen bezüglich jedes Blocks in dem gegenwärtigen Rahmen
und codiert nur die Daten in den Blöcken, deren Blockinformationen
einen gültigen Block
bezeichnen.
-
Somit
wird gemäß der 4.
Ausführungsform ein
Histogramm der Abweichung eines vorbestimmten Bildes oder Bildelementwertes
(zum Beispiel der maximale Absolutwert der Differenz) zwischen entsprechenden
Blöcken
in dem gegenwärtigen
Rahmen und dem Referenzrahmen für
einen Rahmen erzeugt, und eine Bestimmungsschwelle T wird als Referenzwert
zur Verwendung beim Extrahieren eines gültigen Blocks in dem gegenwärtigen Rahmen
gemäß dem erzeugten
Histogramm eingestellt. Deshalb kann eine zweckmäßige Bestimmungsschwelle T
für jeden
Rahmen eingestellt werden, selbst wenn ein Rahmen eine Serie von
Bewegtbildern enthält, die
verschiedene Abweichungen aufweisen. Daher können die Bilddaten codiert
werden, nachdem der optimale gültige
Block in jedem Rahmen extrahiert wurde.
-
Auf
der Basis der Frequenz (der Anzahl von Blöcken) von jedem Wert der Abweichung
eines Bildes oder eines Bildelementwertes kann eine Bestimmungsschwelle
T so eingestellt werden, daß die
Anzahl von gültigen
Blöcken
für jeden
Rahmen feststehend sein kann. Deshalb kann die Menge von Codes gesteuert
werden, um für
jeden Rahmen feststehend zu sein, und die optimale Bildübertragung
kann unter verschiedenen Bedingungen wie etwa der Informationsübertragungsgeschwindigkeit
einer Übertragungsleitung,
der Stückzahl
von Rahmen pro Zeiteinheit, etc., realisiert werden.
-
Da
die Frequenz von Veränderungen
von Bildern zwischen Rahmen bei Bewegtbildern ausgeglichen ist,
wird eine Bestimmungsschwelle T nur für die ersten n Rahmen (n =
1, 2, 3, ...) eingestellt, und eine Bestimmungsschwelle T, die für den n-ten
Rahmen eingestellt wird, kann beim Detektieren von gültigen Blöcken in
den (n + 1)-ten und folgenden Rahmen verwendet werden. Somit kann
ein Codierprozeß für den (n
+ 1)-ten Rahmen
mit hoher Geschwindigkeit ausgeführt
werden.
-
Weiterhin
kann ein gültiger
Block mit hoher Geschwindigkeit unter Verwendung des maximalen Absolutwertes
der Differenz als Abweichung eines Bildes oder Bildelementwertes
extrahiert werden, wodurch der Codierprozeß mit hoher Geschwindigkeit
ausgeführt
wird. Die Summe von Absolutwerten von Differenzen oder die Summe
von Quadratzahlen von Differenzen kann als Abweichung des Bildes oder
des Bildelementwertes verwendet werden.
-
Wie
oben beschrieben, wird dann, wenn Bewegtbilder codiert werden, ein
Absolutwert der Differenz für
jedes Bild oder Bildelement in jedem Block in dem Referenzrahmen
erhal ten, wird der maximale Absolutwert von Differenzen mit einer
vorbestimmten Schwelle verglichen und wird bestimmt, ob jeder Block
in dem Referenzrahmen gültig
oder ungültig
ist. Falls dabei ein Bild oder ein Bildelementsignal irgendein Rauschen
enthält,
weist dann ein Bereich, der normalerweise ausgeglichen sein sollte,
eine ungleichmäßige Farbe
in einer Blockform auf.
-
Das
heißt,
in einer Serie von Blöcken
in einem Bereich, wo ähnliche
Farben aneinandergrenzend verwendet werden (zum Beispiel in einem
Hintergrundbereich), ergibt sich dann das oben beschriebene Problem,
falls ein Block als gültig
bestimmt wird und ein anderer Block, der an jenen Block angrenzt,
auf Grund von Rauschen, etc., das in einem Bild oder Bildelementsignal
erzeugt wird, als ungültig
angesehen wird. Dieses Blockrauschen wird auffällig, wenn der Codierprozeß weiter
ausgeführt wird.
Daher ist es unvermeidlich, einen Referenzrahmen periodisch aufzufrischen,
um solch ein Problem zu lösen.
-
Falls
jedoch ein Auffrischprozeß bei
einem herkömmlichen
Verfahren ausgeführt
wird, werden unnatürliche
flimmernde Bilder angezeigt, da große Unterschiede zwischen benachbarten
Rahmen aufgezeichnet werden.
-
Als
nächstes
wird unten eine Technik zum Lösen
solcher Probleme erläutert.
-
53 ist das Flußdiagramm, welches ein 10.
Bilddatencodierverfahren zeigt. Das Flußdiagramm zeigt einen Prozeß zum Codieren
von Bilddaten in einem Rahmen.
-
Bei
diesem Verfahren werden Bilddaten in dem gegenwärtigen Rahmen in n (n = 1,
2, 3, ...) Bereiche geteilt (S151).
-
Gemäß diesem
Codierverfahren werden Bestimmungsschwellen Th1,
Th2, Th3, ..., Thn individuell für jeden der abgeteilten Bereiche
vorgesehen, und ein gültiger
Block wird unter Verwendung einer entsprechenden Bestimmungsschwelle
für jeden
Block in jedem Bereich extrahiert.
-
Das
heißt,
der erste Bereich wird aus den oben beschriebenen n Bereichen selektiert,
und die Bereiche werden in eine Vielzahl von Blöcken mit vorbestimmter Größe geteilt
(zum Beispiel 8 × 8
Bilder oder Bildelemente oder 16 × 16 Bilder oder Bildelemente,
etc.). Dann wird die Abweichung eines vorbestimmten Bildes oder
Bildelementwertes (der maximale Absolutwert der Differenz, die Summe
von Absolutwerten von Differenzen oder die Summe von Quadratzahlen,
etc.) zwischen den entsprechenden Blöcken in dem gegenwärtigen Rahmen
und dem Referenzrahmen erhalten und mit einer entsprechenden Bestimmungsschwelle
Th(1) verglichen, so daß bestimmt wird, ob sich die
Bilddaten zwischen den entsprechenden Blöcken in dem gegenwärtigen Rahmen
und dem Referenzrahmen unterscheiden oder nicht (S152 und S153).
-
Dann
wird ein gültiger
Block extrahiert, das heißt,
ein Block, bei dem bestimmt wurde, daß er im Vergleich zu dem Referenzrahmen
veränderte
Bilddaten hat ("Ja" bei S153), und die
Bilddaten in gültigen
Blöcken
werden codiert (S154). Andererseits werden Bilddaten in einem ungültigen Block,
das heißt,
in einem Block, bei dem bestimmt wurde, daß er im Vergleich zu dem Referenzrahmen
keine veränderten
Bilddaten aufweist (S153), überhaupt
nicht codiert.
-
Wenn
die oben beschriebenen Prozesse bei S152 bis S154 an allen Blöcken in
dem ersten Bereich, der zuerst selektiert wurde, ausgeführt worden sind
("Ja" bei S155), werden
die Prozesse bei S152 bis S155 an dem nächsten selektierten zweiten
Bereich ausgeführt.
-
So
werden Bilddaten für
die gültigen
Blöcke codiert,
die in dem zweiten Bereich bestimmt wurden, wie oben beschrieben.
-
Falls
die Prozesse bei den Schritten S152 bis S155 ausgeführt sind
und der Codierprozeß an
allen Bereichen in dem gegenwärtigen
Rahmen ausgeführt
worden ist ("Ja" bei S156), wird
dann der Prozeß zum
Codieren von Bilddaten in dem gegenwärtigen Rahmen in allen Bereichen
des gegenwärtigen Rahmens
beendet.
-
Daher
kann eine Differenz, die in einem Bereich erzeugt wird (Differenz
zwischen einem rekonstruierten Bild und dem ursprünglichen
Bild), reduziert werden, indem eine Bestimmungsschwelle individuell
für jeden
Bereich in einem Rahmen verwendet wird oder eine kleine Bestimmungsschwelle
für einen Bereich
eingestellt wird. Das heißt,
falls eine Differenz detektiert werden kann, wird der entsprechende Block
als gültiger
Block extrahiert, und ein Codierprozeß wird an dem gültigen Block
ausgeführt.
So kann die Verschlechterung von Bildern auf Grund einer Differenz
in einem spezifischen Bereich verhindert werden, indem eine Bestimmungsschwelle
eingestellt wird oder die Differenz in einem spezifischen Bereich auf
ein Niveau reduziert wird, das jenseits der visuellen Erkennbarkeit
liegt.
-
Ferner
kann die Inkrementierung der Menge von Codes, die bei einem Referenzrahmenauffrischprozeß detektiert
wird, minimiert werden. Das heißt, ein
Block wird nur dann extrahiert oder codiert, falls er einen veränderten
Inhalt in dem Maße
aufweist, daß die
Differenz erkannt werden kann (ein gültiger Block). Deshalb kann
die Menge von Daten, die zu codieren sind, reduziert werden, und
die Gesamtmenge von Codes kann verringert werden. In diesem Fall
kann eine Auffrischoperation ohne jegliches Problem ausgeführt werden,
indem die Bestimmungsschwelle von jedem Bereich bis hinab auf einen
Wert reduziert wird, der klein genug ist, um als gültigen Block
nur einen Block zu extrahieren, dessen Diffe renz der Bilddaten zu
einer Verschlechterung eines resultierenden Bildes führt.
-
54 ist das Flußdiagramm, welches ein 11.
Bilddatencodierverfahren zeigt, das zum Lösen eines Problems bei dem
oben beschriebenen herkömmlichen
Auffrischprozeß entwickelt
wurde.
-
Das
Flußdiagramm
von 54 zeigt ein Verfahren zum
Codieren einer Vielzahl von Rahmen. Der Prozeß bei Schritt S162 von 54 ist mit den Prozessen der Schritte S151 bis
S156 in dem Flußdiagramm
von 53 äquivalent.
-
Bei
dem Codierverfahren wird eine Bestimmungsschwelle, die in jedem
Bereich in einem Rahmen individuell verwendet wird, zweckmäßig modifiziert
(S161).
-
Unter
Verwendung einer modifizierten Bestimmungsschwelle können die
Bilddaten in dem gegenwärtigen
Rahmen gemäß dem Flußdiagramm von 53 codiert werden (S162).
-
Unter
erneuter Bezugnahme auf Schritt S161 wird eine Bestimmungsschwelle,
die jedem Bereich in dem folgenden Rahmen zuzuordnen ist, modifiziert,
und die Bilddaten in dem Rahmen werden codiert (S162).
-
Gleichfalls
werden die Prozesse der Schritte S161 und S162 an den verbleibenden
Rahmen ausgeführt.
Falls der Codierprozeß an
allen Rahmen ausgeführt
worden ist ("Ja" bei S163), ist der
Codierprozeß beendet.
-
Somit
kann ein herkömmliches
Problem, daß unnatürliche flimmernde
Bilder erzeugt werden, verhindert werden, indem eine Serie von Rahmen
sequentiell codiert wird.
-
Ein
Beispiel für
die Lösung
wird im folgenden erläutert.
-
Zum
Beispiel wird ein Rahmen in 10 Bereiche geteilt, und die 10 Bereiche
werden individuell als 1. Bereich, 2. Bereich, ... und 10. Bereich
bezeichnet. Die Bestimmungsschwellen für jeden der Bereiche lauten
Th1 (für
den 1. Bereich), Th2 (für den 2. Bereich), ... und
Th10 (für
den 10. Bereich).
-
Ferner
werden zwei zusätzliche
Schwellen VALa und VALb als
Bestimmungsschwellen vorgesehen.
-
VALa: eine Schwelle zur Verwendung bei einem
Auffrischprozeß,
um einen Block als ungültigen Block
zu bestimmen, dessen Differenz der Bilder klein genug ist, um eine
Verschlechterung von Bildern zu erzeugen, die erkannt werden kann.
-
VALb: eine Schwelle, die größer als VALa ist und
verwendet wird, um die Menge von Codes zu reduzieren.
-
Wenn
eine Schwelle in Rahmenintervallen modifiziert wird, wird die Schwelle,
die jedem der Bereiche in den 1. bis 10. Rahmen zuzuordnen ist,
wie folgt modifiziert.
Im 1. Rahmen: Th1 < Th2 =
Th3 = Th4 = Th5 = Th6 = Th7 = Th8 = Th9 = Th10 (Th1 = VALa, Th2 = Th3 = ... Th10 = VALb).
Im
2. Rahmen: Th2 < Th1 = Th3 = Th4 = Th5 = Th6 = Th7 = Th8 = Th9 = Th10 (Th2 = VALa, Th1 = Th3 = ... Th10 = VALb).
...
Im
10. Rahmen: Th10 < Th1 = Th2 = Th3 = Th4 = Th5 = Th6 = Th7 = Th8 = Th9 = Th10 (Th10 = VALa, Th1 = Th2 = ... Th9 = VALb).
-
Das
heißt,
in dem 1. Rahmen wird die Schwelle VALa nur
der Bestimmungsschwelle Th1 in dem 1. Bereich
zugeordnet, während
die Schwelle VALb Bestimmungsschwellen Th2 bis Th10 zugeordnet wird.
Daher wird in dem 1. Rahmen die Differenz in dem 1. Bereich in dem
1. Rahmen bis hinab auf das Maß reduziert,
daß die
Verschlechterung des Bildes nicht erkannt werden kann.
-
Da
in dem 2. Rahmen die Schwelle VALa nur dem
2. Bereich zugeordnet wird, wird die Differenz in dem 2. Bereich in
dem Referenzrahmen bis hinab auf das Maß reduziert, daß die Verschlechterung
des Bildes nicht erkannt werden kann.
-
Gleichfalls
werden in jedem Rahmen ab dem 3. bis zum 10. Rahmen die Bilddaten
in dem Referenzrahmen in dem 10. Rahmen aufgefrischt, indem die
Schwelle VALa sequentiell dem 3., dem 4.,
... bzw. dem 10. Bereich zugeordnet wird. Dann können die Bilddaten in dem Referenzrahmen
in jedem 10. Rahmen aufgefrischt werden, indem der oben beschriebene
Prozeß bei
dem 11. und den folgenden Rahmen wiederholt wird.
-
Falls
die Bilddaten in dem Referenzrahmen durch dieses Verfahren aufgefrischt
werden, wird ein Bereich bei jedem Rahmen aufgefrischt. Daher werden
unnatürliche
flimmernde Bilder, die bei einem Auffrischprozeß erzeugt werden, verhindert,
indem die Bereiche auf eine zweckmäßige Größe festgelegt werden, wodurch
das Problem gelöst
wird, das durch das herkömmliche
Verfahren verursacht wird.
-
Als
nächstes
wird unten ein anderes Verfahren zum Lösen des Problems beschrieben,
das durch das herkömmliche
Verfahren verursacht wird.
-
In
diesem Fall werden zehn Schwellen vorläufig vorgesehen, die zum Beispiel
die folgernde Korrelation aufweisen.
VAL1 < VAL2 < VAL3 < VAL4 < VAL5 < VAL6 < VAL7 < VAL8 < VAL9 < VAL10
-
Es
wird nun angenommen, daß VAL1 dem obigen VALa entspricht.
-
Die
Bestimmungsschwelle, die jedem Bereich in den 1. bis 10. Rahmen
zugeordnet wird, wird in einem Schleifenformat wie folgt modifiziert.
Im
1. Rahmen: Th1 < Th2 < Th3 < Th4 < Th5 < Th6 < Th7 < Th8 < Th9 < Th10 (Thi = VALi, (i = 1~10)).
Im
2. Rahmen: Th2 < Th3 < Th4 < Th5 < Th6 < Th7 < Th8 < Th9 < Th10 < Th1 (Thi = VALi–1 (i
= 2, 3, ..., 9), Th1 = VAL10).
...
Im
10. Rahmen: Th10 < Th1 < Th2 < Th3 < Th4 < Th5 < Th6 < Th7 < Th8 < Th9 (Th10 = VAL1 Thj = VALj+1 (j = 1~9)).
-
Bei
diesem Verfahren kann die Differenz in jedem Bereich in dem Referenzrahmen
allmählicher als
bei dem oben beschriebenen Verfahren reduziert werden. Deshalb können unnatürliche flimmernde Bilder
noch mehr verhindert werden.
-
Bei
den oben beschriebenen zwei Beispielen wird die Entsprechung zwischen
einem Bereich und einer Bestimmungsschwelle bei jedem Rahmen modifiziert.
Sie kann jedoch optional in beliebigen Intervallen modifiziert werden.
Weiterhin kann sie in beliebigen Zeitintervallen und nicht in Rahmenintervallen modifiziert
werden. Der erforderliche Prozeß ist
als Prozeß bei
Schritt S161 gezeigt, der in dem Flußdiagramm von 54 dargestellt ist.
-
55 ist das Flußdiagramm, welches ein 12.
Bilddatencodierverfahren zum Lösen
des Problems zeigt, das bei dem Auffrischprozeß durch das herkömmliche
Verfahren verursacht wird.
-
Gemäß dem Codierverfahren,
das durch das Flußdiagramm
gezeigt wird, kann die Bestimmungsschwelle, die für jeden
Bereich in einem Rahmen verwendet wird, durch eine arithmetische
Operation und nicht durch ein Umschalten von Ausgaben modifiziert werden
(S171). Dieser Prozeß ist
mit dem Prozeß von
Schritt S161 des Flußdiagramms
von 54 äquivalent. Eine Bestimmungsschwelle
wird für
jeden Bereich modifiziert.
-
Während eine
Bestimmungsschwelle für
jeden Bereich in vorbestimmten Rahmenintervallen oder Zeitintervallen
modifiziert wird, werden die Bilddaten in jedem Rahmen wie bei dem Prozeß von Schritt
S162 codiert, der durch das Flußdiagramm von 54 gezeigt wird (S171 bis S173).
-
Deshalb
sieht dieses Codierverfahren einen Effekt vor, der mit dem des 11.
Bilddatencodierverfahrens äquivalent
ist, das durch das Flußdiagramm von 54 gezeigt wird.
-
56 ist ein Blockdiagramm, welches die Konfiguration
einer 24. Bilddatencodiervorrichtung zum Codieren einer Serie von
Bilddaten in Rahmeneinheiten gemäß dem Codierverfahren
zeigt, das durch das Flußdiagramm
der 53, 54 und 55 dargestellt
wird.
-
Eine
Referenzrahmenspeichereinheit 5030 ist ein Speicher zum
Speichern von Bilddaten in dem Referenzrahmen zur Verwendung beim
Detektieren eines gültigen
Blocks in dem Referenzrahmen, der durch einen Anschluß 5010 angewendet
wird.
-
Eine
Bereichsteileinheit 5040 teilt Bilddaten in dem gegenwärtigen Rahmen,
der durch den Anschluß 5010 angewendet
wird, in eine Vielzahl von Bereichen. Dann gibt sie diese sequentiell
an eine Blockveränderungsbestimmungseinheit 5060 aus, wobei
mit dem 1. Bereich begonnen wird, und gibt an eine Bestimmungsschwellenausgabeeinheit 5050 ein
Identifikationssignal (Bereichsidentifikationssignal) Rid aus, das
den Bereich bezeichnet, der an die Blockveränderungsbestimmungseinheit 5060 ausgegeben
wird.
-
Zusätzlich zu
dem Bereichsidentifikationssignal Rid empfängt die Bestimmungsschwellenausgabeeinheit 5050 ein
Rahmensignal FRn, das die Rahmennummer des
gegenwärtigen
Rahmens angibt, von einem Anschluß 5020 und gibt an
die Blockveränderungsbestimmungseinheit 5060 gemäß diesen Signalen
die Bestimmungsschwelle zur Verwendung beim Detektieren eines gültigen Blocks
bei jedem Block in den Bereichen in dem gegenwärtigen Rahmen aus, dessen Bilddaten
der Blockveränderungsbestimmungseinheit 5060 eingegeben
worden sind.
-
Die
Blockveränderungsbestimmungseinheit 5060 teilt
die Bilddaten in jedem Bereich, die durch die Bereichsteileinheit 5040 angewendet
werden, in eine Vielzahl von Blöcken,
vergleicht die Bilddaten in jedem Block mit den Bilddaten in dem
entsprechenden Block in dem Referenzrahmen, der in der Referenzrahmenspeichereinheit 5030 gespeichert
ist, und erhält
die Abweichung eines vorbestimmten Bildes oder Bildelementwertes.
Dann vergleicht die Einheit die Abweichung eines Bildes oder eines
Bildelementwertes mit der Bestimmungsschwelle, die von der Bestimmungsschwellenausgabeeinheit 5050 angewendet
wird, bestimmt, ob der gegenwärtige
Block gültig
oder ungültig
ist, und gibt das Bestimmungsresultat an die Referenzrahmenspeichereinheit 5030, eine
Blockinformationsausgabeeinheit 5070 und eine Codiereinheit 5080 aus.
-
Die
Blockinformationsausgabeeinheit 5070 empfängt ein
Bestimmungsresultat und gibt es durch einen Anschluß 5090 als
Blockinformationen extern aus ("1" für einen
gültigen
Block und "0" für einen
ungültigen
Block).
-
Bei
Empfang eines Bestimmungsresultats, das angibt, daß der gegenwärtige Block
gültig
ist, empfängt
die Codiereinheit 5080 die Bilddaten des Blocks von der
Bereichsteileinheit 5040 und codiert sie. Sie codiert nicht
die Bilddaten von ungültigen Blöcken. Die
Einheit gibt die codierten Daten von gültigen Blöcken, die durch den Codierprozeß erhalten wurden,
durch einen Anschluß 5100 extern
aus.
-
Die
Referenzrahmenspeichereinheit 5030 empfängt das Bestimmungsresultat
als Referenzrahmenaktualisierungssignal REf (zum Beispiel "High" für einen
gültigen
Block und "Low" für einen
ungültigen
Block) und ersetzt den entsprechenden Block in dem Referenzrahmen,
der in ihr gespeichert ist, durch den Block, der in der Bereichsteileinheit 5040 gespeichert
ist, falls der Block gültig
ist. Falls der Block ungültig
ist, wird der entsprechende Block in dem Referenzrahmen überhaupt
nicht ersetzt.
-
So
wird gemäß einer
individuellen Bestimmungsschwelle, die durch die Bestimmungsschwellenausgabeeinheit 5050 ausgegeben
wird, bei jedem Block in jedem abgeteilten Bereich von Bilddaten
in dem gegenwärtigen
Rahmen, der von dem Anschluß 5010 angewendet
wird, bestimmt, ob er gültig
ist oder nicht. Dann codiert die Codiereinheit 5080 nur
gültige Blöcke, und
die Referenzrahmenspeichereinheit 5020 ersetzt die Bilddaten
in dem entsprechenden Block in dem Referenzrahmen durch die Bilddaten
in dem gültigen
Block.
-
Deshalb
kann eine Serie von Bilddaten durch das Bilddatencodierverfahren,
das durch das Flußdiagramm
von 54 oder 55 gezeigt
wird, zweckmäßig codiert
werden.
-
Als
nächstes
ist jedes der Konfigurationsbeispiele der Bestimmungsschwellenausgabeeinheit 5050 in
den 57A, 57B und 57C gezeigt.
-
57A zeigt ein Beispiel einer Basisschaltung zum
Ausgeben der Bestimmungsschwelle Thn (n
= 1, 2, ...), die für
jeden Bereich in einem Rahmen eingestellt wird. Das heißt, ein
Schwellenhaltespeicher 5051 speichert die Bestimmungsschwelle
Thn (n = 1, 2, ...), die jedem Bereich in
einem Rahmen individuell entspricht.
-
Bei
Empfang eines Bereichsidentifikationssignals Rid von der Bereichsteileinheit 5040,
die in 56 gezeigt ist, sendet eine
Adressensendeeinheit 5052 eine Adresse an den Schwellenhaltespeicher 5051,
in der die Bestimmungsschwelle Thn gespeichert
ist, die dem Bereich entspricht, der durch das Signal Rid bezeichnet
wird. Somit gibt der Schwellenhaltespeicher 5051 die Bestimmungsschwelle
Thn aus, die dem Bereich entspricht, der durch
den Codierbereich empfangen wird. Das heißt, in der Schaltung werden
keine Rahmensignale FRn verwendet.
-
Als
nächstes
zeigt 57B ein Schaltungsbeispiel
für das
Umschalten der Bestimmungsschwelle Thn für jeden
Bereich in jedem Rahmen. Sie betrifft das Bilddatencodierverfahren,
das durch das Flußdiagramm
von 55 gezeigt wird. In 57B hat ein Schwellenhaltespeicher 5053 eine
Konfiguration, die jener des Schwellenhaltespeichers 5051 ähnlich ist.
-
In 57B erzeugt eine Adressentransformationseinheit 5053 eine
Adressein dem Schwellenhaltespeicher 5052 gemäß einem
Bereichsidentifikationssignal Rid, das von der Bereichsteileinheit 5040 empfangen
wird, und einem Rahmensignal FRn, das durch
den Anschluß 5020 empfangen
wird, und gibt die Adresse an den Speicher 5053 zum Speichern der
Bestimmungsschwelle Thn für den Bereich
in dem gegenwärtigen
Rahmen aus, der von der Bereichsteileinheit 5040 an die
Blockveränderungsbestimmungseinheit 5060 ausgegeben
wird. Dann gibt der Schwellenhaltespeicher 5053 die Bestimmungsschwelle
Thn für
den Bereich in dem gegenwärtigen Rahmen
an die Blockveränderungsdetektionseinheit 5060 aus.
-
Somit
wird in dieser Schaltung die Bestimmungsschwelle Thn gemäß einem
Rahmensignal eingestellt, das eine Rahmennummer bezeichnet, und
gemäß einem
Bereichsidentifikationssignal Rid, das den Bereich bezeichnet, für den eine
Bestimmung von gültigen/ungültigen Blöcken erfolgt.
Deshalb kann eine Bestimmungsschwelle Thn für jeden Bereich
in einem Rahmen in vorbestimmten Rahmenintervallen (für jeden
von einer beliebigen Anzahl von Rahmen) wie bei dem Bildcodierverfahren,
das durch das Flußdiagramm
von 55 gezeigt wird, modifiziert
(umgeschaltet) werden.
-
Dann
hat die in 57C gezeigte Schaltung die
Funktion, die mit jener der Schaltung von 57B äquivalent
ist. Bei dieser Schaltung hat ein Schwellenhaltespeicher 5056,
der in 57C gezeigt ist, dieselbe Konfiguration
wie der Schwellenhaltespeicher 5053 von B.
-
Bei
Empfang eines Bereichsidentifikationssignals Rid von der Bereichsteileinheit 5040 meldet eine
Adressenerzeugungseinheit 5057 eine Adresse, die auszugeben
ist, dem Schwellenhaltespeicher 5056, der die Bestimmungsschwelle
Thn speichert, für den Bereich in dem gegenwärtigen Rahmen,
der gerade auf die Blockveränderungsdetektionseinheit 5060 angewendet
wird. Somit gibt der Schwellenhaltespeicher 5056 an eine
Schwellentransformationseinheit 5058 eine Bestimmungsschwelle
Thn für
den Bereich aus, der unter der oben beschriebenen Adresse gespeichert
ist.
-
Die
Schwellentransformationseinheit 5058 konvertiert eine Bestimmungsschwelle
Thn in eine Bestimmungsschwelle Thn' für den Bereich
in dem gegenwärtigen
Rahmen, der gemäß einem
Rahmensignal FRn bezeichnet wird, das von
dem Anschluß 5020 empfangen
wird, und gibt eine Schwelle Thn' an die Blockveränderungsdetektionseinheit 5060 aus.
-
Somit
konvertiert bei dieser Schaltung die Schwellentransformationseinheit 5058 eine
Bestimmungsschwelle Thn, die jedem Bereich
in einem Rahmen fest zugeordnet ist und durch den Schwellenhaltespeicher 5056 ausgegeben
wird, in eine Bestimmungsschwelle Thn' und gibt sie an
die Blockveränderungsdetektionseinheit 5060 aus.
Wie bei dem Bilddatencodierverfahren, das durch das Flußdiagramm
von 55 gezeigt ist, wird deshalb
durch das Modifizieren einer vorbestimmten Bestimmungsschwelle Thn durch eine arithmetische Operation der Wert
der Bestimmungsschwelle Thn für jeden
Bereich in einem Rahmen für
jeden von einer beliebigen Anzahl von Rahmen modifiziert.
-
Ein
Rahmen wird, wie oben beschrieben, in eine Vielzahl von Blöcken geteilt,
wenn eine Serie von Bildern wie etwa Bewegtbilder, etc., codiert
wird, und ein Block, der eine Veränderung von Bildern bezüglich des
vorherigen Rahmens aufweist, die einen Wert hat, der größer als
eine vorbestimmte Schwelle ist, wird als gültiger Block extrahiert, und
nur die Bilddaten des gültigen
Blocks werden codiert. Deshalb kann ein Video, das eher statische
Bilder zwischen benachbarten Rahmen aufweist, wie etwa Bildtelefonbilder,
Bewegtbilder, etc., effektiv komprimiert werden.
-
Wenn
ein ursprüngliches
Bild rekonstruiert wird, werden weiterhin Blockinformationen, die
angeben, ob ein Block in einem Rahmen gültig oder ungültig ist,
zusammen mit codierten Daten von Bilddaten in dem gültigen Block übertragen.
Deshalb kann eine Bildrekonstruktionseinrichtung die Position des
gültigen
Blocks gemäß den Blockinformationen
erkennen. Als Resultat kann die Bildrekonstruktionseinrichtung das
Bild in dem gültigen
Block an einer korrekten Position anzeigen, wenn das ursprüngliche Bild
gemäß den codierten
Daten in dem gültigen Block
rekonstruiert wird. Das heißt,
eine Serie von Bildern wie etwa Bewegtbilder, etc., kann durch das Modifizieren
von Bildern in gültigen
Blöcken
rekonstruiert werden.
-
Des
weiteren werden zwei Schwellen als Bestimmungsschwellen zur Verwendung
beim Bestimmen eines gültigen
Blocks eingesetzt. Die zwei Schwellen werden zweckmäßig verwendet,
so daß Bildveränderungsstart-
und -endabschnitte korrekt detektiert werden können und die Bereiche mit veränderten
Bildern als Serie von gültigen
Blöcken
in benachbarten Bereichen extrahiert werden können, wo Bilder von jenen in
den vorherigen Rahmen abweichen, selbst wenn die Abweichung von
Bildern nicht konstant ist oder die Bereiche Blöcke enthalten, in denen sich
Bilder moderat verändern.
So kann ein natürliches
Bild erfolgreich rekonstruiert werden.
-
Zusätzlich werden
Bilddaten codiert, nachdem ein Rahmen in gültige und ungültige Blöcke geteilt
ist, wenn ein Auf frischprozeß ausgeführt wird. Dann
werden die codierten Daten abteilungsweise zu einer Rekonstruktionseinrichtung übertragen.
Somit kann eine Auffrischrahmenempfangseinrichtung ein ursprüngliches
Bild rekonstruieren, ohne daß ihr
eine längere
Wartezeit zugeteilt wird. Weiterhin kann die Kapazität von Codepuffern
zum Speichern von codierten Daten sowohl in Sende-(Codier-) als
auch Empfangs-(Rekonstruktions-)-Einrichtungen reduziert werden.
-
So
können
Bilddaten in einem Referenzrahmen (Referenzbilder) während eines
Auffrischprozesses mit höherer
Geschwindigkeit als durch ein herkömmliches Verfahren aktualisiert
werden.
-
Ferner
kann eine Bestimmungsschwelle, die beim Extrahieren eines gültigen Blocks
verwendet wird (dessen Daten zu codieren sind), der eine Veränderung
von Bildern bezüglich
des Referenzrahmens aufweist, adaptiv eingestellt werden, so daß sich die
Menge von Codes unter verschiedenen Bedingungen wie etwa der Übertragungsrate
von Bildern und einer Übertragungsleitung,
der Anzahl von übertragenen
Rahmen pro Zeiteinheit, etc., auf einen zweckmäßigen Wert bezieht. Als Resultat
kann ein Bild gemäß den oben
beschriebenen Bedingungen übertragen
werden, und es ist möglich,
ein Bild mit höherer
Qualität
zu übertragen.
-
Bei
einem Verfahren wird die Abweichung eines vorbestimmten Bildes oder
Bildelementwertes zwischen jedem Block in einem Übertragungsrahmen und dem entsprechenden
Block in dem Referenzrahmen erhalten, wird die Frequenz (die Anzahl von
Blöcken)
der Abweichung eines vorbestimmten Bildes oder Bildelementwertes
in allen Übertragungsrahmen
erhalten und wird eine Bestimmungsschwelle gemäß der Frequenz eingestellt,
um einen gültigen Block
zu extrahieren (dessen Daten zu codieren sind), der eine Veränderung
von Bildern bezüglich des
Referenzrahmens aufweist. Als Resultat kann eine Bestimmungsschwelle
so eingestellt werden, daß sich
die Menge von Codes unter verschiedenen Bedingungen wie etwa der
Informationsübertragungsgeschwindigkeit,
der Anzahl von übertragenen Rahmen
pro Zeiteinheit, etc., auf einen zweckmäßigen Wert bezieht. Somit kann
gemäß den oben
beschriebenen Bedingungen die optimale Bildübertragung realisiert werden.
-
Weiterhin
kann eine Schwelle individuell jedem Bereich in jedem Rahmen zugeordnet
werden. Deshalb wird der Wert einer Schwelle für einen Bereich in dem Referenzrahmen,
der aufzufrischen und zu aktualisieren ist, minimiert, so daß die Verschlechterung
des Bildes in dem aktualisierten Bereich reduziert werden kann und
in dem rekonstruierten Bild nicht erkannt werden kann.
-
Jeder
der Bereiche in dem Referenzrahmen kann in vorbestimmten Rahmenintervallen
sequentiell aufgefrischt werden, indem die oben beschriebenen Aktualisierungsbereiche
in vorbestimmten Rahmenintervallen verändert werden (zum Beispiel durch
eine Veränderung
in Blockzeileneinheiten von dem oberen Ende eines Bildes nach unten).
In diesem Fall werden nicht alle Blöcke in dem Referenzrahmen gleichzeitig
aufgefrischt, sondern jeder Bereich in dem Referenzrahmen wird in
vorbestimmten Rahmenintervallen sequentiell aufgefrischt. Als Resultat
wird die Differenz in Bildern zwischen benachbarten Bildern vor
und nach den aufgefrischten Bereichen berücksichtigt, wodurch ein natürliches
Bild konstruiert wird.
-
Da
nicht alle Blöcke
in dem Referenzrahmen gleichzeitig und bedingungslos wie bei dem
herkömmlichen
Verfahren aufgefrischt werden, sondern nur ein Block aufgefrischt
wird, der die Differenz in dem Maße aufweist, daß die Verschlechterung
eines Bildes erkannt werden kann, kann die Inkrementierung der Menge
von Codes während
des Auffrischprozesses minimiert werden.
-
Während die
Erfindung unter besonderer Bezugnahme auf eine bevorzugte Ausführungsform derselben
gezeigt und beschrieben worden ist, versteht sich, daß Veränderungen
und Abwandlungen in der Form und in Details an ihr vorgenommen werden können, ohne
vom Umfang der beigefügten
Ansprüche
abzuweichen.