DE60311530T2 - Bildcodierungsverfahren - Google Patents

Bildcodierungsverfahren Download PDF

Info

Publication number
DE60311530T2
DE60311530T2 DE2003611530 DE60311530T DE60311530T2 DE 60311530 T2 DE60311530 T2 DE 60311530T2 DE 2003611530 DE2003611530 DE 2003611530 DE 60311530 T DE60311530 T DE 60311530T DE 60311530 T2 DE60311530 T2 DE 60311530T2
Authority
DE
Germany
Prior art keywords
coefficients
blocks
value
unit
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE2003611530
Other languages
English (en)
Other versions
DE60311530D1 (de
Inventor
Kiyofumi Abe
Hope Atago 2nd Shinya Room 203 Kadono
Satoshi Kondo
Makoto Hagai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29243326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60311530(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE60311530D1 publication Critical patent/DE60311530D1/de
Application granted granted Critical
Publication of DE60311530T2 publication Critical patent/DE60311530T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)
  • Holo Graphy (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein Bildkodierungsverfahren und ein Bilddekodierungsverfahren zum digitalen Kodieren eines Bildes, um dieses zu übertragen oder zu speichern.
  • Stand der Technik
  • Eine Kodierung bewegter Bilder unterteilt im Allgemeinen ein Bild in Blöcke einer bestimmten Größe und führt eine Intrabildvorhersage und eine Interbildvorhersage für jeden Block durch. Anschließend wendet sie eine orthogonale Transformation, z. B. eine diskrete Cosinustransformation oder dergleichen, auf jeden Block der kleinsten Einheit eines Bereiches (d. h. 4×4 Pixel) an, um somit eine Kodierung durchzuführen, die eine Kodierung mit variabler Länge auf der Grundlage der Laufebenenkodierung für Koeffizienten verwendet, die mittels orthogonaler Transformation gewonnene Raumfrequenzkomponenten aufweisen.
  • Die Kodierung mit variabler Länge weist den Werten der im Block enthaltenen Koeffizienten, auf die die orthogonale Transformation angewendet wird (Ebene), sowie den Zahlen bestehend aus einer Serie eines Koeffizienten 0 (Lauf) einen Kode variabler Länge zu. In diesem Fall wird eine Tabelle, die den Werten mit dem Kode variabler Länge entspricht, als VLC-Tabelle bezeichnet. Bei dem herkömmlichen Verfahren wird nur eine Tabelle als VLC-Tabelle jeweils für die Intravorhersagekodierung und die Intervorhersagekodierung vorbereitet (Bezug zu ISO/IEC 14496-2: 1999 (E) Information Technology – coding of audio-visual objects, Part2: Visual (1.12.1999) S. 119, 7.4.1 Variable length decoding).
  • Bei dem Kodierungsverfahren mit variabler Länge, das für die bestehende Technik erläutert worden ist, wird nur eine Tabelle als VLC-Tabelle jeweils für die Intravorhersagekodierung und die Intervorhersagekodierung vorbereitet. Es besteht daher das Problem, dass sich die Kodierungseffizienz in Abhängigkeit von einer Qualität eines zu kodierenden aktuellen Bildes stark unterscheidet.
  • Um dieses Problem zu lösen, ist ein Verfahren denkbar, das mehrere Tabellen vorbereitet, um somit auf diese Bezug zu nehmen durch Umschalten zwischen diesen entsprechend der Anzahl der Koeffizienten ungleich 0 und in einem aktuellen Block enthalten sind, auf den die orthogonale Transformation angewendet wird. Um dies zu verwirklichen, ist es notwendig, eine Kodierung durchzuführen, indem eine Kodierung mit variabler Länge für die Anzahl der Koeffizienten ungleich 0 angewendet wird, jedoch sind das Kodierungsverfahren und das Dekodierungsverfahren noch nicht geschaffen worden.
  • EP 0 876 058 A1 offenbart, dass Modusdaten eines zu kodierenden Blocks anhand der Modusdaten eines bereits kodierten peripheren Blocks vorhergesagt werden und unter Verwendung einer Kodeworttabelle kodiert werden, die entsprechend einem Trefferverhältnis der Vorhersage umgeschaltet wird. In der Kodeworttabelle ist die Kodewortlänge für die Kodierung der Modi mit einem hohen Trefferverhältnis kürzer festgelegt.
  • G. Bjontegaard, "Improved Low Complexity Entropy Coding For Transform Coefficients", Joint Video Team of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 und ITU-T SG 16 26), 29. Januar 2002, S. 1–8, offenbart, dass VLC-Tabellen entsprechend der Anzahl der Koeffizienten in einem 4×4-Block verwendet werden.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung wurde im Hinblick auf diese Umstände erdacht, wobei es eine Aufgabe der vorliegenden Erfindung ist, ein Bildkodierungsverfahren sowie ein Bilddekodierungsverfahren vorzuschlagen, die die Kodierung der Anzahl von Koeffizienten ungleich 0, die in dem Block enthalten sind, auf den die orthogonale Transformation angewendet wird, mit hoher Effizienz unabhängig von der Qualität des aktuellen Bildes verwirklichen.
  • Um das obenerwähnte Problem zu lösen, wird ein Bildkodierungsverfahren gemäß der vorliegenden Erfindung, wie in Anspruch 1 definiert, vorgeschlagen.
  • Somit wird eine Verbesserung der Kodierungseffizienz verwirklicht, da es möglich ist, auf optimale Tabellen für die Kodierung variabler Länge Bezug zu nehmen, wenn die Anzahl der Koeffizienten ungleich 0, die in einem aktuellen Block enthalten sind, kodiert wird.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm, das eine Struktur einer Ausführungsform einer Bildkodierungsvorrichtung zeigt, die ein Bildkodierungsverfahren gemäß der vorliegenden Erfindung verwendet.
  • 2A ist ein Musterdiagramm, das eine Skizze einer Verarbeitungsreihenfolge von Makroblöcken in jedem Bild zeigt. 2 ist ein Musterdiagramm, das Makroblöcke zeigt, die zu kodierten Blöcken gehören, die als Referenz verwendet werden, um eine Anzahl von Koeffizienten eines zu kodierenden aktuellen Blocks zu kodieren.
  • 3A ist ein Blockdiagramm einer Struktur eines Koeffizientenzahlkodierers gemäß der ersten Ausführungsform der vorliegenden Erfindung.
  • 3B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahlkodierers zeigt.
  • 4A und 4B sind Musterdiagramme, die eine physikalische Position eines zu kodierenden aktuellen Blocks und des als Referenz verwendeten kodierten Blocks zeigen. 4A zeigt einen Fall der Verwendung von drei benachbarten Blöcken, während 4B einen Fall der Verwendung von zwei benachbarten Blöcken zeigt.
  • 5 ist ein Musterdiagramm, das ein Beispiel eines Ablaufs zeigt, wenn die Anzahl von Koeffizienten in einem Bitstrom mit Bezug auf Tabellen transformiert wird.
  • 6A und 6B sind Musterdiagramme, die Referenzblöcke für einen zu kodierenden aktuellen Makroblock zeigen. 6A zeigt den Fall der Verwendung von drei benachbarten Blöcken, während 6B den Fall der Verwendung von zwei benachbarten Blöcken zeigt.
  • 7A, 7B und 7C sind Musterdiagramme, die eine Operation zeigen, bei der eine Koeffizientenzahlspeichereinheit die Anzahl der Koeffizienten speichert. 7A zeigt einen Fall, bei dem eine Verarbeitung zum nächsten Makroblock vorrückt, während 7B einen Fall zeigt, bei dem die Verarbeitung zum nächsten Makroblock weiter vorrückt. 7C zeigt einen Fall, bei dem der aktuelle Makroblock an der rechten Kante des Bildes angeordnet ist und die Verarbeitung zum nächsten Makroblock vorrückt.
  • 8A, 8B und 8C sind Blockdiagramme, die eine Struktur eines Transformationsbeispiels eines Koeffizientenzahlkodierers gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigen. 8A zeigt einen Fall der Fixierung einer Kodetabelle. 8B zeigt einen Fall der Fixierung einer VLC-Tabelle. 8C zeigt einen Fall der Verwendung nur einer VLC-Tabelle ohne Verwendung von Kodetabellen.
  • 9 ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahlkodierers gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt.
  • 10A ist ein Blockdiagramm, das eine Struktur eines Koeffizientenzahlkodierers gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt. 10B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahlkodierers zeigt.
  • 11A und 11B sind Musterdiagramme, die eine Position von Blöcken zeigen, die Ziel für Statistiken der Anzahlen von Koeffizienten gemäss den zweiten und siebten Ausführungsformen der vorliegenden Erfindung sind.
  • 12A ist ein Blockdiagramm, das eine Struktur eines Koeffizientenzahlkodierers gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt. 12B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahlkodierers zeigt.
  • 13A ist ein Blockdiagramm, das eine Struktur eines Koeffizientenzahlkodierers gemäß der vierten Ausführungsform der vorliegenden Erfindung zeigt. 13B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahlkodierers zeigt.
  • 14 ist ein Blockdiagramm, das ein Verfahren zur Berechnung eines Beurteilungswertes zeigt der mittels der Tabellenumschaltung gemäß dem vierten und neunten Ausführungsformen der vorliegenden Erfindung erhalten wird.
  • 15 ist ein Blockdiagramm, das eine Struktur einer Bildkodierungsvorrichtung gemäß der fünften Ausführungsform der vorliegenden Erfindung zeigt.
  • 16 ist ein Blockdiagramm, das eine Struktur eines Koeffizientenzahlkodierers gemäß der fünften Ausführungsform der vorliegenden Erfindung zeigt.
  • 17 ist ein Blockdiagramm, das eine Struktur einer Ausführungsform einer Bilddekodierungsvorrichtung und Verwendung eines Bilddekodierungsverfahrens gemäß der vorliegenden Erfindung zeigt.
  • 18A ist ein Blockdiagramm, das eine Struktur eines Koeffizientenzahldekodierers gemäß der sechsten Ausführungsform der vorliegenden Erfindung zeigt. 18B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahldekodierers zeigt.
  • 19 ist ein Musterdiagramm, das ein Beispiel eines Ablaufs zeigt, wenn ein Bitstrom einer Anzahl von Koeffizienten mit Bezug auf Tabellen in die Anzahl von Koeffizienten transformiert wird.
  • 20A und 20B sind Blockdiagramme, die eine Struktur eines Transformationsbeispiels eines Koeffizientenzahldekodierers gemäß der sechsten Ausführungsform der vorliegenden Erfindung zeigen. 20A zeigt einen Fall der Fixierung einer Kodetabelle. 20B zeigt einen Fall der Fi xierung einer VLC-Tabelle. 20C zeigt einen Fall der Verwendung einer VLC-Tabelle ohne Verwendung von Kodetabellen.
  • 21 ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels eines Koeffizientenzahldekodierers, gemäß der sechsten Ausführungsform der vorliegenden Erfindung zeigt.
  • 22A ist ein Blockdiagramm zur Erläuterung einer Operation der Verarbeitung, das eine Struktur eines Koeffizientenzahldekodierers gemäß der siebten Ausführungsform der vorliegenden Erfindung zeigt. 22B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahldekodierers zeigt.
  • 23A ist ein Blockdiagramm zur Erläuterung einer Operation der Verarbeitung, das eine Struktur eines Koeffizientenzahldekodierers gemäß der achten Ausführungsform der vorliegenden Erfindung zeigt. 23B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahldekodierers zeigt.
  • 24A ist ein Blockdiagramm zur Erläuterung einer Operation der Verarbeitung, das eine Struktur eines Koeffizientenzahldekodierers gemäß der neunten Ausführungsform der vorliegenden Erfindung zeigt. 24B ist ein Blockdiagramm, das eine Struktur eines Transformationsbeispiels des Koeffizientenzahldekodierers zeigt.
  • 25 ist ein Blockdiagramm zur Erläuterung einer Operation der Verarbeitung, das eine Struktur eines Koeffizientenzahldekodierers gemäß der zehnten Ausführungsform der vorliegenden Erfindung zeigt.
  • 26A und 26B sind Darstellungen in Bezug auf ein Aufzeichnungsmedium zum Speichern eines Programms, um ein Bildkodierungsverfahren sowie ein Bilddekodierungsverfahren aller Ausführungsformen in einem Rechnersystem zu verwirklichen. 26A ist ein erläuterndes Diagramm, das ein Beispiel eines physikalischen Formats einer flexiblen Platte zeigt, die ein Hauptkörper eines Aufzeichnungsmediums ist.
  • 26B ist ein erläuterndes Diagramm, das ein Gesamterscheinungsbild der flexiblen Platte, eine Struktur im Querschnitt und die flexible Platte selbst zeigt. 26C ist eine Darstellung, die eine Struktur für die Aufzeichnung und Wiedergabe des Programms auf der flexiblen Platte FT zeigt.
  • 27 ist ein Blockdiagramm, das eine Gesamtstruktur eines Inhaltebereitstellungssystems zeigt, das einen Inhaltelieferdienst verwirklicht.
  • 28 ist eine Skizze, die ein Beispiel eines Zellentelephons zeigt.
  • 29 ist ein Blockdiagramm, das eine interne Struktur des Zellentelephons zeigt.
  • 30 ist ein Blockdiagramm, das ein Gesamtsystem eines digitalen Rundfunksystems zeigt.
  • Beste Form zur Ausführung der Erfindung
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Diagramme und Gleichungen beschrieben.
  • (Erste Ausführungsform)
  • 1 ist ein Blockdiagramm, das eine Struktur einer Ausführungsform einer Bildkodierungsvorrichtung zeigt, die ein Bildkodierungsverfahren gemäß der vorliegenden Erfindung verwendet.
  • Die Bildkodierungsvorrichtung enthält, wie in 1 gezeigt ist, Vollbildspeicher 101 und 106, eine Orthogonaltransformationseinheit 102, eine Quantisierungseinheit 103, eine Inversquantisierungseinheit 104, eine Inversorthogonaltransformationseinheit 105, eine Interbildvorhersageeinheit 107, eine Intrabildvorhersageeinheit 108, eine Koeffizientenzahlerfassungseinheit 109, eine Koeffizientenzahlspeichereinheit 110, einen Koeffizientenzahlkodierer 111, einen Koeffizientenwertkodierer 112, eine Bitstromerzeugungseinheit 113, Schalter 114 und 115, eine Differenzberechnungseinheit 116 und eine Additionsberechnungsein heit 117.
  • Der Vollbildspeicher 101 speichert bewegte Bilder, die auf bildweiser Basis in Anzeigereihenfolge eingegeben werden. Die Interbildvorhersageeinheit 107 erfasst Bewegungsvektoren, die eine Position zeigen, die als optimal im Suchbereich im Bild vorhergesagt wird, unter Verwendung von Bilddaten, die in einer Kodierungsvorrichtung als Referenzbilder rekonstruiert worden sind, um somit Vorhersagebilddaten auf der Grundlage der Bewegungsvektoren zu erzeugen. Die Differenzberechnungseinheit 116 berechnet eine Differenz zwischen den aus dem Vollbildspeicher 101 ausgelesenen Eingabebilddaten und den von der Interbildvorhersageeinheit 107 eingegebenen Vorhersagebilddaten, um somit Vorhersagerestbilddaten zu erzeugen.
  • Die Intrabildvorhersageeinheit 108 erzeugt Vorhersagebilddaten unter Verwendung der Bilddaten des kodierten Bereiches im aktuellen Bild und erzeugt Vorhersagerestbilddaten durch Berechnung der Differenz zwischen den erzeugten Vorhersagebilddaten und den Eingabebilddaten.
  • Die Orthogonaltransformationseinheit 102 führt eine orthogonale Transformation mit den eingegebenen Vorhersagerestbilddaten durch. Die Quantisierungseinheit 103 führt eine Quantisierung mit dem orthogonal transformierten Daten durch und erzeugt Koeffizienten, die Raumfrequenzkomponenten zeigen, was eine Aufgabe für die Kodierung variabler Länge ist. Die Inversquantisierungseinheit 104 führt eine inverse Quantisierung für die in der obenerwähnten Verarbeitung erzeugten Koeffizienten durch. Die Inversorthogonaltransformationseinheit 105 führt eine inverse orthogonale Transformation mit den invers quantisierten Daten durch und erzeugt rekonstruierte Vorhersagerestbilddaten. Die Additionsberechnungseinheit 117 addiert die rekonstruierten Restbilddaten, die von der Inversorthogonaltransformationseinheit 105 eingegeben werden, und die von der Intervorhersageeinheit 107 eingegebenen Vorhersagebilddaten, und erzeugt rekonstruierte Bilddaten. Der Vollbildspeicher 106 speichert die erzeugten rekonstruierten Bilddaten.
  • Die Koeffizientenzahlerfassungseinheit 109 erfasst die Anzahl der Koeffizienten ungleich 0 (im Folgenden einfach als Anzahl von Koeffizienten bezeichnet) aus jedem Block durch Untersuchen des Wertes des erzeugten Koeffizienten. Die Koeffizientenzahlspeichereinheit 110 speichert die Anzahlen der Koeffizienten, die von der Koeffizientenzahlerfassungseinheit 109 erfasst worden sind. Der Koeffizientenzahlkodierer 111 nimmt auf die Werte der Koeffizienten im Block Bezug, die bereits kodiert und in der Koeffizientenzahlspeichereinheit 110 gespeichert worden sind, und führt eine Kodierung für die Anzahlen der Koeffizienten unter Verwendung eines später erwähnten Verfahrens durch. Der Koeffizientenwertkodierer 112 führt eine Kodierung mit variabler Länge für die Werte der Koeffizienten selbst mit Bezug auf VLC-Tabellen durch, die für die Kodierung variabler Länge notwendig sind, indem zwischen diesen unter Verwendung der Anzahlen der Koeffizienten, die von der Koeffizientenzahlerfassungseinheit 109 erfasst worden sind, umgeschaltet wird. Die Bitstromerzeugungseinheit 113 erzeugt einen Bitstrom durch Addieren anderer Informationen über die Bewegungsvektoren oder dergleichen, die von der Interbildvorhersageeinheit 107 eingegeben worden sind, zu den Anzahlen der Koeffizienten und den Werten der Koeffizienten, die kodiert worden sind.
  • Es folgt eine Erläuterung bezüglich einer Operation einer Bildkodierungsvorrichtung, die wie oben beschrieben aufgebaut ist.
  • Die bewegten Bilder, die das Ziel der Kodierung sind, werden auf bildweiser Basis in Anzeigereihenfolge in den Vollbildspeicher 101 eingegeben und anschließend in der Reihenfolge der Kodierung umgeordnet. Jedes Bild wird in einen Block von z. B. 16 (horizontal)×16 (vertikal) Pixel, als Makroblock bezeichnet, unterteilt, wobei die anschließende Verarbeitung unter Verwendung der Einheit eines Makroblocks durchgeführt wird. 2A ist ein Musterdiagramm, das eine Skizze einer Verarbeitungsreihenfolge von Makroblöcken in jedem Bild zeigt, während 2B ein Musterdiagramm ist, das Makroblöcke zeigt, zu denen die kodierten Blöcke gehören, die als Referenz verwendet werden, um die Anzahlen der Koeffizienten im aktuellen Block zu kodieren. Die 2B zeigt einen Fall, bei dem ein Makroblock MP13 der aktuelle Makroblock ist.
  • Die Kodierung der Makroblöcke in jedem Bild beginnt oben links und rückt einzeln nach rechts vor, wie in 2A gezeigt ist, geht einen Schritt nach unten, wenn die rechte Kante erreicht ist, und beginnt wieder von links nach rechts. Der Makroblock, der aus dem Vollbildspeicher 101 ausgelesen wird, wird zuerst in die Interbildvorhersageeinheit 107 eingegeben, wenn ein zu kodierender aktuellen Makroblock unter Verwendung der Interbildvorhersage kodiert werden soll. Die Interbildvorhersageeinheit 107 verwendet rekonstruierte Bilddaten der im Vollbildspeicher 106 gespeicherten kodierten Bilder als Referenzbilder zur Erfassung von Bewegungsvektoren in jedem Block [d. h. 4 (horizontal)×4 (vertikal) Pixel], der ein weiter unterteilter Makroblock ist. Die Interbildvorhersageeinheit 107 gibt Vorhersagebilddaten, die mittels der erfassten Bewegungsvektoren erzeugt worden sind, an die Differenzberechnungseinheit 116 aus. Die Differenzberechnungseinheit 116 erzeugt Vorhersagerestbilddaten durch Messen der Differenz zwischen den Vorhersagebilddaten und den Eingabebilddaten des aktuellen Makroblocks.
  • Im Gegensatz hierzu wird für die Kodierung des Zielmakroblocks mittels der Intrabildvorhersage der Makroblock, der aus dem Vollbildspeicher 101 ausgelesen wird, zuerst in die Intrabildvorhersageeinheit 108 eingegeben. Die Intrabildvorhersageeinheit 108 führt eine Intrabildvorhersage unter Verwendung der Informationen über die umgebenden Blöcke durch und erzeugt Vorhersagerestbilddaten.
  • Die so erzeugten Vorhersagerestbilddaten durchlaufen die Verarbeitung der orthogonalen Transformation in der Orthogonaltransformationseinheit 102, die Verarbeitung einer Quantisierung in der Quantisierungseinheit 103 für jeden Block, und werden anschließend im Koeffizienten transformiert, für die die Kodierung variabler Länge durchgeführt wird. Diese Koeffizienten werden in die Koeffizientenzahlerfassungseinheit 109, in den Koeffizientenwertkodierer 112 und die Inversquantisierungseinheit 104 eingegeben.
  • Die Koeffizientenzahlerfassungseinheit 109 erfasst die Anzahl der Koeffizienten ungleich 0 in jedem Block. Die Anzahlen der hier erfassten Koeffizienten werden in der Koeffizientenzahlspeichereinheit 110 gespeichert. Der Koeffizientenzahlkodierer 111 nimmt auf die Werte Bezug, indem er aus der Koeffizientenspeichereinheit 110 die Anzahlen der Koeffizienten in den kodierten Blöcken ausliest und eine Kodierung für die Anzahl der Koeffizienten im aktuellen Block durchführt. Ferner führt der Koeffizientenwertkodierer 112 eine Kodierung der Werte der Koeffizienten selbst unter Verwendung der Anzahlen von Koeffizienten durch, die von der Koeffizientenzahlerfassungseinheit 109 erfasst worden sind. Schließlich erzeugt die Bitstromerzeugungseinheit 113 einen definitiven Bitstrom durch Hinzufügen der Anzahlen der Koeffizienten und der Werte der Koeffizienten, die kodiert worden sind, zusammen mit anderen Informationen auf den Bewegungsvektoren oder dergleichen zum Bitstrom.
  • Die in die Inversquantisierungseinheit 104 eingegebenen Koeffizienten durchlaufen die Verarbeitung der inversen Quantisierung in der Inversquantisierungseinheit 104, sowie die Verarbeitung der inversen orthogonalen Transformation in der Inversorthogonaltransformationseinheit 105, und werden anschließend in rekonstruierte Vorhersagerestbilddaten transformiert. Als nächstes addiert die Additionsberechnungseinheit 117 die rekonstruierten Vorhersagerestbilddaten und die Vorhersagebilddaten, die von der Interbildvorhersageeinheit 107 eingegeben worden sind, um somit rekonstruierte Bilddaten zu erzeugen, und speichert diese im Vollbildspeicher 106.
  • Somit wurde oben eine Folge der Kodierung erläutert. Bezüglich einer Verarbeitung zur Kodierung mit variabler Länge der Anzahlen der Koeffizienten, die vom Koeffizientenzahlkodierer 111 durchgeführt wird, werden Einzelheiten mit Bezug auf die 3 bis 9 sowie auf die Diagramme 1 bis 7 erläutert.
  • 3A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahlkodierers 111 genauer zeigt.
  • Hierbei ist ein Beispiel der Verwendung zweier Tabellen einer Kodetabelle und einer VLC-Tabelle, um eine Kodierung mit variabler Länge für die Anzahl der Koeffizienten durchzuführen, gezeigt. Die Kodetabelle ist eine Tabelle zum Transformieren der Anzahl der Koeffizienten in eine Kodezahl, während die VLC-Tabelle eine Tabelle zum Transformieren der mittels der Kodetabelle erhaltenen Kodezahl in einen Kode variabler Länge ist.
  • Der Koeffizientenzahlkodierer 111 enthält, wie in 3A gezeigt ist, eine Vorhersagewertberechnungseinheit 201, eine Kodetabellenspeichereinheit 202, eine Kodetabellenauswahleinheit 203, eine VLC-Tabellenauswahleinheit 204, eine VLC-Tabellenspeichereinheit 205 und einen Koeffizientenzahlkodierer 206.
  • Zuerst werden die Anzahlen der Koeffizienten der kodierten Blöcke am Rand von der in 1 gezeigten Koeffizientenanzahlspeichereinheit 110 in die Vorhersa gewertberechnungseinheit 201 eingegeben. Die Vorhersagewertberechnungseinheit 201 bestimmt den Vorhersagewert (Prädiktionswert) durch Berechnen eines Mittelwertes dieser Werte. Ein Maximalwert, ein Minimalwert oder ein Mediumwert können anstelle des Mittelwertes als Verfahren zum Bestimmen des Vorhersagewertes verwendet werden.
  • 4A ist ein Musterdiagramm, das eine Ortsbeziehung zwischen einem zu kodierenden aktuellen Block und den als Referenz zu verwendenden kodierten Blöcken zeigt. Hierbei ist ein Block X ein aktueller Block, während drei Blöcke an einer Position der Blöcke B, C und D die Referenzblöcke sind. Wenn bei den drei Blöcken an der Position der Blöcke B, C und D die Blöcke nicht kodiert sind oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, der ein in mehrere Abschnitte unterteiltes Bild ist, wird an den Referenzblöcken entsprechend dem Diagramm 1 eine Änderungen vorgenommen.
  • < Diagramm 1 >
    Figure 00120001
  • Bei den Zeichen in Diagramm 1 bezeichnet das Zeichen 0 einen kodierten Block, während das Zeichen X einen Block bezeichnet, auf den nicht Bezug genommen werden kann, da er entweder nicht kodiert ist oder außerhalb des Bildes oder außerhalb des Streifens angeordnet ist. Wenn z. B. nur auf einen Block C nicht Bezug genommen werden kann, zeigt dies, dass die Referenzblöcke die Blöcke A, B und D sind. Das Diagramm 1 zeigt eine Beziehung zwischen einer Bedingung der Referenzblöcke und den Blöcken, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn ferner keine Blöcke gefunden werden, wird entweder ein Wert 0 oder ein anderer beliebiger Wert direkt als Vorhersagewert genommen.
  • Die Kodetabellenauswahleinheit 203 wählt eine Kodetabelle für eine aktuelle Nutzung aus mehreren Kodetabellen, die in der Kodetabellenspeichereinheit 202 gespeichert sind, entsprechend einem von der Vorhersagewertberechnungseinheit 201 berechneten Vorhersagewert aus.
  • Das Diagramm 2 ist ein Beispiel einer Kodetabelle, in der die Anzahlen der Koeffizienten den im voraus mit der Kodetabellenspeichereinheit 202 vorbereiteten Kodeanzahlen entsprechen.
  • < Diagramm 2 >
    Figure 00130001
  • Gemäß diesem Beispiel weist eine Kodetabelle 1 z. B. Kodeanzahlen zu, die zu den Anzahlen der Koeffizienten identisch sind, während eine Kodetabelle 2 die Kodeanzahlen so zuweist, dass ein Wert 2 der Koeffizientenanzahl eine zentrale Rolle spielt. Vier Typen von Kodetabellen sind hier vorbereitet; die Anzahlen der Typen von Tabellen und die Werte der Tabellen sind jedoch nicht auf diejenigen beschränkt, die im Diagramm 2 verwendet werden. Auch das Diagramm 3 stellt Auswahlkriterien für Kodetabellen auf der Grundlage eines Vorhersagewertes dar.
  • < Diagramm 3 >
    Figure 00140001
  • Gemäß diesem Beispiel wählt die Kodetabellenauswahleinheit 203 eine Kodetabelle wie folgt aus: sie nimmt auf eine Kodetabelle 1 Bezug, wenn der von der Vorhersageberechnungseinheit 201 berechnete Vorhersagewert nicht größer als 2 ist, während sie auf eine Kodetabelle 2 Bezug nimmt, wenn der Vorhersagewert größer oder gleich 3 und kleiner oder gleich 5 ist. Die Art der Zuweisung von Vorhersagewerten und der Elemente der Referenztabellen ist nicht auf diejenigen beschränkt, die im Diagramm 3 verwendet werden.
  • Die VLC-Tabellenauswahleinheit 204 wählt eine VLC-Tabelle für die aktuelle Verwendung aus mehreren VLC-Tabellen, die in der VLC-Tabellenspeichereinheit 205 gespeichert sind, entsprechend dem von der Vorhersageberechnungseinheit 201 berechneten Vorhersagewert aus.
  • Das Diagramm 4 ist ein Beispiel einer VLC-Tabelle, in der Kodeanzahlen im voraus mittels der VLC-Tabellenspeichereinheit 205 entsprechend mit Kodes mit variabler Länge vorbereitet worden sind.
  • < Diagramm 4 >
    Figure 00150001
  • Gemäß diesem Beispiel wird eine VLC-Tabelle 1 im Vergleich mit einer VLC-Tabelle 4 mit der Tendenz entworfen, dass eine Bitmenge zunimmt, wenn die Kodeanzahl groß ist, und abnimmt, wenn die Kodeanzahl klein ist. Dies zeigt, dass die VLC-Tabelle 1 eine Kodierung mit variabler Länge effektiver durchführen kann, wenn eine Erscheinungswahrscheinlichkeit der Kodeanzahl sich in dem Bereich konzentriert, wo die Werte klein sind, während die VLC-Tabelle 4 effektiver arbeiten kann, wenn eine Erscheinungswahrscheinlichkeit zu dem Bereich streut, wo die Werte groß sind. Hier sind vier Typen von Tabellen vorbereitet; die Anzahl der Typen von Tabellen und die Werte der Tabellen sind jedoch nicht auf diejenigen beschränkt, die im Diagramm 4 verwendet wurden. Ferner präsentiert das Diagramm 5 die Auswahlkriterien für VLC-Tabellen auf der Grundlage eines Vorhersagewertes.
  • < Diagramm 5 >
    Figure 00150002
  • Gemäß diesem Beispiel wählt die VLC-Tabellenauswahleinheit 204 eine VLC-Tabelle wie folgt aus: sie nimmt auf eine VLC-Tabelle 1 Bezug, wenn der von der Vorhersagewertberechnungseinheit 201 berechnete Vorhersagewert nicht größer als 1 ist, während sie auf eine VLC-Tabelle 2 Bezug nimmt, wenn der Vorhersagewert größer oder gleich 2 und kleiner oder gleich 3 ist. Die Art der Zuweisung von Vorhersagewerten und der Elemente der Referenztabellen ist nicht auf diejenigen beschränkt, die im Diagramm 5 verwendet wurden.
  • Der Koeffizientenzahlkodierer 206 nimmt auf die Kodetabelle und die VLC-Tabelle Bezug, die mit der obigen Verarbeitung ausgewählt worden sind, und führt eine Kodierung mit variabler Länge für die Anzahl der Koeffizienten im eingegebenen aktuellen Block durch. Der Koeffizientenzahlkodierer 206 transformiert zuerst die Anzahl der Koeffizienten in eine Kodezahl unter Verwendung der Kodetabelle und transformiert anschließend diese entsprechend der Kodezahl unter Verwendung der VLC-Tabelle in einen Kode variabler Länge. 5 ist ein Musterdiagramm, das ein Beispiel der Kodierung zeigt, wenn der von der Vorhersageberechnungseinheit 201 berechnete Vorhersagewert "6" ist und die Anzahl der Koeffizienten im aktuellen Block "4" ist. Eine in 5 gezeigte Kodetabelle 3 wird bei der Kodetabellenauswahleinheit 203 unter Verwendung des Diagramms 3 und des Diagramms 2 entsprechend dem Vorhersagewert "6" ausgewählt, wobei ferner eine in 5 gezeigte VLC-Tabelle 3 bei der VLC-Tabellenauswahleinheit 204 unter Verwendung des Diagramms 5 und des Diagramms 4 ausgewählt wird. Der Koeffizientenzahlkodierer 206 transformiert die eingegebene Anzahl der Koeffizienten "4" in eine Kodenummer "2" entsprechend der Kodetabelle 3, und erzeugt ferner einen definitiven Bitstrom "0100" entsprechend der VLC-Tabelle 3.
  • Im Folgenden werden die Einzelheiten einer Speicherverarbeitung einer Anzahl von Koeffizienten, die von der Koeffizientenzahlspeichereinheit 110 durchgeführt wird, beschrieben. 6A ist ein Musterdiagramm, das die Referenzblöcke mit Bezug auf einen zu kodierenden aktuellen Makroblock in der Vorhersagewertberechnungseinheit 201 anzeigt. Hierbei zeigt ein schwarzer Rand, der die kodierten Blöcke B1–B16 enthält, den aktuellen Makroblock, während ein schraffierter Abschnitt die Referenzblöcke mit Bezug auf den aktuellen Makroblock zeigt. Ferner zeigen die den Blöcken zugewiesenen Zahlen die Reihenfolge der Kodierung im Makroblock.
  • Die Koeffizientenzahlspeichereinheit 110 speichert z. B. zum Zeitpunkt des Beginns der Verarbeitung des in 6A gezeigten aktuellen Makroblocks die Anzahlen der Koeffizienten, die von der Koeffizientenzahlerfassungseinheit 109 erfasst worden sind, wenigstens für die in 6A gezeigten Referenzblöcke, die für den aktuellen Makroblock nötig sind. Das heißt, die Koeffizientenzahlspeichereinheit 110 speichert die Anzahlen der Koeffizienten, die gemäß den Blöcken des aktuellen Makroblocks (B1, B2, B3, ... und B16) erfasst worden sind, welche sequenziell zu verarbeiten sind. Wenn z. B. der aktuelle Block ein Block B6 ist, speichert die Koeffizientenzahlspeichereinheit 110 die Anzahlen jedes Koeffizienten von B1, B2, B3, B4 und B5, die bereits verarbeitet worden sind, zusätzlich zu den in 6A schraffiert gezeigten Referenzblöcken. Anschließend speichert die Koeffizientenzahlspeichereinheit 110 die Anzahl der Koeffizienten dieses Blocks B6, wenn sie von der Koeffizientenzahlerfassungseinheit 109 erfasst worden ist. Somit speichert die Koeffizientenzahlspeichereinheit 110 die Anzahlen der Koeffizienten, die von den Blöcken im aktuellen Makroblock erfasst worden sind (B1, B2, B3, ... und B16), die sequenziell zu verarbeiten sind.
  • Wenn anschließend z. B. der aktuelle Makroblock ein Makroblock MB11 ist, wie in 2 gezeigt, speichert die Koeffizientenzahlspeichereinheit 110 wenigstens die Anzahlen der Koeffizienten der Blöcke in einer unteren Reihe und einer rechten Spalte (schraffierte Blöcke) des Makroblocks MB11, wie in 7A gezeigt ist, wenn die Verarbeitung des Makroblocks MB11 endet, und rückt zum nächsten Makroblock MB12 vor. Wenn die Verarbeitung des Makroblocks MB12 endet und die Verarbeitung zum nächsten Makroblock MB13 vorrückt, speichert anschließend die Koeffizientenzahlspeichereinheit 110 wenigstens die Anzahlen der Koeffizienten für die Blöcke, die in der unteren Reihe und in der rechten Spalte des Makroblocks MB12 angeordnet sind, in der gleichen Weise wie die Anzahlen der Koeffizienten der Blöcke in der unteren Reihe des Makroblocks MB11 (schraffierte Blöcke), wie in 7B gezeigt ist.
  • Wenn z. B. der aktuelle Makroblock an der rechten Kante des Bildes angeordnet ist, wie der in 2B gezeigte Makroblock MB9, speichert die Koeffizientenzahlspeichereinheit 110 wenigstens die Anzahlen der Koeffizienten der Blöcke in der unteren Reihe des Makroblocks MB9 (schraffierte Blöcke), wie in 7B gezeigt ist, wenn die Verarbeitung des Makroblocks MB9 endet, wobei die Verarbeitung zum nächsten Makroblock MB10 vorrückt.
  • Wenn der aktuelle Makroblock an der Unterkante des Bildes angeordnet ist, wie der in 2B gezeigte MBm, speichert die Koeffizientenzahlspeichereinheit 110 wenigstens die Anzahlen der Koeffizienten der Blöcke in der rechten Spalte des Makroblocks MBm, wie in 7C gezeigt ist, wenn die Verarbeitung des Makroblocks MBm endet und die Verarbeitung zum nächsten Makroblock MBn vorrückt.
  • Die Koeffizientenzahlspeichereinheit 110 speichert somit die Anzahlen der Koeffizienten für die Blöcke, auf die Bezug genommen werden soll. Es ist möglich, zu einem willkürlichen Zeitpunkt die Informationen über die Anzahl der Koeffizienten der Blöcke, die in der obigen Erläuterung nicht gespeichert werden sollen, zu löschen, wenn sie nicht länger als Referenz verwendet werden. Es ist z. B. möglich, zu löschen, wenn die Verarbeitung zum nächsten Makroblock vorrückt, sowie während der Verarbeitung des Makroblocks. Ferner erfordern die Anzahlen der Koeffizienten in den Blöcken, die nicht mehr als Referenz verwendet werden, nicht immer die Verarbeitung der Löschung. Zum Beispiel kann die Koeffizientenzahlspeichereinheit 110 die Anzahlen der Koeffizienten in den Blöcken, auf die nicht mehr Bezug genommen wird, als unnötig identifizieren und kann diese bei Bedarf überschreiben.
  • Oben ist erläutert worden, dass es möglich ist, auf die Anzahlen der Koeffizienten der kodierten Blöcke Bezug zu nehmen, indem diese in der Koeffizientenzahlspeichereinheit 110 gespeichert werden. Es kann jedoch bei Bedarf ein System zum Berechnen der Anzahl der Koeffizienten verwendet werden, in dem nicht die Werte der Anzahl der Koeffizienten selbst gespeichert werden, sondern z. B. die Werte der Koeffizienten in den Blöcken, welche in Raumfrequenzkomponenten transformiert werden.
  • In der vorliegenden Ausführungsform ist es möglich, wie oben erwähnt worden ist, einen Vorhersagewert unter Verwendung der Anzahlen der Koeffizienten in den kodierten benachbarten Blöcken zu berechnen, um somit die Kodierung der Anzahl der Koeffizienten effizient durchzuführen, selbst für die Bilder, deren Erscheinungswahrscheinlichkeit der Koeffizienten nicht gleichmäßig ist, indem entsprechend dem Vorhersagewert adaptiv auf die Kodetabelle und die VLC-Tabelle Bezug genommen wird.
  • Wie oben beschrieben worden ist, kann dies ferner einer Schwankung einer Position entsprechen, wo die Erscheinungswahrscheinlichkeit der Anzahl der Koeffizienten mit Bezug auf die Kodetabelle am höchsten ist, indem diese entsprechend dem Vorhersagewert umgeschaltet wird. Dies kann ferner der Größe der Verteilung der Erscheinungswahrscheinlichkeit der Anzahl der Koeffizienten entsprechen, indem die VLC-Tabellen für den Bezug entsprechend dem Vorhersagewert umgeschaltet werden. Folglich ist es möglich, eine effektive Kodierung der Anzahl der Koeffizienten durchzuführen.
  • Es ist ferner möglich, bei der Vorhersagewertberechnungseinheit 201 nur zwei Blöcke, die an der Position der Blöcke B und D angeordnet sind, für einen zu kodierenden aktuellen Block X, wie in 4B gezeigt, zu verwenden, anstelle der Verwendung von drei benachbarten Blöcken als Referenzblöcke, wie in 4A gezeigt ist. Bezüglich der Referenzblöcke, wie im Diagramm 5 gezeigt, wird eine Änderung vorgenommen, falls einer von zwei Blöcken an der Position der Blöcke B und D nicht kodiert ist oder außerhalb des Bildes oder außerhalb des Streifens angeordnet ist.
  • < Diagramm 6 >
    Figure 00190001
  • Bei den Zeichen im Diagramm 6 bezeichnet das Zeichen 0 einen kodierten Block und das Zeichen X einen Block, auf den nicht Bezug genommen werden kann, da er entweder nicht kodiert ist oder außerhalb des Bildes oder außerhalb des Streifens angeordnet ist, wie in Diagramm 1. Das Diagramm 6 zeigt eine Beziehung zwischen den Bedingungen der Referenzblöcke und den Blöcken, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, kann entweder ein Wert 0 oder ein anderer willkürlicher Wert direkt als Vorhersagewert genommen werden. In diesem Fall braucht die Koeffizientenzahlspeichereinheit 110 nur die Anzahlen der Koeffizienten, die bei der Koeffizientenzahlerfassungseinheit 109 erfasst worden sind, wenigstens für die in 6B gezeigten Referenzblöcke speichern, die für den aktuellen Makroblock notwendig sind.
  • Es ist ferner möglich, als Verfahren zum Berechnen eines Vorhersagewertes in der Vorhersagewertberechnungseinheit 201 z. B. ein optimales Verfahren gemäß einer jeden Sequenz, einer jeden GOP, eines jeden Bildes oder eines jeden Streifens auszuwählen, statt das Verfahren auf die Verwendung entweder eines Mittelwertes, eines Maximalwertes, eines Minimalwertes oder eines Mediumwertes zu fixieren. Der Kode für die Identifizierung des Berechnungsverfahrens, das dann ausgewählt wird, wird einem Kopfabschnitt der Sequenz, der GOP, des Bildes oder des Streifens hinzugefügt. Der Streifen ist ein Bild, das in mehrere Sektionen unterteilt ist. Eine Sektion einer Spalte in einer Querrichtung, die auf einer Makroblock-zu-Makroblock-Basis unterteilt ist, ist ein Beispiel hierfür.
  • Ferner ist es möglich, z. B. entweder einen Mittelwert, einen Maximalwert, einen Minimalwert oder einen Mediumwert gemäß dem Mittelwert der Anzahl der Koeffizienten in den kodierten Referenzblöcken auszuwählen. Das Diagramm 7 zeigt diese Auswahlkriterien.
  • < Diagramm 7 >
    Figure 00200001
  • Gemäß diesem Beispiel wird ein Minimalwert der Anzahlen der Koeffizienten von mehr als einem Referenzblock als ein Vorhersagewert angewendet, wenn z. B. ein Mittelwert kleiner oder gleich 4 ist, und ein Mittelwert als Vorhersagewert angewendet, wenn der Mittelwert größer oder gleich 5 und kleiner oder gleich 8 ist. Die positiven Effekte der Verbesserung der Kodierungseffizienz können in beiden Fällen erhalten werden: durch Auswählen eines Maximalwertes, da eine Wahrscheinlichkeit, das eine größere Anzahl von Koeffizienten erscheint, in den Blöcken höher wird, in denen der Quantisierungsschritt klein ist und die Bewegungen kompliziert sind; und durch Auswählen eines Minimalwertes, da eine Wahrscheinlichkeit, dass eine kleinere Anzahl von Koeffizienten erscheint, in den Blö cken höher wird, in denen der Quantisierungsschritt in umgekehrter Weise groß ist und die Bewegung einfach ist. Die Art der Zuweisung des Mittelwertes oder der Elemente, die als Vorhersagewertberechnungsverfahren angegeben sind, ist nicht auf diejenigen beschränkt, die im Diagramm 7 angegeben sind.
  • Der Koeffizientenzahlkodierer 111 in der vorliegenden Ausführungsform führt eine Kodierung mit variabler Länger für den Wert der Anzahl der Koeffizienten selbst durch. Die Differenzberechnungseinheit 207 kann jedoch einen Differenzwert zwischen dem in der Vorhersagewertberechnungseinheit 201 berechneten Vorhersagewert und dem Wert der Anzahl der Koeffizienten, der eingegeben worden ist, berechnen, um somit eine Kodierung für den gewonnenen Wert mit der gleichen Verarbeitung durchzuführen, wie in der obigen Ausführungsform beschrieben worden ist. Die positiven Wirkungen können für die Verbesserung der Kodierungseffizienz für ein Bild erhalten werden, in welchem eine Änderung der Anzahl der Koeffizienten unter den umgebenden Blöcken kleiner wird, wenn Änderungen in der Helligkeit und im Farbwert über den Bildschirm monoton sind.
  • Ferner führt der Koeffizientenzahlkodierer 111 eine Kodierung durch, durch Umschalten sowohl der Kodetabelle als auch der VLC-Tabelle entsprechend dem Vorhersagewert auf der Grundlage der Anzahl der Koeffizienten in den benachbarten Blöcken; diese Tabellen brauchen jedoch nicht umgeschaltet werden, sondern können fixiert sein. Dies kann verwirklicht werden, indem nur eine Speichereinheit verwendet wird, die entweder einen bestimmten Typ von Kodetabellen oder einen bestimmten Typ von VLC-Tabellen aufweist, anstatt Tabellenauswahleinheiten zu verwenden. 8A ist ein Blockdiagramm, das eine Struktur des Koeffizientenzahlkodierers 111 für die Durchführung einer Kodierung variabler Länger der Anzahl der Koeffizienten durch Fixieren nur einer Kodetabelle zeigt. Ferner ist 8B ein Blockdiagramm, das eine Struktur des Koeffizientenzahlkodierers 111 zum Durchführen einer Kodierung variabler Länge der Anzahl der Koeffizienten durch Fixieren nur einer VLC-Tabelle zeigt. Im Fall der Fixierung nur einer Kodetabelle enthält der Koeffizientenzahlkodierer 111, wie in 8A gezeigt ist, eine Kodetabellenspeichereinheit 301 anstelle der Kodetabellenspeichereinheit 202 und der Kodetabellenauswahleinheit 203, wie in 3A gezeigt ist. Die Kodetabellenspeichereinheit 301 weist einen Typ von Kodetabelle auf. Anschließend transformiert der Koeffizientenzahlkodierer 206 zuerst die Anzahl der Koeffizienten in eine Kodezahl unter Verwendung einer in der Kodeta bellenspeichereinheit 301 gespeicherten Kodetabelle, und transformiert anschließend die Kodezahl in einem Kode variabler Länger unter Verwendung einer VLC-Tabelle, die von der VLC-Tabellenauswahleinheit 204 ausgewählt worden ist.
  • Andererseits enthält der Koeffizientenzahlkodierer 111, wie in 8B gezeigt ist, eine VLC-Tabellenspeichereinheit 302 anstelle der VLC-Tabellenspeichereinheit 205 und der VLC-Tabellenauswahleinheit 204, die in 3A gezeigt sind. Die VLC-Tabellenspeichereinheit 302 weist einen Typ von VLC-Tabelle auf. Anschließend transformiert der Koeffizientenzahlkodierer 206 zuerst die Anzahl der Koeffizienten in eine Kodezahl unter Verwendung der von der Kodetabellenauswahleinheit 203 ausgewählten Kodetabelle, transformiert anschließend die Kodezahl unter Verwendung der in der VLC-Tabellenspeichereinheit 302 gespeicherten VLC-Tabelle in einen Kode mit variabler Länge.
  • Durch Fixieren entweder der Kodetabelle oder der VLC-Tabelle, statt zwischen diesen umzuschalten, kann somit der Durchsatz für das Umschalten der Tabellen reduziert werden, oder es kann eine Speichergröße zum Speichern mehrerer Tabellen reduziert werden, wenngleich die Effekte der Kodierungseffizienz mehr oder weniger abnehmen.
  • Ferner kann der Koeffizientenzahlkodierer 111 eine Kodierung variabler Länge durchführen, indem er nur die VLC-Tabellen gemäß dem Vorhersagewert auf der Grundlage der Anzahlen der Koeffizienten in den benachbarten Blöcken umschaltet, ohne Kodetabellen zu verwenden. 8C ist ein Blockdiagramm, das eine Struktur des Koeffizientenzahlkodierers 111 für die Durchführung der Kodierung mit variabler Länge der Anzahl der Koeffizienten unter Verwendung nur der VLC-Tabellen ohne Kodetabellen zeigt. In diesem Fall, wie in 8C gezeigt ist, enthält der Koeffizientenzahlkodierer 111 weder die Kodetabellenspeichereinheit 202 noch die Kodetabellenauswahleinheit 203. Der Koeffizientenzahlkodierer 111 wählt eine VLC-Tabelle für die aktuelle Verwendung aus mehreren VLC-Tabellen aus, die in der VLC-Tabellenspeichereinheit 304 gespeichert sind. Anschließend transformiert der Koeffizientenzahlkodierer 206 direkt die Anzahl der Koeffizienten in den Kode variabler Länge, ohne sie in die Kodezahl zu transformieren, wie oben gezeigt ist. Auf diese Weise wird in den Beispielen der VLC-Tabellen, die im Diagramm 4 gezeigt sind, der als Kodezahlen gezeigte Teil durch Werte der Anzahl der Koeffizienten ersetzt.
  • Ferner kann der Fall, bei dem der Koeffizientenzahlkodierer 111 eine Kodierung variabler Länge unter Verwendung eines Differenzwertes zwischen einem Vorhersagewert und einem Wert der Anzahl der Koeffizienten anstelle eines Wertes der Anzahl der Koeffizienten durchführt, in der gleichen Weise behandelt werden. 9 ist ein Blockdiagramm, das als Beispiel hierfür eine Struktur des Koeffizientenzahlkodierers 111 zum Durchführen einer Kodierung variabler Länge für einen Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten durch Fixieren sowohl einer Kodetabelle als auch einer VLC-Tabelle zeigt. In diesem Fall enthält der Koeffizientenzahlkodierer 111, wie in 9 gezeigt ist, eine Kodetabellenspeichereinheit 301 anstelle der Kodetabellenspeichereinheit 202 und der Kodetabellenauswahleinheit 203, die in 3A gezeigt sind, sowie eine VLC-Tabellenspeichereinheit 302 anstelle der VLC-Tabellenspeichereinheit 205 und der VLC-Tabellenauswahleinheit 204. Die Kodetabellenspeichereinheit 301 weist einen Typ von Kodetabellen auf, während die VLC-Tabellenspeichereinheit 302 einen Typ von VLC-Tabellen aufweist. Anschließend transformiert der Koeffizientenzahlkodierer 206 zuerst den Differenzwert zwischen der Anzahl der Koeffizienten und dem Vorhersagewert in eine Kodezahl unter Verwendung der in der Kodetabellenspeichereinheit 301 gespeicherten Kodetabelle, und transformiert anschließend die Kodezahl in einen Kode variabler Länge unter Verwendung der in der VLC-Tabellenspeichereinheit 302 gespeicherten VLC-Tabelle.
  • (Zweite Ausführungsform)
  • Die Struktur der Bildkodierungsvorrichtung und der Umriss der Kodeverarbeitung gemäß der vorliegenden Ausführungsform sind vollkommen identisch zu denjenigen, die in der ersten Ausführungsform beschrieben worden sind, mit Ausnahme des in 1 gezeigten Koeffizientenzahlkodierers 111. Die Einzelheiten bezüglich der Verarbeitung der Kodierung variabler Länge der Anzahl der Koeffizienten, die vom Koeffizientenzahlkodierer 111 in der zweiten Ausführungsform durchgeführt wird, werden im Folgenden unter Verwendung der 10 und 11 erläutert.
  • 10A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahlkodierers 111 genauer zeigt.
  • Wie in 10A gezeigt ist, enthält der Koeffizientenzahlkodierer 111 eine Kodetabellenerzeugungseinheit 701 anstelle der Kodetabellenspeichereinheit 202 und der Kodetabellenauswahleinheit 203, die in 3A gezeigt sind. Die Anzahlen der Koeffizienten in den kodierten Blöcken werden von der Koeffizientenzahlspeichereinheit 110 in die Kodetabellenerzeugungseinheit 701 eingegeben. Die Kodetabellenerzeugungseinheit 701 zählt die Anzahl der kodierten Blöcke, die die gleiche Anzahl von Koeffizienten wie der Wert der Anzahl der Koeffizienten bei jedem der Werte aufweisen, und erzeugt Kodetabellen durch Zuweisen von Kodezahlen in absteigender Reihenfolge beginnend mit einer Koeffizientenzahl, die auf der Grundlage der Statistik mit der größten Häufigkeit aufgezeichnet worden ist. 11A ist ein Musterdiagramm, das eine Position der kodierten Blöcke präsentiert, die für die Statistik genutzt werden. Hierbei sind P1, P3 und P4 Bilder, in denen die Interbildvorhersagekodierung durchgeführt wird, während I2 ein Bild ist, in welchem eine Intrabildvorhersagekodierung durchgeführt wird. Unter der Annahme, dass ein aktueller Block zu P3 gehört, werden für die Statistik alle Blöcke genommen, die unter Verwendung des gleichen Verfahrens kodiert sind, das für den aktuellen Block verwendet worden ist, der in P1 enthalten ist, was ein unmittelbar dem aktuellen Bild vorangehendes Bild ist. Der Fall, in dem die Blockäquivalente eines Bildes einschließlich der kodierten Blöcke im aktuellen Bild für die Statistik verwendet werden, wie in 11B, kann in der gleichen Weise behandelt werden. Ferner sollte eine Tabelle für die Anfangsbedingung in aufsteigender Reihenfolge beginnend bei der Zahl 0 als Kodetabelle verwendet werden, wenn die kodierten Blöcke äquivalent zu einem Bild, die für die Statistik verwendet werden können, nicht existieren. Hierbei werden die Blöcke äquivalent zu einem Bild für die Statistik verwendet, jedoch kann der Fall, in dem eine andere Anzahl von Blöcken als diese als Parameter verwendet wird, in der gleichen Weise behandelt werden. Im Fall der Anwendung eines Referenzverfahrens, wie in 11A gezeigt ist, um somit eine Kodetabelle zu erzeugen, kann die Tabelle nur einmal erzeugt werden, wenn die Kodierung des aktuellen Bildes gestartet wird.
  • Indessen werden die Anzahlen der Koeffizienten in den kodierten Blöcken, die sich am Rand befinden, in die Vorhersagewertberechnungseinheit 201 eingege ben. Die Vorhersagewertberechnungseinheit 201 ermittelt den Vorhersagewert durch Berechnen eines Mittelwertes auf der Grundlage dieser Werte, wie in der ersten Ausführungsform beschrieben worden ist. Anstelle des Mittelwertes können ein Maximalwert, ein Minimalwert oder ein Mediumwert als Verfahren zum Ermitteln des Vorhersagewertes verwendet werden. Die kodierten Blöcke, die anschließend als Referenz verwendet werden, werden gemäß dem Diagramm 1 unter Verwendung dreier Blöcke an der Position der Blöcke B, C und D für den in 4A in der ersten Ausführungsform gezeigten aktuellen Block X bestimmt. Das Diagramm 1 zeigt eine Beziehung zwischen den Bedingungen der Referenzblöcke und der Blöcke, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, wird entweder ein Wert 0 oder ein anderer beliebiger Wert direkt als Vorhersagewert genommen.
  • Der von der Vorhersagewertberechnungseinheit 201 berechnete Vorhersagewert wird nur bei der VLC-Tabellenauswahleinheit 204 verwendet. Die VLC-Tabellenauswahleinheit 204 wählt wie in der ersten Ausführungsform entsprechend diesem Vorhersagewert eine VLC-Tabelle für die Kodierung der Anzahl der Koeffizienten aus mehreren VLC-Tabellen, die in der VLC-Tabellenspeichereinheit 205 im voraus wie im Diagramm 4 gezeigt vorbereitet worden sind, entsprechend den im Diagramm 5 gezeigten Auswahlkriterien aus.
  • Der Koeffizientenzahlkodierer 206 nimmt auf die Kodetabelle Bezug, die von der Kodetabellenerzeugungseinheit 701 erzeugt worden ist, sowie auf die VLC-Tabelle, die von der VLC-Tabellenauswahleinheit 204 ausgewählt worden ist, und führt anschließend eine Kodierung variabler Länge der Anzahl der Koeffizienten im aktuellen Block durch, der für die Kodierung verwendet wird und der in der gleichen Weise wie in der ersten Ausführungsform beschrieben eingegeben wird.
  • In der vorliegenden Ausführungsform wird somit eine Kodetabelle erzeugt, indem Statistiken über die Anzahlen der Koeffizienten in den kodierten Blöcken genommen werden, wobei ferner eine VLC-Tabelle entsprechend dem Vorhersagewert bestimmt wird, der aus der Anzahl der Koeffizienten in den kodierten Blöcken berechnet worden ist, und indem auf beide Tabellen Bezug genommen wird, wobei es möglich ist, eine Kodierung der Anzahl der Koeffizienten selbst für ein Bild effizient durchzuführen, dessen Erscheinungshäufigkeit der Koeffizienten ungleichmäßig ist.
  • Wie bei der ersten Ausführungsform ist es ferner möglich, die für die Referenz bei der Vorhersagewertberechnungseinheit 201 verwendeten kodierten Blöcke für den in 4B gezeigten aktuellen Block X wie in der ersten Ausführungsform gemäß dem Diagramm 6 unter Verwendung von nur zwei Blöcken zu bestimmen, die an der Position der Blöcke B und D angeordnet sind, statt drei benachbarte Blöcke zu verwenden, wie in 4A gezeigt ist. Das Diagramm 6 zeigt eine Beziehung zwischen den Bedingungen der Referenzblöcke und den Blöcken, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, wird entweder ein Wert 0 oder ein anderer willkürlicher Wert direkt als Vorhersagewert genommen.
  • Wie in der ersten Ausführungsform ist es ferner möglich, z. B. entweder einen Mittelwert, einen Maximalwert, einen Minimalwert oder einen Mediumwert, entsprechend einem Mittelwert der Anzahlen der Koeffizienten in den kodierten Referenzblöcken, als Verfahren zum Berechnen eines Vorhersagewertes in der Vorhersagewertberechnungseinheit 201 auszuwählen, wie in der ersten Ausführungsform. Das Diagramm 7 zeigt die Auswahlkriterien, jedoch ist die Art der Zuweisung des Mittelwertes und der Elemente, die als Vorhersagewertberechnungsverfahren angegeben sind, nicht hierauf beschränkt.
  • In der vorliegenden Ausführungsform führt der Koeffizientenzahlkodierer 111 eine Kodierung variabler Länge für den Wert der Anzahl der Koeffizienten selbst durch. Wie in der ersten Ausführungsform ist es jedoch möglich, wie in 10 gezeigt ist, dass ein Differenzwert zwischen dem von der Vorhersagewertberechnungseinheit 201 berechneten Vorhersagewert und dem eingegebenen Wert der Anzahl der Koeffizienten vom Subtrahierer 207 berechnet wird, wobei eine Kodierung variabler Länge für den gewonnenen Wert mit der gleichen Verarbeitung wie oben beschrieben durchgeführt wird.
  • Ferner führt in der vorliegenden Ausführungsform der Koeffizientenzahlkodierer 111 die Kodierung variabler Länge durch, indem er die VLC-Tabellen gemäß dem Vorhersagewert auf der Grundlage der Anzahlen der Koeffizienten in den benachbarten Blöcken umschaltet. Es ist jedoch möglich, die Tabelle zu fixieren, statt die VLC-Tabellen umzuschalten, wie in der ersten Ausführungsform. In diesem Fall wird dies verwirklicht, indem nur eine VLC-Tabellenspeichereinheit verwendet wird, die einen bestimmten Typ von VLC-Tabellen aufweist, statt die VLC-Tabellenauswahleinheit zu verwenden.
  • (Dritte Ausführungsform)
  • Die Struktur der Bildkodierungsvorrichtung und der Umriss der Kodierungsverarbeitung gemäß der vorliegenden Ausführungsform sind vollkommen identisch zu denjenigen, die in der ersten Ausführungsform beschrieben worden sind, mit Ausnahme des in 1 gezeigten Koeffizientenzahlkodierers 111. Hierbei werden bezüglich der Verarbeitung der Kodierung variabler Länge der Anzahl der Koeffizienten, die beim Koeffizientenzahlkodierer 111 in der dritten Ausführungsform durchgeführt wird, die Einzelheiten unter Verwendung der 12A und 12B sowie der Diagramme 8 und 9 erläutert.
  • 12A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahlkodierers 111 genauer zeigt.
  • Wie in 12A gezeigt ist, enthält der Koeffizientenzahlkodierer 111 nicht die in 3A gezeigte Vorhersagewertberechnungseinheit 201. Eine Kodetabellenauswahleinheit 901 und eine VLC-Tabellenauswahleinheit 902 wählen daher eine Tabelle für die aktuelle Nutzung verschieden von der ersten Ausführungsform aus durch direkte Verwendung der Anzahlen der Koeffizienten in den kodierten Blöcken ohne Verwendung eines Vorhersagewertes. Für die kodierten Blöcke, die anschließend als Referenz verwendet werden, wie in 4B gezeigt ist, werden nur zwei Blöcke an der Position des Blocks B (oben) und des Blocks D (links) für den aktuellen Block X verwendet. Wenn jedoch die oberhalb und links angeordneten Blöcke nicht kodiert sind oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, kann entweder ein Wert 0 oder ein anderer willkürlicher Wert eingesetzt werden.
  • Das Diagramm 8 zeigt ein Verfahren der Auswahl einer Kodetabelle in der Kodetabellenauswahleinheit 901.
  • < Diagramm 8 >
    Figure 00280001
  • Die Kodetabellenauswahleinheit 901 klassifiziert die entsprechende Anzahl der Koeffizienten in den oberhalb und links des aktuellen Blocks angeordneten Blöcken entsprechend dem Wert in zwei Gruppen, wie im Diagramm 8 gezeigt ist, und wählt eine Tabelle unter Verwendung einer Kombination der vier so gebildeten Tabellen aus. Zum Beispiel wird eine Kodetabelle 2 ausgewählt, wenn die Anzahl der Koeffizienten im linken Block gleich 3 ist und die Anzahl der Koeffizienten im oberen Block gleich 8 ist. Das Verfahren zum Klassifizieren der Anzahl der Koeffizienten in den oberen und linken Blöcken und die Art der Zuweisung der Kodetabellen sind nicht auf diejenigen beschränkt, die im Diagramm 8 verwendet werden.
  • Diagramm 9 zeigt ein Verfahren der Auswahl einer VLC-Tabelle bei der VLC-Tabellenauswahleinheit 902.
  • < Diagramm 9 >
    Figure 00280002
  • Die VLC-Tabellenauswahleinheit 902 wählt eine VLC-Tabelle für die aktuelle Referenz unter Verwendung des im Diagramm 9 gezeigten Auswahlverfahrens aus, wie im Fall der Kodetabellenauswahleinheit 901.
  • Der Koeffizientenzahlkodierer 206 nimmt auf die von der Kodetabellenauswahleinheit 901 ausgewählte Kodetabelle und die von der VLC-Tabellenauswahleinheit 902 ausgewählte VLC-Tabelle Bezug, um somit eine Kodierung variabler Länge für die Anzahl der Koeffizienten im aktuellen Block durchzuführen, der in der gleichen Weise wie in der ersten Ausführungsform eingegeben wird.
  • Durch Klassifizieren der Anzahlen der Koeffizienten in den kodierten Blöcken, die oberhalb und links des aktuellen Blocks angeordnet sind, in "n" Gruppen entsprechend dem Wert mit Bezug auf die Kodetabelle und die VLC-Tabelle gemäß der Kombination von N × N Möglichkeiten, die dann gebildet werden, und durch adaptives Umschalten zwischen diesen, ist es somit in der vorliegenden Ausführungsform möglich, die Kodierung der Anzahl der Koeffizienten für das Bild, dessen Erscheinungshäufigkeit der Koeffizienten ungleichmäßig ist, effizient durchzuführen.
  • In der vorliegenden Ausführungsform führt der Koeffizientenzahlkodierer 111 eine Kodierung variabler Länge für den Wert der Anzahl der Koeffizienten selbst durch. Die Differenzberechnungseinheit 207 kann jedoch einen Differenzwert zwischen dem in der Vorhersagewertberechnungseinheit 201 berechneten Vorhersagewert, wie in 12B in der ersten Ausführungsform gezeigt ist, und einem Wert der Anzahl der eingegebenen Koeffizienten berechnen, um somit eine Kodierung variabler Länge durchzuführen.
  • Ferner führt in der vorliegenden Ausführungsform der Koeffizientenzahlkodierer 111 eine Kodierung variabler Länge durch, indem er sowohl die VLC-Tabelle als auch die Kodetabelle entsprechend den Anzahlen der Koeffizienten in den benachbarten Blöcken umschaltet. Es ist jedoch möglich, eine dieser Tabellen zu fixieren, statt diese wie in der ersten Ausführungsform umzuschalten. In diesem Fall wird die Kodierung variabler Länge verwirklicht durch Verwendung einer Speichereinheit, die entweder einen bestimmten Typ von Kodetabellen oder einen bestimmten Typ von VLC-Tabellen aufweist, statt Tabellenauswahleinheiten zu verwenden. Ferner ist es auch möglich, eine Kodierung variabler Länge durchzuführen durch Umschalten nur der VLC-Tabellen gemäß den Anzahlen der Koeffizienten in den benachbarten Blöcken, ohne Kodetabellen zu verwenden, wie in der ersten Ausführungsform.
  • (Vierte Ausführungsform)
  • Die Struktur der Bildkodierungsvorrichtung und der Umriss der Kodierungsverarbeitung gemäß der vorliegenden Ausführungsform sind vollkommen identisch zu denjenigen, die in der ersten Ausführungsform beschrieben worden sind, mit Ausnahme des in 1 gezeigten Koeffizientenzahlkodierers 111. Bezüglich der Verarbeitung der Kodierung variabler Länge der Anzahl der Koeffizienten, die vom Koeffizientenzahlkodierer 111 in der vierten Ausführungsform durchgeführt wird, werden hier Einzelheiten unter Verwendung der 13 und 14 erläutert.
  • 13A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahlkodierers 111 genauer zeigt.
  • Der Koeffizientenzahlkodierer 111, wie in 13A gezeigt ist, enthält eine Tabellenauswahleinheit 1001 anstelle der Vorhersagewertberechnungseinheit 201, der Kodetabellenauswahleinheit 203 und der VLC-Tabellenauswahleinheit 204, die in 3A gezeigt sind. Die Tabellenauswahleinheit 1001 verwendet direkt die Anzahl der Koeffizienten in den kodierten Blöcken, ohne einen Vorhersagewert zu verwenden, um somit Tabellen für die aktuelle Verwendung durch Auswerten sowohl einer Kodetabelle als auch einer VLC-Tabelle zur gleichen Zeit auszuwählen, was verschieden ist von der ersten Ausführungsform. Für die kodierten Blöcke, die anschließend als Referenz verwendet werden, werden die drei Blöcke an der Position der Blöcke B, C und D für den aktuellen Block X verwendet, wie in 4A gezeigt ist. Wenn jedoch die so angeordneten Blöcke nicht kodiert sind oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, kann entweder ein Wert 0 oder ein anderer beliebiger Wert eingesetzt werden.
  • Die Tabellenauswahleinheit 1001 berechnet eine Summe aus einer Länge eines Bitstroms, der als Ergebnis der Kodierung der Anzahlen der Koeffizienten in den Referenzblöcken sowohl unter Verwendung der Kodetabelle als auch der VLC-Tabelle gleichzeitig erzeugt wird, und bestimmt diesen als Beurteilungswert. 14 ist ein Musterdiagramm, das ein Verfahren zum Durchführen einer Kodierung für die Anzahlen der Koeffizienten in den drei Referenzblöcken unter Verwendung der Kodetabellen und der VLC-Tabellen und der Berechnung der Summe der Länge des gewonnenen Bitstroms, um diesen somit als Schätzwert zu bestimmen, zeigt. Anschließend führt die Tabellenauswahleinheit 1001 diese Verarbeitung für alle Kombinationen der Kodetabellen und der VLC-Tabellen, die in der Kodetabellenspeichereinheit 202 sowie in der VLC-Tabellenspeichereinheit 205 gespeichert sind, durch und wählt eine Kombination aus einer Kodetabelle und einer VLC-Tabelle aus, in der der gewonnene Beurteilungswert am kleinsten ist.
  • Der Koeffizientenzahlkodierer 206 nimmt auf die Kodetabelle und die VLC-Tabelle Bezug, die von der Tabellenauswahleinheit 1001 ausgewählt worden sind, und führt eine Kodierung variabler Länge der Anzahl der Koeffizienten im aktuellen Block durch, der in der gleichen Weise eingegeben wird, wie in der ersten Ausführungsform beschrieben worden ist.
  • In der vorliegenden Ausführungsform, wie oben beschrieben worden ist, ist es möglich, eine Kodierung für die Anzahlen der Koeffizienten in den benachbarten Blöcken durchzuführen, die unter Verwendung der Kodetabelle und der VLC-Tabelle kodiert worden sind, und die Summe der Länge des Bitstroms zu diesem Zeitpunkt als einen Schätzwert zu bestimmen, um somit die Kodierung der Anzahl der Koeffizienten selbst für das Bild, dessen Erscheinungshäufigkeit der Koeffizienten ungleichmäßig ist, effizient durchzuführen.
  • Für die kodierten Blöcke, die anschließend als Referenz verwendet werden, kann der Fall, in dem nur zwei Blöcke an der Position der Blöcke B und D verwendet werden, statt drei Blöcke an der Position der Blöcke B, C und D für den aktuellen Block X zu verwenden, wie in 4A gezeigt ist, in der gleichen Weise behandelt werden. Wenn diesbezüglich die Blöcke, die oberhalb und links angeordnet sind, nicht kodiert sind oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, kann entweder ein Wert 0 oder anderer beliebiger Wert eingesetzt werden.
  • In der vorliegenden Ausführungsform führt der Koeffizientenzahlkodierer 111 eine Kodierung variabler Länge für den Wert der Anzahl der Koeffizienten selbst durch. Wie in der ersten Ausführungsform ist es jedoch möglich, wie in 13 gezeigt ist, dass ein Differenzwert zwischen dem von der Vorhersagewertberechnungseinheit 201 berechneten Vorhersagewert und dem eingegebenen Wert der Anzahl der Koeffizienten von der Differenzwertberechnungseinheit 207 berechnet wird und eine Kodierung variabler Länge für den gewonnenen Wert mit der gleichen Verarbeitung durchgeführt wird, wie in den obenerwähnten Ausführungsformen beschrieben worden ist.
  • Auch in der vorliegenden Ausführungsform werden die Kodetabelle und die VLC-Tabelle im Koeffizientenzahlkodierer 111 umgeschaltet, jedoch ist es möglich, eine von diesen zu fixieren, statt zwischen diesen umzuschalten.
  • (Fünfte Ausführungsform)
  • 15 ist ein Blockdiagramm, das eine Struktur einer Bildkodierungsvorrichtung in der fünften Ausführungsform zeigt, die ein Bildkodierungsverfahren gemäß der vorliegenden Erfindung verwendet. Eine Sequenz der Kodierungsverarbeitung ist vollkommen identisch zur ersten Ausführungsform. Der Unterschied besteht jedoch darin, dass die vorliegende Ausführungsform nicht die Koeffizientenzahlspeichereinheit 110 verwendet, sondern einen Interbildvorhersagemodus im Fall einer Interbildvorhersagekodierung und einen Intrabildvorhersagemodus im Fall eine Intrabildvorhersagekodierung als Bezugsinformationen im Koeffizientenzahlkodierer 1201 verwendet, statt die Anzahl der Koeffizienten in den kodierten Blöcken zu verwenden, wie in der ersten Ausführungsform.
  • Bezüglich einer Erläuterung der Verarbeitung der Kodierung variabler Länge beim Koeffizientenzahlkodierer 1201, der in 15 gezeigt ist, werden hier Einzelheiten unter Verwendung der 16, des Diagramms 10 und des Diagramms 11 erläutert.
  • 16 ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahlkodierers 1201 genauer zeigt.
  • Wie in 16 gezeigt ist, enthält der Koeffizientenzahlkodierer 1201 nicht die im Diagramm 3A gezeigte Vorhersagewertberechnungseinheit 201. Ein Interbildvorhersagemodus wird von einer Interbildvorhersageeinheit 107 eingegeben, während ein Intrabildvorhersagemodus von einer Intrabildvorhersageeinheit 108 in eine Kodetabelleneinheit 1301 und eine VLC-Tabellenauswahleinheit 1302 eingegeben wird. Folglich wählt die Kodetabellenauswahleinheit 1301 eine Tabelle auf der Grundlage des Modus aus: den Interbildvorhersagemodus für die Interbildvorhersage und den Intrabildvorhersagemodus für die Intrabildvorhersage. Das Diagramm 10 zeigt ein Auswahlverfahren für Kodetabellen bei der Kodetabellenauswahleinheit 1301.
  • < Diagramm 10 >
    Figure 00330001
  • In dem Fall z. B., in dem das aktuelle Bild unter Verwendung der Interbildvorhersage kodiert wird, wird eine Kodetabelle 2 entsprechend für die Kodierung variabler Länge der Anzahl der Koeffizienten ausgewählt, wenn eine Vorhersage des aktuellen Blocks mit der Größe 8×8 ausgewählt wird. Die Elemente sind nicht auf diejenigen beschränkt, die im Diagramm 10 verwendet werden. Das Diagramm 11 zeigt ein Auswahlverfahren bei der VLC-Tabellenauswahleinheit 1302.
  • < Diagramm 11 >
    Figure 00330002
  • Die VLC-Tabellenauswahleinheit 1302 wählt eine VLC-Tabelle für die aktuelle Referenz unter Verwendung eines im Diagramm 11 gezeigten Auswahlverfahrens aus, wie im Fall der Kodetabellenauswahleinheit 1301.
  • Der Koeffizientenzahlkodierer 206 nimmt auf die von der Kodetabellenauswahleinheit 1301 ausgewählte Kodetabelle und eine von der VLC-Tabellenauswahleinheit 1302 ausgewählte VLC-Tabelle Bezug und führt eine Kodierung variabler Länge für die Anzahlen der Koeffizienten im aktuellen Block durch, der in der gleichen Weise wie in der ersten Ausführungsform eingegeben wird.
  • Die vorliegende Ausführungsform, wie oben gezeigt ist, weist ein Kodierungsverfahren auf, das die Kodierung der Anzahl der Koeffizienten auch für das Bild effizient verwirklicht, dessen Erscheinungshäufigkeit der Koeffizienten ungleichmäßig ist, mit Bezug auf eine Kodetabelle und eine VLC-Tabelle durch Umschalten zwischen diesen in adaptiver Weise entsprechend dem Modus: Interbildvorhersagemodus für die Interbildvorhersagekodierung und Intrabildvorhersagemodus für die Intrabildvorhersagekodierung.
  • In der vorliegenden Ausführungsform führt der Koeffizientenzahlkodierer 1201 eine Kodierung variabler Länge für den Wert der Anzahl der Koeffizienten selbst durch, wie in der ersten Ausführungsform. Es ist jedoch wie in der ersten Ausführungsform möglich, einen Vorhersagewert unter Verwendung der Anzahlen der Koeffizienten in den benachbarten Blöcken zu bestimmen, die wie in der ersten Ausführungsform kodiert worden sind, und einen Differenzwert zwischen diesem Vorhersagewert und dem eingegebenen Wert der Anzahl der Koeffizienten zu erhalten, um somit einen Kodierung variabler Länge für den gewonnenen Wert in der gleichen Verarbeitung durchzuführen, wie in den obenerwähnten Ausführungsformen.
  • Ferner führt in der vorliegenden Ausführungsform der Koeffizientenzahlkodierer 1201 eine Kodierung variabler Länge durch mittels Umschalten sowohl der Kodetabelle als auch der VLC-Tabelle. Es ist jedoch möglich, eine von diesen zu fixieren, statt eine oder beide von diesen umzuschalten. In diesem Fall wird dies verwirklicht durch Vorbereiten nur einer Speichereinheit, die einen bestimmten Typ von Kodetabellen oder einen bestimmten Typ von VLC-Tabellen aufweist, statt Tabellenauswahleinheiten zu verwenden.
  • (Sechste Ausführungsform)
  • 17 ist ein Blockdiagramm, das eine Struktur einer Ausführungsform einer Bilddekodierungsvorrichtung zeigt, die ein Bilddekodierungsverfahren gemäß der vorliegenden Erfindung verwendet. Der von der Bildkodierungsvorrichtung gemäß der ersten Ausführungsform erzeugte Bitstrom soll hier eingegeben werden.
  • Die Bilddekodierungsvorrichtung enthält eine Bitstromanalyseeinheit 1401, einen Koeffizientenzahlspeichereinheit 1402, einen Koeffizientenzahldekodierer 1403, einen Koeffizientenwertdekodierer 1404, eine Inversquantisierungseinheit 1405, eine Inversorthogonaltransformationseinheit 1406, einen Vollbildspeicher 1407, einen Interbildvorhersagedekodierer 1408, einen Intrabildvorhersagedekodierer 1409 und einen Umschalter 1410.
  • Die Bitstromanalyseeinheit 1401 extrahiert aus dem eingegebenen Bitstrom verschiedene Typen von Informationen, wie z. B. einen Kodierungsmodus, Bewegungsvektoren, die für die Kodierung verwendet worden sind, einen Bitstrom der Anzahl der Koeffizienten (die Anzahl der Koeffizienten, die eine Raumfrequenzkomponente zeigen, die einen Wert ungleich 0 für jeden Block aufweist), und verschiedene Typen von Informationen über den Bitstrom des Wertes der Koeffizienten. Die Koeffizientenzahlspeichereinheit 1402 speichert die Anzahlen der Koeffizienten der dekodierten Blöcke. Der Koeffizientenzahldekodierer 1403 dekodiert den Bitstrom der Anzahlen der Koeffizienten durch Bezugnahme auf die Anzahlen der Koeffizienten in den dekodierten Blöcken.
  • Der Koeffizientenwertdekodierer 1404 dekodiert den Bitstrom des Wertes der Koeffizienten unter Verwendung der Anzahlen der Koeffizienten, die vom Koeffizientenzahldekodierer 1403 dekodiert worden sind. Die Inversquantisierungseinheit 1405 führt eine inverse Quantisierung der dekodierten Koeffizienten durch. Die Inversorthogonaltransformationseinheit 1406 führt eine inverse orthogonale Transformation für die Daten durch, die invers quantisiert worden sind, und transformiert diese in Vorhersagerestbilddaten.
  • Der Interbildvorhersagedekodierer 1408 erzeugt Bewegungskompensationsbilddaten auf der Grundlage der Bewegungsvektoren, die von der Bitstromanalyseeinheit 1401 extrahiert worden sind, sowie der dekodierten Bilder oder dergleichen, wenn ein aktueller Makroblock, der zu dekodieren ist, mit Interbildvorhersage kodiert ist. Eine Additionsberechnungseinheit 1411 addiert die von der Inversorthogonaltransformationseinheit 1406 eingegebenen Vorhersagerestbilddaten und die vom Interbildvorhersagedekodierer 1408 eingegebenen Bewegungskompensationsbilddaten, um somit dekodierte Bilddaten zu erzeugen. Der Vollbildspeicher 1407 speichert die erzeugten dekodierten Bilddaten.
  • Der Intrabildvorhersagedekodierer 1409 führt eine Intrabildvorhersage unter Verwendung von Informationen über die benachbarten dekodierten Blöcke durch, um somit dekodierte Bilddaten zu erzeugen, wenn der aktuelle Makroblock mit Intrabildvorhersage kodiert ist.
  • Es folgt eine Erläuterung einer Operation einer Bilddekodierungsvorrichtung, die wie oben konstruiert ist.
  • Zu Beginn wird ein Bitstrom in die Bitstromanalyseeinheit 1401 eingegeben. Die Bitstromanalyseeinheit 1401 extrahiert aus dem eingegebenen Bitstrom verschiedene Typen von Informationen über Bewegungsvektoren, einen Bitstrom der Anzahl der Koeffizienten und einen Bitstrom des Wertes der Koeffizienten und dergleichen. Anschließend gibt die Bitstromanalyseeinheit 1401 jeweils Folgendes aus: die Bewegungsvektoren an die Interbildvorhersagedekodierungseinheit 1408, den Bitstrom der Anzahl der Koeffizienten an den Koeffizientenzahldekodierer 1403 und den Bitstrom des Wertes der Koeffizienten an den Koeffizientenwertdekodierer 1404.
  • Der Koeffizientenzahldekodierer 1403, in den der Bitstrom der Anzahl der Koeffizienten eingegeben wird, dekodiert diesen Bitstrom als Anzahl von Koeffizienten, die einen Wert ungleich 0 aufweisen, für jeden Block. In diesem Fall führt der Koeffizientenzahldekodierer 1403 eine Dekodierung mittels Bezugnahme auf die Anzahl der Koeffizienten in den dekodierten Blöcken, die in der Koeffizientenzahlspeichereinheit 1402 gespeichert sind, mit einem Verfahren durch, das später erläutert wird. Anschließend führt der Koeffizientenwertdekodierer 1404 die Dekodierung des Wertes der Koeffizienten selbst mit Bezug auf die Kodetabellen und die VLC-Tabellen durch, die für die Dekodierung variabler Länge erforderlich sind, indem zwischen diesen unter Verwendung der Anzahlinformation des Koeffizienten, die vom Koeffizientenzahldekodierer 1403 gewonnen worden ist, umgeschaltet wird. Der gewonnene Koeffizient wird von der Inversquantisierungseinheit 1405 sowie der Inversorthogonaltransformationseinheit 1406 in Vorhersagerestbilddaten transformiert.
  • Die von der Bitstromanalyseeinheit 1401 extrahierten Bewegungsvektoren werden in den Interbildvorhersagedekodierer 1408 eingegeben, wenn ein aktueller Makroblock, der dekodiert werden soll, mit Interbildvorhersage kodiert ist. Der Interbildvorhersagedekodierer 1408 erzeugt Bewegungskompensationsbilddaten, indem er dekodierte Bilddaten der dekodierten Bilder, die im Vollbildspeicher 1407 als Referenzbilder gespeichert sind, auf der Grundlage der Informationen über die Bewegungsvektoren aufweist. Die so gewonnenen Bewegungskompensationsbilddaten werden als dekodierte Bilddaten erzeugt, indem sie zu den Vorhersagerestbilddaten in der Additionsberechnungseinheit 1411 addiert werden und anschließend im Vollbildspeicher 1407 gespeichert werden.
  • Wenn andererseits der aktuelle Makroblock unter Verwendung der Intrabildvorhersage kodiert ist, wird eine Intrabildvorhersage unter Verwendung von Informationen über die benachbarten dekodierten Blöcke mittels des Intrabildvorhersagedekodierers 1409 durchgeführt, wobei dekodierte Bilddaten erzeugt und im Vollbildspeicher 1407 gespeichert werden. Anschließend gibt der Vollbildspeicher 1407 diese als definitives Ausgabebild in Anzeigereihenfolge aus.
  • Der Umriss eines Ablaufs der Dekodierung wurde oben erläutert. Als nächstes wird eine Dekodierungsverarbeitung der Anzahl der Koeffizienten, die vom Koeffizientenzahldekodierer 1403 durchgeführt wird, unter Verwendung der 18 bis 21 genauer erläutert.
  • 18A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahldekodierers 1403 genauer zeigt.
  • Hierbei wird ein Beispiel der Verwendung von zwei Tabellen einer VLC-Tabelle und einer Kodetabelle zur Durchführung einer Dekodierung variabler Länge der Anzahlen der Koeffizienten beschrieben. Die VLC-Tabelle ist eine Tabelle, die für die Transformation eines Kodes variabler Länge in einem Bitstrom zu einer Kodezahl verwendet wird, während die Kodetabelle für die Transformation der mittels der VLC-Tabelle gewonnenen Kodezahl zur Anzahl der Koeffizienten verwendet wird.
  • Wie in 18A gezeigt ist, enthält der Koeffizientenzahldekodierer 1403 eine Vorhersagewertberechnungseinheit 1501, eine Kodetabellenspeichereinheit 1502, einen Kodetabellenauswahleinheit 1503, eine VLC-Tabellenauswahleinheit 1504, eine VLC-Tabellenspeichereinheit 1505 und einen Koeffizientenzahldekodierer 1506.
  • Zuerst werden die Anzahlen der Koeffizienten in den dekodierten Blöcken, die am Rand angeordnet sind, von der Koeffizientenzahlspeichereinheit 1402, wie in 17 gezeigt, in die Vorhersagewertberechnungseinheit 1501 eingegeben. Die Vorhersagewertberechnungseinheit 1501 bestimmt einen Vorhersagewert durch Berechnen eines Mittelwertes dieser Werte. Entsprechend den Vorhersagewertberechnungsverfahren für die Kodierung können ein Maximalwert, ein Minimalwert oder ein Mediumwert verwendet werden. Die dekodierten Blöcke, auf die anschließend Bezug genommen wird, werden gemäß Diagramm 1 unter Verwendung dreier Blöcke an der Position der Blöcke B, C und D für den in 4A gezeigten aktuellen Block X bestimmt, wie in der ersten Ausführungsform. Bei den Zeichen im Diagramm 1 bezeichnet das Zeichen 0 einen kodierten Block, während ein Zeichen X einen Block bezeichnet, auf den nicht Bezug genommen werden kann, da er entweder nicht kodiert ist oder außerhalb des Bildes oder außerhalb des Streifens angeordnet ist. Das Diagramm 1 zeigt eine Beziehung zwischen Bedingungen der Referenzblöcke und der Blöcke, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, kann entweder ein Wert 0 oder ein anderer beliebiger Wert direkt als Vorhersagewert genommen werden.
  • Die Kodetabellenauswahleinheit 1503 wählt eine Kodetabelle für die aktuelle Verwendung aus mehreren Kodetabellen, die in der Kodetabellenspeichereinheit 1502 gespeichert sind, entsprechend dem von der Vorhersagewertberechnungseinheit 1501 berechneten Vorhersagewert aus.
  • Das Diagramm 2 ist ein Beispiel einer Kodetabelle, die auf Anzahlen von Koeffizienten und Kodezahlen beruht, die im voraus von der Kodetabellenspeichereinheit 1502 vorbereitet worden sind. Hierbei werden vier Typen von Kodetabellen vorbreitet; die Anzahlen der Typen von Tabellen und die Werte, die in den Tabellen gezeigt sind, sind jedoch nicht auf diejenigen beschränkt, die im Diagramm 2 verwendet werden. In diesem Fall jedoch sollte die gleiche Tabelle wie diejenige, die für die Kodierung verwendet worden ist, verwendet werden. Ferner zeigt das Diagramm 3 Auswahlkriterien für Kodetabellen auf der Grundlage eines Vorhersagewertes. Die Art der Zuweisung des Vorhersagewertes oder Elemente der Tabelle ist nicht auf diejenige beschränkt, die in Diagramm 3 gezeigt ist. Es sollte jedoch die gleiche Tabelle wie diejenige, die für die Kodierung verwendet wurde, verwendet werden.
  • Die VLC-Tabellenauswahleinheit 1504 wählt eine VLC-Tabelle für die aktuelle Verwendung aus mehreren VLC-Tabellen, die in der VLC-Tabellenauswahleinheit 1504 gespeichert sind, entsprechend dem von der Vorhersagewertberechnungseinheit 1501 berechneten Vorhersagewert aus.
  • Das Diagramm 4 zeigt ein Beispiel einer VLC-Tabelle, die auf die Anzahl der Koeffizienten und die Kodezahlen Bezug nimmt, die im voraus von der VLC-Tabellenspeichereinheit 1505 vorbereitet worden sind. Hierbei werden vier Typen VLC-Tabellen vorbereitet, jedoch sind die Anzahlen der Typen von Tabellen und die Werte, die in den Tabellen angegeben sind, nicht auf diejenigen beschränkt, die im Diagramm 4 verwendet werden. In diesem Fall sollte jedoch die gleiche Tabelle wie diejenige, die für die Kodierung verwendet wurde, verwendet werden. Ferner zeigt das Diagramm 5 Auswahlkriterien für VLC-Tabellen auf der Grundlage eines Vorhersagewertes. Die Art der Zuweisung des Vorhersagewertes der Elemente, die in den Referenztabellen angegeben sind, ist nicht auf diejenige beschränkt, die in Diagramm 5 verwendet wird. In diesem Fall ist es jedoch angemessen, die gleiche Tabelle wie diejenige, die für die Kodierung verwendet wurde, zu verwenden.
  • Der Koeffizientenzahldekodierer 1506 nimmt auf die Kodetabelle sowie die VLC-Tabelle Bezug, die in der obigen Verarbeitung ausgewählt worden sind, und führt eine Dekodierung variabler Länge für einen Bitstrom der Anzahl der Koeffizienten im eingegebenen aktuellen Block durch. Der Koeffizientenzahldekodierer 1506 transformiert zuerst die Anzahl der Koeffizienten in eine Kodezahl unter Verwendung VLC-Tabelle und transformiert anschließend diese in einen Wert der Anzahl der Koeffizienten, die der Kodezahl entspricht, unter Verwendung der Kodetabelle. 19 ist ein Musterdiagramm, das ein Beispiel der Dekodierung zeigt, wenn ein in der Vorhersagewertberechnungseinheit 1501 berechneter Vorhersagewert gleich "6" ist und ein Bitstrom der Anzahl der Koeffizienten im aktuellen Block gleich "0100" ist. Wenn der Vorhersagewert gleich "6" ist, wählt die Kodetabellenauswahleinheit 1503 unter Verwendung des Diagramms 3 und des Diagramms 2 eine in 19 gezeigte Kodetabelle 3 aus, während die VLC-Tabellenauswahleinheit 1504 unter Verwendung des Diagramms 5 und des Diagramms 4 eine in 19 gezeigte VLC-Tabelle 3 auswählt. Der Koeffizientenzahldekodierer 1506 transformiert den eingegebenen Bitstrom "0100" gemäß der VLC-Tabelle 3 in eine Kodezahl "2" und bestimmt anschließend die definitive Zahl der Koeffizienten "4" gemäß der Kodetabelle 3.
  • Im Folgenden werden Einzelheiten der Speicherungsverarbeitung der Anzahl der Koeffizienten, die von der Koeffizientenzahlspeichereinheit 1402 durchgeführt wird, genauer erläutert. Hierbei wird die 6A verwendet, die für die Beschreibung der ersten Ausführungsform verwendet worden ist, jedoch zeigt eine schwarze Grenze, die die kodierten Blöcke B1–B16 enthält, einen zu kodierenden aktuellen Makroblock, während die schraffierten Blöcke Referenzblöcke für den aktuellen Makroblock zeigen. Die für die Blöcke gesetzten Zahlen zeigen eine Reihenfolge der Dekodierung an, die innerhalb des Makroblocks durchgeführt wird.
  • Die Koeffizientenzahlspeichereinheit 1402 speichert die Anzahlen der Koeffizienten, die vom Koeffizientenzahldekodierer 1403 dekodiert worden sind, wenigstens für die Referenzblöcke, die schraffiert sind, wie in 6A gezeigt ist, und für den aktuellen Makroblock zum Zeitpunkt des Beginns der Verarbeitung des in 6A gezeigten aktuellen Makroblocks notwendig sind. Das heißt, die Koeffizientenzahlspeichereinheit 1402 speichert die Anzahl der Koeffizienten, die aus den Blöcken des aktuellen Makroblocks (B1, B2, B3 ... und B16), die sequenziell zu verarbeiten sind, erfasst worden sind. Wenn z. B. ein Block B6 ein aktueller Block ist, speichert die Koeffizientenzahlspeichereinheit 1402 die Anzahlen jedes Koeffizienten der Blöcke B1, B2, B3, B4 und B5, die bereits verarbeitet worden sind, zusätzlich zu denjenigen der Referenzblöcke, wie in 6A gezeigt ist. Wenn der Koeffizientenzahldekodierer 1403 die Anzahl der Koeffizienten des Blocks B6 dekodiert, speichert die Koeffizientenzahlspeichereinheit 1402 diese. Die Koeffizientenzahlspeichereinheit 1402 speichert somit die Anzahlen der Koeffizienten der Blöcke im aktuellen Makroblock, die sequenziell zu verarbeiten sind.
  • Wenn ein aktueller Makroblock ein Makroblock MB11 ist, wie in 2B gezeigt ist, speichert die Koeffizientenzahlspeichereinheit 1402 wenigstens die Anzahlen der Koeffizienten der Blöcke in der unteren Reihe und in der rechten Spalte des Makroblocks MB11 (schraffierte Blöcke) in 7A, wenn die Verarbeitung dieses Makroblocks MB11 endet und zum nächsten Makroblock MB12 vorrückt. Als nächstes speichert die Koeffizientenzahlspeichereinheit 1402 wenigstens die Anzahlen der Koeffizienten der Blöcke in der unteren Reihe und in der rechten Spalte des Makroblocks MB12 in der gleichen Weise wie die Anzahlen der Koeffizienten der Blöcke in der unteren Reihe des Makroblocks MB11 (schraffierte Blöcke), wie in 7B gezeigt ist, wenn die Verarbeitung des Makroblocks MB12 endet und die Verarbeitung zum nächsten Makroblock MB13 vorrückt.
  • Wenn ein aktueller Makroblock an der rechte Kante des Bildes angeordnet ist, wie in einem in 2B gezeigten Makroblock MB9, speichert die Koeffizientenzahlspeichereinheit 1402 wenigstens die Anzahlen der Koeffizienten der Blöcke in der unteren Reihe des Makroblocks MB9, wenn die Verarbeitung dieses Makroblocks MB9 endet und zum nächsten Makroblock MB10 vorrückt.
  • Wenn ein aktueller Makroblock an der unteren Kante des Bildes angeordnet ist, wie ein in 2B gezeigter Makroblock MBm, speichert die Koeffizientenzahlspeichereinheit 1402 wenigstens die Anzahlen der Koeffizienten der Blöcke in der rechten Spalte dieses Makroblocks MBm (schraffierte Blöcke), wie in 7C gezeigt ist.
  • Somit speichert die Koeffizientenzahlspeichereinheit 1402 wenigstens die Anzahlen der Koeffizienten für die Blöcke, auf die Bezug genommen werden soll. Es ist möglich, zu einem beliebigen Zeitpunkt die Informationen über die Anzahlen der Koeffizienten der anderen Blöcke außer denjenigen, die zu speichern sind, zu löschen, wie in der obigen Erläuterung beschrieben worden ist, wenn die Blöcke nicht mehr als Referenz verwendet werden. Es ist z. B. möglich, die Informationen zu löschen, wenn die Verarbeitung zum nächsten Makroblock vorrückt, sowie während der Verarbeitung des Makroblocks. Ferner erfordern die Anzahlen der Koeffizienten der Blöcke, die die nicht für die Referenz verwendet werden, nicht immer eine Löschungsverarbeitung. Zum Beispiel kann die Koeffizientenzahlspeichereinheit 1402 die Anzahlen der Koeffizienten der Blöcke, auf die nicht mehr Bezug genommen wird, als unnötig identifizieren und diese bei Bedarf überschreiben.
  • Oben ist erläutert worden, dass es möglich ist, auf die Anzahlen der Koeffizienten der dekodierten Blöcke Bezug zu nehmen, indem diese in der Koeffizientenzahlspeichereinheit 1402 gespeichert werden. Es kann jedoch ein System zur Berechnung der Anzahl der Koeffizienten verwendet werden, falls erforderlich, indem nicht die Werte der Anzahl der Koeffizienten selbst gespeichert werden, sondern z. B. die Werte der Koeffizienten der Blöcke, die Raumfrequenzkomponenten anzeigen.
  • Somit ist es in der vorliegenden Ausführungsform möglich, den Vorhersagewert unter Verwendung der Anzahlen der Koeffizienten in den dekodierten benachbarten Blöcken zu berechnen und die Anzahl der Koeffizienten mit Bezug auf die Kodetabelle und die VLC-Tabelle zu dekodieren, indem zwischen diesen gemäß dem Vorhersagewert adaptiv umgeschaltet wird.
  • Ferner werden die Änderungen einer Position, wo die Erscheinungswahrscheinlichkeit der Anzahl der Koeffizienten am höchsten ist, mit Bezug auf die Kodetabellen durch adaptives Umschalten derselben gemäß dem Vorhersagewert behandelt. Gleichzeitig kann dies einer Größe der Verteilung der Erscheinungswahrscheinlichkeit der Anzahl der Koeffizienten mit Bezug auf die VLC-Tabellen mittels Umschalten derselben gemäß dem Vorhersagewert entsprechen.
  • Es ist möglich, nur zwei Blöcke an der Position der Blöcke B und D als Blöcke, auf die von der Vorhersagewertberechnungseinheit 1502 Bezug genommen werden soll, für den aktuellen Block X, wie in 4B gezeigt, zu verwenden, statt drei benachbarte Blöcke zu verwenden, wie in 4A gezeigt ist. In diesem Fall können Änderungen der Referenzblöcke wie im Diagramm 6 vorgenommen, wenn die Blöcke entweder nicht dekodiert oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind. Bei den Zeichen im Diagramm 6 bezeichnet das Zeichen 0 einen dekodierten Block, während ein Zeichen X einen Block bezeichnet, auf den nicht Bezug genommen werden kann, da er entweder nicht dekodiert ist oder außerhalb des Bildes oder außerhalb des Streifens angeordnet ist, wie im Diagramm 1. Das Diagramm 6 zeigt eine Beziehung zwischen den Bedingungen der Referenzblöcke und den Blöcken, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, kann entweder ein Wert 0 oder ein anderer beliebiger Wert direkt als Vorhersagewert genommen werden. Es sollte jedoch der gleiche Wert wie derjenige, der für die Kodierung verwendet wurde, verwendet werden. In diesem Fall braucht die Koeffizientenzahlspeichereinheit 1402 nur die Anzahlen der Koeffizienten speichern, die vom Koeffizientenzahldekodierer 1403 dekodiert worden sind, wenigstens diejenigen der Referenzblöcke, die für den aktuellen Makroblock nötig sind, wie in 6B gezeigt ist.
  • Es ferner möglich, als Verfahren zum Berechnen eines Vorhersagewertes in der Vorhersagewertberechnungseinheit 1501 z. B. ein optimales Verfahren gemäß der jeweiligen Sequenz, der jeweiligen GOP, des jeweiligen Bildes oder des jeweiligen Streifens auszuwählen, statt das Verfahren der Verwendung entweder eines Mittelwertes, eines Maximalwertes, eines Minimalwertes oder eines Mediumwertes zu fixieren. In diesem Fall wird das Berechnungsverfahren durch die Dekodierung der Signale zur Identifikation eines Berechnungsverfahrens, das im Kopfabschnitt der Sequenz oder des Bildes oder des Streifens des Bitstroms beschrieben ist, bestimmt. Der Streifen ist ein Bild, das in mehrere Sektionen weiter unterteilt ist. Eine Sektion äquivalent zu einer Spalte in Transversalrichtung in jedem Makroblock ist ein Beispiel hierfür.
  • Es ferner möglich, z. B. entweder einen Mittelwert, einen Maximalwert, einen Minimalwert oder einen Mediumwert gemäß dem Mittelwert der Anzahlen der Koeffizienten in den dekodierten Referenzblöcken als ein Verfahren zum Berechnen eines Vorhersagewertes in der Vorhersagewertberechnungseinheit 1501 auszuwählen. Das Diagramm 7 zeigt die Auswahlkriterien. Die Art der Zuweisung des Mittelwertes und der Elemente, die als Vorhersagewertberechnungsverfahren angegeben sind, sind nicht auf diejenigen beschränkt, die im Diagramm 7 verwendet werden. Diesbezüglich sollte das gleiche Verfahren wie dasjenige, das für die Kodierung verwendet wurde, verwendet werden.
  • Die vorliegende Ausführungsform zeigt ein Dekodierungsverarbeitungsverfahren eines Bitstroms, bei dem eine Kodierung variabler Länge für die Werte der Anzahl der Koeffizienten selbst vom Koeffizientenzahldekodierer 1403 durchgeführt wird. Es ist jedoch möglich, eine Dekodierung eines Bitstroms, in welchem eine Kodierung variabler Länge für einen Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten durchgeführt worden ist, durchzuführen. In diesem Fall wird die Anzahl der Koeffizienten durch die Tatsache bestimmt, dass die Additionsberechnungseinheit 1507 den von der Vorhersagewertberechnungseinheit 1501 berechneten Vorhersagewert zum Differenzwert der Anzahl der Koeffizienten, der vom Koeffizientenzahldekodierer 1506 dekodiert worden ist, addiert.
  • Ferner führt der Koeffizientenzahldekodierer 1403 eine Dekodierung variabler Länge durch, durch Umschalten sowohl der Kodetabelle als auch der VLC-Tabelle gemäß dem Vorhersagewert auf der Grundlage der Anzahlen der Koeffi zienten der benachbarten Blöcke. Es ist jedoch möglich, eine von diesen zu fixieren, statt zwischen diesen umzuschalten. In diesem Fall wird dies verwirklicht durch Vorbereiten einer Speichereinheit, die entweder einen bestimmten Typ von Kodetabellen oder einen bestimmten Typ von VLC-Tabellen aufweist. 20A ist ein Blockdiagramm, das eine Struktur des Koeffizientenzahldekodierers 1403 zur Durchführung der Dekodierung variabler Länge der Anzahl der Koeffizienten durch Fixieren nur der Kodetabelle zeigt. 20B ist ein Blockdiagramm, das eine Struktur des Koeffizientenzahldekodierers 1403 für die Durchführung einer Dekodierung variabler Länge der Anzahl der Koeffizienten durch Fixieren nur der VLC-Tabelle zeigt. Im Fall der Fixierung nur der Kodetabelle enthält der Koeffizientenzahldekodierer 1403, wie in 20A gezeigt ist, eine Kodetabellenspeichereinheit 1601 anstelle der Kodetabellenspeichereinheit 1502 und der Kodetabellenauswahleinheit 1503, die in 18A gezeigt sind. Die Kodetabellenspeichereinheit 1601 weist einen bestimmten Typ von Kodetabellen auf. Der Koeffizientenzahldekodierer 1506 transformiert zuerst einen Kode variabler Länge unter Verwendung der von der VLC-Tabellenauswahleinheit 1504 ausgewählten VLC-Tabelle in eine Kodezahl und transformiert anschließend diese Kodezahl unter Verwendung der in der Kodetabellenspeichereinheit 1601 gespeichert Kodetabelle in die Anzahl der Koeffizienten.
  • Andererseits enthält im Fall der Fixierung nur der VLC-Tabelle der Koeffizientenzahldekodierer 1403, wie in 20B gezeigt ist, eine VLC-Tabellenspeichereinheit 1602 anstelle der VLC-Tabellenspeichereinheit 1505 und der VLC-Tabellenauswahleinheit 1504, die in 18A gezeigt sind. Die VLC-Tabellenspeichereinheit 1602 weist einen bestimmten Typ von VLC-Tabelle auf. Der Koeffizientenzahldekodierer 1506 transformiert zuerst einen Kode variabler Länge unter Verwendung der in der VLC-Tabellenspeichereinheit 1602 gespeicherten VLC-Tabelle in eine Kodezahl und transformiert anschließend die Kodezahl unter Verwendung der von der Kodetabellenauswahleinheit 1503 ausgewählten Kodetabelle in die Anzahl der Koeffizienten.
  • Somit ist es möglich, die Speicherkapazität zum Speichern mehrerer Tabellen zu reduzieren, indem entweder eine Kodetabelle oder eine VLC-Tabelle fixiert wird.
  • Es ist ferner möglich, eine Dekodierung variabler Länge im Koeffizientenzahldekodierer 1403 durchzuführen, indem nur die VLC-Tabellen entsprechend dem Vorhersagewert auf der Grundlage der Anzahlen der Koeffizienten der benachbarten Blöcke umgeschaltet werden, ohne Kodetabellen zu verwenden. 20C ist ein Blockdiagramm, das eine Struktur des Koeffizientenzahldekodierers 1403 zeigt, wenn eine Dekodierung variabler Länge der Koeffizientenzahl unter Verwendung nur einer VLC-Tabelle ohne Verwendung von Kodetabellen durchgeführt wird. Wie in 20C gezeigt ist, enthält in diesem Fall der Koeffizientenzahldekodierer 1403 weder die Kodetabellenspeichereinheit 1502 noch die Kodetabellenauswahleinheit 1503, die in 18A gezeigt sind. Im Koeffizientenzahldekodierer 1403 wählt die VLC-Tabellenauswahleinheit 1603 die VLC-Tabelle für die aktuelle Verwendung aus mehreren VLC-Tabellen, die in der VLC-Tabellenspeichereinheit 1604 gespeichert sind, auf der Grundlage des von der Vorhersagewertberechnungseinheit 1501 berechneten Vorhersagewerts aus. Anschließend transformiert der Koeffizientenzahldekodierer 1506 direkt einen Kode variabler Länge in die Anzahl der Koeffizienten, ohne die Anzahl der Koeffizienten unter Verwendung der Kodetabelle in eine Kodezahl zu transformieren, wie oben beschrieben worden ist.
  • Durch Fixieren entweder der Kodetabelle oder der VLC-Tabelle, statt zwischen diesen umzuschalten, kann somit der Durchsatz zum Umschalten von Tabellen reduziert werden, oder eine Speichermenge zum Speichern mehrerer Tabellen kann reduziert werden, obgleich die Effekte der Kodierungseffizienz mehr oder weniger abnehmen.
  • Auch ein Fall, in welchem der Koeffizientenzahldekodierer 1403 einen Bitstrom, in welchem eine Kodierung variabler Länge durchgeführt worden ist, zu einem Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten dekodiert, statt in den Wert der Anzahl der Koeffizienten, kann in der gleichen Weise behandelt werden. 21 ist ein Blockdiagramm dieses Beispiels, das eine Struktur des Koeffizientenzahldekodierers 1403 zur Durchführung der Dekodierung des Bitstroms, in dem eine Dekodierung variabler Länge durchgeführt worden ist, in den Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten durch Fixieren sowohl der Kodetabelle als auch der VLC-Tabelle zeigt. Wie in 21 gezeigt ist, enthält in diesem Fall der Koeffizientenzahldekodierer 1403 eine Kodetabellenspeichereinheit 1601 anstelle der Kodetabellenspeichereinheit 1502 und der Kodetabellenauswahleinheit 1503, die in 18A gezeigt sind, sowie eine VLC-Tabellenspeichereinheit 1602 anstelle der VLC-Tabellenspeichereinheit 1505 und der VLC-Tabellenauswahleinheit 1504, die in 18A gezeigt sind. Diese Kodetabellenspeichereinheit 1601 weist einen bestimmten Typ von Kodetabellen auf, während die VLC-Tabellenspeichereinheit 1602 einen bestimmten Typ von VLC-Tabelle aufweist. Der Koeffizientenzahldekodierer 1506 transformiert zuerst einen Kode variabler Länge in eine Kodezahl unter Verwendung der in der VLC-Tabellenspeichereinheit 1602 gespeicherten VLC-Tabelle, und transformiert anschließend die Kodezahl in einen Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten unter Verwendung der in der Kodetabellenspeichereinheit 1601 gespeicherten Kodetabelle. Die Additionsberechnungseinheit 1507 berechnet die Anzahl der Koeffizienten durch Addieren des Differenzwertes zum Vorhersagewert.
  • (Siebte Ausführungsform)
  • Die Struktur der Bilddekodierungsvorrichtung und der Umriss der Dekodierungsverarbeitung sind vollkommen identisch mit der sechsten Ausführungsform, abgesehen von dem in 17 gezeigten Koeffizientenzahldekodierer 1403. Bezüglich der Verarbeitung zur Dekodierung variabler Länge der Anzahl der Koeffizienten, die im Koeffizientenzahldekodierer 1403 gemäß der siebten Ausführungsform durchgeführt wird, werden Einzelheiten im Folgenden unter Verwendung der 11 und 22 erläutert. Der in der Bildkodierungsvorrichtung gemäß der zweiten Ausführungsform erzeugte Bitstrom soll eingegeben werden.
  • 22A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahldekodierers 1403 genauer zeigt.
  • Wie in 22A gezeigt ist, enthält der Koeffizientenzahldekodierer 1403 eine Kodetabellenerzeugungseinheit 1901 anstelle der Kodetabellenspeichereinheit 1502 und der Kodetabellenauswahleinheit 1503, die in 18A gezeigt sind. Die Anzahlen der Koeffizienten in den dekodierten Blöcken werden von der in 17 gezeigten Koeffizientenzahlspeichereinheit 1402 in die Kodetabellenerzeugungseinheit 1901 eingegeben. Die Kodetabellenerzeugungseinheit 1901 zählt die Anzahl der dekodierten Blöcke mit der gleichen Anzahl von Koeffizienten wie der Wert der Anzahl der Koeffizienten bei jedem Wert der Anzahl der Koeffizienten, und erzeugt Kodetabellen durch Zuordnen von Kodezahlen in absteigender Reihenfolge beginnend mit einer Anzahl von Koeffizienten, für die auf der Grundlage der Statistik die höchste Häufigkeit aufgezeichnet wurde. 11A ist ein Musterdiagramm, das eine Position dekodierter Blöcke darstellt, die Ziel der Statistik sind. Hierbei sind P1, P3 und P4 Bilder, in denen die Interbildvorhersage durchgeführt worden ist, während I2 ein Bild ist, in dem eine Intrabildvorhersage durchgeführt worden ist. Unter der Annahme, dass ein zu dekodierender aktueller Block zu P3 gehört, sind alle Blöcke in P1, einem dem aktuellen Bild unmittelbar vorangehendes Bild, das mit dem gleichen Verfahren dekodiert worden ist, Ziel der Statistik. Der Fall, in dem die Blöcke äquivalent zu einem Bild, das die dekodierten Blöcke im aktuellen Bild enthält, Ziel der Statistik sind, kann in der gleichen Weise behandelt werden. Ferner wird eine Tabelle für die Anfangsbedingung in absteigender Reihenfolge beginnend mit dem Wert 0 verwendet, wenn die dekodierten Blöcke äquivalent zu einem Bild, die Ziel der Statistik sein können, nicht existieren. Hierbei sind jedoch die Blöcke äquivalent zu einem Bild das Ziel der Statistik, wobei der Fall, in dem die Anzahl der Blöcke außer diesen als Parameter verwendet wird, in der gleichen Weise behandelt werden kann. Diesbezüglich sollte die gleiche Zahl wie diejenige, die für die Kodierung verwendet wurde, verwendet werden. Im Fall der Erzeugung der Kodetabelle, wie oben beschrieben worden ist, indem wie in 11A gezeigt Bezug genommen wird, braucht die Tabelle nur einmal erzeugt werden, wenn mit der Kodierung des aktuellen Bildes begonnen wird.
  • Indessen werden die Anzahlen der Koeffizienten in den dekodierten Blöcken, die am Rand angeordnet sind, in die Vorhersagewertberechnungseinheit 1501 eingegeben. Die Vorhersagewertberechnungseinheit 1501 ermittelt den Vorhersagewert durch Berechnen eines Mittelwertes auf der Grundlage dieser Werte, wie in der sechsten Ausführungsform. Anstelle des Mittelwertes können ein Maximalwert, ein Minimalwert oder ein Mediumwert als Verfahren zum Bestimmen des Vorhersagewertes verwendet werden. Wie in der sechsten Ausführungsform werden anschließend die dekodierten Blöcke, die als Referenz verwendet werden, unter Verwendung der drei Blöcke, die an der Position der Blöcke P, C und D angeordnet sind, für den in 4A gezeigten aktuellen Block X gemäß dem Diagramm 1 bestimmt. Das Diagramm 1 zeigt eine Beziehung zwischen den Bedingungen der Referenzblöcke und der Blöcke, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, kann entweder ein Wert 0 oder ein anderer beliebiger Wert direkt als Vorhersagewert genommen werden. Diesbezüglich sollte der gleiche Wert wie derjenige, der für die Kodierung verwendet wurde, verwendet werden.
  • Der von der Vorhersagewertberechnungseinheit 1501 berechnete Vorhersagewert wird nur in der VLC-Tabellenauswahleinheit 1504 verwendet. Die VLC-Tabellenauswahleinheit 1504 wählt wie in der sechsten Ausführungsform eine VLC-Tabelle für die Dekodierung der Anzahl der Koeffizienten gemäß den im Diagramm 4 gezeigten Auswahlkriterien aus mehreren VLC-Tabellen aus, die im Voraus in der VLC-Tabellenspeichereinheit 1505 vorbereitet worden sind, wie im Diagramm 5 gezeigt ist.
  • Der Koeffizientenzahldekodierer 1506 nimmt auf die von der Kodetabellenerzeugungseinheit 1901 erzeugte Kodetabelle und die von der VLC-Tabellenauswahleinheit 1504 ausgewählte VLC-Tabelle Bezug und führt eine Dekodierung variabler Länge für den Bitstrom der Anzahl der Koeffizienten durch, der in der gleichen Weise wie in der sechsten Ausführungsform eingegeben wird.
  • Somit ist es in der vorliegenden Ausführungsform möglich, eine Kodetabelle zu erzeugen, indem Statistiken der Anzahlen der Koeffizienten in den dekodierten Blöcken verwendet werden und eine VLC-Tabelle gemäß dem Vorhersagewert bestimmt wird, der unter Verwendung der Anzahlen der Koeffizienten in den dekodierten Blöcken berechnet worden ist, und indem die Dekodierung der Anzahl der Koeffizienten mit Bezug auf beide Tabellen durchgeführt wird.
  • Es ist ferner möglich, die dekodierten Blöcke, die als Referenz bei der Vorhersagewertberechnungseinheit 1501 verwendet werden sollen, wie in der sechsten Ausführungsform gemäß Diagramm 6 zu bestimmen, indem nur zwei Blöcke verwendet werden, die an der Position der Blöcke B und D bezüglich des in 4B gezeigten aktuellen Blocks X angeordnet sind, statt drei benachbarte Blöcke zu verwenden, wie in 4A gezeigt ist. Das Diagramm 6 zeigt eine Beziehung zwischen den Bedingungen der Referenzblöcke und den Blöcken, auf die Bezug genommen werden kann, jedoch sind die Muster nicht hierauf beschränkt. Wenn keine Referenzblöcke gefunden werden, kann entweder ein Wert 0 oder ein anderer beliebiger Wert direkt als Vorhersagewert genommen werden. Diesbezüglich sollte der gleiche Wert wie derjenige, der für die Kodierung verwendet wurde, verwendet werden.
  • Ferner ist es möglich, als Verfahren zum Berechnen eines Vorhersagewertes in der Vorhersagewertberechnungseinheit 1501 z. B. ein optimales Verfahren gemäß jeder Sequenz, jeder GOP, jedes Bildes oder jedes Streifens auszuwählen, statt das Verfahren auf die Verwendung entweder eines Mittelwertes, eines Maximalwertes, eines Minimalwertes oder eines Mediumwertes zu fixieren. In diesem Fall wird das Berechnungsverfahren bestimmt, indem die Signale zum Identifizieren des Berechnungsverfahrens dekodiert werden, die im Kopf der Sequenz, der GOP oder des Bildes oder des Streifens des Bitstroms beschrieben sind.
  • Ferner ist es möglich, z. B. entweder einen Mittelwert, einen Maximalwert, einen Minimalwert oder einen Mediumwert gemäß dem Mittelwert der Anzahlen der Koeffizienten in den dekodierten Referenzblöcken als Verfahren zum Berechnen eines Vorhersagewertes in der Vorhersagewertberechnungseinheit 1501 auszuwählen. Das Diagramm 7 zeigt diese Auswahlkriterien. Die Art der Zuweisung des Mittelwertes und der Elemente, die als Vorhersagewerteberechnungsverfahren angegeben sind, sind nicht auf diejenigen beschränkt, die im Diagramm 7 verwendet werden. Diesbezüglich sollte das gleiche Verfahren wie dasjenige, das für die Kodierung verwendet wurde, verwendet werden.
  • Ferner zeigt die vorliegende Ausführungsform ein Dekodierungsverarbeitungsverfahren eines Bitstroms, in welchem eine Kodierung variabler Länge für die Werte der Anzahl der Koeffizienten selbst durchgeführt wird. Es ist jedoch möglich, eine Dekodierung eines Bitstroms, in dem eine Kodierung variabler Länge durchgeführt worden ist, zu einem Differenzwert zwischen einem Vorhersagewert und der Anzahl der Koeffizienten durchzuführen. In diesem Fall wird die Anzahl der Koeffizienten durch die Tatsache bestimmt, dass die Additionsberechnungseinheit 1507 den Differenzwert zwischen dem Vorhersagewert, der in der in 22 gezeigten Vorhersagewertberechnungseinheit 1501 berechnet worden ist, und der vom Koeffizientenzahldekodierer 1506 dekodierten Anzahl der Koeffizienten addiert.
  • Ferner führt in der obenerwähnten Ausführungsform der Koeffizientenzahldekodierer 1403 eine Dekodierung variabler Länge durch Umschalten der VLC-Tabellen gemäß dem Vorhersagewert auf der Grundlage der Anzahlen der Koeffizienten in den benachbarten Blöcken durch. Es ist jedoch möglich, die Tabelle zu fixieren, statt zwischen den Tabellen umzuschalten, wie in der sechsten Ausführungsform. In diesem Fall wird dies verwirklicht durch Verwenden nur einer VLC-Tabellenspeichereinheit, die einen bestimmten Typ von VLC-Tabellen aufweist, statt die VLC-Tabellenauswahleinheit zu verwenden.
  • (Achte Ausführungsform)
  • Die Struktur der Bilddekodierungsvorrichtung und der Umriss der Dekodierungsverarbeitung sind vollkommen identisch mit der sechsten Ausführungsform, abgesehen von dem in 17 gezeigten Koeffizientenzahldekodierer 1403. Bezüglich der Verarbeitung der Dekodierung variabler Länge der Anzahl der Koeffizienten, die vom Koeffizientenzahldekodierer 1403 gemäß der achten Ausführungsform durchgeführt wird, werden im Folgenden Einzelheiten unter Verwendung der 23, des Diagramms 8 und des Diagramms 9 erläutert. Der von der Bildkodierungsvorrichtung gemäß der dritten Ausführungsform erzeugte Bitstrom soll eingegeben werden.
  • 23A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahldekodierers 1403 genauer zeigt.
  • Wie in 23A gezeigt ist, enthält der Koeffizientenzahldekodierer 1403 nicht die in 18A gezeigte Vorhersagewertberechnungseinheit 1501. Eine Kodetabellenauswahleinheit 2001 und eine VLC-Tabellenauswahleinheit 2002 wählen eine Tabelle für die aktuelle Verwendung unter direkter Nutzung der Anzahlen der Koeffizienten in den dekodierten Blöcken aus, ohne einen Vorhersagewert zu verwenden, was von der sechsten Ausführungsform verschieden ist. Für die dekodierten Blöcke, die anschließend als Referenz verwendet werden, wie in 4B gezeigt ist, werden nur zwei Blöcke an der Position des Blocks B (oben) und des Blocks D (links) bezüglich des aktuellen Blocks X verwendet. Wenn jedoch die oberhalb und links angeordneten Blöcke nicht dekodiert sind oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, kann entweder ein Wert 0 oder ein anderer beliebiger Wert eingesetzt werden. Diesbezüglich sollte der gleiche Wert wie derjenige, der für die Kodierung verwendet wurde, verwendet werden.
  • Das Diagramm 8 zeigt ein Auswahlverfahren für Kodetabellen bei der Kodetabellenauswahleinheit 2001. Die Kodetabellenauswahleinheit 2001 klassifiziert die jeweiligen Anzahlen der Koeffizienten in den Blöcken, die oberhalb und links des aktuellen Blocks angeordnet sind, wie in Diagramm 8 gezeigt ist, entsprechend dem Wert in zwei Gruppen und wählt eine Tabelle unter Verwendung einer Kombination der vier so gebildeten Tabellen aus. Das Verfahren zum Klassifizieren der Anzahl der Koeffizienten in den oberen und linken Blöcken und die Art der Zuweisung der Kodetabellen sind nicht auf diejenigen beschränkt, die im Diagramm 8 gezeigt sind. Diesbezüglich wird in diesem Fall das gleiche Verfahren verwendet, wie dasjenige, das für die Kodierung verwendet wurde. Ferner wählt die VLC-Tabellenauswahleinheit 2002 eine VLC-Tabelle für die aktuelle Referenz unter Verwendung des in Diagramm 9 gezeigten Auswahlverfahrens aus, wie im Fall der Kodetabellenauswahleinheit 2001.
  • Der Koeffizientenzahldekodierer 1506 nimmt auf die von der Kodetabellenauswahleinheit 2001 ausgewählte Kodetabelle und die von der VLC-Tabellenauswahleinheit 2002 ausgewählte VLC-Tabelle Bezug und führt eine Dekodierung variabler Länge für die Anzahl der Koeffizienten im aktuellen Block durch, der in der gleichen Weise wie in der sechsten Ausführungsform eingegeben wird.
  • Die oben gezeigte vorliegende Ausführungsform ermöglicht, die Dekodierung der Anzahl der Koeffizienten effizient durchzuführen, indem die Anzahl der Koeffizienten in den dekodierten Blöcken, die oberhalb und links des aktuellen Blocks angeordnet sind, in "N" Gruppen entsprechend dem Wert mit Bezug auf die Kodetabelle und die VLC-Tabelle zu klassifizieren, gemäß der Kombination von N × N Möglichkeiten, die dann gebildet werden, und durch adaptives Umschalten zwischen diesen.
  • Die vorliegende Ausführungsform zeigt ein Dekodierungsverarbeitungsverfahren eines Bitstroms, in dem eine Kodierung variabler Länge durchgeführt worden ist, in Werte der Anzahl der Koeffizienten selbst. Es ist jedoch möglich, die Dekodierung eines Bitstroms, in dem eine Kodierung variabler Länge durchgeführt worden ist, zu einem Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten durchzuführen. In diesem Fall wird die Anzahl der Koeffizienten durch die Tatsache bestimmt, dass die Additionsberechnungseinheit 1507 den Differenzwert zwischen dem in der Vorhersagewertberechnungseinheit 1501 be rechneten Vorhersagewert und der vom Koeffizientenzahldekodierer 1506 dekodierten Anzahl der Koeffizienten addiert.
  • Ferner führt der Koeffizientenzahldekodierer 1403 eine Dekodierung variabler Länge durch Umschalten sowohl der Kodetabelle als auch der VLC-Tabelle gemäß den Anzahlen der Koeffizienten in den benachbarten Blöcken durch. Es ist jedoch möglich, eine dieser Tabellen zu fixieren, statt zwischen diesen umzuschalten, wie in der sechsten Ausführungsform. In diesem Fall wird dies durch die Verwendung einer Speichereinheit verwirklicht, die entweder einen bestimmten Typ von Kodetabellen oder einen bestimmten Typ von VLC-Tabellen aufweist, statt die Tabellenauswahleinheiten zu verwenden. Ferner ist es möglich, eine Dekodierung variabler Länge durchzuführen durch Umschalten nur der VLC-Tabellen, ohne Kodetabellen zu verwenden, entsprechend den Anzahlen der Koeffizienten in den benachbarten Blöcken, wie in der sechsten Ausführungsform.
  • (Neunte Ausführungsform)
  • Die Struktur der Bilddekodierungsvorrichtung und der Umriss der Dekodierungsverarbeitung gemäß der vorliegenden Ausführungsform sind vollkommen identisch mit der sechsten Ausführungsform, abgesehen von dem in 17 gezeigten Koeffizientenzahldekodierer 1403. Bezüglich der Verarbeitung der Dekodierung variabler Länge der Anzahl der Koeffizienten, die von dem Koeffizientenzahldekodierer 1403 gemäß der neunten Ausführungsform durchgeführt wird, werden im Folgenden unter Verwendung der 24 und 14 Einzelheiten erläutert. Der von der Bildkodierungsvorrichtung gemäß der vierten Ausführungsform erzeugte Bitstrom soll eingegeben werden.
  • 24A ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahldekodierers 1403 genauer zeigt.
  • Wie in 24A gezeigt ist, enthält der Koeffizientenzahldekodierer 1403 eine Tabellenauswahleinheit 2101 anstelle der Vorhersagewertberechnungseinheit 1501, der Kodetabellenauswahleinheit 1503 und der VLC-Tabellenauswahleinheit 1504, die in 18A gezeigt sind. Die Tabellenauswahleinheit 2101 verwendet direkt die Anzahl der Koeffizienten in den dekodierten Blöcken, ohne ei nen Vorhersagewert zu verwenden, und wählt eine Tabelle für die aktuelle Nutzung aus durch Beurteilen sowohl der Kodetabelle als auch der VLC-Tabelle zur gleichen Zeit, was verschieden ist von der sechsten Ausführungsform. Für die dekodierten Blöcke, die anschließend als Referenz verwendet werden, werden drei Blöcke an der Position der Blöcke B, C und D bezüglich des aktuellen Blocks X verwendet, wie in 4A gezeigt ist. Wenn diesbezüglich die so angeordneten Blöcke nicht kodiert oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, wird entweder ein Wert 0 oder ein anderer beliebiger Wert als Anzahl der Koeffizienten eingesetzt. Es sollte jedoch der gleiche Wert wie derjenige, der für die Kodierung verwendet wurde, verwendet werden.
  • Wie in 14 gezeigt ist, berechnet die Tabellenauswahleinheit 2101 eine Summe einer Länge eines Bitstroms, der als Ergebnis der Kodierung der Anzahlen der Koeffizienten in den Referenzblöcken verwendet worden ist, unter Verwendung sowohl der Kodetabelle als auch der VLC-Tabelle zur gleichen Zeit, und bestimmt diese als Beurteilungswert, wie in der vierten Ausführungsform. Anschließend führt die Tabellenauswahleinheit 2101 diese Verarbeitung für alle Kombinationen der Kodetabelle und der VLC-Tabelle, die in der Kodetabellenspeichereinheit 1502 sowie in der VLC-Tabellenspeichereinheit 1505 gespeichert sind, durch und wählt eine Kombination einer Kodetabelle und einer VLC-Tabelle aus, in der der gewonnene Beurteilungswert am kleinsten ist.
  • Der Koeffizientenzahldekodierer 1506 nimmt auf die Kodetabelle und die VLC-Tabelle Bezug, die von der Tabellenauswahleinheit 2101 ausgewählt worden sind, und führt eine Kodierung variabler Länge für die Anzahl der Koeffizienten im aktuellen Block durch, der in der gleichen Weise wie in der sechsten Ausführungsform eingegeben wird.
  • Somit wird in der vorliegenden Ausführungsform die Kodierung für die Anzahlen der Koeffizienten in den benachbarten Blöcken, die unter Verwendung der Kodetabelle und der VLC-Tabelle dekodiert worden sind, durchgeführt, wobei ein Schätzwert unter Verwendung der Summe der Länge des Bitstroms zu diesem Zeitpunkt bestimmt wird und eine Dekodierung für die Anzahl der Koeffizienten durchgeführt wird, indem auf die Kodetabelle und die VLC-Tabelle Bezug genommen wird, deren Kombination den kleinsten Beurteilungswert erzeugt.
  • Für die dekodierten Blöcke, die von der Tabellenauswahleinheit 2101 als Referenz verwendet werden, kann ein Fall der Verwendung von nur zwei Blöcken, die an der Position der Blöcke B und D bezüglich des aktuellen Blocks X angeordnet sind, wie in 4B gezeigt ist, anstelle der Verwendung von drei benachbarten Blöcken, die in 4A gezeigt sind, in der gleichen Weise wie in der sechsten Ausführungsform behandelt werden. Wenn diesbezüglich die so angeordneten Blöcke nicht kodiert oder außerhalb des Bildes oder außerhalb des Streifens angeordnet sind, kann entweder ein Wert 0 oder ein anderer beliebiger Wert als Anzahl der Koeffizienten eingesetzt werden.
  • Ferner zeigt die vorliegende Ausführungsform ein Dekodierungsverarbeitungsverfahren eines Bitstroms, in welchem eine Kodierung variabler Länge durchgeführt worden ist, für die Werte der Anzahl der Koeffizienten selbst. Es ist jedoch möglich, eine Dekodierung eines Bitstroms durchzuführen, in dem eine Kodierung variabler Länge für einen Differenzwert zwischen dem Vorhersagewert und der Anzahl der Koeffizienten durchgeführt worden ist. In diesem Fall wird die Anzahl der Koeffizienten durch die Tatsache bestimmt, dass die Additionsberechnungseinheit 1507 den Differenzwert zwischen dem von der Vorhersagewertberechnungseinheit 1501 berechneten Vorhersagewert und der vom Koeffizientenzahldekodierer 1506 dekodierten Anzahl der Koeffizienten addiert, wie in 24B gezeigt ist.
  • Ferner sind in der vorliegenden Ausführungsform die Kodetabelle und die VLC-Tabelle das Ziel für die Umschaltung im Koeffizientenzahldekodierer 1403, jedoch ist es möglich, eine von diesen zu fixieren, statt zwischen diesen umzuschalten.
  • (Zehnte Ausführungsform)
  • Die Struktur der Bilddekodierungsvorrichtung und der Umriss der Dekodierungsverarbeitung gemäß der vorliegenden Ausführungsform sind vollkommen identisch mit der sechsten Ausführungsform, abgesehen von dem in 17 gezeigten Koeffizientenzahldekodierer 1403. Die vorliegende Ausführungsform verwendet einen Interbildvorhersagemodus für die Interbildvorhersagedekodierung und einen Intrabildvorhersagemodus für die Intrabildvorhersagedekodierung als Referenzinformation im Koeffizientenzahldekodierer 1403 anstelle der Anzahlen der Koeffizienten in den dekodierten Blöcken, wie in der sechsten Ausführungsform. Der Bitstrom, der bei der Bildkodierungsvorrichtung gemäß der fünften Ausführungsform erzeugt wird, soll eingegeben werden.
  • Bezüglich der Verarbeitung der Dekodierung variabler Länge der Anzahl der Koeffizienten, die von dem in 17 gezeigten Koeffizientenzahldekodierer 1403 durchgeführt wird, werden im Folgenden Einzelheiten mit Bezug auf 25 erläutert.
  • 25 ist ein Blockdiagramm, das eine interne Struktur des Koeffizientenzahldekodierers 1403 genauer zeigt.
  • Wie in 25 gezeigt ist, enthält der Koeffizientenzahldekodierer 1403 nicht die in 18A gezeigte Vorhersagewertberechnungseinheit 1501. Der Interbildvorhersagemodus für die Interbildvorhersagedekodierung und der Intrabildvorhersagemodus für die Intrabildvorhersagedekodierung werden von der Bitstromanalyseeinheit 1401 in eine Kodetabellenauswahleinheit 2201 sowie eine VLC-Tabellenauswahleinheit 2202 eingegeben. Die Kodetabellenauswahleinheit 2201 wählt eine zu verwendende Tabelle auf der Grundlage des Modus aus: dem Interbildvorhersagemodus für die Interbildvorhersagedekodierung und dem Intrabildvorhersagemodus für die Intrabildvorhersagedekodierung. Das Diagramm 10 zeigt ein Auswahlverfahren für die in der Kodetabellenauswahleinheit 2201 gespeicherten Kodetabellen.
  • In dem Fall z. B., in dem das aktuelle Bild unter Verwendung der Interbildvorhersage dekodiert wird, wird eine Kodetabelle 2 entsprechend für eine Dekodierung variabler Länge der Anzahl der Koeffizienten ausgewählt, wenn die Größe des aktuellen Blocks 8×8 für die Vorhersage ausgewählt ist. Die Elemente sind nicht auf diejenigen beschränkt, die im Diagramm 10 verwendet werden. Diesbezüglich sollten die gleichen Elemente verwendet werden wie diejenigen, die für die Kodierung verwendet wurden.
  • Ferner wählt die VLC-Tabellenauswahleinheit 2202 eine VLC-Tabelle für die aktuelle Referenz unter Verwendung des Auswahlverfahrens wie im Diagramm 11 gezeigt aus, wie im Fall der Kodetabellenauswahleinheit 2201.
  • Der Koeffizientenzahldekodierer 1506 nimmt auf die von der Kodetabellenauswahleinheit 2201 ausgewählte Kodetabelle sowie auf die von der VLC-Tabellenauswahleinheit 2202 ausgewählte VLC-Tabelle Bezug, um somit die Dekodierung variabler Länge der Anzahl der Koeffizienten im aktuellen Block durchzuführen, der in der gleichen Weise wie in der sechsten Ausführungsform eingegeben wird.
  • Somit kann die vorliegende Ausführungsform die Dekodierung der Anzahl der Koeffizienten durchführen mittels Bezugnahme auf die Kodetabelle und die VLC-Tabelle beim Umschalten zwischen diesen in adaptiver Weise entsprechend dem Modus: dem Interbildvorhersagemodus für die Interbildvorhersagedekodierung und dem Intrabildvorhersagemodus für die Intrabildvorhersagedekodierung.
  • Die vorliegende Ausführungsform zeigt ein Dekodierungsverarbeitungsverfahren eines Bitstroms, in welchem eine Kodierung variabler Länge durchgeführt worden ist, in Werte der Anzahl der Koeffizienten selbst. Es ist jedoch möglich, eine Dekodierung eines Bitstroms, in dem eine Kodierung variabler Länge durchgeführt worden ist, zu einem Differenzwert zwischen einem Vorhersagewert und einer Anzahl der Koeffizienten durchzuführen. In diesem Fall wird der Vorhersagewert unter Verwendung der Anzahlen der Koeffizienten in den benachbarten dekodierten Blöcken bestimmt, und die Anzahl der Koeffizienten wird bestimmt durch Addieren dieses Wertes zu dem Differenzwert der Anzahl der Koeffizienten, die vom Koeffizientenzahldekodierer 1506 dekodiert worden ist, wie in der sechsten Ausführungsform.
  • In der vorliegenden Ausführungsform führt ferner der Koeffizientenzahldekodierer 1403 eine Dekodierung variabler Länge durch Umschalten sowohl der Kodetabelle als auch der VLC-Tabelle durch. Es ist jedoch möglich, diese zu fixieren, statt eine oder beide umzuschalten. In diesem Fall wird dies verwirklicht durch Vorbereiten nur einer Speichereinheit, die entweder einen bestimmten Typ von Kodetabellen oder einen bestimmten Typ von VLC-Tabellen aufweist.
  • (Elfte Ausführungsform)
  • Wenn ein Programm für die Verwirklichung der Struktur des Kodierungsverfahrens oder des Dekodierungsverfahrens, wie in den obenerwähnten Ausführungs formen gezeigt, auf einem Speichermedium, wie z. B. einer flexiblen Platte, aufgezeichnet wird, wird es möglich, die in diesen Ausführungsformen gezeigte Verarbeitung leicht in einem unabhängigen Computersystem durchzuführen.
  • Die 26A, 26B und 26C sind Darstellungen, die den Fall zeigen, in dem die in den obenerwähnten Ausführungsformen 1 bis 10 gezeigte Verarbeitung in einem Computersystem durchgeführt wird, wobei eine flexible Platte verwendet wird, die das Kodierungsverfahren oder das Dekodierungsverfahren der obenerwähnten Ausführungsformen speichert.
  • 26B zeigt ein vollständiges Erscheinungsbild einer flexiblen Platte, ihre Struktur im Querschnitt und die flexible Platte selbst, während 26A ein Beispiel eines physikalischen Formats der flexiblen Platte als Hauptkörper eines Aufzeichnungsmediums zeigt. Eine flexible Platte FT ist in einem Gehäuse F enthalten, wobei auf der Oberfläche der Platte mehrere Spuren Tr konzentrisch vom Rand bis zur Mitte ausgebildet sind, und wobei jede Spur in 16 Sektoren Se in Winkelrichtung unterteilt ist. Die flexible Platte, die das obenerwähnte Programm speichert, speichert somit die Daten als das obenerwähnte Programm in einem Bereich, der dafür auf der flexiblen Platte FT zugewiesen wird.
  • 26C zeigt die Struktur für die Aufzeichnung und das Auslesen des Programms auf der flexiblen Platte FT. Wenn das Programm auf der flexiblen Platte FT aufgezeichnet wird, schreibt das Computersystem Cs die Daten als Programm über ein Laufwerk für flexible Platten. Wenn die Kodierungsvorrichtung und die Dekodierungsvorrichtung im Computersystem mittels des Programms auf der flexiblen Platte ausgebildet sind, wird das Programm mittels des Laufwerks für flexible Platten von der flexiblen Platte gelesen und anschließend in das Computersystem übertragen.
  • Die obige Erläuterung beruht auf der Annahme, dass eine flexible Platte als Datenaufzeichnungsmedium verwendet wird, jedoch kann die gleiche Verarbeitung auch unter Verwendung einer optischen Platte durchgeführt werden. Außerdem ist das Aufzeichnungsmedium nicht auf eine flexible Platte und eine optische Platte beschränkt, sondern es kann ein beliebiges anderes Medium verwendet werden, wie z. B. eine IC-Karte und eine ROM-Kassette, die ein Programm aufzeichnen können.
  • Es folgt eine Erläuterung der Anwendungen des Bildkodierungsverfahrens sowie des Bilddekodierungsverfahrens, wie in den obenerwähnten Ausführungsformen gezeigt, sowie eines Systems, das diese verwendet.
  • 27 ist ein Blockdiagramm, das eine Gesamtkonfiguration eines Inhalteliefersystems ex190 für die Verwirklichung eines Inhalteverteilungsdienstes zeigt. Der Bereich für die Bereitstellung eines Kommunikationsdienstes ist in Zellen einer gewünschten Größe unterteilt, wobei Zellenstandorte ex107–ex110, die feste Funkstationen sind, in den jeweiligen Zellen platziert sind.
  • Dieses Inhalteliefersystem ex100 ist mit Vorrichtungen, wie z. B. einem Computer ex111, einem PDA (persönlicher digitaler Assistent) ex112, einer Kamera ex113, einem Zellentelephon ex114 und einem Zellentelephon mit Kamera ex115 über das Internet ex101, einen Internetdienstanbieter ex102, ein Telephonnetz ex104 und Zellenstandorte ex107–ex110 verbunden.
  • Das Inhalteliefersystem ex100 ist jedoch nicht auf die in 27 gezeigte Konfiguration beschränkt und kann mit einer beliebigen Kombination hieraus verbunden sein. Ferner kann jede Vorrichtung direkt mit dem Telephonnetz ex104 und nicht über die Zellenstandorte ex107–ex110 verbunden sein.
  • Die Kamera ex113 ist eine Vorrichtung, die Videoaufnahmen machen kann, wie z. B. eine digitale Videokamera. Das Zellentelephon ex114 kann ein Zellentelephon eines PDC-Systems (PDC = persönliches digitales Kommunikationssystem), eines CDMA-Systems (Kodebereich-Mehrfachzugangs-System), eines W-CDMA-Systems (Breitband-Kodebereich-Mehrfachzugangs-System) oder eines GSM-Systems (Globales System für Mobilkommunikation), eines PHS-Systems (persönliches Handytelephon-System) oder dergleichen sein.
  • Ein Streaming-Server ex103 ist mit der Kamera ex113 über das Telphonnetz ex104 und den Zellenstandort ex109 verbunden, was eine unverzögerte Verteilung oder dergleichen unter Verwendung der Kamera ex113 auf der Grundlage der von dem Benutzer übermittelten kodierten Daten verwirklicht. Entweder die Kamera ex113 oder der Server, der die Daten übermittelt, kann die Daten kodieren. Ferner können die von einer Kamera ex116 aufgenommenen Bilddaten über den Computer ex111 zum Streaming-Server ex103 übermittelt werden. In diesem Fall können entweder die Kamera ex116 oder der Computer ex112 die Bilddaten kodieren. Ein LSI ex117, der im Computer ex111 oder der Kamera ex116 enthalten ist, führt aktuell die Kodierungsverarbeitung durch. Die Software für die Kodierung und die Dekodierung der Bilder kann in einem beliebigen Typ von Speichermedium (wie z. B. einem CD-ROM, einer flexiblen Platte und einer Festplatte) integriert sein, das ein Aufzeichnungsmedium ist, das von dem Computer ex111 oder dergleichen lesbar ist. Ferner kann ein Zellentelephon mit Kamera ex115 die Bilddaten übermitteln. Diese Bilddaten sind Daten, die mittels des im Zellentelephon ex115 enthaltenen LSI kodiert werden.
  • Das Inhalteliefersystem ex100 kodiert Inhalte (z. B. ein Musik-Live-Video), das von Benutzern unter Verwendung der Kamera ex113, der Kamera ex116 oder dergleichen aufgenommen worden ist, in der gleichen Weise wie in den obenerwähnten Ausführungsformen gezeigt ist, und übermittelt diese an den Streaming-Server ex103, während der Streaming-Server ex103 die Stromverteilung der Inhaltsdaten an die Klienten auf deren Anforderung hin übernimmt. Die Klienten enthalten den Computer ex111, den PDA-ex112, die Kamera ex113, das Zellentelephon ex114 und dergleichen, die die obenerwähnten kodierten Daten dekodieren können. Im Inhalteliefersystem ex100 können die Klienten somit die kodierten Daten empfangen und wiedergeben, und können ferner die Daten in Echtzeit empfangen, dekodieren und wiedergeben, um somit eine persönliche Rundfunkübertragung zu verwirklichen.
  • Wenn jede Vorrichtung in diesem System eine Kodierung oder Dekodierung durchführt, können die Bildkodierungsvorrichtung oder die Bilddekodierungsvorrichtung, wie in den obenerwähnten Ausführungsformen gezeigt, verwendet werden.
  • Als Beispiel der Vorrichtung wird ein Zellentelephon erläutert.
  • 28 ist ein Diagramm, das das Zellentelephon ex115 zeigt, das das Bildkodierungsverfahren und das Bilddekodierungsverfahren verwendet, die in den obenerwähnten Ausführungsformen erläutert worden sind. Das Zellentelephon ex115 besitzt eine Antenne ex201 für die Kommunikation mit dem Zellenstandort ex110 über Funkwellen, eine Kameraeinheit ex203, wie z. B. eine CCD-Kamera, die bewegte und stehende Bilder aufnehmen kann, eine Anzeigeeinheit ex202, wie z. B. eine Flüssigkristallanzeige für die Anzeige von Daten, wie z. B. der kodierten Bilder und dergleichen, die von der Kameraeinheit ex203 aufgenommen worden sind und von der Antenne ex201 empfangen worden sind, eine Körpereinheit, die einen Satz Bedienungstasten ex204 enthält, eine Sprachausgabeeinheit ex208, wie z. B. einen Lautsprecher zum Ausgeben von Sprache, eine Spracheingabeeinheit 205, wie z. B. ein Mikrofon zum Eingeben von Sprache, ein Speichermedium ex207 zum Speichern kodierter oder dekodierter Daten, wie z. B. Daten der bewegten oder stehenden Bilder, die von der Kamera aufgenommen worden sind, Daten empfangener E-Mails und Daten von bewegten oder stehenden Bildern, sowie eine Schlitzeinheit ex206 zum Anbringen des Speichermediums ex207 am Zellentelephon ex115. Das Speichermedium ex207 enthält ein Flash-Speicherelement, eine Art EEPROM (elektrisch löschbarer und programmierbarer Nur-Lese-Speicher), der ein nichtflüchtiger Speicher ist, der elektrisch löschbar und wiederbeschreibbar ist, in einem Kunststoffgehäuse, wie z. B. einer SD-Karte.
  • Im Folgenden wird ein Zellentelephon ex115 mit Bezug auf 29 erläutert. Im Zellentelephon ex115 ist eine Hauptsteuereinheit ex311, die dafür ausgelegt ist, jede Einheit des Hauptkörpers zu steuern, der die Anzeigeeinheit ex202 sowie die Bedienungstasten ex204 enthält, wechselseitig mit einer Stromversorgungsschaltungseinheit ex310, einer Bedienungseingabesteuereinheit ex304, einer Bildkodierungseinheit ex312, einer Kameraschnittstelleneinheit ex303, einer LCD-(Flüssigkristallanzeige)-Steuereinheit ex302, einer Bilddekodierungseinheit ex309, einer Multiplex/Demultiplex-Einheit ex308, einer Lese/Schreib-Einheit ex307, einer Modem-Schaltungseinheit ex306 und einer Sprachverarbeitungseinheit ex305 über einen synchronen Bus ex313 verbunden.
  • Wenn eine Anruf-Ende-Taste oder eine Stromversorgungstaste durch die Betätigung eines Benutzers eingeschaltet wird, liefert die Stromversorgungsschaltungseinheit ex310 Strom von einem Batteriepaket an die jeweiligen Einheiten, um somit die am digitalen Zellentelephon ex115 angebrachte Kamera in einen Bereitschaftszustand zu versetzen.
  • Im Zellentelephon ex115 setzt die Sprachverarbeitungseinheit ex305 die mittels der Spracheingabeeinheit ex205 empfangenen Sprachsignale im Konversationsmodus in digitale Sprachdaten unter der Steuerung der Hauptsteuereinheit ex311 um, die eine CPU, einen ROM und einen RAM enthält, wobei die Modemschaltungseinheit ex306 eine Spreizspektrumverarbeitung für die digitalen Sprachdaten durchführt, und wobei die Kommunikationsschaltungseinheit ex301 eine Digital-zu-Analog-Umsetzung und eine Frequenztransformation der Daten durchführt, um diese somit über die Antenne ex201 zu senden. Ferner verstärkt im Zellentelephon ex115 die Kommunikationsschaltungseinheit ex301 die von der Antenne ex201 im Konversationsmodus empfangenen Daten und führt eine Frequenztransformation und eine Analog-zu-Digital-Umsetzung der Daten durch, wobei die Modemschaltungseinheit ex306 eine inverse Spreizspektrumsverarbeitung der Daten durchführt und die Sprachverarbeitungseinheit ex305 diese in analoge Sprachdaten umsetzt, um diese somit über die Sprachausgabeeinheit 208 auszugeben.
  • Wenn ferner eine E-Mail im Datenkommunikationsmodus übermittelt wird, werden die durch eine Betätigung der Bedienungstasten ex204 des Hauptkörpers eingegebenen Textdaten der E-Mail über die Operationseingabesteuerung ex304 zur Hauptsteuereinheit ex311 gesendet. Die Hauptsteuereinheit ex311 führt nach der Modemschaltungseinheit ex306 eine Spreizspektrumsverarbeitung der Textdaten durch, während die Kommunikationsschaltungseinheit ex301 eine Digital-zu-Analog-Umsetzung und eine Frequenztransformation derselben durchführt, wobei die Daten über die Antenne ex201 zum Zellenstandort ex110 übermittelt werden.
  • Wenn die Bilddaten im Datenkommunikationsmodus übermittelt werden, werden die von der Kameraeinheit ex203 aufgenommenen Bilddaten über die Kameraschnittstelleneinheit ex303 der Bildkodierungseinheit ex312 zugeführt. Wenn sie nicht übermittelt werden, ist es auch möglich, die von der Kameraeinheit ex203 aufgenommenen Bilddaten direkt über die Kameraschnittstelleneinheit ex303 und die LCD-Steuereinheit ex302 auf der Anzeigeeinheit 202 anzuzeigen.
  • Die Bildkodierungseinheit ex312, die die Bildkodierungsvorrichtung enthält, die in der vorliegenden Erfindung erläutert wird, komprimiert und kodiert die von der Kameraeinheit ex203 gelieferten Bilddaten mittels des Kodierungsverfahrens, das für die Bildkodierungsvorrichtung verwendet wird, die in der obenerwähnten ersten Ausführungsform gezeigt ist, um diese somit in kodierte Bilddaten zu transformieren, und sendet diese an die Multiplex/Demultiplex-Einheit ex308. Zu diesem Zeitpunkt sendet das Zellentelephon ex115 die von der Spracheingabeeinheit ex205 während der Aufnahme mit der Kameraeinheit ex203 empfangene Sprache an die Multiplex/Demultiplex-Einheit ex308 als digitale Sprachdaten über die Sprachverarbeitungseinheit ex305.
  • Die Multiplex/Demultiplex-Einheit ex308 multiplexiert die kodierten Bilddaten, die von der Bildkodierungseinheit ex312 geliefert werden, und die von der Sprachverarbeitungseinheit ex305 gelieferten Sprachdaten unter Verwendung eines vorgegebenen Verfahrens, wobei die Modemschaltungseinheit ex306 eine Spreizsprektrumsverarbeitung der als Ergebnis der Multiplexierung erhaltenen multiplexierten Daten durchführt, und wobei die Kommunikationsschaltungseinheit ex301 eine Digital-zu-Analog-Umsetzung und eine Frequenztransformation der Daten für die Übermittlung über die Antenne ex201 durchführt.
  • Für den Empfang von Daten einer Filmdatei, die mit einer Web-Seite oder dergleichen verknüpft ist, im Datenkommunikationsmodus führt die Modemschaltungseinheit ex306 eine inverse Spreizspektrumsverarbeitung der vom Zellenstandort ex110 über die Antenne ex201 empfangenen Daten durch und sendet die als Ergebnis der Verarbeitung erhaltenen multiplexierten Daten an die Multiplex/Demultiplex-Einheit ex308.
  • Um die über die Antenne ex201 empfangenen multiplexierten Daten zu dekodieren, trennt die Multiplex/Demultiplex-Einheit ex308 die multiplexierten Daten in einen Bitstrom von Bilddaten und einen Bitstrom von Sprachdaten, und liefert die kodierten Bilddaten an die Bilddekodierungseinheit ex309 und die Sprachdaten an die Sprachverarbeitungseinheit ex305 jeweils über den synchronen Bus ex313.
  • Die Bilddekodierungseinheit ex309, die die in der obenerwähnten Erfindung erläuterte Bilddekodierungsvorrichtung enthält, dekodiert als Nächstes den Bitstrom der Bilddaten mittels des Dekodierungsverfahrens, das dem in den obenerwähnten Ausführungsformen gezeigten Kodierungsverfahren entspricht, um reproduzierte Filmdaten zu erzeugen, und liefert diese Daten über die LCD-Steuereinheit ex302 an die Anzeigeeinheit ex202, so dass die Bilddaten angezeigt werden, die in einer Filmdatei enthalten sind, die z. B. mit einer Web-Seite verknüpft ist. Gleichzeitig konvertiert die Sprachverarbeitungseinheit ex305 die Sprachdaten in analoge Sprachdaten und liefert diese Daten an die Sprachausgabeeinheit ex208, so dass die Sprachdaten wiedergegeben werden, die in der Filmdatei enthalten sind, die z. B. mit einer Web-Seite verknüpft ist.
  • Die vorliegende Erfindung ist nicht auf das obenerwähnte System beschränkt, wobei entweder die Bildkodierungsvorrichtung oder die Bilddekodierungsvorrichtung in den obenerwähnten Ausführungsformen in ein digitales Rundfunksystem integriert sein können, wie in 30 gezeigt ist. Ein solcher digitaler Rundfunk auf Bodenbasis oder auf Satellitenbasis war in der letzten Zeit in den Schlagzeilen. Genauer wird ein Bitstrom von Videoinformationen von einer Rundfunkstation ex409 über Funkwellen zu einem Rundfunksatelliten ex410 übermittelt oder mitgeteilt. Bei Empfang derselben sendet der Rundsatellit ex410 Funkwellen für den Rundfunk aus. Anschließend empfängt eine Antenne ex406 für den Heimgebrauch mit einer Satellitenrundfunkempfangsfunktion die Funkwellen, wobei ein Fernsehgerät (Empfänger) ex401 oder eine Aufsatzbox (STB) ex407 den Bitstrom für die Wiedergabe dekodiert. Die Bilddekodierungsvorrichtung, wie in der obenerwähnten Ausführungsform gezeigt, kann in der Wiedergabevorrichtung ex403 implementiert werden, um den auf einem Speichermedium ex402 aufgezeichneten Bitstrom auszulesen und zu dekodieren, welches ein Aufzeichnungsmedium wie z. B. eine CD und eine DVD ist. In diesem Fall werden die wiedergegebenen Videosignale auf einem Monitor ex404 angezeigt. Es ist ferner denkbar, die Bilddekodierungsvorrichtung in der Aufsatzbox ex407 zu implementieren, die mit einem Kabel ex405 für Kabelfernsehen oder der Antenne ex406 für Satelliten- und/oder Bodenbasis-Rundfunk verbunden ist, um diese somit auf einem Monitor ex408 des Fernsehgerätes ex401 wiederzugeben. Die Bilddekodierungsvorrichtung kann in das Fernsehgerät und nicht in die Aufsatzbox eingebaut sein. Ferner kann ein Fahrzeug ex412, das eine Antenne ex411 aufweist, Signale vom Satelliten ex410 oder vom Zellenstandort ex107 empfangen, um bewegte Bilder auf einer Anzeigevorrichtung, wie z. B. einem Fahrzeugnavigationssystem ex413, wiederzugeben.
  • Ferner kann die Bildkodierungsvorrichtung, wie in den obenerwähnten Ausführungsformen gezeigt, Bildsignale für die Aufzeichnung auf einem Aufzeichnungsmedium kodieren. Ein konkretes Beispiel ist ein Rekorder ex420, wie z. B. ein DVD-Rekorder zum Aufzeichnen von Bildsignalen auf einer DVD-Platte ex421, und ein Plattenrekorder zum Aufzeichnen derselben auf einer Festplatte. Diese können auf einer SD-Karte ex422 aufgezeichnet werden. Wenn der Rekorder ex420 die Bilddekodierungsvorrichtung enthält, wie in den obenerwähnten Ausführungsformen gezeigt ist, können die auf der DVD-Platte ex421 oder der SD-Karte ex422 aufgezeichneten Bildsignale für die Anzeige auf dem Monitor ex408 wiedergegeben werden.
  • Als Struktur eines Fahrzeugnavigationssystems ex413, ist eine Struktur ohne Kameraeinheit ex203, Kameraschnittstelleneinheit ex303 und Bildkodierungseinheit ex312 aus den in 29 gezeigten Komponenten denkbar. Das Gleiche gilt für den Computer ex111, das Fernsehgerät (Empfänger) ex401 und dergleichen.
  • Außerdem können drei Typen von Implementierungen für ein Endgerät, wie z. B. das obenerwähnte Zellentelephon ex114, angenommen werden; ein sendendes/empfangendes Endgerät, das sowohl mit einem Kodierer als auch einem Dekodierer implementiert ist, ein sendendes Endgerät, das nur mit einem Kodierer implementiert ist, und ein empfangendes Endgerät, das nur mit einem Dekodiererimplementiert ist.
  • Wie oben beschrieben worden ist, ist es möglich, das Bildkodierungsverfahren oder das Bilddekodierungsverfahren in den obenerwähnten Ausführungsformen für irgendwelche der obenerwähnten Vorrichtungen und Systeme zu verwenden, wobei durch Verwendung dieses Fahrens die in den obenerwähnten Ausführungsformen beschriebenen Effekte erzielt werden können.
  • Ferner ist die vorliegende Erfindung nicht auf die obenerwähnten Ausführungsformen beschränkt, wobei ein weiter Bereich von Variationen oder Modifikationen innerhalb des Umfangs der folgenden Ansprüche möglich ist.
  • Ein Bildkodierungsverfahren gemäß der vorliegenden Erfindung verbessert die Kodierungseffizienz, da optimale Tabellen für die Kodierung variabler Länge herangezogen werden können, wenn die Anzahl der Koeffizienten ungleich 0, die in einem zu kodierenden Block enthalten sind, kodiert wird.
  • Ferner dekodiert ein Bilddekodierungsverfahren gemäß der vorliegenden Erfindung einen Bitstrom, in dem eine Anzahl der Koeffizienten ungleich 0, die in einem Block enthalten sind, nach einer orthogonalen Transformation mit Bezug auf optimale Tabellen für die Kodierung variabler Länge kodiert ist, korrekt.
  • Industrielle Anwendbarkeit
  • Das Bildkodierungsverfahren und das Bilddekodierungsverfahren gemäß der vorliegenden Erfindung sind somit als Verfahren zum Kodieren eines Bildes zum Erzeugen eines Bitstroms sowie zum Dekodieren des erzeugten Bitstroms unter Verwendung von Vorrichtungen, wie z. B. eines Zellentelephons, einer DVD-Vorrichtung, eines Personalcomputers oder dergleichen, nützlich.

Claims (3)

  1. Kodierungsverfahren zum blockweisen Kodieren eines Bildes durch Umwandlung des Bildes in Koeffizienten, die Ortsfrequenzkomponenten zeigen, umfassend: Bestimmen eines Prädiktionswertes für eine Anzahl von Koeffizienten ungleich Null in einem aktuellen Block, der basierend auf der Anzahl von Koeffizienten ungleich Null in einem an einem Rand des aktuellen Blocks liegenden, kodierten Block zu kodieren ist, wobei jeder Koeffizient ungleich Null einen anderen Wert als "0" aufweist, Auswählen einer Kodetabelle variabler Länge basierend auf dem bestimmten Prädiktionswert, und Kodieren der Anzahl von Koeffizienten ungleich Null in dem aktuellen Block durch Verwendung der ausgewählten Kodetabelle variabler Länge.
  2. Kodierungsverfahren nach Anspruch 1, wobei das Bestimmen auf einer Mehrzahl der Anzahlen von Koeffizienten ungleich Null in an dem Rand des aktuellen Blocks liegenden, kodierten Blöcken basiert.
  3. Kodierungsverfahren nach Anspruch 2, wobei der Prädikationswert durch Verwendung eines Wertes bestimmt wird, welcher einem Durchschnittswert der Anzahl von Koeffizienten ungleich Null in den an dem Rand des aktuellen Blocks liegenden, kodierten Blöcken entspricht.
DE2003611530 2002-04-15 2003-03-27 Bildcodierungsverfahren Expired - Lifetime DE60311530T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002112665 2002-04-15
JP2002112665 2002-04-15

Publications (2)

Publication Number Publication Date
DE60311530D1 DE60311530D1 (de) 2007-03-15
DE60311530T2 true DE60311530T2 (de) 2007-11-15

Family

ID=29243326

Family Applications (8)

Application Number Title Priority Date Filing Date
DE60334341T Expired - Lifetime DE60334341D1 (de) 2002-04-15 2003-03-27 Bilddekodierungsverfahren und Bilddekodierungsvorrichtung
DE2003602652 Expired - Lifetime DE60302652T2 (de) 2002-04-15 2003-03-27 Bildcodierungsverfahren und bilddecodierungsverfahren
DE60328837T Expired - Lifetime DE60328837D1 (de) 2002-04-15 2003-03-27 Bilddekodierungsverfahren
DE60328836T Expired - Lifetime DE60328836D1 (de) 2002-04-15 2003-03-27 Bilddekodierungsverfahren
DE60328838T Expired - Lifetime DE60328838D1 (de) 2002-04-15 2003-03-27 Bildkodierungsverfahren
DE60329639T Expired - Lifetime DE60329639D1 (de) 2002-04-15 2003-03-27 Bildkodierungsverfahren
DE2003611530 Expired - Lifetime DE60311530T2 (de) 2002-04-15 2003-03-27 Bildcodierungsverfahren
DE60329945T Expired - Lifetime DE60329945D1 (de) 2002-04-15 2003-03-27 Bildkodierungsverfahren und Bildkodierungsvorrichtung und Bilddekodierungsverfahren und Bilddekodierungsvorrichtung

Family Applications Before (6)

Application Number Title Priority Date Filing Date
DE60334341T Expired - Lifetime DE60334341D1 (de) 2002-04-15 2003-03-27 Bilddekodierungsverfahren und Bilddekodierungsvorrichtung
DE2003602652 Expired - Lifetime DE60302652T2 (de) 2002-04-15 2003-03-27 Bildcodierungsverfahren und bilddecodierungsverfahren
DE60328837T Expired - Lifetime DE60328837D1 (de) 2002-04-15 2003-03-27 Bilddekodierungsverfahren
DE60328836T Expired - Lifetime DE60328836D1 (de) 2002-04-15 2003-03-27 Bilddekodierungsverfahren
DE60328838T Expired - Lifetime DE60328838D1 (de) 2002-04-15 2003-03-27 Bildkodierungsverfahren
DE60329639T Expired - Lifetime DE60329639D1 (de) 2002-04-15 2003-03-27 Bildkodierungsverfahren

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60329945T Expired - Lifetime DE60329945D1 (de) 2002-04-15 2003-03-27 Bildkodierungsverfahren und Bildkodierungsvorrichtung und Bilddekodierungsverfahren und Bilddekodierungsvorrichtung

Country Status (20)

Country Link
US (14) US7095896B2 (de)
EP (15) EP1596608B1 (de)
JP (22) JP4130780B2 (de)
KR (14) KR101154606B1 (de)
CN (7) CN1917643B (de)
AT (13) ATE352951T1 (de)
AU (1) AU2003227248B2 (de)
BR (2) BR0303566A (de)
CA (2) CA2444357C (de)
CY (2) CY1111051T1 (de)
DE (8) DE60334341D1 (de)
DK (5) DK1478188T3 (de)
ES (13) ES2362563T3 (de)
HK (4) HK1136730A1 (de)
MX (1) MXPA03010115A (de)
MY (4) MY146793A (de)
PT (6) PT2131593E (de)
SI (1) SI1478188T1 (de)
TW (4) TWI330986B (de)
WO (1) WO2003088675A1 (de)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT2268034T (pt) * 2001-11-22 2016-11-18 Godo Kaisha Ip Bridge 1 Método de codificação de comprimento variável e método de descodificação de comprimento variável
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
US7477741B1 (en) * 2004-10-01 2009-01-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analysis resistant cipher method and apparatus
US8633985B2 (en) * 2005-08-05 2014-01-21 Vigil Systems Pty. Ltd. Computerized information collection and training method and apparatus
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
KR100745765B1 (ko) * 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US20080056381A1 (en) * 2006-08-30 2008-03-06 Chih-Ta Star Sung Image compression and decompression with fast storage device accessing
WO2008062687A1 (en) * 2006-11-24 2008-05-29 Nec Corporation Coding and decoding device, coding and decoding method and program
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data
ES2676119T3 (es) 2007-03-14 2018-07-16 Nippon Telegraph And Telephone Corporation Método de control de cuantificación, dispositivo, programa y medio de grabación que contiene el programa
EP2120463B1 (de) 2007-03-14 2014-12-10 Nippon Telegraph and Telephone Corporation Kodierungsbitraten-steuerungsverfahren, -vorrichtung und -programm sowie aufzeichnungsmedium mit dem programm
WO2008111511A1 (ja) 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体
KR101083379B1 (ko) 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체
US20080260023A1 (en) * 2007-04-18 2008-10-23 Chih-Ta Star Sung Digital video encoding and decoding with refernecing frame buffer compression
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning
US8213502B2 (en) * 2007-12-31 2012-07-03 Ceva D.S.P. Ltd. Method and system for real-time adaptive quantization control
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
WO2009107777A1 (ja) * 2008-02-27 2009-09-03 株式会社 東芝 動画像符号化/復号装置
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
JP2012124542A (ja) * 2009-03-03 2012-06-28 Hitachi Ltd 動画像符号化方法及び動画像復号化方法
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
WO2010133763A1 (en) * 2009-05-19 2010-11-25 Nokia Corporation Method for variable length coding and apparatus
HRP20231396T1 (hr) * 2009-06-18 2024-05-10 Kabushiki Kaisha Toshiba Video kodiranje
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
KR101702822B1 (ko) 2010-04-01 2017-02-06 소니 주식회사 화상 처리 장치 및 방법
CN106231337B (zh) 2010-04-13 2020-06-19 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
CN106067983B (zh) 2010-04-13 2019-07-12 Ge视频压缩有限责任公司 解码数据流的方法、生成数据流的方法及解码器
BR122020008249B1 (pt) 2010-04-13 2021-02-17 Ge Video Compression, Llc herança em amostra de arranjo em subdivisão multitree
EP3703369B1 (de) 2010-04-13 2024-07-24 GE Video Compression, LLC Fusion von probenbereichen
US9106933B1 (en) * 2010-05-18 2015-08-11 Google Inc. Apparatus and method for encoding video using different second-stage transform
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
JP5064547B2 (ja) * 2010-09-15 2012-10-31 豊田合成株式会社 車両用放電装置
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
JP5652101B2 (ja) * 2010-10-05 2015-01-14 富士通株式会社 画像処理装置及び画像処理方法
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
KR101953522B1 (ko) * 2011-06-17 2019-02-28 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
TWI569634B (zh) * 2011-10-31 2017-02-01 Jvc Kenwood Corp Dynamic image decoding device, dynamic image decoding method and dynamic image decoding program
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
TWI647950B (zh) * 2011-12-28 2019-01-11 日商Jvc建伍股份有限公司 Dynamic image decoding device, dynamic image decoding method, and recording medium
JP6000579B2 (ja) 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP5975685B2 (ja) 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
JP5498597B2 (ja) * 2013-02-07 2014-05-21 株式会社東芝 動画像符号化装置及び方法
JP5547312B2 (ja) * 2013-02-07 2014-07-09 株式会社東芝 動画像復号化装置及び方法
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
WO2015109598A1 (en) * 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
WO2015194187A1 (en) * 2014-06-20 2015-12-23 Sharp Kabushiki Kaisha Harmonized palette coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
JP6561644B2 (ja) * 2014-12-25 2019-08-21 オムロン株式会社 導光板、表示装置及び遊技機
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10531102B2 (en) 2015-09-10 2020-01-07 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP6434172B2 (ja) * 2018-01-12 2018-12-05 マクセル株式会社 復号化方法
WO2019143688A1 (en) 2018-01-19 2019-07-25 Pcms Holdings, Inc. Multi-focal planes with varying positions
CN118573835A (zh) 2018-03-23 2024-08-30 交互数字Vc控股公司 在dibr系统(mfp-dibr)中产生立体视点的基于多焦面的方法
CN112585963B (zh) * 2018-07-05 2024-04-09 Pcms控股公司 用于2d显示器上的内容的3d感知的近眼焦平面覆盖层的方法和系统
CN109360253B (zh) * 2018-09-28 2023-08-11 共享智能装备有限公司 一种大像素bmp格式图像的绘制方法
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11663730B2 (en) * 2021-02-19 2023-05-30 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for an improved camera system using a graded lens and filters to estimate depth
CN113436289B (zh) * 2021-08-04 2023-08-22 成都工业学院 一种基于方向向量相关系数的图像编码及分类方法
CN113678849B (zh) * 2021-08-15 2023-06-23 万杰智能科技股份有限公司 一种油条坯转送及拉长装置
CN117498873B (zh) * 2023-11-07 2024-03-29 东莞市杜氏诚发精密弹簧有限公司 一种血管栓塞弹簧组件智能加工系统

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541012A (en) * 1982-01-04 1985-09-10 Compression Labs, Inc. Video bandwidth reduction system employing interframe block differencing and transform domain coding
US5010401A (en) * 1988-08-11 1991-04-23 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JP3207198B2 (ja) 1990-11-26 2001-09-10 株式会社東芝 液晶表示プロジェクタの冷却装置
JPH04223773A (ja) * 1990-12-26 1992-08-13 Casio Comput Co Ltd 符号化装置
EP0533195A2 (de) * 1991-09-20 1993-03-24 Sony Corporation Vorrichtung zum Kodieren und/oder Dekodieren von Bildsignalen
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JP3016456B2 (ja) * 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
US5784631A (en) * 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
JP3278948B2 (ja) * 1993-02-05 2002-04-30 日本電信電話株式会社 可変長符号化方法
DE69418372T2 (de) * 1993-03-15 1999-11-25 Sony Corp., Tokio/Tokyo Übertragung und Dekodierung von Bildsignalen
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5539663A (en) 1993-11-24 1996-07-23 Intel Corporation Process, apparatus and system for encoding and decoding video signals using temporal filtering
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
TW393856B (en) 1994-09-07 2000-06-11 Ind Tech Res Inst Video compression method and device
JP4223571B2 (ja) * 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
JP3484834B2 (ja) * 1995-07-28 2004-01-06 ソニー株式会社 データ符号化/復号化方法および装置
JPH0955935A (ja) * 1995-08-15 1997-02-25 Nippon Steel Corp 画像および音声符号化装置
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
JP3552811B2 (ja) * 1995-09-29 2004-08-11 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US5777679A (en) * 1996-03-15 1998-07-07 International Business Machines Corporation Video decoder including polyphase fir horizontal filter
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
JP2848326B2 (ja) * 1996-03-28 1999-01-20 日本電気株式会社 Mpeg符号化画像復号装置
KR100371130B1 (ko) * 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
JPH1023425A (ja) * 1996-07-01 1998-01-23 Sony Corp 画像符号化装置および方法、画像復号化装置および方法、並びに画像記録媒体
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
JP3208101B2 (ja) 1996-11-07 2001-09-10 松下電器産業株式会社 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
KR100425615B1 (ko) * 1996-11-07 2004-04-01 마쯔시다덴기산교 가부시키가이샤 부호화 방법 및 장치와 복호화 방법 및 장치
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6614845B1 (en) * 1996-12-24 2003-09-02 Verizon Laboratories Inc. Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6212236B1 (en) * 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US6680976B1 (en) * 1997-07-28 2004-01-20 The Board Of Trustees Of The University Of Illinois Robust, reliable compression and packetization scheme for transmitting video
JP3356663B2 (ja) * 1997-10-22 2002-12-16 松下電器産業株式会社 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
JP3738939B2 (ja) * 1998-03-05 2006-01-25 Kddi株式会社 動画像のカット点検出装置
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
JP2001028748A (ja) * 1999-07-12 2001-01-30 Sony Corp データ再生伝送装置及びデータ再生伝送方法
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
KR100349650B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법
KR100349649B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상압축 부호화장치의 가변 길이 부호화기
KR20020006250A (ko) * 2000-07-12 2002-01-19 린 와이-푸 점술을 중심으로 하는 네트워크 마케팅 시스템 및 그 방법
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
EP1391121B1 (de) * 2001-03-23 2012-08-15 Nokia Corporation Codierung variabler länge
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP4223773B2 (ja) 2002-09-13 2009-02-12 株式会社東芝 無線通信端末
JP4100390B2 (ja) 2004-10-07 2008-06-11 三菱自動車工業株式会社 車両の前部車体構造

Also Published As

Publication number Publication date
EP2239948A1 (de) 2010-10-13
JP4465026B2 (ja) 2010-05-19
JP2008178128A (ja) 2008-07-31
MY140969A (en) 2010-02-12
KR20110099348A (ko) 2011-09-07
KR20120091468A (ko) 2012-08-17
JP2008312226A (ja) 2008-12-25
EP2293577A1 (de) 2011-03-09
US20130034308A1 (en) 2013-02-07
US20080056362A1 (en) 2008-03-06
JP4185560B2 (ja) 2008-11-26
CN100527846C (zh) 2009-08-12
EP2254340A1 (de) 2010-11-24
JP2011172236A (ja) 2011-09-01
US7095896B2 (en) 2006-08-22
CY1111051T1 (el) 2015-06-11
EP1478188A4 (de) 2004-11-17
DE60334341D1 (de) 2010-11-04
ES2329823T3 (es) 2009-12-01
EP1746841B1 (de) 2009-10-07
EP2134097B1 (de) 2011-09-07
ES2348325T3 (es) 2010-12-02
JP4130780B2 (ja) 2008-08-06
JP4598158B1 (ja) 2010-12-15
US7308143B2 (en) 2007-12-11
TW200629912A (en) 2006-08-16
JP4982459B2 (ja) 2012-07-25
EP2131593A1 (de) 2009-12-09
TWI281352B (en) 2007-05-11
EP2254341A1 (de) 2010-11-24
KR20100074327A (ko) 2010-07-01
DK1744562T3 (da) 2009-10-12
US20080117969A1 (en) 2008-05-22
DK2131593T3 (da) 2010-10-25
EP1744562B1 (de) 2009-08-12
US20080175315A1 (en) 2008-07-24
ES2398516T3 (es) 2013-03-19
JP4191793B1 (ja) 2008-12-03
JP2011061834A (ja) 2011-03-24
JP4185563B2 (ja) 2008-11-26
ATE439738T1 (de) 2009-08-15
KR20100012103A (ko) 2010-02-05
JP4741716B1 (ja) 2011-08-10
PT2239948E (pt) 2011-06-09
TWI314838B (en) 2009-09-11
US20060269154A1 (en) 2006-11-30
KR101257212B1 (ko) 2013-04-23
JP2009022039A (ja) 2009-01-29
JP2010093842A (ja) 2010-04-22
AU2003227248B2 (en) 2007-08-23
KR20100012061A (ko) 2010-02-04
KR100987541B1 (ko) 2010-10-12
CA2444357A1 (en) 2003-10-14
US7697770B2 (en) 2010-04-13
ATE527819T1 (de) 2011-10-15
EP1744562A3 (de) 2007-02-07
DE60311530D1 (de) 2007-03-15
DK1478188T3 (da) 2006-02-13
EP2293578A1 (de) 2011-03-09
ES2376639T3 (es) 2012-03-15
ES2376639T9 (es) 2012-06-07
EP1744561A3 (de) 2007-02-07
CN100527838C (zh) 2009-08-12
US8265403B2 (en) 2012-09-11
US8290286B2 (en) 2012-10-16
KR100954244B1 (ko) 2010-04-23
KR100990314B1 (ko) 2010-10-26
MY135378A (en) 2008-04-30
CA2444357C (en) 2012-03-20
EP1596608B1 (de) 2007-01-24
MXPA03010115A (es) 2004-03-10
EP1744562A2 (de) 2007-01-17
DE60328838D1 (de) 2009-09-24
US8867855B2 (en) 2014-10-21
KR100956920B1 (ko) 2010-05-11
DE60328837D1 (de) 2009-09-24
US7693340B2 (en) 2010-04-06
JP4185564B2 (ja) 2008-11-26
CN1976468A (zh) 2007-06-06
TWI330986B (en) 2010-09-21
JP2009171602A (ja) 2009-07-30
BR0303566A (pt) 2004-04-20
ES2369653T3 (es) 2011-12-02
ES2277313T3 (es) 2007-07-01
HK1136730A1 (en) 2010-07-02
JP4598159B2 (ja) 2010-12-15
KR101038154B1 (ko) 2011-05-31
AU2003227248A1 (en) 2003-10-27
ATE445294T1 (de) 2009-10-15
DE60329945D1 (de) 2009-12-17
ATE447828T1 (de) 2009-11-15
KR20040099093A (ko) 2004-11-26
JP5485363B2 (ja) 2014-05-07
US20060233451A1 (en) 2006-10-19
PT2254341E (pt) 2011-10-17
ATE439739T1 (de) 2009-08-15
KR101154606B1 (ko) 2012-06-08
EP2254340B1 (de) 2012-01-18
BRPI0303566B1 (pt) 2018-02-06
JP4185106B2 (ja) 2008-11-26
TW200629911A (en) 2006-08-16
ES2330661T3 (es) 2009-12-14
EP1750451A3 (de) 2007-02-21
JP4465035B2 (ja) 2010-05-19
EP2131592A1 (de) 2009-12-09
JP2006246499A (ja) 2006-09-14
JP2008193725A (ja) 2008-08-21
JP2011010338A (ja) 2011-01-13
KR100956926B1 (ko) 2010-05-11
US20040184538A1 (en) 2004-09-23
JP2010193509A (ja) 2010-09-02
EP1750451A2 (de) 2007-02-07
JP4628499B2 (ja) 2011-02-09
JP2010206823A (ja) 2010-09-16
EP2254341B1 (de) 2011-10-05
EP1746841A1 (de) 2007-01-24
KR101227720B1 (ko) 2013-01-29
US7308144B2 (en) 2007-12-11
KR100987548B1 (ko) 2010-10-12
ES2399226T3 (es) 2013-03-26
EP1744561A2 (de) 2007-01-17
CN1976471A (zh) 2007-06-06
PT2254340E (pt) 2012-02-02
ATE524020T1 (de) 2011-09-15
ATE511733T1 (de) 2011-06-15
JP2010268514A (ja) 2010-11-25
TWI314837B (en) 2009-09-11
CA2732005C (en) 2012-12-04
ES2252666T3 (es) 2006-05-16
JP4382864B2 (ja) 2009-12-16
JP4465036B2 (ja) 2010-05-19
US7184598B2 (en) 2007-02-27
JP2004007506A (ja) 2004-01-08
US8526748B2 (en) 2013-09-03
DE60329639D1 (de) 2009-11-19
KR20110016508A (ko) 2011-02-17
KR100956927B1 (ko) 2010-05-11
SI1478188T1 (sl) 2006-04-30
EP2293577B1 (de) 2012-11-21
CA2732005A1 (en) 2003-10-23
JP5716082B2 (ja) 2015-05-13
JP4653258B1 (ja) 2011-03-16
ATE542370T1 (de) 2012-02-15
JP2010081646A (ja) 2010-04-08
DE60302652T2 (de) 2006-08-10
US7769238B2 (en) 2010-08-03
KR100980987B1 (ko) 2010-09-07
US7305134B2 (en) 2007-12-04
US7308149B2 (en) 2007-12-11
KR20100074326A (ko) 2010-07-01
CN100527839C (zh) 2009-08-12
EP1744561B1 (de) 2009-11-04
EP1596608A3 (de) 2005-11-30
ES2369065T3 (es) 2011-11-25
HK1146562A1 (en) 2011-06-17
EP2134097A1 (de) 2009-12-16
ATE439740T1 (de) 2009-08-15
JP2008160887A (ja) 2008-07-10
CN1976470A (zh) 2007-06-06
CN1917643A (zh) 2007-02-21
CN1293762C (zh) 2007-01-03
JP4628498B2 (ja) 2011-02-09
KR20100024495A (ko) 2010-03-05
KR20120039761A (ko) 2012-04-25
PT2131593E (pt) 2010-10-11
CN100527841C (zh) 2009-08-12
EP1753246A1 (de) 2007-02-14
US20090034616A1 (en) 2009-02-05
ES2329712T3 (es) 2009-11-30
EP2239948B1 (de) 2011-06-01
JP2009005396A (ja) 2009-01-08
US20060233450A1 (en) 2006-10-19
CN1929608A (zh) 2007-03-14
CY1111971T1 (el) 2015-11-04
JP4185561B2 (ja) 2008-11-26
EP2131592B1 (de) 2011-10-26
EP1478188B1 (de) 2005-12-07
DE60328836D1 (de) 2009-09-24
HK1148150A1 (en) 2011-08-26
ATE531202T1 (de) 2011-11-15
DK1596608T3 (da) 2007-03-05
DE60302652D1 (de) 2006-01-12
JP2013070428A (ja) 2013-04-18
CN1976469A (zh) 2007-06-06
JP5208156B2 (ja) 2013-06-12
DK1746841T3 (da) 2009-11-30
KR20100074325A (ko) 2010-07-01
ES2362563T3 (es) 2011-07-07
JP2008182756A (ja) 2008-08-07
ATE352951T1 (de) 2007-02-15
EP1750451B1 (de) 2009-08-12
CN100527840C (zh) 2009-08-12
CN1917643B (zh) 2010-12-01
HK1146561A1 (en) 2011-06-17
ES2330661T4 (es) 2010-06-02
US8139878B2 (en) 2012-03-20
EP1753246B1 (de) 2009-08-12
ATE482570T1 (de) 2010-10-15
KR101001753B1 (ko) 2010-12-15
US20080063055A1 (en) 2008-03-13
TW200629910A (en) 2006-08-16
JP2011010339A (ja) 2011-01-13
EP2131593B1 (de) 2010-09-22
EP1596608A2 (de) 2005-11-16
ES2329822T3 (es) 2009-12-01
PT1746841E (pt) 2009-11-03
US20080063056A1 (en) 2008-03-13
MY146793A (en) 2012-09-28
KR20060040751A (ko) 2006-05-10
EP1478188A1 (de) 2004-11-17
JP5208157B2 (ja) 2013-06-12
US20060233449A1 (en) 2006-10-19
JP2011010340A (ja) 2011-01-13
TW200307465A (en) 2003-12-01
JP2014079003A (ja) 2014-05-01
CN1565130A (zh) 2005-01-12
ATE312478T1 (de) 2005-12-15
EP2293578B1 (de) 2012-11-21
KR20060040753A (ko) 2006-05-10
KR20060040752A (ko) 2006-05-10
MY141699A (en) 2010-06-15
WO2003088675A1 (en) 2003-10-23
US20060239575A1 (en) 2006-10-26
US20130315495A1 (en) 2013-11-28
PT1744562E (pt) 2009-09-04
KR101152507B1 (ko) 2012-06-01

Similar Documents

Publication Publication Date Title
DE60311530T2 (de) Bildcodierungsverfahren
DE60320243T2 (de) Bewegungsvektorcodierungsverfahren und bewegungsvektordecodierungsverfahren
DE60318918T2 (de) Decodierungsverfahren mit variabler Länge
DE60312620T2 (de) Codierungs- und decodierungsverfahren mit variabler länge
DE60214248T2 (de) Bildkodierungsverfahren und Bilddekodierungsverfahren
DE60318307T2 (de) Bilddecodierungsverfahren für S-pictures mit Pufferrücksetzung und PN Umstellung für kontinuität.
DE69525893T2 (de) Bildkodierung mit Überwachung der Quantisierungsschrittweite
DE69529137T2 (de) Szenenänderungsadaptiver Bildkodierer
DE60215241T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE60310842T2 (de) Verfahren zur Codierung und Decodierung von H.264 Bildern mittels eines virtuellen Anzeigepuffers.
DE10300048B4 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
DE60315565T2 (de) Verfahren und Vorrichtung zur Codierung und Decodierung von Bewegungsvektoren
DE19730360B4 (de) Bilddatenfilterungsvorrichtung und Verfahren zur Verminderung von Bilddatencodierfehlern
DE69815159T2 (de) Kodierung von bewegten bildern mit globaler konstanter bitrate
EP1453319B1 (de) &#34;codierungsverzerrungsbeseitigungsverfahren, codierungsverfahren für bewegliche bilder, decodierungsverfahren für bewegliche bilder und vorrichtung zu ihrer realisierung, programm&#34;
DE69929430T2 (de) Verfahren und vorrichtung zur codierung von video-information
DE69709914T2 (de) Vorrichtung zur Bildvorhersage und -decodierung
DE69622518T2 (de) Verfahren und Vorrichtung zur Nachbearbeitung von Bildern
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
DE102005029127A1 (de) Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
DE102013105461A1 (de) Ratensteuerverfahren für mehrschichtige Videocodierung, sowie Videocodiervorrichtung und Videosignalverarbeitungsvorrichtung, welche das Ratensteuerverfahren verwenden
DE102013015821B4 (de) System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation
DE102019103346A1 (de) Ssim-basierte rate-distortion-optimierung für eine verbesserte wahrnehmbare qualität bei videos
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE102011006036B4 (de) Verfahren und Vorrichtungen zur Bildung eines Prädiktionswertes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP