DE3638127A1 - Verfahren zur bitratenreduktion - Google Patents

Verfahren zur bitratenreduktion

Info

Publication number
DE3638127A1
DE3638127A1 DE19863638127 DE3638127A DE3638127A1 DE 3638127 A1 DE3638127 A1 DE 3638127A1 DE 19863638127 DE19863638127 DE 19863638127 DE 3638127 A DE3638127 A DE 3638127A DE 3638127 A1 DE3638127 A1 DE 3638127A1
Authority
DE
Germany
Prior art keywords
signal
events
length
sequence
huffman code
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.)
Ceased
Application number
DE19863638127
Other languages
English (en)
Inventor
Peter Dipl Ing Vogel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Patentverwaltung GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Patentverwaltung GmbH filed Critical Philips Patentverwaltung GmbH
Priority to DE19863638127 priority Critical patent/DE3638127A1/de
Priority to DE3750206.9T priority patent/DE3750206C5/de
Priority to EP87201717A priority patent/EP0260748B1/de
Priority to AT87201717T priority patent/ATE108587T1/de
Priority to US07/096,177 priority patent/US4901075A/en
Priority to KR1019870010122A priority patent/KR970005575B1/ko
Priority to CN87106840A priority patent/CN1011459B/zh
Priority to JP62228698A priority patent/JP2711665B2/ja
Publication of DE3638127A1 publication Critical patent/DE3638127A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Bitratenreduktion bei Codierung eines Signales, das aus einer Folge von digital dargestellten, endlich vielen Signalwerten besteht und das einen Signalwert A enthält, der am häufigsten in ununterbrochenen Teilfolgen vorkommt, wobei ununterbrochenen Teilfolgen von Signalwerten A mit der Länge 0, 1, 2 usw. zusammen mit dem sich den Teilfolgen sich anschließenden Signalwert oder zusammen mit dem den Teilfolgen vorangehenden Signalwert Huffman-Codeworte zugeordnet werden.
In einem Artikel von Wen-Hsiung Chen und William K. Pratt (Chen, Wen-Hsiung und Pratt, William K.: Scene Adaptive Coder. IEEE Transactions on Communications, Vol. Com-32, No. 3, March 1984, S. 225-232) ist eine Codierung von Videosignalen beschrieben, die das Ziel hat, mit möglichst geringer Bitrate Videobilder ausreichender Qualität zu übertragen. Die Codierung erfolgt in mehreren Schritten. Zunächst werden gleichgroße Ausschnitte eines Videobildes, repräsentiert durch Blöcke von Abtastwerten der Bildpunkte, einer diskreten Cosinus-Transformation unterworfen. Bei dieser Transformation handelt es sich um eine spezielle flächenhafte Fourier-Transformation. Aus dem ursprünglichen Block entsteht nach der Transformation ein neuer Block von Zahlenwerten (Koeffizienten). Dieser Koeffizientenblock hat die Eigenschaft, daß ein großer Teil seiner Elemente - also ein großer Teil der Koeffizienten - nahezu Null oder exakt Null ist. Eine anschließende Quantisierung der Koeffizienten macht dann in aller Regel den überwiegenden Teil der Elemente zu Null, so daß eine darauf folgende Huffman-Codierung schon deswegen eine erhebliche Bitratenreduktion bedeuten würde. Zu einer weiteren Bitratenreduktion kommen die Verfasser des oben erwähnten Artikels dadurch, daß sie das häufige Auftreten von ununterbrochenen Teilfolgen von Nullen in dem Zwischensignal, in dem die Koeffizienten seriell angeordnet sind, durch eine Huffman-Codierung ausnutzen.
Bekanntlich werden bei einer Huffman-Codierung, bei der die Codeworte unterschiedliche Länge haben, statistische Eigenschaften des zu codierenden Signales ausgenutzt. Im vorliegenden Falle heißt das insbesondere, daß untersucht wird, mit welcher Häufigkeit in dem oben erwähnten Zwischensignal Teilfolgen von Nullen mit der Länge (run-length) 1, 2, 3 usw. vorkommen. Der Teilfolge mit der größten Häufigkeit wird dann das kürzeste Huffman- Codewort zugeordnet. Der Folge mit der nächst geringeren Häufigkeit wird das nächst größere Codewort zugeordnet und sofort.
Zur Codierung des Zwischensignals werden in dem oben erwähnten Artikel zwei Huffman-Code-Tabellen benötigt. Aus einer ersten Tabelle geht hervor, wie die von Null verschiedenen (quantisierten) Koeffizienten zu codieren sind. Codiert werden nur die Beträge, weil betragsmäßig gleich große Koeffizienten auch mit der gleichen Häufigkeit vorkommen. Die Vorzeichen werden in einem gesonderten Bit übertragen. Aus einer zweiten Tabelle geht hervor, wie die run-length zu codieren ist. Damit bei der Decodierung die Codeworte der einen Tabelle von denen der anderen zu unterscheiden sind, wird für die Kennzeichnung der codierten run-length ein gesondertes Codewort, das sogenannte run-length prefix verwendet.
Ein verbessertes Codierungsverfahren wird in der deutschen Patentanmeldung mit dem Aktenzeichen P 36 31 252.5 angegeben. Nach dieser Anmeldung wird das zu codierende Signal in Ereignisse zerlegt, die durch eine zweidimensionale Tabelle versinnbildlicht sind. In einer waagerechten Richtung sind die Beträge B der Koeffizienten, angefangen beim Betrag 1, aufgetragen und in einer senkrechten Richtung die Länge L (run-length) ununterbrochener Teilfolgen von Nullen, angefangen bei der Länge 0. Jedes zusammengesetzte durch spezielle Werte von L und B gekennzeichnete Ereignisse ist durch eine relative Häufigkeit charakterisiert; aus den relativen Häufigkeiten der Ereignisse ergibt sich dann zwangsläufig, durch welche Huffman-Codeworte ein bestimmtes Ereignis, z. B. drei aufeinanderfolgende Nullen gefolgt von einem Koeffizienten mit dem Betrage 2, zu codieren ist.
Das Codierungsverfahren bewirkt eine stärkere Bitratenreduktion als das Verfahren von Chen et al., weil z. B. die Wahrscheinlichkeit des Ereignisses, bei dem drei aufeinanderfolgende Nullen mit anschließendem Koeffizienten vom Betrage 2 auftreten, verschieden ist vom Produkt der Wahrscheinlichkeit, mit der drei aufeinanderfolgende Nullen auftreten, und der Wahrscheinlichkeit, mit der ein Koeffizient vom Betrage 2 überhaupt auftritt.
Das in der erwähnten deutschen Patentanmeldung beschriebene Verfahren sieht eine Begrenzung der zweidimensionalen Ereignistabelle bzw. Codierungstabelle auf folgende Weise vor: alle Teilfolgen von Nullen mit gleich großem anschließenden Betrag eines Koeffizienten werden dann als ein Ereignis angesehen, wenn die Länge der Teilfolge von Nullen größer als acht ist; ebenso werden alle Nullfolgen gleicher Länge dann als ein Ereignis angesehen, wenn der sich anschließende Betrag eines Koeffizienten größer als acht ist.
Bei den eben aufgezählten Ereignissen handelt es sich - wie eine Tabelle in der erwähnten Patentanmeldung zeigt - um relativ seltene Ereignisse; sie werden daher mit relativ langen Huffman-Codeworten codiert. Da der Empfänger zur Decodierung ohne Informationsverlust die genaue Länge einer Nullfolge oder den genauen Betrag eines Koeffizienten wissen muß, wird an das Huffman-Codewort ein Zusatzcodewort gehängt, dem die genaue Länge oder der genaue Betrag oder beides zu entnehmen ist.
Durch das Huffman-Codewort und die Zusatzinformation wird ein scharf umrissener Sachverhalt codiert. Da die Anzahl der Bits derartiger Kombinationen ebenfalls von den statistischen Eigenschaften des Signals abhängig ist, sollen hier solche Kombinationen ebenfalls als Huffman- Codeworte bezeichnet werden, die als ganzes dem Empfänger bzw. Decodierer vorliegen müssen, damit der Sachverhalt, der ihnen zugrundeliegt eindeutig auf der Empfängerseite erkannt werden kann.
Die in diesem Sinne definierten Huffman-Codeworte können bei dem Verfahren nach der zitierten deutschen Patentanmeldung bis zu 30 Bit lang werden. Da die Verarbeitung von maximal 16 Bit langen Codeworten keine besonderen Einrichtungen erforderlich macht, sondern z. B. mit einem 16-Bit-Mikroprozessor möglich ist, liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zur Bitratenreduktion der eingangs genannten Art anzugeben, bei dem ohne Informationsverlust und ohne nennenswerte Vergrößerung der erforderlichen Übertragungsbitrate Huffman-Codeworte von maximal 16 Bit möglich sind.
Ausgehend von einem Verfahren der eingangs genannten Art wird diese Aufgabe dadurch gelöst, daß dann, wenn eine Teilfolge von Signalwerten A zusammen mit dem vorangehenden oder sich anschließenden Signalwert eine vorgegebene Länge überschreitet, diese gesamte Wertefolge so in Abschnitte zerlegt wird, daß die Länge eines jeden Abschnittes unter einem vorgegebenen Wert liegt, und daß jedem Abschnitt ein Huffman-Codewort zugeordnet ist.
Eine vorteilhafte Ausgestaltung der Erfindung enthält der Unteranspruch.
Anhand der Tabellen und anhand eines Ausführungsbeispieles soll die Erfindung näher erläutert werden. Die Tabelle I ist eine Ereignistabelle und die Tabelle II eine Codierungstabelle.
Bei dem Beispiel handelt es sich um die Codierung des bei der Verarbeitung von Videosignalen auftretenden Zwischensignales, das aus einer Folge von digital dargestellten Koeffizienten einer speziellen flächenhaften Fourier- Transformation von Bildausschnitten (Blöcken) besteht. In dem seriellen Signal kommt der Koeffizient mit dem Wert 0 am häufigsten in ununterbrochenen (endlichen) Teilfolgen des gesamten Signals vor. Die Signalwerte dieses Blockes werden durch einen gesonderten Signalwert abgeschlossen, der das Ende des Blockes (end of block) kennzeichnet.
Definiert man als zu codierendes Ereignis eine ununterbrochene Folge von m Nullen im Signal mit anschließendem Koeffizienten vom Betrage n - abgekürzt (m, n) - so ergibt sich eine endliche, aber eine sehr große zweidimensionale Mannigfaltigkeit von zu codierenden Ereignissen, da in der Praxis auch nicht beliebig große Beträge B von Koeffizienten vorkommen. Folglich sind auch die zu verwendenden Huffman-Codeworte theoretisch nach Anzahl und Länge sehr groß. Zur Reduzierung der Gesamtzahl der zu codierenden Ereignisse wird beim erfindungsgemäßen Verfahren davon ausgegangen, daß z. B. eine Teilfolge von 19 Nullen mit anschließenden Koeffizienten vom Betrage 7 sich in Abschnitte zerlegen läßt, von denen der erste eine ununterbrochene Teilfolge von 16 Nullen, der zweite eine ununterbrochene Teilfolge von 3 Nullen ist und der dritte eine Teilfolge mit keiner Null und anschließendem Koeffizienten vom Betrage 7 darstellt. Jeder dieser Abschnitte wird nun als Ereignis angesehen, das durch ein Huffman-Codewort codiert wird. Die Länge eines jeden dieser Abschnitte liegt unter einem vorgebbaren Wert, auf den weiter unten eingegangen wird.
Der Versinnbildlichung dieser Zerlegung dient die Tabelle I. In waagerechter Richtung sind alle vorkommenden Beträge B - einschließlich der Betrag 0 - von Koeffizienten aufgetragen. In senkrechter Richtung ist die Länge - ebenfalls angefangen bei 0 - von ununterbrochenen Teilfolgen von Koeffizienten mit dem Betrage 0 aufgetragen.
Die eingetragenen "Ereignisfelder" symbolisieren die Ereignisse (m, n), d. h. m Nullen gefolgt von einem Koeffizienten vom Betrage n. Das Ereignis (0, 3) z. B. bedeutet, daß einem Koeffizienten vom Betrage 3 eine Teilfolge der Länge 0 vorangegangen ist, was gleichbedeutend damit ist, daß vor ihm kein Koeffizient vom Betrage 0 steht. Isoliert stehende Nullen im Signal werden durch das Ereignis (0, 0) symbolisiert. Die Angabe (3, n) u. a. bedeutet das Ereignis, daß auf drei aufeinanderfolgende Nullen ein Koeffizient vom Betrage n folgt. Das für n auch der Wert Null zugelassen ist, bedeutet das Ereignis (3, 0) vier aufeinanderfolgenden Nullen.
Die Tabelle I enthält einen fettgedruckten Polygonzug, der die Ereignisfelder in zwei Bereiche teilt. Der linke Bereich enthält die nach der Erfindung codierbaren Ereignisse, der rechte Bereich die nichtcodierbaren Ereignisse. Die maximale Länge, die ein Abschnitt von Signalwerten haben darf - er entspricht also einem codierbaren Ereignis - ist 16; es handelt sich um die Ereignisse (0, 15), (1, 15) und (2, 15). Alle anderen codierbaren Ereignisse entsprechen Signalabschnitten, die kürzer sind. Die Einteilung in codierbare und nichtcodierbare Ereignisse ist nicht völlig willkürlich; die am häufigsten auftretenden Ereignisse müssen zu den codierbaren gehören. Die nichtcodierbaren Ereignisse werden dann in codierbare zerlegt. Das angekreuzte nichtcodierbare Ereignis (8, 7) in Tabelle I wird z. B. in die Ereignisse (0, 7) und (7, 0) zerlegt. Für die Zerlegung gibt es mehrere Möglichkeiten; die einfachste ist die hier angegebene "Projektion auf die Ereignisachsen".
Die Zahlen in den Ereignisfeldern, die zu den codierbaren Ereignissen gehören, bedeuten die Länge - also die Anzahl der Bits - der Huffman-Codeworte, mit denen die Ereignisse codiert werden. Die Codeworte enthalten auch das Vorzeichen der Koeffizienten und gegebenenfalls Angaben über die Größe des Betrages B; keines von ihnen ist länger als 16 Bit. Bei der Aufstellung der Huffman-Codeworte wurde unterstellt, daß Koeffizienten mit Beträgen größer als 136 nicht vorkommen.
Tabelle II zeigt die genaue Struktur der verwendeten Huffman-Codeworte. Das erste Codewort stellt den codierten und oben schon erwähnten Signalwert zu Kennzeichnung eines Blockendes dar. Die erste Spalte der Tabelle II enthält eine laufende Nummer, die zweite Spalte den Betrag B der Koeffizienten und die dritte die Länge der Nullfolgen. Die beiden letzten Angaben zusammen ergeben die "Koordinaten" eines codierbaren Ereignisses nach Tabelle I. In der vierten Spalte der Tabelle II sind die Codeworte bitweise angegeben. Das Bit s bedeutet das Vorzeichenbit, die mit "-" versehenen Stellen sind bedeutungslos und in die mit "+" versehenen Stellen werden die codierten Beträge der Koeffizienten eingetragen, sofern sie größer als acht sind. Die letzte Spalte gibt noch einmal die Länge der Huffman-Codeworte wieder.
Tabelle II

Claims (2)

1. Verfahren zur Bitratenreduktion bei der Codierung eines Signales, das aus einer Folge von digital dargestellten, endlich vielen Signalwerten besteht und das einen Signalwert A enthält, der am häufigsten in ununterbrochenen Teilfolgen vorkommt, wobei ununterbrochenen Teilfolgen von Signalwerten A mit der Länge 0, 1, 2 usw. zusammen mit dem sich den Teilfolgen anschließenden Signalwert oder zusammen mit dem den Teilfolgen vorangehenden Signalwert Huffman-Codeworte zugeordnet werden, dadurch gekennzeichnet, daß dann, wenn eine Teilfolge von Signalwerten A zusammen mit dem vorangehenden oder sich anschließenden Signalwert eine vorgegebene Länge überschreitet, diese gesamte Wertefolge so in Abschnitte zerlegt wird, daß die Länge eines jeden Abschnittes unter einem vorgegebenen Wert liegt, und daß jedem Abschnitt ein Huffman-Codewort zugeordnet ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß es sich bei dem Signal um eine Folge von Koeffizienten handelt, die sich nach der blockweisen Cosinus-Transformation von Bildpunkten eines Videosignales mit anschließender Quantisierung ergibt, und daß der Signalwert A der Wert 0 ist.
DE19863638127 1986-09-13 1986-11-08 Verfahren zur bitratenreduktion Ceased DE3638127A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19863638127 DE3638127A1 (de) 1986-11-08 1986-11-08 Verfahren zur bitratenreduktion
DE3750206.9T DE3750206C5 (de) 1986-09-13 1987-09-10 Verfahren und Schaltungsanordung zur Bitratenreduktion.
EP87201717A EP0260748B1 (de) 1986-09-13 1987-09-10 Verfahren und Schaltungsanordung zur Bitratenreduktion
AT87201717T ATE108587T1 (de) 1986-09-13 1987-09-10 Verfahren und schaltungsanordung zur bitratenreduktion.
US07/096,177 US4901075A (en) 1986-09-13 1987-09-11 Method and apparatus for bit rate reduction
KR1019870010122A KR970005575B1 (ko) 1986-09-13 1987-09-12 비트레이트 감소 방법 및 그 회로 장치
CN87106840A CN1011459B (zh) 1986-09-13 1987-09-12 减缩位速率的方法和电路装置
JP62228698A JP2711665B2 (ja) 1986-09-13 1987-09-14 ビツトレート低減方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19863638127 DE3638127A1 (de) 1986-11-08 1986-11-08 Verfahren zur bitratenreduktion

Publications (1)

Publication Number Publication Date
DE3638127A1 true DE3638127A1 (de) 1988-05-11

Family

ID=6313488

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863638127 Ceased DE3638127A1 (de) 1986-09-13 1986-11-08 Verfahren zur bitratenreduktion

Country Status (1)

Country Link
DE (1) DE3638127A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384782A1 (de) * 1989-02-24 1990-08-29 General Electric Company Nicht löschender verlustloser Bildcodierer
DE3925663A1 (de) * 1989-08-03 1991-02-07 Thomson Brandt Gmbh Digitales signalverarbeitungssystem

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384782A1 (de) * 1989-02-24 1990-08-29 General Electric Company Nicht löschender verlustloser Bildcodierer
DE3925663A1 (de) * 1989-08-03 1991-02-07 Thomson Brandt Gmbh Digitales signalverarbeitungssystem
US6101314A (en) * 1989-08-03 2000-08-08 Deutsche Thomson-Brandt Gmbh Digital video signal processing for recording and replay

Similar Documents

Publication Publication Date Title
EP0260748B1 (de) Verfahren und Schaltungsanordung zur Bitratenreduktion
EP0290085B1 (de) System zur Übertragung von Videobildern
DE69510662T2 (de) Kompakte Quellencodierungstabellen für Codierungs-/Decodierungssystem
DE2225652C3 (de) Verfahren und Einrichtung zur Codierung und Decodierung von Videosignalen
DE3850627T2 (de) Vorrichtung zum Codieren von digitalen Videosignalen und eine entsprechende Decodiervorrichtung.
DE4217009C1 (de) Hochgeschwindigkeitsdekodierer für Codes veränderlicher Länge
DE10120644B4 (de) Bilddatenverdichtungsverfahren und -vorrichtung, welche Bilddaten separat durch Modifizieren der Farbe verdichten
DE4217008A1 (de) Hdtv-dekodierer
EP1323313B1 (de) Verfahren und anordnung zum übertragen eines vektors
DE3714589A1 (de) Videosignal-codierer mit dpcm und adaptiver praediktion
DE3638127A1 (de) Verfahren zur bitratenreduktion
DE3726601C2 (de)
DE69509421T2 (de) Verschiebungsstufe für einen Dekodierer von digitalen Kodes veränderlicher Länge
DE2559263C3 (de) Ausgleich von Quantisierungsverzerrungen bei Bildcodierung mit Blockquantisierung
EP0336510A2 (de) Prädiktiver Standbildcodierer
WO1992003889A1 (de) Verfahren und vorrichtung zur bilddaten-transformation
EP1522148B1 (de) Verfahren zur codierung von positionen von datenelementen in einer datenstruktur
DE10131801A1 (de) Verfahren zur Datenkompression und Navigationssystem
EP1186175B1 (de) Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten
DE3855712T2 (de) Bitkettenverdichter mit verarbeitungsmöglichkeit für boolesche-operationen
DE19653133C2 (de) System und Verfahren zur pre-entropischen Codierung
DE3917085C2 (de) Schaltungsanordnung zur Filterung eines Videosignals
DE3732045C2 (de)
DE3717399A1 (de) Verfahren zur bitratenreduktion
DE3726520A1 (de) System zur uebertragung von videobildern

Legal Events

Date Code Title Description
AF Is addition to no.

Ref country code: DE

Ref document number: 3631252

Format of ref document f/p: P

8131 Rejection