-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur Bildkodierung,
ein Verfahren zur Bilddekodierung, eine Vorrichtung zur Bildkodierung, eine
Vorrichtung zur Bilddekodierung, ein System zur Bildverarbeitung,
ein Programm zur Bildkodierung und ein Programm zur Bilddekodierung,
die in der Lage sind, eine wirksame Entropiekodierung von orthogonalen
Transformationskoeffizienten bei einer orthogonalen Transformation
zu implementieren, welche die Auswahl unter mehreren Blockgrößen ermöglicht.
-
In Verbindung stehender
Stand der Technik
-
Kodiertechnologien
von Bildsignalen werden zur Übertragung
und zur Ansammlung und zur Wiedergabe von Bildsignalen von Standbildern,
Bewegtbildern usw. verwendet. Solche Technologien schließen bekannte
Methoden nach internationalen Standards ein, zum Beispiel ISO/IEC
Internationaler Standard 10918 (nachfolgend als JPEG bezeichnet),
als Kodiertechnologie für
Standbilder und ISO/IEC Internationaler Standard 14496-2 (MPEG4
visuell, welcher nachfolgend als MPEG-4 bezeichnet werden wird),
als Kodiertechnologie für
Bewegtbilder. Ein neueres bekannteres Kodierverfahren ist die ITU-T Empfehlung
H.264; ISO/IEC Internationaler Standard 14496-10 (Gemeinsamer Abschlusskomitee-Entwurf der
Gemeinsamen Videospezifikation, ftp//ftp.imtc-files.org/jvt/experts/2002
07 Klagenfurt/JVT-D157.zip,
welcher nachfolgend als H.26L bezeichnet werden wird), welches ein
Videokodierverfahren darstellt, das für die internationale Standardisierung
durch ITU-T und ISO/IEC bestimmt ist.
-
Bildsignale
zeigen enge Korrelationen zwischen räumlich benachbarten Pixeln
auf, und folglich führt
die Transformation in die Frequenzdomäne zur Abweichung von Information
zum Niedrigfrequenzbereich, was die Reduzierung von Redundanz unter Verwendung
der Abweichung ermöglicht.
Deswegen nehmen die typischen Bildkodierverfahren eine Technologie
an, des Unterziehens von Bildsignalen einer orthogonalen Transformation,
um sie in orthogonale Transformationskoeffizienten in der Frequenzdomäne zu transformieren,
um die Abweichung der Signalkomponenten zum Niedrigfrequenzbereich
hin zu erreichen. Darüber
hinaus werden die Koeffizienten quantifiziert, so dass die kleinwertigen
Koeffizienten in Nullen konvertiert werden. Eine Koeffizientenfolge wird
hergestellt durch Lesen der Koeffizienten in einer Reihenfolge vom
niedrigsten im Niedrigfrequenzbereich und wird der Entropiekodierung
unterzogen, wobei Vorteil aus der Abweichung der Koeffizientenwerte
gezogen wird und folglich eine wirksame Kodierung mit Reduktion
der Redundanz erreicht wird.
-
In
diesem Fall wird allgemein die diskrete Kosinus-Transformation (DCT)
als die orthogonale Transformation in Bezug auf die Kodierwirksamkeit und
wegen der Einfachheit der Implementierung verwendet. Die orthogonale
Transformation wie beispielsweise die DCT wird in Einheiten von
Blöcken durchgeführt, welche
sich aus der Aufteilung von Bildsignalen in Blöcke ergeben, von denen jeder
aus einer Vielzahl von Pixeln besteht. Die Abmessung der Blöcke, ebenso
wie die Eigenschaft der Bildsignale, beeinflusst in großem Maße die Kodierwirksamkeit.
-
Wenn
Bildsignale nur kleine Veränderungen in
der räumlichen
Eigenschaft aufzeigen, sind Bildsignale, die in orthogonale Transformationskoeffizienten
in einem schmalen Frequenzbereich zu transformieren sind, breit über ein
Bild verteilt, und die Redundanz kann mehr mit Erhöhung der
Größe der Blöcke verringert
werden, das heißt
die Größe der orthogonalen
Transformation, um die Kodierwirksamkeit zu erhöhen, im Vergleich mit Fällen, die
kleinere Blöcke
verwenden, welche das Erfordernis erhöhen, wiederholt identische
orthogonale Transformationskoeffizienten auszudrücken. Wenn Bildsignale andererseits
eine große
Veränderung
in der räumlichen Eigenschaft
aufzeigen, führt
die Erhöhung
in der Größe der Blöcke zum
Erhalten von verschiedenen Frequenzkomponenten der orthogonalen
Transformationskoeffizienten davon und folglich zum Verringern der
Abweichung von Koeffi zienten, was wirksame Entropiekodierung erschwert
und folglich die Kodierwirksamkeit verringert.
-
Um
Vorteil aus der Veränderung
der Kodierwirksamkeit aufgrund der Veränderung in den Abmessungen
der Blöcke
für die
orthogonale Transformation und der Eigenschaft der Bildsignale zu
ziehen, ist die verwendete Technologie eine des Vorbereitens von
orthogonalen Transformationsmitteln in einer Vielzahl von Blockabmessungen
im Voraus und des adaptiven Auswählens
und Verwendens einer Größe von ihnen,
welche die beste Kodierwirksamkeit erzielt. Diese Technologie wird
adaptive Blockgrößentransformation
(ABT) genannt und ist in H.2GL einbezogen. 1A bis 1E zeigen
orthogonale Transformationsblöcke,
welche für
die ABT in H.26L verwendet werden. Die ABT erlaubt es, eine Größe auszuwählen, welche
die beste Kodierwirksamkeit erzielt aus vier Arten von orthogonalen Transformationsblockgrößen, die
in 1B bis 1E gezeigt
werden, für
jeden Makroblock von 16 × 16
Pixeln, der in 1A gezeigt ist. Pixelwerte von jedem
Makroblock werden gleichmäßig in Einheiten von
Blöcken
der ausgewählten
Abmessung aufgeteilt und werden dann der orthogonalen Transformation unterzogen.
Durch Implementierung einer solchen Auswahl wird es möglich, eine
wirksame Reduktion der Redundanz durch die Verwendung der orthogonalen
Transformation in Übereinstimmung
mit der Veränderung
in der räumlichen
Eigenschaft der Bildsignale in den Makroblöcken zu erreichen. Bezug sollte
für speziellere
Einzelheiten der ABT auf H.26L genommen werden.
-
Die
Entropiekodierung der durch die orthogonale Transformation erhaltenen
orthogonalen Transformationskoeffizienten wird auf eine Koeffizientenfolge
bewirkt, die erhalten wird durch sequentielles Lesen der orthogonalen
Transformationskoeffizienten vom niedrigsten im Niedrigfrequenzbereich. 2A zeigt
eine Reihenfolge des Auslesens von Koeffizienten in einem orthogonalen
Transformationsblock von 4 × 4
Pixeln. Weil die durch die orthogonale Transformation erhaltenen
Koeffizienten mit der niedrigsten Frequenzkomponente (das heißt der Gleichstromkomponente)
an der linken oberen Ecke angeordnet sind, werden die Koeffizienten
in der Reihenfolge vom linken oberen Koeffizienten ausgelesen, um
eine Koeffizientenfolge zu erhalten, die aus sechzehn Koeffizienten
besteht, wie gezeigt in 2B. Diese
Auslese Reihenfolge wird Zickzack-Abtasten genannt.
-
Die
durch die orthogonale Transformation erhaltenen Koeffizienten sind
zueinander nicht korreliert und die Signalkomponenten weichen zum
Niedrigfrequenzbereich hin ab. Aus diesem Grund ist es wahrscheinlicher,
dass, wenn sie weiter quantifiziert werden, die niedrigen Frequenzkoeffizienten
keine Nicht-Null-Koeffizientenwerte
darstellen, so dass viele nullwertige Koeffizienten in der Koeffizientenfolge auftreten.
Zum Beispiel erzeugt es eine Folge von Koeffizientenwerten, wie
gezeigt in 2C. Deswegen ist es zur wirksamen
Entropiekodierung der Koeffizientenfolge dieser Verteilung allgemeine
Praxis, bei der Kodierung von Bildern die Kodierung durch Ausdrücken der
Koeffizientenfolge durch die Anzahl von fortlaufenden Nullkoeffizienten
auszudrücken, die
einem Nicht-Null-Koeffizienten vorangehen (Läufe) und Koeffizientenwerte
(Niveaus) von Nicht-Null-Koeffizienten.
Eine derartige Kodierung mit Läufen
und Niveaus wird ebenso bei der Entropiekodierung von orthogonalen
Transformationskoeffizienten durch die ABT verwendet.
-
Andererseits,
um die Wirksamkeit bei der Entropiekodierung wie oben beschrieben,
weiter zu erhöhen,
setzt H.26L die Technologie ein, die Kontext-basierender adaptiver
variabler Längencode
genannt wird (CAVLC), welche auf die orthogonale Transformation
angewendet wird, ohne die Verwendung von ABT, das heißt in Fällen, in
denen die orthogonale Transformation immer in Einheiten von orthogonalen
Transformationsblöcken
von 4 × 4
Pixeln ausgeführt
wird.
-
Die
CAVLC in H.26L verwendet die folgenden Merkmale: Die maximale Anzahl
der Koeffizienten in der von jedem orthogonalen Transformationsblock
von 4 × 4
Pixeln erhaltenen Koeffizientenfolge beträgt 16, der Betrag von Läufen wird
auf diese maximale Anzahl beschränkt,
und der Betrag von Niveaus neigt dazu, bei niedrigeren Frequenzen
größer zu sein.
Eine Anzahl von Kodiertabellen, die bei der variablen Längenkodierung
verwendet werden, werden als optimierte Tabellen für jeweilige
Bedingungen vorbereitet und werden angewendet, während sie sequentiell geschaltet
werden, um die Kodierwirksamkeit zu erhöhen.
-
Zum
Beispiel kann im Fall, wo Läufe
in der Reihenfolge kodiert werden, der erste Lauf eine Vielzahl
von Werten von 0 bis 14 annehmen (gemäß der Definition von Läufen in
H.26L beträgt
der maximale Wert von Läufen
14, welcher um zwei kleiner ist als die Gesamtanzahl von Koeffizienten).
Andererseits kann ein Lauf, der in der letzten Stufe der sequentiellen
Kodierung von Läufen
auftritt, nur einen aus begrenzten Laufwerten annehmen, weil es
eine obere Grenze für
die Anzahl von Koeffizienten in der Koeffizientenfolge gibt. Folglich
wird wie in 3 gezeigt, die Kodiertabelle
rechter Hand mit der größten Anzahl
von Elementen in der Kodiertabelle auf Läufe angewendet, die in der
Ausgangsstufe auftreten, und die Kodiertabellen auf der linken Seite
mit der kleineren Anzahl von Elementen in jeder Kodiertabelle werden
auf Läufe
angewendet, die in der letzten Stufe auftreten. Dies erlaubt die
Zuweisung von Codes von kleinere Bitzahlen und implementiert folglich
wirksames Entropiekodieren. Das CAVLC erreicht die wirksame Kodierung,
indem es die Zustände,
wie beispielsweise die maximale Anzahl der Koeffizienten in jedem
Block verwendet und dem Bereich Beschränkungen auferlegt, den zu kodierende
Werte annehmen können.
Für weitere
Einzelheiten des CAVLC sollte Bezug auf H.26L genommen werden.
-
In
der Druckschrift „16
Bit Adaptive Block Size Transform", beschreiben Wien und Dahlhoff ein Bildkodierverfahren,
das die Schritte des Aufteilens von Bildsignalen in Blöcke enthält, das
Durchführen einer
orthogonalen Transformation von jedem Block, das Auslesen von resultierenden
orthogonalen Transformationskoeffizienten, um eine Koeffizientenfolge
zu erhalten und das Durchführen
der Entropiekodierung davon, wobei das Bildkodierverfahren einen
Blockauswahlschritt aufweist, des Auswählens einer Abmessung eines
Blockes für
die orthogonale Transformation aus einer Vielzahl von Blöcken von verschiedenen
Größen. Die
Entropiekodierung wird mittels CABAC und VLC durchgeführt.
-
Zusammenfassung der Erfindung
-
Durch
Anwendung der voranstehenden CAVLC auf die ABT, kann es erwartet
werden, dass wirksamere Entropiekodierung ebenso mit den Koeffizientenfolgen
des ABT erreicht werden wird.
-
Jedoch
erreicht die CAVLC die Erhöhung
der Kodierwirksamkeit durch Optimierung der Kodiertabellen beim
variablen Längenkodieren
für die
jeweiligen Bedingungen, basierend auf der maximalen Anzahl von Koeffizienten
in Blöcken
und durch Anwendung der Kodiertabellen auf die Kodierung mit Schalten
unter ihnen.
-
Bei
der Verwendung des ABT unterscheidet sich die Anzahl von Koeffizienten
in jedem Block abhängig
von verschiedenen Abmessungen; 64 im Fall von 8 × 8 Blöcken in 1B, 32
in den Fällen
von 8 × 4
und 4 × 8
Blöcken
in 1C und 1D, und
16 in dem Fall von 4 × 4
Blöcken
in 1E. Aus diesem Grund erfordert die Anwendung des
CAVLC die Betrachtung der großen
Anzahl von Zuständen,
die in den jeweiligen Fällen
auftreten können.
-
Zum
Beispiel, unter der Annahme, dass die Kodiertabellen gemäß der maximalen
Anzahl der Koeffizienten in den Koeffizientenfolgen eingestellt
sind, wie die Kodiertabellen von Läufen, die in 3 gezeigt
sind, muss die sehr große
Anzahl von Kodiertabellen vorbereitet werden; im Fall von 8 × 8 Blöcken bei
denen die Anzahl der Koeffizienten 64 beträgt, ist es nötig, die
Kodiertabellen vorzubereiten, die von der Kodiertabelle mit der
Anzahl von Elementen von 2 bis zur Kodiertabelle mit der Anzahl
von Elementen von 62 reichen. In ähnlicher Weise, in den Fällen von 8 × 4 und
4 × 8
Blöcken,
bei denen die Anzahl von Koeffizienten 32 beträgt, müssen die Kodiertabellen von
jenen, deren Anzahl von Elementen 2 beträgt bis zu jenen, deren Anzahl
von Elementen 30 beträgt, vorbereitet
werden.
-
Wenn
es versucht wurde, die an die Eigenschaften der Koeffizienten, wie
dem CAVLC angepasste Entropiekodierung auf die orthogonalen Transformationskoeffizienten
anzuwenden, unter wahlweise Verwendung der orthogonalen Transformationsblöcke von
verschiedenen Abmessungen, wie der ABT, wie oben beschrieben, ergab
sich das Problem, dass die Anzahl der vorzubereitenden Kodiertabellen
sehr groß wurde
und die Speicherkapazität,
die erforderlich war zum Speichern der Kodiertabellen, so groß wurde.
Weil es ebenso die Verwendung von verschiedenen Kodiertabellen für Blöcke von
jeweiligen Abmessungen und die unterschiedlichen Auswahlprozeduren
davon einbezog, gab es das Problem, dass die Prozedur beim Entropiekodieren
kompliziert wurde und folglich das Mittel zur Implementierung und
die instrumentelle Struktur kompliziert wurde.
-
Die
vorliegende Erfindung wurde durchgeführt, um die obigen Probleme
zu lösen
und eine Aufgabe der Erfindung ist es, ein Verfahren zur Bildkodierung,
ein Verfahren zur Bilddekodierung, eine Vorrichtung zur Bildkodierung,
eine Vorrichtung zur Bilddekodierung, ein System zur Bildverarbeitung,
ein Programm zur Bildkodierung und ein Programm zur Bilddekodierung
bereitzustellen, die eine wirksame Entropiekodierung bei der orthogonalen
Transformation von variablen Größen ermöglichen.
-
Um
die obige Aufgabe zu erreichen, ist ein Verfahren (Vorrichtung)
zur Bildkodierung gemäß der vorliegenden
Erfindung, ein Verfahren (Vorrichtung) zur Bildkodierung des Aufteilens
von Bildsignalen in Blöcke,
des Durchführens
einer orthogonalen Transformation von jedem Block, des Auslesens
sich ergebender orthogonaler Transformationskoeffizienten, um eine
Koeffizientenfolge zu erhalten, und des Durchführens einer Entropiekodierung
davon, wobei das Verfahren (Vorrichtung) zur Bildkodieruug aufweist:
einen Block Auswahlschritt (Mittel) des Auswählens einer Abmessung eines
Blocks für
die orthogonale Transformation aus einer Vielzahl von Blöcken von
verschiedenen Abmessungen; einen Koeffizientenfolgen Aufteilschritt
(Mittel) des, wenn ein Block von einer Größe, die größer ist als eine minimale Größe im Blockauswahlschritt
(Mittel) ausgewählt
wird, Aufteilens einer Koeffizientenfolge in dem Block in eine Vielzahl
von Koeffizientenfolgen von einer Länge gleich jener einer Koeffizientenfolge
in einem Block der minimalen Größe; und
einen Kodierschritt (Mittel) des Durchführens der Entropiekodierung,
die an die Koeffizientenfolge in dem Block der minimalen Größe angepasst
ist. Ein Programm zur Bildkodierung gemäß der vorliegenden Erfindung
ist so konfiguriert, dass es einen Computer jeden der obigen Schritte
ausführen
lässt.
-
Im
wie oben beschriebenen Bildkodierverfahren gemäß der vorliegenden Erfindung
wird, wenn ein Block einer großen
Abmessung ausgewählt
wird, um der orthogonalen Transformation unterzogen zu werden, die
Koeffizientenfolge in dem Block zunächst in Koeffizientenfolgen
aufgeteilt und dann wird die Entropiekodierung für jede von ihnen durchgeführt. Dies
erlaubt es, die Entropiekodierung, die an die Koeffizientenfolge
in dem Block der minimalen Größe angepasst
ist, auf die Entropiekodierung der Koeffizientenfolge in dem ausgewählten Block
anzuwenden, wodurch es ermöglicht
wird, wirksame Entropiekodierung von orthogonalen Transformationskoeffizienten
zu implementieren, ohne die Prozedur des Entropiekodierens zu komplizieren.
-
In
dem obigen Verfahren (Vorrichtung) zur Bildkodierung kann der Koeffizientenfolgen
Aufteilschritt (Mittel) konfiguriert werden, um Koeffizienten der
Koeffizientenfolge vom niedrigsten in einem Niedrigfrequenzbereich
auszulesen und die gelesenen Koeffizienten nacheinander in einer
Reihenfolge der Vielzahl von Koeffizientenfolgen von der Länge gleich
jener der Koeffizientenfolge im Block der minimalen Größe zuzuweisen,
wodurch die aufgeteilten Koeffizientenfolgen erhalten werden. Im
obigen Programm zur Bildkodierung kann der Koeffizientenfolgen Aufteilschritt,
der durch den Computer ausgeführt
wird, ebenso konfiguriert werden, um Koeffizienten der Koeffizientenfolge
von dem niedrigsten in einem Niedrigfrequenzbereich auszulesen und
die gelesenen Koeffizienten nacheinander in der Reihenfolge der
Vielzahl von Koeffizientenfolgen von der Länge gleich jener der Koeffizientenfolge
im Block der minimalen Größe zuzuweisen,
wodurch die aufgeteilten Koeffizientenfolgen erhalten werden.
-
Im
obigen Verfahren (Vorrichtung) zur Bildkodierung kann der Koeffizientenfolgen
Aufteilschritt (Mittel) konfiguriert werden, die Koeffizienten aus
der Koeffizientenfolge vom niedrigsten in einem Niedrigfrequenzbereich
auszulesen und wiederholt das Lesen von Koeffizienten durchzuführen, um
die Anzahl gleich der Anzahl von Koeffizienten in der Koeffizientenfolge
im Block der minimalen Größe, um eine
aufgeteilte Koeffizientenfolge zu erhalten, wodurch die aufgeteilten
Koeffizientenfolgen erhalten werden. Im obigen Programm zur Bildkodierung
kann der durch den Computer ausgeführte Koeffizientenfolgenaufteilschritt
ebenso konfiguriert werden, um Koeffizienten der Koeffizientenfolge
vom niedrigsten in einem Niedrigfrequenzbereich zu lesen und wiederholt
das Lesen von Koeffizienten durchzuführen, um die Anzahl gleich
der Anzahl von Koeffizienten in der Koeffizientenfolge im Block
der minimalen Größe, um eine aufgeteilte
Koeffizientenfolge zu erhalten, wodurch die aufgeteilten Koeffizientenfolgen
erhalten werden.
-
Ein
Verfahren (Vorrichtung) zur Bilddekodierung gemäß der vorliegenden Erfindung
ist ein Verfahren (Vorrichtung) zur Bilddekodierung des Dekodierens
von kodierten Daten, die durch ein Verfahren zur Bildkodierung,
des Aufteilens von Bildsignalen in Blöcke kodiert wurden, des Durchführens einer
orthogonalen Transformation von jedem Block, des Lesens von sich
ergebenden orthogonalen Transformationskoeffizienten, um eine Koeffizientenfolge
zu erhalten, und des Durchführens
einer Entropiekodierung davon, wobei das Verfahren (Vorrichtung)
zur Bilddekodierung aufweist: einen Blockauswahlschritt (Mittel)
des Auswählens
einer Abmessung eines Blockes für
die orthogonale Transformation aus einer Viel zahl von Blöcken von
verschiedenen Abmessungen; einen Dekodierschritt (Mittel) des Durchführens der
Dekodierung von kodierten Daten durch Entropiekodierung, die an
eine Koeffizientenfolge in einem Block von minimaler Größe aus der
Vielzahl von Blöcken
angepasst ist; und einen Koeffizientenfolgen Konstruktionsschritt
(Mittel) von, wenn ein Block einer Abmessung, die größer ist
als die minimale Größe in dem
Blockauswahlschritt (Mittel) ausgewählt wird, Konstruieren einer
Koeffizientenfolge des Blockes der größeren Abmessung aus einer Vielzahl
von Koeffizientenfolgen, die im Dekodierschritt (Mittel) dekodiert
wurden. Ein Verfahren zur Bilddekodierung gemäß der vorliegenden Erfindung
ist konfiguriert, einen Computer jeden der obigen Schritte ausführen zu
lassen.
-
Im
wie oben beschriebenen Verfahren zur Bilddekodierung gemäß der vorliegenden
Erfindung wird, wenn ein Block von größerer Abmessung ausgewählt wird,
zur Implementierung der Dekodierung der kodierten Daten, die der
orthogonalen Transformation unterzogen wurden, die Koeffizientenfolge
in dem Block aus Koeffizientenfolgen von Blöcken konstruiert, die in dem
Block enthalten sind. Dies erlaubt es, dass die Koeffizientenfolge
aus kodierten Daten durch Entropiekodierung dekodiert wird, die
an die Koeffizientenfolge im Block der minimalen Größe angepasst
ist, wodurch es möglich
wird, die wirksame Entropiekodierung der orthogonalen Transformationskoeffizienten
zu implementieren, ohne die Prozedur des Dekodierens der Entropiekodierung
zu verkomplizieren.
-
Im
obigen Verfahren (Vorrichtung) zur Bilddekodierung kann der Koeffizientenfolgen
Konstruktionsschritt (Mittel) konfiguriert werden, um Koeffizienten
in der Vielzahl von Koeffizientenfolgen zu lesen, die im Dekodierschritt
(Mittel) dekodiert werden, vom niedrigsten in einem Niedrigfrequenzbereich
und diese ausgelesenen Koeffizienten aus den jeweiligen Koeffizientenfolgen
nacheinander in der Reihenfolge in eine neue Koeffizientenfolge
zu schreiben vom Niedrigfrequenzbereich, wodurch die konstruierte Koeffizientenfolge
erhalten wird. Im obigen Programm zur Dekodierung kann der durch
den Computer ausgeführte
Koeffizientenfolgen Konstruktionsschritt ebenso konfiguriert werden,
um die Koeffizienten in der Vielzahl von Koeffizientenfolgen, die
im Dekodierschritt dekodiert wurden, auszulesen, vom niedrigsten
in einem Niedrigfrequenzbereich, und die aus den jeweiligen Koeffizientenfolgen
ausgelesenen Koeffizienten nacheinander in der Rei henfolge in eine
neue Koeffizientenfolge vom Niedrigfrequenzbereich zu schreiben,
wodurch die konstruierte Koeffizientenfolge erhalten wird.
-
In
dem obigen Verfahren (Vorrichtung) zur Bilddekodierung kann der
Koeffizientenfolgen Konstruktionsschritt (Mittel) konfiguriert werden,
um Koeffizienten in der Vielzahl von Koeffizientenfolgen zu lesen,
die im Dekodierschritt (Mittel) dekodiert wurden, vom niedrigsten
in einem Niedrigfrequenzbereich und die ausgelesenen Koeffizienten
in Einheiten der originalen Koeffizientenfolgen in eine neue Koeffizientenfolge
vom Niedrigfrequenzbereich zu schreiben, wodurch die konstruierte
Koeffizientenfolge erhalten wird. Im obigen Programm zur Bilddekodierung
kann der Koeffizientenfolgenkonstruktionsschritt, der durch den
Computer ausgeführt
wird, ebenso konfiguriert werden, um Koeffizienten in der Vielzahl
von Koeffizientenfolgen zu lesen, die im Dekodierschritt dekodiert
wurden, vom niedrigsten in einem Niedrigfrequenzbereich, und die
gelesenen Koeffizienten in Einheiten der originalen Koeffizientenfolgen
in eine neue Koeffizientenfolge vom Niedrigfrequenzbereich zu schreiben,
wodurch die konstruierte Koeffizientenfolge erhalten wird.
-
Ein
System zur Bildverarbeitung gemäß der vorliegenden
Erfindung enthält
die obige Vorrichtung zur Bildkodierung und die obige Vorrichtung
zur Bilddekodierung.
-
Das
System zur Bildverarbeitung ermöglicht wirksame
Entropiekodierung bei der orthogonalen Transformation von variablen
Abmessungen wegen der Bereitstellung der obigen Vorrichtung zur
Bildkodierung und ermöglicht
ebenso die Dekodierung von Codes, die durch die obige Vorrichtung
zur Bildkodierung entropiekodiert wurden, wegen der Bereitstellung
der obigen Vorrichtung zur Bilddekodierung.
-
Kurze Beschreibung der
Zeichnungen
-
1A bis 1E sind
Diagramme, die die orthogonalen Transformationsblöcke zeigen,
welche in der adaptiven Blockgrößentransformation
(ABT) von H.26L verwendet werden.
-
2A bis 2C sind
Diagramme, die ein Ausleseverfahren des Auslesens von Koeffizienten
in einem 4 × 4
Block zeigen und ein Beispiel einer Koeffizientenfolge nach dem
Auslesen.
-
3 ist
ein Diagramm, das die Kodiertabellen von Läufen zeigt, die in der Kontext-basierenden adaptiven
variablen Längenkodierung
(CAVLC) von H.26L verwendet werden.
-
4A bis 4D sind
Diagramme, die ein Beispiel zeigen, in welchem ein Verfahren zum
Auslesen und zur Aufteilung von orthogonalen Transformationskoeffizienten
gemäß der vorliegenden
Erfindung für
einen 8 × 8
Block durchgeführt
wird.
-
5A bis 5C sind
Diagramme, die Vorgaben der Anordnung von Koeffizientenfolgen nach Aufteilung
gemäß der vorliegenden
Erfindung in Originalblöcken
zeigen.
-
6A bis 6D sind
Diagramme, die ein Beispiel zeigen, in welchem ein weiteres Verfahren des
Auslesens und der Aufteilung von orthogonalen Transformationskoeffizienten
gemäß der vorliegenden
Erfindung für
einen 8 × 8
Block ausgeführt
wird.
-
7 ist
ein Blockdiagramm, das eine Konfiguration eines Systems zur Bildverarbeitung
gemäß einer
Ausführungsform
zeigt.
-
Beschreibung der bevorzugten
Ausführungsformen
-
Die
bevorzugten Ausführungsformen
des Verfahrens zur Bildkodierung, des Verfahrens zur Bilddekodierung,
der Vorrichtung zur Bildkodierung, der Vorrichtung zur Bilddekodierung
und des Systems zur Bildverarbeitung gemäß der vorliegenden Erfindung
werden nachfolgend im einzelnen mit Bezug auf die Zeichnungen beschrieben
werden. Die gleichen Bestandteile werden durch dieselben Bezugssymbole
durch die Beschreibung der Zeichnungen hindurch bezeichnet werden,
ohne redundante Beschreibung derselben.
-
Die
Beschreibung wird auf der Voraussetzung basiert werden, dass die
Kodierung und die Dekodierung in der nachfolgenden Beschreibung
auf der Basis von H.26L implementiert werden, und von dem Teil ohne
spezielle Beschreibung über
den Ablauf in der Bildkodierung wird angenommen, dass er dem Ablauf
in H.26L entspricht. Es ist jedoch zu bemerken, dass die vorliegende
Erfindung nicht auf H.26L beschränkt
ist.
-
Eine
Ausführungsform
der vorliegenden Erfindung wird beschrieben werden. Bei der Kodierung gemäß der vorliegenden
Erfindung betreffend die orthogonalen Transformationskoeffizienten
in Blöcken von
jeweiligen Abmessungen in der ABT von H.26L wird eine Koeffizientenfolge,
die von jedem Block erhalten wird, in ei ne Vielzahl von Koeffizientenfolgen aufgeteilt,
von denen jede aus Koeffizienten besteht, die in der Anzahl gleich
der Anzahl von Koeffizienten in einer Koeffizientenfolge von einem
4 × 4
Block sind. Dies ermöglicht
es, der durch das CAVLC von H.26L vorgegebenen Entropiekodierung,
an die 4 × 4 Blöcke angepasst
zu sein.
-
Es
wird angenommen, dass beim Kodieren zunächst das ABT in H.26L auf einen
Makroblock angewendet wird, eine Abmessung, welche die beste Kodierwirksamkeit
erreicht aus den Blöcken,
die in den 1B bis 1E gezeigt
sind, ausgewählt wird,
und die orthogonale Transformation in Einheiten der Blöcke der
ausgewählten
Abmessung durchgeführt
wird.
-
Es
wird ebenso angenommen, dass die CAVLC in H.26L als die Entropiekodierung
von orthogonalen Transformationskoeffizienten eingesetzt wird. Und
zwar wird es angenommen, dass lediglich die variable Längenkodierung,
die an die Kodierung von orthogonalen Transformationskoeffizienten
für den
4 × 4
Block, der in 1E gezeigt ist, vorgegeben wird.
-
Zum
Beispiel sei hierin angenommen, dass der in 1B gezeigte
8 × 8
Block ausgewählt
wird. Die nachfolgende Ausleseoperation des Auslesens der orthogonalen
Transformationskoeffizienten wird für diesen 8 × 8 Block durchgeführt. Zunächst werden vierundsechzig
Koeffizienten im 8 × 8
Block durch die Zickzack-Abtastung ausgelesen, wie gezeigt in 4A,
um eine Koeffizientenfolge wie in 4B gezeigt,
zu erhalten.
-
Dann
wird diese Koeffizientenfolge in vier Koeffizientenfolgen aufgeteilt,
von denen jede aus 16 Koeffizienten besteht, deren Anzahl die gleiche
ist wie die Anzahl der Koeffizienten in der Koeffizientenfolge des
4 × 4
Blocks. Hier werden die Koeffizienten in der originalen Koeffizientenfolge
vom niedrigsten im Niedrigfrequenzbereich ausgelesen und alternierend
den 4 Koeffizientenfolgen zugewiesen, wodurch die Koeffizientenfolgen
nach Aufteilung erhalten werden. 4C und 4D zeigen
diesen Ausleseablauf. Weil die Koeffizienten alternierend den jeweiligen
Koeffizientenfolgen vom niedrigsten im Niedrigfrequenzbereich zugewiesen
werden, werden der ersten Koeffizientenfolge die Koeffizienten zugewiesen,
die in der Reihenfolge vom Nullten, Vierten, Achten, Zwölften, ...
in der originalen Koeffizientenfolge gelesen werden und der zweiten
aufgeteilten Koeffizientenfolge werden die ausgelesenen Koeffizienten in
der Reihenfolge des Ersten, Fünften,
Neun ten, Dreizehnten, ... in der originalen Koeffizientenfolge zugewiesen.
Die dritten und vierten aufgeteilten Koeffizientenfolgen sind in 4A bis
D nicht dargestellt. Ähnlich,
wenn der 8 × 4
Block oder 4 × 8
Block aus 1C oder 1D ausgewählt wird,
werden zweiunddreißig
Koeffizienten in zwei Koeffizientenfolgen aufgeteilt, von denen
jede aus sechzehn Koeffizienten besteht. Das Ausleseverfahren, um
die aufgeteilten Koeffizientenfolgen zu erhalten, ist ebenso ähnlich zu
jenem im Fall des 8 × 8
Blockes mit der Ausnahme, dass die Anzahl der Koeffizientenfolgen, denen
alternierend die Koeffizienten zugewiesen werden, 2 statt 4 beträgt; die
Koeffizienten in der originalen Koeffizientenfolge werden vom niedrigsten im
Niedrigfrequenzbereich ausgelesen und alternierend den zwei Koeffizientenfolgen
zugewiesen.
-
Die
auf diese Weise erhaltenen Koeffizientenfolgen werden entropiekodiert
gemäß dem gleichen
Ablauf wie beim Kodieren von CAVLC ohne die Verwendung von ABT,
und die kodierten Daten werden in der Reihenfolge als kodierte Daten
der orthogonalen Transformationskoeffizienten in den ABT-Block ausgegeben.
-
Zu
diesem Zeitpunkt verwendet die CAVLC von H.26L den Raumzusammenhang,
um die angewendete Kodiertabelle auf der Basis der Anzahl von Nicht-Null-Koeffizienten in
einem 4 × 4
Block zu schalten. Aus diesem Grund werden Anordnungen von Koeffizientenfolgen
nach der Aufteilung in ABT-Blöcke
für ABT-Blöcke größer als
der 4 × 4 Block
vorgegeben. Die Vorgaben werden in 5A bis 5C präsentiert.
Zum Beispiel wird der 8 × 8 Block,
der in 5A gezeigt ist, unter der Annahme gehandhabt,
dass die erste aufgeteilte Koeffizientenfolge, die in 4C dargestellt
ist, an einer Position von „1" angeordnet ist,
und die zweite aufgeteilte Koeffizientenfolge, die in 4D dargestellt
ist, an der Position von „2".
-
Es
wird angenommen, dass unter Verwendung der Vorgaben der Anordnung
der Raumzusammenhang für
die aufgeteilten Koeffizientenfolgen in den ABT-Blöcken, oder
der Raumzusammenhang für 4 × 4 Blöcke, die
den ABT Blöcken
benachbart sind, auf die gleiche Weise gehandhabt wird, ohne jegliche Veränderung,
wie in der Technologie in der CAVLC von H.26L.
-
Beim
Dekodieren kann die originale Transformationsmatrix erhalten werden
gemäß der umgekehrten
Prozedur wie der Prozedur beim Kodieren. Es sei angenommen, dass
die ABT in H.26L auf einen Makroblock angewendet wird, eine Größe aus den Blöcken, die
in 1B bis 1E gezeigt
ist, bestimmt wird, und kodierte Daten von diesem Makroblock, welche
sind, die sich aus der orthogonalen Transformation ergeben, die
in Einheiten von ABT-Blöcken
der Abmessung durchgeführt
wird. Zu diesem Zeitpunkt enthalten die kodierten Daten kodierte
Daten, die durch Entropiekodierung der aufgeteilten Koeffizientenfolgen
durch das CAVLC erhalten werden, in der Reihenfolge als kodierte
Daten der orthogonalen Transformationskoeffizienten in den ABT-Blöcken. Entsprechend
wird sie sequentiell dekodiert gemäß dem Ablauf des CAVLC, um
die Koeffizientenfolgen nach der Aufteilung zu erhalten. Weil diese
aufgeteilten Koeffizientenfolgen Koeffizientenfolgen sind, die durch
das Ausleseverfahren, das in 4A bis 4D gezeigt
ist, aufgeteilt sind, kann der originale orthogonale Transformationskoeffizientenblock
erhalten werden, indem im Gegensatz die Koeffizienten der aufgeteilten
Koeffizientenfolgen in jede originale Koeffizientenfolge geschrieben
werden und ferner die sich ergebenden Koeffizientenfolgen in den
orthogonalen Transformationskoeffizientenblock geschrieben werden.
Der nachfolgende Ablauf ist der gleiche wie jener beim Dekodierablauf
unter Anwendung von ABT in H.26L.
-
Ein
Aufbau eines Verfahrens zur Bildverarbeitung 1 zur Implementierung
der obigen Bildkodierung und Bilddekodierung wird nachfolgend beschrieben
werden. 7 ist ein Blockdiagramm, das ein
System zur Bildverarbeitung gemäß einer
Ausführungsform
zeigt. Das System zur Bildverarbeitung 1 ist aus einer
Vorrichtung 10 zur Bildkodierung zum Kodieren von Bilddaten
und einer Vorrichtung zur Bilddekodierung 20 aufgebaut.
Die Vorrichtung zur Bildkodierung 10 besitzt eine orthogonale
Transformationseinheit 11, einen Koeffizientenfolgenaufteiler 12,
einen Entropiekodierer 13, und einen Blockwähler 14.
Die orthogonale Transformationseinheit 11 besitzt eine
Funktion zur Durchführung
der orthogonalen Transformation von Bilddaten, um sie in Frequenzkomponenten
zu transformieren. Die orthogonale Transformationseinheit 11 teilt
jeden Makroblock der Bilddaten in eine Vielzahl von Blöcken auf
und führt
die orthogonale Transformation der aufgeteilten Blöcke durch.
Sie ist mit dem Blockwähler 14 verbunden,
und der Blockwähler 14 wählt einen
Block aus, der in der Lage ist, die orthogonale Transformation mit
der besten Wirksamkeit durchzuführen.
-
Der
Koeffizientenfolgenaufteiler 12 hat eine Funktion zum Aufteilen
einer Koeffizientenfolge, die durch die orthogonale Transformation
erhalten wird, in Koeffizientenfolgen einer vorbestimmten Länge. Hier
ist der Begriff „vorbestimmte
Länge" als eine Länge einer
Koeffizientenfolge vorgegeben, die durch die orthogonale Transformation
eines Blocks von minimaler Größe aus den
Blöcken
erhalten wird, in welche ein Makroblock für die orthogonale Transformation
von Bilddaten durch die orthogonale Transformationseinheit 11 aufgeteilt
werden kann.
-
Der
Entropiekodierer 13 hat eine Funktion zum Kodieren der
Koeffizientenfolgen, die durch den Koeffizientenfolgenaufteiler 12 aufgeteilt
wurden. Weil der Koeffizientenfolgenaufteiler 12 die originale Koeffizientenfolge
in die Koeffizientenfolgen der gleichen Länge aufteilt, wie jene der
Koeffizientenfolge des minimalen Blockes, wie oben beschrieben,
kann der Entropiekodierer 13 konfiguriert werden, an die Kodierung
von Koeffizientenfolgen von einer Länge angepasst zu werden und
kann wirksame Kodierung durchführen.
-
Die
Vorrichtung zur Bildkodierung 20 besitzt einen Entropiedekodierer 23,
einen Koeffizientenfolgenaufbauer 22, eine inverse orthogonale
Transformationseinheit 21 und einen Blockwähler 24.
Der Entropiedekodierer 23 besitzt eine Funktion zum Dekodieren
kodierter Daten.
-
Der
Koeffizientenfolgenaufbauer 22 besitzt eine Funktion zum
Konstruieren einer originalen Koeffizientenfolge aus Koeffizientenfolgen,
die beim Kodieren durch die Vorrichtung zur Bildkodierung 10 aufgeteilt
wurden. Der Koeffizientenfolgenaufbauer 22 ist mit dem
Blockwähler 24 verbunden,
bezieht Informationen über
die Größe des originalen
Blockes vom Blockwähler 24 und
konstruiert die originale Koeffizientenfolge auf der Basis dieser
Information. Der Blockwähler 24 ist
in der Lage, die Größe des originalen
Blockes basierend auf zusätzlicher
Information zu beziehen oder ähnlichem,
welche mit kodierten Daten von der Vorrichtung zur Bildkodierung übertragen
werden.
-
Die
inverse orthogonale Transformationseinheit 21 besitzt eine
Funktion des Transformierens der Koeffizientenfolgen, die durch
den Koeffizientenfolgenaufbauer 22 konstruiert wurden,
in Bilddaten.
-
Das
System 1 zur Bildverarbeitung der wie oben beschriebenen
Struktur implementiert das voranstehende Bildkodieren und Bilddekodieren.
Das voranstehende Ver fahren zur Bildkodierung und Verfahren zur
Bilddekodierung können
substantiiert werden durch ein Programme zur Bildkodierung und ein Programm
zur Bilddekodierung, um einen Computer jeden der Schritte davon
ausführen
zu lassen.
-
In
der vorliegenden Ausführungsform
wurde die Zickzack-Abtastung eingesetzt, um orthogonale Transformationskoeffizienten
auszulesen, aber die vorliegende Erfindung muss nicht auf die Zickzack-Abtastung
beschränkt
werden. Zum Beispiel kann die vorliegende Erfindung ebenso auf Fälle der Anwendung
der Feldabtastung für
Feldkodierung in Interlaced Bildern angewendet werden, welche in ABT
von H.26L definiert ist. Bei dieser Anwendung kann die Aufteilungstechnologie
der Koeffizientenfolgen in der vorliegenden Ausführungsform ebenso angewendet
werden, wie sie ist.
-
Die
vorliegende Ausführungsform
zeigte das alternierende Ausleseverfahren, wie gezeigt in 4A bis 4D,
als ein Ausleseverfahren zur Erhaltung der Koeffizientenfolgen nach
der Aufteilung, aber es ist ebenso möglich, die Koeffizientenfolgen nach
der Aufteilung durch ein anderes Ausleseverfahren zu erhalten, das
davon verschieden ist. Zum Beispiel, wie gezeigt in 6C und 6D,
werden sechzehn aufeinanderfolgende Koeffizienten aus der originalen
Koeffizientenfolge vom niedrigsten im Niedrigfrequenzbereich ausgelesen,
und jede Folge wird einer der Koeffizientenfolgen nach der Aufteilung
zugewiesen.
-
In
der vorliegenden Ausführungsform
ist das Auslesen der orthogonalen Transformationskoeffizienten bei
der Kodierung so implementiert, dass zunächst das erste Auslesen zum
Erhalten der Koeffizientenfolge vom orthogonalen Transformationsblock durchgeführt wird
und dann das zweite Auslesen zum Erhalten einer Vielzahl von Koeffizientenfolgen
nach der Aufteilung durchgeführt
wird. Das Schreiben der orthogonalen Transformationskoeffizienten
bei der Dekodierung wird implementiert, so dass zunächst das
erste Schreiben zum Erhalten der Koeffizientenfolge nach der Konstruktion
durchgeführt
wird und dann das zweite Schreiben zum Erhalten des orthogonalen
Transformationsblocks durchgeführt
wird. Jedoch muss das Auslesen und Schreiben von Koeffizienten gemäß der vorliegenden
Erfindung nicht auf diese Verfahren beschränkt werden, sondern kann ebenso
durch eine Vielzahl von Auslese- und Schreibverfahren implementiert
werden, die Koeffizientenfolgen in der gewünschten Anordnung erhalten können. Zum
Beispiel ist es ebenso mög lich,
ein derartiges Auslesen zu implementieren, um unmittelbar eine Vielzahl
von aufgeteilten Koeffizientenfolgen beim ersten Koeffizientenauslesen
aus dem orthogonalen Transformationsblock zu erhalten. Das Schreiben
der aufgeteilten Koeffizientenfolgen kann ebenso modifiziert werden,
so dass unmittelbar der orthogonale Transformationsblock beim ersten
Koeffizientenschreiben erhalten wird.
-
In
der vorliegenden Ausführungsform
wurden die Koeffizientenfolgen nach der Aufteilung, wie gezeigt
in 5A bis 5C, aufgeteilt
und von dem Raumzusammenhang von dem benachbarten 4 × 4 Block
in der CAVLC in H.26L wurde angenommen, dass er ohne Veränderung
so gehandhabt wird. In dieser Hinsicht kann es ebenso verstanden
werden, dass die Koeffizientenfolgen, die aus den Koeffizientenfolgen
des ABT-Blocks, der größer ist
als der 4 × 4
Block aufgeteilt werden, original verschieden sind in der Eigenschaft
von den Koeffizientenfolgen im Fall des 4 × 4 Blockes und Gewichte verteilt
werden an Ziffern, die als Raumzusammenhang verwendet werden. Speziell,
wo die Anzahl von Nicht-Null-Koeffizienten als Raumzusammenhang
vom benachbarten Block verwendet wird, wird immer eine Konstante hinzugefügt oder
multipliziert mit der Anzahl von Nicht-Null-Koeffizienten in jeder aufgeteilten
Koeffizientenfolge, die von einem ABT-Block erhalten wird, der größer ist
als der 4 × 4
Block, wenn er als Raumzusammenhang verwendet wird. In einer anderen Konfiguration,
wo die Koeffizientenfolgen nach der Aufteilung erhalten werden,
indem fortwährend
die Koeffizienten vom niedrigsten im Niedrigfrequenzbereich ausgelesen
werden, wie gezeigt in 6A bis 6D, können verschiedene
Konstanten hinzugefügt
werden oder mit Koeffizienten multipliziert werden, die aus dem
Niedrigfrequenzbereich ausgelesen werden und Koeffizienten, die
aus dem Hochfrequenzbereich ausgelesen werden.
-
Die
Ausführungsformen
wurden unter der Voraussetzung beschrieben, dass die Kodierung und Dekodierung
substantiiert wurden auf der Basis von H.26L und wurden beschrieben
basierend auf dem ABT und CAVLC in H.26L. Es ist jedoch zu bemerken,
dass die Verfahren zur Bildkodierung, auf welche die vorliegende
Erfindung angewendet werden kann, nicht auf H.26L beschränkt sind,
und die vorliegende Erfindung auf verschiedene Verfahren zur Bildkodierung
angewendet werden kann, die die Auswahl aus einer Vielzahl von Größen von
Blöcken
für die
orthogo nale Transformation gestatten und die Entropiekodierung verwenden,
die an die orthogonalen Transformationskoeffizienten angepasst ist.
-
Das
Verfahren zur Bildkodierung, das Verfahren zur Bilddekodierung,
die Vorrichtung zur Bildkodierung, die Vorrichtung zur Bilddekodierung
und das System zur Bildverarbeitung gemäß der vorliegenden Erfindung
stellen den folgenden Effekt bereit, wie oben dargelegt. Und zwar,
wo eine Abmessung eines Blockes für die orthogonale Transformation
aus einer Vielzahl von Abmessungen ausgewählt werden kann, wird eine
Koeffizientenfolge, die aus resultierenden orthogonalen Transformationskoeffizienten bestellt,
in eine Vielzahl von Koeffizientenfolgen der gleichen Abmessung
wie jener der Koeffizientenfolge im Block der minimalen Abmessung
aufgeteilt, und jede dieser Koeffizientenfolgen wird der Entropiekodierung
unterzogen, welche an die Koeffizientenfolge im Block der minimalen
Abmessung angepasst ist; hierdurch wird es möglich, die effiziente Entropiekodierung
zu implementieren, ohne die Anzahl der Kodiertabellen bei der Entropiekodierung
zu erhöhen und
ohne die Kodiertabellen und das Verfahren der Auswahl derselben
zu verkomplizieren.