DE19957685A1 - Verfahren und Anordnung zur Codierung bzw. Decodierung einer Zahlenfolge - Google Patents
Verfahren und Anordnung zur Codierung bzw. Decodierung einer ZahlenfolgeInfo
- Publication number
- DE19957685A1 DE19957685A1 DE19957685A DE19957685A DE19957685A1 DE 19957685 A1 DE19957685 A1 DE 19957685A1 DE 19957685 A DE19957685 A DE 19957685A DE 19957685 A DE19957685 A DE 19957685A DE 19957685 A1 DE19957685 A1 DE 19957685A1
- Authority
- DE
- Germany
- Prior art keywords
- digit
- sequence
- digits
- registered
- numbers
- 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.)
- Withdrawn
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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/29—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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
Abstract
Es wird ein Verfahren zur Codierung einer Zahlenfolge, umfassend Zahlen, deren jede Zahl dargestellt ist durch Ziffern aus einer Zifferngruppe, welche eine nicht-signifikante Ziffer und mindestens eine signifikante Ziffer umfaßt, und deren jeder Zahl eine Folgeinformation 1 zugewiesen ist, angegeben. Es wird die Zahlenfolge aufgespalten in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist und es wird eine erste der Ziffernfolgen codiert, derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation 1 der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden. Ferner wird jede nachfolgende Ziffernfolge der Ziffernfolgen codiert, derart, daß die Ziffern aller registrierten Positionen registriert werden und zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation 1 der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
Description
Die Erfindung betrifft ein Verfahren und eine Anordnung zur
Codierung oder Decodierung einer Zahlenfolge.
Ein solches Verfahren ist aus [1] bekannt und wird
üblicherweise bei einer Bildkomprimierung durchgeführt.
Verfahren zur Bildkomprimierung mit dazugehörigen Anordnungen
sind bekannt aus [2], [3] und [4].
Das aus [2] bekannte Verfahren dient im
Bildcodierungsstandard MPEG2 zur Codierung und Decodierung
einer Folge von digitalen Bildern und basiert auf dem Prinzip
einer blockbasierten Bildcodierung.
Weitere Verfahren und Anordnungen zur Codierung und
Decodierung eines digitalisierten Bildes entsprechend einem
der Bildcodierungsstandards H.261 [3] oder JPEG [4], welche
Verfahren ebenfalls auf dem Prinzip der blockbasierten
Bildcodierung basieren, sind aus [3] und [4] bekannt.
Ähnliche Verfahren werden für die Bildtelefonie mit n × 64 kbit/s
(CCITT-Empfehlung H.261), für die TV-Kontribution
(CCR-Empfehlung 723) mit 34 bzw. 45 Mbit/s und für Multimedia-
Applikationen mit 1,2 Mbit/s (ISO-MPEG-1) verwendet.
Zur blockbasierten Bildcodierung wird, wie es aus [2] bekannt
ist, das Verfahren einer blockbasierten, hybriden Diskreten
Cosinus Transformation (DCT) verwendet.
Die blockbasierte, hybride DCT besteht aus einer zeitlichen
Verarbeitungsstufe (Interframe-Codierung), die
Verwandtschaftsbeziehungen aufeinanderfolgender Bilder
ausnutzt, und einer örtlichen Verarbeitungsstufe (Intraframe-
Codierung), die Korrelationen innerhalb eines Bildes
ausnutzt.
Die örtliche Verarbeitung (Intraframe-Codierung) entspricht
im wesentlichen der klassischen DCT-Codierung.
Das Bild wird in Blöcke von 8 × 8 Bildpunkten zerlegt, die
jeweils mittels der DCT transformiert werden. Das Ergebnis
ist eine Matrix von 8 × 8 Koeffizienten, die näherungsweise die
zweidimensionalen Ortsfrequenzen im transformierten Bildblock
widerspiegeln. Ein Koeffizient mit Frequenz 0 (Gleichanteil)
stellt einen mittleren Grauwert des Bildblocks dar.
Nach der Transformation findet eine Datenexpansion statt.
Allerdings wird in eine natürlichen Bildvorlage eine
Konzentration der Energie um den Gleichanteil (DC-Wert)
stattfinden, während die höchstfrequenten Koeffizienten meist
nahezu Null sind.
In einem nächsten Schritt erfolgt eine spektrale Gewichtung
der Koeffizienten, so daß die Amplitudengenauigkeit der
hochfrequenten Koeffizienten verringert wird. Hierbei nützt
man die Eigenschaften des menschlichen Auges aus, das hohe
Ortsfrequenzen weniger genau auflöst als niedrige.
Ein zweiter Schritt der Datenreduktion erfolgt in Form einer
adaptiven Quantisierung, durch die die Amplitudengenauigkeit
der Koeffizienten weiter verringert wird bzw. durch die die
kleinen Amplituden zu Null gesetzt werden. Das Maß der
Quantisierung hängt dabei von einem Füllstand eines Puffers
ab:
Bei leerem Puffer erfolgt eine feine Quantisierung, so daß mehr Daten erzeugt werden, während bei vollem Puffer gröber quantisiert wird, wodurch sich die zusätzliche Datenmenge reduziert.
Bei leerem Puffer erfolgt eine feine Quantisierung, so daß mehr Daten erzeugt werden, während bei vollem Puffer gröber quantisiert wird, wodurch sich die zusätzliche Datenmenge reduziert.
Nach der Quantisierung wird der Block diagonal abgetastet
("zigzag"-Scanning). Anschließend erfolgt eine
Entropiecodierung, die eine weitere Datenreduktion bewirkt.
Hierfür werden zwei Effekte ausgenutzt:
- 1. Die Statistik der Amplitudenwerte (hohe Amplitudenwerte treten seltener auf als kleine, so daß den seltenen Ereignissen lange und den häufigen Ereignissen kurze Codewörter zugeordnet werden) (Lauflängencodierung mit variablem Längencode bzw. Variable-Length-Codierung, VLC). Auf diese Weise ergibt sich im Mittel eine geringere Datenrate als bei einer Codierung mit fester Wortlänge. Die variable Rate der VLC wird zur Decodierung geglättet, beispielsweise einen gleitenden Durchschnitt.
- 2. Man nutzt die Tatsache aus, daß von einem bestimmten Wert an in den meisten Fällen nur noch Nullen folgen. Statt aller dieser Nullen überträgt man lediglich einen EOB-Code (End Of Block), was zu einem signifikanten Codiergewinn bei der Kompression der Bilddaten führt. Statt beispielsweise 512 bit sind dann nur 46 bit für diesen Block zu übertragen, was einem Kompressionsfaktor von über 11 entspricht.
Einen weiteren Kompressionsgewinn erhält man durch die
zeitliche Verarbeitung (Interframe-Codierung). Zur Codierung
von Differenzbildern wird weniger Datenrate benötigt als für
die Originalbilder, denn die Amplitudenwerte sind weitaus
geringer.
Allerdings sind die zeitlichen Differenzen nur klein, wenn
auch die Bewegungen im Bild gering sind. Sind hingegen die
Bewegungen im Bild groß, so entstehen große Differenzen, die
wiederum schwer zu codieren sind. Aus diesem Grund wird die
Bild-zu-Bild-Bewegung gemessen (Bewegungsschätzung bzw.
Prädiktion) und vor der Differenzbildung kompensiert
(Bewegungskompensation).
Dabei wird die Bewegungsinformation mit der Bildinformation
übertragen, wobei üblicherweise nur ein Bewegungsvektor pro
Makroblock (z. B. vier 8 × 8-Bildblöcke) verwendet wird.
Noch kleinere Amplitudenwerte der Differenzbilder werden
erhalten, wenn statt der verwendeten Prädiktion eine
bewegungskompensierte bidirektionale Prädiktion benutzt wird.
Bei einem bewegungskompensierten Hybridcoder wird nicht das
Bildsignal selbst transformiert, sondern das zeitliche
Differenzsignal.
Aus diesem Grund verfügt der bewegungskompensierte
Hybridcoder auch über eine Rekursionsschleife, denn der
Prädiktor muß den Prädiktionswert aus den Werten der bereits
übertragenen (codierten) Bilder berechnen.
Eine entsprechende Rekursionsschleife befindet sich im
Decoder, so daß Coder und Decoder synchronisiert sind.
Aus [5] ist ein Verfahren zur Bewegungsschätzung im Rahmen
eines Verfahrens zur blockbasierten Bildcodierung bekannt.
Ein objektbasiertes Bildkompressionsverfahren, welches aus
[9] bekannt ist, basiert auf einer Zerlegung des Bildes in
Objekte mit beliebiger Berandung. Die einzelnen Objekte
werden in verschiedenen "Video Object Plans" getrennt
voneinander codiert, übertragen und in einem Empfänger
(Decoder) wieder zusammengesetzt.
Wie oben beschrieben wird bei einem blockbasierten
Codierverfahren das gesamte Bild in quadratische Bildblöcke
unterteilt. Dieses Prinzip wird auch bei objektbasierten
Verfahren übernommen, indem das zu codierende Objekt in
quadratische Blöcke unterteilt und für jeden Block separat
eine Bewegungsschätzung mit einer Bewegungskompensation
durchgeführt wird.
Bei der Übertragung einer Folge von Bildern (Bilddaten) über
einen Kommunikationskanal, in dem eine Störung eingetreten
ist, insbesondere einen mobilen (Funk-)Kanal oder einen
verlustbehafteten drahtgebundenen Kanal, können Teile der
Bilddaten verloren gehen. Ein solcher Verlust der Bilddaten
äußert sich in Form drastischer Qualitätseinbrüche in mehr
oder weniger großen Bildbereichen.
Eine Störung eines Übertragungskanals kann auch dadurch
eintreten, daß eine Übertragungskapazität des
Übertragungskanals verringert wird.
Da wie oben beschrieben bei Bildcodierung/Bilddecodierung
Verfahren der Bewegungsschätzung mit Bewegungskompensation
eingesetzt werden, verschwindet die Bildstörung auch dann
nicht, wenn der Übertragungskanal wieder eine fehlerfreie
Übertragung gewährleistet.
Dies liegt daran, daß sich bei der Bewegungsschätzung
insbesondere ein einmal auftretender Fehler bis zur
Übertragung eines nächsten Vollbildes (Intrabild), d. h. eines
Bildes, bei dem alle Bildpunkte codiert und übertragen
werden, fortbesteht. Es erfolgt daher eine äußerst störende
Fehlerfortpflanzung.
Videodatenkompressionsverfahren nach den bekannten
Bildcodierungsstandards H.261 [3], JPEG [4] und MPEG2 [2]
verwenden eine bewegungskompensierte Prädiktion
(Bewegungsschätzung mit Fehlerkorrektur) und eine
transformationsbasierte Restfehlercodierung, wobei bevorzugt
die diskrete Cosinustransformation als
Transformationscodierung eingesetzt wird.
Aus [1] ist ein Verfahren zu einer skalierbaren Codierung
(hierarchische Codierung) im Rahmen einer Bildcodierung
bekannt.
Dabei wird ein Bild unterteilt in eine Basisinformation mit
einer vorgegebenen Bildqualität und einer Zusatzinformation
zur Herstellung einer vollständigen oder verbesserten
Bildqualität (ausreichende Bildqualität).
Die Basisinformation, welche quantisierte DCT Koeffizienten
aufweist, wird codiert und in einem Basisdatenstrom (base
layer) übertragen.
Die Zusatzinformation, welche eine Differenz von nicht
quantisierten DCT Koeffizienten und den quantisierten DCT
Koeffizienten aufweist, wird ebenfalls codiert und in einem
Zusatzdatenstrom (enhancement layer) übertragen.
Bei der Codierung der Basisinformation und der
Zusatzinformation werden die Werte der quantisierten DCT
Koeffizienten und die Differenzwerte als eine Zahlenfolge aus
binäre Zahlen dargestellt. Diese Zahlenfolge wird
entsprechend einer Scanreihenfolge des "zigzag"-Scannings
geordnet.
Die geordnete Zahlenfolge wird als ein zweidimensionaler
Datenblock bzw. Matrix dargestellt, bei dem bzw. der eine
Spalte Ziffern der binären Zahl umfaßt. Die Matrix wird
zeilenweise mit einer Lauflängencodierung, wie es aus [1]
bekannt ist, codiert. Die Basisinformation wird in dem base
layer übertragen, die Zusatzinformation wird in dem
enhancement layer übertragen.
Bei Übertragungsfehlern im Bereich der Zusatzinformation oder
bei einer geringeren übertragbaren Datenrate in dem
Übertragungskanal ist immer noch sichergestellt, daß das
jeweilige Bild in einer Qualität, die durch die
Basisinformation hergestellt ist, rekonstruiert werden kann.
In [1] wird auch vorgeschlagen, ein progressiv skalierbare
Bildcodierverfahren für die Codierung von Bewegtbildern
einzusetzen.
Weitere progressive Verfahren zur Codierung von Einzelbildern
sind aus [6] und [7] bekannt.
Bei diesen Verfahren reicht bereits eine geringe Datenmenge
aus, um das Bild in einer Basisqualität zu rekonstruieren. Je
mehr zusätzliche Daten empfangen werden, desto besser wird
die Qualität des Bildes.
Verfahren zur Fehlerkompensation bzw. Fehlerkorrektur sind in
[8] beschrieben.
Der Erfindung liegt das Problem zugrunde, ein Verfahren zur
Codierung einer Zahlenfolge, wie sie beispielsweise bei dem
oben beschriebenen Verfahren bei der Codierung der
Zusatzinformation auftritt, und ein Verfahren zur Decodierung
einer Zahlenfolge sowie eine Anordnung zur Codierung einer
Zahlenfolge und eine Anordnung zur Decodierung einer
Zahlenfolge anzugeben, womit eine Codierung mit verbessertem
Kompressionsfaktor für die Zahlenfolge erreicht wird.
Das Problem wird durch die Verfahren und durch die
Anordnungen gemäß den unabhängigen Patentansprüchen gelöst.
Bei dem Verfahren zur Codierung einer Zahlenfolge umfassend
Zahlen, deren jede Zahl dargestellt durch Ziffern aus einer
Zifferngruppe, welche eine nicht-signifikante Ziffer und
mindestens eine signifikante Ziffer umfaßt, und deren jeder
Zahl eine Folgeinformation l zugewiesen ist, wird die
Zahlenfolge aufgespalten in m Ziffernfolgen, wobei die k-te
Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl
ist.
Eine erste Ziffernfolge der Ziffernfolgen wird codiert
derart, daß zu jeder aufgefundenen signifikanten Ziffer eine
Position unter Verwendung der Folgeinformation l der
entsprechenden Zahl ermittelt wird und die ermittelte
Position und die signifikante Ziffer registriert werden.
Jede nachfolgende Ziffernfolge der Ziffernfolgen wird codiert
derart, daß
- - die Ziffern aller registrierten Positionen registriert werden und
- - zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
Die Anordnung zur Codierung einer Zahlenfolge umfassend
Zahlen, deren jede Zahl dargestellt durch Ziffern aus einer
Zifferngruppe, welche eine nicht-signifikante Ziffer und
mindestens eine signifikante Ziffer umfaßt, und deren jeder
Zahl eine Folgeinformation l zugewiesen ist, weist einen
Prozessor auf, der derart eingerichtet ist, daß
- - die Zahlenfolge aufspaltbar ist in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - eine erste Ziffernfolge der Ziffernfolgen ist codierbar derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
- - jede nachfolgende Ziffernfolge der Ziffernfolgen ist codierbar derart, daß
- - die Ziffern aller registrierten Positionen registriert werden und
- - zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
Bei dem Verfahren zur Decodierung einer codierten Zahlenfolge
erfolgt für Zahlen der codierten Zahlenfolge jeweils eine
Umsetzung bzw. Rekonstruktion von Ziffern unter Verwendung
eines zu einem Codierverfahren inversen Verfahrens.
Die codierte Zahlenfolge wurde unter Verwendung des
Codierverfahrens codiert derart, daß
- - eine Zahlenfolge umfassend Zahlen, deren jede Zahl dargestellt ist durch die Ziffern aus einer Zifferngruppe, welche eine nicht-signifikante Ziffer und mindestens eine signifikante Ziffer umfaßt, und deren jeder Zahl eine Folgeinformation l zugewiesen ist, aufgespalten wird in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - eine erste Ziffernfolge der Ziffernfolgen codiert wird derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
- - jede nachfolgende Ziffernfolge der Ziffernfolgen codiert wird derart, daß die Ziffern aller registrierten Positionen registriert werden und zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
Die Anordnung zur Decodierung einer codierten Zahlenfolge,
weist einen Prozessor auf, der derart eingerichtet ist, daß
für Zahlen der codierten Zahlenfolge jeweils eine Umsetzung
bzw. Rekonstruktion von Ziffern unter Verwendung eines zu
einer Codierung inversen Verfahrens durchführbar ist. Dabei
wurde die codierte Zahlenfolge unter Verwendung des
Codierverfahrens codiert derart, daß
- - eine Zahlenfolge umfassend Zahlen, deren jede Zahl dargestellt ist durch die Ziffern aus einer Zifferngruppe, welche eine nicht-signifikante Ziffer und mindestens eine signifikante Ziffer umfaßt, und deren jeder Zahl eine Folgeinformation l zugewiesen ist, aufgespalten wird in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - eine erste Ziffernfolge der Ziffernfolgen codiert wird derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
- - jede nachfolgende Ziffernfolge der Ziffernfolgen codiert wird derart, daß die Ziffern aller registrierten Positionen registriert werden und zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den
abhängigen Ansprüchen.
Die im weiteren beschriebenen Weiterbildungen beziehen sich
sowohl auf die Verfahren als auch auf die Anordnungen.
Die Erfindung und die im weiteren beschriebenen
Weiterbildungen können sowohl in Software als auch in
Hardware, beispielsweise unter Verwendung einer speziellen
elektrischen Schaltung realisiert werden.
Ferner ist eine Realisierung der Erfindung oder einer im
weiteren beschriebenen Weiterbildung möglich durch ein
computerlesbares Speichermedium, auf welchem ein
Computerprogramm gespeichert ist, welches die Erfindung oder
Weiterbildung ausführt.
Auch können die Erfindung oder jede im weiteren beschriebene
Weiterbildung durch ein Computerprogrammerzeugnis realisiert
sein, welches ein Speichermedium aufweist, auf welchem ein
Computerprogramm gespeichert ist, welches die Erfindung oder
Weiterbildung ausführt.
Bei einer Weiterbildung wird jede Zahl der Zahlenfolge
dargestellt als ein binärer Ausdruck. In diesem Fall umfaßt
die Zifferngruppe eine Nullziffer, welche die nicht-
signifikante Ziffer ist, und eine Einsziffer, welche die
signifikante Ziffer ist.
Bei einer weiteren Weiterbildung wird diejenige Zahl mit der
maximalen Anzahl Ziffern ermittelt.
Es ist zweckmäßig für die Codierung, die Anzahl m der
Ziffernfolgen entsprechend dieser maximalen Anzahl von
Ziffern festzusetzen.
In einer Ausgestaltung werden die zweiten Ziffernfolgen
entsprechend einer Wertigkeit der Ziffern geordnet.
In diesem Fall umfaßt ein erste Ziffernfolge der
Ziffernfolgen alle ersten Ziffern. Eine zweite Ziffernfolge
der Ziffernfolgen umfaßt alle zweiten Ziffern, usw. Die m-
te Ziffernfolge der Ziffernfolgen umfaßt damit zumindest die
maximale Ziffer.
Auch können die Ziffernfolgen derart geordnet werden, daß die
erste Ziffernfolge gemäß dem Verfahren die maximale Ziffer
aufweist.
Auch eine Ordnung derart ist vorstellbar, bei der die erste
Ziffernfolge die meisten nicht-signifikanten Ziffern aufweist
und die Anzahl signifikanter Ziffern in den nachfolgenden
Ziffernfolgen stetig wächst.
Für die Anwendung eines Standardcodierverfahrens,
beispielsweise eine Lauflängencodierung mit einem variablen
Längencode, ist es zweckmäßig, eine Ziffernfolge
gegebenenfalls durch Ziffern aufzufüllen.
Es ist aber auch vorstellbar, eine Zahl als einen Ausdruck
aus beliebigen Ziffern aus einer Zifferngruppe darzustellen,
welche Zifferngruppe mehrere signifikante Ziffern und eine
nicht-signifikante Ziffer aufweisen kann.
In einer Ausgestaltung weist die Zahlenfolge codierte
Bildinformation auf.
Eine Vereinfachung wird erreicht, wenn die registrierten
Positionen in einer Merkfolge gespeichert werden.
Auch können die registrierten Ziffern weiterbearbeitet
werden. Im Rahmen dieser Weiterbearbeitung kann jede
registrierte Ziffer dahingehend geprüft werden, ob eine
Codierung und Übertragung für die Rekonstruktion der
entsprechenden Zahl notwendig ist.
Ist eine registrierte Ziffer für die Rekonstruktion der
entsprechenden Zahl nicht notwendig, so ist es auch nicht
notwendig, diese zu codieren und/oder zu übertragen.
Ein solcher Fall kann eintreten, wenn ein Wert einer Zahl der
Zahlenfolge einen bestimmten Schwellenwert, welcher sich aus
der Anzahl m der Ziffernfolgen ableiten läßt, überschreitet.
In diesem Fall ist es auch nicht notwendig, alle
registrierten Ziffern, sondern nur ein Teil der registrierten
Ziffern zu übertragen.
Es ist zweckmäßig das Verfahren für eine Codierung bzw.
Decodierung eines digitalisierten Bildes aus Bildpunkten
einzusetzen. Dadurch lassen sich bekannte
Bildcodierverfahren, beispielsweise eine Bildcodierung gemäß
einem Bildcodierstandard (MPEG2 oder MPEG4), vereinfachen und
hinsichtlich einer größeren Datenkompression verbessern.
Ein Ausführungsbeispiel und Alternativen zu dem
Ausführungsbeispiel der Erfindung werden nachfolgend anhand
der Zeichnung dargestellt und erläutert.
Es zeigen
Fig. 1 eine Skizze, die eine Codierung von Bildern, die
jeweils Basisinformation und Zusatzinformation
aufweisen, veranschaulicht;
Fig. 2 eine Skizze, die veranschaulicht, wie die Codierung
einer Zusatzinformation eines Bildblocks erfolgt;
Fig. 3 eine Skizze mit einem Bildcoder und einem
Bilddecoder;
Fig. 4 eine Prozessoreinheit;
Fig. 5 Komponenten einer Anordnung zur Bildcodierung und zur
Bilddecodierung;
Fig. 6 eine Skizze, die einen Ablauf bei einer Codierung von
Zusatzinformation verdeutlicht;
Fig. 7 eine Skizze, die einen Ablauf bei einer Codierung von
Zusatzinformation verdeutlicht;
Fig. 8 eine Skizze, die einen Ablauf bei einer Codierung von
Zusatzinformation verdeutlicht.
In Fig. 1 wird eine Skizze gezeigt, die eine Codierung von
Bildern einer Bildsequenz, welche Bilder jeweils
Basisinformation und Zusatzinformation aufweisen,
veranschaulicht.
Dazu sind drei zeitlich aufeinanderfolgende Bilder 101, 102
und 103 dargestellt, die jeweils eine Basisinformation B und
eine Zusatzinformation Z aufweisen.
Die Zusatzinformation Z setzt auf der Basisinformation B
jedes einzelnen Bildes 101 bis 103 auf.
Die Zusatzinformationen Z der Bilder sind untereinander nicht
verknüpft, das heißt abhängig von einer aktuellen Störung
oder einer aktuellen verfügbaren Übertragungskapazität eines
Übertragungskanals des Übertragungskanals wird pro Bild mehr
oder weniger Zusatzinformation Z in Form eines progressiven
Verfahrens, wie es in [1] beschrieben ist, genutzt, um die
jeweilige Bildqualität des einzelnen Bildes mehr oder weniger
stark zu verbessern.
Ist beispielsweise der Übertragungskanal kurzfristig stark
gestört oder die aktuell verfügbare Kanalkapazität
verringert, so kann es bei einem einzelnen Bild dazu kommen,
daß nur wenig Daten der Zusatzinformation Z zur
Rekonstruktion des Bildes eingesetzt werden können. In diesem
Fall könnte dieses Bild in einer Qualität dargestellt werden,
die sich nur unwesentlich von der durch die Basisinformation
B sichergestellten Qualität unterscheidet.
Ist die Störung des Übertragungskanals oder der
Kanalkapazität weitgehend vorbei, so kann bereits im zeitlich
nachfolgenden Bild die gesamte Zusatzinformation Z verwertbar
sein, dieses nachfolgende Bild wird demnach in Qualität, die
aus Informationen der Basisinformation B und
Zusatzinformation Z besteht, dargestellt.
Fig. 2 zeigt eine Skizze, die veranschaulicht, wie die
Codierung der Zusatzinformation Z eines Bildblocks mit 8 × 8
Bildpunkte erfolgt.
Zur Codierung der Zusatzinformation Z sind in einem
zweidimensionalen Datenblock 201 Differenzkoeffizienten
ΔDCT, welche aus den nicht quantisierten DCT Koeffizienten
eines Bildblocks und den zugehörigen quantisierte DCT
Koeffizienten bestimmt werden, codiert dargestellt (vgl.
Fig. 6, Schritt 610).
Die Differenzkoeffizienten ΔDCT sind jeweils als binäre
Werte 204 aus den Ziffern 0 202 (nicht-signifikante Ziffer)
oder 1 203 (signifikante Ziffer) dargestellt, wobei in einer
ersten Dimension 205 des Datenblocks 201 Bit mit einer
ansteigender Wertigkeit m angeordnet sind (vgl. Fig. 6,
Schritt 610).
Ein Bit ist jeweils einer Bitebene 206 mit der Wertigkeit m
zugeordnet. Die maximale Wertigkeit mmax (hier mmax = 5) wird
durch das maximale Bit des wertgrößten Differenzkoeffizienten
ΔDCTmax bestimmt.
Die Differenzkoeffizienten ΔDCT sind in einer zweiten
Dimension 207 entsprechend einer Scanreihenfolge l eines
"zigzag"-Scanning des Bildblocks geordnet (vgl. Fig. 6,
Schritt 610).
Dementsprechend weist der Datenblock 201 die Dimensionen
(mmaxxk = 5 × 64) auf. Fehlende Bit 208 werden jeweils durch die
Ziffer 0 aufgefüllt.
Ferner werden solche Differenzkoeffizienten ΔDCT jeweils
durch eine Markierung x 209, gekennzeichnet, deren
zugehöriger quantisierter DCT Koeffizient einen Wert ungleich
Null aufweist.
Die Codierung des Datenblocks erfolgt entsprechend der
Wertigkeit der Bitebenen 206, wobei mit der höchstwertigen
Bitebene 210, d. h. mit der Bitebene mit der höchsten
Wertigkeit mmax, begonnen wird (vgl. Fig. 6, Schritt 620).
Die weiteren Bitebenen 206 werden entsprechend der
abnehmenden Wertigkeit m aufeinanderfolgend codiert. Als
letzte Bitebene 206 wird die Bitebene mit der Wertigkeit 1
codiert.
Die Bitebene mit der höchsten Wertigkeit mmax 210 wird mit
einer Lauflängencodierung mit variablem Längencode, wie es in
[1] beschrieben ist, codiert.
Dabei werden in dieser Bitebene solche Bit gesucht, welche
die Ziffer 1 220 aufweisen. Deren Positionen 222 in der
Bitebene 210 werden ermittelt und registriert. Unter
Verwendung der Positionen 222 werden die Lauflängen 221 zu
den entsprechenden Differenzkoeffizienten ΔDCT ermittelt.
Für die Codierung der Bitebenen 206 mit niedrigerer
Wertigkeit m wird die Information über die registrierten
Positionen 222 weiterverwendet und ergänzt.
Die Codierung dieser Bitebenen 206 erfolgt jeweils gemäß
folgendem Schema (vgl. Fig. 6, Schritte 630, 640, 650 und
660)
- - die Ziffern an den bereits registrierten Positionen 222 werden registriert (vgl. Fig. 6, Schritte 630),
- - es werden solche Bit 223 in der aktuell zu codierenden Bitebene 206 ermittelt, welche die Ziffer 1 aufweisen und an einer noch nicht registrierten Position stehen (vgl. Fig. 6, Schritte 640),
- - die Ziffern 224 dieser Bit 223 werden registriert (vgl. Fig. 6, Schritte 640),
- - die Positionen 225 dieser Bit werden ermittelt und ebenfalls registriert (vgl. Fig. 6, Schritte 640),
- - unter Verwendung der registrierten Positionen 225, 222 werden die Lauflängen 225 zu den aktuell ermittelten Positionen bzw. zu den entsprechenden Differenzkoeffizienten ΔDCT ermittelt (vgl. Fig. 6, Schritte 650),
- - bei der Ermittlung der Lauflängen werden bereits registrierte Positionen 222 nicht gezählt (verkürzte Lauflängen 225) (vgl. Fig. 6, Schritte 650),
- - die Ziffern und die Lauflängen werden codiert (vgl. Fig. 6, Schritte 660).
Fig. 6 zeigt eine Skizze, welche den Ablauf bei der
Codierung des Datenblocks bzw. der Zusatzinformation gemäß
dem obigen Schema verdeutlicht.
Die beschriebene Vorgehensweise weist den großen Vorteil auf,
daß insbesondere bei Bitebenen mit niedriger Wertigkeit
weniger stark unterbrochene Lauflängen ermittelt werden.
Diese weniger stark unterbrochenen Lauflängen führen bei der
Lauflängencodierung mit variablem Längencode insgesamt zu
einem für die Codierung und die Übertragung effizienten Code.
Anschaulich gesehen wird bei dieser Vorgehensweise eine
Information, welche aus einer höheren Bitebene bekannt ist,
bei der Bestimmung einer niedrigeren Bitebene berücksichtigt.
Fig. 3 zeigt eine Skizze einer Anordnung zur Durchführung
eines blockbasierten Bildcodierverfahrens.
Ein zu codierender Videodatenstrom mit zeitlich
aufeinanderfolgenden digitalisierten Bildern wird einer
Bildcodierungseinheit 1201 zugeführt.
Die digitalisierten Bilder sind unterteilt in Makroblöcke
1202, wobei jeder Makroblock 16 × 16 Bildpunkte hat. Der
Makroblock 1202 umfaßt vier Bildblöcke 1203, 1204, 1205 und
1206, wobei jeder Bildblock 8 × 8 Bildpunkte, denen
Luminanzwerte (Helligkeitswerte) zugeordnet sind, enthält.
Weiterhin umfaßt jeder Makroblock 1202 zwei Chrominanzblöcke
1207 und 1208 mit den Bildpunkten zugeordneten
Chrominanzwerten (Farbdifferenzwerte).
Die Bildblöcke werden einer Transformationscodierungseinheit
1209 zugeführt. Bei einer Differenzbildcodierung werden zu
codierende Werte von Bildblöcken zeitlich vorangegangener
Bilder von den aktuell zu codierenden Bildblöcken abgezogen,
es wird nur die Differenzbildungsinformation 1210 der
Transformationscodierungseinheit (Diskrete Cosinus
Transformation, DCT) 1209 zugeführt.
Dazu wird über eine Verbindung 1234 der aktuelle Makroblock
1202 einer Bewegungsschätzungseinheit 1229 mitgeteilt. In der
Transformationscodierungseinheit 1209 werden für die zu
codierenden Bildblöcke bzw. Differenzbildblöcke
Spektralkoeffizienten 1211 gebildet und einer
Quantisierungseinheit 1212 zugeführt.
Quantisierte Spektralkoeffizienten 1213 werden sowohl einer
Scaneinheit 1214 als auch einer inversen
Quantisierungseinheit 1215 in einem Rückwärtspfad zugeführt.
Nach einem Scanverfahren, z. B. einem "zigzag"-Scanverfahren,
wird auf den gescannten Spektralkoeffizienten 1232 eine
Entropiecodierung in einer dafür vorgesehenen
Entropiecodierungseinheit 1216 durchgeführt. Die
entropiecodierten Spektralkoeffizienten werden als codierte
Bilddaten 1217 über einen Kanal, vorzugsweise eine Leitung
oder eine Funkstrecke, zu einem Decoder übertragen.
In der inversen Quantisierungseinheit 1215 erfolgt eine
inverse Quantisierung der quantisierten Spektralkoeffizienten
1213. So gewonnene Spektralkoeffizienten 1218 werden einer
inversen Transformationscodierungseinheit 1219 (Inverse
Diskrete Cosinus Transformation, IDCT) zugeführt.
Rekonstruierte Codierungswerte (auch Differenzcodierungs
werte) 1220 werden im Differenzbildmodus einen Addierer 1221
zugeführt. Der Addierer 1221 erhält ferner Codierungswerte
eines Bildblocks, die sich aus einem zeitlich vorangegangenen
Bild nach einer bereits durchgeführten Bewegungskompensation
ergeben. Mit dem Addierer 1221 werden rekonstruierte
Bildblöcke 1222 gebildet und in einem Bildspeicher 1223
abgespeichert.
Chrominanzwerte 1224 der rekonstruierten Bildblöcke 1222
werden aus dem Bildspeicher 1223 einer
Bewegungskompensationseinheit 1225 zugeführt.
Für Helligkeitswerte 1226 erfolgt eine Interpolation in einer
dafür vorgesehenen Interpolationseinheit 1227. Anhand der
Interpolation wird die Anzahl in dem jeweiligen Bildblock
enthaltener Helligkeitswerte vorzugsweise verdoppelt.
Alle Helligkeitswerte 1228 werden sowohl der
Bewegungskompensationseinheit 1225 als auch der
Bewegungsschätzungseinheit 1229 zugeführt. Die
Bewegungsschätzungseinheit 1229 erhält außerdem die
Bildblöcke des jeweils zu codierenden Makroblocks (16 × 16
Bildpunkte) über die Verbindung 1234.
In der Bewegungsschätzungseinheit 1229 erfolgt die
Bewegungsschätzung unter Berücksichtigung der interpolierten
Helligkeitswerte ("Bewegungsschätzung auf Halbpixelbasis").
Vorzugsweise werden bei der Bewegungsschätzung absolute
Differenzen der einzelnen Helligkeitswerte in dem aktuell zu
codierenden Makroblock 1202 und dem rekonstruierten
Makroblock aus dem zeitlich vorangegangenen Bild ermittelt.
Das Ergebnis der Bewegungsschätzung ist ein Bewegungsvektor
1230, durch den eine örtliche Verschiebung des ausgewählten
Makroblocks aus dem zeitlich vorangegangenen Bild zu dem zu
codierenden Makroblock 1202 zum Ausdruck kommt.
Sowohl Helligkeitsinformation als auch Chrominanzinformation
bezogen auf den durch die Bewegungsschätzungseinheit 1229
ermittelten Makroblock werden um den Bewegungsvektor 1230
verschoben und von den Codierungswerten des Makroblocks 1202
subtrahiert (siehe Datenpfad 1231).
In Fig. 5 ist eine Anordnung zu einer Bildcodierung und
einer Bilddecodierung dargestellt.
In Fig. 5 ist eine Kamera 501 dargestellt, mit der Bilder
aufgenommen werden. Die Kamera 501 ist eine analoge Kamera
501, die Bilder einer Szene aufnimmt, und die Bilder in
analoger Form zu einem ersten Rechner 502 überträgt. In dem
ersten Rechner 502 werden die analogen Bilder in
digitalisierte Bilder 503 umgewandelt und die digitalisierten
Bilder 503 verarbeitet.
Der erste Rechner 502 ist als eine eigenständige Anordnung in
Form einer eigenständigen Computerkarte, die in den ersten
Rechner 502 installiert ist, ausgestaltet, mit welcher
Computerkarte die im Folgenden beschriebenen
Verfahrensschritte durchgeführt werden.
Der erste Rechner 502 weist einen Prozessor 504 auf, mit dem
die im Weiteren beschriebenen Verfahrensschritte der
Bildcodierung durchgeführt werden. Der Prozessor 504 ist über
einen Bus 505 mit einem Speicher 506 gekoppelt, in dem eine
Bildinformation gespeichert wird.
Das im Weiteren beschriebene Verfahren zu der Bildcodierung
ist in Software realisiert. Sie ist in dem Speicher 506
gespeichert und wird von dem Prozessor 504 ausgeführt.
Nach erfolgter Bildcodierung im dem ersten Rechner 501 und
nach einer Übertragung der codierten Bildinformation über ein
Übertragungsmedium 507 zu einem zweiten Rechner 508, wird in
dem zweiten Rechner 508 die Bilddecodierung durchgeführt.
Der zweite Rechner 508 hat den gleichen Aufbau wie der erste
Rechner 501. Der zweite Rechner 508 weist auch einen
Prozessor 509 auf, welcher Prozessor 509 mit einem Bus 511
mit einem Speicher 510 gekoppelt ist.
Das im weiteren beschriebene Verfahren zu der Bilddecodierung
ist in Software realisiert. Sie ist in dem Speicher 510
gespeichert und wird von dem Prozessor 509 ausgeführt.
In Fig. 4 ist eine Prozessoreinheit PRZE 401, welche für die
Bildcodierung bzw. für die Bilddecodierung eingesetzt wird,
dargestellt.
Die Prozessoreinheit PRZE 401 umfaßt einen Prozessor CPU 402,
einen Speicher MEM 403 und eine Input/Output-Schnittstelle
IOS 404, die über ein Interface IFC 405 auf unterschiedliche
Art und Weise genutzt wird:
Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor MON 406 sichtbar und/oder auf einem Drucker PRT 407 ausgegeben. Eine Eingabe erfolgt über eine Maus MAS 408 oder eine Tastatur TAST 409.
Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor MON 406 sichtbar und/oder auf einem Drucker PRT 407 ausgegeben. Eine Eingabe erfolgt über eine Maus MAS 408 oder eine Tastatur TAST 409.
Auch verfügt die Prozessoreinheit PRZE 401 über einen
Datenbus BUS 410, der die Verbindung von dem Speicher MEM
403, dem Prozessor CPU 402 und der Input/Output-Schnittstelle
IOS 404 gewährleistet.
Weiterhin sind an den Datenbus BUS 410 zusätzliche
Komponenten anschließbar, z. B. zusätzlicher Speicher,
Datenspeicher (Festplatte) oder Scanner.
Im Folgenden werden Alternativen zu dem Ausführungsbeispiel
beschreiben.
In einer ersten Alternative zu dem Ausführungsbeispiel werden
die bei der Codierung der Zusatzinformation registrierten
Ziffern weiterverarbeitet (vgl. Fig. 7, Schritt 745).
Dabei werden die Ziffern dahingehend untersucht, ob eine
Information über die jeweilige Ziffer für eine Rekonstruktion
des zugehörigen Differenzkoeffizienten ΔDCT notwendig ist.
Ist die Information über die Ziffer für die Rekonstruktion
nicht notwendig, so wird diese Ziffer nicht codiert und nicht
übertragen.
In einer zweiten Alternative zu dem Ausführungsbeispiel
werden auch verkürzte Lauflängen in der Bitebene mit der
höchsten Wertigkeit mmax ermittelt (vgl. Fig. 7, Schritte
730, 740, 745, 750 und 760).
Unter Verwendung der quantisierten DCT Koeffizienten und
weiterer bereits empfangener Seiteninformation,
beispielsweise Quantisierungsparameter, Quantisierungsmethode
oder Prädiktionstyp eines Macroblocks, können solche Bit in
der höchsten Bitebene ermittelt werden, welche nur die Ziffer
Null aufweisen können. Solche Bit werden bei einer Ermittlung
einer Lauflänge nicht gezählt und führen somit zu verkürzten
Lauflängen.
In einer dritten Alternative zu dem Ausführungsbeispiel ist
vorgesehen, daß auch eine Bitebene mit einer niedrigeren
Wertigkeit als die höchste Wertigkeit mmax mit einer
Lauflängencodierung mit variablem Längencode, wie es in [1]
beschrieben ist, codiert wird (vgl. Fig. 8, Schritte 845 und
850).
Dazu ist eine Marke vorgesehen, welche jeweils kennzeichnet,
ob die aktuelle Bitebene gemäß dem aus [1] bekannten
Verfahren oder gemäß dem Verfahren aus dem
Ausführungsbeispiel codiert wird.
In einer vierten Alternative zu dem Ausführungsbeispiel wird
das Verfahren auf Bildpunkte bzw. Bildinformation im
Ortsbereich angewendet.
In diesem Fall ist die Zusatzinformation Z in dem enhancement
layer eine Differenzbildinformation, aus welcher in dem
Decoder unter Verwendung der aus den quantisierten DCT
Koeffizienten rekonstruierten Basisbildinformation der
Bildblock wiederhergestellt wird.
[1] Weiping Li: "Fine Granularity Using Bit-Plane Coding of
DCT-Coefficients", ISO/IEC JTC1/SC29/WG 11, no.
MPEG 98/4204.
[2] J. De Lameillieure, R. Schäfer: "MPEG-2-Bildcodierung für das digitale Fernsehen", Fernseh- und Kino-Technik, 48. Jahrgang, Nr. 3/1994, Seiten 99-107.
[3] D. Le Gall, "The Video Compression Standard for Multimedia Applications", Communications of ACM, Vol. 34, No. 4, S. 47-58, April 1991.
[4] G. Wallace, "The JPEG Still Picture Compression Standard", Communications of ACM, Vol. 34, No. 4, S. 31-44, April 1991.
[5] M. Bierling: "Displacement Estimation by Hierarchical Blockmatching", SPIE, Vol. 1001, Visual Communications and Image Processing '88, S. 942-951, 1988.
[6] Terminals for Telematic Services, ISO/IEC 10918
T.80-T.87.
[7] A. Said, W. A. Pearlman: "A new, fast, and efficient image coded based an set partitioning in hierarchical trees", IEEE Transactions an Circuits and Systems for Video Technology, vol. 6, pp 243-250, June 1996.
[8] Shu Lin, Daniel Costello: "Error Control Coding", Prentice-Hall, 1983.
[9] T. Sikora: "The MPEG4 Video Standard Verification Model", IEEE Trans. On Circuits and Systems for Video Technology, Vol. 7, No. 1, Februar 1997.
[2] J. De Lameillieure, R. Schäfer: "MPEG-2-Bildcodierung für das digitale Fernsehen", Fernseh- und Kino-Technik, 48. Jahrgang, Nr. 3/1994, Seiten 99-107.
[3] D. Le Gall, "The Video Compression Standard for Multimedia Applications", Communications of ACM, Vol. 34, No. 4, S. 47-58, April 1991.
[4] G. Wallace, "The JPEG Still Picture Compression Standard", Communications of ACM, Vol. 34, No. 4, S. 31-44, April 1991.
[5] M. Bierling: "Displacement Estimation by Hierarchical Blockmatching", SPIE, Vol. 1001, Visual Communications and Image Processing '88, S. 942-951, 1988.
[6] Terminals for Telematic Services, ISO/IEC 10918
T.80-T.87.
[7] A. Said, W. A. Pearlman: "A new, fast, and efficient image coded based an set partitioning in hierarchical trees", IEEE Transactions an Circuits and Systems for Video Technology, vol. 6, pp 243-250, June 1996.
[8] Shu Lin, Daniel Costello: "Error Control Coding", Prentice-Hall, 1983.
[9] T. Sikora: "The MPEG4 Video Standard Verification Model", IEEE Trans. On Circuits and Systems for Video Technology, Vol. 7, No. 1, Februar 1997.
Claims (17)
1. Verfahren zur Codierung einer Zahlenfolge umfassend
Zahlen, deren jede Zahl dargestellt ist durch Ziffern aus
einer Zifferngruppe, welche eine nicht-signifikante Ziffer
und mindestens eine signifikante Ziffer umfaßt, und deren
jeder Zahl eine Folgeinformation l zugewiesen ist,
jede nachfolgende Ziffernfolge der Ziffernfolgen codiert wird derart, daß
- - bei dem die Zahlenfolge aufgespalten wird in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - bei dem eine erste Ziffernfolge der Ziffernfolgen codiert wird derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
jede nachfolgende Ziffernfolge der Ziffernfolgen codiert wird derart, daß
- - die Ziffern aller registrierten Positionen registriert werden und
- - zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
2. Verfahren nach Anspruch 1,
bei dem die Zifferngruppe mehrere signifikante Ziffern
umfaßt.
3. Verfahren nach Anspruch 1 oder 2,
bei dem die Zahlenfolge codierte Bildinformation aufweist.
4. Verfahren nach einem der Ansprüche 1 bis 3,
bei dem eine Ziffernfolge ein binärer Ausdruck ist.
5. Verfahren nach einem der Ansprüche 1 bis 4,
bei dem die registrierten Positionen in einer Merkfolge
gespeichert werden.
6. Verfahren nach einem der Ansprüche 1 bis 5,
bei dem die registrierten Ziffern weiterbearbeitet werden.
7. Verfahren nach Anspruch 6,
bei dem zumindest ein Teil der registrierten Ziffern
übertragen wird.
8. Verfahren nach einem der Ansprüche 1 bis 7,
bei dem die nicht-signifikante Ziffer eine Nullziffer ist.
9. Verfahren nach einem der Ansprüche 1 bis 8,
bei dem die Anzahl m der Ziffernfolgen gleich der Anzahl der
Ziffern der größten Zahl der Zahlenfolge gesetzt wird.
10. Verfahren nach Anspruch 1 bis 9,
bei dem jede Zahl als ein binärer Ausdruck dargestellt wird
und eine Zahl mit der maximalen Anzahl von Ziffern ermittelt
wird.
11. Verfahren nach Anspruch 10,
bei dem die Ziffernfolgen entsprechend den Ziffern der Zahl
mit der maximalen Anzahl von Ziffern geordnet werden.
12. Verfahren nach Anspruch 11,
bei dem die erste Ziffernfolge die maximale Ziffer aufweist.
13. Verfahren nach einem der Ansprüche 1 bis 8,
bei dem die m Ziffernfolgen derart geordnet werden, daß die
erste Ziffernfolge die meisten nicht-signifikanten Ziffern
aufweist.
14. Verfahren nach einem der vorangehenden Anspruch,
eingesetzt zu einer Codierung eines Bildes aus Bildpunkten.
15. Anordnung zur Codierung einer Zahlenfolge umfassend
Zahlen, deren jede Zahl dargestellt ist durch Ziffern aus
einer Zifferngruppe, welche eine nicht-signifikante Ziffer
und mindestens eine signifikante Ziffer umfaßt, und deren
jeder Zahl eine Folgeinformation l zugewiesen ist, welche
Anordnung einen Prozessor aufweist, der derart eingerichtet
ist, daß
der Prozessor eingerichtet ist, daß jede nachfolgende Ziffernfolge der Ziffernfolgen codierbar ist derart, daß
- - die Zahlenfolge aufspaltbar ist in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - eine erste Ziffernfolge der Ziffernfolgen ist codierbar derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
der Prozessor eingerichtet ist, daß jede nachfolgende Ziffernfolge der Ziffernfolgen codierbar ist derart, daß
- - die Ziffern aller registrierten Positionen registriert werden und
- - zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
16. Verfahren zur Decodierung einer codierten Zahlenfolge,
dadurch gekennzeichnet, daß
die codierte Zahlenfolge codiert wurde derart, daß
- - eine Zahlenfolge umfassend Zahlen, deren jede Zahl dargestellt ist durch die Ziffern aus einer Zifferngruppe, welche eine nicht-signifikante Ziffer und mindestens eine signifikante Ziffer umfaßt, und deren jeder Zahl eine Folgeinformation l zugewiesen ist, aufgespalten wird in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - eine erste Ziffernfolge der Ziffernfolgen codiert wird derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
- - jede nachfolgende Ziffernfolge der Ziffernfolgen codiert wird derart, daß die Ziffern aller registrierten Positionen registriert werden und zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
17. Anordnung zur Decodierung einer codierten Zahlenfolge,
dadurch gekennzeichnet, daß
die Anordnung einen Prozessor aufweist, der derart
eingerichtet ist, daß für Zahlen der codierten Zahlenfolge
jeweils eine Umsetzung bzw. Rekonstruktion von Ziffern unter
Verwendung eines zu einer Codierung inversen Verfahrens
durchführbar ist, wobei die codierte Zahlenfolge unter
Verwendung des Codierverfahrens codiert wurde derart, daß
- - eine zu codierende Zahlenfolge umfassend Zahlen, deren jede Zahl dargestellt ist durch die Ziffern aus einer Zifferngruppe, welche eine nicht-signifikante Ziffer und mindestens eine signifikante Ziffer umfaßt, und deren jeder Zahl eine Folgeinformation l zugewiesen ist, aufgespalten wird in m Ziffernfolgen, wobei die k-te Ziffer der i-ten Ziffernfolge die i-te Ziffer der k-ten Zahl ist,
- - eine erste Ziffernfolge der Ziffernfolgen codiert wird derart, daß zu jeder aufgefundenen signifikanten Ziffer eine Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden,
- - jede nachfolgende Ziffernfolge der Ziffernfolgen codiert wird derart, daß die Ziffern aller registrierten Positionen registriert werden und zu jeder aufgefundenen signifikanten Ziffer auf einer nicht registrierten Position die Position unter Verwendung der Folgeinformation l der entsprechenden Zahl ermittelt wird und die ermittelte Position und die signifikante Ziffer registriert werden.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19957685A DE19957685A1 (de) | 1999-11-30 | 1999-11-30 | Verfahren und Anordnung zur Codierung bzw. Decodierung einer Zahlenfolge |
PCT/DE2000/004241 WO2001041450A1 (de) | 1999-11-30 | 2000-11-28 | Verfahren und anordnung zur codierung bzw. decodierung einer zahlenfolge |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19957685A DE19957685A1 (de) | 1999-11-30 | 1999-11-30 | Verfahren und Anordnung zur Codierung bzw. Decodierung einer Zahlenfolge |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19957685A1 true DE19957685A1 (de) | 2001-06-28 |
Family
ID=7930916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19957685A Withdrawn DE19957685A1 (de) | 1999-11-30 | 1999-11-30 | Verfahren und Anordnung zur Codierung bzw. Decodierung einer Zahlenfolge |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE19957685A1 (de) |
WO (1) | WO2001041450A1 (de) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9703441D0 (en) * | 1997-02-19 | 1997-04-09 | British Tech Group | Progressive block-based coding for image compression |
US7020342B1 (en) * | 1999-08-27 | 2006-03-28 | Koninklijke Philips Electronics N.V. | Scalable coding |
-
1999
- 1999-11-30 DE DE19957685A patent/DE19957685A1/de not_active Withdrawn
-
2000
- 2000-11-28 WO PCT/DE2000/004241 patent/WO2001041450A1/de active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2001041450A8 (de) | 2001-10-25 |
WO2001041450A1 (de) | 2001-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69837003T2 (de) | Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem | |
DE60015566T2 (de) | Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes | |
EP1025708B1 (de) | Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes | |
DE69837497T2 (de) | Verfahren und vorrichtung zum kodieren eines videosignals | |
DE19743202B4 (de) | Verfahren zum Codieren eines Bewegungsvektors | |
DE10022331A1 (de) | Verfahren zur Transformationscodierung von Bewegtbildsequenzen | |
DE69915843T2 (de) | Teilbandkodierung/-dekodierung | |
EP0956539B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes | |
EP0773690A2 (de) | Verfahren zur Codierung eines Videodatenstroms | |
DE60107149T2 (de) | Digitales Bildausgabegerät | |
WO1998034406A1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes | |
EP1101196B1 (de) | Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten | |
EP0985317B1 (de) | Verfahren zur codierung und decodierung eines digitalisierten bildes | |
DE60310128T2 (de) | Verfahren zur wavelet-bildcodierung und entsprechendes decodierungsverfahren | |
EP1110407B1 (de) | Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors | |
EP1285537B1 (de) | Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern | |
WO2001062009A1 (de) | Verfahren und anordnung zur kodierung bzw. zur kodierung und dekodierung einer zahlenfolge | |
EP0981910B1 (de) | Verfahren und vorrichtung zur codierung eines digitalisierten bildes | |
DE19957685A1 (de) | Verfahren und Anordnung zur Codierung bzw. Decodierung einer Zahlenfolge | |
WO2001049038A1 (de) | Verfahren, anordnung und computerprogrammerzeugnis zur prädiktion bei der codierung eines in bildblöcke unterteilten bildes | |
DE19944300C2 (de) | Verfahren, Anordnung und Computerprogrammerzeugnis zur Bewegungsschätzung bei der Codierung von einem Bildobjekt in einem Bild | |
EP1121809B1 (de) | Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes | |
DE10219640A1 (de) | Verfahren zum Codieren und Decodieren von Videosequenzen und Computerprogrammprodukt | |
DE19903859A1 (de) | Verfahren und Anordnung zur Transformation eines Bildbereichs | |
WO2001028252A1 (de) | Progressive fehlertolerante codierung bzw. decodierung einer folge von bildern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |