DE60314139T2 - Verfahren und system zur längenvariablen decodierung und vorrichtung zur positionsbestimmung von codewörtern - Google Patents

Verfahren und system zur längenvariablen decodierung und vorrichtung zur positionsbestimmung von codewörtern Download PDF

Info

Publication number
DE60314139T2
DE60314139T2 DE60314139T DE60314139T DE60314139T2 DE 60314139 T2 DE60314139 T2 DE 60314139T2 DE 60314139 T DE60314139 T DE 60314139T DE 60314139 T DE60314139 T DE 60314139T DE 60314139 T2 DE60314139 T2 DE 60314139T2
Authority
DE
Germany
Prior art keywords
codeword
codewords
length
bitstream
fields
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60314139T
Other languages
English (en)
Other versions
DE60314139D1 (de
Inventor
Stamatis Vassiliadis
Jari Nikara
Jarmo Takala
Petri Liuha
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.)
Sisvel International SA
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of DE60314139D1 publication Critical patent/DE60314139D1/de
Application granted granted Critical
Publication of DE60314139T2 publication Critical patent/DE60314139T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren, einen Decodierer und ein Computerprogrammprodukt zum Decodieren von Codewörtern mit variablen Längen aus einem Bitstrom, wie in den Ansprüchen dargelegt.
  • Bei der Übertragung von Bild- und Videodaten über Datennetze müssen Bilddaten komprimiert werden, weil die zu übertragende Datenmenge angesichts der verfügbaren Übertragungsraten extrem groß ist. Zu den bekannten Komprimierungsalgorithmen gehören verlustfreie und verlustbehaftete Algorithmen. Die diskrete Kosinustransformation (DKT) ist ein verlustbehafteter Algorithmus in Kombination mit Quantisierung, um redundante Informationen aus den Bilddaten zu entfernen. Die DKT-Faktoren werden für Basisbildeinheiten (zum Beispiel 8×8 Pixel) berechnet, und ein Bildblock wird als eine Matrix dargestellt, die aus diesen Faktoren besteht. Nach der DKT werden die Faktoren durch eine Zickzackabtastung zu einer geeigneten Reihenfolge für eine verlustfreie Huffman-Codierung angeordnet. Die Huffman-Codierung ist nur ein Beispiel einer längenvariablen Codierung (LVC), welche die statistische Redundanz nach der DKT und der Quantisierung verringert. Das Prinzip der längenvariablen Codierung ist, häufig vorkommende Symbole mit kürzeren Codewörtern und weniger häufig vorkommende Symbole mit längeren Codewörtern darzustellen. Um die Codierung zu beginnen, werden die Quelldaten durch Anordnen der jeweiligen Symbole entsprechend der Wahrscheinlichkeit ihres Vorkommens verarbeitet. Die Symbole mit der geringsten Wahrscheinlichkeit werden rekursiv zu einem einzigen Symbol kombiniert, wobei eine Baumstruktur gebildet wird (Beispiel in 1a gezeigt), um jedem Symbol sein eigenes Codewort zuzuweisen, indem ein Bit definiert wird, um jeden Zweig darzustellen. Dem Codebaum von 1a ist zu entnehmen, dass das Symbol mit der geringsten Wahrscheinlichkeit des Vorkommens das längste Codewort hat. Tabelle 1b zeigt die Wahrscheinlichkeit des Vorkommens P(x), das Codewort (Code) und die Entropie H(x) für jedes Symbol. Das Verfahren führt zum kürzesten Codewort mit dem Durchschnittswert, und die Komprimierung ist sehr nahe an der Entropie der Ursprungsquelle; darum wird die Codierung allgemein effizient. Folglich ist die längenvariable Codierung ein wesentliches Element in vielen Standards im Zusammenhang mit der Bildverarbeitung.
  • Wie durch ihre Definition angezeigt, haben die Codewörter der längenvariablen Codierung unterschiedliche Längen. Wenn die Anfangs- und Endpunkte des Codewortes nicht unmittelbar anhand des Bitstroms detektiert werden können, so entwickelt sich eine rekursive Abhängigkeit zwischen den Codewörtern, was die Decodierung erschwert. Die Abhängigkeit bewirkt, dass die Codewörter vor der längenvariablen Decodierung (LVD) aus dem Bitstrom gefunden werden müssen, das heißt, ihre Positionen müssen bestimmt werden. In dem Decodierungsprozess ist es daher notwendig, sowohl die Codelänge als auch die -position, das Codewort und das entsprechende Symbol zu bestimmen.
  • Die LVD-Implementierungen können entsprechend der Verarbeitung des Bitstroms in der folgenden Weise gekennzeichnet werden. Bei der Bit-seriellen Verarbeitung wird der Bitstrom Bit für Bit in Reihe verarbeitet. Dadurch wird der ankommende Gesamtbitstrom mit einer konstanten Eingangsrate verarbeitet. Da die Codewörter variable Längen haben, dauert die Gesamtdecodierung des Codewortes ebenfalls unterschiedliche lange, was zu einer variablen Ausgaberate führt.
  • Bei der Bitparallelen Verarbeitung werden mehrere Bits des ankommenden Bitstroms parallel, entweder mit einer konstanten Eingangsrate oder mit einer variablen Eingangsrate, verarbeitet. Wenn die Eingangsrate konstant gehalten wird, so bleibt die Ausgaberate aufgrund der variablen Länge des Codewortes variabel. Um eine konstante Ausgaberate zu erreichen, wird eine variable Verarbeitung des ankommenden Bitstroms benötigt. Oder anders ausgedrückt: Um eine konstante Ausgaberate zu sichern, muss die Eingabe eine Anzahl von Bits enthalten, die dem Produkt der gewünschten Ausgaberate und der längsten Codewortlänge entspricht.
  • In einer Weise, die der Kennzeichnung anhand der Verarbeitung des Bitstroms ähnelt, kann auch der Parallelismus der Decodierer mit der Anzahl der gleichzeitig zu decodierenden Codewörter (oder Symbole, die aus dem Ausgang erhalten wurden) beschrieben werden. Wenn die Decodierung mit jeweils einem Codewort auf einmal ausgeführt wird, so kann die Decodierung als Symbol-seriell gekennzeichnet werden. Wenn infolge der Decodierung mehrere Symbole auf einmal erreicht werden, so ist die Decodierung dementsprechend Symbol-parallel.
  • Die Decodierung kann mit einem baumbasierten Algorithmus implementiert werden, der eine der Huffman-Baumstruktur entgegengesetzte Implementierung ist: Der codierte ankommende Bitstrom wird mit dem binären Baum verglichen, wobei an der Wurzel begonnen wird und er so lange ausgeführt wird, bis das gesamte Codewort aus der jeweiligen Blattzelle bestimmt wurde. Bei der Decodierung des Baummodells wird eine effiziente Decodierung nur mit kurzen Codewörtern erreicht. Jedoch erfordern hohe Anforderungen an die Verarbeitung in Echtzeit, dass eine entsprechende Ausgaberate auch mit langen Codewörtern erreicht wird. Des Weiteren ist das Baummodell aufgrund seiner Bit-seriellen Form für die gleichzeitige Decodierung mehrerer Symbole, d. h. für eine Symbol-parallele Verarbeitung, aufgrund der Abhängigkeit zwischen den Codewörtern, wenn ein einzelner Bitstrom verarbeitet wird, nicht geeignet.
  • Der Parallelismus wurde durch die Parallelverarbeitung mehrerer Bits verstärkt, um die Verarbeitungskapazität zu erhöhen, was durch das Erfassen einer ausreichenden Menge (die maximale Codewortlänge) von Daten in einem Eingangspuffer implementiert wird, ab dessen Anfang die Codewörter detektiert und decodiert werden. Bei der Symbol-seriellen Decodierung wird eine Menge an Daten, die der maximalen Codelänge entspricht, in dem Eingangspuffer akkumuliert, um zu gewährleisten, dass in jedem Zyklus ein Symbol gefunden wird. Das Problem hier ist, dass Bits am Ende des Puffers übrig bleiben, die in dem aktuellen Zyklus nicht genutzt werden können. Die Symbol-parallele Decodierung (oder Mehrsymboldecodierung) beinhaltet das Problem und die Herausforderung für das Design, dass die Vorrichtung oder das System rasch sehr komplex wird.
  • Hsieh und Mitarbeiter stellen in C. T. Hsieh und S. P. Kim "A concurrent memory-efficient VLC decoder for MPEG applications", IEEE Trans. Consumer Electron., Band 42, Nr. 3, Seiten 439–446, August 1996, das gleichzeitige parallele Decodieren kurzer Codewörter im selben Zyklus vor (gleichzeitiger Decodierungsalgorithmus). Der Decodierer nutzt die Wahrscheinlichkeitsverteilung der längenvariablen Codierung, derzufolge die Bitsequenz des ankommenden Bitstroms mit einer höheren Wahrscheinlichkeit mehr kurze Codewörter als lange enthält. Zum Beispiel kann eine 16-Bit-Sequenz von ankommenden Daten im schlimmsten Fall acht 2-Bit-Codewörter enthalten, deren Decodierung – immer ein Symbol auf einmal – acht Decodierungszyklen erfordern würde. Der in der Schrift offenbarte Decodierungsalgorithmus hat als Ziel die Beschleunigung des Decodierungsprozesses durch gleichzeitiges Detektieren von zwei oder mehr kürzeren Codewörtern; oder anders ausgedrückt: das Verfahren dient dem Detektieren von Kombinationen von Codewörtern. Zum Beispiel entspricht bei der Decodierung eines Codewortes mit zwei Ebenen die erste Ebene des Baummodells dem ersten zu decodierenden Codewort, und die zweite Ebene entspricht dem zweiten zu decodierenden Codewort. Somit ist es das Ziel, zwei Codewörter gleichzeitig zu decodieren. Die Länge des ersten Codewortes kann von 2 bis k Bits variieren. Wenn die Länge des ersten Codewortes 2 Bits beträt, so beträgt die Länge des zweiten Codewortes, das eventuell parallel zu decodieren ist, 2 bis k2 Bits. Wenn andererseits die Länge des ersten Codewortes 3 Bits beträt, so beträgt die Länge des zweiten Codewortes, das eventuell parallel zu decodieren ist, 2 bis k3 Bits, und so weiter. Da die erste Ebene alle Codes umfasst, ist k somit gleich der maximalen Länge des Coderegisters, das der Länge des längsten Codewortes entspricht. Auf der zweiten Ebene sind kürzere (wahrscheinlichere) Codes entsprechend der Grundeigenschaft der LVC bevorzugt. Darum liegt der Wert von ki im Bereich 0 ≤ ki ≤ k.
  • Das Basisverfahren in einem zweistufigen Decodierungsprozess beginnt an der Wurzel des Baummodells. Die Bitsequenzen jedes Zweiges in dem Baum werden im Wesentlichen gleichzeitig anhand aller möglichen Codewörter auf jeder Ebene getestet. Wenn mehrere geeignete Zweige auf der zweiten Ebene des Baums gefunden werden, so wird der Pfad gewählt, der ab der Wurzel aufwärts kontinuierlich war, das heißt, der Bitstrom ist durchgängig ohne Unterbrechungen. Der Decodierungsprozess kann auf der ersten Ebene enden, wenn keiner der Zweige der nächsten Ebene einen durchgängigen Pfad ab der Wurzel aufweist. Das bedeutet, dass das zweite Codewort nicht decodiert werden kann. Die Codewortlänge, die von jeder Ebene erhalten wird, dient der Steuerung der nächsten Daten des Eingabestroms, worin der Decodierungsprozess erneut beginnt. Das gleiche Decodierungsverfahren kann auch mit mehr Ebenen verwendet werden. Ein Codewortdetektionsblock, der auf dem maximalwahrscheinlichen Bitmuster (MWBM) basiert, meldet drei Faktoren zurück, um den Decodierungszyklus zu vollenden: Gruppenmarkierungen zum Bestimmen des Rests in der Gruppe, die Länge zum Übertragen des Bitstroms an den Anfang des nächsten Codewortes, und einen Gruppencode für den Speicher. Das Symbol wird aus dem Direktzugriffsspeicher entsprechend dem Rest und der Gruppe abgerufen.
  • Die Schrift US 5,617,089 A offenbart eine Huffmancode-Decodierungsschaltung, die eine Führungsbitpositionsbestimmungseinheit enthält. Die Decodierungsschaltung gemäß der Schrift realisiert eine Hochgeschwindigkeits-Huffmancode-Decodierungsverarbeitung durch Erlangen von zwei decodierten Wörtern auf einmal. Der Decodierer ist Decodierer mit variablem Eingang und konstanter Ausgabe, weil er einen Eingang mit einer Länge des Zweifachen des längsten Codewortes erfordert, um zwei Codes decodieren zu können. In der Schrift werden alle möglichen Codewörter decodiert, aber nur zwei werden zur Ausgabe weitergeleitet.
  • Sima, M. und Mitarbeiter: "MPEG-compliant Entropy Decoding in FPGA-augmented TriMedia/CPU/64", Tagungsbericht des 10. Jahressymposiums über feldprogrammierbare Spezialrechenmaschinen, Seiten 261–270, 22.04–24.04.2002, beschreibt eine Lösung zum Bestimmen des optimalen FPGA-basierten längenvariablen Decodierers. In der Schrift werden Verbesserungen an der Entropie-Codierung sowie eine Lösung zum Lösen der Abhängigkeit zwischen aufeinanderfolgenden Codewörtern vorgestellt. Die Schrift nutzt Parallelismus, zum Beispiel Decodieren und Schätzen von Längen der folgenden Codewörter oder Berechnen der nächsten zwei Codewörter auf dem kritischen Pfad.
  • Ein weiteres Beispiel des Standes der Technik ist die Schrift US 5,929,793 A , die ein Verfahren zur Hochgeschwindigkeits-Codewortdetektion unter Verwendung mehrerer Codelängenbestimmer und mehrerer kaskadierter Codewortselektoren beschreibt.
  • Die Aufgabe der vorliegenden Erfindung ist das Ermöglichen einer Decodierung parallel und in einer Pipeline durch Beseitigen der Abhängigkeiten zwischen den Codewörtern in dem ersten Schritt des Decodierungsprozesses, in dem die Codewörter lokalisiert werden. In dem erfindungsgemäßen Verfahren werden Bitfelder von fester Größe aus dem Eingangspuffer extrahiert, um alle möglichen Codewörter zu finden. Alle möglichen Codewörter werden aus dem Puffer mittels einer Kaskadenstruktur im Wesentlichen gleichzeitig detektiert. Oder anders ausgedrückt: Aus dem Bitstrom, der in den Puffer gelangt, werden die Codewortlängen aus jeder möglichen Pufferposition detektiert. Das hat jedoch zum Ergebnis, dass auch ungültige Codewörter aus dem Eingangspuffer detektiert werden. In dem Verfahren gemäß der vorliegenden Erfindung werden die gültigen Codewortlängen mittels der vorhergehenden Codewortlängen in einer solchen Weise ausgewählt, dass das Ergebnis eines ersten Detektors (erste Codewortlänge) dafür benutzt wird, die Auswahl der zweiten Ausgabe zu steuern. Die dritte Codewortlänge wiederum wird auf der Basis der Summe der vorhergehenden Codewortlängen ausgewählt, und so weiter. Bei der Auswahl der eigentlichen Codewörter werden Multiplexer verwendet, um die gültige Codewortlänge unter mehreren Codewortlängen (die von allen möglichen Codewortpositionen im Puffer erhalten wurden) auszuwählen. Der Multiplexer kann zum Beispiel unter Verwendung von Basislogikschaltungen (UND/ODER-Gatter und Inverter) implementiert werden. In dem erfindungsgemäßen Verfahren sind die Multiplexer in einer solchen Weise verkettet, dass sie als ihre direkte Ausgabe die Längen aller vollständigen Codewörter in dem Puffer ausgeben. Die Daten zur Teilsumme und zur Summe der detektierten Codewortlängen stehen auch für eine mögliche spätere Verwendung zur Verfügung. Das kennzeichnende Merkmal einer vorteilhaften Ausführungsform der Erfindung ist die Implementierung der Kaskadenstruktur, die lang wird, mittels einer MultiplexedAdd (MA)-Vorrichtung, um den kritischen Pfad zu verkürzen. Bei dem erfindungsgemäßen Verfahren können alle integralen Codewörter, die in dem Puffer vorkommen, detektiert werden; darum kann die eigentliche Suche nach Symbolen parallel ausgeführt werden, um die Decodierung ohne einschränkende Abhängigkeiten zu beschleunigen.
  • Genauer gesagt, ist das Verfahren gemäß der vorliegenden Erfindung vor allem dadurch gekennzeichnet, dass bei dem Verfahren mindestens teilweise überlappende Felder von dem zu verarbeitenden Teil des Bitstroms in einer solchen Weise getrennt werden, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt für ein Codewort in dem Teil des Bitstroms ist, in dem ein gültiges Codewort aus einem Feld gefunden wird, und die Daten, die zu dem gültigen Codewort in Beziehung stehen, bestimmt werden, wobei Daten, die zu mindestens einem gültigen Codewort in Beziehung stehen, verwendet werden, um das Vorkommen des nächsten gültigen zu decodierenden Codewortes in einem Feld zu bestimmen, dessen Anfangspunkt der Punkt ist, der den Daten entspricht, die zu mindestens einem vorhergehenden Codewort in Beziehung stehen, und die gefundenen gültigen Codewörter decodiert werden. Der erfindungsgemäße Decodierer ist vor allem dadurch gekennzeichnet, dass der Decodierer des Weiteren Folgendes umfasst: ein Mittel, um mindestens teilweise überlappende Felder aus dem in Verarbeitung befindlichen Teil des Bitstroms in einer solchen Weise zu extrahieren, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt eines Codewortes in dem Teil des Bitstroms ist; ein Mittel zum Suchen nach einem gültigen Codewort in einem Feld; und ein Mittel zum Bestimmen von Daten, die zu dem gültigen Codewort in Beziehung stehen, das in dem Feld gefunden wurde; und ein Mittel zum Bestimmen – auf der Basis der Daten, die zu mindestens einem gültigen Codewort in Beziehung stehen – des Vorkommens des nächsten zu decodierenden gültigen Codewortes in einem Feld, dessen Anfangspunkt der Punkt ist, der den Daten entspricht, die zu mindestens einem vorhergehenden Codewort in Beziehung stehen. Das erfindungsgemäße System ist vor allem dadurch gekennzeichnet, dass der Decodierer des Weiteren Folgendes umfasst: ein Mittel, um mindestens teilweise überlappende Felder aus dem in Verarbeitung befindlichen Teil des Bitstroms in einer solchen Weise zu extrahieren, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt eines Codewortes in dem Teil des Bitstroms ist; ein Mittel zum Suchen nach einem gültigen Codewort in einem Feld; und ein Mittel zum Bestimmen von Daten, die zu dem gültigen Codewort in Beziehung stehen, das in dem Feld gefunden wurde; und ein Mittel zum Bestimmen – auf der Basis der Daten, die zu mindestens einem gültigen Codewort in Beziehung stehen – des Vorkommens des nächsten zu decodierenden gültigen Codewortes in einem Feld, dessen Anfangspunkt der Punkt ist, der den Daten entspricht, die zu mindestens einem vorhergehenden Codewort in Beziehung stehen. Die erfindungsgemäße Vorrichtung ist vor allem dadurch gekennzeichnet, dass der Decodierer des Weiteren Folgendes umfasst: ein Mittel, um mindestens teilweise überlappende Felder aus dem in Verarbeitung befindlichen Teil des Bitstroms in einer solchen Weise zu extrahieren, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt eines Codewortes in dem Teil des Bitstroms ist; ein Mittel zum Suchen nach einem gültigen Codewort in einem Feld; und ein Mittel zum Bestimmen von Daten, die zu dem gültigen Codewort in Beziehung stehen, das in dem Feld gefunden wurde; und ein Mittel zum Bestimmen – auf der Basis der Daten, die zu mindestens einem Codewort in Beziehung stehen – des Vorkommens des nächsten zu decodierenden gültigen Codewortes in einem Feld, dessen Anfangspunkt der Punkt ist, der den Daten entspricht, die zu mindestens einem vorhergehenden Codewort in Beziehung stehen. Schließlich ist das erfindungsgemäße Speichermittel vor allem dadurch gekennzeichnet, dass das Programm Folgendes umfasst: Computeranweisungen, um mindestens teilweise überlappende Felder aus dem in Verarbeitung befindlichen Teil des Bitstroms in einer solchen Weise zu extrahieren, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt eines Codewortes in dem Teil des Bitstroms ist; Computeranweisungen zum Suchen nach einem gültigen Codewort in einem Feld; und Computeranweisungen zum Bestimmen von Daten, die zu dem gültigen Codewort in Beziehung stehen, das in dem Feld gefunden wurde; und Computeranweisungen zum Bestimmen – auf der Basis der Daten, die zu mindestens einem gültigen Codewort in Beziehung stehen – des Vorkommens des nächsten zu decodierenden gültigen Codewortes in einem Feld, dessen Anfangspunkt der Punkt ist, der den Daten entspricht, die zu mindestens einem vorhergehenden Codewort in Beziehung stehen.
  • Die vorliegende Erfindung verbessert den Stand der Technik zur Decodierung von Codewörtern in einer solchen Weise, dass sie ein Bit-paralleles, Symbol-paralleles Verfahren ist, das sich auch zur parallelen Decodierung von langen Codewörtern eignet. Es kann somit einen längeren Eingangspuffer (einen Puffer von beliebiger Länge) verwenden. Des Weiteren nutzt das Verfahren die Aufteilung der Decodierung in Stufen zum Pipelining der Implementierung. Nach möglichen Codewörtern wird an allen Positionen des Eingangspuffers gesucht, an denen sich die Codewörter befinden können. Gültige Codewörter werden anhand von Indizes detektiert, die durch Berechnen der Summe der Längen der vorhergehenden geeigneten Codewörter erhalten werden. Weil Daten zu den Grenzen (Anfangs- und Endpunkten) in Verbindung mit dem Finden der Codewörter gefunden werden, ist es möglich, Codewörter unabhängig von anderen Codewörtern zu decodieren und den Parallelismus zu verstärken. Die Ausgabestufe des erfindungsgemäßen Verfahrens ist proportional zur Größe des Eingangspuffers.
  • Im Folgenden wird die vorliegende Erfindung eingehender anhand der Zeichnungen beschrieben, in denen Folgendes dargestellt ist:
  • 1a zeigt eine Baumstruktur, die durch Huffman-Codierung bebildet wird.
  • 1b zeigt in einem Tabellenformat die Huffman-Codewörter sowie die entsprechenden Symbole und die Wahrscheinlichkeiten des Vorkommens.
  • 2 zeigt ein Prinzip des Findens von LVC-Codewörtern aus einem Bitstrom gemäß einer vorteilhaften Ausführungsform.
  • 3 zeigt in einem reduzierten Schaubild ein System gemäß einer vorteilhaften Ausführungsform der Erfindung zum Finden von LVC-Codewörtern aus einem Bitstrom.
  • 4a zeigt eine MultiplexedAdd-Vorrichtung in einem Schaubild.
  • 4b zeigt die interne Struktur des MultiplexedAdd.
  • 5 zeigt in einem reduzierten Schaubild ein System gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung zum Finden von LVC-Codewörtern aus einem Bitstrom unter Verwendung des MultiplexedAdd.
  • Wir wollen zunächst definieren, wie viele Codewörter von variabler Länge in dem Puffer auf einmal vorkommen können. Dafür werden die Codelängen der Code-Tabelle durch die Gruppe SL = {l1, ..., ln} definiert, wobei l1 und ln die minimale bzw. die maximale Länge des Codewortes darstellen. Darum ist in einem Puffer von N Bits die maximale Anzahl von Codewörtern Kmax = N/l1], N ≥ ln. Längenvariable Codewörter wollen wir mit dem Symbol Wi, wobei i = 0, 1, ..., (Kmax – 1), und die Länge des Codewortes Wi mit dem Symbol Li bezeichnen. Des Weiteren wollen wir einen Index ji, 0 ≤ ji ≤ (N – 1), definieren, um das erste Bit des Codewortes Wi in einem Codewort-Puffer von N Bits darzustellen.
  • Im Allgemeinen kann davon ausgegangen werden, dass sich das erste Codewort W0 immer am Anfang des Puffers befindet, wobei der Anfangspunkt von W0 j0 = 0 ist. Das zweite Codewort W1 befindet sich direkt hinter dem ersten Codewort, wobei der Index j1 zum Definieren des Anfangspunktes des zweiten Codewortes die Länge des ersten Codewortes ist, das heißt, j1 = L0. Das bedeutet, dass der Anfangspunkt des Codewortes Wi die Summe der Längen der vorhergehenden Codewörter ist, das heißt
    Figure 00130001
  • Die Längen der Codewörter in dem Puffer sind nicht von vornherein bekannt. Um rekursive Abhängigkeiten zu vermeiden, muss auch eine parallele Suche nach Codewörtern an willkürlichen Positionen in dem Puffer vorgenommen werden. Im Allgemeinen können alle möglichen Positionen jeglicher Codewörter durch p = {l1, l1 + 1, l1 + 2, ..., N – l1} definiert werden, was in einem Puffer von N Bits N – 2(l1 – 1) Positionen bedeutet. Weil die maximale Länge ln des Codewortes bekannt ist, werden Felder, die nicht größer als die maximale Länge ln sind, von allen möglichen Positionen, die durch p definiert sind, getrennt, wobei die mögliche Codewortlänge in jedem von ihnen zum Beispiel durch Musterübereinstimmung, Eigenschaften der Code-Tabelle, wie zum Beispiel Leitzeichen, Maximalwahrscheinlichkeits-Bitmuster (MWBM) oder numerische Eigenschaften gesucht wird. Jedoch kann das Symbol nur gefunden werden, wenn alle Bits, die das Codewort definieren, verfügbar sind, um die Decodierung zu vervollständigen, d. h. das Symbol zu finden. Aus diesem Grund ist es einfacher, das Codewort in Feldern zu detektieren, die ab den letzten ln–1 Indizes beginnen; man braucht nur nach Codewörtern mit K Bits aus den Bitfeldern zu suchen, die am Anfangspunkt N-K beginnen, wobei K < ln.
  • In der oben beschriebenen Vorgehensweise werden redundante Codewörter detektiert, weil, wenn ein Bitfeld aus der Mitte eines gültigen längeren Codewortes herausgetrennt wird, ein kürzeres Codewort in diesem Codewort gefunden werden kann. Aus diesem Grund findet jeder Suchevorgang nur die Länge eines detektierten Codewortes. Die Indizes gültiger Codewörter in dem Puffer können rekursiv durch die Längen definiert werden; die Länge des ersten Codewortes definiert den Anfangspunkt für das zweite Codewort; die Längen des ersten und des zweiten Codewortes definieren den Anfangspunkt für das dritte Codewort, und so weiter.
  • 2 zeigt ein Beispiel des Findens von Codewörtern in einem 16-Bit-Puffer durch das Verfahren gemäß einer vorteilhaften Ausführungsform der Erfindung. Nehmen wir eine Code-Tabelle an, in der die Längen durch die Gruppe S = {2, 3, 4, 5, 6, 7, 8} definiert werden und die maximale Anzahl von Codewörtern in einem 16-Bit-Eingangspuffer Kmax = 8 beträgt. Gemäß dem oben beschriebenen Verfahren werden 14 Felder F0-F13 aus dem Puffer unterschieden, und es wird ein Versuch unternommen, ein mögliches Codewort in jedem von ihnen zu finden. Das erste Feld F0 umfasst mit Gewissheit das erste geeignete Codewort W0. Das zweite Codewort W1 findet sich in einem der Felder F1–F7. In einer entsprechenden Weise kann ein mögliches drittes Codewort W2 in einem der Felder F3–F13 gefunden werden. Mögliche weitere Codewörter W3–W7 können in den Feldern F5–F13 gefunden werden. Die Bitfeldlängen sind in den Feldern F8–F13 kürzer als in den anderen, weil die Codewörter, die möglicherweise an das Ende des Puffers passen, kürzer als maximale Länge ln sind.
  • Um den Decodierungsprozess zu vervollständigen, werden die Symbole, die den Codewörtern entsprechen, aus der Code-Tabelle abgerufen. Weil die Anfangs- und Endpunkte der Codewörter mittels des oben beschriebenen Verfahrens herausgefunden werden können, wird die Abhängigkeit zwischen den Codewörtern beseitigt. Oder anders ausgedrückt: Die Codewörter können aus dem Eingangsstrom herausgetrennt werden, und die Suche kann unabhängig ausgeführt werden.
  • Zusammenfassend kann das beschriebene Muster folgendermaßen dargestellt werden:
    • • Die maximale Anzahl Kmax an Codewörtern in einem Codewort-Puffer von N Bits wird bestimmt.
    • • (N – 2(l1 – 1)) Felder F0 – F(N – 2 (l1 – 1) – 1) von erforderlicher Größe werden aus dem Puffer herausgetrennt, um die Länge des Codewortes zu bestimmen. Der Anfangspunkt der Felder ist die Pufferposition {0, l1, l1 + 1, l1 + 2, ..., N–l1}.
    • • Die möglichen Codewörter werden am Anfang jedes Feldes gefunden. Die Länge des gefundenen Codewortes wird zurückgemeldet.
    • • Die Länge des ersten Codewortes wird in dem ersten Feld gefunden. Die anderen gültigen Codewörter werden in dem Puffer mittels Indizes gefunden, die durch Berechnen der Summe der Längen der vorhergehenden geeigneten Codewörter erhalten werden.
    • • Das Symbol, das dem geeigneten Codewort entspricht, wird mittels einer Code-Tabelle gefunden.
  • Weil in dem oben beschriebenen Verfahren sowohl die Eingabe- als auch die Ausgabeebene variabel ist, wird sowohl bei der Eingabe als auch bei der Ausgabe eine Pufferung benötigt. 3 zeigt einen Decodierer, der die oben beschriebene Verfahrensweise implementiert, bei dessen Design die gleichzeitige Detektion aller Codewörter in dem Eingangspuffer berücksichtigt wurde. Um das zu implementieren, werden N – 2(l1 – 1) Codewort-Detektoren CD verwendet. Der erste Codewort-Detektor CD1 (der linke in 3) verwendet das Feld, das am Anfang des Eingangspuffers beginnt, um ein Codewort zu detektieren. Der zweite Codewort-Detektor CD2 verwendet das Feld, das am Punkt l1 des Eingangspuffers beginnt, um ein Codewort zu detektieren. In der Reihenfolge gemäß der Figur verwenden die N – ln – l1 + 2 Codewort-Detektoren auf der Linken Felder, die an verschiedenen Punkten des Eingangspuffers beginnen (Codewörter mit der maximalen Länge), während die anderen ln – l1 Codewort-Detektoren nur Codewörter zu detektieren brauchen, die kürzer als die maximale Länge sind. Alle Codewort-Detektoren CD1 – CD(N – 2(l1 – 1)) detektieren Codewörter im Wesentlichen gleichzeitig und melden die Länge des gefundenen Codewortes zurück. Um die geeigneten Codelängen Li aus allen gefundenen Codewörtern auszuwählen, werden Multiplexer MUX verwendet, die zu einer Kaskadenstruktur gebildet sind. Jeder Multiplexer MUX erhält eine Eingabe von jedem Codewort-Detektor CD, dessen Position mit einer Gruppe p definiert ist. Die Bitfelder der Codewort-Detektoren CD befinden sich an den Positionen il1–iln des Eingangspuffers. Weil die erste Codelänge L0 immer von dem ersten Codewort-Detektor CD1 erhalten wird, steuert er den ersten Multiplexer MUX1, die zweite geeignete Codelänge L1 auszuwählen. Dies kann auch zum Übertragen von Informationen über den Decodierungsmodus verwendet. Oder anders ausgedrückt: Wenn die Codelänge null ist, so wird die Decodierung entweder abgebrochen, oder es wurde ein Fehler gefunden. Die anderen Multiplexer werden durch die Summe der vorhergehenden Codelängen gesteuert. Auf diese Weise erzeugt die Berechnung der Summe der Codelängen einen kritischen Pfad, der in 3 mit einer Strichlinie angedeutet ist.
  • Die Codewörter können aus dem Eingangspuffer gemäß den Längendaten herausgetrennt werden und können unabhängig decodiert werden. Des Weiteren kann die Decodierung parallel gestaltet werden, wenn die Abhängigkeiten der Codewörter beseitigt wurden.
  • In einem System gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung wird ein MultiplexedAdd MA verwendet, dessen schematische Ansicht in 4a und dessen interne Struktur in 4b gezeigt ist. Diese Lösung kann verwendet werden, um den kritischen Pfad zu verringern, der sich bei der Bestimmung des Codewortes entwickelt. Wie in 4a gezeigt, berechnet der MultiplexedAdd MA die Summe von zwei Eingängen und führt auch eine Multiplexierung im Wesentlichen gleichzeitig durch. 4b zeigt die interne Struktur eines 3-Bit-MultiplexedAdd. Ein MultiplexedAdd von X Bits enthält X Volladdierer VA und eine multiplexierte Baumstruktur von X Ebenen, die als ihre Eingänge die Summen der Volladdierer als Auswahlsignale sowie Alternativen (Möglichkeiten M) empfangen. Ein Beispiel des in der Figur gezeigten Systems sind zwei 3-Bit-Zahlen A und B, deren Summe S die Auswahl der Ausgabe O (entsprechend der Codewortlänge Li, die aus der Möglichkeit P ausgewählt ist) aus den Möglichkeiten P0–P7 steuert, die in dem erfindungsgemäßen Verfahren alle möglichen Codewortlängen für jene Codewörter darstellen, die an der Position pi des Eingangspuffers beginnen. Somit kann die Formel zum Implementieren der Ausgabe definiert werden als: O = P0 s 2 s 1 s 0 + P1 s 2 s 1s0 + P2 s 2s1 s 0 +P3 s 2s1s0 + P4s2 S 1 s 0 + P5s2 s 1s0 + P6s2s1 s 0 + P7s2s1s0,was weiter zu folgender Form reduziert werden kann: O = (P0 s 1 s 0 + P1 s 1s0 + P2s1 s 0 + P3s1s0)s 2 + (P4 s 1 s 0 + P5 s 1s0 + P6s1 s 0 + P7s1s0)s2 = [(P0 s 0 + P1s0)s 1 + (P2 s 0 + P3s0)s1]s 2 + [(P4 s 0 + P5s0)s 1 + (P6 s 0 + P7s0)s1]s2 Mittels des MultiplexedAdd MA ist es möglich, die Summen der momentanen Codelänge Li und der vorhergehenden Codelängen
    Figure 00180001
    zu berechnen und die nächste Codelänge Li + 1 auszuwählen. Durch Verwenden des MultiplexedAdd MA wird die Verzögerung zwischen zwei Codelängen von der Verzögerung des log(N)-Bitaddierers und der Multiplexer-Gruppe zur Verzögerung des log(N)-Volladdierers und des 2-1-Multiplexers verringert. In einer entsprechenden Weise werden die logischen Stufen unter Verwendung von 3-4-UND-ODER-Gattern und 2-2-UND-ODER-Gattern und Invertern von den 2log(N)-Stufen zu den log(N) + 1-Stufen verringert. 5 zeigt ein System zum Finden von Codewörtern mittels eines MultiplexedAdd MA gemäß einer zweiten vorteilhaften Ausführungsform der Erfindung.
  • Der Decodierer für eine längenvariable Codierung gemäß der Erfindung kann als ein Teil einer elektronischen Vorrichtung, zum Beispiel als separate Logikschaltungen, mittels eines anwendungsspezifischen integrierten Schaltkreises (ASIC) in einem digitalen Signalprozessor oder als eine Funktionseinheit in einem Prozessor implementiert werden. In der Regel umfasst die elektronische Vorrichtung auch andere Funktionen, wie zum Beispiel ein Mittel zum Anzeigen decodierter Informationen für den Nutzer und einen Prozessor zum Steuern der elektronischen Vorrichtung.
  • Es versteht sich, dass die vorliegende Erfindung nicht ausschließlich auf die oben vorgestellte Ausführungsform beschränkt ist, sondern dass sie innerhalb des Geltungsbereichs der angehängten Ansprüche modifiziert werden kann.

Claims (6)

  1. Verfahren zum Entschlüsseln von Codewörtern variabler Länge von einem Bitstrom, in dem die Mindestlänge ll des Codeworts und die Höchstlänge ln des Codeworts definiert sind, wobei in dem Verfahren: – der zu entschlüsselnde Bitstrom in Teilen verarbeitet wird, wobei jeder Bitstromteil von einer Länge N einer Suche nach Codewörtern unterzogen wird, in der N ≥ ln; – N – 2(ll – 1) sich mindestens teilweise überlappende Felder vom Teil des Bitstroms, der zu verarbeiten ist, abgefragt werden, derart, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt für ein Codewort in dem Teil des Bitstroms ist; – N – 2(ll – 1) Codedetektoren verwendet werden, um Codewörter von den Feldern vom Bitstromteil zu ermitteln und die Länge eines ermittelten Codeworts auszugeben, und – Kmax – 1 Multiplexer verwendet werden, wobei Kmax = [N/ll], wobei – jeder Multiplexer (MUX1, MUX) einen Eingang von jedem Codewortdetektor, dessen Ort durch p = {ll, ll + 1, ll + 2, ..., N – ll} definiert ist, und einen Ausgang zum Bereitstellen der Länge eines ermittelten Codeworts von einem der Codewortdetektoren aufweist; – der erste Multiplexer (MUX1) durch den Ausgang des ersten Codewortdetektors (CD1) gesteuert wird; – die anderen Multiplexer (MUX) durch die Summe der vorhergehenden Codewortlängen gesteuert werden; und – die gefundenen gültigen Codewörter entschlüsselt werden.
  2. Decodierer zum Entschlüsseln von Codewörtern variierender Länge von einem Bitstrom, in dem die Mindestlänge ll des Codeworts und die Höchstlänge ln des Codeworts definiert sind, wobei der Decodierer in der Lage ist: – den Bitstrom, der zu entschlüsseln ist, in Bitstromteile zu verarbeiten, die eine feste Länge N aufweisen, wobei N ≥ ln; und – N – 2(ll – 1) sich zumindest teilweise überlappende Felder vom Teil des Bitstroms, der zu verarbeiten ist, abzufragen, derart, dass der Anfangspunkt von mindestens zwei Feldern ein möglicher Anfangspunkt eines Codeworts in dem Bitstromteil ist; der Decodierer mit Folgendem versehen ist: – N – 2(ll – 1) Codedetektoren zum Ermitteln von Codewörtern von den Feldern des Bitstromteils und zum Ausgeben der Länge eines ermittelten Codeworts, und – Kmax – 1 Multiplexer, wobei Kmax = [N/ll], wobei: – jeder Multiplexer (MUX1, MUX) einen Eingang von jedem Codewortdetektor, dessen Ort durch p = {ll, ll + 1, ll + 2, ..., N – ll} definiert ist, und einen Ausgang zum Bereitstellen der Länge eines ermittelten Codeworts von einem der Codewortdetektoren aufweist; – der erste Multiplexer (MUX1) einen Steuereingang aufweist, der mit dem Ausgang des ersten Codewortdetektors (CD1) verbunden ist; – die Steuereingänge der anderen Multiplexer (MUX) konfiguriert sind, um durch die Summe der vorhergehenden Codewortlängen gesteuert zu werden; und – der Decodierer ferner in der Lage ist, die gefundenen gültigen Codewörter zu entschlüsseln.
  3. System zum Übertragen von Informationen im Binärformat, das einen Codierer und einen Decodierer nach Anspruch 2 umfasst.
  4. Vorrichtung, die den Decodierer nach Anspruch 2 umfasst.
  5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass sie Mittel zum Ausführen von Mobilkommunikation umfasst.
  6. Computerprogrammprodukt zum Entschlüsseln von Codewörtern variierender Länge von einem Bitstrom, das Codemittel umfasst, die auf einem lesbaren Medium gespeichert sind, die angepasst sind, um, wenn sie auf einem Computer ausgeführt werden, den Bitstrom, der zu verarbeiten ist, gemäß dem Verfahren nach Anspruch 1 zu entschlüsseln.
DE60314139T 2002-06-20 2003-06-16 Verfahren und system zur längenvariablen decodierung und vorrichtung zur positionsbestimmung von codewörtern Expired - Lifetime DE60314139T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20021221 2002-06-20
FI20021221A FI116813B (fi) 2002-06-20 2002-06-20 Menetelmä ja järjestelmä vaihtuvapituisen koodauksen purkamiseksi, ja koodisanojen paikannuslaite
PCT/FI2003/000480 WO2004001978A1 (en) 2002-06-20 2003-06-16 A method and a system for variable-length decoding, and a device for the localization of codewords

Publications (2)

Publication Number Publication Date
DE60314139D1 DE60314139D1 (de) 2007-07-12
DE60314139T2 true DE60314139T2 (de) 2008-01-24

Family

ID=8564212

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314139T Expired - Lifetime DE60314139T2 (de) 2002-06-20 2003-06-16 Verfahren und system zur längenvariablen decodierung und vorrichtung zur positionsbestimmung von codewörtern

Country Status (9)

Country Link
US (1) US6980138B2 (de)
EP (1) EP1514356B1 (de)
KR (1) KR20050010918A (de)
CN (1) CN100546200C (de)
AT (1) ATE363769T1 (de)
AU (1) AU2003240915A1 (de)
DE (1) DE60314139T2 (de)
FI (1) FI116813B (de)
WO (1) WO2004001978A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440979C (zh) * 2005-12-15 2008-12-03 清华大学 基于上下文的自适应二维变长解码方法和装置
CN100466743C (zh) * 2006-08-07 2009-03-04 清华大学 一种基于共享存储可编程的熵解码和反量化的方法
JP4841496B2 (ja) * 2007-04-26 2011-12-21 パナソニック株式会社 可変長符号復号化装置
WO2009122675A1 (ja) * 2008-03-31 2009-10-08 パナソニック株式会社 可変長符号復号化装置及びその方法
US8660261B2 (en) * 2009-06-04 2014-02-25 Mediatek Singapore Pte. Ltd. System and apparatus for integrated video/image encoding/decoding and encryption/decryption
WO2012099433A2 (ko) * 2011-01-20 2012-07-26 한국전자통신연구원 인덱스 매핑 테이블을 이용한 엔트로피 코딩 방법 및 이러한 방법을 사용하는 영상 부호화/복호화 장치 및 방법
KR20120084639A (ko) 2011-01-20 2012-07-30 한국전자통신연구원 엔트로피 부호화를 위한 적응적 정렬 테이블
US9819359B1 (en) 2016-12-11 2017-11-14 Microsoft Technology Licensing, Llc Multi-symbol, multi-format, parallel symbol decoder for hardware decompression engines
US11211945B1 (en) * 2020-10-29 2021-12-28 Microsoft Technology Licensing, Llc Parallelized decoding of variable-length prefix codes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280349A (en) 1992-02-13 1994-01-18 Industrial Technology Research Institute HDTV decoder
US5245338A (en) 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder
KR940010433B1 (ko) * 1992-06-09 1994-10-22 대우전자 주식회사 가변길이 코드 디코딩장치
US5821885A (en) * 1994-07-29 1998-10-13 Discovision Associates Video decompression
US5488366A (en) 1993-10-12 1996-01-30 Industrial Technology Research Institute Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
KR0124191B1 (ko) 1994-01-18 1998-10-01 배순훈 가변길이 코드 디코딩장치
JP2746109B2 (ja) * 1994-03-09 1998-04-28 日本電気株式会社 ハフマン符号復号化回路
US5491480A (en) * 1994-05-25 1996-02-13 Industrial Technology Research Institute Variable length decoder using serial and parallel processing
KR0141298B1 (ko) 1994-11-17 1998-06-15 배순훈 가변 길이 복호화 장치
US5835035A (en) 1995-12-28 1998-11-10 Philips Electronics North America Corporation High performance variable length decoder with two-word bit stream segmentation and related method
KR100214593B1 (ko) * 1996-03-15 1999-08-02 구자홍 캐스케이드 구조를 이용한 런랭스 코드의 코드워드 검출 방법 및 장치
DE60100416T2 (de) * 2000-04-28 2004-06-09 Matsushita Electric Industrial Co., Ltd., Kadoma Dekoder für Kode variabler Länge
US6542095B1 (en) * 2001-12-14 2003-04-01 Taiwan University Universal variable length code (UVLC) encoder
US6573846B1 (en) * 2001-12-31 2003-06-03 Apple Computer, Inc. Method and apparatus for variable length decoding and encoding of video streams

Also Published As

Publication number Publication date
FI20021221A0 (fi) 2002-06-20
ATE363769T1 (de) 2007-06-15
US6980138B2 (en) 2005-12-27
WO2004001978A1 (en) 2003-12-31
US20040070525A1 (en) 2004-04-15
FI20021221A (fi) 2003-12-21
AU2003240915A1 (en) 2004-01-06
KR20050010918A (ko) 2005-01-28
DE60314139D1 (de) 2007-07-12
EP1514356A1 (de) 2005-03-16
CN1663128A (zh) 2005-08-31
FI116813B (fi) 2006-02-28
EP1514356B1 (de) 2007-05-30
CN100546200C (zh) 2009-09-30

Similar Documents

Publication Publication Date Title
DE19840835C2 (de) Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
EP1467491B1 (de) Arithmetische Codierung von Transformationskoeffizienten
DE69637068T2 (de) System zur Dekodierung von bewegten Bildern
DE19635251C2 (de) Verfahren und Apparat zur Komprimierung beliebiger Daten
DE69735200T2 (de) Verfahren zu metrikbestimmung in einem übertragungssystem
DE69735680T2 (de) Verfahren zur Bilddecodierung
DE69726661T2 (de) Verfahren und vorrichtung zur kodierung eines digitalen informationssignales
DE69925151T2 (de) Effiziente normalisierung vom trelliszustandsmetrischem wert
DE60124851T2 (de) Vorrichtung und Verfahren zur Fehlererkennung in einem CRC Code mit invertierten Paritätsbits
DE10196890B4 (de) Verfahren zum Ausführen einer Huffman-Decodierung
DE4429017B4 (de) Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten
EP2008467B1 (de) Verfahren und einrichtung zur arithmetischen decodierung
DE60314139T2 (de) Verfahren und system zur längenvariablen decodierung und vorrichtung zur positionsbestimmung von codewörtern
DE102012208711B4 (de) Vorrichtung zum Erzeugen einer Prüfsumme
DE4217008C2 (de) HDTV-Dekodierer
WO2003094355A2 (de) Verfahren und anordnung zur arithmetischen enkodierung und dekodierung von binären zuständen sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
DE19907728C2 (de) Vorrichtung und Verfahren zum Erzeugen eines Datenstroms und Vorrichtung und Verfahren zum Lesen eines Datenstroms
DE1449334A1 (de) Datenverarbeitungsanlage
DE112012004727B4 (de) Entpacken einer variablen Anzahl von Datenbits
DE4322995C2 (de) Decoder und Decodierungsverfahren für Codes variabler Länge
EP1153481B1 (de) Verfahren und vorrichtung zum erzeugen eines datenstroms aus codeworten variabler länge und verfahren und vorrichtung zum lesen eines datenstroms aus codeworten variabler länge
EP1491015B1 (de) Einrichtung und verfahren zur geregelten skalierung und quantisierung von soft-output-werten eines entzerrers
Kozhemiakina et al. Recursive group coding for image DCT compression efficiency
DE19937456C2 (de) Rechner zur Datenverarbeitung und Verfahren zur Datenverarbeitung in einem Rechner
Rawat et al. Evaluation of Burrows Wheeler Transform based image compression algorithm for multimedia applications

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Ref document number: 1514356

Country of ref document: EP

Owner name: SISVEL INTERNATIONAL S.A., LU

Free format text: FORMER OWNER: NOKIA CORP., ESPOO, FI

Effective date: 20120726

R082 Change of representative

Ref document number: 1514356

Country of ref document: EP

Representative=s name: COHAUSZ & FLORACK PATENT- UND RECHTSANWAELTE P, DE

Effective date: 20120726