DE69722601T2 - Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes - Google Patents

Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes Download PDF

Info

Publication number
DE69722601T2
DE69722601T2 DE69722601T DE69722601T DE69722601T2 DE 69722601 T2 DE69722601 T2 DE 69722601T2 DE 69722601 T DE69722601 T DE 69722601T DE 69722601 T DE69722601 T DE 69722601T DE 69722601 T2 DE69722601 T2 DE 69722601T2
Authority
DE
Germany
Prior art keywords
quantization
subband
baseband
indices
zero
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
DE69722601T
Other languages
English (en)
Other versions
DE69722601D1 (de
Inventor
Zhengrong Wang
Steven Paul HOULE
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.)
Historic AOL LLC
Original Assignee
America Online Inc
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 America Online Inc filed Critical America Online Inc
Publication of DE69722601D1 publication Critical patent/DE69722601D1/de
Application granted granted Critical
Publication of DE69722601T2 publication Critical patent/DE69722601T2/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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Erfindungsgebiet
  • Die Erfindung betrifft die Datenkompression und insbesondere die Datenkompression mit adaptiver Bit-Allokation und gemischter verlustfreier Entropie-Codierung (hybrid lossless entropy coding).
  • 2. Beschreibung des Stands der Technik
  • Es gibt eine Anzahl von Verfahren zur Datenkompression. Diese Verfahren sind entweder als "verlustreich" (lossy) oder als "verlustfrei" (lossless) gekennzeichnet. Verlustreiche Kompressionsverfahren können beachtliche Kompressionsverhältnisse erzielen, wobei sie tatsächlich redundante oder unwichtige Information weglassen, während sie eine vernünftige Ähnlichkeit mit den Originaldaten beibehalten. Da Daten verloren gehen, wird die verlustreiche Kompression normalerweise nur für Daten verwendet, wie etwa Ton oder Graphiken (Standbild oder Bewegung), die auch bei dem Verlust von Information hinreichend genau wahrgenommen werden können. Verlustfreie Kompression führt allgemein zu niedrigeren Kompressionsverhältnissen, aber kann die Originaldaten in ihrer Gesamtheit wieder herstellen. Somit wird die verlustfreie Kompression im allgemeinen für Maschinencode, Text und numerische Daten verwendet, die perfekte Präzision erfordern.
  • Es gibt eine Anzahl unterschiedlicher Verfahren zum Durchführen verlustreicher Kompression, einschließlich des gut bekannten JPEG-Standards für Graphiken und des MPEG-Standards für Video. Jedoch keiner der jeweiligen Kompressionsalgorithmen hat sich als optimal für alle Dateninhalte gezeigt. Das Anpassen eines Algorithmus an bestimmte Daten (etwa Graphikbilder) kann höhere Kompressionsverhältnisse erzielen. In einigen Zusammenhängen, wie etwa bei der Übertragung von Daten über eine begrenzte Bandbreite (typischerweise Modems, LANs oder WANs) kann eine Verbesserung des Kompressionsverhältnisses auch nur um wenige Prozent beachtliche Langzeiteinsparungen bewirken.
  • Dementsprechend besteht die Notwendigkeit zur Verbesserung der Datenkompressionsalgorithmen, insbesondere der verlustreichen Kompression von Graphikbildern. Die Erfindung liefert einen verbesserten verlustreichen Kompressionsalgorithmus, der insbesondere beim Komprimieren von Graphikbildern effizient ist.
  • US-5 276 525 beschreibt ein Codiersystem und -verfahren, bei dem Bilddaten (pictorial data) in mehrere Unterbänder zerlegt werden, und wobei in jedem der höherfrequenten Unterbänder Abtastwerte quantisiert und partizioniert werden. Blöcke in jedem Unterband werden auf eine Art abgetastet, die von den Charakteristika des Bandes Gebrauch macht, um so die gemittelte Länge der Abtastwert-Folgen von Nullen und Nicht-Nullen zu erhöhen.
  • Das Dokument "Subband coding of video using energyadaptive arithmetic coding and statistical feedback-free rate control" von Ashok Popat u. a., Visual Communication and Image Processing '91, Boston, SPIE Band 1605, S. 940–953 beschreibt eine Videounterband-Codiertechnik, beruhend auf einer räumlich und spektral lokalisierten Unterbandanalyse, gefolgt von einer skalaren Quantisierung und einer direkten arithmetischen Codierung. Die Quantisierungs- und Codierungsparameter werden auf der Grundlage der lokalen Energie des Unterbandpixel adaptiert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung umfaßt ein Verfahren zur adaptiven Bit-Allokation und gemischten, verlustfreien Entropie-Codierung (im folgenden auch als Verlustfreies Hybrid-Entropie-Codierverfahren bezeichnet) in einem verlustreichen Kompressionssystem nach Anspruch 1. Des weiteren ist ein Verfahren zur Komprimierung von Bilddaten entsprechend Anspruch 7 und Anspruch 8 festgelegt. Die bevorzugte Ausführungsform des Kompressionsalgorithmus der Erfindung enthält drei Komponenten: (1) eine Transformationsstufe zum Dekorrelieren von Bilddaten in ein Basisband und mehrere Unterbänder, (2) eine Quantisierungsstufe zum Quantisieren der sich ergebenden Transformationskoeffizienten, und (3) eine verlustreiche Entropie-Codierstufe zum Codieren der Quantisierungsindizes. Die Dekompression wird durch Umkehren der Kompressipnsstufen erreicht.
  • Bei der bevorzugten Ausführungsform verwendet die Transformationsstufe einen Elementarwellen- oder Wavelet-Transformalgorithmus. Jedoch können andere Umwandlungen verwendet werden, wie etwa der gut bekannte diskrete Cosinus-Transformationsalgorithmus (DCT). Die Quantisierungsstufe schätzt rekursiv und adaptiv die optimale Quanitisierungsgröße für jedes Band mit einer Annäherung zwischen Quantisierungsgröße und Quantisierungsfehler. Genauer gesagt, die Quantisierungsstufe schätzt Adaptivwerte für Parameter, die eine Annäherung zwischen der Quantisierungsgröße und dem Logarithmus des Quantisierungsfehlers festlegen, und berechnet rekursiv die optimale Quantisierungsgröße für jedes Band, um eine gewünschte Bitrate zu erzielen. Das Basisband und die Unterbänder werden dann in Quantisierungsmatrizen mit den entsprechenden Quanitisierungsgrößen umgewandelt.
  • Die verlustfreie Entropie-Codierstufe nutzt in vorteilhafter Weise die Beobachtung aus, daß die Entropie-Eigenschaft von Lauflängen mit Null-Indexwerten in den Unterband-Quantisierungsmatrizen, die erfindungsgemäß hergestellt werden, sich von den Entropie-Eigenschaften von Nicht-Null-Indizes unterscheiden. Dementsprechend wurde ein Hybrid-Entropie-Algorithmus entwickelt. Insbesondere wird jede Quantisierungsmatrix so analysiert (parsed), so daß: (1) die Position jedes Nicht-Null-Index durch ein spezielles Zeichen (token) "1" ersetzt wird, und (2) jeder Nicht-Null-Index extrahiert und in einen separaten Strom gebracht wird. Dies führt zu einer einfachen binären Maskierungsmatrix, die die Position jedes Nicht-Null-Index in jedem Unterband anzeigt, und einem Strom von Nicht-Null-Indizes. Die binäre Maske wird dann mit herkömmlicher Lauflängencodierung (einschließlich Codieren der Lauflänge der "1"-Tokens) zum Erzeugen einer lauflängencodierten Matrix verarbeitet. Da die binäre Maske nur zweiwertig ist, wechseln sich Lauflängen von "0" und "1" ab. Dieses Muster wird in einen ungeraden Strom von Lauflängenwerten von "0" und einen geraden Strom von Lauflängenwerten von "1" analysiert. Das Ergebnis dieses Prozesses ist, daß die Quantisierungsmatrix für jedes Unterband in drei Ströme aufgeteilt ist (einem Nicht-Null-Strom, einen "0"-Lauflängenstrom und einen "1"-Lauflängenstrom), die dann getrennt in herkömmliche Art Huffman-codiert werden. Dieser hybride Entropie-Codieralgorithmus gibt eine etwa 10%ige Verbesserung gegenüber herkömmlichen Lauflängen- und Huffman-Codierung ähnlicher Bilder. Der Gesamtkompressionsalgorithmus gibt in etwa 2 bis 6 dB Verbesserung bezüglich des Spitzensignal/Rausch-Verhältnisses (PSNR; peak signal-to-noise ratio) gegenüber dem JPEG-Algorithmus für gleiche Bilder bei gleichen Bit-Raten.
  • Die Details der bevorzugten Ausführungsform der Erfindung sind in den beiliegenden Zeichnungen und in der folgenden Beschreibung ausgeführt. Wenn einmal die Details der Erfindung bekannt sind, ergeben sich dem Fachmann zusätzliche Innovationen und Änderungen von allein.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm der drei Komponenten, die einen Kompressionscodierer entsprechend der Erfindung enthalten.
  • 2 ist ein Blockdiagramm, das eine Multipegel-Dekomposition eines Bildes zeigt.
  • 3 ist ein Diagramm, das eine Quantisierungsfunktion zeigt, welche alle x-Werte in dem Intervall d1 bis d2 zu dem Wert ri kartiert (maps).
  • 4 ist ein Diagramm, das eine Anwendung eines Differentialpulscodier-Modulationsalgorithmus auf ein laufendes Pixel x zeigt.
  • 5 ist ein Flußdiagramm, das einen gemischten Verlust von einem Entropy-Codieralgorithmus der Erfindung zeigt.
  • Ähnliche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Durch die Beschreibung sollte die bevorzugte Ausführungsform und die Beispiele als Beispiele verstanden werden, und nicht als Beschränkung der Erfindung.
  • Überblick
  • Die bevorzugte Ausführungsform des Kompressions-Algorithmus der Erfindung enthält drei Komponenten, wie es in 1 gezeigt ist: (1) eine Wandler- oder Transformatorsstufe 1 zum Dekorrelieren von Bilddaten, (2) eine Quantisierungsstufe 2 zum Quantisieren der sich ergebenden Wandlungskoeffizienten und (3) eine verlustfreie Entropiecodierstufe 3 zum Codieren der Quantisierungsindizes. Die Dekomprimierung wird durch Invertieren der Komprimierstufen durchgeführt.
  • Bei der bevorzugten Ausführungsform verwendet die Wandlerstufe einen Wavelet-Wandleralgorithmus. Jedoch können andere Wandler, wie etwa gut bekannte diskrete Kosinuswandler-Algorithmen (DCT; discrete cosine transform algorithm) verwendet werden: Zur Vereinfachung des Verständnisses wird die Erfindung annehmen, daß ein Wavelet-Wandleralgorithmus verwendet wird.
  • (1) Wavelet-Wandlung
  • Wavelet-Wandler sind relativ neue mathematische Werkzeuge. Ein allgemeiner Wavelet-Wandler kann effektiv Bilddaten dekorrelieren, indem ein Bild in einer Anzahl von leicht komprimierbaren Unterbildern zerlegt wird, die Hochfrequenzinformation (oder Kanteninformation) enthalten. Bei der bevorzugten Ausführungsform wird der Wavelet-Wandler in mehreren Pegeln verwendet, um ein Bild zu zerlegen. Jeder Pegel des Wavelet-Wandlers zerlegt das Bild in bekannter Art in vier ¼ große Unterbilder.
  • Beispielsweise in 2 wird ein Bild 20, das eine zweidimensionale Pixel darstellende Zahlen-Matrix enthält, in der Wandlerstufe 1 in vier ¼ große Unterbilder LL0, HL0, LH0 und HH0 durch Anwenden des Wavelet-Wandlers zerlegt. Dann, wie es durch die punktierte Linie angezeigt ist, wird die Wavelet-Wandlung auf das LL0-Unterbild angewendet, um LL1, HL1, LH1 und HH1 Unterbilder herauszuziehen, und dann wird sie erneut auf das LL1-Unterbild angewendet, um LL2, HL2, LH2 und HH2-Unterbilder zu erhalten, und dann noch einmal auf das LL2-Unterbild, um LL3, HL3, LH3 und HH3-Unterbilder zu erhalten.
  • In dem in 2 gezeigten Beispiel wird das Unterbild LL3 des vierten Pegels Basisband- oder Grundbandbild genannt, und stellt eine geschrumpfte Version des Originalbildes 20 dar, das ein 256-stel der Größe des Originalbildes 20 hat. Die 12 verbleibenden Unterbilder, die hier "Unterbandbilder" oder einfach "Unterbänder" genannt werden, ersetzen die Differenz zwischen dem Basisbandbild und dem Originalbild 20. Genauer gesagt, die Unterbandbilder repräsentieren Kanteninformation in der Horizontal-, Vertikal- und Diagonalausrichtung (bezeichnet als HL, LH, HH).
  • Als ein Ergebnis der bevorzugten vier Pegel-Wavelet-Zerlegung wird das Bild 20 in ein Grundbandbild LL3 und 12 Unterbandbilder (HL0–3, LH0–3 und HH0–3) zerlegt. Wenn gewünscht, kann das gezeigte Basisbandbild weiter in ähnlicher Art mehrere Schichten herab zerlegt werden, was zu einer ähnlichen pyramidenförmigen Struktur mit zusätzlichen Unterbändern führt.
  • Eine vorteilhafte Eigenschaft der Wavelet-Wandlerunterbänder ist, daß die in jedem Unterband enthaltenen Daten sehr sparsam sind und die meisten Pixelwerte in der Nähe von Null sind. Diese Eigenschaft führt zu einer verbesserten Quantisierung und einer verlustfreien Entropiecodierung entsprechend der Erfindung.
  • Bei der bevorzugten Ausführungsform wird die Implementierung der Wavelet-Wandlung mit einem paar sorgfältig ausgestalteter Wavelet-Filter erreicht. Unter den vielen möglichen Wavelet-Filtern verwendet die bevorzugte Ausführungsform der Erfindung biorthogonale Filter von Daubechies 7 und 9 als Wavlet-Filter. Diese Filter werden in bekannter Art mit einer finiten Impulsantwort-Implementierung (FIR; finite impulse response) in einer Straightforward-Art implementiert.
  • (2) Quantisierung
  • Die Quantisierung verwirft unvoraussagbare Information im Basisband und in den Unterbandbildern, um eine Komprimierung zu erzielen, um so eine Bitratenanforderung seitens des Benutzers zu erfüllen. Ein Quantisierer ist eine "viele-zu-einem"-Funktion Q(x) (many to one function), die mehrere Eingangswerte in einem kleineren Satz von Ausgabewerten abbildet bzw. kartiert. Quantisierer sind eine Stufenfunktion, die durch einen Satz von Zahlen gekennzeichnet ist, die Entscheidungspunkte di genannt werden, und ein Satz von Zahlen, die Wiederherstellungspegel ri genannt werden. Ein Ausgabewert x wird auf einen Rekonstruktionspegel ri kartiert, wenn er in dem Intervall zwischen (di, di+1) liegt. Beispielsweise ist 3 ein Diagramm, das die Kartierung von allen x-Werten in dem Intervall d1 bis d2 auf den Wert r1 zeigt. Das Intervall di bis di+1 muss nicht für alle i gleichmäßig sein.
  • Bei der bevorzugten Ausführungsform, bei der die Wavelet-Wandlung eine gute Arbeit bei der Dekorrelierung der Bilddaten im allgemeinen durchführt, wird ein gleichmäßig skalarer Quantisierer bei der Quantisierungsstufe 2 verwendet. Die Gleichung für die bevorzugte gleichmäßige skalare Quantisierung ist:
    Figure 00080001
    wobei qi die Quantisierungsgröße des Unterbandes i ist.
  • Zusätzlich, da es weiterhin ein hohes Ausmaß an Korrelation zwischen benachbarten Pixeln in dem Basisbandbild gibt, wird eine Differentialpulscode-Modulation (DPCM) verwendet, um die Grundbanddaten weiter vorauszusagen und zu quantisieren. Insbesondere wird bei der bevorzugten Ausführungsform das Grundbandbild zeilenweise von oben nach unten abgetastet und jedes Pixel wird einem DPCM-Algorithmus unterworfen. Beispielsweise zeigt 4 ein laufendes Pixel x, das mit Hilfe von drei benachbarten Pixel a, b, c, die bereits quantisiert wurden, vorausgesagt wird. Eine einfache Voraussage wird bei der bevorzugten Ausführungsform verwendet. Insbesondere wird der Voraussagerest r wie folgt berechnet: r = x – a* – b* + c* (2)wobei a*, b*, c* die rekonstruierten (oder "dequantisierten") Pegel von a, b und c sind. Der Voraussagerest r wird dann durch einen gleichmäßigen skalaren Quantisierer durchgeleitet, wie jener, der in Gleichung (1) gezeigt ist.
  • Unterbandbilder repräsentieren Kanteninformation bei unterschiedlicher Ausrichtung der unterschiedlichen Pegel. Somit wird jedes Unterband eine getrennte Quantisierungsgröße entsprechend den statistischen Eigenschaften jedes Unterbands haben. Die Prozedur zum Bestimmen der optimalen Quantisie rungsgröße wird Bit-Allokation genannt. Die Erfindung umfaßt ein neues adaptives Bit-Allokationsschema, das im Anschluß detailliert beschrieben wird.
  • Als ein Ergebnis der bevorzugten Quantisierungsstufe werden das Basisband und 12 Unterbandbilder jeweils in eine Quantisierungsmatrix aus Rekonstruktionspegeln ri oder Quantisierungsindizes verarbeitet.
  • (3) Verlustfreie Entropie-Codierung
  • Die endgültige Kompression wird durch verlustfreie Codierung der Quantisierungsmatrix für jedes Unterband in der verlustfreien Entropie-Codiererstufe 3 erzielt. Die verlustfreie Entropie-Codiererstufe 3 weist jedem Quantisierungsindex ein variabel großes Zeichen oder Token entsprechend der Frequenz zu, mit der dieser Index auftritt, je häufiger ein bestimmter Index auftritt, desto kürzer wird das zugeordnete Zeichen. Die bevorzugte Ausführungsform der Erfindung benutzt die bekannte Huffman-Codiertechnik zum Codieren jeder Unterbandquantisierungsmatrix. Beim Stand der Technik, da eine Mehrzahl von Indizes in jeder Unterbandquantisierungsmatrix Null-Wert haben, würde die bekannte Lauflängencodierung in jeder Matrix normalerweise vor der Huffman-Codierung durchgeführt. Die Lauflängencodierung ersetzt einfach eine Folge von Datenwerten mit gleichem Wert durch ein Symbol, das den Datenwert erstellt und die Zahl solcher Werte in der Sequenz.
  • Die Ausgabe der verlustfreien Entropie-Codierstufe 3 ist eine Datenstruktur, die eine komprimierte Version des Originalbilds 20 darstellt. Diese Datenstruktur kann übertragen und/oder für spätere Wiederherstellung in ein Bild, das sich dem ursprünglichen Bild 20 nähert, gespeichert werden.
  • Beruhend auf ausführlichen empirischen Analysen bei der Entwicklung der Erfindung wurde beobachtet, daß die Entropie-Eigenschaft (nämlich die Zufälligkeit) von Lauflängen mit Null-Indexwerten in den Unterbandquantisierungsmatrizen, die durch die Erfindung erzeugt werden, sich von der Entropie-Eigenschaft von Nicht-Null-Indizes unterscheidet. Dementsprechend wurde ein Hybrid-Entropie-Codieralgorithmus ent wickelt, der eine etwa 10%ige Verbesserung gegenüber den herkömmlichen Lauflängen des Huffman-Codieransatz liefert. Dieser Hybrid-Entropie-Codieralgorithmus wird im Detail anschließend beschrieben.
  • Bit Allokation
  • Die Bit Allokation ist ein Prozeß zum Bestimmen der Quantisierungsgröße für Grundband- und Unterbandbilder, so daß der gesamte Quantisierungsfehler sich einem Minimum nähert, unter der Einschränkung einer Gesamtbitrate, die vom Benutzer eingestellt ist. Das Bestimmen eines solchen Minimums ist ein typisches Programmierproblem in der Mathematik. Man kann schreiben:
    Figure 00100001
    mit der Bedingung:
    Figure 00100002
    wobei : Dk(Rk) und Rk die Störung (Quantisierungsfehler) bzw. die Bitrate für das Grundbandbild und jedes Unterbandbild sind, wobei Rtotal eine ausgewählte Gesamtbitrate ist, und wobei mk der Herabskalierfaktor ist, der durch das Verhältnis der Bildgröße zur Unterbandgröße festgelegt ist (beispielsweise für die Skalierungsstruktur, die in 2 gezeigt ist, gilt mLH1 = 16; mLH3 = 256).
  • Die Lösung von Gleichung (3) kann durch Lagrange-Multiplikation gefunden werden:
    Figure 00100003
    wobei J die Gesamtkostenfunktion und λ der Lagrange-Multiplikator ist. Das Minimum von J wird erreicht, wenn die erste partielle Ableitung von J gleich Null ist. Diese Bedingung führt zu:
    Figure 00110001
    für alle Unterbänder i. Zur Lösung von Gleichung (6) muss der explizite Ausdruck von Dk(Rk) bekannt sein. Jedoch ist es in der Praxis schwierig, einen expliziten Ausdruck für Dk(Rk) für jedes Unterband zu finden.
  • Es ist bekannt, daß die wahrscheinliche Störung der Verteilungsfunktion (PDF; probability distribution function) von Unterbanddaten durch ein verallgemeinertes Gaussian-Modell angenähert werden kann, für das Dk(Rk) bekannt ist. Dieser Ansatz führt zu einer Allokation der Bit-Rate proportional zu dem Logarithmus der Varianz der Unterbanddaten und wird oft bei verschiedenen Wavelet-Bildcodierschemata verwendet. Leider zeigt eine genaue Untersuchung dieses Verfahrens, daß dieses Verfahren nicht hinreichend korrekt ist und nicht zu einer optimalen Bit-Allokation führt. Wenn Bitrate-Allokation einfach proportional dem Logarithmus der Varianz des Unterbandes durchgeführt wird, heißt das, daß, wenn zwei Unterbänder die gleiche Varianz haben, ihre Kurve gleich sein wird. Andererseits wurde, beruhend auf ausführlichen empirischen Analysen beim Entwickeln der Erfindung festgestellt, daß die am besten angepaßte Kurve sich für Unterbänder mit gleicher Varianz unterscheidet.
  • Anstatt des oben genannten Verfahrens nutzt die Erfindung den Vorteil der Beobachtungen, die während der Entwicklung der Erfindung gemacht wurden, nämlich daß (1) der Logarithmus des mittleren quadratischen Fehlers (MSE; mean square error) der Quantisierung eines Unterbandes der entsprechenden Bitrate (die durch die verlustfreie Codierung der Quantisierungsindizes für jedes Unterband bestimmt wurde), durch eine gerade Linie angenähert werden kann, und daß (2) eine solche Bitrate aus der Quantisierungsgröße angenähert werden kann.
  • Mit dem Geradlinien-Modell kann die Störung (Quantisierungsfehler) zur Bitratenkurve für jedes Band ausgedrückt werden als:
    Figure 00120001
    wobei ak und bk Parameter sind, die die Linie oder Gerade in Abhängigkeit des Unterbandes k darstellen. Mit Gleichung (7) wird aus Gleichung (6):
  • Figure 00120002
  • Unter der Beschränkung der Gesamtbitrate Rtotal führt dies zu:
  • Figure 00120003
  • Aus Gleichung (9) folgt:
  • Figure 00120004
  • Aus Gleichung (10) kann die Unterband-Bitrate mit Gleichung (8) abgeleitet werden. Jedoch, da es das Ziel ist, die Quantisierungsgröße anstatt der Bitrate zu finden, muss die Beziehung zwischen der Bitrate und der Quantisierungsgröße bestimmt werden. Es ist beobachtet worden, daß die Beziehung zwischen der Bitrate Rk und der Quantisierungsgröße Qk durch die folgende Gleichung angenähert werden kann:
  • Figure 00120005
  • Aus Gleichung (11) folgt:
    Figure 00130001
    wobei: Maxk, Mink die maximalen und minimalen Koeffizienten des Unterbandes k sind, wobei ck und dk – ähnlich zu ak und bk – Konstanten sind, die von den statistischen Eigenschaften des Unterbandes k abhängig sind und aus einfacher Kurvenanpassung bestimmt werden können.
  • Mit dem oben beschriebenen Modell kann das Bit-Allokationsproblem durch Schätzen von ak, bk, ck und dk für jedes Unterband gelöst werden. Diese Schätzungen können Off-Line durch statistische Berechnung der Bitrate für jedes Unterband über eine große Anzahl von abgetasteten Bildern durchgeführt werden. Dies ist jedoch nicht optimal für ein bestimmtes Bild. Da ak, bk, ck und dk Parameter sind, die eine gerade Linie darstellen, können sie leicht während der Verarbeitung (on the fly) bestimmt werden. Angenommen sei, daß n Punkte in der Kurve Dk(Rk) bekannt sind und auch Dk(Rk) , so daß (Qi, Di, Ri), i = 1, 2, ...n, dann gilt:
  • Figure 00130002
  • Figure 00140001
  • Bei der bevorzugten Ausführungsform wird der Satz von Qi so besetzt, daß er anfängliche Einstellwerte hat, die einen vernünftigen Bereich möglicher Quantisierungswerte abdecken. Di die Störung (Fehler) der Quantisierung wird mit Gleichung (1) berechnet. Die Bitrate, Ri, wird durch Aufrufen der verlustfreien Codierroutine (im Anschluß beschrieben) berechnet. Bei der bevorzugten Ausführungsform wird n empirisch auf 6 eingestellt. Jedoch können andere Werte für n benutzt werden, je nach Bedarf.
  • Mit dem oben genannten Ansatz werden die folgenden Schritte bei der bevorzugten Ausführungsform der Erfindung durchgeführt, um adaptiv die Bit-Allokationen für das Grundband und die Unterbandbilder während der Quantisierungsstufe 2 zu bestimmen:
    • (1) Schätzen von Werten für Parameter, die eine Annäherung zwischen der Quantifizierungsgröße und dem Quantisierungsfehler für jedes Unterband festlegen – d. h. Schätzen von ak, bk, ck, und dk für jedes Unterbandbild k mit Gleichungen (13, (14), (15) und (16). Wiederum sind Maxk und Mink die Maximal- und Minimalkoeffizienten des Unterbandes k, die durch Suchen der Koeffizienten bestimmt werden. Berechnen eines Anfangssatzes für Qi aus:
      Figure 00140002
      wobei Ni = {8, 12, 15, 24, 48, 64} für die ersten 8 Unterbänder und Ni = {8, 10, 14, 18, 36, 50} für die letzten 4 Unterbänder. Ni ist die Gesamtanzahl der Quantisierungspegel für Qi ist. Die Anzahl der Bits pro Index ist in der Nähe von Logarithmus (Ni), wenn keine verlustfreie Codiertechnik verwendet wird. Die Werte von Ni sind empirisch so ausgewählt, daß sie einen möglichen Bereich der Bitraten für jedes Unterband abdecken.
    • (2) Schätzen von Werten für Parameter, die eine Annäherung zwischen der Quantisierungsgröße und dem Quantisierungsfehler für das Grundband festlegen – d. h. Schätzen von ak, bk, ck und dk für das Grundbandbild mit den Gleichungen (13, (14), (15) und (16). Max und Min sind auf 2000 bzw. 0 für das Grundband eingestellt. Max und Min sind feststehende Werte für das Grundbandbild in Gleichung (11), da das Grundbandbild die DPCM-Quantisierung verwendet. Die bevorzugten Werte werden empirisch bestimmt. Qi = {4, 10, 20, 40, 80, 100}. Die Werte für Qi werden empirisch so ausgewählt, daß sie einen vernünftigen Bereich für Qi für das Basisbandbild abdecken.
    • (3) Berechnen der optimalen Bitrate Rk für jedes Basisband- und Unterbandbild aus den Gleichungen (8) und (10).
    • (4) Wenn Rk < 0 ist, zeigt dies, daß die Information im Unterband k zu klein ist, so daß sie verworfen werden kann, wobei das Unterband k gekennzeichnet und von dem Unterband-Pool ausgeschlossen wird, wobei zu Schritt (3) zurückgegangen wird, und die optimalen Bitraten Rk noch einmal berechnet werden.
    • (5) Berechnen von Qk mit Gleichung (12). Das Ergebnis dieses Prozesses ist ein Satz optimaler Quantisierungsgrößenwerte Qk, die in Gleichung (1) verwendet werden können (dort als qi gezeigt).
  • Verlustfreie Entropie-Codierung
  • Beim Stand der Technik werden die Quantisierungsmatrizen lauflängencodiert und dann Huffman-codiert. Die Erfindung lehrt ein effizienteres Verfahren zum codieren, das eine etwa 10%ige Verbesserung gegenüber dem herkömmlichen Ansatz einer Lauflängencodierung und Huffman-Codierung bietet.
  • 5 ist ein Flußdiagramm, das den gemischten verlustfreien Entropie-Codieralgorithmus der Erfindung zeigt. Anfänglich ist in diese Stufe jedes Unterband als eine Quantisierungsmatrix 50 mit einem Satz von Quantisierungsindizes dargestellt. Jede Quantisierungsmatrix 50 wird analysiert, so daß (1) die Position jedes Nicht-Null-Index durch ein besonderes Zeichen oder Token "1" ersetzt wird, und (2) jeder Nicht-Null-Index extrahiert und in einen separaten Strom gesetzt wird. Dies führt zu einer einfachen binären Maskenmatrix 51, die die Position jedes Nicht-Null-Index in jedem Unterband und einen Strom 52 von Nicht-Null-Indizes anzeigt.
  • Normalerweise ist eine solche binäre Maske 51 schwieriger zu komprimieren, als der Nicht-Null-Strom 52, da die binäre Maske 51 tatsächlich die Strukturinformation des ursprünglichen Bildes darstellt. Jedoch wurde während der Entwicklung der Erfindung festgestellt, daß die Daten in jedem Unterband typischerweise sparsam oder gering sind, so daß die Lauflängen von "0" sehr lang sind, aber daß die Lauflängen von "1" normalerweise kurz sind. Anders gesagt, die Entropieeigenschaft der Lauflängen von "0" sind anders als die Entropieeigenschaft der Lauflängen von "1". Somit wurde festgestellt, daß es besser ist, eine Huffman-Codierung der "0"-Lauflängenindizes und der "1"-Lauflängenindizes getrennt durchzuführen.
  • Dementsprechend wird bei der bevorzugten Ausführungsform die binäre Maske 51 mit einer herkömmlichen Lauflängencodierung (einschließlich Codierung der Lauflängen von der "1"-Tokens) durchgeführt, um eine lauflängencodierte Matrix 53 zu erzeugen. Es sei angemerkt, daß, da die binäre Maske 51 nur zweiwertig ist, die Lauflängen von "0" und "1" sich abwechseln. Daher hat die lauflängencodierte Matrix 53 ein Ungerade-Gerade-Muster. Dieses Muster wird in zwei Lauflängenströme 54, 55 analysiert (parsed), wobei ein ungerader Strom 54 der Lauflängenwerte für "0" und ein gerader Strom 55 der Lauflängenwerte für "1" festgelegt werden. (Natürlich kann die Bezeichnung von gerade und ungerade umgekehrt sein.
  • Das Ergebnis dieses Prozesses ist, daß die Quantisierungsmatrix für jedes Unterband in drei Ströme aufgeteilt ist (den Nicht-Null-Strom 52, den "0"-Lauflängenstrom 54 und den "1"-Lauflängenstrom 55), die dann getrennt und in herkömmlicher Art Huffman-codiert werden.
  • Idealerweise wird jedes Unterband dieser Art individuell bearbeitet, da ihre statistischen Eigenschaften unterschiedlich sind. Jedoch würden für 12 Unterbänder 36 Huffman-Ströme erzeugt (weiterhin für Farbbilder hätte jedes Unterband 3 Farbraumkomponenten wie etwa YUV oder RGB). Dies ist nicht sehr effizient hinsichtlich der Geschwindigkeit und Dateigröße aufgrund des zusätzlichen Overheads in dem Dateiformat. Empirisch wurde festgestellt, daß die drei Unterbänder auf jedem Pegel der Wavelet-Wandlung ziemlich ähnliche Entropieeigenschaften haben. Dementsprechend wird bei der bevorzugten Ausführungsform der Erfindung die Quantisierungsmatrizen für jeden Satz von drei Unterbändern zusammen kombiniert auf einer Zeile-Basis, bevor das oben genannte Hybrid-Codierschema angewendet wird. (Andere Kombinationen, wie etwa spaltenweise, können verwendet werden).
  • Bei der bevorzugten Ausführungsform wird eine übliche Lauflängencodierung gefolgt von der Huffman-Codierung für das Grundband angewendet, da die Grundbandreste (baseband residue) nicht sparsam sind und das Anwenden des oben genannten Hybrid-Codieransatzes zu einem geringen oder überhaupt keinem Gewinn bei der Kompression führt. Jedoch, wenn gewünscht, kann der erfindungsgemäße Hybrid-Codieralgorithmus auch für das Grundband verwendet werden.
  • Wichtig ist, daß der Hybrid-Codieralgorithmus in jedem anderen Zusammenhang verwendet werden kann, wo ein beachtlicher Unterschied in der Entropie-Eigenschaft von Lauflängen von "0" im Vergleich mit der Entropie-Eigenschaft von Lauflängen von Nicht-"0"-Elementen besteht (die durch Substitution von "1"-Tokens gewandelt werden können).
  • Bei der bevorzugten Ausführungsform wird eine herkömmliche Lauflängencodierung zuzüglich einem Huffman-Codieransatz bei der verlustfreien Codierroutine zum Codieren des Grundbandes und der Unterbänder, die in der Qantisierungsstufe 2 zum Bestimmen der Bitrate, die mit einer jeweiligen Quantisierungsgröße verbunden sind, verwendet werden, eingesetzt. Dieser Ansatz wurde angesichts der Berechnungsgeschwindigkeit und der Speicherbegrenzungen gewählt. Jedoch ist zu erkennen, daß andere Mittel zum Bestimmen oder Schätzen der Bitrate verwendet werden können, wie etwa der oben beschriebene Hybridansatz.
  • Format eines komprimierten Stroms
  • Bei der bevorzugten Ausführungsform werden jeder Huffman-codierte Strom für das Grundband und die Unterbänder sowie andere allgemeine Bildinformation zusammen in einen einzelnen Bitstrom kombiniert. Bei der bevorzugten Ausführungsform wird der Bitstrom in der folgenden Reihenfolge organisiert, um ein progressives Playback zu erzielen (d. h. die Decodierung des Grundbandabschnitts für den Bitstrom für das komprimierte Bild wird durchgeführt, um als erstes ein "grobkörniges" Bild zu erzeugen, und dann progressiv den Unterbandabschnitt des Bitstroms zu decodieren, um sukzessiv zu überlagern und Auflösung auf das zugrundeliegende Bild hinzuzufügen, bis zur Beendigung):
  • Allgemeine Bildinformation
    • Y Grundband
    • U Grundband
    • V Grundband
    • Y Unterband 1
    • U Unterband 1
    • V Unterband 1
    • Y Unterband 2
    • U Unterband 2
    • V Unterband 2
    • Y Unterband 3
    • U Unterband 3
    • V Unterband 3
    • Y Unterband 4
    • U Unterband 4
    • V Unterband 4
  • Allgemeine Bildinformation
  • Die allgemeine Bildinformation enthält Information bezüglich der Abmessung des Bildes und des Farbraumes und enthält die folgenden Komponenten bei der bevorzugten Ausführungsform:
  • Figure 00190001
  • Grundbandstrom
  • Jeder Grundbandstrom (nämlich einer für jede Farbe) enthält einen Bit-Strom mit den folgenden Komponenten bei der bevorzugten Ausführungsform:
  • Figure 00190002
  • Unterbandstrom
  • Jeder Unterbandstrom enthält einen Bitstrom für jede Farbe der drei Unterbänder entsprechend jedem Pegel der bevorzugten Wavelet-Wandlung und enthält die folgenden Komponenten bei der bevorzugten Ausführungsform:
  • Figure 00200001
  • Decodierung
  • Das Decodieren eines Bitstroms, der mit der Erfindung codiert wurde, ist straightforward und kann wie folgt durchgeführt werden:
    • (1) Decodieren des Huffman-Stroms;
    • (2) Für jedes Unterband neu bilden einer binären Maske durch Verschachteln und Expandieren der "0"-Lauflängenströme und der "1"-Lauflängenströme;
    • (3) Neu bilden der entsprechenden Quantisierungsmatrix aus der binären Maske und dem Nicht-Null-Strom durch sequentielles Ersetzen der Nicht-Null-Werte durch "1"-Tokens (das kann mit Schritt (2) kombiniert werden);
    • (4) Anwenden der entsprechenden Quantisierungsgrößenwerte für jede Quantisierungsmatrix in bekannter Art zum Erzeugen des Grundbandbildes und der Unterbandbilder;
    • (5) Anwenden der umgekehrten Transformation in bekannter Art auf das Grundbandbild und die Unterbandbilder zum Erzeugen einer Annäherung an das Originalbild.
  • Die decodierten Bilder in dem Grundbandpegel und jedem Unterbandpegel aus Schritt (5) können vor dem Decodieren des nächsten Pegels angezeigt werden, wodurch ein progressives Playback ermöglicht wird.
  • Verwirklichung
  • Die Erfindung kann in Hardware oder Software verwirklicht werden oder als Kombination beider. Jedoch wird die Erfindung vorzugsweise in einem oder mehreren Computerprogrammen verwirklicht, die auf einem oder mehreren programmierbaren Computern laufen, die jeweils einen Prozessor, ein Datenspeichersystem (einschließlich flüchtiger und nichtflüchtiger Speicher und/oder Speicherelemente) mit zumindest einer Eingabevorrichtung und zumindest einer Ausgabevorrichtung enthalten. Der Programmcode wird auf Eingabedaten angewendet, um die hier beschriebenen Funktionen durchzuführen und Ausgabeinformation zu erzeugen. Die Ausgabeinformation wird auf ein oder mehrere Ausgabevorrichtungen in bekannter Art angewendet.
  • Jedes Programm wird vorzugsweise in einer Highlevel-Prozedur- oder objektorientierten Programmiersprache implementiert, um mit einem Computersystem zu kommunizieren. Jedoch können die Programme in Assembler oder Maschinensprache implementiert sein, wenn dies gewünscht ist. In jedem Fall kann die Sprache kompaliert oder sprachinterpretiert werden.
  • Jedes solches Computerprogramm wird vorzugsweise auf einem Speichermedium oder einer Vorrichtung (beispielsweise einem ROM oder einer Magnetdiskette) gespeichert, die durch einen Allgemein- oder einen Spezialzweck programmierbaren Computer gelesen werden können, um zum Konfigurieren und zum Betreiben des Computers, wenn das Speichermedium oder die Vorrichtung von dem Computer gelesen ist, um die oben beschriebenen Prozeduren auszuführen. Das Erfindungssystem kann auch so gesehen werden, daß es als ein Computer lesbares Speichermedium implementiert ist, das mit einem Computerprogramm konfiguriert ist, wobei das Speichermedium so ausgestaltet ist, daß es einen Computer veranlaßt, in einer vorgegebenen und bestimmten Art zu arbeiten, um die hier beschriebenen Funktionen durchzuführen.
  • Eine Anzahl von Ausführungsformen der Erfindung wurde beschrieben. Nicht desto trotz ist es zu verstehen, daß verschiedene Modifikationen vorgenommen werden können, ohne vom Geist und Schutzumfang der Erfindung abzuweichen. Beispielsweise, während der Begriff "Matrix" zum Beschreiben einer Bilddatenstruktur verwendet wurde, ist dieser nicht dahingehend zu interpretieren, daß er eine strikte zweidimensionale Datenstruktur meint. Andere Datenstrukturen, die im Stand der Technik bekannt sind, können leicht zum Speichern relevanter Pixel oder Indexinformation verwendet werden. Weiterhin können, obwohl die Huffman-Codierung als bevorzugte Verfahren für den verlustfreien Entropie-Codierschritt beschrieben wurde, andere verlustfreie Entropie-Codieralgorithmen, wie etwa eine arithmetische Codierung, verwendet werden. Darüber hinaus, während Bildkompression diskutiert wurde, können die beschriebenen Algorithmen auf andere Datentypen angewendet werden. Dementsprechend ist zu verstehen, daß die Erfindung nicht durch die spezifische Ausführungsform, die hier beschrieben wurde, begrenzt ist, sondern nur durch den Schutzumfang der beiliegenden Ansprüche.

Claims (9)

  1. Verlustfreies Hybrid-Entropie-Codierverfahren zum Komprimieren von Daten mit einer Matrix (50) mit einer Mehrzahl Null-Indices und Nicht-Null-Indices, wobei das Verfahren die Schritte umfasst: (a) Ersetzen jedes Nicht-Null-Index in der Matrix durch ein eindeutiges Zeichen, wodurch eine analysierte Matrix (51) mit einer Mehrzahl Null-Indices und Zeichenindices gebildet wird; (b) Einfügen jedes Nicht-Null-Index von der Matrix (50) in einen ersten Datenstrom (52); (c) Lauflängencodieren der analysierten Matrix (51) in abwechselnde Lauflängencodes (53) für Nicht-Null-Indices und einmalige Zeichenindices; (d) Anordnen der Lauflängencodes für die Null-Indices in einen zweiten Datenstrom (55), (e) Anordnen der Lauflängencodes für die einzigartigen Zeichenindices in einen dritten Datenstrom (54); und (f) Codieren des ersten (52), zweiten (55) und dritten (54) Datenstroms mit einem verlustfreien Entropie-Codier-Algorithmus.
  2. Verfahren nach Anspruch 1, das in einem programmierbaren Computer mit einem Prozessor, einem Datenspeichersystem und zumindest einer Ausgabevorrichtung implementiert ist, wobei das Verfahren des weiteren die Schritte umfasst: Speichern der Matrix (50) als Daten in dem Datenspeichersystem des programmierten Computers, Erzeugen des ersten, zweiten und dritten Datenstroms als Ausgabeinformation; und Anwenden der Ausgabeinformation auf zumindest eine der Ausgabevorrichtungen.
  3. Verfahren nach Anspruch 1 oder 2, bei dem das einzigartige Zeichen "1" ist.
  4. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem der verlustfreie Entropie-Codier-Algorithmus eine Huffman-Codierung ist.
  5. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem der verlustfreie Entropie-Codier-Algorithmus eine arithmetische Codierung ist.
  6. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem die Matrix (50) Quantisierungsindices umfasst, die aus einem Bild durch eine verlustbehaftete Datenkompression und ein Quantisierungssystem abgeleitet wurden.
  7. Verfahren zum Komprimieren von Bilddaten mit den Schritten: (a) Speichern eines Bildes in einem Computer als Bilddaten; (b) Anwenden eines Umwandlungs-Algorithmus (1) zum Entkorrelieren der Bilddaten in ein Basisband (LL3) und mehrere Unterbänder, (c) Erzeugen (2) von Quantifizierungskoeffizienten durch die Schritte: (1) adaptives Schätzen von Werten für Parameter, die eine Annäherung zwischen der Quantisierungsgröße und dem Logarithmus des Quantisierungsfehlers für jedes Band festlegen; (2) rekursives Berechnen einer optimalen Quantisierungsgröße für sowohl das Basisband als auch jedes der mehreren Unterbänder, um eine gewünschte Bitrate zu erzielen; (d) Anwenden der Quantifizierungskoeffizienten auf das Basisband (LL3) und die mehreren Unterbänder zum Erzeugen entsprechender Quantisierungsmatrizen (50), die jeweils eine Mehrzahl von Null-Indices und Nicht-Null-Indices enthalten; (e) Anwenden eines verlustfreien Entropie-Codierverfahrens, wie es in Anspruch 1 definiert ist, um verlustfrei jede Quantisierungsmatrix zu komprimieren.
  8. Verfahren zum Komprimieren von Bilddaten mit den Schritten: (a) Speichern eines Bildes in einem Computer als Bilddaten; (b) Anwenden eines Umwandlungs-Algorithmus (1) zum Entkorrelieren der Bilddaten in ein Basisband (LL3) und mehrere Unterbänder, (c) Erzeugen (2) von Quantisierungskoeffizienten durch die Schritte: (1) Abschätzen von Werten für Parameter, die eine Annäherung zwischen einer Quantisierungsgröße und dem Logarithmus des Quantisierungsfehlers für jedes Unterband festlegen; (2) Abschätzen von Werten für Parameter, die eine Annäherung zwischen einer Quantisierungsgröße und dem Logarithmus des Quantisierungsfehlers für das Basisband festlegen; (3) Berechnen einer optimalen Bitrate Rk für sowohl das Basisband als auch die Unterbänder; (4) Markieren jedes Unterbandes k und Ausschließen dieses Unterbandes von den Unterbändern, wenn Rk < 0 für jedes Unterband k ist, und dann Rücksprung zu Schritt (3); (5) Berechnen einer Quantisierungsgröße Qk sowohl für das Basisband als auch jedes Unterbandes aus:
    Figure 00260001
    (d) Anwenden jeder Quantisierungsgröße Qk auf das entsprechende Basisband oder das entsprechende der mehreren Unterbänder zum Erzeugen entsprechender Quantisierungsmatrizen, die jeweils eine Mehrzahl von Null-Indices und Nicht-Null-Indices enthalten; (e) Anwenden des verlustfreien Hybrid-Entropie-Codierverfahrens, wie es in Anspruch 1 festgelegt ist, um verlustfrei jede Quantisierungsmatrix zu komprimieren.
  9. Computerprogrammprodukt mit einem computerlesbaren Datenträger mit darauf gespeichertem Computerprogrammcode, der ausgestaltet ist, um, wenn das Programm in einen Computer geladen ist und auf diesem läuft, den Computer dazu zu bringen, das Verfahren nach einem der Ansprüche 1, 3, 4, 5, 6, 7 und 8 auszuführen.
DE69722601T 1996-03-19 1997-03-19 Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes Expired - Lifetime DE69722601T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/618,368 US5682152A (en) 1996-03-19 1996-03-19 Data compression using adaptive bit allocation and hybrid lossless entropy encoding
US618368 1996-03-19
PCT/US1997/004279 WO1997035427A1 (en) 1996-03-19 1997-03-19 Data compression using adaptive bit allocation and hybrid lossless entropy encoding

Publications (2)

Publication Number Publication Date
DE69722601D1 DE69722601D1 (de) 2003-07-10
DE69722601T2 true DE69722601T2 (de) 2004-05-13

Family

ID=24477417

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69722601T Expired - Lifetime DE69722601T2 (de) 1996-03-19 1997-03-19 Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes

Country Status (10)

Country Link
US (2) US5682152A (de)
EP (2) EP0888689B1 (de)
JP (1) JP3271985B2 (de)
AT (1) ATE242577T1 (de)
AU (1) AU719715B2 (de)
BR (1) BR9708130A (de)
CA (1) CA2249259C (de)
DE (1) DE69722601T2 (de)
HU (1) HUP9700604A3 (de)
WO (1) WO1997035427A1 (de)

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748116A (en) * 1996-11-27 1998-05-05 Teralogic, Incorporated System and method for nested split coding of sparse data sets
US6529551B1 (en) * 1996-12-10 2003-03-04 Thomson Licensing S.A. Data efficient quantization table for a digital video signal processor
US7003168B1 (en) 1997-03-11 2006-02-21 Vianet Technologies, Inc. Image compression and decompression based on an integer wavelet transform using a lifting scheme and a correction method
WO1999017257A2 (en) * 1997-09-29 1999-04-08 Conexant Systems, Inc. System and method for compressing images using multi-threshold wavelet coding
US6038346A (en) * 1998-01-29 2000-03-14 Seiko Espoo Corporation Runs of adaptive pixel patterns (RAPP) for lossless image compression
US6249614B1 (en) * 1998-03-06 2001-06-19 Alaris, Inc. Video compression and decompression using dynamic quantization and/or encoding
US6121904A (en) * 1998-03-12 2000-09-19 Liquid Audio, Inc. Lossless data compression with low complexity
US6043763A (en) * 1998-03-12 2000-03-28 Liquid Audio, Inc. Lossless data compression with low complexity
US6298166B1 (en) 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
US6124811A (en) * 1998-07-02 2000-09-26 Intel Corporation Real time algorithms and architectures for coding images compressed by DWT-based techniques
US6763139B1 (en) * 1998-07-03 2004-07-13 Canon Kabushiki Kaisha Image coding method and apparatus for localized decoding at multiple resolutions
US6094631A (en) * 1998-07-09 2000-07-25 Winbond Electronics Corp. Method of signal compression
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
US6195026B1 (en) * 1998-09-14 2001-02-27 Intel Corporation MMX optimized data packing methodology for zero run length and variable length entropy encoding
US6697525B1 (en) 1998-10-02 2004-02-24 Parthusceva Ltd. System method and apparatus for performing a transform on a digital image
US6633679B1 (en) * 1999-03-23 2003-10-14 Teletechnologies, Ltd. Visually lossless still image compression for CMYK, CMY and Postscript formats
WO2000069100A1 (en) * 1999-05-06 2000-11-16 Massachusetts Institute Of Technology In-band on-channel system and method for bit-rate reduction of the digital signal by utilising properties of the analog signal
US7372485B1 (en) * 1999-06-08 2008-05-13 Lightsurf Technologies, Inc. Digital camera device and methodology for distributed processing and wireless transmission of digital images
US8212893B2 (en) 1999-06-08 2012-07-03 Verisign, Inc. Digital camera device and methodology for distributed processing and wireless transmission of digital images
US7369161B2 (en) * 1999-06-08 2008-05-06 Lightsurf Technologies, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
US6351491B1 (en) * 1999-06-23 2002-02-26 Sarnoff Corporation Apparatus and method for optimizing the rate control for multiscale entropy encoding
US6704454B1 (en) * 1999-07-23 2004-03-09 Sarnoff Corporation Method and apparatus for image processing by generating probability distribution of images
US7111094B1 (en) 1999-08-02 2006-09-19 Shin-Ping Liu System, method and algorithm for the optimization of entropy for lossless compression
US6469688B1 (en) * 1999-08-02 2002-10-22 Hewlett-Packard Company Extensible, interactive bitmaps in a graphical user interface
US6318156B1 (en) * 1999-10-28 2001-11-20 Micro Motion, Inc. Multiphase flow measurement system
US7103357B2 (en) * 1999-11-05 2006-09-05 Lightsurf Technologies, Inc. Media spooler system and methodology providing efficient transmission of media content from wireless devices
US7847833B2 (en) * 2001-02-07 2010-12-07 Verisign, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US6584228B1 (en) * 2000-04-28 2003-06-24 Avxing International Ltd. Cayman Image coding embedded in matrix operation
US6868186B1 (en) 2000-07-13 2005-03-15 Ceva D.S.P. Ltd. Visual lossless image compression
US6748116B1 (en) 2000-08-22 2004-06-08 Airzip, Inc. Apparatus and method for compressing and decompressing image files
US7305354B2 (en) 2001-03-20 2007-12-04 Lightsurf,Technologies, Inc. Media asset management system
JP2002314999A (ja) * 2001-04-12 2002-10-25 Nikon Corp 画像圧縮装置、画像圧縮プログラムおよび電子カメラ
JP4681757B2 (ja) * 2001-05-16 2011-05-11 株式会社リコー 画像処理装置及び画像処理方法
US20040107360A1 (en) * 2002-12-02 2004-06-03 Zone Labs, Inc. System and Methodology for Policy Enforcement
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US8200818B2 (en) * 2001-07-06 2012-06-12 Check Point Software Technologies, Inc. System providing internet access management with router-based policy enforcement
GB0119569D0 (en) * 2001-08-13 2001-10-03 Radioscape Ltd Data hiding in digital audio broadcasting (DAB)
US20070124292A1 (en) * 2001-10-30 2007-05-31 Evan Kirshenbaum Autobiographical and other data collection system
JP2003141020A (ja) * 2001-10-31 2003-05-16 Toshiba Tec Corp 情報保管出力システム及び情報保管出力サービス
WO2003041055A1 (en) * 2001-11-02 2003-05-15 The Regents Of The University Of California End-to-end distortion estimation for streaming of pre-compressed video
FR2832271A1 (fr) * 2001-11-13 2003-05-16 Koninkl Philips Electronics Nv Tuner comprenant un convertisseur de tension
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US6934677B2 (en) 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US7724281B2 (en) 2002-02-04 2010-05-25 Syniverse Icx Corporation Device facilitating efficient transfer of digital content from media capture device
US20030161406A1 (en) * 2002-02-26 2003-08-28 Chulhee Lee Methods for objective measurement of video quality
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US7051040B2 (en) 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
ES2297083T3 (es) * 2002-09-04 2008-05-01 Microsoft Corporation Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel.
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7299190B2 (en) * 2002-09-04 2007-11-20 Microsoft Corporation Quantization and inverse quantization for audio
JP4676140B2 (ja) * 2002-09-04 2011-04-27 マイクロソフト コーポレーション オーディオの量子化および逆量子化
US6850943B2 (en) * 2002-10-18 2005-02-01 Check Point Software Technologies, Inc. Security system and methodology for providing indirect access control
US7903892B2 (en) * 2002-10-29 2011-03-08 Ati Technologies Ulc Image analysis for image compression suitability and real-time selection
US8111928B2 (en) * 2003-02-13 2012-02-07 Ati Technologies Ulc Method and apparatus for compression of multi-sampled anti-aliasing color data
US7643679B2 (en) 2003-02-13 2010-01-05 Ati Technologies Ulc Method and apparatus for block based image compression with multiple non-uniform block encodings
US7764833B2 (en) 2003-02-13 2010-07-27 Ati Technologies Ulc Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
US7788726B2 (en) * 2003-07-02 2010-08-31 Check Point Software Technologies, Inc. System and methodology providing information lockbox
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
KR100547853B1 (ko) * 2003-07-28 2006-01-31 삼성전자주식회사 블록별 에너지를 기초로 정지 영상을 적응적으로 부호화할수 있는 이산 웨이블렛 변환 장치 및 방법
EP1503594A3 (de) * 2003-07-28 2012-02-15 Samsung Electronics Co., Ltd. Diskrete Wavelet Transformationseinrichtung und Methode zur adaptiven Kodierung von Standbildern basierend auf der Energie eines jeden Blocks
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7092832B2 (en) * 2003-12-11 2006-08-15 Inlight Solutions, Inc. Adaptive compensation for measurement distortions in spectroscopy
US7460990B2 (en) 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7653255B2 (en) 2004-06-02 2010-01-26 Adobe Systems Incorporated Image region of interest encoding
US8136149B2 (en) * 2004-06-07 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology providing verified secured individual end points
CN101032081B (zh) * 2004-07-14 2010-05-26 喷流数据有限公司 用于数据压缩优化的方法和系统
WO2006005182A1 (en) 2004-07-14 2006-01-19 Slipstream Data Inc. Method, system and computer program product for optimization of data compression
US7570827B2 (en) 2004-07-14 2009-08-04 Slipstream Data Inc. Method, system and computer program product for optimization of data compression with cost function
US7627896B2 (en) * 2004-12-24 2009-12-01 Check Point Software Technologies, Inc. Security system providing methodology for cooperative enforcement of security policies during SSL sessions
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) * 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
EP1995974B1 (de) * 2005-12-05 2015-05-20 Huawei Technologies Co., Ltd. Methode für die durchführung der arithmetischen kodierung
US8190425B2 (en) * 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
US7953604B2 (en) * 2006-01-20 2011-05-31 Microsoft Corporation Shape and scale parameters for extended-band frequency coding
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
JP4424522B2 (ja) * 2006-07-13 2010-03-03 日本電気株式会社 符号化及び復号化装置ならびに符号化方法及び復号方法
JP4862894B2 (ja) * 2006-11-28 2012-01-25 日本電気株式会社 符号化装置と方法及びプロセッサ
US8208554B2 (en) 2006-12-07 2012-06-26 Qualcomm Incorporated Line-based video compression
US7899247B2 (en) * 2007-01-24 2011-03-01 Samsung Electronics Co., Ltd. Apparatus and method of segmenting an image according to a cost function and/or feature vector and/or receiving a signal representing the segmented image in an image coding and/or decoding system
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
EP2081155B1 (de) * 2008-01-21 2011-11-16 Telefonaktiebolaget LM Ericsson (publ) Auf einer Vorhersage basierte Bildverarbeitung
US8108401B2 (en) * 2008-03-28 2012-01-31 International Business Machines Corporation Applying various hash methods used in conjunction with a query with a group by clause
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US7827187B2 (en) * 2008-04-04 2010-11-02 International Business Machines Corporation Frequency partitioning: entropy compression with fixed size fields
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8108361B2 (en) * 2008-07-31 2012-01-31 Microsoft Corporation Efficient column based data encoding for large-scale data storage
US8099440B2 (en) * 2008-08-15 2012-01-17 International Business Machines Corporation Method for laying out fields in a database in a hybrid of row-wise and column-wise ordering
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8370326B2 (en) 2009-03-24 2013-02-05 International Business Machines Corporation System and method for parallel computation of frequency histograms on joined tables
JP5158000B2 (ja) * 2009-04-07 2013-03-06 ソニー株式会社 情報処理装置および方法
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange
US20110191587A1 (en) * 2010-02-02 2011-08-04 Futurewei Technologies, Inc. Media Processing Devices With Joint Encryption-Compression, Joint Decryption-Decompression, And Methods Thereof
US8442988B2 (en) 2010-11-04 2013-05-14 International Business Machines Corporation Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data
CN103096052B (zh) * 2011-11-04 2015-11-25 华为技术有限公司 一种图像编码、解码的方法和装置
US9020290B2 (en) 2013-01-30 2015-04-28 Microsoft Technology Licensing, Llc Reduce extrapolate
US9466090B2 (en) 2013-06-20 2016-10-11 Intel Corporation Subset based compression and decompression of graphics data
US10084477B2 (en) 2015-02-17 2018-09-25 Parstream Gmbh Method and apparatus for adaptive data compression
US9635389B1 (en) * 2015-11-30 2017-04-25 Amazon Technologies, Inc. Binary mask compression
US10387991B2 (en) 2016-07-01 2019-08-20 Intel Corporation Method and apparatus for frame buffer compression
US10560261B1 (en) * 2018-05-24 2020-02-11 DeepTruth, LLC Systems and techniques for capture of trusted media data
GB2577521B (en) 2018-09-27 2022-05-18 Displaylink Uk Ltd A method of controlling encoding of display data
US10687062B1 (en) 2019-02-22 2020-06-16 Google Llc Compression across multiple images
CN109981110B (zh) * 2019-03-05 2023-03-24 哈尔滨工业大学(深圳) 带有逐点相对误差界限的有损压缩的方法
CN112511824B (zh) * 2020-11-27 2022-12-02 苏州浪潮智能科技有限公司 一种图像压缩采样方法及组件
WO2023168712A1 (zh) * 2022-03-11 2023-09-14 Oppo广东移动通信有限公司 零游程值编解码方法及视频编解码方法、装置和系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2389277A1 (fr) * 1977-04-29 1978-11-24 Ibm France Procede de quantification a allocation dynamique du taux de bits disponible, et dispositif de mise en oeuvre dudit procede
DE3267481D1 (en) * 1982-02-09 1986-01-02 Ibm Method for multi-speed digital transmission and apparatus for carrying out said method
US4546342A (en) * 1983-12-14 1985-10-08 Digital Recording Research Limited Partnership Data compression method and apparatus
US4965830A (en) * 1989-01-17 1990-10-23 Unisys Corp. Apparatus for estimating distortion resulting from compressing digital data
CA2014935C (en) * 1989-05-04 1996-02-06 James D. Johnston Perceptually-adapted image coding system
US5101446A (en) * 1990-05-31 1992-03-31 Aware, Inc. Method and apparatus for coding an image
US5146324A (en) * 1990-07-31 1992-09-08 Ampex Corporation Data compression using a feedforward quantization estimator
JPH04127747A (ja) * 1990-09-19 1992-04-28 Toshiba Corp 可変レート符号化方式
EP0493130B1 (de) * 1990-12-28 1997-06-11 Canon Kabushiki Kaisha Bildcodierungsgerät mit Optimierung der erzeugten Codemenge
DE69226095T2 (de) * 1991-01-17 1999-03-11 Sharp Kk Bildkodier- und Dekodiersystem unter Verwendung einer Orthogonaltransformation und Bitzuordnungsverfahren
US5276525A (en) * 1991-03-22 1994-01-04 Bell Communications Research, Inc. Two-dimensional block scanning for subband image and video coding
US5157488A (en) * 1991-05-17 1992-10-20 International Business Machines Corporation Adaptive quantization within the jpeg sequential mode
CA2088082C (en) * 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
JPH0638198A (ja) * 1992-05-19 1994-02-10 Sony Corp 画像信号伝送装置及び画像信号伝送方法
FR2697706B1 (fr) * 1992-11-03 1994-11-25 Thomson Csf Procédé et dispositif de réduction de débit pour l'enregistrement d'images sur magnétoscope.
JP3123286B2 (ja) * 1993-02-18 2001-01-09 ソニー株式会社 ディジタル信号処理装置又は方法、及び記録媒体
US5429636A (en) * 1993-10-08 1995-07-04 United States Surgical Corporation Conductive body tissue penetrating device
JP2682402B2 (ja) * 1993-10-28 1997-11-26 日本電気株式会社 データ処理装置
KR960003628B1 (ko) * 1993-12-06 1996-03-20 Lg전자주식회사 디지탈신호의 부호화/복호화 방법 및 장치
US5651078A (en) * 1994-07-18 1997-07-22 Thomson Consumer Electronics, Inc. Method and apparatus for reducing contouring in video compression
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
US5692177A (en) * 1994-10-26 1997-11-25 Microsoft Corporation Method and system for data set storage by iteratively searching for perfect hashing functions

Also Published As

Publication number Publication date
WO1997035427A1 (en) 1997-09-25
CA2249259A1 (en) 1997-09-25
AU719715B2 (en) 2000-05-18
EP1005231A1 (de) 2000-05-31
HUP9700604A3 (en) 1998-04-28
HUP9700604A2 (en) 1997-11-28
US6049630A (en) 2000-04-11
BR9708130A (pt) 1999-07-27
DE69722601D1 (de) 2003-07-10
EP0888689B1 (de) 2003-06-04
ATE242577T1 (de) 2003-06-15
AU2216197A (en) 1997-10-10
EP0888689A1 (de) 1999-01-07
JP3271985B2 (ja) 2002-04-08
EP0888689A4 (de) 1999-12-08
US5682152A (en) 1997-10-28
CA2249259C (en) 2002-01-01
HU9700604D0 (en) 1997-05-28
JP2001501783A (ja) 2001-02-06

Similar Documents

Publication Publication Date Title
DE69722601T2 (de) Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE602004002525T2 (de) Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes
DE19626615C2 (de) Verfahren und Apparat zur Kompression, das bzw. der reversible Wavelet-Transformationen und einen eingebetteten Kodestrom verwendet
DE19626600C2 (de) Kodierer und Verfahren zum Kodieren
DE19861377B4 (de) Ein verbessertes Kompressions- und Dekompressionssystem mit reversiblen Wavelets und verlustbehafteter Rekonstruktion
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
DE69835528T2 (de) Eingebetteter dct-basierte standbildkodierungsalgorithmus
DE69829700T2 (de) Bildkompression mit Diskreter-Wavelet-Transformation DWT
DE69628935T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteuerung in einem codierungssystem
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
DE69813635T2 (de) Quantisierungsmatrix für die Decodierung von Stand- und Bewegtbildern
DE19534730B4 (de) Verfahren zum Codieren und Decodieren von Daten
DE112011104625T5 (de) Verfahren zum Codieren von Videos unter Verwendung von Wörterbüchern
DE60222728T2 (de) Verfahren und System mit verbesserter Kodierungseffektivität eines Bildkodierer-Dekodierers
DE602004001993T2 (de) Transformations basiertes restbewegungsrahmen kodierungsverfahren mit übervollständiger basis und zugehörige vorrichtung zur videokompression
DE4241131A1 (en) Signal encoder selecting suitable signal transformation - selects output from parallel connected transformation unit having greatest measured energy and encodes
DE69915843T2 (de) Teilbandkodierung/-dekodierung
EP3624456A1 (de) Verfahren zur kompression und dekompression von bilddaten
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE19819405B4 (de) Implementation eines reversiblen eingebetteten Wavelet-Systems
DE69916749T2 (de) Einbettung eines Wasserzeichens in ein komprimiertes Bildsignal
DE60015755T2 (de) Verlustfreie adaptive codierung von daten eines endlichen alphabets
DE19903605B4 (de) Verfahren zum Neuanordnen von Signalverlaufspacket-Koeffizienten
WO1998034406A1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition