DE3638127A1 - Verfahren zur bitratenreduktion - Google Patents
Verfahren zur bitratenreduktionInfo
- 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
Links
Classifications
-
- 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
-
- 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
- H03M7/42—Conversion 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.
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.
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)
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 |
-
1986
- 1986-11-08 DE DE19863638127 patent/DE3638127A1/de not_active Ceased
Cited By (3)
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 |