DE69624276T2 - System und Verfahren zur variablen Längenkodierung von sich bewegenden Bildern - Google Patents
System und Verfahren zur variablen Längenkodierung von sich bewegenden BildernInfo
- Publication number
- DE69624276T2 DE69624276T2 DE69624276T DE69624276T DE69624276T2 DE 69624276 T2 DE69624276 T2 DE 69624276T2 DE 69624276 T DE69624276 T DE 69624276T DE 69624276 T DE69624276 T DE 69624276T DE 69624276 T2 DE69624276 T2 DE 69624276T2
- Authority
- DE
- Germany
- Prior art keywords
- code
- data
- decoding
- decoded
- 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
Links
- 238000000034 method Methods 0.000 title claims description 85
- 230000002441 reversible effect Effects 0.000 description 96
- 238000010586 diagram Methods 0.000 description 33
- 230000005540 biological transmission Effects 0.000 description 23
- 238000002360 preparation method Methods 0.000 description 17
- 230000008707 rearrangement Effects 0.000 description 17
- 238000013139 quantization Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 108091026890 Coding region Proteins 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000004904 shortening Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000035876 healing Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0084—Formats for payload data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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 a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/1887—Methods 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 a variable length codeword
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/66—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/69—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Die Erfindung betrifft allgemein ein Bewegtbild-Codier- und/oder Decodiersystem, das in einer Vorrichtung/einem System zum Übertragen, Speichern und Wiedergeben eines Bewegtbildes, wie etwa einem Videotelefon, einer Videokonferenzeinheit, einem transportierbaren bzw. tragbaren Informationsendgerät, einem digitalen Videodisksystem und einer digitalen Fernsehrundübertragungseinheit vorgesehen ist. Im Einzelnen betrifft die Erfindung ein System zum Komprimieren und Codieren von Bilddaten in eine geringere Menge von Daten. Die Erfindung betrifft insbesondere ein Bewegtbild-Codier- und/oder Decodiersystem, das eine große Fehlerwiderstandsfähigkeit hat, selbst wenn die Codierbilddaten mittels eines Mediums bzw. Trägers übertragen/gespeichert werden, das bzw. der leicht Fehler erzeugt, wie etwa ein Funkkanal, und das das Bewegtbild in guter Qualität übertragen/speichern kann.
- Die Erfindung betrifft allgemein ein Codierungssystem und/oder ein Decodierungssystem mit variabler Wortlänge.
- In den zurückliegenden Jahren sind als Technik zur Komprimierung und zur Codierung von Bilddaten in eine geringere Menge von Daten zum effizienten Übertragen und Speichern der Bilddaten verschiedene Verfahren entwickelt und vorgeschlagen worden, wie etwa die Bewegungskompensation, die diskrete Konsinustransformation, die Unterbandcodierung (subband coding), die Pyramidencodierung und die Kombination davon. Insbesondere ist als internationales Standardverfahren zum Komprimieren und Codieren eines Bewegtbildes "ISO-MPEG1, MPEG2, ITU-T·H. 261, H. 262" standardisiert. Alle diese sind in Verfahren beinhaltet, die eine diskrete Kosinustransformationscodierung mit bewegungskompensierter adaptiver Prädiktion verwenden, die im Detail in "International Standard of Multimedia Coding" (von Hiroshi Yasuda, veröffentlicht durch Maruzen, Juni 1991) (Literatur 1) usw. beschrieben sind. Der Ausdruck "MPEG" bedeutet "Moving Picture Experts Group", die einer Organisation entspricht, die die Standardisierungsarbeit eines Codierverfahrens zum Speichern eines Farbbewegungsbildes bearbeitet. Der Ausdruck "MPEG" wird ebenso als der Standardisierungsname eines Codierverfahrens verwendet, dessen Spezifikation durch die Organisation "MPEG" bestimmt worden ist.
- Als ein Beispiel von konventionellen Bewegtbild-Codiersystemen zeigt das Blockschaltbild in Fig. 1(a) ein Codiersystem, das die diskrete Kosinustransformation mit adaptiver Bewegungskompensationsprädiktion verwendet. Zunächst werden einem Codiersystem eingespeiste Bilddaten 331 in Bereiche unterteilt, die durch eine Bereichsunterteileinheit 301 definiert sind. Danach werden gemäß der Darstellung von Fig. 2(a) die Codierungen in einer Blockreihenfolge von dem obersten linken Bereich zu dem untersten linken Bereich ausgeführt und wird gemäß der Darstellung von Fig. 2(b) eine kontinuierliche Codefolge in einem Rahmensynchronisationssignal konfiguriert. In einem Codierer wird zunächst die adapitive Bewegungskompensationsprädiktion ausgeführt. In Fig. 1(a) erfaßt ein Generator eines adaptiven Bewegungskompensationsprädiktionssignals einen Bewegungsvektor zwischen einem Eingangsbild und einem Bild, das in einem Rahmenspeicher 305 gespeichert worden ist und codiert und lokal decodiert worden ist, und erzeugt ein adaptives Bewegungskompensationsprädiktionssignal. Danach wird aus den Intrarahmencodierungen (ein Prädiktionssignal = 0), bei denen die Bewegungskompensationsprädiktion und das Eingangssignal in der Codierung, wie sie sind, gesendet werden, ein für die Codierung geeigneter Prädiktionsmodus ausgewählt und das entsprechende Prädiktionssignal 333 ausgegeben.
- In einer Subtrahiereinheit 306 wird das ausgewählte Prädiktionssignal 333 von dem Eingangssignal zum Ausgeben eines Prädiktionsrestsignals 334 subtrahiert. Bezüglich jedem Block einer vorbestimmten Größe wird die diskrete Kosinustransformation (DCT) des Prädiktionsrestsignals 334 mittels einer diskreten Kosinustransformationseinheit 307 ausgeführt und wird ihre Quantisierung mittels eher Quantiziereinheit 308 ausgeführt. Die Ausgabe der Quantiziereinheit 308 wird in zwei Abschnitte unterteilt, eine davon wird mit dem Bewegungsvektor mittels eines Multiplexers 309 gemultiplext, um ausgegeben zu werden, und der andere davon wird invers quantiziert mittels einer inversen Quantiziereinheit 312 und die inverse bzw. umgekehrte diskrete Kosinustransformationseinheit (inverse DCT) davon wird durch eine Inverse-Diskrete-Konsinustransformationseinheit 313 ausgeführt. Die Ausgabe der Inverse-Diskrete-Konsinustransformationseinheit 313 wird zu dem adaptiven Prädiktionssignal 333 mittels einer Addiereinheit 314 addiert, um in dem Rahmenspeicher 305 aufgezeichnet zu werden.
- Bei einem derartigen konventionellen Bewegtbildcodiersystem bestehen die folgenden Probleme:
- Zunächst bestehen die Probleme darin, dass, falls ein Fehler bei einem Abschnitt eines Codes mit variabler Wortlänge auftritt, ein Außertrittfallen der Codierung mit variabler Wortlänge erzeugt wird, und dass, selbst wenn die nachfolgenden Daten korrekt empfangen werden, sie in einen fehlerhaften Wert decodiert werden. Folglich beeinflußt der Fehler in diesem Abschnitt die nachfolgende Decodierung, die mit einer großen Verschlechterung der Bildqualität in Bezug steht. Aus diesem Grund werden bei einem konventionellen Verfahren, falls ein Fehler erfaßt wird, die Daten nicht berücksichtigt, bis das Rahmensynchronisationssignal (PSC) des nächsten Rahmens empfangen wird. Wird jedoch eine derartige Verarbeitung ausgeführt, wird die Bildqualität stark verschlechtert, da die Datenmenge im Vergleich zu der natürlichen Datenmenge stark verringert wird.
- Als ein Verfahren zum Lösen derartiger Probleme haben Nakamura und Nakai ein hocheffizientes Bewegtbild-Codierverfahren, das die Fehlerwiderstandsfähigkeit berücksichtigt, in dem Picture Coding Symposium 1994 (PCSJ94) vorgeschlagen (vgl. Literatur 2: "Moving Picture High-Efficient Coding Method Considering Error Resistance" von Matsui und Nakai, Picture Coding Symposium 1994, 1-1). Obwohl die Bewegtbildcodierung einen Code mit variabler Wortlänge verwendet, besteht der Nachteil, dass bei dem Code mit variabler Wortlänge das Außertrittfallen auftritt, falls ein Fehler darin auftritt. Der Code mit variabler Wortlänge ist jedoch ebenso dadurch gekennzeichnet, dass, selbst wenn das Außertrittfallen in Folge von Fehlern auftritt, er decodiert wird, wie er ist, so dass die Pause zwischen Codierungen automatisch mit der korrekten Pause übereinstimmt, so dass seine Synchronisation wiederhergestellt wird. Selbst wenn der Synchronismus wiederhergestellt wird, ist es unmöglich, einen Bereich zu identifizieren, der den Daten entspricht, so dass die Daten nach einer Synchronisationswiederherstellung nicht wieder verwendet werden können. Das vorstehende Verfahren ist dadurch gekennzeichnet, dass das Codierungsserienbeschreibende Verfahren von der konventionellen Anordnung der Bereiche zu der Anordnung einer Vielzahl von Einheiten von Bereichen in der hinteren Prädiktionsrestcodierungsfolge geändert wird, nachdem eine Codierung mit variabler Wortlänge in die Einheiten von Bereichen gemäß den Inhalten von Daten unterteilt ist, wie es in Fig. 1(b) gezeigt ist, so dass die selbst synchronisierende Heilung der Codierung mit variabler Wortlänge verwendet werden kann. In diesem Verfahren wird, selbst wenn ein Fehler auftritt, die Decodierung aufgerührt, wie sie ist, bis das Rahmensynchronisationssignal des nächsten Rahmens empfangen wird, so dass es möglich ist, die Kopfdaten, die in dem Präfixabschnitt decodiert worden sind, zusammen mit dem decodierten Wert des Reduktionsrestsignals in der Reihenfolge von dem Suffix zu verwenden, so dass die Menge verfügbarer Daten ansteigt.
- Bei diesem Verfahren bestehen jedoch die nachstehenden Probleme. Bei einem Kanal mit einer hohen Fehlerrate, bei dem eine Vielzahl von Fehlern in Daten eines Rahmens vorhanden sind, verringern sich die verfügbaren Daten. Verringern sich die decodierbaren Bereiche, werden die Bereiche mit einer hohen Wahrscheinlichkeit zur Decodierung an einen bestimmten Bereich (dem oberen Abschnitt eines Bildschirms) unabhängig von der Charakteristik des Bildes konzentriert. D. h., dass nur unbedeutende Bereiche, wie etwa der Hintergrund, ausgespart werden und es uneffizient ist, da bedeutende Bereiche im Zentrum des Bildschirms vorhanden sind, wenn die gewöhnliche Verwendung betrachtet wird. Wenn die Bereiche, die nicht decodiert werden konnten, auf der Grundlage der Bereiche vorhergesagt werden, die decodiert werden konnten, muß der gesamte Bildschirm auf der Grundlage lokal konzentrierter Bereiche vorhergesagt werden, so dass es schwierig ist, die Bereiche vorherzusagen, die nicht decodiert werden können. Tritt ein Fehler in der ersten Hälfte der Kopfdaten auf, kann, selbst wenn alle die hinteren Prädiktionsrestdaten decodiert werden können, nur der Bereich decodiert werden, in dem die erste Hälfte der Kopfdaten decodiert werden konnte.. D. h., da die hinteren PrädiktionsPrädiktionsdaten auf der ersten Hälfte der Kopfdaten beruhen, sind die Daten, die decodiert werden konnten, nicht nötig.
- Fig. 1(c) zeigt ein Blockschaltbild zur Veranschaulichung des prinzipiellen Aufbaus eines konventionellen Bewegtbild-Decodiersystems. Das System ist derart ausgeführt, dass eine Decodierung eines Bilddatensignals durch eine Betriebsweise erlangt wird, die umgekehrt zu der von Fig. 1(a) ist.
- Fig. 3 zeigt eine Darstellung zur Veranschaulichung eines Beispiels von konventionellen Abtastreihenfolgen von DCT-Koeffizienten. Die Abtastung wurde in Zick-Zack-Form als Verlauf dieser Figur ausgeführt.
- Fig. 4 zeigt ein Beispiel von konventionellen Codierverfahren zum Einfügen von Synchronisationssignalen in Rahmen. Wird die Codierung der Bereiche gemäß der Darstellung von Fig. 4(a) ausgeführt, wird ein Synchronisationssignal bei jeder Blockzeileneinheit (n ≥ 1) gemäß der Darstellung von Fig. 4(b) eingefügt, so dass die Gelegenheit für eine Synchronisationsheilung ansteigt.
- Wie vorstehend angeführt, besteht bei konventionellen Bewegtbild-Codier- und/oder Decodiersystemen ein Nachteil darin, dass, falls ein Fehler in einem Code mit variabler Wortlänge auftritt, die Qualität des decodierten Bildes in Folge des Außertrittfallens des Signals mit variabler Wortlänge stark verringert wird. Es besteht ebenso der Nachteil, dass, falls nur ein Teil der Bilddaten in Folge des Fehlers decodiert werden kann, die Wahrscheinlichkeit der Decodierung jeder der Bereiche auf einem bestimmten Abschnitt konzentriert wird, was ineffizient ist.
- Dabei ist ein Code mit variabler Wortlänge eine Reihe von Coden, bei welchen auf der Grundlage der Häufigkeit des Auftretens von Symbolen ein Code mit kurzer Wortlänge einem Symbol, dass häufig auftritt, zugeordnet wird und ein Code mit einer großen Länge einem Symbol zugeordnet wird, das selten auftritt, um die mittlere Codelänge zu verkürzen.
- Wenn daher der Code mit variabler Wortlänge verwendet wird, kann die Datenmenge im Vergleich zu den Daten vor der Codierung stark komprimiert werden. Als Verfahren zum Konfigurieren eines derartigen Codes mit variabler Wortlänge ist der Huffmann- Algorithmus, der der geeignetste für eine speicherlose Quelle ist, bekannt.
- Bei dem Code mit variabler Wortlänge besteht ein allgemeines Problem darin, dass, wenn ein Fehler bei der Codierung von Daten in Folge eines Kanalfehlers oder aus weiteren Gründen in die Codierdaten eingemischt wird, die Daten nach dem Einmischen des Fehlers übertragen werden, so dass die Daten durch ein Decodiersystem nicht korrekt decodiert werden können. Aus diesem Grund werden allgemein, wenn ein Fehler auftreten kann, Synchronisiercode an regelmäßigen Intervallen zum Verhindern der Ausbreitung des Fehlers eingefügt. Den Synchronisiercoden wird ein Bit-Muster zugewiesen, das durch Kombination von Coden mit variabler Wortlänge nicht auftritt. Gemäß diesem Verfahren kann, selbst wenn ein Fehler bei der Codierung von Daten auftritt, so dass die Decodierung nicht ausgeführt werden konnte, die Ausbreitung des Fehlers zum korrekten Decodieren der Daten durch Suchen des nächsten Synchronisiercodes verhindert werden. Falls jedoch derartige Synchronisiercode verwendet werden, ist es unmöglich, die Codierdaten zwischen der Stelle, an welcher ein Fehler auftritt, so daß eine korrekte Decodierung nicht möglich ist, und der Stelle zu Decodieren, an der der nächste Synchronisiercode gesucht wird, wie es in Fig. 33(a) gezeigt ist.
- Es ist daher ein Verfahren zum Ändern der Konfiguration eines Codes mit variabler Wortlänge von einer gewöhnlichen Konfiguration, wie sie in Fig. 34 gezeigt ist, in eine weitere Konfiguration, wie sie in Fig. 35 gezeigt ist, bekannt, so dass er in der üblichen Vorwärtsrichtung und der Rückwärtsrichtung decodiert werden kann. Darüber hinaus kann ein derartiger Code für eine Rückwärtswiedergabe in einem Speichermedium wie etwa einem Plattenspeicher, der Codierdaten speichert, verwendet werden, da die Codierdaten ebenso in der Rückwärtsrichtung gelesen werden können. Ein derartiger Code mit variabler Wortlänge, der in der Vorwärtsrichtung als auch in der Rückwärtsrichtung decodiert werden kann, wird nachstehend als "reversibler Code" bezeichnet. Ein Beispiel von reversiblen Coden ist in der japanischen Patentoffenlegungsschrift Nr. 5-30027 mit dem Titel "Reversible and Variable- Length Coding Method" offenbart. Der reversible Code ist ein Code mit variabler Wortlänge, der in der Rückwärtsrichtung und nicht nur in der Vorwärtslichtung decodiert werden kann, indem Bits dem Suffix von Codeworten des Huffmann-Code hinzugefügt werden, der ein Code mit variabler Wortlänge ist, der in der Vorwärtsrichtung decodierbar ist, wie es in Fig. 34 gezeigt ist, unter der Bedingung, dass die jeweiligen Codeworte nicht mit dem Suffix eines anderen Codewortes größerer Länge übereinstimmen, wie es in Fig. 35 gezeigt ist.
- Da jedoch bei dem reversiblen Code Bits dem Suffix von Codeworten eines Codes mit variabler Wortlänge, die nur in der Vorwärtsrichtung decodiert werden können, hinzugefügt werden, wird die Zahl nutzloser Bits erhöht, so dass die mittlere Codelänge erhöht wird. Folglich wird im Vergleich zu einem Code mit variabler Wortlänge, der nur in der Vorwärtsrichtung decodiert werden kann, die Codiereffizienz stark verringert.
- Ein weiteres Problem besteht darin, das ein konventioneller reversibler Code nicht praktikabel ist, da die Speicherkapazität, die für ein Codiersystem und/oder Decodiersystem mit variabler Wortlänge notwendig ist, erhöht wird, wenn die Zahl der Quellsymbole groß ist. Ein Beispiel für den Fall, dass die Zahl der Quellsymbole groß ist, ist die Codierung von DCT-Koeffizienten, die häufig für die Bilddatencodierung eines Bewegtbildes oder eines Stehbildes verwendet werden. Bei der Bilddatencodierung wird gewöhnlich eine 8 · 8 DCT (diskrete Kosinustransformierung) ausgeführt und wird dann die lineare Quantizierung von 8 Bits bezüglich orthogonal transformierten Koeffizienten, genannt DCT-Koeffizienten ausgeführt, die auf diese Weise erlangt werden. Danach wird bezüglich den quantizierten DCT-Koeffizienten die Zick-Zack-Abtastung, die von einem niedrigen Bereich startet, ausgeführt und wird die Codierung mit variabler Wortlänge als ein Satz der Koeffizienten eines Null-Laufes (zero-run) und von Nicht-Null (not-zero) ausgeführt.
- Beispielsweise in der ITU-T Entwurfempfehlung H. 263 (1995) liegt der Quantizierunsindexwert zwischen -127 und +127 (da der Indexwert 0 im Lauf ist, ist die Indexzahl 253), ist das Maximum der Null-Lauf-Zahl 63 und erfolgt eine Codierung für die Unterscheidung, ob es sich bei dem letzten DCT-Koeffizienten des Blocks um einen Nicht- Null-Koeffizient handelt. Aus diesem Grund ist die Zahl der Quellsymbole sehr groß, d. h. 253 · 64 · 2 = 32384. Daher wird in der H. 263, obwohl der DCT-Koeffizient, der eine große Auftrittswahrscheinlichkeit hat, durch den Code mit variabler Wortlänge codiert wird, der DCT-Koeffizient mit einer geringen Auftrittswahrscheinlichkeit durch einen Code mit fixer Wortlänge von insgesamt 15 Bits codiert, der einen Code mit einem Bit als Code, der die Unterscheidung repräsentiert, ob es sich um den letzten Nicht-Null-Koeffizienten des Blocks handelt, einen Code von 6 Bits für einen Null-Lauf und einen Code von 8 Bits für einen Quantizierungsindex enthält, und es wird danach ein Code, der als Escape-Code bezeichnet wird, dem Präfix des Codes mit fester Wortlänge hinzugefügt.
- Falls Codeworttabellen alle die Codeworte aufweisen, kann die Codierung und/oder Decodierung ebenso ausgeführt werden. Da jedoch gemäß der vorstehenden Codekonfiguration der Code mit fixer Wortlänge von 15 Bits unabhängig von dem Code mit variabler Wortlänge codiert und/oder decodiert werden kann, können nur DCT-Koeffizienten mit einer hohen Auftrittswahrscheinlichkeit und eine Codeworttabelle mit Escape-Coden vorbereitet werden. Daher kann die Codeworttabelle von Coden mit variabler Wortlänge zur Verringerung der Speicherkapazität entfallen.
- Wie vorstehend angeführt ist es jedoch bei konventionellen reversiblen Coden notwendig, Bits dem Suffix der Codeworte eines Codes mit variabler Wortlänge, der nur in der Vorwärtsrichtung decodiert werden kann, hinzuzufügen, so dass der Escape-Code nicht hinzugefügt werden kann. Daher ist es notwendig, Codeworte vorzubereiten, die allen den Quellsymbolen entsprechen, selbst wenn die Zahl der Quellsymbole groß ist, so dass die Speicherkapazität immens wird.
- Wie vorstehend angeführt werden die konventionellen reversiblen Code (d. h. die Code mit variabler Wortlänge, die in der Vorwärtsrichtung und in der Rückwärtsrichtung decodiert werden können), durch Hinzufügen von Bits zu dem Suffix der Codeworte eines Codes mit variabler Wortlänge, der nur in der Vorwärtsrichtung decodiert werden kann, konfiguriert. Daher besteht ein Nachteil darin, dass die Zahl von nutzlosen Bitmustern erhöht wird, so dass die mittlere Codelänge erhöht wird. Darüber hinaus besteht ein Nachteil darin, dass ein Codiersystem und/oder Decodiersystem mit variabler Wortlänge, das eine derartigen reversiblen Code verwendet, nicht praktikabel ist, da es notwendig ist, eine Codeworttabelle mit Codeworten in allen Fällen vorzubereiten, die allen den Quellsymbolen entsprechen und da eine große Speicherkapazität erforderlich ist, falls die Zahl der Quellsymbole wie bei der Bilddatencodierung groß ist. Die EP 0453229 offenbart ein Verfahren zum Übertragen eines Codes mit variabler Wortlänge, bei dem der Code an der Kopfseite und an der Endseite angeordnet werden kann.
- Aufgabe der Erfindung ist die Bereitstellung eines praktikablen Codierungssystems und/oder Decodierungssystems mit variabler Wortlänge, das in der Vorwärtsrichtung und in der Rückwärtsrichtung decodiert werden kann.
- Im Einzelnen ist es Aufgabe der Erfindung, ein Codierungssystem und/oder ein Decodierungssystem mit variabler Wortlänge bereitzustellen, das in der Vorwärtsrichtung und in der Rückwärtstrichtung decodiert werden kann und bei dem die Zahl der nutzlosen Bitmuster gering ist und die Codiereffizenz hoch ist.
- Eine weitere Aufgabe der Erfindung ist die Bereitstellung eines Codierungssystems und/oder eines Decodierungssystems mit variabler Wortlänge, das in der Vorwärtsrichtung und in der Rückwärtsrichtung decodiert werden kann und das eine große Speicherkapazität nicht benötigt, selbst wenn die Zahl der Quellsymbole groß ist.
- Die vorstehenden und weiteren Aufgaben werden jeweils durch ein System und ein Verfahren nach Anspruch 1 und Anspruch 4 gelöst.
- Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen ausgeführt.
- Bei dem Codierungssystem mit variabler Wortlänge ist es beispielsweise möglich, ein Quellsymbol mit einer geringen Auftrittswahrscheinlichkeit als Code mit fixer Wortlänge, zu dem ein Escape-Code hinzugefügt wird, zu codieren, und es ist möglich, den Codeabschnitt mit fixer Wortlänge unabhängig von einem reversiblen Code zu codieren und/oder zu decodieren, so dass es möglich ist, die maximale Codelänge zu beschränken und die Speicherkapazität zu verringern, falls die Zahl der Quellsymbole, die eingespeist werden können, ansteigt.
- Die Erfindung wird aus der nachstehenden detaillierten Beschreibung in Verbindung mit der angefügten Zeichnung von den bevorzugten Ausführungsbeispielen der Erfindung erläutert. Die Zeichnung soll jedoch nicht eine Beschränkung der Erfindung auf ein bestimmtes Ausführunsbeispiel mit sich bringen, sondern lediglich der Erläuterung und dem Verständnis dienen.
- Es zeigen:
- Fig. 1(a) ein Blockschaltbild eines konventionellen Bewegtbild-Codierungssystems,
- Fig. 1(b) eine Darstellung zum Veranschaulichung einer Codefolge, die durch das konventionelle Bewegtbild-Codierungssystem codiert ist,
- Fig. 1(c) ein Blockschaltbild zur Veranschaulichung eines konventionellen Bewegtbild- Decodiersystems
- Fig. 2 eine Darstellung zur Veranschaulichung der Codierreihenfolge des konventionellen Bewegtbild-Codiersystems,
- Fig. 3 eine Darstellung zur Veranschaulichung eines Beispiels der konventionellen Reihenfolge zum Abtasten von DCT-Koeffizienten,
- Fig. 4 eine Ansicht zur Veranschaulichung eines Beispiels von konventionellen Verfahren zum Einfügen von Synchronisiersignalen,
- Fig. 5 ein Blockschaltbild zur Veranschaulichung des Grundkonzepts eines Bewegtbild-Codiersystems gemäß einem Ausführungsbeispiel der Erfindung.
- Fig. 6 eine Darstellung zur Veranschaulichung einer Codefolge, die durch das Codierungssystem aus Fig. 5 ausgebildet ist,
- Fig. 7 ein Blockschaltbild zur Veranschaulichung des ersten bevorzugten Ausführungsbeispiels eines Bewegtbild-Codierungssystems gemäß der Erfindung,
- Fig. 8 eine Darstellung zur Veranschaulichung eines Beispiels der Reihenfolge zum Umordnen von Bereichen in einem Bewegtbild-Codierungssystem gemäß einem Ausführunsbeispiel der Erfindung,
- Fig. 9 eine Darstellung zur Veranschaulichung einer Codefolge, die durch ein Bewegtbild-Codierungssystem gemäß einem Ausführungsbeispiel der Erfindung codiert ist,
- Fig. 10 eine Darstellung zur Veranschaulichung eines Beispiels der Reihenfolge zum Umordnen von Bereichen in einem Bewegtbild-Codiersystem gemäß einem Ausführungsbeispiel der Erfindung,
- Fig. 11 eine Darstellung zur Veranschaulichung eines Beispiels der Reihenfolge zum Umordnen von Bereichen in einem Bewegtbild-Codiersystems gemäß einem Ausführungsbeispiel der Erfindung,
- Fig. 12 eine Darstellung eines Beispiels der Reihenfolge zum Umordnen von Bereichen, wenn der zentrale Bereich gemäß einem Ausführungsbeispiel der Erfindung festgelegt wird,
- Fig. 13 eine Ansicht zur Veranschaulichung eines Verfahrens zum Anordnen einer Codefolge, wenn ein Ausführungsbeispiel der Erfindung auf die Code angewendet wird, die in beiden Richtung decodiert werden können,
- Fig. 14 ein Blockschaltbild des zweiten bevorzugten Ausführungsbeispiels eines Bewegtbild-Codiersystems gemäß der Erfindung,
- Fig. 15 eine Ansicht zur Veranschaulichung des Unterschieds zwischen dem ersten und dem zweiten bevorzugten Ausführungsbeispiel,
- Fig. 16 eine Ansicht zur Veranschaulichung eines Beispiels der Reihenfolge zum Abtasten von DCT-Koeffizienten gemäß einem Ausführungsbeispiel der Erfindung,
- Fig. 17 eine Ansicht zur Veranschaulichung eines Beispiels zum Teilen der Abtastung von DCT-Koeffizienten in der Reihenfolge, die die Beziehung zwischen der horizontalen und der vertikalen Richtung berücksichtigt,
- Fig. 18 ein Blockschaltbild des bevorzugten Ausführungsbeispiels eines Bewegtbild- Decodiersystems gemäß der Erfindung,
- Fig. 19 eine Ansicht des bevorzugten Ausführungsbeispiels entsprechend der Hierachiecodierung gemäß der Erfindung,
- Fig. 20 eine Ansicht des bevorzugten Ausführungsbeispiels entsprechend der Hierachiecodierung gemäß der Erfindung,
- Fig. 21 eine Ansicht zur Veranschaulichung eines Hierachiecodierungsverfahrens und eines Beispiels von konventionellen Hierachiecodierungsverfahren,
- Fig. 22 eine Ansicht des bevorzugten Ausführungsbeispiel entsprechend der Hierachiecodierung gemäß der Erfindung,
- Fig. 23 eine Ansicht zur Veranschaulichung des Auftretens von Fehlern in dem bevorzugten Ausführungsbeispiel entsprechend der Hierachiecodierung gemäß der Erfindung,
- Fig. 24 eine Ansicht zur Veranschaulichung des bevorzugten Ausführungsbeispiels der Anwendung der Hierachiecodierung gemäß der Erfindung,
- Fig. 25 eine Ansicht zur Veranschaulichung von drei Codefolgen gemäß einem Ausführungsbeispiel der Erfindung,
- Fig. 26 eine Ansicht zur Veranschaulichung einer Codefolge, wenn die Verzögerung einer Verarbeitungsoperation gemäß einem Ausführungsbeispiel der Erfindung verringert werden kann,
- Fig. 27 eine Ansicht zur Veranschaulichung, dass ein Verfahren zum Anordnen von Bereichen in der Reihenfolge der Bedeutung auf ein Verfahren zum Konfigurieren eines Rahmens durch eine Vielzahl von Synchronisationsblöcken gemäß einem Ausführungsbeispiel der Erfindung angewendet wird,
- Fig. 28 eine Ansicht des bevorzugten Ausführungsbeispiels einer Codefolge, die für einen Code mit fixer Wortlänge angewendet wird, gemäß der Erfindung,
- Fig. 29 eine Ansicht des weiteren bevorzugten Ausführungsbeispiels einer Codefolge, die auf einen Code mit fixer Wortlänge angewendet wird, gemäß der Erfindung,
- Fig. 30 eine Ansicht des bevorzugten Ausführungsbeispiels einer Codefolge, die zusätzliche Daten verwendet, gemäß der Erfindung,
- Fig. 31 eine Ansicht des bevorzugten Ausführungsbeispiels eines Bewegtbild- Codierungssystems und/oder Decodierungssystems gemäß der Erfindung, das auf ein Funkkommunikationssystem angewendet wird, und
- Fig. 32 eine Ansicht des bevorzugten Ausführungsbeispiels eines Bewegtbild- Codierungssystems und/oder Decodierungssystems gemäß der Erfindung, das auf ein Funkkommunikationssystem angewendet wird,
- Fig. 33 eine Ansicht zur Veranschaulichung eines allgemeinen Verfahrens zum Decodieren eines reversiblen Codes,
- Fig. 34 eine Ansicht zum Erläutern eines gewöhnlichen Codes mit variabler Wortlänge,
- Fig. 35 eine Ansicht zur Erläuterung eines konventionellen reversiblen Codes,
- Fig. 36 ein Blockschaltbild des ersten bevorzugten Ausführungsbeispiels eines Codierungssystems und/oder Decodierungssystems mit variabler Wortlänge,
- Fig. 37 eine Ansicht zur Erläuterung des Betriebes des Decodierwert- Entscheidungsabschnittes von Fig. 36,
- Fig. 38 ein Blockschaltbild eines Codeworttabellenvorbereitungsabschnittes von Fig. 36,
- Fig. 39 eine Ansicht zur Veranschaulichung eines Verfahrens zum Vorbereiten eines Binärcodesystems, bei dem Gewichtungen, die einen Code mit variabler Wortlänge konfigurieren, konstant sind,
- Fig. 40 eine Ansicht zur Veranschaulichung eines ersten Codewort- Konfigurierverfahrens in dem Codewoitkonfigurierabschnitt von Fig. 38,
- Fig. 41 eine Ansicht zur Veranschaulichung von Decodierbäumen in der Vorwärtsrichtung und in der Rückwärtsrichtung, die aus Codeworten vorbereitet sind, die durch das erste Codewort-Konfigurierverfahren konfiguriert sind,
- Fig. 42 eine Ansicht zur Veranschaulichung eines zweiten Codewort- Konfigurierverfahrens in dem Codewortkonfigurierabschnitt von Fig. 38,
- Fig. 43 eine Ansicht zur Veranschaulichung von Decodierbäumen in der Vorwärtsrichtung und in der Rückwärtsrichtung, die aus Codeworten vorbereitet sind, die durch das zweite Codewortkonfigurierverfahren konfiguriert sind,
- Fig. 44 eine Ansicht zur Veranschaulichung eines dritten Codewortkonfigurierverfahrens in dem Codewortkonfigurierabschnitt von Fig. 38,
- Fig. 45 eine Ansicht zur Veranschaulichung von Decodierbäumen in der Vorwärtsrichtung und in der Rückwärtsrichtung, die aus Codeworten vorbereitet sind, die durch das dritte Codewortkonfigurierverfahren konfiguriert sind,
- Fig. 46 eine Ansicht zur Veranschaulichung eines Codeverkürzungsverfahrens in dem Codewortkonfigurierabschnitt von Fig. 38,
- Fig. 47 eine Ansicht zur Veranschaulichung von Decodierbäumen in der Vorwärtsrichtung und in der Rückwärtsrichtung, die durch Codeworte vorbereitet sind, die durch das Codeverkürzungsverfahren verkürzt sind,
- Fig. 48 eine Ansicht zur Veranschaulichung eines Codeerweiterungsverfahrens in dem Codewortkonfigurierabschnitt von Fig. 38,
- Fig. 49 eine Ansicht zur Veranschaulichung des Vergleiches zwischen den Charakteristiken eines Codes mit variabler Wortlänge, der durch das bevorzugte Ausführungsbeispiel der Erfindung konfiguriert ist, und einem konventionellen Code mit variabler Wortlänge,
- Fig. 50 ein Blockschaltbild des zweiten bevorzugten Ausführungsbeispiels eines Codierungssystems und/oder Decodierungssystems mit variabler Wortlänge gemäß der Erfindung,
- Fig. 51 eine Ansicht zur Veranschaulichung eines Codewort- Konfigurierverfahrens in dem Codewortkonfigurierabschnitt von Fig. 50,
- Fig. 52 eine Ansicht zur Veranschaulichung eines Verfahrens zum Zählen eines Binärcodesystems, bei dem Gewichtungen konstant sind,
- Fig. 53 eine Ansicht zur Veranschaulichung der Operationen eines Vorwärtsdecodierers und eines Rückwärtsdecodierers,
- Fig. 54 eine Ansicht zur Veranschaulichung des Vergleiches zwischen einem konventionellen Decodierbaum und einem Decodiergraph des bevorzugten Ausführungsbeispiels,
- Fig. 55 eine Ansicht zur Erläuterung einer Decodierwerttabelle des bevorzugten Ausführungsbeispiels,
- Fig. 56 ein Blockschaltbild zur Veranschaulichung eines Prinzipaufbaues eines Bewegtbild-Codiersystems und/oder Decodiersystems, in dem ein Codierungssystems und/oder Decodierungssystems mit variabler Wortlänge gemäß der Erfindung enthalten ist,
- Fig. 57 eine Darstellung zur Veranschaulichung der Syntax zum Codieren von Daten in dem Bewegtbild-Codierungssystem und/oder Decodierungssystem des bevorzugten Ausführungsbeispiels,
- Fig. 58 ein Blockschaltbild zur Veranschaulichung des Bewegtbild- Multiplexabschnitts und des Bewegtbild-Multiplexunterteilabschnitts von Fig. 56,
- Fig. 59 eine Ansicht zur Veranschaulichung eines Teils einer Codeworttabelle von Nicht-LETZTEN-Koeffizienten von INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 60 eine Ansicht zur Veranschaulichung eines weiteren Teils der Codeworttabelle von Nicht-LETZTEN-Koeffizienten von INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 61 eine Ansicht zur Veranschaulichung eines Teils einer Codeworttabelle von Letzten-Koeffizienten von INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 62 eine Ansicht zur Veranschaulichung eines weiteren Teils der Codeworttabelle von LETZTEN-Koeffizienten aus INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 63 eine Darstellung zur Veranschaulichung einer Codeworttabelle von Escape- Coden in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 64 eine Ansicht zur Veranschaulichung eines Codierverfahrens von Codeworten, die nicht in der Codeworttabelle in dem gleichen bevorzugten Ausführungsbeispiel existieren,
- Fig. 65 eine Ansicht zur Veranschaulichung eines Beispiels zum Codieren von Daten in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 66 eine Ansicht zur Veranschaulichung eines Decodiergraphen in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 67 eine Ansicht zur Veranschaulichung eines Teils einer Decodierwerttabelle von Nicht-LETZTEN-Koeffizienten von INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 68 eine Ansicht zur Veranschaulichung eines weiteren Teils der Decodierwerttabelle von Nicht-LETZTEN-Koeffizienten von INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 69 eine Ansicht zur Veranschaulichung einer Codierwerttabelle von LETZTEN- Koeffizienten von INTRA und INTER in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 70 eine Ansicht zur Veranschaulichung einer Decodierwerttabelle von Escape- Coden in dem gleichen bevorzugten Ausführungsbeispiel,
- Fig. 71 eine Ansicht zur Erläuterung des Betriebes des Decodierwertentscheidungsabschnittes von Fig. 50,
- Fig. 72 eine Ansicht zur Veranschaulichung der Codier-/Decodierreihenfolge eines Makroblockes in dem gleichen bevorzugten Ausführungsbeispiel, und
- Fig. 73 eine Ansicht zur Veranschaulichung eines Beispiels eines Systems, in dem ein Codiersystem und/oder Decodiersystem in variabler Wortlänge gemäß der Erfindung enthalten ist.
- Unter Bezugnahme auf die angefügten Zeichnungen, insbesondere auf Fig. 5 bis 32, werden nachstehend bevorzugte Ausführungsbeispiele eines Bewegtbild-Codierungssystems und/oder Decodierungssystems gemäß der Erfindung erläutert.
- Zunächst wird der Gesamtaufbau der Erfindung durch Fig. 5 beschrieben, die das Konzept eines Bewegtbild-Codierungssystems zeigt. Die eingegebenen Bilddaten werden durch ein Codiermittel 10 komprimiert und codiert, so dass zwei Codefolgen einer vorbestimmten Anordnung gebildet werden. Das Codiermittel 10 enthält ein Bereichunterteilungsmittel 11 zum Unterteilen eines Bildschirms in vorbestimmte Bereiche, ein Bereichumordnungsmittel 12 zum Umordnen der unterteilten Bereiche beispielsweise auf der Grundlage eines Standards wie etwa der Bedeutung und ein Codezeilenbildungsmittel 13 zum Ausbilden von zwei Codefolgen bezüglich den umgeordneten Bereichen. Die durch das Codiermittel ausgebildete Codefolge wird durch ein Codezeilenunterteilmittel 14 unterteilt. Danach wird ein Rahmen mittels eines Codezeilenumordnungsmittels 15 umgeordnet, wobei die zwei Codefolgen in einem Rahmen zu dem Zentrum des Rahmens in der Vorwärtsrichtung und in der Rückwärtsrichtung von zwei Rahmensynchronisationsignalen (PSC), zwischen die der Rahmen eingefügt ist, umgeordnet wird. Diese Bedingung ist in einem Datenrahmen von Fig. 6 gezeigt.
- Fig. 7 zeigt ein Blockschaltbild des ersten bevorzugten Ausführungsbeispiels eines Bewegtbild-Codierungssystems gemäß der Erfindung. In dem bevorzugten Ausführungsbeispiel verwendet das Bewegtbild-Codiersystem das diskrete Kosinustransformationscodiersystem mit bewegungskompensierter adaptiver Prädiktion.
- Das diskrete Kosinustransformationscodiersystem mit bewegungskompensierter adaptiver Prädiktion ist in der vorstehend angeführten Literatur 1 im Detail beschrieben. Daher wird nur ihr Konzept beschrieben und wird der Unterschied zwischen dem System der Erfindung und dem konventionellen System im Detail beschrieben.
- In einer Bereichsunterteilungseinheit 101 werden Bilddaten 131 in vorbestimmte Bereiche unterteilt und werden diese danach zu einer Bereichsumordnungseinheit 102 übertragen. In der Bereichsumordnungseinheit 102 werden die Bereiche auf der Grundlage der Daten einer Bereichsumordnungstabelle 103, die die Reihenfolge bzw. Zählreihenfolge der Umordnung definiert, umgeordnet und werden die Daten der umgeordneten Bereiche für jeden Bereich zu einer bewegungskompensierten adaptiven Prädiktionseinheit 104 übertragen. Da die Abschnitte bezüglich der Umordnung der Bereiche für die Erfindung von Bedeutung sind, werden sie nach der Erläuterung des Konzepts des Blockschaltbilds im Detail beschrieben.
- In der bewegungskompensierten adaptiven Prädiktionseinheit 104 werden die letzten Rahmendaten, die aus dem Rahmenspeicher 105 ausgelesen sind, in dem der letzte Rahmen gespeichert ist, der codiert/decodiert worden ist, mit dem gegenwärtigen Rahmendaten verglichen, die bezüglich jedes der Bereiche unterteilt sind. Darüber hinaus wird berechnet, zu welchen Abschnitt der Bereich des gegenwärtigen Rahmens bewegt worden ist, d. h. welche Distanz der Bereich zu dem gegenwärtigen Rahmen bewegt worden ist, so dass es als Bewegungsvektor ausgedrückt wird (eine derartige Serie von Operationen wird als Bewegungskompensation bezeichnet).
- In einer Subtrahiereinheit 106 werden die Daten jedes der Bereiche des letzten Rahmens, der bewegungskompensiert worden ist, von den Daten jedes der Bereiche des gegenwärtigen Rahmens subtrahiert und werden die Differenzdaten (d. h. die Daten des gegenwärtigen Rahmens, der ausreichend zum Ausdruck gebracht worden ist, lediglich in dem die Bewegungsdaten bezüglich des letzten Rahmens betrachtet werden) mittels einer diskreten Kosinustransformationseinheit 107 und einer Quantisiereinheit 108 codiert. Die Codierdaten und der Bewegungsvektor werden mittels eines Multiplexers 109 gemultiplext und die Codefolge wird in zwei Teile mittels einer Codezeilenteileinheit 110 unterteilt. Die Teile werden mittels einer Codezeilenumordnungseinheit 111 umgeordnet, zum Übertragen zu der Senke über einen Kanal. Da die Codefolgenunterteileinheit 110 und die Codefolgenumordnungseinheit 111 ebenso für die Erfindung von Bedeutung sind, werden sie wie die vorstehend angerührte Bereichsumordnungseinheit im weiteren im Detail beschrieben.
- Andererseits werden die codierten Daten jedes der Bereiche als ein bewegungskompensierter Fehler mittels einer Rückquantiziereinheit 112 und einer diskreten Kosmusrücktransformationseinheit 113 decodiert. Mittels einer Addiereinheit 114 wird der bewegungskompensierte Fehler zu den letzten Rahmendaten nach der Bewegungskompensation addiert und werden die Daten des gegenwärtigen Rahmens zum Speichern in dem Rahmenspeicher reproduziert.
- In dem konventionellen Bewegungskompensationscodiersystem wird, nachdem der Bereich durch die Bereichsunterteileinheit 101 unterteilt ist, die Codierung bezüglich jedes der Bereiche in der Reihenfolge ausgeführt, die in Fig. 2 gezeigt ist. Andererseits wird gemäß der Erfindung, nachdem der Bereich unterteilt ist, eine Neuverarbeitung mittels der Bereichsumordnungseinheit 102 für eine Codierung ausgeführt. Fig. 8 zeigt ein Beispiel der Reihenfolge der Umordnung der unterteilten Bereiche. Die Bereichsumordnungstabelle 103, die Codierreihenfolge der Bereiche speichert, ist vorbereitet und die Bereichsumordnungseinheit 102 ordnet die Bereiche auf der Grundlage der Tabelle 103 um. Gemäß der Erfindung wird die Codefolge, die mittels der Bereichsumordnungseinheit 102 umgeordnet und codiert worden ist, in zwei Zeilen von Coden mittels der Codefolgenunterteileinheit 110 unterteilt. Im Falle von Fig. 8 ist er in eine erste Codefolge und in eine zweite Codefolge unterteilt, die jeweils Fig. 8(a) und 8(b) entsprechen.
- Danach schreitet in der Codezeilenumordnungseinheit 111 die erste Codefolge von dem Synchronisiersignal voran, um in der Vorwärtsrichtung von dem Präfix zu dem Suffix angeordnet zu sein, und schreitet die zweite Codefolge von der ersten Codefolge voran, um in der Rückwärtsrichtung an dem Präfix zu dem Suffix angeordnet zu sein, um zu dem Kanal übertragen zu werden. Fig. 9 zeigt ein Verfahren zum Umordnen der Codefolge zum Übertragen zu dem Kanal. Auf diese Weise kann aus den beiden unterteilten Codefolgen die erste Codefolge durch Suchen des Rahmensynchronisationssignals des gegenwärtigen Rahmens decodiert werden und kann die zweite Codefolge durch Suchen des Rahmensynchronisationssignals des nächsten Rahmens decodiert werden, da die Codefolge von dem Synchronisiersignal in der Rückwärtsrichtung angeordnet ist. In konventionellen Systemen müssen, wenn ein Fehler in der Mitte der Decodierung auftritt, alle die Daten bis zu dem Rahmensynchronisationssignal des nächsten Rahmens verworfen werden, so dass die Bildqualität stark verschlechtert wird. Im Gegensatz dazu können gemäß der Erfindung, falls die Daten eines der Codefolgen in Folge eines Fehlers nicht decodiert werden können und falls der Endabschnitt der ersten Codefolge in Folge des Außertrittfallens des Codes mit variabler Wortlänge nicht identifiziert werden kann, die Daten unabhängig von der ersten Codefolge decodiert werden, da die zweite Codefolge lediglich von dem Rahmensynchronisationssignal des nächsten Rahmens abhängig ist. Auf diese Weise beeinflußt gemäß der Erfindung der Fehler, der in einem der Codefolgen erzeugt wird, nicht die andere Codefolge. Daher ist es möglich, das Problem konventioneller Systeme zu lösen, dass die Kopfdaten von den Enddaten abhängen.
- Selbst wenn die Daten eines der Codefolgen verworfen worden sind oder selbst wenn die Daten von beiden Codefolgen nur bis zu ihrer Mitte decodiert worden sind, kann verhindert werden, dass die Bereiche, die decodiert werden, an bestimmten Bereichen des Bildschirms konzentriert werden, da die Codierreihenfolge gemäß Fig. 8 geändert ist. Da darüberhinaus die Bereiche, die decodiert worden sind, einheitlich an dem gesamten Bildschirm vorhanden sind, ist es leicht möglich, den Bereich vorherzusagen, der nicht decodiert worden ist, mittels der Daten, die decodiert worden sind. Daher ist es möglich, die Bilddaten des gegenwärtigen Rahmens als Bilddaten zu decodieren, die ein bestimmtes Maß an Bildqualität haben, so dass die Bildqualität nicht stark verschlechtert wird, obwohl sie nicht perfekt ist.
- In dem ersten bevorzugten Ausführungsbeispiel der Erfindung wird der erste und der zweite Aspekt der Erfindung kombiniert. Es ist jedoch nicht erforderlich, dass sie kombiniert werden und sie können unabhängig ausgeführt werden. Obwohl gemäß dem ersten bevorzugten Ausführungsbeispiel der Erfindung das diskrete Kosinustransformationscodierungssystem mit bewegungskompensierter adaptiver Prädiktion verwendet wird, sollte die Erfindung nicht auf dieses Codierungssystem beschränkt werden und kann die Erfindung auf weitere Bildcodiersystem angewendet werden.
- Fig. 10 und 11 zeigen Beispiele der Bereichsumordnungstabellen. Beispielsweise für den Fall der Anwendung auf ein Eingangsbild, bei dem bedeutende Daten (Bewegung, Gesicht usw.) im Zentrum des Bildschirms angeordnet sind, werden die Daten derart umgeordnet, dass der Bereich des Zentrums des Bildschirms bei dem Präfix angeordnet wird. Bei einer Umordnung auf derartige Weise ist es möglich, die Wahrscheinlichkeit der Decodierung des bedeutensten Bereichs im Vergleich zu den konventionellen System zu erhöhen, falls das Außertrittfallen des Codes mit variabler Wortlänge in Folge eines Fehlers auftritt. Der Grund, warum die Erfindung diesen vorteilhaften Effekt aufweist, liegt darin, dass, wenn ein Fehler auftritt, die Wahrscheinlichkeit der Unmöglichkeit zum Decodieren in Folge der Natur des Codes mit variabler Wortlänge ansteigt, sowie die Daten dem Ende zugehen. Es ist ebenso möglich, eine Umordnungstabelle bezüglich jedes der Eingangsbilder durch Suchen des bedeutenden zentralen Abschnittes auf der Grundlage des Wertes des Bewegungsvektors usw. zum Codieren von Bereichen spiralförmig von den Koordinaten des zentralen Abschnitts zu schalten oder vorzubereiten, wie es in Fig. 12 gezeigt ist. In diesem Falle ist es erforderlich, zwischen der Codierseite und der Decodierseite beispielsweise durch Einfügen der Daten, die repräsentativ für die Koordinaten des bedeutenden Steuerabschnittes sind, in die Codefolge jedes der Rahmen nach dem Rahmensynchronisiersignal unterscheiden. Darüber hinaus ist es möglich, eine Vielzahl der gleichen Umordnungstabellen auf der Codierseite und der Decodierseite vorzubereiten und die Umordnungstabellen auf der Decodierseite derart zu schalten, dass ihre Zahl identisch zu der Zahl der Umordnungstabelle auf der Codierseite ist, die auf der Grundlage des Bildes geschaltet worden ist.
- Wird beispielsweise der Code mit variabler Wortlänge, der in beiden Richtungen decodiert werden kann, verwendet, ist es möglich, den Code in der Vorwärtsrichtung und in der Rückwärtsrichtung als eine Codefolge ohne Unterteilen der Codefolge in zwei Teile in der Vorwärtsrichtung und in der Rückwärtsrichtung zu decodieren. In diesem Fall ist es möglich, die Wahrscheinlichkeit der Decodierung eines bedeutenden Abschnittes durch die Umordnung der Codefolge zu erhöhen, wie es in Fig. 8, 10, 11 und 12 gezeigt ist. Als ein Beispiel davon zeigt Fig. 13 ein Verfahren zum Umordnen der Codefolge, wenn der Code mit variabler Wortlänge, der in beiden Richtungen decodiert werden kann, verwendet wird. In der Figur entsprechen die Blöcke von Zahlen Makroblöcken, wenn die Codierung ausgeführt wird.
- Das zweite bevorzugte Ausführungsbeispiel eines Codiersystems gemäß der Erfindung wird nachstehend beschrieben:
- Fig. 14 zeigt ein Blockschaltbild zur Veranschaulichung des zweiten bevorzugten Ausführungsbeispiels der Erfindung. In dem ersten bevorzugten Ausführungsbeispiel von Fig. 7 werden die Daten des gesamten Bildschirms in die von zwei Gruppen von Bereichen unterteilt und werden in die entsprechende Codefolge mittels der Codefolgenunterteileinheit 110 unterteilt. In dem zweiten bevorzugten Ausführungsbeispiel enthält anstelle jeweils der ersten und der zweiten Codefolge, die alle die Bereiche des gesamten Bildschirms enthalten, die Codefolge jedes der Bereiche nur einen von zwei Bereichen, die mittels einer DCT- Koeffizientenunterteileinheit 220 unterteilt sind.
- Selbst wenn auf diese Weise die Daten eines der Codefolgen verworfen werden, ist es möglich, wenn die Daten der anderen Codefolge decodiert werden können, diese Daten mit einem bestimmten Maß an Qualität zu decodieren, obwohl die Qualität jedes der Bereiche geringer als die übliche Qualität ist, so dass es möglich ist, eine umforme Bildqualität auf den gesamten Bildschirm im Vergleich zu den ersten bevorzugten Ausführungsbeispiel zu erlangen. Alternativ können andere Daten als die DCT-Koeffizienten in zwei Teile zum Codieren unterteilt werden.
- Als Aufbau zum Unterteilen der Daten jedes der Bereiche in zwei Teile ist das nachstehende Beispiel ausgeführt. In konventionellen Systemen wird der Koeffizient, der durch die diskrete Kosinusinformation eines adaptiven Prädiktionssignals erlangt ist, durch eine Zick-Zack- Abtastung, wie sie in Fig. 3 gezeigt ist, codiert. Andererseits werden gemäß der Erfindung die Daten jedes der Bereiche in Koeffizienten ungerader Zahlen und Koeffizienten gerader Zahlen unterteilt, wie es in Fig. 16 gezeigt ist. Alternativ können sie in Abschnitte mit enger Verbindung zu der horizontalen Richtung und Abschnitte mit enger Verbindung zu der vertikalen Richtung unterteilt werden. Obwohl die Reihe der DCT-Koeffizienten auf der Grundlage der gewöhnlichen Zick-Zack-Abtastung in dem vorstehend angeführten Beispiel (Fig. 16) unterteilt ist, können die DCT-Koeffizienten auf der Grundlage einer für das Bild geeigneten Abtastung gemäß der Erfindung unterteilt sein.
- Fig. 18 zeigt ein Bewegtbild-Decodiersystem gemäß dem Bewegtbild-Codiersystem von Fig. 5. Nachdem die Rahmensynchronisationssignale der Codefolge, die von dem Codierungssystem zum Speichern übertragen wird, erfaßt sind, wird eine Serie von Verarbeitungen ausgeführt. D. h., das prädiktive Fehlersignal für jedes der Bereiche wird auf der Grundlage der Daten einer Codierreihenfolgetabelle 1103 decodiert, die Rückquantizierung wird mittels einer Rückquantiziereinheit 1112 ausgeführt und die diskrete Kosinusrücktransformation wird mittels einer diskreten Kosmusrücktransformationseinheit 1113 ausgeführt. Dabei wird die gelesene Codefolge in einem Codefolgenspeicher 116 gespeichert. Wenn die Codierung des vorderen Teils der ersten Codefolge beendet ist, oder wenn es in Folge gewisser Fehler unmöglich war, den vorderen Teil zu decodieren, wird die Decodierverarbeitung gestoppt und wird die Codefolge weiterhin in dem Codefolgenspeicher 116 gespeichert, bis das Rahmensynchronisationssignal des nächsten Rahmens empfangen wird. Ist das Rahmensynchronisationssignal des nächsten Rahmens herausgefunden worden, werden die Inhalte des Codefolgenspeichers 1116 Bit für Bit von dem letzten Bit umgekehrt gelesen und decodiert. Nach Ausführung der Decodierung gleichartig zu der des vorderen Teils der ersten Codefolge wird, wenn die Decodierung beendet ist oder wenn es unmöglich war, den vorderen Teil in Folge von Fehlern zu decodieren, die Decodierverarbeitung beendet und werden die decodierten Daten des vorderen Teils der ersten Daten und des hinteren Teils der zweiten Daten als Decodierdaten kombiniert.
- Danach werden die Decodierdaten zu einem Prädiktionssignal mittels einer Addiereinheit 114 zum Erlangen reproduzierter Bilddaten addiert. Die reproduzierten Bilddaten werden nach außerhalb des Systems ausgegeben und in einem Rahmenspeicher 1105 aufgezeichnet. Wie vorstehend angerührt werden zwei Codefolgen, die in zwei Teile unterteilt sind, einer davon wurde in der Vorwärtsrichtung angeordnet und der andere davon wurde in der Rückwärtsrichtung angeordnet, decodiert, so dass, selbst wenn es unmöglich war, die Daten eines der beiden Codefolgen in Folge von Fehlern zu decodieren, dies nicht die weitere Codefolge beeinflußt und es möglich ist, die Daten der anderen Codefolge zu decodieren. Da darüber hinaus die Codierreihenfolge durch Umordnen der Bereiche geändert wird, ist es möglich, wenn Fehlerdetektoren 1126 und 1127 Fehler delektieren, im Vergleich zu den konventionellen Systemen die Bereiche, die nicht decodiert werden konnten, auf der Grundlage der Bereiche, die decodiert werden konnten, leicht vorherzusagen und komplementär auszuführen.
- Nachfolgend wird ein Codiersystem beschrieben, bei dem die Übertragung mittels zweier Kanäle mit unterschiedlichen Fehlerraten ausgeführt wird. Wird die Übertragung mittels zweier Kanäle mit unterschiedlichen Fehlerraten ausgeführt, wurde häufig ein Hierarchiecodiermittel verwendet, durch welches, wenn ein Fehler auftritt, die bedeutenden Daten mit bedeutendem Einfluß über einen Kanal mit guter Qualität mit geringer Fehlerrate und die Daten ohne Bedeutung über einen Kanal mit hoher Fehlerrate übertragen werden. Bezüglich der Daten, die jeweils zu dem Kanal mit einer geringen Fehlerrate (einer höheren Schicht) und dem Kanal einer höheren Fehlerrate (einer niedrigeren Schicht) übertragen werden, werden daher die Umordnung der Bereiche, die Unterteilung der Codefolge und die Uniordnung der Codefolge durch das gleiche Verfahren wie in dem ersten und dem zweiten bevorzugten Ausführungsbeispiel ausgeführt, so dass die gleiche Verarbeitung bezüglich der hierarchischen Codierung ausgeführt werden kann. Fig. 19 zeigt ein Beispiel von Codefolgen, wenn sie mit der Hierarchiebildung kombiniert werden. In diesem Beispiel werden aus der Codefolge die Bereiche, die zum Codieren umgeordnet worden sind, mit bedeutenden Daten, wie etwa Modusdaten und einem Bewegungsvektor der Codefolge der oberen Schicht eingegeben und wird ein prädiktives Differenzsignal der Codefolge der niedrigeren Schicht eingegeben.
- Danach werden die Codefolgen jedes der Hierarchien in zwei Teile unterteilt, wobei eines davon in der Vorwärtsrichtung von dem Präfix zu dem Ende umgeordnet wird, und das andere davon in der Rückwärtsrichtung von dem Suffix zu dem Kopf umgeordnet wird. Sind die Codefolgen wie in dem ersten bevorzugten Ausführungsbeispiel unterteilt, ist es möglich, die obere Schicht oder die untere Schicht einzustellen, falls die gleichen Unterteilverfahren in der oberen Schicht und in der unteren Schicht ausgeführt werden. Für den Fall, dass die Bereiche in einem Rahmen in zwei Teile unterteilt werden, wird angenommen, falls die Codefolgen an einem der zwei Teile konzentriert sind, dass die Fehlerrate der oberen Schicht gering ist, so dass die Codefolge der oberen Schicht nicht unterteilt wird zum Ausdrücken der oberen Schicht durch eine Codefolge, wie sie in Fig. 20 gezeigt ist, und die Codefolge nur für die Codefolge der niedrigeren Schicht unterteilt wird. In diesem Fall wird die Zahl der Bereiche, die in Fig. 8(a) und 8(b) enthalten sind, derart geändert, so dass die Codemengen der zwei Codefolgen der niedrigeren Schicht zueinander gleich sind. D. h., die Zahl der enthaltenen Bereiche wird nicht gleich gemacht, in dem sie auf der Grundlage der Modusdaten der oberen Schicht dynamisch geändert werden. Auf diese Weise können die Codemengen der unterteilten zwei Teile der Codefolge der unteren Schicht zu der anderen gleich gemacht werden.
- Obwohl der Prädiktionsfehler von den weiteren Daten in dem vorstehend ausgeführten Beispielen getrennt ist, können die Bewegungsvektoren in die obere und die untere Schicht gemäß der Codemenge des Bewegungsvektors unterteilt werden. Wenn die Codemenge des Bewegungsvektors gering ist und Platz in der oberen Schicht ist, können alternativ einige der DCT-Koeffizienten der prädiktiven Signale in die obere und in die untere Schicht usw. unterteilt werden.
- Gemäß der Darstellung von Fig. 21 sind in einem System zum Anordnen einer bedeutenden Codefolge an dem vorderen Abschnitt bezüglich eines Kanals und zum Anordnen einer Codefolge ohne Bedeutung zum Fortführen der bedeutenden Codefolge die bedeutenden Codefolgen in Fig. 21(a) in der Vorwärtsrichtung angeordnet und sind die Codefolgen ohne Bedeutung in der Rückwärtsrichtung angeordnet, so dass die bedeutenden Codefolgen an dem hinteren Abschnitt angeordnet sind (Fig. 21(c)). Folglich ist es möglich, in korrekter Weise eine größere Menge von Daten zu decodieren, selbst wenn Fehler auftreten, im Vergleich zu dem konventionellen System, wie es in Fig. 21(b) dargestellt ist. In diesem Fall sind die Daten der unteren Schicht, die den Daten entsprechen, die an dem Kopf der Codefolge der oberen Schicht angeordnet sind (Codefolge in der Vorwärtsrichtung), an dem Kopf der Codefolge der unteren Schicht angeordnet (Codefolge in der Rückwärtsrichtung). Da die Wahrscheinlichkeit zum korrekten Decodieren der Daten des Kopfes größer ist in der Codierung mit variabler Wortlänge, ist, falls das System des bevorzugten Ausführungsbeispiels angewendet wird, wie es in Fig. 22 gezeigt ist, sowie die Daten an einem vorderen Abschnitt der oberen Schicht angeordnet sind und sowie die Daten an einem hinteren Abschnitt der niedrigeren Schicht angeordnet sind, die Wahrscheinlichkeit zum decodiert werden groß.
- Aus Systemen zum Codieren Einheit für Einheit, wie etwa Block für Block, ist in einem hierarchischen Codiersystem zum Unterteilen der Daten jeder Einheit in die obere Schicht und in die untere Schicht und zum Codieren der unterteilten Daten die Effizienz hoch, sowie die Daten der unteren Schicht, die den Daten der oberen Schicht entsprechen, an dem hinteren Abschnitt angeordnet sind (nahe dem Synchronisationssignal des hinteren Abschnitts). Dies ist in Fig. 23 im Detail gezeigt. Falls sie in diesem Fall gemäß der Darstellung von Fig. 23(b) angeordnet sind, und nicht wie in Fig. 23(a), sind keine oberen Daten vorhanden, die den unteren Daten entsprechen, die korrekt decodiert worden sind. Falls daher die Decodierung auf der Stufe der Codeworte ausgeführt werden konnte, kann das Bilddatensignal nicht daraus reproduziert werden.
- Für den Fall, dass ein Bewegtbild-Codiersystem und/oder Decodiersystem gemäß der Erfindung auf das Hierarchiecodiersystem angewendet wird, können die Codefolge, die in Vorwärtsrichtung angeordnet ist, und die Codefolge, die in der Rückwärtsrichtung angeordnet ist, jeweils in einer Hierarchie ausgebildet sein, ohne dass das System der Erfindung auf jeden der ausgebildeten Folgen in einer hierarchischen Codefolge wie in dem vorstehend angeführten bevorzugten Ausführungsbeispiel angewendet wird.
- Fig. 24 zeigt den Aufbau einer Codefolge zum Erläutern des bevorzugten Ausführungsbeispiels für die Ausbildung einer Hierarchie jedes der Codefolgen. Gemäß der Darstellung von Fig. 24 wird in diesem bevorzugten Ausführungsbeispiel jedes der Codefolgen, die in zwei Teile unterteilt sind, in einer Hierarchie ausgebildet. Beispielsweise werden zunächst die Bilddaten eines Rahmens verschachtelt abgetastet, zum Unterteilen in zwei Felder, wobei eines davon als Codefolge in der Vorwärtsrichtung ausgebildet ist und das andere davon als Codefolge in der Rückwärtsrichtung ausgebildet ist. Danach wird in der jeweiligen Codefolge die Hierarchie derartig ausgebildet, dass die Daten, die immer für eine Codierung notwendig sind, als die oberen Daten angeordnet sind und die restlichen Daten usw. als die unteren Daten angeordnet sind.
- Falls in dem auf derartige Weise in einer Hierarchie ausgebildeten Codefolge einer der Codefolgen in Folge von Fehlern nicht decodiert werden kann, kann die andere Codefolge komplett decodiert werden. Daher ist es im Vergleich zu der getrennten Hierarchiebildung der oberen und der unteren Daten leicht und effizient möglich, die hierarchische Codierung auszuführen. Es ist ebenso möglich, die Codes in einem System in einer Hierarchie effizient auszuführen, die nicht verwendet werden können, ohne dass die oberen Daten komplett decodiert worden sind, selbst wenn die unteren Daten decodiert worden sind. Als das System, das nicht verwendet werden kann, ohne dass die oberen Daten komplett decodiert worden sind, selbst wenn die unteren Daten decodiert worden sind, wird ein System betrachtet, bei dem beispielsweise in Fig. 19 kein Synchronisationssignal zwischen den oberen und den unteren Daten eingefügt ist oder keine Zeigerdaten, die das Ende der oberen Daten darstellen, hinzugefügt sind, usw. In dem bevorzugten Ausführungsbeispiel von Fig. 15 kann, obwohl es möglich ist, den Nachteil zu eliminieren, dass keine Daten verwendet werden, ohne dass die unteren Daten decodiert worden sind, selbst wenn die oberen Daten decodiert worden sind, durch Einfügen eines Synchronisationssignals zwischen den oberen und den unteren Daten oder durch Hinzufügen von Zeigerdaten usw. der vorstehend angeführte Nachteil durch die hierarchische Codierung wie in dem bevorzugten Ausführungsbeispiel sehr leicht eliminiert werden.
- Unter Bezugnahme auf Fig. 25 wird nachstehend ein weiteres bevorzugtes Ausführungsbeispiel eines Bewegtbild-Codierungssystems gemäß der Erfindung erläutert, bei dem Bewegtbilddaten in drei zu codierende Codefolgen unterteilt sind.
- In dem bevorzugten Ausführungsbeispiel werden Bewegtbilddaten im Hinblick auf das vorstehend angeführte Konzept der hierarchischen Codierung codiert. Beispielsweise werden bedeutende Daten in zwei Teile geteilt, so dass eine erste und eine zweite Codefolge ausgebildet werden, und die Daten, die nicht in den Codefolgen der bedeutenden Daten enthalten sind, bilden eine dritte Codefolge. Nachdem die erste bis dritte Codefolge gemäß der Bedeutung der Daten ausgebildet sind, wird die Codefolge im Einzelnen ausgebildet, wie es im unteren Bereich von Fig. 25 gezeigt ist. Durch die Anordnung von Coden auf derartige Weise können bedeutende Daten geschützt werden.
- Wenn beispielsweise das hierarchische Codieren gemäß der Darstellung von Fig. 25 auf das Codieren von Bilddaten angewendet wird, werden die Modusdaten und der Bewegungsvektor dem Abschnitt bedeutender Daten zugeordnet und werden diese Daten in zwei Codefolgen im Hinblick auf die Position an dem Bildschirm unterteilt, in der diese Daten angeordnet sind. Bei dieser Unterteilung werden, selbst wenn eher der zwei Codefolgen für bedeutende Daten in Folge von Fehlern fehlen, zum Kompensieren der Fehler für die weitere Codefolge die Makroblöcke derartig ausgewählt, dass ein schachbrettartiges Muster ausgebildet wird, so dass beispielsweise die schwarzen Blöcke des schachbrettartigen Musters der ersten Codefolge entsprechen und die weißen Blöcke davon der zweiten Codefolge entsprechen. Folglich kann die Verarbeitung wie etwa eine Übermittlung (flashing) und ein Zurückhalten (concealment) leicht ausgeführt werden.
- Wie vorstehend ausgeführt können die bedeutenden Daten in die anzuordnende erste und zweite Codefolge unterteilt werden und kann der Rest der dritten Codefolge zugewiesen werden. Um die Fehlerwiderstandsfähigkeit der dritten Codefolge selbst zu verbessern, kann alternativ ein Code mit fester Wortlänge oder ein Code mit variabler Wortlänge, die in beiden Richtungen decodiert werden können, in der dritten Codefolge vorgesehen sein.
- Die vorstehend angeführte Konstruktion kann mit der Verdoppelung der Zeichenfolge kombiniert sein. Durch Verwenden der zweiten Codefolge, die gleich oder ähnlich zu der ersten Codefolge ist, und durch Anordnen der Codefolge, wie es im unteren Bereich von Fig. 25 gezeigt ist, wird die erste Codefolge üblicherweise nur in der Vorwärtsrichtung decodiert und können komplette Bilddaten ohne Fehler durch Decodieren der zweiten Codefolge in der Rückwärtsrichtung erlangt werden, wenn Fehler in der ersten Codefolge auftreten.
- Bezüglich der Anordnungsreihenfolge jedes der Codefolgen und der Positionsbeziehung auf dem Bildschirm werden darüber hinaus beispielsweise die Daten der ersten Codefolge dem entsprechenden Bildelementen von dem oberen linken Abschnitt zu dem unteren linken Abschnitt des Bildschirms zugewiesen und werden die Daten der zweiten Codefolge den entsprechenden Bildelementen von dem unteren rechten Abschnitt zu dem oberen linken Abschnitt zugeordnet, so dass es möglich ist, in duplizierter Weise die erste Codefolge, die von dem oberen linken Abschnitt zu dem unteren rechten Abschnitt decodiert ist, und die zweite Codefolge, die von dem unteren rechten Abschnitt zu dem oberen linken Abschnitt decodiert ist, zu verwenden, falls ein Fehler in einem der Codeworte auftritt. Falls beispielsweise ein Fehler an einer Position eines der Codefolgen auftritt, kann auf diese Weise die erste und die zweite Codefolge in der Vorwärtsrichtung und in der Rückwärtsrichtung jeweils decodiert werden, so dass sie einander kompensieren, so dass es möglich ist, die Wahrscheinlichkeit von Daten zu erhöhen, die decodiert werden. Selbst wenn beide Folgen der paarweisen der Codefolgen nicht komplett in der Reihenfolge zum Konfigurieren der Codefolge decodiert werden können, können sie durch den anderen kompensiert werden, so dass es möglich ist, die Rate der Daten zu erhöhen, die korrekt decodiert werden können, wenn ein Fehler in einem der Codeworte auftritt.
- Da es darüber hinaus nicht erforderlich ist, zusätzlich ein Synchronisiersignal usw. dem Präfix der duplizierten Daten hinzuzufügen, ist die Effizienz höher, als wenn sie einfach dupliziert wird. Der Aufbau sollte nicht auf die Anordnung beschränkt werden, die in Fig. 25 gezeigt ist, und sie kann auf eine der weiteren bevorzugten Ausführungsbeispiele der Erfindung durch Verwenden einer der Codefolgen als eine gewöhnliche Codefolge und der weiteren Codefolge als eine Hilfscodefolge angewendet werden.
- Als ein Beispiel von praktikablen Anwendungen können die Codeworte gemäß immer kleineren Dateneinheiten in der Vorwärtsrichtung und der Rückwärtsrichtung und nicht für jede Codefolge in der Vorwärtsrichtung und in der Rückwärtsrichtung angeordnet werden. In allen vorstehend angeführten bevorzugten Ausführungsbeispielen sind die Codefolgen in zwei Dateneinheiten auf der Grundlage eines bestimmten Standards unterteilt und werden die Codeworte in einer der Dateneinheiten in der Vorwärtsrichtung und in der anderen Dateneinheit in der Rückwärtsrichtung angeordnet. Die Codefolge, die in der Rückwärtsrichtung bei der Codierung angeordnet wird, muß nach einer temporären Speicherung in einem Zwischenspeicher umgeordnet und ausgegeben werden. Daher bestehen Nachteile darin, dass die Umordnung nicht ausgeführt werden kann, ohne dass die Decodierung beendet ist, so dass der Verarbeitungsvorgang verzögert wird.
- Um die Verzögerung des Verarbeitungsvorgangs zu verringern, wird nicht eine relativ große Einheit, wie etwa eine Codefolge, als Dateneinheit für eine Codierung verwendet und kann beispielsweise die Codierung in der Rückwärtsrichtung unter Verwendung einer kleinen Einheit, wie etwa einer Makroblockeinheit ausgeführt werden. Das bevorzugte Ausführungsbeispiel ist in Fig. 26 gezeigt. Wenn in Fig. 26 die Daten von Mikroblöcken MB1 bis MB10 in Hälften unterteilt sind, werden die Makroblöcke MB6 bis MB10, die in der Rückwärtsrichtung angeordnet sind, nicht als Gruppe umgeordnet und sind die Daten jedes der Makroblöcke zum Codieren angeordnet.
- In dem bevorzugten Ausführungsbeispiel muß die Decodierung mit einem Start von MB10 aus mittels einer Decodiereinheit ausgeführt werden. Bei einer gewöhnlichen Decodiereinheit müssen die Daten jedoch geordnet startend von dem Makroblock MB1 decodiert werden, da die Daten des letzten Makroblocks in den Daten des gegenwärtigen Makroblocks derart verwendet werden, dass der Unterschied zwischen dem letzten Makroblock und dem gegenwärtigen Makroblock codiert wird und der gegenwärtige Makroblock mittels des Differenzsignals decodiert wird.
- In dem bevorzugten Ausführungsbeispiel werden daher zusätzliche Daten derart hinzugefügt, dass eine geordnete Decodierung startend von den hinteren Daten zum Eliminieren des vorstehend angeführten Nachteils, dass die Decodierung in der Vorwärtsrichtung ausgeführt werden muß, möglich wird. Beispielsweise werden bezüglich der Daten zum Codieren der Differenz zwischen den gegenwärtigen Daten und den letzten Daten, wie etwa das Bewegungsvektors und der Quantizierungsbreite, die aktuellen Werte des Bewegungsvektors und der Quantizierungsbreite des Makroblocks MB10 als zusätzliche Daten derart hinzugefügt, dass die Decodierung in der Reihenfolge mit einem Start von den hinteren Daten ausgeführt werden kann. Die Decodierung kann daher von dem Makroblock MB10 gestartet werden. Da daher die Daten bezüglich der Differenz zwischen den Makroblöcken MB9 und MB10 in den Daten des Makroblocks MB10 enthalten sind, werden derartige Daten zum Decodieren des Makroblocks MB9 verwendet. Danach wird das Decodieren in gleichartiger Weise in der Rückwärtsrichtung, wie etwa in der Reihenfolge MB5, MB7 und MB6 ausgeführt, so dass es möglich ist, eine Gruppe von Daten komplett zu decodieren. Die zusätzlichen Daten müssen nicht immer zu den Positionen, die in Fig. 26 gezeigt sind, hinzugefügt werden und können zu beliebigen Positionen hinzugefügt werden, solange die Positionen identifiziert werden können, bevor die in der Rückwärtsrichtung angeordneten Codeworte decodiert werden.
- Während die bevorzugten Ausführungsbeispiele der hierarchischen Codierung vorstehend beschrieben worden sind, sollten die vorstehend angeführten Verfahren nicht auf das Verfahren zum Anordnen der Codefolge beschränkt werden, wenn eine Codierung der Daten unterschiedlicher Bedeutung, wie etwa der oberen und der unteren Schichten ausgeführt wird, und kann das gleiche Verfahren auf zwei Codefolgen der gleichen Bedeutung angewendet werden.
- Darüber hinaus kann ein Codiersystem gemäß der Erfindung nicht nur auf zwei Schichten, wie etwa der oberen und der unteren Schicht angewendet werden, sondern kann die Erfindung ebenso auf eine Gruppe von Daten von Multistufungen (Multiechelon) in gleichartiger Weise zu dem vorstehend Angeführten angewendet werden.
- Ferner werden in den vorstehend angeführten bevorzugten Ausführungsbeispielen die Codefolgen Rahmen für Rahmen umgeordnet und wird die Synchronisation mittels Rahmensynchronisiersignalen ausgeführt. Es muß jedoch nicht mittels Rahmensynchronisiersignalen ausgeführt werden und es können alle Fälle verwendet werden, falls ein Synchronisationssignal nach der zweiten Codefolge vor der ersten Codefolge vorhanden ist. Sind beispielsweise eine Mehrzahl von Synchronisiersignalen in einem Rahmen (beispielsweise, wenn Synchronisiersignale für jede Zeile von Fig. 2(a) eingefügt sind) in dem konventionellen System vorhanden ist, können INTRA-Rahmen- Synchronisiersignale in jede Zeile gemäß der Darstellung von Fig. 2(b) eingefügt werden und können die Bereichsumordnung, die Codierunterteilung und die Codefolgenumordnung in einer Zeile als eine Einheit, die Bereiche zwischen den benachbarten Synchronisiersignalen enthalten, wie es in Fig. 2(b) dargestellt ist, ausgeführt werden. D. h., wie das konventionelle System von Fig. 2(b) kann die konventionelle Umordnung gemäß der Darstellung von Fig. 2(c) ausgeführt werden.
- Fig. 27 zeigt eine Ansicht zur Veranschaulichung, dass ein Verfahren zum Anordnen von einem bedeutenden Bereich auf ein Verfahren angewendet wird, bei dem ein Rahmen eine Vielzahl von Synchronisierblöcken enthält. In diesem Verfahren werden Synchronisiersignale, die sich von dem Rahmensynchronisiersignal (PSC) unterscheiden, in den Rahmen derart eingefügt, dass die Daten, die nicht verwendet werden können, selbst wenn ein Fehler auftritt, abnehmen. Ein derartiges Verfahren wurde konventionell gemäß der Darstellung von Fig. 4 verwendet. Bezüglich jedes Synchronisationsblocks, bei denen das Innere des Rahmens unterteilt worden ist, kann der Synchronisationsblock, der in der Reihenfolge von Fig. 27(a) codiert worden ist, einem ersten Synchronisationsblock entsprechen und kann der Synchronisationsblock, der in der Reihenfolge von Fig. 27(b) codiert worden ist, einem zweiten Synchronisationsblock entsprechen, so dass, selbst wenn einer der Synchronisationsblöcke in Folge von Fehlern fehlt, es möglich ist, die Wahrscheinlichkeit einer korrekten Decodierung ansteigt, wie der Block von Bedeutung ist.
- In dem vorstehend angeführten bevorzugten Ausführungsbeispiel kann die Decodierung in beiden Richtungen durch Hinzufügen von Synchronisationssignalen am Kopf und am Ende der Codierfolge ausgeführt werden. Gemäß der Erfindung sind die Synchronisiersignale nicht im Einzelnen erforderlich, solange der letzte Abschnitt der Codefolge vor einer Decodierung der Codefolge identifiziert werden kann.
- Das bevorzugte Ausführungsbeispiel eines Systems, das keine Synchronisiersignale verwendet, wird nachstehend beschrieben.
- Bei einem Codiersystem, bei dem die Codierung mit fixer Wortlänge von Daten einer vorbestimmten Einheit wie etwa eines Rahmens oder mehrerer Makroblöcke für eine Ausgabe ausgeführt wird, können der Kopf jeder Codefolge, die in der Vorwärtsrichtung angeordnet ist, und der Codefolge, die in der Rückwärtsrichtung angeordnet ist, unabhängig von Synchronisiersignalen usw. auf der Decodierseite identifiziert werden. Fig. 28 zeigt ein Beispiel der Anwendung eines Codiersystems gemäß der Erfindung auf die Codierfolge, die in einer fixen Wortlänge codiert worden ist. In dem Beispiel wird die Erfindung auf eine Codefolge angewendet, die mit fixer Wortlänge codiert worden ist, so dass m Bits durch Kombinieren von N-Makroblöcken (MB) vorhanden sind. Da in dem bevorzugten Ausführungsbeispiel gemäß der Darstellung von Fig. 29 der Kopf der Codefolge, die in der Rückwärtsrichtung angeordnet ist, immer alle m Bits angeordnet ist, ist es nicht erforderlich, Synchronisiersignale in die Codefolge einzufügen, so dass die Decodierung regulär und korrekt ausgeführt werden kann.
- Entgegen der vorstehend angerührten Konstruktion wird nachstehend ein System beschrieben, bei dem die Daten nicht eine fixe Länge der vorstehend angeführten vorbestimmten Einheit aufweisen, sondern der Kopfabschnitt einer Codefolge, die in der Rückwärtsrichtung angeordnet ist, ohne Verwendung von Synchronisiersignalen identifiziert werden kann.
- In dem bevorzugten Ausführungsbeispiel des Systems werden die Daten zum Identifizieren der Position des Präfixes der Codefolge in der Rückwärtsrichtung einer Ausgangscodefolge hinzugefügt. Fig. 30 zeigt die Codefolge in dem bevorzugten Ausführungsbeispiel. Durch Anordnen der Zeigerdaten, die die Präfixposition darstellen, an der Position des Rahmenkopfes oder an einer dazu entsprechenden Position wird das Präfix der Codefolge, die in der Rückwärtsrichtung angeordnet ist, unter Verwendung der Zeigerdaten auf der Decodierseite identifiziert und wird die Codierfolge decodiert. Auf diese Weise kann der Schwanz bzw. das Ende der Codefolge durch eine vorbestimmte Einheit anstelle von Synchronisiersignalen identifiziert werden, so dass die Erfindung auf ein Codiersystem mit variabler Wortlänge angewendet werden kann.
- Das bevorzugte Ausführungsbeispiel einer Hochgeschwindigkeitswiedergabe, die auf das vorstehend angeführte erste und zweite bevorzugte Ausführungsbeispiel angewendet werden kann, wird nachstehend beschrieben.
- Im Falle einer Hochgeschwindigkeitsvorwartswiedergabe wird, nachdem das Rahmensynchronisiersignal, das den Kopf des Rahmens darstellt, empfangen ist, nur die erste Codefolge an dem Kopf, die in der Vorwärtsrichtung beschrieben ist, durch den vorstehend angeführten Decodierprozeß zum Voranschreiten zur Verarbeitung des nächsten Rahmens decodiert. Die Daten, die der zweiten Codefolge entsprechen, die in der Rückwärtsrichtung umgeordnet ist, kann mittels der durch die erste Codefolge usw. decodierten Daten interpoliert werden.
- Im Falle einer Hochgeschwindigkeitsrückwärtswiedergabe wird gleichartig zu der Hochgeschwindigkeitsvorwärtswiedergabe das Rahmensynchronisiersignal in der Rückwärtsrichtung gesucht und wird nur die zweite Codefolge, die in der Rückwärtsrichtung umgeordnet ist, decodiert, nachdem das Rahmensynchronisiersignal empfangen ist. Da in diesem Fall die Bilddaten des letzten Rahmens erforderlich sind, wenn die bewegungskompensierte adaptive Prädiktionscodierung verwendet wird, ist es erforderlich, nur den Rahmen auszuwählen, der nicht die Bewegungskompensation verwendet.
- Fig. 31 zeigt das dritte bevorzugte Ausführungsbeispiel eines Bewegtbild-Codierungssystems und/oder Decodierungssystems gemäß der Erfindung, das auf eine Funkkommunikation angewendet wird. In Fig. 31 beinhaltet das Funkkommunikationssystem ein Bildübertragungssystem 20 und ein Bildwiedergabesystem 30 und werden die Bilddaten über eine Basisstation 41 mit einem Netz 40 übertragen und empfangen.
- Das Bildübertragungssystem 20 enthält einen Bilddatensignaleingangsabschnitt 21, einen Quellencodierabschnitt 22 mit einem Fehlerwiderstandsverarbeitungsabschnitt 23, einem Kanalcodierabschnitt 24 und einem Funkabschnitt 25. Bei dem Quellencodierabschnitt 22 werden die diskrete Kosinustransformation (DCT), die Quantisierung usw. ausgeführt. In dem Kanalcodierabschnitt 24 werden die Erfassung und Korrektur des Fehlers der Codierdaten usw. ausgeführt.
- Das Bildwiedergabesystem 30 enthält einen Funkabschnitt 31, einen Kanaldecodierabschnitt 32, einen Informationsquellendecodierabschnitt 33 mit einem Fehlerwiderstandsverarbeitungsabschnitt 34 und einen Bilddatensignalausgangsabschnitt 35.
- Fig. 32 zeigt ein Beispiel von Anwendungen eines Bewegtbild-Koodierungssystems und/oder Decodierungssystems gemäß der Erfindung. Gemäß der Darstellung von Fig. 32 wird das Bewegtbild mittels Endgeräten 50, wie etwa einem Laptopcomputer 51 und einem Tischcomputer 52, über Basisstationen 41, 42 und 43 des Funkkommunikationsnetzes 40 gesendet und empfangen.
- Wie vorstehend angeführt, ist gemäß der Erfindung ein Bewegtbild-Codiersystem und/oder Decodiersystem vorgesehen, das die Verschlechterung der Qualität eines decodierten Bildes in Folge von Fehlern eines Codes, die bei der Übertragung und Speicherung auftreten, verringern kann.
- Darüber hinaus werden Codierdaten bei der Codierung eines Bewegtbildes in eine Vielzahl von Gruppen von Codierdaten unterteilt. Zumindest eine der Gruppen von Codierdaten ist in der Vorwärtsrichtung beschrieben und die weiteren Gruppen der Codierdaten sind in der Rückwärtsrichtung beschrieben, so dass es möglich ist, die Decodiereffizienz von Bewegtbilddaten zu verbessern und zu verhindern, dass die Qualität des decodierten Bildes stark verschlechtert wird.
- Wenn darüber hinaus zwei unabhängige Codefolgen von einem Eingangsbild durch Codieren eines Bewegtbildes ausgegeben werden, werden die durch Unterteilen des Eingangsbildes erlangten jeweiligen Bereiche in unterschiedlicher Reihenfolge codiert. Selbst wenn die Decodierung in Folge von Fehlern, die in der Mitte jedes der Daten von beiden Codefolgen auftreten, unmöglich war, wird der Abschnitt, der decodiert werden konnte, nicht auf einen Teil eines Bildschirms konzentriert, so dass es möglich ist, den ganzen Bildschirm oder einen bedeutenden Abschnitt des Bildschirms in vorzüglicher Weise wiederzugeben.
- Unter Bezugnahme auf Fig. 36 bis 73 werden nachstehend die bevorzugten Ausführungsbeispiele eines Codiersystems und/oder Decodiersystems mit variabler Wortlänge gemäß der Erfindung beschrieben.
- Fig. 36 zeigt ein Blockschaltbild des ersten bevorzugten Ausführungsbeispiels eines Codiersystems und/oder Decodiersystems mit variabler Wortlänge gemäß der Erfindung. Das Codierungssystem und/oder Decodierungssystem mit variabler Wortlänge in dem bevorzugten Ausführungsbeispiel enthält einen Codeworttabellenvorbereitungsabschnitt 101, einen Codierabschnitt 114, ein Übertragungs- oder Speichersystem 104 und einen Decodierabschnitt 115. Zunächst wird die Funktion jedes dieser Abschnitte kurz beschrieben.
- Der Codeworttabellenvorbereitungsabschnitt 101 bereitet Codeworttabellen auf der Grundlage der Wahrscheinlichkeiten von Quellsymbolen zum Übertragen der vorbereiteten Codeworttabellen zu einer Codiertabelle 102 in dem Codierabschnitt 114 und eine Vorwärtscodeworttabelle 110 und eine Rückwärtscodeworttabelle 122 in dem Decodierabschnitt 115 vor. Der Codierabschnitt 114 codiert das Quellsymbol in ein Codewort mit variabler Wortlänge zum Ausgeben des codierten Codes mit variabler Wortlänge an das Übertragungs- oder Speichersystem 104 als Codierdaten. Der Decodierabschnitt 115 decodiert die durch die Übertragungs- oder Speichereinheit 104 eingespeisten Codierdaten zum Reproduzieren des ursprünglichen Quellsymbols.
- Der detaillierte Aufbau und Betrieb jedes der Abschnitte im bevorzugten Ausführungsbeispiel wird nachstehend beschrieben.
- In dem Codierabschnitt 114 wird das eingespeiste Quellsymbol zu einer Codiereinheit 103 eingespeist. Andererseits speichert die Codeworttabelle 102 Quellsymbole, die durch den Codeworttabellenvorbereitungsabschnitt 101 vorbereitet worden sind, und Codeworte von Coden mit variabler Wortlänge, die den Quellsymbolen entsprechen. Die Codiereinheit 103 wählt ein Codewort, das dem eingespeisten Quellsymbol entspricht, aus den in der Codeworttabelle 102 gespeicherten Codeworten aus und gibt das ausgewählte Codewort als Codierdaten aus. Die Codierdaten werden zu der Decodiereinheit 115 über das Übertragungs- oder Speichersystem 104 übertragen. Dabei wird ein Synchronisiercode in die Codierdaten mit regelmäßigen Intervalen eingefügt.
- In dem Decodierabschnitt 115 erfaßt ein Synchronisiercodeerfassungsabschnitt 105 einen Synchronisiercode auf der Grundlage der Codierdaten, die durch das Übertragungs- oder Speichersystem 104 eingespeist sind, und speichert ein Zwischenspeicher 106 die Codierdaten zwischen benachbarten Synchronisiercoden. In einer Vorwärtsdecodiereinheit 107 werden die in dem Zwischenspeicher 106 gespeicherten Codierdaten in einer Abfolge, die von dem Kopf der Codierdaten startet, auf der Grundlage eines von einem Vorwärtsdecodierbaumvorbereitungsabschnitt 101 zugeführten Vorwärtsdecodierbaums decodiert. In einer Rückwärtsdecodiereinheit 108 werden die in dem Zwischenspeicher 106 gespeicherten Decodierdaten in einer Abfolge decodiert, die von dem Ende der Codierdaten startet, auf der Grundlage eines von einem Rückwärtsdecodierbaumvorbereitungsabschnitt 113 zugeführten Rückwärtsdecodierbaums.
- Ein Decodierwertentscheidungsabschnitt 109 entscheidet einen decodierten Wert auf der Grundlage eines durch die Vorwärtsdecodiereinheit 107 erlangten decodierten Ergebnisses (das nachstehend als "Vorwärtsdecodierergebnis" bezeichnet wird) und eines decodierten Ergebnisses, das durch die Rückwärtsdecodiereinheit 108 erlangt wird (das nachstehend als "Rückwärtsdecodierergebnis" bezeichnet wird) und gibt ein decodiertes Endergebnis aus.
- D. h., da ein Bitmuster, das nicht in dem Decodierbaum erscheint, auftritt, falls ein Fehler in den Decodierdaten auftritt, kann die Existenz des Fehlers erfaßt werden, so dass der Decodierentscheidungsabschnitt 109 einen decodierten Wert auf der Grundlage des Vorwärtsdecodierergebnisses und des Rückwärtsdecodierergebnisses gemäß der Darstellung von Fig. 37 beschließt. Fig. 37 zeigt ein Verfahren zum Entscheiden von decodierten Werten zwischen den benachbarten Synchronisiercoden.
- Gemäß der Darstellung von Fig. 37(a) werden zunächst, wenn die Position eines Codewortes, bei dem ein Fehler erfaßt wird, in dem decodierten Ergebnis in der Vorwärtsrichtung nicht mit der Fehlererfassungsposition in dem decodierten Ergebnis in der Rückwärtsrichtung zusammentrifft, nur die decodierten Ergebnisse, bei welchen kein Fehler erfaßt wird, als decodierte Werte verwendet und werden die decodierten Ergebnisse an zwei Fehlererfassungspositionen nicht als decodierte Werte verwendet, so dass sie verworfen werden.
- Gemäß der Darstellung von Fig. 37(b) werden, wenn die Fehlererfassungspositionen in den decodierten Ergebnissen in der Vorwärtsrichtung und der Rückwärtsrichtung einander passiert haben, die decodierten Ergebnisse, bei welchen kein Fehler erfaßt wird, als decodierte Werte verwendet. In diesem Fall werden die decodierten Ergebnisse zwischen den Codeworten bei den zwei Fehlerfassungspositionen nicht als decodierte Werte verwendet, so dass sie verworfen werden.
- Darüber hinaus wird gemäß der Darstellung in Fig. 37(c), wenn ein Fehler lediglich in einem der decodierten Ergebnisse in der Vorwärtsrichtung und der Rückwärtsrichtung erfaßt worden ist (in diesem Fall ist ein Fehler nur in dem decodierten Ergebnis in der Vorwärtsrichtung erfaßt worden), der decodierte Wert bezüglich dem Codewort an der Fehlererfassungsposition verworfen und werden die decodierten Ergebnisse in der Rückwärtsrichtung als decodierte Werte bezüglich den folgenden Codeworten verwendet.
- Darüber hinaus wird gemäß der Darstellung von Fig. 37(d), wenn Fehler bezüglich dem gleichen Codewort in den decodierten Ergebnissen sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung erfaßt werden, der decodierte Wert bezüglich dem Codewort an der Fehlererfassungsposition verworfen und werden die decodierten Ergebnisse in der Rückwärtsrichtung als decodierte Werte bezüglich den nachfolgenden Codeworten in gleichartiger Weise zu Fig. 37(c) verwendet.
- Der Codeworttabellenvorbereitungsabschnitt 101 bereitet eine Codeworttabelle, die sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung decodiert werden kann, auf der Grundlage der Wahrscheinlichkeit eines Quellsymbols vor. Die durch den Codeworttabellenvorbereitungsabschnitt 101 vorbereitete Codeworttabelle wird zu der Codeworttabelle 102 in dem Codierabschnitt 114 und zu einer Vorwärtscodeworttabelle 110 und einer Rückwärtscodeworttabelle 112 in dem Decodierabschnitt 115 übertragen. In dem Vorwärtsdecodierbaumvorbereitungsabschnitt 111 wird ein Vorwärtsdecodierbaum auf der Grundlage der Vorwärtscodeworttabelle 110 vorbereitet. Darüber hinaus wird in dem Rückwärtsdecodierbaumvorbereitungsabschnitt 113 ein Rückwärtsdecodierbaum auf der Grundlage der Rückwärtscodeworttabelle 112 vorbereitet.
- Fig. 38 zeigt ein Blockschaltbild des Codeworttabellenvorbereitungsabschnitts 101. Ein Codeauswahlabschnitt 21 speist Daten der Wahrscheinlichkeit des Quellsymbols ein und wählt ein Codesystem mit der minimalen mittleren Codelänge aus auswählbaren Codesystemen auf der Grundlage der Daten der Wahrscheinlichkeit des Quellsymbols zum Übertragen des ausgewählten Ergebnisses zu einem Codewortkonfigurierabschnitt 22 aus. Der Codewortkonfigurierabschnitt 22 konfiguriert Codeworte des durch den Codewortauswahlabschnitt 21 ausgewählten Codes. Die durch den Codewortkonfigurierabschnitt 22 vorbereitete Codeworttabelle wird zu der Codeworttabelle 102 in dem Codierabschnitt 114 und der Vorwärtscodeworttabelle 110 in dem Decodierabschnitt 115 übertragen. Zu der Rückwärtscodeworttabelle 112 in dem Decodierabschnitt 115 wird die in der Rückwärtsrichtung der Vorwärtsrichtung beschriebene Codeworttabelle übertragen.
- In dem Codeauswahlabschnitt 21 werden die eingespeisten Quellsymbole in der Reihenfolge der Wahrscheinlichkeit umgeordnet, so dass S = S1, S2, ..., Sn ist, und auf der Grundlage der Wahrscheinlichkeiten P der Quellsymbole S wird ein Code C, der die folgende Formel erfüllt, aus einem Satz von konfigurierbaren Coden C ausgewählt.
- wobei Li eine Codelänge ist, die durch eine Gewichtung eines Codewortes berechnet werden kann, die durch den Codewortkonfigurierabschnitt 22 gegeben ist. In diesem Fall ist die Gewichtung eines Codewortes die Anzahl von "1" oder "0" in dem Codewort.
- Nachstehend wird ein Verfahren zum Konfigurieren eines Codewortes in dem Codewortkonfigurierabschnitt 22 beschrieben.
- Fig. 39 zeigt ein Beispiel eines Verfahrens zum Konfigurieren eines Binärcodesystems, bei dem die Gewichtungen bzw. Wertigkeiten für Code mit variabler Wortlänge, konstant sind.
- Gemäß der Darstellung von Fig. 39(a) wir ein gitterartig gerichteter Graph von dem Startpunkt zu dem Endpunkt ausgebildet. In dem gewichteten Graph entspricht für den Fall, dass der Verlauf von dem Startpunkt zu dem Endpunkt folgt, "1" dem Binärcode, wenn der linke Kurs ausgewählt ist, und "0" entspricht dem Binärcode, wenn der rechte Kurs ausgewählt wird, so dass ein Binärcodesystem ausgebildet wird, wie es in Fig. 39(b) gezeigt ist. In diesem Beispiel hat das konfigurierte Binärcodesystem eine Codelänge von 5 Bits und eine Wertigkeit (die Anzahl von "1") von zwei. Allgemein ist die Zahl der Binärcodesysteme, die eine Codelänge von N-Bits und eine Wertigkeit von W haben, gleich zu der Zahl der Kombinationen, die durch Auswählen von W aus N ausgebildet wird. In diesem Fall gibt es zehn Binärcodesysteme, da die Zahl der Kombinationen durch Auswählen von zwei aus 5 ausgebildet ist.
- Fig. 40 zeigt ein erstes Verfahren zum Konfigurieren von Codeworten eines Codes in variabler Wortlänge in dem Codewortkonfigurierabschnitt 22, der sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung decodiert werden kann (was nachstehend als "reversibler Code" bezeichnet wird). Gemäß der Darstellung auf der linken Seite von Fig. 40 ist zunächst ein Binärcodesystem, das das Quellsymbol 1 aufweist (in diesem Fall 9) und bei dem die Wichtung (die Anzahl von "1") konstant ist (in diesem Fall 1) in der Reihenfolge einer kürzeren Codelänge mit dem Verfahren von Fig. 39 konfiguriert. Gemäß der Darstellung von Fig. 40 wird dann "1" dem Kopf und dem Ende jedes der Binärcodesystem hinzugefügt und wird "0" dem kürzesten Code zugewiesen, so dass die Codeworte des reversiblen Codes konfiguriert sind. Der reversible Code startet immer von dem Code "0" bezüglich dem Quellsymbol A und von dem Code "1" bezüglich den weiteren Quellsymbolen B bis J zum Ausbilden einer Codekonfiguration, bei der der Code beendet ist, wenn dreimal "1" auftritt, d. h. die Pause zwischen Coden (die Codelänge) kann erfaßt werden.
- Die notwendigen und ausreichenden Bedingungen, dass der Code mit variabler Wortlänge ein reversibler Code ist, d. h. der Code kann sowohl in der Vorwärts- als auch in der Rückwärtsrichtung decodiert werden, sind, dass alle die Codeworte den Blättern des Decodierbaums in der Vorwärtsrichtung und den Blättern des Decodierbaums in der Rückwärtsrichtung zugewiesen sind. Die Blätter des Decodierbaums stehen für das Ende des Decodierbaums, d. h. eine Stelle, an der nichts davor ist. In dem Code mit variabler Wortlänge von Fig. 40 sind beispielsweise die Codeworte, die allen den Quellsymbolen A bis J entsprechen, den Blättern des Decodierbaums in der Vorwärtsrichtung gemäß der Darstellung von Fig. 41(a) sowie den Blättern des Decodierbaums in der Rückwärtsrichtung gemäß der Darstellung von Fig. 41(b) zugewiesen. Daher kann er sowohl in der Vorwärtsals auch in der Rückwärtsrichtung decodiert werden.
- Die Parameter bei dem Verfahren zum Konfigurieren von Codeworten eines Codes mit variabler Wortlänge von Fig. 40 kann verschiedenen Wahrscheinlichkeiten von Quellsymbolen entsprechen, indem als die Wertigkeit die Anzahl von "1" in den Codeworten und eine natürliche Zahl W, die nicht kleiner als 2 ist, ausgewählt wird. Natürlich kann das gleiche Ergebnis durch Umkehren der Bits zum Betrachten der Anzahl von "0" als die Wertigkeit erlangt werden.
- Fig. 42 zeigt ein zweites Verfahren zum Konfigurieren von Codeworten eines reversiblen Codes in dem Codewortkonfigurierabschnitt 22. Zunächst wird gemäß der linken Seite von Fig. 42 ein Binärcodesystem, das ein Quellsymbol 2 aufweist und bei dem die Gewichtung (die Anzahl von "1") konstant ist (in diesem Fall 1) in der Reihenfolge einer kürzeren Codelänge durch das Verfahren von Fig. 39 konfiguriert. Danach wird, wie es in der Mitte von Fig. 43 gezeigt ist, "1" dem Kopf und dem Ende jedes der Binärcodesysteme hinzugefügt und werden die Codeworte, die durch Umkehren der Bits der Codeworte erlangt werden, den Binärcodesystemen hinzugefügt, wie es in Fig. 42 gezeigt ist.
- Bei dem Code mit variabler Wortlänge kann die Codelänge gefunden werden, indem die Zahl der Symbole am Beginn jedes Codes gezählt wird. In dem Beispiel von Fig. 43, wenn vier Symbole am Beginn jedes der Code auftreten, sind die Code beendet, d. h. die Pause zwischen Coden (die Codelänge) kann erfaßt werden.
- Bei dem Code mit variabler Wortlänge von Fig. 42 sind die Codeworte, die allen den Quellsymbolen A bis J entsprechen, den Blättern des Decodierbaums in der Vorwärtsrichtung, wie er in Fig. 43(a) gezeigt ist, sowie den Blättern des Decodierbaums in der Rückwärtsrichtung, wie er in Fig. 43(b) gezeigt ist, zugeordnet. Daher kann er sowohl in der Vorwärts- als auch in der Rückwärtsrichtung decodiert werden.
- Fig. 44 zeigt ein drittes Verfahren zum Konfigurieren von Codeworten eines reversiblen Codes in dem Codewortkonfigurierabschnitt 22. Bei dem reversiblen Code kann die Codelänge der Codeworte gefunden werden, wenn die Anzahl von "0" gleich zu der Zahl von "1" ist. D. h., es wird ein gitterartig gerichteter Graph, wie er in Fig. 44(a) gezeigt ist, betrachtet. In diesem gerichteten Graph entspricht, wenn der linke Kurs, der von dem Startpunkt startet, ausgewählt wird, "0" dem Binärcode, und wenn der rechte Kurs ausgewählt wird, entspricht "1" diesem, so dass Codeworte durch den Kurs ausgebildet werden, der die Punkte an der Diagonallinie erreicht, die durch den Startpunkt verläuft.
- In diesem Fall sind die Codeworte, die allen den Quellsymbolen A bis J entsprechen, den Blättern des Decodierbaums in der Vorwärtsrichtung zugewiesen, wie es in Fig. 45(a) gezeigt ist, sowie den Blättern des Decodierbaums in der Rückwärtsrichtung zugewiesen, wie es in Fig. 45(b) gezeigt ist, so dass ersichtlich ist, dass sie sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung decodiert sein können.
- Ein Verfahren zum Verkürzen eines reversiblen Codes gemäß einem Ausführungsbeispiel der Erfindung wird nachstehend beschrieben.
- Da die Zahl der Quellsymbole, d. h. die Zahl der Code eines Codes mit variabler Wortlänge begrenzt ist, ist es möglich einen Teil eines Codes eines variablen Codes zu verkürzen. Der Ausdruck "Verkürzen" bedeutet, dass die Codelänge eines Teils eines Codes verkürzt wird, ohne dass die Codelänge von weiteren Coden erhöht wird. Fig. 46 zeigt ein Beispiel eines Verfahrens zum Verkürzen eines reversiblen Codes. Wird beispielsweise in dem reversiblen Code, wie er in Fig. 42 gezeigt wird, ein Bit an dem Ende der Codeworte, die den Quellsymbolen G, H, I und J entsprechen, entfernt, ist es möglich, den reversiblen Code sowohl in der Vorwärts- als auch in der Rückwärtsrichtung zu decodieren. Durch Anwendung dessen wird die Codelänge von vier Codeworten, die den Quellsymbolen G, H, J und J entsprechen, in Fig. 46 verkürzt.
- In dem Code mit variabler Wortlänge, wie er in Fig. 46 gezeigt ist, sind die Codeworte, die allen den Quellsymbolen A bis J entsprechen, den Blättern des Decodierbaums in der Vorwärtsrichtung, wie es in Fig. 47(a) gezeigt ist, sowie den Blättern des Decodierbaums in der Rückwärtsrichtung, wie es in Fig. 47(b) gezeigt ist, zugeordnet. Daher kann er sowohl in der Vorwärts- als auch in der Rückwärtsrichtung decodiert werden.
- Unter Bezugnahme auf Fig. 48 wird nachstehend ein Verfahren zum Erweitern eines reversiblen Codes gemäß einem Ausführungsbeispiel der Erfindung erläutert.
- Die Erweiterung eines reversiblen Codes kann durch Hinzufügen eines Codes mit fixer Wortlänge zum Kopf und/oder zum Ende eines jeden Codes zum Erhöhen der Zahl der Codeworte der gesamten Codelänge erfolgen. In einem Beispiel von Fig. 48 wird ein Code mit fixer Wortlänge von zwei Bits dem Ende jedes reversiblen Codes hinzugefügt, wie es auf der linken Seite gezeigt ist. Obwohl in diesem Fall die Codelänge jedes reversiblen Codes im Gesamten um zwei Bits ansteigt, wird die Zahl der Codeworte der gleichen Codelänge um das Vierfache erhöht. Wird ein Code mit fixer Wortlänge von N-Bits hinzugefügt, können allgemein, obwohl die Codelänge im Gesamten um N-Bits ansteigt, die Zahl der Codeworte der gleichen Codelänge um das 2 N-fache ansteigen. Da der Code mit fixer Wortlänge klar ein reversibler Code ist, bleibt er, falls ein Code mit fixer Wortlänge dem Kopf oder dem Ende des reversiblen Codes hinzugefügt wird, ein reversibler Code.
- Fig. 49 zeigt den Vergleich zwischen einem reversiblen Code, der durch Codieren mit variabler Wortlänge von Quellsymbolen erlangt wird, die dem Alphabet in Englisch entsprechen, gemäß einem Ausführungsbeispiel der Erfindung und einem reversiblen Code, der in der japanischen Patentoffenlegungsschrift Nr. 5-300027 offenbart ist. Der reversible Code gemäß dem Ausführungsbeispiel der Erfindung, wie er in Fig. 49 gezeigt ist, ist ein Code, der durch Hinzufügen eines Codes mit fixer Wortlänge von 2 Bits an das Ende eines Codes erweitert ist, wenn die Wertigkeit des Codewortes in dem Verfahren, wie es in Fig. 40 gezeigt ist, null ist.
- Obwohl der reversible Code gemäß dem Ausführungsbeispiel der Erfindung dem Hufmanns- Code unterlegen ist, der dem optimalen Code für einen Code mit variabler Wortlänge entspricht, der nur in der Vorwärtsrichtung decodiert werden kann, ist seine mittlere Codelänge kürzer als der reversible Code, der in der vorstehend angeführten japanischen Patentoffenlegungsschrift offenbart ist, und weist eine bessere Leistungsfähigkeit auf. Der bekannte reversible Code ist ein Code, bei dem Bits dem Ende des Hufmanns-Codes hinzugefügt werden, der ein Code mit variabler Wortlänge ist, der nur in der Vorwärtsrichtung decodierbar ist. Andererseits werden gemäß dem Ausführungsbeispiel der Erfindung exzessive Bits hinzugefügt und ist ein reversibler Code ursprünglich konfiguriert, so dass die Zahl von nutzlosen Bit-Mustern gering ist.
- Das zweite bevorzugte Ausführungsbeispiel eines Codiersystems und/oder Decodiersystems mit variabler Wortlänge gemäß der Erfindung wird nachstehend beschrieben.
- Fig. 50 zeigt ein Blockschaltbild des zweiten bevorzugten Ausführungsbeispiels eines Codiersystems und/oder Decodiersystems mit variabler Wortlänge gemäß der Erfindung. Das Codiersystem und/oder Decodiersystem mit variabler Wortlänge in dem bevorzugten Ausführungsbeispiel enthält allgemein einen Codeworttabellenvorbereitungsabschnitt 201, einen Codierabschnitt 213, ein Übertragungs- und Speichersystem 205 und einen Decodierabschnitt 214.
- Die Funktionsweise jeder dieser Abschnitte wird nachstehend kurz beschrieben. Der Codeworttabellenvorbereitungsabschnitt 201 enthält eine Codeworttabelle auf der Grundlage der Wahrscheinlichkeit eines Quellsymbols zum Übertragen davon zu einer Codiertabelle 202 in dem Codierabschnitt 213 und zum Übertragen der Parameter der Codierworte der vorbereiteten Codeworttabelle zu einem Decodiergraph und einem Decodierwerttabellenvorbereitungsabschnitt 208 in dem Decodierabschnitt 214. Der Codierabschnitt 213 codiert das Quellsymbol zu einem Code mit variabler Wortlänge zum Ausgeben des Codes mit variabler Wortlänge zu dem Übertragungs- oder Speichersystem 205 als Codierdaten. Der Decodierabschnitt 214 decodiert die über das Übertragungs- oder Speichersystem 205 eingespeisten Codierdaten zum Wiedergeben des ursprünglichen Quellsymbols.
- Der detaillierte Aufbau und Betrieb jedes Abschnittes im bevorzugten Ausführungsbeispiels wird nachstehend beschrieben.
- In dem Codierabschnitt 213 wird das eingespeiste Quellsymbol einem Codierer 203 eingespeist. Andererseits speichert die Codeworttabelle 202 die Quellsymbole, die durch den Codeworttabellenvorbereitungsabschnitt 201 vorbereitet worden sind, und die Codeworte der Code mit variabler Wortlänge, die den Quellsymbolen entsprechen. Jedoch die Codeworttabelle 202 enthält nicht alle die Codeworte, die allen den Quellsymbolen entsprechen, die eingespeist werden können, und sie speichert nur die Codeworte, die einem Teil der Quellsymbole entsprechen, die eine relativ hohe Auftrittswahrscheinlichkeit aufweisen. Der Codierer 203 wählt ein Codewort, das dem eingespeisten Quellsymbol entspricht, aus den in der Codeworttabelle 202 gespeicherten Codeworten aus und gibt es als Codierdaten aus.
- Wird ein Quellsymbol, bei dem kein entsprechendes Codewort in der Codeworttabelle 202 enthalten ist, d. h. ein Quellsymbol mit relativ geringer Auftrittswahrscheinlichkeit, eingespeist zu dem Codierabschnitt 213, wird ein Code mit fixer Wortlänge, der dem Quellsymbol entspricht, durch einen Codierabschnitt 204 für einen Code mit fixer Wortlänge vorbereitet und wird ein Escape-Code in der Codeworttabelle 202 dem Präfix und dem Suffix des Codes mit fixer Wortlänge zum Konfigurieren von Codeworten hinzugefügt, die als Codierdaten ausgegeben werden.
- Die auf diese Weise von dem Codierer 203 in dem Codierabschnitt 213 ausgegebenen Codierdaten werden zu dem Decodierer 214 über das Übertragungs- oder Speichersystem 205 übertragen. Dabei wird ein Synchronisiercode mit jeder vorbestimmten Periode in die Codierdaten eingefügt.
- Der Decodierabschnitt 214 enthält einen Synchronisiercodedetektierabschnitt 206, einen Zwischenspeicher 207, den Decodiergraphen- und Decodierwerttabellenvorbereitungsabschnitt 208, einen Vorwärtsdecodierer 209, einen Decodierabschnitt 210 mit fixer Wortlänge und einen Rückwärtsdecodierer 211 und einen Decodierwertentscheidungsabschnitt 212. Zunächst erfaßt der Synchronisiercodeerfassungsabschnitt 206 einen Synchronisiercode auf der Grundlage der durch das Übertragungs- und Speichersystem 205 eingespeisten Codierdaten und speichert der Zwischenspeicher 207 die Codierdaten zwischen den benachbarten Synchronisiercoden. In dem Vorwärtsdecodierer 209 werden die in dem Zwischenspeicher 207 gespeicherten Codierdaten in einer Abfolge decodiert, die von dem Präfix der Codierdaten startet. In dem Rückwärtsdecodierer 211 werden die in dem Zwischenspeicher 207 gespeicherten Decodierdaten in einer Abfolge decodiert, die von dem Suffix der Codierdaten startet. Der Decodierwertentscheidungsabschnitt 212 entscheidet einen Decodierwert auf der Grundlage eines decodierten Ergebnisses, das durch den Vorwärtsdecodierer 209 erlangt wird (welches nachstehend als "vorwärtsdecodierter Wert" bezeichnet wird) und eines decodierten Ergebnisses, das durch den Rückwärtsdecodierer 211 erlangt wird (das nachstehend als "rückwärtsdecodierter Wert" bezeichnet wird), und gibt ein endgültig decodiertes Ergebnis aus.
- Fig. 51 zeigt ein Verfahren zum Hinzufügen von Escape-Coden zu dem Kopf und zu dem Ende von Coden mit fixer Wortlänge zum Konfigurieren von Codeworten in dem Codeworttabellenvorbereitungsabschnitt 201. Gemäß der Darstellung von Fig. 51(a) ist das durch den Codeworttabellenvorbereitungsabschnitt 201 vorbereitete Codewort grundsätzlich ein reversibler Code, bei dem eine Pause eines Codes durch das Auftreten von drei "1" mit Ausnahme des Quellsymbols "A" erfaßt werden kann. Der reversible Code wird nachstehend als "Code (1)" bezeichnet.
- Andererseits ist ein Code (2), wie er in Fig. 51(b) gezeigt ist, durch neuerliches Hinzufügen zu dem Code (1) eines Codewortes, das durch Hinzufügen zu dem Kopf und dem Ende eines Codes mit fixer Wortlänge von 3 Bit konfiguriert ist, wobei das Codewort "1011" dem Quellsymbol "C" des Codes (1) als Escape-Code zum Darstellen des Kopfes und des Endes des Codes mit fixer Wortlänge entspricht. Die Abschnitte des reversiblen Codes des Codes (2), die dem Code (1) entsprechen, verwenden jedoch nicht das Codewort "1011", das als der Escape-Code in dem Code (2) verwendet wird und verwenden nur die Codeworte, die den Quellsymbolen A bis I entsprechen, wobei die Zahl davon um eins geringer als die des Codes (1) ist. Aus dem Vergleich von Fig. 51(a) und 51(b) ist klar ersichtlich, dass die Anzahl der Quellsymbole, die codiert werden können, von "10" des Codes (1) auf "17" des Codes (2) ansteigt.
- Um einen derartigen Code (2), wie er aus Fig. 51(a) und 51(b) ersichtlich ist, zu decodieren, wird der Code (1) immer einmal decodiert, wenn der Code (2) in der Vorwärts- und Rückwärtsrichtung decodiert wird, und kann der Code mit fixer Wortlänge in der Vorwärts- und der Rückwärtsrichtung decodiert werden. Falls daher der Code (1) in der Vorwärts- und in der Rückwärtsrichtung decodiert werden kann, kann der Code (2) in der Vorwärts- und in der Rückwärtsrichtung decodiert werden.
- Für den Fall von konventionellen reversiblen Coden ist es notwendig, alle die Codeworte, die den Quellsymbolen entsprechen, die eingespeist werden können, als Codeworttabellen in dem Codierer 213 und dem Decodierer 214 vorzubereiten. Andererseits kann in dem Code (2) der Codeabschnitt mit fixer Wortlänge separat als Binärcode mit 3 Bit in dem Codierabschnitt 204 für einen Code mit fixer Wortlänge und dem Decodierabschnitt 210 für den Code mit fixer Wortlänge vorbereitet sein, so dass die Codeworttabelle 202 nur die Codeworte des Codes (1) speichert. Daher ist es möglich, die Speicherkapazität des Codiersystems und/oder Decodiersystems mit variabler Wortlänge im Vergleich zu den konventionellen reversiblen Coden stark zu verringern.
- Der Decodiergraph und Decodierwerttabellenvorbereitungsabschnitt 208 bereitet einen Decodiergraphen auf der Grundlage eines Shalkwijk's Algorithmus und eine Decodierwerttabelle vor. Der Vorwärtsdecodierer 209 und der Rückwärtsdecodierer 211 decodieren Code auf der Grundlage der Decodiergraphen und der Decodierwerttabelle.
- Fig. 52 zeigt ein Verfahren zum Zählen eines Binärwertsystems einer konstanten Wertigkeit. Als ein Beispiel eines Algorithmuses zum Zählen eines Binärcodesystems mit konstanter Wertigkeit ist der Algorithmus, der in "An algorithm for source coding" (J.P.M. Shalkwijk; IEEE Trans. Inform Theory, vol. IT-18, No. 3, pp. 395-399, May 1972) als Shalkwijk's Algorithmus bekannt. In dem Shalkwijk's Algorithmus ist ein gitterartig gerichteter Graph, der sich von dem Startpunkt zu dem Endpunkt erstreckt, auf der Grundlage eines "Pascal- Dreiecks" ausgebildet, wie es in Fig. 52(a) gezeigt ist. Der durch eine Zahl einer Verbindung ausgedrückte Wert ist gleich der Gesamtzahl der Werte der Verbindungen an den Startpunkten der Pfeile, die an der vorstehend angeführten Verbindung eintreffen, unter der Annahme, dass der Wert an dem Startpunkt 1 ist. D. h., die Werte der jeweiligen Verbindungen werden durch das Pascalsche Dreieck bestimmt.
- Für den Fall, dass der Kurs von dem Startpunkt zu dem Endpunkt gemäß den eingespeisten Quellsymbolen in dem gerichteten Graph von Fig. 52(a) verläuft, kann ein Binärcodesystem mit einer Wertigkeit von 2 ausgebildet werden, indem "0" des Codewortes zum Entsprechen des Binärcodes veranlaßt wird, wenn der linke Kurs (Pfeil) ausgewählt wird, und "1" des Codewortes zum Entsprechen des Binärcodes veranlaßt wird, wenn der rechte Kurs (Pfeil) ausgewählt wird. Die Gesamtzahl der Werte, die durch Subtrahieren des Wertes an der Verbindung des Startpunktes eines Pfeils von dem Wert an der Verbindung des Endpunktes eines Pfeils erlangt wird, wenn "0" ausgewählt ist, ist der Rangordnungsweit bzw. Zählwert (rank order value) bezüglich der Codeworte der gleichen Codelänge in dem Binärcodesystem. Falls beispielsweise das eingespeiste Quellsymbol "01001" ist, ist der Rangordnungswert der Gesamtwert der Differenzen zwischen den Werten an Verbindungen bezüglich drei "0", d. h. (1-1) + (3-2) + (4-3) = 2. Der Rangordnungswert bedeutet einen Wert zum Bestimmen der Reihenfolgen verschiedener Codeworte der gleichen Codelänge. Fig. 52(b) zeigt die Beziehung zwischen dem Quellsymbol und dem Rangordnungswert in diesem Fall.
- Das Beispiel der Anwendung des Shalkwijk's Algorithmus zum Codieren ist bekannt. In diesem Fall wird die Codierung durch Transformieren des Wertes, der dem vorstehend angeführten Rangordnungswert entspricht, in einen Binärcode ausgeführt. Andererseits wird gemäß dem bevorzugten Ausführungsbeispiel der Erfindung der Algorithmus für das Decodieren, wie nachstehend ausgeführt, verwendet.
- D. h., in dem Decodiergraphen- und Decodierwerttabellenvorbereitungsabschnitt 208 wird ein gerichteter Graph als Decodiergraph auf der Grundlage des vorstehend angeführten Shalkwijk's Algorithmus vorbereitet. D. h., der Decodiergraph ist ein gerichteter Graph, bei dem die Werte, die durch das Pascalsche Dreieck bestimmt werden, die Werte an Verbindungen sind und die Pfeile durch "1" und "0" ausgedrückt werden. Ein Beispiel davon ist in Fig. 53(a) gezeigt. Fig. 53(b) zeigt ein Beispiel eines Verfahrens zum Berechnen eines decodierten Wertes in dem Vorwärtsdecodierer 208 und dem Rückwärtsdecodierer 211, die diesen Decodiergraphen verwenden.
- Der Code (1), wie er in Fig. 51(a) gezeigt ist, ist ein reversibler Code, bei dem eine Pause durch einen Punkt gesucht werden kann, bei dem drei "1" auftreten. Für den Fall, dass ein decodierter Wert des reversiblen Codes für den Code (1) berechnet wird, wird bezüglich der Vorwärtsrichtung 0 dem decodierten Wert zugeführt, falls das Präfix des reversiblen Codes "0" ist, und wird "1" am Kopf und "1" am Ende entfernt, falls das Präfix nicht "0" ist und wird dann der Rangordnungswert auf der Grundlage des Shalkwijk's Algorithmus berechnet. Da nun die Zahl der Codeworte mit einer kürzeren Codelänge als eines zu decodierenden Codewortes +1 ist, das der Gesamtwert der Werte der Verbindungen entlang der Linie ist, die nach rechts von dem Endpunkt in Fig. 53(a) geneigt ist, wird der decodierte Wert durch Addieren des Rangordnungswertes zu dem Gesamtwert erlangt.
- Andererseits wird bezüglich der Rückwärtsrichtung gleichartig zu der Vorwärtsrichtung 0 dem decodierten Wert zugeführt, falls der Kopf des reversiblen Codes "0" ist und werden "1" am Kopf und "1" am Ende entfernt, falls der Kopf nicht "0" ist. Nachdem danach die Restabschnitte umgekehrt sind, wird der Rangordnungswert auf der Grundlage des Shalkwijk's Algorithmus berechnet. Der decodierte Wert wird erlangt, indem der Rangordnungswert zu dem Gesamtwert der Werte der Verbindungen entlang der Linie addiert wird, die nach rechts von dem Endpunkt geneigt ist.
- Unter Bezugnahme auf Fig. 53(a) und 53(b) wird das Verfahren zum Berechnen eines decodierten Wertes im Detail beschrieben. Falls beispielsweise das Codewort eines reversiblen Codes, das zu decodieren ist, "10101" ist, werden "1" am Kopf und "1" am Ende zu "010" entfernt. Ist der Rangordnungswert bezüglich dem "010" auf der Grundlage des Shalkwijk's Algorithmuses hergeleitet, ist er (1-1) + (3-2) = 1 bezüglich zwei "0"en. Da in diesem Fall die Gesamtzahl der Werte der Verbindungen entlang der Linie, die nach rechts von dem Endpunkt geneigt ist, 1-1-2 = 3 ist, kann der decodierte Wert zu 5 berechnet werden, in dem der Wert +1 ( = 4) zu dem Rangordnungswert ( = 1) addiert wird.
- Wird die Decodierung mittels eines derartigen Decodiergraphen ausgeführt, ist es möglich, die Speicherkapazität stark zu verringern. Fig. 54(a) und 54(b) zeigen den Unterschied zwischen den notwendigen Speicherkapazitäten bei dem konventionellen Codierverfahren, das ein Codierbaum verwendet, und dem Codierverfahren, das einen Decodiergraphen gemäß dem bevorzugten Ausführungsbeispiel verwendet. Wird die Anzahl der Verbindungen in beiden Verfahren verglichen, ist, obwohl die Anzahl der Pfeile, die sich von jedem der Verbindungen erstrecken, in jedem der vorstehend angeführten Verfahren zwei ist, die Zahl der Pfeile, die jeden der Verbindungen erreichen, unterschiedlich. D. h., im Falle des Decodierbaumes von Fig. 54(a) ist die Zahl der Pfeile, die jeden der Verbindungen erreichen, immer 1. Andererseits erreichen für den Fall des Decodierbaums von Fig. 54(a) zwei Pfeile jeden der Verbindungen, so dass die Gesamtzahl der für das gleiche Codewort notwendigen Verbindungen sich verringert. In diesem Beispiel sind, obwohl fünfzehn Verbindungen für den Decodierbaum von Fig. 54(a) notwendig sind, nur acht Verbindungen für den Decodierbaum von Fig. 54(b) notwendig. Es besteht daher ein Vorteil darin, dass die für das Decodierverfahren, das einen Decodiergraphen gemäß dem bevorzugten Ausführungsbeispiel verwendet, notwendig ist, geringer als die für das konventionelle Decodierverfahren, das einen Decodierbaum verwendet, ist.
- Um den Code (2) zu decodieren, zu dem ein Escape-Code addiert ist, wie es in Fig. 51(b) gezeigt ist, sind zwei Decodierwerttabellen vorbereitet, d. h. die Decodierwerttabelle des Codes (1), wie sie in Fig. 55(a) gezeigt ist, und die Decodierwerttabelle von Coden mit fixer Wortlänge, wie sie in Fig. 55(b) gezeigt ist. Wenn ein Escape-Code in der Decodierwerttabelle der Code (1) decodiert wird, wird die Decodierwerttabelle mit Coden fester Wortlänge gelesen. Für den Fall, dass das Codewort "101100011011" ist, wird beispielsweise das "10111" am Präfix, d. h. der Escape-Code decodiert, wird das nachfolgende "001" von drei Bits als Code mit fixer Wortlänge betrachtet und wird die Decodierung in dem Decodierabschnitt 210 für einen Code mit fixer Wortlänge ausgeführt. Da in diesem Fall 1 als der Decodierwert "001" hergeleitet wird, wird das Quellsymbol "K" als das decodierte Ergebnis auf der Grundlage der Decodierwerttabelle der Code mit fixer Wortlänge von Fig. 55(a) hergeleitet.
- Das bevorzugte Ausführungsbeispiels eines Codiersystems und/oder Decodiersystems mit variabler Wortlänge, das auf ein Bewegtbild-Codier- und/oder Decodiersystem angewendet wird, gemäß der Erfindung, wird nachstehend beschrieben.
- Fig. 56 zeigt ein Blockschaltbild, das schematisch ein Bewegtbild-Codiersystem und/oder Decodiersystem zeigt, in dem das vorstehend angeführte Codiersystem und/oder Decodiersystem mit variabler Wortlänge beinhaltet ist.
- Bei einem Bewegtbildcodierer 709, wie er in Fig. 56(a) gezeigt ist, werden die Codierung mit variabler Wortlänge, die Kanalcodierung, das Multiplexen usw. der durch einen Quellcodierer 702 codierten Daten durch einen Bewegtbildmultiplexabschnitt 703 ausgeführt.
- Nachdem darüber hinaus das Glätten der Übertragungsgeschwindigkeit durch einen Übertragungszwischenspeicher 704 ausgeführt ist, werden sie zu einem Übertragungs- oder Speichersystem 705 als Codierdaten übertragen. Ein Steuerabschnitt 701 steuert den Quellcodierer 702 und den Bewegtbildmultiplexabschnitt 703 im Hinblick auf die Speicherkapazität des Übertragungszwischenspeichers 704.
- Andererseits werden in einem Bewegtbilddecodierabschnitt 710, wie er in Fig. 56(b) gezeigt ist, die von dem Übertragungs- oder Speichersystem 705 übertragenen Codierdaten temporär in einem Empfangszwischenspeicher 706 gespeichert. Nachdem darüber hinaus nach dem Multiplexteil die Kanalcodedecodierung und die Decodierung für den Code mit variabler Wortlänge der Decodierdaten durch einen Bewegtbild-Multiplexteilabschnitt 707 ausgeführt werden, werden die Daten zu einem Quelldecodierer 708 übertragen und wird ein Bewegtbild schließlich decodiert.
- Fig. 57 zeigt die Syntax des Bewegtbildcodierverfahrens in dem Bewegtbildcodierer 709 und dem Bewegtbildmultiplexteilabschnitt 707 von Fig. 56. In der oberen Schicht der Bildschichten, wie es in Fig. 57(a) gezeigt ist, werden Daten wie etwa Modusdaten, Bewegungsvektordaten und INTRA-DC eines Makroblocks, die sich von den DCT- Koeffizientendaten unterscheiden, beschrieben und in ihrer unteren Schicht werden DCT- Koeffizientendaten beschrieben. Der reversible Code gemäß der Erfindung wird auf die untere Schicht angewendet.
- Fig. 58(a) und 58(b) zeigen Blockschaltbilder zur Veranschaulichung der detaillierten Konstruktionen des Bewegtbildmultiplexabschnittes 703 und des Bewegtbildmultiplexteilabschnittes 707 von Fig. 56. Aus den von dem Quellcodierer 702 von Fig. 56 zugeführten Codierdaten wird bezüglich der Daten wie etwa der Modusdaten, der Bewegungsvektordaten und der INTRA-DC-Daten, die sich von den DCT- Koeffizientendaten unterscheiden, die in der oberen Schicht beschrieben sind, nachdem die übliche Codierung mit variabler Wortlänge in einem Codierer 901 mit variabler Wortlänge der oberen Schicht ausgeführt ist, die Kanalcodierung in einem Kanalcodierer 902 der oberen Schicht mittels eines Fehlerkorrekturerfassungssignals ausgeführt, das eine hohe Korrekturkapazität aufweist, obwohl es eine hohe Redundanz aufweist, und werden die auf diese Weise verarbeiteten Daten zu einem Multiplexabschnitt 905 übertragen.
- Andererseits werden aus den von dem Quellcodierer 702 zugeführten Codierdaten die DCT- Koeffizientendaten in reversible Daten mittels eines Codierers 903 mit variabler Wortlänge der unteren Schicht codiert. Nachdem danach dessen Kanalcodierung in einem Kanalcodierer 904 der unteren Schicht mittels eines Fehlerkorrekturerfassungssignals ausgeführt wird, das eine geringe Redundanz aufweist, werden die auf diese Weise verarbeiteten Daten zu dem Multiplexabschnitt 905 übertragen. In dem Multiplexabschnitt 905 werden Codierdaten der oberen und der unteren Schicht zum Übertragen zu dem Übertragungszwischenspeicher 904 gemultiplext.
- In dem Bewegtbild-Multiplexteilabschnitt 707, wie er in Fig. 58(b) gezeigt ist, werden die von dem Empfangszwischenspeicher 706 zugeführten Codierdaten in die obere und die untere Schicht mittels eines Multiplexteilabschnitts 906 unterteilt. Die Codierdaten in der oberen Schicht werden mittels eines Kanaldecodieres 907 der oberen Schicht decodiert und das decodierte Ergebnis wird zu einem Decodierer 909 mit variabler Wortlänge der oberen Schicht übertragen. Die Codierdaten in der unteren Schicht werden mittels eines Kanaldecodierers 908 der unteren Schicht decodiert und das decodierte Ergebnis wird zu einem Decodierer 910 mit variabler Wortlänge der unteren Schicht übertragen.
- Der Decodierer 910 mit variabler Wortlänge der unteren Schicht decodiert den reversiblen Code und überträgt das decodierte Ergebnis zu dem Quelldecodierer 708 und dem Decodierer 909 mit variabler Wortlänge der oberen Schicht. Der Decodierer 909 mit variabler Wortlänge der oberen Schicht decodiert den Code mit variabler Wortlänge, der als Codierdaten der oberen Schicht dient, und schreibt die Codierergebnisse auf der Grundlage des decodierten Ergebnisses des Decodierers 910 mit variabler Wortlänge der oberen Schicht neu.
- Der Codierer 903 mit variabler Wortlänge der unteren Schicht in Fig. 58(a) entspricht dem Codierabschnitt 213 in Fig. 50 und der Decodierer 910 mit variabler Wortlänge der unteren Schicht in Fig. 58(b) entspricht dem Decodierabschnitt 214 in Fig. 50.
- Aus dem Bewegtbild-Codiersystem und/oder Decodiersystem des bevorzugten Ausführungsbeispiels ist ersichtlich, dass, wenn das Codierverfahren eine Syntax aufweist, wie sie in Fig. 57 gezeigt ist, es nicht nur für den Code mit variabler Wortlänge selbst notwendig ist, dass er in beiden Richtung decodiert werden kann, sondern dass es ebenso für den Code mit variabler Wortlänge notwendig ist, das er syntaktisch in beiden Richtungen decodiert werden kann. In dem bevorzugten Ausführungsbeispiel kann dieses Erfordernis durch die Codeworttabelle erfüllt werden, wie sie nachstehend beschrieben ist.
- Fig. 59 bis 63 zeigen Beispiele einer Codeworttabelle von Coden mit variabler Wortlänge von DCT-Koeffizienten, die in dem Codierer 903 mit variabler Wortlänge der unteren Schicht verwendet werden. Darüber hinaus zeigt Fig. 64 eine Codeworttabelle von Escape-Coden.
- In dem Quellcodierern 702 wird bezüglich eines Blockes mit 8 · 8 DCT-Koeffizienten nach einer Quantisierung der Abtastung in dem Block ausgeführt, um einen LETZTEN-Wert bzw. LAST (O: Nicht-Null-Koeffizient an dem von dem letzten des Blocks unterschiedlichen Abschnitt; 1: Nicht-Null-Koeffizient beim Letzten des Blocks), einen LAUF-Wert bzw. RUN (die Zahl eines Null-Laufes vor dem Nicht-Null-Koeffizienten) und einen PEGEL-Wert bzw. LEVEL (dem Absolutwert des Koeffizienten) zum Übertragen des Ergebnisses zu dem Bewegtbildcodier 709 zu erlangen.
- Der Codierer 903 mit variabler Wortlänge der unteren Schicht in dem Bewegtbildcodierer 709 enthält eine Codeworttabelle (eine erste Codeworttabelle) von Nicht-LETZTEN- Koeffizienten, wobei die reversiblen Code (VLC-Code) den Nicht-LETZTEN-Koeffizienten, den LAUF-Werten und PEGEL-Werten von INTRA und INTER entsprechen, wie es in Fig. 59 und 60 gezeigt ist, und eine Codeworttabelle (eine zweite Codeworttabelle) von LETZTEN-Koeffizienten, bei welchen die reversiblen Code (VLC-Code) den LETZTEN- Koeffizienten, den LAUF-Werten und den PEGEL-Werten von INTRA und INTER entsprechen, wie es in Fig. 61 und 62 gezeigt ist. Auf der Grundlage der Modusdaten werden für den Fall INTRA die Codeworttabellen der Nicht-LETZTEN-Koeffizienten und der LETZTEN-Koeffizienten von INTRA ausgewählt, und für den Fall für INTER werden die Codeworttabellen der Nicht-LETZTEN-Koeffizienten und der LETZTEN-Koeffizienten von INTER zum Ausführen der Codierung ausgewählt. Ferner gibt "S" bei dem letzten Bit des VLC-Codes in Fig. 61 und 62 das Vorzeichen des PEGEL-Wertes an. Ist "S" "0" ist das Vorzeichen des PEGEL-Wertes positiv, und ist "S" "1", ist S negativ.
- Bezüglich der Koeffizienten, die nicht in dem Codewort existieren, werden der LAUF-Wert und der Absolut-Wert des PEGEL-Wertes in einen Code mit fixer Wortlänge codiert, wie es in Fig. 64 gezeigt ist, und wird ein Escape-Code dem Kopf und dem Ende des Codes mit fixer Wortlänge addiert, so dass die Vorzeichen der LETZTEN-Koeffizienten und des PEGEL-Wertes durch das letzte Bit des Escape-Codes bestimmt werden können. Fig. 63 zeigt eine Codeworttabelle der Escape-Code. In dieser Tabelle gibt "t" am letzten Bit des VLC-Codes, der als Escape-Code verwendet wird, an, ob der Escape-Code ein LETZTER- Koeffizient ist, wenn "t" dem Kopf des Codes mit fixer Wortlänge hinzugefügt wird. Ist "T" "0", ist der Escape-Code ein Nicht-LETZTER-Koeffizient, und, wenn "t" "1" ist, ist der Escape-Code ein LETZTER-Koeffizient. Darüber hinaus gibt "t" das Vorzeichen des PEGEL-Wertes an. Ist es "0", ist das Vorzeichen des PEGEL-Wertes positiv, und ist es "l", ist das Vorzeichen des PEGEL-Wertes negativ.
- Fig. 65 zeigt ein Beispiel von Codierdaten des bevorzugten Ausführungsbeispiels. Gemäß der Darstellung von Fig. 65 kann, wenn die Decodierung in der Vorwärtsrichtung in der unteren Schicht ausgeführt wird, da der Code des LETZTEN-Koeffizienten immer am Ende eines Blockes mit DCT-Koeffizienten von 8 · 8-Bildelementen existiert, das Ende des Blocks bestimmt werden. Wenn andererseits die Decodierung in Rückwärtsrichtung ausgeführt wird, kann der Kopf des Blocks auf der Grundlage des Auftretens des Codes des LETZTEN- Koeffizienten des letzten Blocks in einer Adresse bestimmt werden. In diesem Code wird der LETZTE-Koeffizient gemeinsam in einem INTRA-Modus und in einem INTER-Modus verwendet, so dass es möglich ist, den Kopf des Blocks zu bestimmen, selbst wenn der Modus für jeden Makroblock existiert.
- Bezüglich dem ersten Block in der unteren Schicht wird vorab ein Dummy-LETZTER- Koeffizient bei dem Präfix der unteren Schicht mittels des Codierers 903 mit variabler Wortlänge der unteren Schicht codiert oder es wird in dem Decodierer 910 mit variabler Wortlänge der unteren Schicht die Zahl der Bits der unteren Schicht vorab auf der Grundlage der Zahl der Bits zu einem Synchronisiersignal des nächsten Rahmens berechnet, um es mit der Zahl der decodierten Bits zu vergleichen, oder ein Dummy-LETZTER-Koeffizient wird dem Kopf der unteren Schicht mittels eines Zwischenspeichers in dem Decodierer 910 mit variabler Wortlänge der unteren Schicht eingefügt, so dass es möglich ist, den Kopf der unteren Schicht zu bestimmen, wenn das Decodieren in der Rückwärtsrichtung ausgeführt wird.
- Für den Fall der Vorwärtsrichtung werden die in der Codeworttabelle gemäß der Darstellung der Fig. 59 bis 62 gespeicherten reversiblen Code gelesen, bis zwei "0"en auftreten, falls das erste Bit des Kopfes "0" ist, und bis zwei "1"en auftreten, falls das erste Bit des Kopfes "l" ist, so dass ersichtlich ist, dass das nächste Bit das letzte Bit ist, das das Vorzeichen des PEGEL-Wertes darstellt. Im Falle der Rückwärtsrichtung gibt das erste "1"-Bit das Vorzeichen des PEGEL-Wertes an, so dass der reversible Code gelesen werden kann, bis zwei "0"en auftreten, falls das nächste Bit "0" ist und bis zwei '1'en auftreten, falls das nächste Bit "1" ist.
- Fig. 66 zeigt einen Decodiergraphen zum Decodieren des reversiblen Codes, der auf den Code mit variabler Wortlänge des DCT-Koeffizienten angewendet wird, der in dem Codierer 903 mit variabler Wortlänge der unteren Schicht in dem bevorzugten Ausführungsbeispiel verwendet wird. Bezüglich der Codierdaten, die das Bit des Kopfes und die zwei Bits des Endes in der Vorwärtsrichtung entfernen, kann der decodierte Wert durch die Decodiergraphen berechnet werden.
- Falls in diesem Decodiergraphen das Bit am Kopf "0" ist, verläuft er entlang des rechten Pfeiles, wenn "0" auftritt, und verläuft es entlang des linken Pfeiles, wenn "1" auftritt. Ist das Bit am Kopf "1", verläuft er entlang des rechten Pfeiles, wenn "1" auftritt, und verläuft er entlang des linken Pfeiles, wenn "0" auftritt.
- Wenn gemäß dem Shalkwijk's Algorithmuses, wie er vorstehend angeführt ist, der linke Pfeil ausgewählt wird, kann ein Rangordnungswert bezüglich Binärcodesystemen der gleichen Codelänge dem Gesamtwert der Werte entsprechen, die durch Subtrahieren des Wertes der Verbindung an dem Startpunkt des Pfeiles von dem Wert der Verbindung an dessen Endpunkt erlangt werden.
- Falls andererseits der Bit an dem Kopf "0" ist, kann der decodierte Wert ein Wert sein, der durch Addieren des Rangordnungswertes zu dem Doppelten der Größe des Gesamtwertes der Werte der Verbindungen entlang der Linie erlangt wird, die nach rechts von der Verbindung an dem Endpunkt geneigt ist. Falls das Bit an dem Präfix "1" ist, kann der decodierte Wert ein Wert sein, der durch Addieren des Wertes der Verbindung an dem Endpunkt zum Zweifachen der Größe des Gesamtwertes der Werte der Verbindungen entlang der Linie erlangt wird, die nach rechts von der Verbindung an dem Endpunkt sich neigt.
- Ist beispielsweise die Codefolge, die zu decodieren ist, "0110101", werden das erste Bit am Kopf und die zwei Bits am Ende in der Vorwärtsrichtung entfernt, so dass "1101" erlangt wird. Da das Bit am Kopf "0" ist, folgt ein Verlauf entlang des rechten Pfeils, wenn "0" in dem decodierten Graph auftritt und folgt ein Verlauf entlang des linken Pfeils, wenn "1" darin auftritt. Da in diesem Fall der Unterschied zwischen den Werten der Verbindungen bei einem Verlauf entlang des linken Pfeils (1-1) + (1-1) + (4-3) = 1 ist, ist der Rangordnungswert 1. Da das Bit mit der höchsten Wertigkeit "0" ist, wird dreizehn erlangt, indem die Rangordnungszahl 1 dem Zweifachen der Größe des Gesamtwertes der Werte der Verbindungen entlang der Linie hinzugefügt wird, die nach rechts von der Verbindung an dem Endpunkt geneigt ist, d. h. (1+2+3) · 2 = 12, und es ist möglich, den decodierten Wert des Codewortes mit dreizehn herzuleiten.
- Fig. 67 bis 69 zeigen Beispiel von Decodierwerttabellen, die in dem Decodierer 910 mit variabler Länge der unteren Schicht verwendet werden. Fig. 67 bis 68 zeigen Beispiel von Decodierwerttabellen von Nicht-LETZTEN-Koeffizienten, bei welchen die Nicht- LETZTEN-Koeffizienten, die LAUF-Werte und die PEGEL-Werte von INTRA und INTER den decodierten Werten entsprechen. Fig. 69(a) und 69(b) zeigen eine Decodierwerttabelle von LETZTEN-Koeffizienten, bei welchen LETZTE-Koeffizienten, LAUF-Werte und PEGEL-Werte von INTRA und INTER den decodierten Werten entsprechen. Darüber hinaus zeigt Fig. 69(c) eine Decodierwerttabelle von Escape-Coden.
- In diesen Beispielen kann aus Fig. 69(a) entnommen werden, dass beispielsweise bei dem Decodierwert 13 der LETZTE-Koeffizient 1 ist, die LAUF-Zahl 3 ist, der ABSOLUT-Wert des PEGEL-Werts 1 ist. Da darüber hinaus das Bit mit der geringsten Wertigkeit "1" ist, ist ersichtlich, dass der PEGEL-Wert negativ ist. Darüber hinaus ist aus Fig. 69(c) ersichtlich, dass der Escape-Code decodiert worden ist, wenn der decodierte Wert 41 decodiert worden ist. Es wird bestimmt, ob es sich um einen LETZTEN-Koeffizienten oder einen Nicht- LETZTEN-Koeffizienten beim letzten Bit des Escape-Codes handelt. Bezüglich der nachfolgenden dreizehn Bits werden der LAUF-Wert und der ABSOLUT-Wert des PEGEL- Wertes in dem Decodierabschnitt 210 mit fixer Wortlänge decodiert. Danach wird wieder der Escape-Code decodiert und wird das Vorzeichen des PEGEL-Wertes durch das letzte Bit bestimmt.
- Als ein Beispiel wird der Fall angeführt, dass die Codefolge des zu codierenden Gegenstandes die Folge "110000010000111000101111000010" ist. Da in diesem Fall das letzte Bit des Escape-Codes "11000010" beim Präfix "0" ist, handelt es sich um einen Nicht- LETZTEN-Koeffizienten und wird der Code mit fixer Wortlänge der nachfolgenden dreizehn Bits berechnet. Da die signifikanteren sechs Bits der nachfolgenden dreizehn Bits den LAUF-Wert angeben, ist der LAUF-Wert 7 aus "000111". Da die weniger signifikanten sieben Bits den Absolutwert des PEGEL-Wertes angeben, ist der Absolutwert des PEGEL- Wertes 12 aus "0001011". Da das letzte Bit des Escape-Codes "11000010" "0" ist, ist der PEGEL-Wert positiv. Auf diese Weise kann die Decodierung ausgeführt werden.
- Der Decodiewertentscheidungsabschnitt 212 entscheidet einen decodierten Wert auf der Grundlage des auf diese Weise durch den Vorwärtsdecodierer 209 erlangten decodierten Ergebnisses (was nachstehend als "vorwärtsdecodiertes Ergebnis" bezeichnet wird) und dem decodierten Ergebnis, das durch den Rückwärtsdecodierer 211 erlangt wird (das nachstehend als "rückwärtsdecodiertes Ergebnis" bezeichnet wird), und gibt ein decodiertes Endergebnis aus. D. h., falls ein Fehler in Codierdaten auftritt, kann, da das Bitmuster, das vorhanden war, als decodiertes Ergebnis des Kanalcodierers 908 der unteren Schicht oder als ein Codewort auftritt, die Existenz des Fehlers gesucht werden. Daher entscheidet der Decodierwertentscheidungsabschnitt 212 den decodierten Wert auf der Grundlage der decodierten Ergebnisse in der Vorwärtsrichtung und der Rückwärtsrichtung, wie es in Fig. 36 gezeigt ist. Ferner zeigt Fig. 71 ein Verfahren zum Entscheiden eines decodierten Wertes in der unteren Schicht.
- Gemäß der Darstellung von Fig. 71(a) werden zunächst, wenn die Positionen (erfaßte Positionen der Fehler) der Makroblöcke, in welchen Fehler in den vorwärtsdecodierten und rückwärtsdecodierten Ergebnissen nicht zueinander passen, nur das decodierte Ergebnis des Makroblocks als der decodierte Wert verwendet, in welchem kein Fehler erfaßt worden ist, und werden die decodierten Ergebnisse an den zwei fehlerbehafteten Positionen nicht als der decodierte Wert verwendet. Auf der Grundlage des decodierten Ergebnisses der Modusdaten in der oberen Schicht wird dann das decodierte Ergebnis in der oberen Schicht derart neu geschrieben, dass der INTRA-Makroblock durch den letzten Rahmen angegeben wird, wie er ist, und der INTER-Makroblock nur durch die Bewegungskompensation von dem letzten Rahmen angegeben wird.
- Darüber hinaus wird, wie es in Fig. 71(b) gezeigt ist, wenn die erfaßten fehlerbehafteten Positionen für das vorwärtsdecodierte und das rückwärtsdecodierte Ergebnis zueinander passen, das decodierte Ergebnis, bei dem kein Fehler in beiden decodierten Ergebnissen erfaßt worden ist, als decodierter Wert verwendet. In diesem Fall werden die decodierten Ergebnisse zwischen den Codeworten der zwei erfaßten fehlerbehafteten Positionen nicht als decodierte Werte verwendet. Auf der Grundlage des decodierten Ergebnisses der Modusdaten in der oberen Schicht wird darüber hinaus das decodierte Ergebnis in der oberen Schicht neu geschrieben, so dass der INTRA-Makroblock durch den letzten Rahmen, wie er ist, angegeben wird, und der INTER-Makroblock nur durch die Bewegungskompensation von dem letzten Rahmen angegeben wird.
- Wenn gemäß der Darstellung von Fig. 71(c) ein Fehler in nur einem der decodierten Ergebnisse in der Vorwärts- und der Rückwärtsrichtung erfaßt worden ist (beispielsweise ist ein Fehler nur in dem vorwärts erfaßten Ergebnis erfaßt worden), wird der Makroblock nicht als decodierter Wert verwendet. Auf der Grundlage des decodierten Ergebnisses der Modusdaten in der oberen Schicht wird darüber hinaus das decodierte Ergebnis in der oberen Schicht derart neu geschrieben, dass der INTRA-Makroblock durch den letzten Rahmen, wie er ist, angegeben wird, und der INTER-Makroblock nur durch die Bewegungskompensation von dem letzten Rahmen angegeben wird. Als der decodierte Wert bezüglich den nachfolgenden Makroblöcken, wird der decodierte Wert in der Rückwärtsrichtung verwendet.
- Die Codier-/Decodierreihenfolge des Makroblocks kann durch ein Verfahren bestimmt werden, dass sich von dem des vorstehend angeführten bevorzugten Ausführungsbeispieles unterscheidet. Beispielsweise kann ein Verfahren zum Bestimmen der Reihenfolge, wie es in Fig. 72 gezeigt ist, verwendet werden, so dass die bedeutenden zentralen Abschnitte des decodierten Bildschirms gesichert werden können, wenn ein Fehler auftritt. D. h., auf der Grundlage der Decodierung in beiden Richtungen wird, da die Möglichkeit, dass der erste Abschnitt und der letzte Abschnitt der Codierdaten zwischen den benachbarten Synchronisiercoden korrekt decodiert sind, hoch ist, die Reihenfolge derart bestimmt, dass diese Abschnitte an dem zentralen Abschnitt angeordnet werden.
- Während ferner die bevorzugten Ausführungsbeispiele der Erfindung auf die Codierung mit variabler Wortlänge eines DCT-Koeffizienten angewendet worden ist, kann die Erfindung auf die Codierung mit variabler Wortlänge weiterer Quellsymbole angewendet werden. Darüber hinaus wurde die Erfindung in den vorstehend angeführten bevorzugten Ausführungsbeispielen lediglich auf Binärcode angewendet, sie kann jedoch leicht auf hyperkomplexe Code angewendet werden und es können die gleichen Effekte erlangt werden.
- Schließlich wird unter Bezugnahme auf Fig. 72 als eine Anwendung der Erfindung das bevorzugte Ausführungsbeispiel eines Bild-Senders-Empfängers, auf den ein Codiersystem und/oder Decodiersystem mit variabler Wortlänge gemäß der Erfindung angewendet wird, nachstehend beschrieben.
- Ein Bilddatensignal, das durch eine in einem Personalcomputer (PC) 1001 vorgesehene Kamera 1002 eingespeist wird, wird mittels eines Codiersystems mit variabler Wortlänge, das in dem PC 1001 vorgesehen ist, codiert. In diesem Fall sind das Quellsymbol beispielsweise DCT-Koeffizientendaten, die durch die diskrete Kosinustransformation eines Eingangsbilddatensignals oder eines prädiktiven Fehlersignals erlangt werden, das eine Differenz zwischen einem Eingangsbilddatensignal und einem prädiktiven Bilddatensignal entspricht, mittels einer DCT-Schaltung zum Quantizieren durch eine Quantizierschaltung. Natürlich ist das Quellsymbol nicht auf derartige DCT-Koeffizientendaten beschränkt. Die von dem Codiersystem mit variabler Wortlänge ausgegebenen Codierdaten werden mit weiteren Audiodaten usw. gemultiplext und dann zu einem Audio-Sender-Empfänger 1003 zum Empfangen durch weitere Audio-Sender-Empfänger 1004 übertragen. Das durch den Audio-Sender-Empfänger 1004 empfangene Signal wird in Codierdaten, Audiodaten usw. unterteilt. Die Codierdaten des Bilddatensignals werden durch ein Decodiersystem mit variabler Wortlänge, das in einer Arbeitsstation (EWS) 1005 vorgesehen ist, zum Anzeigen an einer Anzeige des EWS 1005 decodiert.
- Andererseits wird das Bilddatensignal, das durch eine in dem EWS 1005 vorgesehene Kamera 1006 eingespeist wird, mittels eines Codiersystems mit variabler Wortlänge, das in dem EWS 1005 vorgesehen ist, gleichartig zu dem vorstehend angerührten Verfahren codiert. Die Codierdaten werden mit weiteren Audiodaten usw. gemultiplext und durch den Audio-Sender-Empfänger 1004 zum Empfangen durch den Audio-Sender-Empfänger 1003 übertragen. Das durch den Audio-Sender-Empfänger 1003 empfangene Signal wird in Codierdaten, Audiodaten usw. unterteilt. Die Codierdaten des Bilddatensignals werden mittels eines in dem PC 1001 vorgesehenen Decodier Systems mit variabler Wortlänge decodiert und an einer Anzeige des PC 1001 angezeigt.
- Das Codiersystem und/oder Decodiersystem mit variabler Wortlänge gemäß der Erfindung hat eine Codelänge, die der Auftrittswahrscheinlichkeit eines Quellsymbols entspricht. Das System hat darüber hinaus eine hohe Effizienz, da die Zahl nutzloser Bitmuster kleiner als bei dem konventionellen System ist. Darüber hinaus kann es einen reversiblen Code mit variabler Wortlänge konfigurieren, der sowohl in der Vorwärts- als auch in der Rückwärtsrichtung decodiert werden kann. Darüber hinaus ist es insbesondere für einen Sender-Empfänger nützlich, der einen Kanal verwendet, bei dem viele Fehler auftreten, wie etwa bei einem Audiokanal, wie er in Fig. 73 gezeigt ist.
- Wie vorstehend angeführt, kann ein Codiersystem und/oder Decodiersystem mit variabler Wortlänge gemäß der Erfindung eine Decodierung mit einer geringeren Speicherkapazität als bei konventionellen Systemen ausführen und kann zum Codieren angewendet werden, wobei die Zahl der Quellsymbole groß ist, obwohl konventionelle Systeme nicht darauf angewendet werden können.
- Im Einzelnen kann es auf ein Bewegtbild-Codiersystem und/oder Decodiersystem angewendet werden und kann ein Bewegtbild-Codiersystem und/oder Decodiersystem geliefert werden, das widerstandsfähig gegenüber Fehlern ist.
- Wie vorstehend angeführt, ist gemäß der Erfindung ein Codiersystem und/oder Decodiersystem mit variabler Wortlänge vorgesehen, das sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung decodieren kann und das hinsichtlich der Gesichtspunkte der Codiereffizienz, der für das System notwendigen Speicherkapazität, usw. praktisch ist.
- D. h., das erste bevorzugte Ausführungsbeispiel eines Codiersystems mit variabler Wortlänge gemäß der Erfindung enthält eine Codeworttabelle, die sowohl in der Vorwärts- als auch in der Rückwärtsrichtung decodiert werden kann und die eine Vielzahl von Codeworten zum Entsprechen mit Quellsymbolen speichert, wobei die Mehrzahl der Codeworte derart konfiguriert ist, das eine Pause des Codewortes durch die Wertigkeit des Codewortes, d. h. durch die Anzahl von "1" oder "0" des Codewortes, gesucht werden kann. Durch Auswählen eines Codewortes, das dem eingespeisten Quellsymbol entspricht, aus der Codeworttabelle ist es möglich, einen Code mit variabler Wortlänge zu erlangen, bei dem die Zahl der nutzlosen Bitmuster klein ist und die Codiereffizienz hoch ist. Durch Auswählen eines Codes mit der minimalen mittleren Codelänge aus einer Mehrzahl von Codekonfigurierverfahren und Parametern auf der Grundlage der Wahrscheinlichkeit des Quellsymbols ist es ferner möglich, einen Code mit variabler Wortlänge zu produzieren, der der Auftrittswahrscheinlichkeit des Quellsymbols entspricht.
- Gemäß dem ersten bevorzugten Ausführungsbeispiel eines Decodiersystems mit variabler Wortlänge wird, wenn der decodierte Wert auf der Grundlage der decodierten Ergebnisse des Codes mit variabler Wortlänge sowohl in der Vorwärts- als auch in der Rückwärtsrichtung bestimmt ist, durch Bestimmen des decodierten Wertes bei der erfaßten fehlerbehafteten Position gemäß dem erfaßten Ergebnis des Fehlers, wenn die decodierten Ergebnisse, erlangt sind, wenn der von dem vorstehend angeführten Codiersystem mit variabler Wortlänge ausgegebene reversible Code über einen Kanal übertragen wird, bei dem viele Fehler auftreten, wie etwa einem Audiokanal, die Decodierung gegen den Fehler effektiv ausgeführt, so dass das ursprüngliche Quellsymbol stabil wiedergegeben werden kann.
- Gemäß dem zweiten bevorzugten Ausführungsbeispiel eines Codiersystem und/oder Decodiersystems mit variabler Wortlänge ist es möglich, ein Quellsymbol mit einer geringen Auftrittswahrscheinlichkeit als einen Code mit fixer Wortlänge zu codieren, zu welchem ein Escape-Code hinzugefügt wird, und den Codeabschnitt mit fixer Wortlänge unabhängig von dem reversiblen Code zu codieren/zu decodieren. Falls daher ein Quellsymbol, dessen Zahl sehr groß ist, wie etwa der quantizierte orthogonale Transformationskoeffizient, in dem Bildcodierer/Bilddecodierer codiert wird, ist es möglich, die maximale Codelänge zu verringern und effektiv die Speicherkapazität zu verringern.
- Das dritte bevorzugte Ausführungsbeispiel eines Decodiersystems mit variabler Wortlänge verwendet ein Codewort mit variabler Wortlänge, das die Codelänge durch die Zahl der Wertigkeiten der Codeworte bestimmen kann und das durch Codeworte konfiguriert ist, die sowohl in der Vorwärts- als auch in der Rückwärtsrichtung decodierbar sind. In diesem System wird der durch das Pascalsche Dreieck bestimmt Wert als der Wert einer Verbindung verwendet und wird der decodierte Wert auf der Grundlage eines gerichteten Graphen (eines decodierten Graphens) berechnet, bei dem die Pfeile von den jeweiligen Verbindungen zu der nächsten Verbindung einer "1" und "0" entsprechen, so dass es möglich ist, einen Code mit variabler Wortlänge mit einer geringen Speicherkapazität zu decodieren, selbst wenn die Zahl der Quellsymbole groß ist.
- Gemäß dem vierten bevorzugten Ausführungsbeispiel eines Codiersystems und/oder Decodiersystems mit variabler Wortlänge wird eine erste Codeworttabelle, die den orthogonalen Transformationskoeffizienten entspricht, die sich von dem Letzten eines Blocks unterscheiden, für jeden einer Mehrzahl von Codemodi konfiguriert. Durch Verwendung einer zweiten Codeworttabelle, die dem Letzten des Blocks gemeinsam für jede der Codemodie entspricht, ist es möglich, die Änderung der Codeworttabelle durch den Codemodus zu behandeln und eine Pause des Blocks durch Auftreten eines Codewortes zu suchen, das den letzten orthogonalen Transformationskoeffizienten des letzten Blocks darstellt. Daher kann die Decodierung in beiden Richtungen syntaktisch ausgeführt werden.
- Durch separates Bereitstellen der zweiten Codeworttabelle bezüglich der erzeugten orthogonalen Transformationskoeffizienten wie etwa eines INTRA-Modus und eines INTER- Modus und einer Mehrzahl von Codiermodi mit verschiedener Auftrittshäufigkeit kann die Codiereffizienz verbessert werden.
Claims (7)
1. Codierungssystem mit variabler Wortlänge zum Zuordnen, zu einer Mehrzahl von
Quellsymbolen, eines Codewortes einer Codelänge, die einer Auftretenswahrscheinlichkeit
für jedes der Quellsymbole entspricht, und zum Ausgeben von codierten Daten, die einem
eingegebenen Quellsymbol entsprechen, wobei das Codiersystem mit variabler Wortlänge
eine Codeworttabelle (102) zum Speichern einer Mehrzahl von Codeworten, die
entsprechenden Quellsymbolen entsprechen, wobei die Codeworte in einer
Vorwärtsrichtung oder einer Rückwärtsrichtung decodiert werden können, und
ein Codiermittel (103) zum Auswählen eines Codewortes, das dem eingegebenen
Quellsymbol entspricht, aus der Codeworttabelle, falls ein Codewort, das dem
eingegebenen Quellsymbol entspricht, in der Codeworttabelle gespeichert ist, zum
Erzeugen eines Codewortes, das einen Escape-Code, der in entweder einer
Vorwärtsrichtung oder einer Rückwärtsrichtung decodierbar ist, aufweist, wobei der
Escape-Code einem Präfix und einem Suffix eines vorbestimmten Codes, die das
eingegebene Quellsymbol darstellen, hinzugefügt wird, wenn kein Codewort, das dem
eingegebenen Quellsymbol entspricht, in der Codeworttabelle gespeichert ist, und zum
Ausgeben von codierten Daten, die dem eingegebenen Quellsymbol entsprechen und ein
ausgewähltes Codewort oder ein erzeugtes Codewort aufweisen,
aufweist.
2. Codiersystem mit variabler Wortlänge nach Anspruch 1, bei dem der vorbestimmte
Code ein Code mit fester Wortlänge ist.
3. Codiersystem mit variabler Wortlänge nach Anspruch 1 oder 2, bei dem das
Codiermittel (103) angepasst ist zum Erzeugen des Codeworts, das dem eingegebenen
Quellsymbol entspricht, mit einem Escape-Code mit variabler Wortlänge als dem Escape-
Code und dem vorbestimmten Code, der das eingegebene Quellsymbol präsentiert.
4. Codierverfahren mit variabler Wortlänge, das die Schritte aufweist:
Auswählen eines Codeworts, das einem eingegebenen Quellsymbol entspricht, aus einer
Codeworttabelle, falls ein Codewort, das dem eingegebenen Quellsymbol entspricht, in der
Codeworttabelle gespeichert ist;
Erzeugen eines Codewortes, das einem Escape-Code, der in einer Vorwärtsrichtung oder
einer Rückwärtsrichtung decodierbar ist, aufweist, wobei der Escape-Code einem Präfix
und einem Suffix eines vorbestimmten Codes, der das eingegebene Quellsymbol
repräsentiert, hinzugefügt wird, wenn kein Codewort, das dem eingegebenen Quellsymbol
entspricht, in der Codeworttabelle gespeichert ist; und
Ausgeben von codierten Daten, die dem eingegebenen Quellsymbol entsprechen und ein
ausgewähltes Codewort oder ein erzeugtes Codewort aufweisen.
5. Codierverfahren mit variabler Wortlänge nach Anspruch 4, bei dem der
vorbestimmte Code ein Code mit fester Wortlänge ist.
6. Codierverfahren mit variabler Wortlänge nach Anspruch 4 oder 5, bei dem in dem
Erzeugungsschritt das Codewort, das dem eingegebenen Quellsymbol entspricht, einen
Escape-Code mit variabler Wortlänge als den Escape-Code und den vorbestimmten Code,
der das eingegebene Quellsymbol repräsentiert, aufweist, wenn kein Codewort, das dem
eingegebenen Quellsymbol entspricht, in der Codeworttabelle gespeichert ist.
7. Codierte Daten, die durch einen Decoder mit variabler Wortlänge decodierbar sind,
wobei die codierten Daten unter Verwendung des Codierverfahrens mit variabler
Wortlänge nach einem der Ansprüche 4 bis 6 codiert worden sind.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5628595 | 1995-03-15 | ||
JP8977295 | 1995-04-14 | ||
JP26038395A JP3431368B2 (ja) | 1995-04-14 | 1995-10-06 | 可変長符号化/復号化方法及び可変長符号化/復号化装置 |
JP27798295 | 1995-10-25 | ||
JP8055096A JPH09182073A (ja) | 1995-03-15 | 1996-03-08 | 動画像符号化装置および復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69624276D1 DE69624276D1 (de) | 2002-11-21 |
DE69624276T2 true DE69624276T2 (de) | 2003-06-12 |
Family
ID=27523291
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69637068T Expired - Fee Related DE69637068T2 (de) | 1995-03-15 | 1996-03-15 | System zur Dekodierung von bewegten Bildern |
DE69636150T Active DE69636150T8 (de) | 1995-03-15 | 1996-03-15 | System zur Kodierung von bewegten Bildern, und System zur variablen Längenkodierung |
DE69637067T Expired - Fee Related DE69637067T2 (de) | 1995-03-15 | 1996-03-15 | System zur variablen Längendekodierung |
DE69624276T Expired - Lifetime DE69624276T2 (de) | 1995-03-15 | 1996-03-15 | System und Verfahren zur variablen Längenkodierung von sich bewegenden Bildern |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69637068T Expired - Fee Related DE69637068T2 (de) | 1995-03-15 | 1996-03-15 | System zur Dekodierung von bewegten Bildern |
DE69636150T Active DE69636150T8 (de) | 1995-03-15 | 1996-03-15 | System zur Kodierung von bewegten Bildern, und System zur variablen Längenkodierung |
DE69637067T Expired - Fee Related DE69637067T2 (de) | 1995-03-15 | 1996-03-15 | System zur variablen Längendekodierung |
Country Status (3)
Country | Link |
---|---|
US (1) | US5852469A (de) |
EP (18) | EP1802137A3 (de) |
DE (4) | DE69637068T2 (de) |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69619002T2 (de) * | 1995-03-10 | 2002-11-21 | Kabushiki Kaisha Toshiba, Kawasaki | Bildkodierungs-/-dekodierungsvorrichtung |
EP1635579A2 (de) * | 1995-09-12 | 2006-03-15 | Matsushita Electric Industrial Co., Ltd. | Kodierungsverfahren und Wavelettransformationsvorrichtung |
JPH1023415A (ja) * | 1996-07-05 | 1998-01-23 | Matsushita Electric Ind Co Ltd | 画像符号化復号方法および装置 |
DE69735679T2 (de) * | 1996-11-06 | 2006-11-23 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren zur Bilddecodierung |
KR100292249B1 (ko) * | 1997-02-13 | 2001-06-01 | 기노시타 고타 | 프레임 동기 회로 |
WO1998041026A1 (en) * | 1997-03-12 | 1998-09-17 | Matsushita Electric Industrial Co., Ltd. | Encoding method, encoder and recording medium, and decoding method, decoder and recording medium |
CN1254469A (zh) * | 1997-03-21 | 2000-05-24 | 卡纳尔股份有限公司 | 从发送的数据流中提取数据段 |
DE69815086T2 (de) * | 1997-03-27 | 2004-04-01 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Adressendecodiersystem |
US6633611B2 (en) * | 1997-04-24 | 2003-10-14 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for region-based moving image encoding and decoding |
JP3884172B2 (ja) | 1997-10-02 | 2007-02-21 | 株式会社東芝 | 可変長復号化装置および復号化方法 |
JP3662129B2 (ja) * | 1997-11-11 | 2005-06-22 | 松下電器産業株式会社 | マルチメディア情報編集装置 |
US6768775B1 (en) * | 1997-12-01 | 2004-07-27 | Samsung Electronics Co., Ltd. | Video CODEC method in error resilient mode and apparatus therefor |
US6211801B1 (en) * | 1998-04-17 | 2001-04-03 | Netergy Networks | Data communication arrangement having variable length coding and method therefor |
JP2000032393A (ja) * | 1998-07-09 | 2000-01-28 | Sony Corp | 画像情報処理装置および方法、並びに提供媒体 |
EP0987897A3 (de) * | 1998-08-25 | 2005-07-13 | Matsushita Electric Industrial Co., Ltd. | Einrichtung zum Synthetisieren von Bewegtbildsequenzen |
DE19840835C2 (de) * | 1998-09-07 | 2003-01-09 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern |
DE19907729C2 (de) * | 1999-02-23 | 2001-02-22 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen eines Datenstroms aus Codeworten variabler Länge und Verfahren und Vorrichtung zum Lesen eines Datenstroms aus Codeworten variabler Länge |
DE19907728C2 (de) * | 1999-02-23 | 2001-03-01 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Erzeugen eines Datenstroms und Vorrichtung und Verfahren zum Lesen eines Datenstroms |
US7543148B1 (en) * | 1999-07-13 | 2009-06-02 | Microsoft Corporation | Audio watermarking with covert channel and permutations |
EP1075148A3 (de) * | 1999-08-02 | 2005-08-24 | Texas Instruments Incorporated | Fehlerresistente Videocodierung unter Verwendung reversibler Codes variabler Länge |
KR100327412B1 (ko) * | 1999-08-02 | 2002-03-13 | 서평원 | 에러 정정을 위한 영상 부호화 및 복호화 방법 |
KR100618972B1 (ko) * | 1999-08-02 | 2006-09-01 | 삼성전자주식회사 | 가변장 코딩 방법 및 장치 |
SE9903191D0 (sv) | 1999-09-08 | 1999-09-08 | Pacesetter Ab | Compression and decompression coding scheme and apparatus |
US6907073B2 (en) * | 1999-12-20 | 2005-06-14 | Sarnoff Corporation | Tweening-based codec for scaleable encoders and decoders with varying motion computation capability |
FR2803476B1 (fr) * | 1999-12-31 | 2003-01-10 | Cit Alcatel | Procede d'etablissement de mode de fonctionnement sans double transcodage dans un systeme cellulaire de radiocommunications mobiles |
US7142603B2 (en) * | 2000-01-15 | 2006-11-28 | Sony Corporation | Method and system for predictive table look-up code length of variable length code |
AU2001264812A1 (en) * | 2000-06-22 | 2002-01-02 | Sony Electronics Inc. | A method, system, and apparatus pertaining to signal processing |
KR100755825B1 (ko) * | 2000-07-07 | 2007-09-07 | 엘지전자 주식회사 | 지그재그 스캔을 이용한 광 디스크 데이터 기록방법/장치, 재생방법/장치 및 기록매체 |
JP2002311996A (ja) * | 2001-02-09 | 2002-10-25 | Sony Corp | コンテンツ供給システム |
JP2003046944A (ja) * | 2001-08-02 | 2003-02-14 | Sony Corp | 信号処理装置および方法、記録装置および方法、再生装置および方法、記録再生装置および方法、ビデオカメラ、ならびに、映像モニタ装置 |
US7218251B2 (en) * | 2002-03-12 | 2007-05-15 | Sony Corporation | Signal reproducing method and device, signal recording method and device, and code sequence generating method and device |
US7428684B2 (en) | 2002-04-29 | 2008-09-23 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Device and method for concealing an error |
DE10219133B4 (de) * | 2002-04-29 | 2007-02-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Verschleiern eines Fehlers |
US6646578B1 (en) * | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
FI114071B (fi) * | 2003-01-13 | 2004-07-30 | Nokia Corp | Kuvien käsitteleminen rajoitetulla bittimäärällä |
US7212681B1 (en) * | 2003-01-15 | 2007-05-01 | Cisco Technology, Inc. | Extension of two-dimensional variable length coding for image compression |
US7194137B2 (en) * | 2003-05-16 | 2007-03-20 | Cisco Technology, Inc. | Variable length coding method and apparatus for video compression |
CN1214649C (zh) * | 2003-09-18 | 2005-08-10 | 中国科学院计算技术研究所 | 用于视频预测残差系数编码的熵编码方法 |
US7400681B2 (en) * | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
US7702021B2 (en) * | 2004-01-27 | 2010-04-20 | Broadcom Corporation | Decoding of digital video standard material during variable length decoding |
US7499595B2 (en) * | 2004-08-18 | 2009-03-03 | Cisco Technology, Inc. | Joint amplitude and position coding for photographic image and video coding |
US7499596B2 (en) | 2004-08-18 | 2009-03-03 | Cisco Technology, Inc. | Amplitude coding for clustered transform coefficients |
US7454073B2 (en) * | 2004-06-15 | 2008-11-18 | Cisco Technology, Inc. | Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks |
US7471841B2 (en) | 2004-06-15 | 2008-12-30 | Cisco Technology, Inc. | Adaptive breakpoint for hybrid variable length coding |
US7454076B2 (en) * | 2004-06-15 | 2008-11-18 | Cisco Technology, Inc. | Hybrid variable length coding method for low bit rate video coding |
US7492956B2 (en) * | 2004-08-18 | 2009-02-17 | Cisco Technology, Inc. | Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding |
US7471840B2 (en) * | 2004-08-18 | 2008-12-30 | Cisco Technology, Inc. | Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression |
US7620258B2 (en) * | 2004-08-18 | 2009-11-17 | Cisco Technology, Inc. | Extended amplitude coding for clustered transform coefficients |
US7680349B2 (en) * | 2004-08-18 | 2010-03-16 | Cisco Technology, Inc. | Variable length coding for clustered transform coefficients in video compression |
US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
US7397871B2 (en) * | 2004-10-01 | 2008-07-08 | L-3 Communications Titan Corporation | Estimation of single-to-noise ratio by processing measured error vector magnitude |
WO2006063618A1 (en) * | 2004-12-15 | 2006-06-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for encoding mode changing of encoded data streams |
US7242328B1 (en) | 2006-02-03 | 2007-07-10 | Cisco Technology, Inc. | Variable length coding for sparse coefficients |
CN101093998B (zh) * | 2007-08-15 | 2011-03-30 | 威盛电子股份有限公司 | 解码方法及装置 |
JP2009278373A (ja) * | 2008-05-14 | 2009-11-26 | Sharp Corp | 画像処理装置、画像形成装置及びコンピュータプログラム |
JP2010045598A (ja) * | 2008-08-12 | 2010-02-25 | Fujitsu Ltd | 可変長復号装置、及び、符号化装置 |
US8503527B2 (en) | 2008-10-03 | 2013-08-06 | Qualcomm Incorporated | Video coding with large macroblocks |
JP5105191B2 (ja) * | 2008-10-08 | 2012-12-19 | 株式会社メガチップス | 画像処理装置 |
US8878041B2 (en) * | 2009-05-27 | 2014-11-04 | Microsoft Corporation | Detecting beat information using a diverse set of correlations |
AU2014280909B2 (en) * | 2009-08-13 | 2016-03-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image by using large transformation unit |
KR101474756B1 (ko) | 2009-08-13 | 2014-12-19 | 삼성전자주식회사 | 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치 |
US8825675B2 (en) * | 2010-03-05 | 2014-09-02 | Starcounter Ab | Systems and methods for representing text |
US8976861B2 (en) | 2010-12-03 | 2015-03-10 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
US9042440B2 (en) | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
EP2652707A4 (de) * | 2010-12-14 | 2017-04-19 | Telefonaktiebolaget LM Ericsson (publ) | Fliesenkodierung und -dekodierung |
US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
US9106913B2 (en) | 2011-03-08 | 2015-08-11 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
US20120230418A1 (en) | 2011-03-08 | 2012-09-13 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
US9491469B2 (en) | 2011-06-28 | 2016-11-08 | Qualcomm Incorporated | Coding of last significant transform coefficient |
KR20130011994A (ko) * | 2011-07-22 | 2013-01-30 | 삼성전자주식회사 | 송신 장치, 수신 장치 및 그 송수신 방법 |
JP5966345B2 (ja) * | 2011-12-21 | 2016-08-10 | ソニー株式会社 | 画像処理装置および方法 |
CN103237212B (zh) * | 2013-04-08 | 2016-04-13 | 浙江大学 | 一种生成增强层块单元编码信息参考队列的方法及装置 |
GB2521828A (en) * | 2013-12-23 | 2015-07-08 | Sony Corp | Data encoding and decoding |
WO2017063263A1 (zh) * | 2015-10-13 | 2017-04-20 | 华为技术有限公司 | 译码设备、方法及信号传输系统 |
WO2020165260A1 (en) | 2019-02-13 | 2020-08-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-mode channel coding with mode specific coloration sequences |
WO2020164753A1 (en) | 2019-02-13 | 2020-08-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decoder and decoding method selecting an error concealment mode, and encoder and encoding method |
CN112887054B (zh) * | 2019-11-29 | 2023-11-21 | 厦门雅迅网络股份有限公司 | 一种基于长度转义的数据流封包方法、解包方法及系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4569050A (en) * | 1983-01-14 | 1986-02-04 | Honeywell Inc. | Data communication system with fixed weight error correction and detection code |
CA1296430C (en) * | 1986-11-10 | 1992-02-25 | Masahide Kaneko | Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization |
SE454734B (sv) * | 1987-02-20 | 1988-05-24 | Harald Brusewitz | Forfarande och anordning for sendning och mottagning vid variabel lengdkodning |
US4972260A (en) * | 1988-08-22 | 1990-11-20 | Matsushita Electric Industrial Co., Ltd. | Apparatus for coding a moving-picture signal |
DE69126565T2 (de) * | 1990-04-17 | 1998-01-02 | Matsushita Electric Ind Co Ltd | Verfahren zur Übertragung von Kodes mit variabler Länge |
TW223690B (de) * | 1991-02-13 | 1994-05-11 | Ampex | |
US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
JP3141139B2 (ja) * | 1991-03-13 | 2001-03-05 | 三菱電機株式会社 | 映像音声デジタル記録/再生装置 |
US5392037A (en) * | 1991-05-21 | 1995-02-21 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for encoding and decoding |
US5144425A (en) * | 1991-08-26 | 1992-09-01 | General Electric Company | Apparatus for hierarchically dividing video signals |
JP3134424B2 (ja) * | 1991-10-31 | 2001-02-13 | ソニー株式会社 | 可変長符号化方法及び装置 |
JP3360844B2 (ja) * | 1992-02-04 | 2003-01-07 | ソニー株式会社 | ディジタル画像信号の伝送装置およびフレーム化方法 |
NO175080B (no) * | 1992-03-11 | 1994-05-16 | Teledirektoratets Forskningsav | Fremgangsmåte for koding av bildedata |
JP2697479B2 (ja) * | 1992-04-17 | 1998-01-14 | 国際電信電話株式会社 | 可逆可変長符号化方式 |
US5396595A (en) * | 1992-04-24 | 1995-03-07 | Spacelabs Medical, Inc. | Method and system for compression and decompression of data |
KR0162197B1 (ko) * | 1992-05-30 | 1998-12-15 | 강진구 | 영상데이타의 가변장부호와/복호화방법 및 장치 |
US5231486A (en) * | 1992-07-27 | 1993-07-27 | General Electric Company | Data separation processing in a dual channel digital high definition television system |
US5982437A (en) * | 1992-10-26 | 1999-11-09 | Sony Corporation | Coding method and system, and decoding method and system |
JP2959916B2 (ja) * | 1992-10-28 | 1999-10-06 | 松下電器産業株式会社 | デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ |
JP3261844B2 (ja) * | 1993-01-13 | 2002-03-04 | 株式会社日立製作所 | デジタルビデオ記録装置及び記録方法 |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
JP3190755B2 (ja) * | 1993-01-22 | 2001-07-23 | 株式会社東芝 | 復号装置 |
KR970003024B1 (ko) * | 1994-02-28 | 1997-03-13 | 한국전기통신공사 | 병렬처리 패턴매칭을 이용한 가변부호길이에서 고속 재동기방법 |
US5563593A (en) * | 1994-03-18 | 1996-10-08 | Lucent Technologies Inc. | Video coding with optimized low complexity variable length codes |
-
1996
- 1996-03-15 EP EP07004936A patent/EP1802137A3/de not_active Withdrawn
- 1996-03-15 EP EP07004928A patent/EP1802129A3/de not_active Withdrawn
- 1996-03-15 EP EP07004930A patent/EP1802131A3/de not_active Withdrawn
- 1996-03-15 EP EP07004932A patent/EP1802133A3/de not_active Withdrawn
- 1996-03-15 US US08/616,809 patent/US5852469A/en not_active Expired - Lifetime
- 1996-03-15 EP EP07004933A patent/EP1802134A3/de not_active Withdrawn
- 1996-03-15 EP EP07004938A patent/EP1802139A2/de not_active Withdrawn
- 1996-03-15 EP EP07004935A patent/EP1802136A3/de not_active Withdrawn
- 1996-03-15 EP EP07004939A patent/EP1802140A3/de not_active Withdrawn
- 1996-03-15 EP EP07004931A patent/EP1802132A3/de not_active Withdrawn
- 1996-03-15 DE DE69637068T patent/DE69637068T2/de not_active Expired - Fee Related
- 1996-03-15 EP EP07003326A patent/EP1781040A3/de not_active Withdrawn
- 1996-03-15 EP EP07004937A patent/EP1802138A3/de not_active Withdrawn
- 1996-03-15 EP EP96104160A patent/EP0732855B1/de not_active Expired - Lifetime
- 1996-03-15 DE DE69636150T patent/DE69636150T8/de active Active
- 1996-03-15 EP EP02013467A patent/EP1267582B1/de not_active Expired - Lifetime
- 1996-03-15 EP EP02013468A patent/EP1265444B1/de not_active Expired - Lifetime
- 1996-03-15 EP EP02013466A patent/EP1267581B1/de not_active Expired - Lifetime
- 1996-03-15 DE DE69637067T patent/DE69637067T2/de not_active Expired - Fee Related
- 1996-03-15 EP EP07004940A patent/EP1802141A2/de not_active Withdrawn
- 1996-03-15 EP EP07004934A patent/EP1802135A3/de not_active Withdrawn
- 1996-03-15 DE DE69624276T patent/DE69624276T2/de not_active Expired - Lifetime
- 1996-03-15 EP EP07004929A patent/EP1802130A3/de not_active Withdrawn
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69624276T2 (de) | System und Verfahren zur variablen Längenkodierung von sich bewegenden Bildern | |
DE19506164C2 (de) | Verfahren zum Komprimieren eingegebener Symbole in Codeworte | |
DE69327375T2 (de) | Verfahren und Vorrichtung zur Wiederherstellung von Bilddaten | |
DE69116869T2 (de) | Digitale bildkodierung mit einer zufallsabtastung der bilder | |
DE69625945T2 (de) | Hierarchischer Bildkodierer und -dekodierer | |
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE69227402T2 (de) | Signalverarbeitungseinrichtung mit hohem Wirkungsgrad und Verminderung des Einflusses von Fehlerausbreitungen | |
DE69434668T2 (de) | Adaptives Codierungs- und Decodierungsverfahren mit variabler Länge für Bilddaten | |
DE69323986T2 (de) | Vorrichtung und Verfahren zur Bildverarbeitung | |
EP1487113B1 (de) | Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern | |
DE69419842T2 (de) | Vorrichtungen zur Bildkodierung und -Dekodierung mit einer verbesserten Bewegungsvektorkodierungsmethode | |
DE69233620T2 (de) | Adaptive Kodierung und Dekodierung von Vollbildern und Halbbildern von Videosignalen | |
DE69129595T2 (de) | Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen | |
DE69333714T2 (de) | Speicher zur Verwendung im Dekodieren von Wörtern variabler Länge und Dekoder und Verfahren zur Verwendung in digitalen Kommunikationssystemen | |
DE69130275T2 (de) | Verfahren und Gerät zur Bildverarbeitung | |
DE69029317T2 (de) | Steuerungssystem für die bildkodierung | |
DE69329983T2 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
DE69301297T2 (de) | Verfahren zur Fehlerverdeckung für die Übertragung von MPEG-kodierten Bildern | |
DE69231880T2 (de) | Verfahren zur Bildübertragung | |
DE69735835T2 (de) | Dekodierer variabler Länge und Verfahren zur Dekodierung zweier Kodewörter pro Takt | |
EP1472888B1 (de) | Kontextsensitive kodierung und dekodierung eines videodatenstroms | |
EP0698316B1 (de) | Verfahren zum Übertragen von Bildern mit ungleichem Fehlerschutz | |
DE69816971T2 (de) | Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung | |
DE69707700T2 (de) | Dateneffiziente quantisierungstabelle für digitalen videosignalprozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: KRAMER - BARSKE - SCHMIDTCHEN, 81245 MUENCHEN |