-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Auffüllen eines
digitalen Bildes willkürlicher
Gestalt sowie auf einen Kodierer und einen Dekodierer digitaler
Bilder, die dieses Verfahren benutzen.
-
Technischer Hintergrund
-
Ein
digitales Bild muss komprimiert (kodiert) werden, um den Wirkungsgrad
seiner Speicherung und Übermittlung
zu befördern.
Verschiedene Kodierverfahren sind im Stande der Technik verfügbar, so
die „diskrete
Cosinus-Transformation" (DCT)
mit JPEG und MPEG sowie andere Wellenform-Kodierverfahren wie „Teilband-", „Wavelet-", „Fraktal-" und dergleichen.
Des Weiteren wird, um ein redundantes Signal zwischen Bildern zu
beseitigen, ein Vorhersageverfahren zwischen Bildern eingesetzt,
sodann wird das differentielle Signal mit einem Wellenform-Kodierverfahren
kodiert.
-
Neuesten
Tendenzen zufolge werden die ein Bild bildenden Objekte einzeln
kodiert und übermittelt,
um die Kodierleistung zu verbessern und eine Wiedergabe der einzelnen
Objekte, aus denen ein Bild besteht, zu ermöglichen. Auf der Wiedergabeseite
wird jedes Objekt dekodiert, und die reproduzierten Objekte werden
zur Anzeige in das Bild kompositiert. Objektweise kodierende Verfahren
erlauben es dem Benutzer, die Objekte willkürlich zu kombinieren, wodurch
ein Bewegtbild leicht neu editiert werden kann. Des Weiteren kann
je nach dem Datenverkehr auf dem Kommunikationskanal, der Leistung
eines Wiedergabegeräts
oder dem Geschmack eines Benutzers ein weniger wichtiges Objekt
zwar von der Wiedergabe ausgeschlossen werden, aber das Bewegtbild
kann immer noch identifiziert werden.
-
Um
ein Bild willkürlicher
Gestalt (d. h. ein Objekt) zu kodieren, wird ein der Gestalt angepasstes, geeignetes
Transformationsverfahren wie die „gestalt-adaptive diskrete
Cosinus-Transformation" eingesetzt,
oder es wird ein insignifikanter Bereich des Bildes durch ein vordefiniertes
Verfahren aufgefüllt und
dann eine herkömmliche
Cosinus-Transformation (8 × 8)
zur Verfügung
gestellt, wobei der insignifikante Bereich ausserhalb des Anzeigebereichs
des Objekts liegt und keine Pixeldaten für die Anzeige eines Objekts
enthält,
in anderen Worten der Bereich nur aus insignifikanten Abtastwerten
besteht. Andererseits können
sich insignifikante Abtastwerte an der Objektgrenze eines Vorhersagebereichs
(zum Beispiel eines aus 16 × 16
Pixeln bestehenden Blocks) befinden, der durch eine Bewegungskompensation eines
Bezugsbildes gewonnen wurde, das zu einem früheren Zeitpunkt zur Entfernung
eines redundanten Signals zwischen Bildern reproduziert worden war. Ein
Vorhersagebereich dieser Art wird zuerst aufgefüllt, dann wird die Differenz
zwischen dem Objektbereich und dem Vorhersagebereich gewonnen, schliesslich
wird transformiert und kodiert. Der Grund, weshalb der Vorhersagebereich
aufgefüllt wird,
liegt darin, ein differentielles Signal zu unterdrücken.
-
Wenn
der Kodier- und Dekodier-Wirkungsgrad eines digitalen Bildes betrachtet
wird, ist die Frage, wie die insignifikanten Pixels aufgefüllt werden sollen,
ein wichtiges Thema, das die Qualität eines dekodierten Bildes
und die Menge der zu übertragenden
Daten beeinflusst.
-
In
dem oben diskutierten Stand der Technik werden die folgenden Schritte
offenbart: Auf ein Gesamtbild wird zuerst zugegriffen, und es wird
aufgefüllt,
um zu verhindern, dass ein Vorhersagebereich insignifikante Abtastwerte
enthält,
sodann wird der Vorhersagebereich durch Bewegungskompensation oder
andere Verfahren gewonnen. Das Auffüllen des Gesamtbildes erfolgt,
indem ein signifikanter Abtastwert an einer Objektgrenze wiederholt
und ein insignifikanter Abtastwert durch ihn ersetzt wird. Wenn
ein Abtastwert durch Abtasten sowohl der horizontalen als auch der
vertikalen Richtung aufgefüllt
wird, dient dazu der Mittelwert der beiden Auffüllwerte. Durch dieses herkömmliche
Verfahren wird das gesamte Bild aufgefüllt, und daher wird ein Vorhersagebereich mit
weniger Fehlern für
ein Bild mit starker Bewegung geliefert. Ein solches herkömmliches
Verfahren wurde auf dem 33. MPEG-Treffen der Gruppe ISO/IEC JTC1/SC29/WG11
der Internationalen Organisation für Normung, München, 22.
bis 24. Januar 1996, offenbart.
-
Wenn
auf das ganze Bild eines reproduzierten Bezugsbildes zugegriffen
und dieses Bild aufgefüllt
wird, muss aber das Bezugsbild gänzlich
dekodiert werden, ehe die Auffüllung
begonnen werden kann. Wenn wiederholte Auffüllung angewendet wird, erhöht sich
der Rechenaufwand proportional zur Bildgrösse. In anderen Worten erfordert
dieses Auffüllverfahren
einen hohen Verarbeitungsaufwand und eine lange Verzögerungszeit
und führt
manchmal zu einem sehr hohen Rechenaufwand für die Wiedergabe eines Bildes.
-
Um
einen der Bildgrösse
proportionalen Rechenaufwand zu vermeiden, sollte ein wiedergegebener
Grenzbereich bereichsweise aufgefüllt werden. Durch dieses Verfahren
können
die Probleme der Verzögerungszeit
und des Rechenaufwandes gelöst
werden. Da mit diesem Verfahren aber nur der Grenzbereich aufgefüllt wird,
sind die signifikanten Bereiche auf den durch die Grenzbereiche
eingegrenzten inneren Bereich beschränkt, wodurch die Wirkung des
Auffüllens
beschränkt
wird. Daher kann mit diesem Verfahren kein Vorhersagesignal erzeugt werden,
das bei einem Bewegtbild mit starker Bewegung weniger Fehler besitzt.
-
Da
das Verfahren, das Gesamtbild aufzufüllen, zu einer höheren Datenmenge
führt,
kann nur ein kleiner Vorteil erwartet werden. In anderen Worten hat
ein insignifikanter Pixel keine zu kodierenden Pixelwerte, und wenn
signifikante Pixel zusammen mit einem insignifikanten Pixel kodiert
werden, sinkt die Kodierleistung. Wenn zum Beispiel die signifikanten Pixel
alle schwarz sind, sinkt die Kodierleistung, wenn insignifikante
Pixel weiss sind, aber sie wird gefördert, wenn die insignifikanten
Pixel schwarz sind. Der Wert eines insignifikanten Pixels hat als
solcher keinen Einfluss auf die Qualität eines reproduzierten Bildes,
aber beeinflusst die Kodierleistung, so dass man sorgfältig diskutieren
sollte, wie mit dem insignifikanten Pixelwert umzugehen ist.
-
Offenbarung der Erfindung
-
Die
vorliegende Erfindung zielt darauf ab, erstens ein Auffüllverfahren
zur Verfügung
zu stellen, mit dem für
ein Bewegtbild mit starker Bewegung ein Vorhersagesignal mit weniger
Fehlern erzeugt werden kann, wobei gleichzeitig eine geringe Verzögerungszeit
und ein geringer Rechenaufwand entstehen. Ein Verfahren gemäss der vorliegenden
Erfindung wird in Anspruch 1 dargelegt.
-
Um
das obige Ziel zu erreichen, wird gemäss der vorliegenden Erfindung
in digitalen Bilddaten, die Bildinformation einschliessen, durch
die ein Objekt bezeichnet wird, ein Bild in eine Mehrzahl von aneinander
angrenzenden Bereichen aufgelöst,
und der insignifikante Abtastwert eines Bereiches, der die Grenze
der Objektgestalt enthält,
wird mit den Werten aufgefüllt,
die durch Transformation der nahe den insignifikanten Pixelwerten
liegenden signifikanten Pixelwerte gewonnen werden.
-
Die
einfachste funktionelle Transformation besteht darin, dass ein insignifikanter
Pixelwert durch einen daran angrenzenden signifikanten Pixelwert ersetzt
und dieser Ersatz einfach wiederholt wird. Wenn dieses Verfahren
eines wiederholten Ersatzes und das obige Verfahren kombiniert werden,
kann ein wirksameres Auffüllen
erreicht werden.
-
Weiter
gibt es ein Verfahren, einen Auffüllbereich in geeignetem Ausmass
zu erweitern. In diesem Verfahren wird der aufzufüllende Bereich
auf insignifikante Bereiche ausgedehnt, die nur aus insignifikanten
Pixelwerten bestehen, wenn sich diese insignifikanten Bereiche nahe
bei Bereichen befinden, die eine Objektgrenze enthalten. Zusätzlich zur
Auffüllung
dieser insignifikanten Bereiche werden in diesem Verfahren auch
die Bereiche aufgefüllt,
die die Objektgrenze enthalten, indem Werte verwendet werden, die
durch Anwendung einer funktionellen Transformation auf die signifikanten
Pixelwerte des Bereiches gewonnen wurden. Dieses Verfahren ermöglicht eine
Verarbeitung bei stärkerer
Bewegungskompensation.
-
Die
vorliegende Erfindung zielt zweitens darauf ab, das obige Verfahren
der Auffüllung
eines digitalen Bildes auf die Verfahren der Kodierung und Dekodierung
digitaler Bilder und ihrer Apparaturen anzuwenden, wodurch ein Bildkompressionsprozess realisiert
werden kann, der eine bessere Bildqualität bei einem kleinen Datenverarbeitungsaufwand
liefert.
-
Um
das obige Ziel zu erreichen, wird ein Bildkodierer hergestellt,
der die folgenden Elemente umfasst: In digitalen Bilddaten, die
Bildinformation enthalten, durch die ein Objekt des Eingangssignals
bezeichnet wird, und wo das Eingangssignal 1) ein einen Pixelwert
bezeichnendes Signal und 2) ein signifikantes Signal enthält, das
anzeigt, ob ein Pixelwert jedes Pixels signifikant ist oder nicht,
umfasst der Bildkodierer
- a) Organe zur Erzeugung
vorhergesagter Bilder, um unter Verwendung eines dekodierten Bildsignals
ein vorhergesagtes Bildsignal zu erzeugen, das dem Eingangssignal
entspricht,
- b) Organe zur Pixelwerterzeugung, um das Bild in eine Mehrzahl
von aneinander angrenzenden Bereichen aufzulösen, wobei die insignifikanten
Abtastwerte des Bereiches, der eine Grenze der Objektgestalt enthält, mit
funktionell transformierten signifikanten Pixelwerten aufgefüllt werden,
die nahe bei obigen insignifikanten Pixelwerten liegen,
- c) Subtraktionsorgane, um das Ausgangssignal der Organe zur
Erzeugung vorhergesagter Bilder von einem Ausgangssignal der Organe
zur Pixelwerterzeugung abzuziehen,
- d) Kodierorgane zur Kodierung des Ausgangssignals der Subtraktionsorgane,
- e) Dekodierorgane zur Dekodierung des Ausgangssignals der Kodierorgane,
- f) Addierorgane zur Addierung eines Ausgangssignals der Dekodierorgane
zum Ausgangssignal der Organe zur Erzeugung vorhergesagter Bilder und
- g) Speicherorgane zur vorübergehenden
Speicherung des Ausgangssignals der Addierorgane, damit dieses in
den Organen zur Erzeugung vorhergesagter Bilder weiter verwendet
werden kann,
worin das Ausgangssignal der Kodierorgane
ein Ausgangssignal dieses Bildkodierers ist.
-
Weiter
wird der entsprechende digitale Bilddekodierer hergestellt, der
die folgenden Elemente umfasst:
- a') Dekodierorgane
zur Dekodierung des Eingangssignals,
- b') Organe zur
Erzeugung vorhergesagter Bilder, um unter Verwendung eines dekodierten
Bildsignals ein vorhergesagtes Bildsignal zu erzeugen, das dem Eingangssignal
entspricht,
- c') Organe zur
Pixelwerterzeugung, um unter Verwendung einer vordefinierten Funktion
einen Pixelwert aus signifikanten Pixelwerten im vorhergesagten
Bildsignal zu erzeugen, insignifikante Pixelwerte des vorhergesagten
Bildsignals durch den erzeugten Bildwert zu ersetzen und den ersetzten
Pixelwert auszugeben,
- d') Addierorgane
zur Addierung eines Ausgangssignals der Dekodierorgane zum Ausgangssignal der
Organe zur Pixelwerterzeugung und
- e') Speicherorgane
zur vorübergehenden
Speicherung eines Ausgangssignals der Addierorgane, damit dieses
in den Organen zur Erzeugung vorhergesagter Bilder weiter verwendet
werden kann,
worin das Ausgangssignal der Dekodierorgane
ein Ausgangssignal dieses Bilddekodierers ist.
-
Ein
insignifikanter Bereich, der an die Grenze der Objektgestalt angrenzt
und nur aus insignifikanten Abtastwerten besteht, wird aufgefüllt, wobei
der Verarbeitungsbereich in geeigneter Weise erweitert wird, ohne
dass das Datenvolumen wesentlich ansteigt, und im Ergebnis wird
die Genauigkeit von Prozessen, die eine Bewegungskompensation einschliessen,
befördert.
-
Um
konkreter das Auffüllverfahren
für ein
digitales Bild gemäss
vorliegender Erfindung zu schildern, wird das Verfahren vorbereitet,
das aus den folgenden Schritten besteht:
einem ersten Auffüllprozess
zur Abtastung eines Bildmusters von willkürlicher Gestalt mit signifikanten und
insignifikanten Abtastwerten entlang einer ersten Richtung und Erzeugung
eines ersten aufgefüllten Bildes
in der ersten Richtung durch Ersatz der insignifikanten Abtastwerte
mit signifikanten Abtastwerten, die durch ein vordefiniertes Verfahren
ausgewählt
werden,
einem zweiten Auffüllprozess
zur Abtastung jedes Bildmusters des aus signifikanten und insignifikanten Abtastwerten
bestehenden ersten aufgefüllten
Bildes entlang einer zweiten Richtung und Ersatz der insignifikanten
Abtastwerte des ersten aufgefüllten
Bildes in der zweiten Richtung mit signifikanten Abtastwerten, die
durch ein vordefiniertes Verfahren ausgewählt werden, oder mit den im
ersten Auffüllprozess aufgefüllten Abtastwerten.
-
Um
konkreter das Auffüllverfahren
für ein
digitales Bild gemäss
vorliegender Erfindung zu schildern, wird ein weiteres Verfahren
vorbereitet, das aus den folgenden Schritten besteht:
ein digitales
Bild willkürlicher
Gestalt in eine Mehrzahl von Bereichen aufzulösen,
die Bereiche einer
vorbestimmten Reihenfolge entsprechend zu verarbeiten,
den
an einen Grenzbereich an der Gestaltgrenze angrenzenden und nur
aus insignifikanten Abtastwerten bestehenden insignifikanten Bereich
mit vordefinierten Auffüllwerten
aufzufüllen.
-
Wenn
der Objektbereich kein insignifikanter Bereich ist und wenn insbesondere
bei der im Voraus festgelegten Reihenfolge ein an einen Objektbereich angrenzender
vorangehender Bereich ein insignifikanter Bereich ist, wird der
vorangehende Bereich mit einem Auffüllwert aufgefüllt, der
mit einem vordefinierten Verfahren gefunden wurde.
-
Wenn
der Objektbereich ein insignifikanter Bereich ist und wenn insbesondere
bei der im Voraus festgelegten Reihenfolge ein an einen Objektbereich angrenzender
vorangehender Bereich kein insignifikanter Bereich ist, wird der
Objektbereich mit einem Auffüllwert
aufgefüllt,
der mit einem vordefinierten Verfahren gefunden wurde.
-
Ein
Bildkodierer, in dem das Verfahren zum Auffüllen eines digitalen Bildes
gemäss
vorliegender Erfindung eingesetzt wird, umfasst die folgenden Elemente:
Eingangsorgane,
um digitale Bilddaten willkürlicher Gestalt
zu empfangen,
Verarbeitungsorgane, um das digitale Bild in
eine Mehrzahl von aneinander angrenzenden Bereichen aufzulösen,
eine
erste Addiervorrichtung, um Daten eines Objektbereiches und Daten
eines Vorhersagebereiches zu empfangen und Daten eines differentiellen
Bereiches zu erzeugen,
eine Kodiervorrichtung, um Daten des
differentiellen Bereiches zu empfangen und diese mit einem im Voraus
bestimmten Verfahren zu Daten eines komprimierten differentiellen
Bereiches zu komprimieren,
eine Dekodiervorrichtung, um die
Daten des komprimierten differentiellen Bereichs zu empfangen und diese
zu Daten eines expandierten differentiellen Bereichs zu dekodieren,
eine
zweite Addiervorrichtung, um die Daten des expandierten differentiellen
Bereichs zu empfangen, die Daten des Vorhersagebereichs dazu zu
addieren und Daten eines reproduzierten Bereichs zu erzeugen,
eine
erste Auffüllvorrichtung,
um die Daten des reproduzierten Bereichs zu empfangen und mit dem
früher beschriebenen
Auffüllverfahren
die im wiedergegebenen Bereich enthaltenen insignifikanten Abtastwerte
aufzufüllen,
einen
Blockspeicher, um die Daten des reproduzierten Bereichs, von dem
insignifikante Abtastwerte aufgefüllt worden sind, zu speichern.
-
An
der Stelle der ersten Auffüllvorrichtung oder
zusätzlich
zu dieser wird eine zweite Auffüllvorrichtung
eingesetzt, um in den Vorhersagebereich eingeschlossene insignifikante
Abtastwerte aufzufüllen.
-
Ein
Bilddekodierer, in dem das Verfahren zum Auffüllen eines digitalen Bildes
gemäss
vorliegender Erfindung eingesetzt wird, umfasst die folgenden Elemente:
Eingangsorgane,
um komprimierte kodierte Daten zu empfangen,
eine Datenanalysevorrichtung,
um die komprimierten kodierten Daten zu analysieren und ein komprimiertes
differentielles Signal auszugeben,
eine Dekodiervorrichtung,
um das komprimierte differentielle Signal zu einem expandierten
differentiellen Signal zu dekodieren,
eine Addiervorrichtung,
um das expandierte differentielle Signal zu einem Vorhersagesignal
zu addieren, ein reproduziertes Signal zu erzeugen und dieses auszugeben,
eine
erste Auffüllvorrichtung,
um mit dem früher
beschriebenen Verfahren die im reproduzierten Signal enthaltenen
insignifikanten Abtastwerte aufzufüllen,
einen Blockspeicher,
um durch die erste Auffüllvorrichtung
aufgefüllte
Bilddaten als das Vorhersagesignal zu speichern.
-
An
der Stelle der ersten Auffüllvorrichtung oder
zusätzlich
zu dieser wird eine zweite Auffüllvorrichtung
eingesetzt, um in den Vorhersagebereich eingeschlossene insignifikante
Abtastwerte aufzufüllen.
-
Kurze Beschreibung der
Zeichnungen
-
1 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer ersten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
2 ist
eine schematische Darstellung, die eine erste Abwandlung des Auffüllverfahrens
für ein digitales
Bild in der ersten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
3 ist
eine schematische Darstellung, die eine zweite Abwandlung des Auffüllverfahrens
für ein digitales
Bild in der ersten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
4 ist
eine schematische Darstellung, die eine dritte Abwandlung des Auffüllverfahrens
für ein digitales
Bild in der ersten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
5 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer zweiten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
6 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer dritten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
7 ist
eine schematische Darstellung, die eine erste Abwandlung des Auffüllverfahrens
für das digitale
Bild in der dritten beispielhaften Ausführungsform der vorliegender
Erfindung illustriert.
-
8 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer vierten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
9 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer fünften
beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert.
-
10 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer sechsten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
11 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer siebenten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
12 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer achten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
13 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer neunten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
14 ist
eine schematische Darstellung, die eine erste Abwandlung des Auffüllverfahrens
für das
digitale Bild in der siebenten beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert.
-
15 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer neunten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
16 ist
eine schematische Darstellung, die eine erste Abwandlung des Auffüllverfahrens
für das
digitale Bild in der neunten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
17 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer zehnten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
18 ist
eine schematische Darstellung, die eine erste Abwandlung des Auffüllverfahrens
für das
digitale Bild in der zehnten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert.
-
19 ist
ein Ablaufdiagramm, das ein Auffüllverfahren
für ein
digitales Bild in einer elften beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert.
-
20 ist
eine schematische Darstellung, die eine Ausführungsform eines Verfahrens
für die Auffüllung eines
Bereiches illustriert, die im Auffüllverfahren für das digitale
Bild in der elften beispielhaften Ausführungsform der vorliegenden
Erfindung eingesetzt wird, und worin (A) ein Beispiel zeigt, wo der
Auffüllwert
ein Mittelwert aus signifikanten Pixelwerten ist, die in der horizontalen
Richtung aufgereiht sind, (B) ein Beispiel zeigt, wo der Auffüllwert aus wiederholten
signifikanten Pixelwerten besteht, die in der horizontalen Richtung
aufgereiht sind, und (C) ein weiteres Beispiel zeigt, wo der Auffüllwert aus
wiederholten signifikanten Pixelwerten besteht, die in der horizontalen
Richtung aufgereiht sind.
-
21 ist
eine schematische Darstellung, die eine Ausführungsform eines Verfahrens
für die Auffüllung eines
Bereiches illustriert, die im Auffüllverfahren für das digitale
Bild in der zwölften
beispielhaften Ausführungsform
der vorliegenden Erfindung eingesetzt wird, und worin (A) ein Beispiel
zeigt, wo der Auffüllwert
ein Mittelwert aus signifikanten Pixelwerten ist, die in der vertikalen
Richtung aufgereiht sind, (B) ein Beispiel zeigt, wo der Auffüllwert aus wiederholten
signifikanten Pixelwerten besteht, die in der vertikalen Richtung
aufgereiht sind, und (C) ein weiteres Beispiel zeigt, wo der Auffüllwert aus
wiederholten signifikanten Pixelwerten besteht, die in der vertikalen
Richtung aufgereiht sind.
-
22 ist
ein Ablaufdiagramm, das ein Auffüllverfahren
für ein
digitales Bild in einer dreizehnten beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert.
-
23 ist
ein Ablaufdiagramm, das eine zweite Abwandlung des Auffüllverfahrens
für das
digitale Bild in einer vierzehnten beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert.
-
24 ist
eine schematische Darstellung eines ersten Beispiels für das mit
dem Auffüllverfahren für das digitale
Bild in der vierzehnten beispielhaften Ausführungsform der vorliegenden
Erfindung aufgefüllte
Bild.
-
25 ist
eine schematische Darstellung eines zweiten Beispiels für das mit
dem Auffüllverfahren
für das
digitale Bild in der vierzehnten beispielhaften Ausführungsform
der vorliegenden Erfindung aufgefüllte Bild.
-
26 ist
eine schematische Darstellung eines dritten Beispiels für das mit
dem Auffüllverfahren für das digitale
Bild in der vierzehnten beispielhaften Ausführungsform der vorliegenden
Erfindung aufgefüllte
Bild.
-
27 ist
ein Blockdiagramm, das einen digitalen Bildkodierer illustriert,
der in einer fünfzehnten beispielhaften
Ausführungsform
der vorliegenden Erfindung eingesetzt wird.
-
28 ist
ein Blockdiagramm, das eine Abwandlung des digitalen Bildkodierers
illustriert, der in der fünfzehnten
beispielhaften Ausführungsform
der vorliegenden Erfindung eingesetzt wird.
-
29 ist
ein Blockdiagramm, das einen digitalen Bilddekodierer illustriert,
der in einer sechzehnten beispielhaften Ausführungsform der vorliegenden
Erfindung eingesetzt wird.
-
30 ist
ein Blockdiagramm, das einen digitalen Bildkodierer illustriert,
der in einer siebzehnten beispielhaften Ausführungsform der vorliegenden Erfindung
eingesetzt wird.
-
31 ist
ein Blockdiagramm, das einen digitalen Bildkodierer illustriert,
der in der siebzehnten beispielhaften Ausführungsform der vorliegenden
Erfindung eingesetzt wird.
-
32 ist
ein Blockdiagramm, das einen digitalen Bilddekodierer einer achtzehnten
beispielhaften Ausführungsform
der Erfindung illustriert.
-
Eingehende Beschreibung
der bevorzugten Ausführungsformen
-
Die
vorliegende Erfindung wird hiernach unter Bezugnahme auf beispielhafte
Ausführungsformen
eingehend vorgestellt.
-
Beispielhafte Ausführungsform
Nr. 1
-
1 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer ersten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert. Ein Bild 501 ist ein aufzufüllendes
Objektbild. Jedes Gitterfeld im Bild 501 stellt einen Pixel,
d. h. einen Abtastwert des Bildes, dar. Die Pixel 502 bis 507 sind
signifikante Abtastwerte, die anderen Abtastwerte sind insignifikant.
-
In
dieser Ausführungsform
wird auf ein Formsignal des Bildes Bezug genommen, um festzustellen,
ob ein Abtastwert signifikant oder insignifikant ist. Wenn das Formsignal „0" ist, ist der Abtastwert
insignifikant, aber wenn das Formsignal „1" ist, ist der Abtastwert signifikant.
-
Wenn
ein Bild 508 vom Bild 501 erzeugt wird, wird jeder
insignifikante Abtastwert wie unten beschrieben aufgefüllt:
-
Zuerst
wird jede Zeile des Bildes 501 abgetastet. Wenn in diesem
Abtastvorgang ein signifikanter Abtastwert entdeckt wird, wird mit
dessen Wert ein insignifikanter Abtastwert ersetzt. Wenn zum Beispiel
die erste Zeile abgetastet wird, erfolgt kein Auffüllprozess,
weil kein signifikanter Abtastwert vorliegt. Wenn die zweite Zeile
abgetastet wird, sind Abtastwerte 509, 510 und 511 insignifikant,
aber Abtastwert 502 ist signifikant, daher werden die insignifikanten Abtastwerte
mit einem Wert „a" des Abtastwertes 502 aufgefüllt. In
anderen Worten wird der Wert des Abtastwertes 502 wiederholt
nacheinander in die angrenzenden insignifikanten Abtastwerte 511, 510 und 509 gefüllt. In
gleicher Weise wird ein Wert „b" des Abtastwertes 503 wiederholt
in die Abtastwerte 512, 513 und 514 gefüllt.
-
Die
dritte Zeile wird ebenso wie die zweite Zeile aufgefüllt, aber
die vierte Zeile wird nicht aufgefüllt, da kein signifikanter
Abtastwert vorhanden ist. In dem so aufgefüllten Bild 508 haben
die zweite und dritte Zeile signifikante Werte.
-
Als
Nächstes
werden auf der Basis des Bildes 508 die übrigen insignifikanten
Abtastwerte aufgefüllt.
Wie im Bild 519 gezeigt, wird das Bild in der Vertikalen
abgetastet, und die insignifikanten Abtastwerte 520 und 528 werden
mit Abtastwert 509 bzw. Abtastwert 515 aufgefüllt, die
im Bild 508 aufgefüllt worden
sind. Abtastwerte 521 bis 527 und 529 bis 535 werden
in der gleichen Art und Weise aufgefüllt.
-
Durch
die obigen Schritte können
die insignifikanten Abtastwerte auf einfache Weise aufgefüllt werden,
während
die Kontinuität
zwischen den Abtastwerten bewahrt bleibt, daher verbessert sich
bei gewahrter Bildqualität
die Rechenleistung einschliesslich der Bildkompression.
-
In
dieser Ausführungsform
erfolgt das Auffüllen
durch Abtasten in der horizontalen und vertikalen Richtung, die
senkrecht zueinander sind; ein Abtastung entlang einer schrägen Geraden
hat aber die gleiche Wirkung. Weiter hat auch ein Verfahren, bei dem
zuerst in der Vertikalen und dann in der Horizontalen abgetastet
wird, die gleiche Wirkung. Solange die Kontinuität der Abtastwerte bewahrt bleibt,
können
andere Verfahren als das Auffüllen
eines insignifikanten Abtastwertes mit dem nächstliegenden signifikanten
Abtastwert angewendet werden.
-
2 ist
eine schematische Darstellung, die eine erste Abwandlung des Auffüllverfahrens
für ein digitales
Bild in der ersten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Wenn im Bild 508 eine horizontale
Abtastung erfolgt, kann eine Spiegelung bezüglich der Grenze als eines Zentrums
zwischen den insignifikanten und signifikanten Abtastwerten ausgeführt werden.
Zum Beispiel sind Abtastwerte 511 und 502 die
Grenze in einem Spiegel, und der Wert des Abtastwertes 502 wird
als Wert des Abtastwertes 511 eingesetzt, dann wird der
Wert des Abtastwertes 503 als Wert des Abtastwertes 510 eingesetzt.
So wird das Bild 501 nacheinander den Pfeilen folgend zum
Bild 508 und dann zum Bild 519 aufgefüllt, bis
alle insignifikanten Abtastwerte aufgefüllt sind.
-
3 ist
eine schematische Darstellung, die eine zweite Abwandlung des Auffüllverfahrens
für ein digitales
Bild in der ersten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Dieses Verfahren wird angewendet, wenn ein
insignifikanter Abtastwert zwischen signifikanten Abtastwerten liegt.
Ein Fall des horizontalen Abtastens wird hier eingehend behandelt,
aber die einzelnen Punkte lassen sich auf ein Abtasten in anderen
Richtungen anwenden. Abtastwerte 612 und 613 werden
mit dem Wert des Abtastwertes 602 aufgefüllt. Ein
anderes Verfahren besteht darin, dass Abtastwerte 611 und 614 mit
dem Wert des Abtastwertes 607 aufgefüllt werden können. Das
erste Verfahren besteht darin, dass Werte von links nach rechts
abgetastet werden, indem ein signifikanter Abtastwert als solcher
für die Auffüllung ausgedehnt
wird. Das zweite Verfahren besteht darin, dass die Werte von rechts
nach links abgetastet werden, indem der signifikante Abtastwert als
solcher für
die Auffüllung
ausgedehnt wird. Das dritte Verfahren besteht darin, dass ein insignifikanter Abtastwert
mit dem nächstliegenden
Abtastwert in der Abtastrichtung aufgefüllt wird. Abtastwerte 615 und 618 werden
mit diesem Verfahren aufgefüllt. Schliesslich
wird ein insignifikanter Abtastwert mit einem Mittelwert von signifikanten
Abtastwerten zu beiden Seiten des insignifikanten Abtastwertes aufgefüllt. Abtastwerte 616 und 617 werden
mit diesem Verfahren aufgefüllt.
-
4 ist
eine schematische Darstellung, die eine dritte Abwandlung des Auffüllverfahrens
für ein digitales
Bild in der ersten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Wenn ein Bild ein ovales Objekt anzeigt,
d. h. wenn signifikante Abtastwerte so zusammentreffen, dass sie
ein Oval bilden, wird dieses Bild im Grunde durch das in 1 verwendete
Verfahren aufgefüllt.
-
Bild 701 enthält gesammelte
signifikante Abtastwerte 702. Zuerst werden, wie im Bild 703 gezeigt,
insignifikante Abtastwerte durch horizontale Abtastung aufgefüllt, als
Nächstes
werden, wie im Bild 704 gezeigt, insignifikante Abtastwerte
aufgefüllt,
indem signifikante Abtastwerte oder die im Bild 703 durch
vertikale Abtastung aufgefüllten
Abtastwerte verwendet werden. Andererseits werden, wie im Bild 705 gezeigt,
insignifikante Abtastwerte aufgefüllt, indem zuerst vertikal
und dann horizontal abgetastet wird. Ein Mittelwert der so aufgefüllten Bilder 704 und 706 wird
gewonnen, wodurch ein Bild 707 erzeugt wird. Dieses Auffüllverfahren
kann die Reihenfolge zwischen den signifikanten Abtastwerten und
den aufgefüllten
Abtastwerten selbst in einem komplizierteren Bild bewahren und die
Berechnungen somit wirksam bewältigen,
während
die Bildqualität
gewahrt wird.
-
Beispielhafte Ausführungsform
Nr. 2
-
5 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer zweiten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
Bild 801 enthält gesammelte
signifikante Abtastwerte 802. Zuerst wird das Bild 801 horizontal
abgetastet, und signifikante Abtastwerte werden in die nächstliegenden
insignifikanten Abtastwerte substituiert, um ein Bild 803 zu
erzeugen. Gleichzeitig wird das Bild 801 vertikal abgetastet,
und signifikante Abtastwerte werden in die nächstliegenden insignifikanten
Abtastwerte substituiert, um ein Bild 804 zu erzeugen.
-
Der
Mittelwert der Bilder 803 und 804 wird gewonnen,
um ein Bild 806 zu erzeugen. Ein Mittelwert der gesammelten
signifikanten Abtastwerte 802 ergäbe den gleichen Wert, daher
wird die Mittelung nicht benötigt.
-
Da
einige Abtastwerte in den Bildern 803 und 804 doppelt
aufgefüllt
sind, wird ein Mittelwert der beiden aufgefüllten Werte genommen. Wenn
nur ein aufgefüllter
Wert vorhanden ist, wird dieser Wert zum aufgefüllten Wert des Bildes 806.
Im Auffüllprozess der
Bilder 803 und 804 verbleibt ein Abtastwert ohne Auffüllwert als
ein insignifikanter Abtastwert. Dieser insignifikante Abtastwert
muss dann mit dem Wert des nächstliegenden
signifikanten oder aufgefüllten Abtastwertes
aufgefüllt
werden. Wenn mehr als ein Auffüllwert
vorhanden ist, werden der Mittelwert dieser Werte oder einer dieser
Werte für
das Auffüllen verwendet.
Schliesslich sind alle Abtastwerte aufgefüllt, wie in einem Bild 811 gezeigt.
-
Diese
Ausführungsform
zeigt ein weiteres Auffüllverfahren,
um wie in der beispielhaften Ausführungsform Nr. 1 die Kontinuität zwischen
den gesammelten signifikanten Abtastwerten und den insignifikanten
Abtastwerten zu bewahren, die beide eine komplexe Gestalt bilden.
-
Beispielhafte Ausführungsform
Nr. 3
-
6 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer dritten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
Ein
Bild 901 enthält
gesammelte signifikante Abtastwerte 902. In dieser Ausführungsform
wird ein Bereich 904 festgelegt, der die gesammelten signifikanten
Abtastwerte 902 umgibt, und innerhalb des Bereiches 904 wird
ein insignifikanter Abtastwert aufgefüllt. Das gleiche Auffüllverfahren,
wie oben im Einzelnen erörtert,
wird auch in dieser Ausführungsform verwendet.
Ein verbleibender Bereich 905 wird mit einem einfachen
Verfahren durch Bezugnahme auf den aufgefüllten Bereich 904 aufgefüllt, und
somit sind alle insignifikanten Abtastwerte aufgefüllt.
-
Der
Bereich 904 ist bevorzugt rechteckig; er kann aber eine
andere Gestalt haben. Der Bereich 904 kann das kleinste
Rechteck sein, das die gesammelten signifikanten Muster 902 enthält, oder
ein Rechteck nach Erweiterung des kleinsten Rechtecks durch „k"-Muster. Der Wert
von „k" wird so festgelegt, dass
die Grösse
des Rechtecks eine vorbestimmte Bedingung erfüllen kann, zum Beispiel wird „k" so festgelegt, dass
die Grösse
des Rechtecks ein Vielfaches von 16 sein kann.
-
7 ist
eine schematische Darstellung, die eine Abwandlung des Auffüllverfahrens
für das
digitale Bild in der dritten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Ein Bild 910 enthält die gesammelten
signifikanten Abtastwerte 911, 912 und 913.
Das Bild 910 wird in die Bereiche 915, 916 und 917 aufgelöst, die
die obigen gesammelten signifikanten Abtastwerte enthalten, und
dann werden die betreffenden Bereiche mit dem früher beschriebenen Verfahren
aufgefüllt.
-
Beispielhafte Ausführungsform
Nr. 4
-
8 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer vierten beispielhaften Ausführungsform der vorliegenden Erfindung
illustriert.
-
Ein
Bild 920 wird in Blöcke
aufgelöst,
die aus je M × N
Abtastwerten bestehen, und dann aufgefüllt. Bevorzugt ist M = N =
8 oder 16, aber ein anderer, willkürlicher Wert ist annehmbar,
das Bild kann auch in Dreiecke oder andere Formen aufgelöst werden. Die
Blöcke 921 bis 929 enthalten
teilweise signifikante Abtastwerte, ihre insignifikanten Abtastwerte
werden mit dem früher
beschriebenen Verfahren unter Bezugnahme auf die Werte der signifikanten
Abtastwerte aufgefüllt.
-
Wenn
Blöcke 930 und 931,
die keine signifikanten Abtastwerte enthalten, aufgefüllt werden,
wird ein vorbestimmter Wert (bevorzugt „128") zum Auffüllen verwendet, oder der nächstliegende
Abtastwert wird zum Auffüllen
herangezogen. Der Block 930 wird als ein Beispiel genommen.
Unter den Blöcken mit
signifikanten Abtastwerten liegt er einem Block 929 am
nächsten.
Dies wird ermittelt, indem der Abstand zwischen den Koordinatenpunkten
in den oberen linken Ecken der entsprechenden Blöcke bestimmt wird. Dann wird
ein Mittelwert der signifikanten Abtastwerte im Block 929 für das Auffüllen genommen.
-
Im
Falle des Blocks 931 ist der nächstliegende Block mit signifikanten
Abtastwerten ein Block 922, daher kann ein Mittelwert der
signifikanten Abtastwerte zum Auffüllen verwendet werden; Abtastwerte 934, 935, 936 und 937 an
der Grenze können aber
für das
Auffüllen
wiederholt werden.
-
Durch
blockweises Auffüllen
in der vorbestimmten Prozedur kann somit ein wirksamerer Rechenprozess
realisiert werden.
-
Verschiedene
beispielhafte Ausführungsformen
ergeben sich wie folgt, wenn das Verfahren zum Auffüllen eines
digitalen Bildes gemäss
vorliegender Erfindung auf einen Bildkodierer und -dekodierer angewendet
wird.
-
Beispielhafte Ausführungsform
Nr. 5
-
9 ist
eine schematische Darstellung, die einen digitalen Bildkodierer
in einer fünften
beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert. 9 enthält die folgenden
Elemente: ein Eingabeterminal 201, ein erstes Addierglied 202,
einen Kodierer 203, einen diskreten Cosinus-Transformator
(DCT) 204, einen Quantisierer 205, ein Ausgabeterminal 206,
einen Dekodierer 207, einen inversen Quantisierer 208,
einen inversen diskreten Cosinus-Transformator 209, ein
zweites Addierglied 210, einen Kodierer mit variabler Länge (variable
length encoder: VLC) 211, einen Blockspeicher 213,
einen Bewegungsschätzer 214,
einen Bewegungskompensator 215, ein erstes Auffüllglied 240 und
ein zweites Auffüllglied 241.
-
Hierunter
wird der Betrieb des digitalen Bildkodierers, der die obigen Elemente
enthält,
im Einzelnen beschrieben. Erstens wird ein Bild willkürlicher Gestalt
in das Eingabeterminal 201 eingegeben. Zweitens wird das
Bild in eine Mehrzahl aneinander angrenzender Bereiche aufgelöst: In dieser
Auführungsform
wird das Bild in Blöcke
von je 8 × 8
oder 16 × 16
Abtastwerten aufgelöst;
alle anderen Formen können
aber annehmbar sein. Dann werden die zu kodierenden Objektblöcke über eine
Leitung 225 in den Bewegungsschätzer 214 eingegeben.
Gleichzeitig wird ein früher
reproduziertes Bild (hiernach als Bezugsbild bezeichnet), das in
einem Blockspeicher 213 gespeichert ist, in den Bewegungsschätzer 214 eingegeben,
danach wird eine Bewegungs-Verschiebungsinformation (hiernach als
Bewegungsvektor bezeichnet) ausgegeben, die durch das Blockvergleichsverfahren
oder andere Verfahren das Vorhersagesignal mit der kleinsten Abweichung
gegenüber dem
Objektblock liefert. Drittens wird dieser Bewegungsvektor zum Bewegungskompensator 215 geschickt,
wo aus dem Bezugsbild ein Vorhersageblock erzeugt wird. Der Bewegungsvektor
wird über
eine Leitung 228 an den VLC 211 geschickt und
in ein Signal variabler Länge
umgewandelt.
-
Der
Objektblock wird an ein erstes Auffüllglied 240 geschickt,
wo der Block mit dem früher
erwähnten
Verfahren aufgefüllt
wird, um einen aufgefüllten
Objektblock zu erzeugen. Ein Vorhersageblock wird zum zweiten Auffüllglied 241 geschickt,
wo der Block mit dem früher
erwähnten
Verfahren aufgefüllt
wird, um einen aufgefüllten
Vorhersageblock zu erzeugen.
-
Der
aufgefüllte
Objektblock und der aufgefüllte
Vorhersageblock werden zum ersten Addierglied 202 geschickt,
wo eine Differenz zwischen den beiden Blöcken gefunden wird, um einen
differentiellen Block zu erzeugen, der durch den Kodierer 203 komprimiert
wird, und zwar in dieser beispielhaften Ausführungsform durch den DCT 204 und
den Quantisierer 205. Die quantisierten Daten werden an
den VLC 211 geschickt, wo die Daten zu einem Kode variabler
Länge umgewandelt
werden, der zusammen mit anderer Nebeninformation wie Bewegungsvektoren
ins Ausgabeterminal 206 eingegeben wird.
-
Andererseits
werden die komprimierten Daten an den Dekodierer 217 geschickt,
wo die Daten expandiert werden, indem nämlich die komprimierten Daten
durch den inversen Quantisierer 208 laufen und durch den
IDCT 209 zu Daten im Raumbereich expandiert werden. Die
expandierten Daten des differentiellen Blocks werden zu den aufgefüllten Vorhersageblockdaten
addiert, die über
die Leitung 227 geschickt wurden, um einen reproduzierten
Block zu erzeugen. Die Daten des reproduzierten Blocks werden im
Blockspeicher 213 gespeichert. Um anzuzeigen, ob ein Abtastwert
signifikant oder insignifikant ist, wird ein entsprechendes kodiertes
und danach dekodiertes Formsignal als Bezugssignal verwendet, obwohl
dies in den Zeichnungen nicht gezeigt ist.
-
So
sind ein Objektblock und ein Vorhersageblock aufgefüllt worden,
wodurch ein grosser Vorhersagefehler, der wegen Bewegungskompensation durch
eine Verschiebung eines Kantenteils bewirkt wird, unterdrückt werden
kann.
-
Dies
ist in den Zeichnungen nicht gezeigt; das Auffüllglied 246 kann aber
vor den Bewegungskompensator 215 gelegt werden. In dieser
Ausführungsform
wurde ein DCT gewählt;
stattdessen können
aber ein gestalt-adaptiver DCT, ein Teilband oder ein Wavelet gewählt werden.
-
Beispielhafte Ausführungsform
Nr. 6
-
10 ist
eine schematische Darstellung, die einen digitalen Bildkodierer
in einer sechsten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Die sechste beispielhafte Ausführungsform
ist im Grunde funktionsgleich mit der fünften beispielhaften Ausführungsform.
Der Unterschied besteht darin, dass beim ersten Auffüllglied 240 ein Wert
zum Auffüllen
des Vorhersageblocks zum Auffüllen
des Objektblocks verwendet wird. Dieser Wert wird vom zweiten Auffüllglied 241 über eine
Leitung 243 zum ersten Auffüllglied 240 übermittelt.
Durch gemeinsame Nutzung des Auffüllwertes werden fast alle differentiellen
Werte zu „0" (null), wodurch
der Vorhersagefehler weiter unterdrückt wird.
-
Beispielhafte Ausführungsform
Nr. 7
-
11 ist
eine schematische Darstellung, die einen digitalen Bilddekodierer
in einer siebenten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. 11 enthält die folgenden Elemente:
ein Eingabeterminal 301, einen Datenanalysator (Parser) 302,
einen inversen Quantisierer 304, einen IDCT 305,
ein Addierglied 306, ein Ausgabeterminal 307,
einen Blockspeicher 309, einen Bewegungskompensator 310 und
ein Auffüllglied 330.
-
Hierunter
wird der Betrieb des digitalen Bilddekodierers, der die obigen Elemente
enthält,
im Einzelnen beschrieben. Erstens werden komprimierte Daten in das
Eingabeterminal 301 eingegeben, dann werden die Daten durch
den Datenanalysator 302 analysiert. Zweitens werden die
Daten des komprimierten differentiellen Blocks über eine Leitung 312 an
den Dekodierer 303 ausgegeben. Drittens wird ein Bewegungsvektor über eine
Leitung 318 zum Bewegungskompensator 310 geschickt.
Im Dekodierer 303 wird der komprimierte differentielle
Block expandiert, um daraus wieder einen expandierten differentiellen
Block herzustellen, und zwar durchläuft in dieser Ausführungsform
der komprimierte differentielle Block den inversen Quantisierer 304 und
den IDCT 305, wo ein Signal im Frequenzbereich in ein Signal im
Raumbereich umgewandelt wird. Dann wird der Bewegungsvektor über eine
Leitung 318 in den Bewegungskompensator 310 eingegeben,
wo auf der Basis des Bewegungsvektors eine Adresse für den Zugriff
auf den Blockspeicher 309 erzeugt wird, und unter Benutzung
des im Blockspeicher 309 zu speichernden Bildes wird ein
Vorhersageblock erzeugt. Dann wird der Vorhersageblock an das Auffüllglied 330 übermittelt,
wo mit dem früher
im Einzelnen erörterten
Verfahren insignifikante Abtastwerte aufgefüllt werden, wodurch ein aufgefüllter Vorhersageblock erzeugt
wird. Als Nächstes
werden der aufgefüllte Vorhersageblock
und der expandierte differentielle Block in das Addierglied 306 eingegeben,
um die beiden Blöcke
zu addieren und dadurch einen reproduzierten Block zu erzeugen.
Schliesslich wird der reproduzierte Block an das Ausgabeterminal 307 ausgegeben,
und gleichzeitig wird der reproduzierte Block im Blockspeicher 309 gespeichert.
-
In
der obigen Ausführungsform
wird beschrieben, wie der Vorhersageblock nach der Bewegungskompensation
aufgefüllt
wird. Der Block kann aber auch während
der Bewegungskompensation aufgefüllt
werden, was überlappte
Bewegungskompensation beinhaltet. Um anzuzeigen, ob ein Abtastwert
signifikant oder insignifikant ist, sollte ein dekodiertes Formsignal
als Bezugssignal verwendet werden, aber dies ist in den Zeichnungen
nicht gezeigt. 14 ist eine schematische Darstellung,
die eine erste Abwandlung des Auffüllverfahrens für das digitale
Bild in der siebenten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert, die im Grunde funktionsgleich mit der in 11 gezeigten ist.
In dieser Ausführungsform
wird das Auffüllglied 332 vor
den Bewegungskompensator 310 gelegt.
-
Beispielhafte Ausführungsform
Nr. 8
-
12 ist
eine schematische Darstellung, die einen digitalen Bildkodierer
in einer achten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Der Betrieb ist im Grunde der gleiche wie
der in 9 gezeigte. Das Auffüllglied 212 ist vor den
Blockspeicher gelegt, wodurch ein vom Addierglied 210 abgegriffener,
reproduzierter Block vorteilhaft sofort aufgefüllt werden kann. Des Weiteren
ist das Auffüllglied 244 vor
den DCT 204 gelegt. Das Auffüllglied 244 füllt die
Blöcke
so auf, dass die DCT-Koeffizienten
kleiner werden. Was insbesondere den differentiellen Block betrifft,
werden insignifikante Bereiche der Objektblöcke mit „0" (null) aufgefüllt.
-
13 ist
eine schematische Darstellung, die ein Auffüllverfahren für ein digitales
Bild in einer neunten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Das Auffüllglied 246 ist hinter
den Bewegungskompensator 215 gelegt, was gegenüber 12 ein
zusätzliches
Element darstellt. Nach der Bewegungskompensation wird das vorhergesagte
Signal weiter aufgefüllt,
um in der Unterdrückung
von Vorhersagefehlern Wirksamkeit zu erzielen. Dies ist in den Zeichnungen
nicht gezeigt, aber das Auffüllglied 246 kann
vor den Bewegungskompensator 215 gelegt werden.
-
Beispielhafte Ausführungsform
Nr. 9
-
15 ist
eine schematische Darstellung, die einen digitalen Bilddekodierer
in einer neunten beispielhaften Ausführungsform der vorliegenden
Erfindung illustriert. Dieser Dekodierer entspricht dem in 12 gezeigten
Dekodierer. Der Betrieb dieses Dekodierers ist im Grunde der gleiche
wie der in 14 gezeigte. In dieser Ausführungsform
ist ein Auffüllglied 308 vor
den Blockspeicher 309 gelegt, wodurch ein reproduzierter
Block sofort aufgefüllt und
sodann im Blockspeicher 309 gespeichert werden kann.
-
16 ist
eine schematische Darstellung, die eine erste Abwandlung des Dekodierers
des digitalen Bildes in der neunten beispielhaften Ausführungsform
der vorliegen den Erfindung illustriert. Dieser Dekodierer entspricht
dem von 13. Der Betrieb des Dekodierers
ist im Grunde der gleiche wie der in 15 gezeigte.
Der einzige Unterschied besteht darin, dass ein Auffüllglied 330 hinter
den Bewegungskompensator 310 gelegt ist, um den vorhergesagten
Block aufzufüllen.
-
Beispielhafte Ausführungsform
Nr. 10
-
17 ist
eine schematische Darstellung, die ein Auffüllverfahren illustriert, das
in einem Kodierer/Dekodierer eines digitalen Bildes in einer zehnten beispielhaften
Ausführungsform
der vorliegenden Erfindung eingesetzt wird. Der Betrieb des Auffüllgliedes 330 wird
hiernach unter Benutzung von 11 als
einem Beispiel beschrieben. In 17 enthält ein Objektblock
gesammelte signifikante Abtastwerte 943 und gesammelte
insignifikante Abtastwerte 944. Ein schräg schraffierter
Teil stellt signifikante Bereiche dar. Ein vorhergesagter Block 941 wird
durch Bewegungskompensation gewonnen und umfasst gesammelte signifikante
Abtastwerte und gesammelte insignifikante Abtastwerte.
-
In
dem in 11 gezeigten Dekodierer wird ein
vorhergesagter Block 941 aufgefüllt und dann an das Addierglied 306 geschickt.
Im Auffüllglied 330 kann
der gesamte insignifikante Bereich (des vorhergesagten Blocks) 946 aufgefüllt werden;
es ist aber wegen des geringeren Rechenaufwandes zu bevorzugen,
den insignifikanten Bereich des vorhergesagten Blocks aufzufüllen, der
vom signifikanten Bereich des Objektblocks erfasst wird. Durch Bezugnahme auf
die Gestalt des Objektblocks 940 werden sowohl die signifikanten
als auch die insignifikanten Bereiche bestimmt (Bereich 947 des
Blocks 942), und dann wird nur der Bereich 947 unter
Eigenbezugnahme aufgefüllt.
-
18 ist
eine schematische Darstellung, die eine Abwandlung des Auffüllverfahrens
illustriert, das in einem digitalen Bildkodierer/-dekodierer in
der zehnten beispielhaften Ausführungsform
der vorliegenden Erfindung eingesetzt wird. Es sei angenommen, dass
in einem Objektblock der Auffüllung
keine signifikanten Abtastwerte vorhanden sind und dass das in 15 gezeigte
Auffüllglied 308 als
ein Beispiel verwendet wird. Es sei angenommen, dass ein Block 962 der 18 der
Objektblock der Auffüllung ist,
und da in diesem Block keine signifikanten Abtastwerte existieren,
kann der Block nicht durch Bezugnahme auf sich selbst aufgefüllt werden.
-
Um
dieses Problem zu lösen,
wird ein benachbarter Block gefunden, der zumindest einen signifikanten
Abtastwert enthält,
und der Objektblock wird unter Bezugnahme auf den benachbarten Block aufgefüllt. Das
Auffüllglied
in 15 reproduziert aber den Block 962 vor
dem Block 964, so dass es nicht möglich ist, den Block durch
Bezugnahme auf den Block 964 aufzufüllen. Dann werden nacheinander
die reproduzierten Blöcke 966, 965, 961 und 963 auf
einen ersten Block hin erforscht, der signifikante Abtastwerte enthält, und
der Block wird unter Bezugnahme auf den gefundenen Block aufgefüllt.
-
Falls
der vorhergesagte Block nach der Bewegungskompensation keinen signifikanten
Abtastwert hat, wird ein Objektblock auf die gleiche Art und Weise
aufgefüllt,
d. h. durch Bezugnahme auf die reproduzierten Blöcke, die einen signifikanten
Abtastwert haben und dem Objektblock benachbart sind. Das Verfahren
der Berechnung des Auffüllwertes kann
ein Mittelungsverfahren oder ein repetierendes Auffüllverfahren
sein.
-
Die
obigen Ausführungsformen
beweisen, dass der Bildkodierer und -dekodierer der vorliegenden
Erfindung insignifikante Pixel, die die Bildqualität nicht
beeinflussen, kodieren kann, indem die Pixel zu Werten gemacht werden,
durch die die Kodierleistung erhöht
wird, wodurch der Kodierwirkungsgrad gefördert wird, so dass der Kodierer
und Dekodierer der vorliegenden Erfindung einen grossen Vorteil
bei praktischen Verwendungen besitzen.
-
Beispielhafte Ausführungsform
Nr. 11
-
19 ist
ein Ablaufdiagramm, das ein Auffüllverfahren
für ein
digitales Bild in einer elften beispielhaften Ausführungsform
der vorliegenden Erfindung illustriert. Erstens wird ein Bild willkürlicher
Gestalt eingegeben, zweitens wird das Bild in aneinander angrenzende
Bereiche aufgelöst,
drittens wird jeder Bereich einer vorbestimmten Reihenfolge gemäss abgetastet,
und schliesslich wird jeder Bereich einzeln gemäss dem in 19 gezeigten
Ablaufdiagramm verarbeitet. In dieser Ausführungsform wird die Abtastung
links oben begonnen und erfolgt in der gleichen Reihenfolge wie
die Rasterabtastung. Der abgetastete Bereich kann ein Dreieck, Rechteck
oder Quadrat sein. In dieser Ausführungsform wird das Bild in
Quadrate aufgelöst,
deren jedes aus N × N
Abtastwerten besteht, wobei N = 8 oder 16. Das Quadrat von N × N Abtastwerten
wird hiernach als ein Block bezeichnet.
-
Im
Schritt 12 wird festgestellt, ob ein Objektblock gänzlich ausserhalb
eines Objekts (des Bildes willkürlicher
Gestalt) liegt oder nicht. Wenn der Objektblock gänzlich ausserhalb
des Objekts liegt, ist jeder Abtastwert dieses Objektblocks ein
insignifikanter Abtastwert. In dieser Ausführungsform wird auf das Formsignal
des betreffenden Bildes Bezug genommen, um festzustellen, ob ein
Abtastwert signifikant ist oder nicht. Wenn das Formsignal „0" ist, ist der Abtastwert
insignifikant. Wenn das Formsignal „1" ist, ist der Abtastwert signifikant.
-
Wenn
der Objektblock nicht gänzlich
ausserhalb des Objekts liegt, wird zu Schritt 14 weitergegangen.
Dann wird festgestellt, ob vorhergehende, dem Objektblock benachbarte
Blöcke
gänzlich
ausserhalb des Objekts liegen oder nicht, wobei der vorhergehende
Block der gemäss
der Abtastreihenfolge bereits verarbeitete Block ist. Wenn die vorhergehenden,
benachbarten Blöcke
gänzlich
ausserhalb des Objekts liegen, wird im Schritt 16 einem
vorbestimmten Verfahren folgend ein Auffüllwert berechnet. Im Schritt 18 werden
die Abtastwerte der dem Objektblock benachbarten, vorhergehenden
Blöcke
durch den Auffüllwert
ersetzt, so dass die Abtastwerte aufgefüllt sind.
-
Wenn
im Schritt 12 der Objektblock gänzlich ausserhalb des Objekts
liegt, wird zu Schritt 20 weitergegangen. Dann wird festgestellt,
ob die vorhergehenden, dem Objektblock benachbarten Blöcke gänzlich ausserhalb
des Objekts liegen oder nicht. Wenn die vorhergehenden Blöcke nicht
gänzlich
ausserhalb des Objekts liegen, wird im Schritt 22 dem vorbestimmten
Verfahren folgend ein Auffüllwert
berechnet, und die Abtastwerte des Objektblocks werden im Schritt 24 mit
dem Auffüllwert
ersetzt, so dass die Abtastwerte aufgefüllt sind. Wenn die vorhergehenden,
benachbarten Blöcke
im Schritt 18 aufgefüllt werden,
kann im Schritt 20 angenommen werden, dass die vorhergehenden
Blöcke
nicht gänzlich
ausserhalb des Objekts liegen. Dieser Prozess wird wiederholt, bis
der letzte Block verarbeitet ist (Schritte 26 und 28).
-
Beispielhafte Ausführungsform
Nr. 12
-
20 und 21 sind
schematische Darstellungen, die Verfahren für die Berechnung von Auffüllwerten
illustrieren. 20 zeigt einen Fall, wo ein
laufender Block einem vorhergehenden Block in der Horizontalen benachbart
ist. In 20A ist Block 132 ein
laufender Block, Block 130 ist ein vorhergehender Block.
Jedes Gitterfeld stellt einen Abtastwert (einen Pixel) des Bildes
dar. Unter der Annahme, dass Block 130 gänzlich ausserhalb
eines Objekts liegt, wird der Mittelwert der signifikanten Abtastwerte 134, 136, 138, 140, 142 und 144 gefunden,
dann wird jeder Abtastwert (jedes Gitterfeld) im vorhergehenden
Block zum Auffüllen
mit diesem Durchschnittswert ersetzt. In 20B wird
jeder Abtastwert (jedes Gitterfeld) des vorhergehenden Blocks 146,
der gänzlich
ausserhalb des Objekts liegt, aufgefüllt, indem Werte der signifikanten
Abtastwerte 150, 152, 154, 156 des
laufenden Blocks 148 wiederholt werden. In anderen Worten
wird jedes Gitterfeld auf der ersten, zweiten, dritten und vierten
Zeile des vorhergehenden Blocks 146 durch die Werte der
Abtastwerte 150, 152, 154 und 156 ersetzt.
In 20C liegt der laufende Block 160 gänzlich ausserhalb
des Objekts, während
der vorhergehende Block 158 nicht ausserhalb des Objekts
liegt. In diesem Falle wird jedes Gitterfeld des laufenden Blocks 160 aufgefüllt, indem Werte
der signifikanten Abtastwerte 162, 164, 166 und 168 des
vorhergehenden Blocks 158 wiederholt werden.
-
21 illustriert
den Fall, wo der laufende Block dem vorhergehenden Block in der
Vertikalen benachbart ist. In 21A ist
Block 172 der laufende Block, Block 170 ist der
vorhergehende Block. Jedes Gitterfeld stellt einen Abtastwert (Pixel)
des Bildes dar. Unter der Annahme, dass Block 170 gänzlich ausserhalb
des Objekts liegt, wird der Mittelwert der signifikanten Abtastwerte 174, 176, 178, 180, 182 und 184 gefunden,
die im laufenden Block 172 enthalten sind, dann wird jeder
Abtastwert (jedes Gitterfeld) im vorhergehenden Block 170 zum
Auffüllen
mit dem Durchschnittswert ersetzt. In 21B wird
jeder Abtastwert (jedes Gitterfeld) des vorhergehenden Blocks 186,
der gänzlich
ausserhalb des Objekts liegt, durch Wiederholung der Werte der signifikanten Abtastwerte 190, 192, 194 und 196 aufgefüllt. In
anderen Worten wird jedes Gitterfeld in der ersten, zweiten, dritten
und vierten Spalte des vorhergehenden Blocks 186 durch
die Werte der Abtastwerte 196, 194, 192 und 190 ersetzt.
In 20C liegt der laufende Block 160 gänzlich ausserhalb
des Objekts, während
der vorhergehende Block 158 nicht ausserhalb des Objekts
liegt. In diesem Falle wird jedes Gitterfeld des laufenden Blocks 198 aufgefüllt, indem
Werte der signifikanten Abtastwerte 1100, 1102, 1104, 1106 des
vorhergehenden Blocks 199 wiederholt werden. Der Kürze halber
wird in dieser Ausführungsform
konkret ein Block von 4 × 4
angenommen, aber die gleiche Beschreibung gilt für einen Block von N × N (wobei
N eine willkürliche
ganze Zahl ist).
-
Beispielhafte Ausführungsform
Nr. 13
-
In 22 ist
Schritt 13 zu dem in 19 gezeigten
Ablaufdiagramm hinzugefügt
worden. In anderen Worten wird, wenn ein laufender Block nicht gänzlich ausserhalb
eines Objekts liegt, der im laufenden Block, aber ausserhalb des
Objekts liegende Bereich durch Schritt 13 und die darauffolgenden Schritte
aufgefüllt.
Der laufende Block 132 der 20A ist
ein Beispiel für
einen Block, der Bereiche ausserhalb des Objekts enthält. Abtastwerte 134, 136, 138, 140, 142 und 144 sind
signifikant und liegen innerhalb des Objekts. Die anderen Abtastwerte (die
nicht schraffierten Gitterfelder) sind insignifikant und liegen
ausserhalb des Objekts.
-
Ein
Verfahren, diese insignifikanten Abtastwerte aufzufüllen, besteht
darin, sie durch den Mittelwert signifikanter Abtastwerte zu ersetzen.
In dieser Ausführungsform
werden die Abtastwerte 134, 136 und 144 an
der Grenze zum Auffüllen
in der Horizontalen und Vertikalen wiederholt. Wenn zwei Auffüllwerte
verfügbar
sind, wird deren Mittelwert zum Auffüllen verwendet. Da der laufende
Block durch Schritt 13 aufgefüllt wird, werden alle Abtastwerte
des laufenden Blocks mit einem einzigen Wert ersetzt, daher kann
der vorhergehende Block im Schritt 18 aufgefüllt werden,
indem die Werte der signifikanten Abtastwerte des laufenden Blocks,
die an der Grenze zwischen dem laufenden und dem vorhergehenden Block
liegen, wiederholt werden, wie in 20B oder 21B gezeigt. Ein Mittelwert der signifikanten
Abtastwerte kann verwendet werden, statt die Abtastwerte zu wiederholen.
-
Beispielhafte Ausführungsform
Nr. 14
-
23 ist
ein Ablaufdiagramm, das die Prozesse zeigt, wo der vorhergehende,
dem laufenden Block in der Horizontalen benachbarte Block in den
in 22 gezeigten Schritten 15, 19 und 21 verwendet wird. 24 zeigt
ein Bild 108, das ein mit dem in 23 gezeigten
Prozess aufgefülltes
Beispiel ist. Sterngestalt 110 ist ein signifikantes Objekt,
der übrige
Teil besteht aus insignifikanten Abtastwerten. Das Bild 108 wird
in Blöcke
von 7 × 7
aufgelöst.
Ein Block mit der gleichen Textur wie Block 1114 wird mit
dem in 23 gezeigten Schritt 19 oder
Schritt 24 aufgefüllt.
-
Das
Auffüllverfahren
dieser Ausführungsform
wird unter Bezugnahme auf 23 und 24 beschrieben.
Zuerst wird der Block 1112 diskutiert. Da der laufende
Block 1112 im Schritt 12 nicht gänzlich ausserhalb
des Objekts liegt, wird der laufende Block durch Schritt 13 aufgefüllt. Im
Schritt 15 liegt der dem laufenden Block benachbarte, vorhergehende
Block nicht gänzlich
ausserhalb des Objekts, daher erfolgt keine Auffüllung.
-
Als
Nächstes
wird Block 1114 diskutiert. Da der laufende Block 1114 gänzlich ausserhalb
des Objekts liegt, schreitet der Prozess zu Schritt 21 vor,
wo der vorhergehende, in der Horizontalen benachbarte Block nicht
gänzlich
ausserhalb des Objekts liegt, daher wird der laufende Block 1114 im
Schritt 24 auf diesen Block Bezug nehmend aufgefüllt.
-
Schliesslich
wird der Block 1116 diskutiert. Da der laufende Block 1116 im
Schritt 12 gänzlich ausserhalb
des Objekts liegt, schreitet der Prozess zu Schritt 21 vor,
wo der vorhergehende Block 1115 nicht gänzlich ausserhalb des Objekts
liegt, daher wird der laufende Block 1116 im Schritt 24 auf
diesen Block Bezug nehmend aufgefüllt.
-
Wenn
der Block 1117 verarbeitet wird, liegt der laufende Block 1117 im
Schritt 12 nicht gänzlich ausserhalb
des Objekts, daher wird der Block im Schritt 13 aufgefüllt. Im
Schritt 15 liegt der vorhergehende, in der Horizontalen
benachbarte Block 116 gänzlich
ausserhalb des Objekts, er wird im Schritt 19 aufgefüllt. In
anderen Worten wird der Block 1116 zweimal aufgefüllt. Wenn
mehrere Auffüllwerte
verfügbar
sind, wird ein Mittelwert dieser Werte gefunden, oder einer von
diesen Werten kann für
die Auffüllung
ausgewählt
werden. Das Bild 108 wird daher durch seine Erweiterung
in der Horizontalen aufgefüllt.
-
Wenn
in den Prozessen der Schritte 15, 19 und 21 die
horizontale Richtung in eine vertikale Richtung verändert wird,
ergibt sich nach dem Auffüllen
durch vertikale Erweiterung ein Bild, wie es in 25 gezeigt
ist. Wenn sowohl in der Horizontalen benachbarte Blöcke als
auch in der Vertikalen benachbarte Blöcke zusammen verarbeitet werden, kann
ein Bild, das durch Erweiterung sowohl in der Horizontalen als auch
in der Vertikalen aufgefüllt
wurde, wie in 26 gezeigt, gewonnen werden.
In diesem Falle wird, wenn ein Abtastwert zweimal oder öfter aufgefüllt wird,
ein Mittelwert aller Auffüllwerte oder
eines Teiles dieser Auffüllwerte
verwendet. Wenn mehrere Auffüllkandidaten
verfügbar
sind, kann der in der Verarbeitungsreihenfolge nächstliegende Kandidat verwendet
werden.
-
Ein
Bildkodierer und ein Bilddekodierer, in denen das Auffüllverfahren
gemäss
vorliegender Erfindung eingesetzt wird, werden hiernach beschrieben.
-
Beispielhafte Ausführungsform
Nr. 15
-
27 illustriert
einen digitalen Bildkodierer, der in der fünfzehnten beispielhaften Ausführungsform
eingesetzt wird. 27 enthält die folgenden Elemente:
ein Eingabeterminal 201, ein erstes Addierglied 202,
einen Kodierer 203, einen diskreten Cosinus-Transformator
(DCT) 204, einen Quantisierer 205, ein Ausgabeterminal 206,
einen Dekodierer 207, einen inversen Quantisierer 208,
einen inversen DCT 209, ein zweites Addierglied 210,
eine Kodierer variabler Länge
(VLC) 211, ein Auffüllglied 212,
einen Blockspeicher 213, einen Bewegungsschätzer 214 und
einen Bewegungskompensator 215.
-
Hierunter
wird der Betrieb des digitalen Bildkodierers, der die obigen Elemente
enthält,
beschrieben. Zuerst wird ein Bild willkürlicher Gestalt in das Eingabeterminal 201 eingegeben,
dann wird das Bild in eine Mehrzahl aneinander angrenzender Bereiche aufgelöst. In dieser
Ausführungsform
wird der Block in Blöcke
von 8 × 8
oder 16 × 16
aufgelöst;
die Blöcke können aber
in willkürliche
Formen aufgelöst
werden.
-
Es
sollte auf 24 Bezug genommen werden. Ein
aufzufüllender
Objektblock wird über
eine Leitung 225 in den Bewegungsschätzer 214 eingegeben.
Gleichzeitig wird ein im Blockspeicher 213 gespeichertes,
früher
reproduziertes Bild (als „Bezugsbild" bezeichnet) in den
Bewegungsschätzer
eingegeben. Der Bewegungsvektor wird an den Bewegungskompensator 215 geschickt,
wo aus dem Bezugsbild ein vorhergesagter Block erzeugt wird. Dieser
Bewegungsvektor wird über
eine Leitung 228 auch an den VLC 211 geschickt,
wo der Vektor zu einem Code variabler Länge umgewandelt wird. Dann werden
der Objektblock und der vorhergesagte Block zum ersten Addierglied 202 geschickt,
wo unter Verwendung der Differenz zwischen diesen Blöcken ein differentieller
Block erzeugt wird. Als Nächstes
wird der differentielle Block im Kodierer 203 komprimiert. In
dieser Ausführungsform
wird der differentielle Block im DCT 204 und Quantisierer 205 komprimiert.
-
Andererseits
werden die komprimierten Daten an den Dekodierer 207 geschickt
und expandiert. In dieser Ausführungsform
werden die komprimierten Daten im inversen Quantisierer 208 invers
quantisiert, dann werden sie im IDCT 209 zu Daten im Raumbereich
expandiert. Der über
eine Leitung 227 geschickte, vorhergesagte Block wird zum
expandierten differentiellen Block addiert, um einen reproduzierten
Block zu erzeugen. Dann wird der reproduzierte Block in das Auffüllglied 212 eingegeben,
wo insignifikante Abtastwerte des reproduzierten Blocks mit dem
in der elften beispielhaften Ausführungsform beschriebenen Auffüllverfahren
zum Auffüllen
ersetzt werden. Dann wird der aufgefüllte, reproduzierte Block im
Blockspeicher 213 gespeichert. Um anzuzeigen, ob ein Abtastwert
signifikant oder insignifikant sein soll, wird das bereits kodierte
oder dekodierte Formsignal als Bezugssignal verwendet (dies ist
aber in den Zeichnungen nicht gezeigt).
-
Das
im Blockspeicher 213 zu speichernde, aufgefüllte Bild
ist zum Beispiel in 24, 25 oder 26 gezeigt.
Das aufgefüllte
Bild wird über eine
Leitung 224 an den Bewegungsschätzer 214 und an den
Bewegungskompensator 215 geschickt. In dieser Ausführungsform
ist die aktive Fläche
des Bewegungsschätzers
und des Bewegungskompensators auf den aufgefüllten Bereich (die schraffierten Bereiche
in 24, 25 und 26) begrenzt,
in anderen Worten wird auf Muster ausserhalb des aufgefüllten Bereichs
nicht zugegriffen.
-
28 zeigt
den Bildkodierer, bei dem ein Aufzeichnungsgerät 229 an den in 27 gezeigten Bildkodierer
angeschlossen ist. Die durch den VLC 211 zu Kode variabler
Länge umgewandelten
Daten werden über
das Aufzeichnungsgerät 229 auf
einem magnetischen Medium (Band oder Platte} oder auf einer optischen
Platte gespeichert.
-
Der
Bereich, der an die Objektgrenze angrenzt, wird aufgefüllt, wodurch
die aktive Fläche
der Bewegungsschätzung
und Bewegungskompensation erweitert werden kann. Dadurch kann ein
vorhergesagter Block mit einer kleineren verbleibenden Differenz
für Bilder
mit starker Bewegung gewonnen werden. Des Weiteren können mit
dem Auffüllverfahren
gemäss
vorliegender Erfindung die Verzögerungszeit
und der Rechenaufwand herabgedrückt werden.
-
In
dieser Ausführungsform
wird die diskrete Cosinus-Transformation eingesetzt; die gestalt-adaptive
diskrete Cosinus-Transformation, Teilband oder Wavelet können aber
die gleiche Wirkung erzeugen.
-
Beispielhafte Ausführungsform
Nr. 16
-
29 illustriert
einen digitalen Bildkodierer, der in der sechzehnten beispielhaften
Ausführungsform
eingesetzt wird. 29 enthält die folgenden Elemente:
ein Eingabeterminal 301, einen Datenanalysator 302,
einen Dekodierer 303, einen inversen Quantisierer 304,
einen IDCT (inversen diskreten Cosinus-Transformator) 305,
ein Addierglied 306, ein Ausgabeterminal 307,
ein Auffüllglied 308,
einen Blockspeicher 309 und ein Auffüllglied 310.
-
Hierunter
wird der Betrieb des digitalen Bilddekodierers, der die obigen Elemente
enthält,
beschrieben. Erstens werden komprimierte Daten in das Eingabeterminal 301 eingegeben,
dann werden die Daten im Datenanalysator 302 analysiert.
Die Daten des komprimierten differentiellen Blocks werden über eine
Leitung 312 an den Dekodierer 303 ausgegeben.
Als Nächstes
wird ein Bewegungsvektor über eine
Leitung 318 zum Bewegungskompensator 310 geschickt.
Im Dekodierer 303 wird der verbleibende komprimierte Block
expandiert und in einen expandierten differentiellen Block zurückgeführt. In
dieser Ausführungsform
durchläuft
der komprimierte differentielle Block den inversen Quantisierer 304 und den
IDCT 305, wo ein Signal im Frequenzbereich in ein Signal
im Raumbereich umgewandelt wird. Dann wird der Bewegungsvektor über eine
Leitung 318 in den Bewegungskompensator 310 eingegeben.
-
Im
Bewegungskompensator 310 wird auf der Basis des Bewegungsvektors
eine Adresse für
den Zugriff auf den Blockspeicher 309 erzeugt, und unter Benutzung
eines im Blockspeicher 309 gespeicherten Bildes wird ein
vorhergesagter Block erzeugt. Dann werden der erzeugte, vorhergesagte
Block und der expandierte differentielle Block in das Addierglied 306 eingegeben,
um einen reproduzierten Block zu erzeugen. Der reproduzierte Block
wird an das Ausgabeterminal 307 ausgegeben, und gleichzeitig
wird er in das Auffüllglied 308 eingegeben.
Schliesslich wird der reproduzierte Block mit dem in der elften
beispielhaften Ausführungsform
im Einzelnen beschriebenen Auffüllverfahren
aufgefüllt,
und der aufgefüllte Block
wird im Blockspeicher 309 gespeichert.
-
Beispielhafte Ausführungsform
Nr. 17
-
30 illustriert
einen digitalen Bildkodierer, der in der siebzehnten beispielhaften
Ausführungsform
verwendet wird. Die grundlegende Struktur ist die gleiche wie die
in 27 gezeigte. Ein Initialisierer 230 wird
an der Stelle des Auffüllgliedes 212 verwendet.
Ehe ein Bild im Blockspeicher 213 gespeichert wird, wird
das Bild des Blockspeichers 213 durch den Initialisierer 230 mit
einem im Voraus festgelegten Initialisierungswert initialisiert.
Der dem zweiten Auffüllglied 210 entnommene,
reproduzierte Block wird im Blockspeicher 213 gespeichert.
Der Initialisierungswert kann ein fester Wert oder ein Mittelwert
signifikanter Abtastwerte des früher
reproduzierten Bildes sein.
-
31 zeigt
den Bildkodierer, bei dem das Aufzeichnungsgerät 229 an den in 30 gezeigten Bildkodierer
angeschlossen ist. Die durch den VLC 211 zu Kode variabler
Länge umgewandelten
Daten werden über
das Aufzeichnungsgerät 229 auf
einem magnetischen Medium (Band oder Platte) oder auf einer optischen
Platte gespeichert.
-
Beispielhafte Ausführungsform
Nr. 18
-
32 illustriert
einen in der achtzehnten beispielhaften Ausführungsform verwendeten digitalen
Bilddekodierer. Er hat im Grunde die gleiche Struktur wie die der 29,
aber verwendet einen Initialisierer 320 an der Stelle des
Auffüllgliedes 308. Ehe
ein Bild im Blockspeicher 309 gespeichert wird, wird der
Blockspeicher durch den Initialisierer 320 mit einem im
Voraus festgelegten Initialisierungswert initialisiert. Der einem
Auffüllglied 306 entnommene,
reproduzierte Block wird im Blockspeicher 309 gespeichert.
Der Initialisierungswert kann ein fester Wert oder ein Mittelwert
signifikanter Abtastwerte eines früher reproduzierten Bildes sein.
-
Industrielle Anwendbarkeit
-
Die
vorliegende Erfindung stellt ein einfaches Auffüllverfahren zur Verfügung, mit
dem ein kleiner Bereich, der eine Bewegungskompensation erfahren
hat, oder ein kleiner reproduzierter Bereich aufgefüllt werden
und durch das der Rechenaufwand wesentlich verringert werden kann.
Da der Auffüll-Objektbereich
ein kleiner, geschlossener Bereich ist, ergibt sich eine kürzere Verzögerungszeit
als beim Auffüllen über ein
ganzes Bild hinweg. Des Weiteren wird nicht nur ein Grenzbereich,
sondern auch ein daran angrenzender Bereich, der nur insignifikante
Abtastwerte enthält,
aufgefüllt,
und eine Bewegung wird unter Verwendung der aufgefüllten Bereiche
sowohl geschätzt
als auch kompensiert, wodurch ein vorhergesagtes Signal mit kleinerer
Differenz gewonnen werden kann. Diese Faktoren tragen zur höheren Kodier-
und Dekodierleistung bei Bildern willkürlicher Gestalt bei.
-
Liste der Bezugszahlen
in den Zeichnungen
- 201
- Eingabeterminal
- 202
- erstes
Addierglied
- 203
- Kodierer
- 204
- diskreter
Cosinus-Transformator (DCT)
- 205
- Quantisierer
- 206
- Ausgabeterminal
- 207
- Dekodierer
- 208
- inverser
Quantisierer
- 209
- inverser
diskreter Cosinus-Transformator (IDCT)
- 210
- zweites
Addierglied
- 211
- Kodierer
mit variabler Länge
- 212
- Auffüllglied
- 213
- Blockspeicher
- 214
- Bewegungsschätzer
- 215
- Bewegungskompensator
- 229
- Aufzeichnungsgerät
- 230
- Initialisierer
- 240
- erstes
Auffüllglied
- 241
- zweites
Auffüllglied
- 244
- Auffüllglied
- 246
- Auffüllglied
- 301
- Eingabeterminal
- 302
- Datenanalysator
- 303
- Dekodierer
- 304
- inverser
Quantisierer
- 305
- IDCT
- 306
- Addierglied
- 307
- Ausgabeterminal
- 308
- Auffüllglied
- 309
- Blockspeicher
- 310
- Bewegungskompensator
- 330
- Auffüllglied