DE602004002525T2 - Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes - Google Patents

Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes Download PDF

Info

Publication number
DE602004002525T2
DE602004002525T2 DE602004002525T DE602004002525T DE602004002525T2 DE 602004002525 T2 DE602004002525 T2 DE 602004002525T2 DE 602004002525 T DE602004002525 T DE 602004002525T DE 602004002525 T DE602004002525 T DE 602004002525T DE 602004002525 T2 DE602004002525 T2 DE 602004002525T2
Authority
DE
Germany
Prior art keywords
code block
minimum
jpeg2000
compressed
rate
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.)
Active
Application number
DE602004002525T
Other languages
English (en)
Other versions
DE602004002525D1 (de
Inventor
Rajan L. c/o Eastman Kodak Company Joshi
Majid c/o Eastman Kodak Company Rabbani
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.)
Eastman Kodak Co
Original Assignee
Eastman Kodak Co
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 Eastman Kodak Co filed Critical Eastman Kodak Co
Publication of DE602004002525D1 publication Critical patent/DE602004002525D1/de
Application granted granted Critical
Publication of DE602004002525T2 publication Critical patent/DE602004002525T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/162User input
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/187Methods 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 scalable video layer
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/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

  • Die vorliegende Erfindung betrifft den Bereich der Bildkomprimierung und insbesondere das Umcodieren eines nach JPEG2000 komprimierten Bildes.
  • Im Dezember 2000 ratifizierte die International Standards Organization (ISO) einen neuen Bildkomprimierungsstandard, der unter der Bezeichnung JPEG2000 bekannt ist, wie in "Information Technology – JPEG2000 Image Coding System, ISO/IEC International Standard 15444-1, ITU Recommendation T.800" beschrieben. Der JPEG2000-Standard beruht auf dem EBCOT-Algorithmus, wie von Taubman (David Taubman, „High performance scalable compression with EBCOT", IEEE Transactions on Image Processing, 9(7), Seite 1158–1170, Juli 2000) beschrieben. Der JPEG2000-Standard stellt eine Paradigmenverschiebung zum alten JPEG-Standard dar. Angesichts der starken Verbreitung von derartigen Geräten, wie PDAs und Mobiltelefonen, wird angenommen, dass ein nach JPEG2000 komprimiertes Bild mit hoher Auflösung, das auf einem Bildserver abgelegt wird, für eine Vielzahl von Kunden mit unterschiedlichen Anforderungen an Auflösung und Bildqualität zugreifbar ist. Eine der wichtigsten Eigenschaften des JPEG2000-Standards ist die Möglichkeit, einen JPEG2000-Bitstrom zu parsen, um ein Bild mit niedrigerer Auflösung und/oder Qualität zu extrahieren, ohne eine Dequantisierung und Requantisierung durchführen zu müssen. In einigen Fällen kann sogar arithmetisches Decodieren entfallen.
  • Das Umcodieren betrifft die Umwandlung eines nach JPEG2000 komprimierten Bildes in ein anderes nach JPEG2000 komprimiertes Bild bei niedrigerer Bitrate und/oder Auflösung. Derzeit stellt die kommerziell verfügbare und von David Taubman entwickelte „Kakadu software" (http://www.kakadusoftware.com) rudimentäre Umcodierungsfunktionen zur Verfügung. Der JPEG2000-Bitstrom lässt sich so konfigurieren, dass er mehrere Qualitätsschichten aufweist, wobei jede zusätzliche Schicht die Qualität des komprimierten Bildes verbessert. Die Leistung des Umcodierers in Kakadu ist bescheiden, wenn er eingesetzt wird, um einen vorhandenen JPEG2000-Bitstrom auf eine Rate umzucodieren, die sehr weit von der nächstgelegenen Bitraten-Schichtgrenze entfernt ist. In der US-Parallelanmeldung mit der Seriennummer 10/108,151 und dem Titel "Producing and Encoding Rate-distortion Information Allowing Optimal Transcoding of Compressed Digital Image", eingereicht am 3. März 2002, beschreiben Joshi und Deever ein Verfahren zur Durchführung einer optimalen Umcodierung, wobei deren Verfahren allerdings voraussetzt, dass der JPEG2000-Codierer, der erst komprimierte JPEG2000-Bild erzeugt, Bitraten-Entzerrungsinformationen mitspeichert, um die Umcodierung zu ermöglichen.
  • EP-A-1 274 247 (Ricoh KK), veröffentlicht am 8. Januar 2003, beschreibt ein System mit einem Server und einem Client. Der Server speichert einen komprimierten Codestrom, der den Bilddaten entspricht. Der Client ist an den Server über eine Netzwerkumgebung gekoppelt. Der Client umfasst einen Speicher mit einer Anwendung und einer darin gespeicherten Datenstruktur. Die Datenstruktur identifiziert Positionen von Paketen des komprimierten Codestroms auf dem Server und identifiziert Daten des komprimierten Codestroms, die bereits am Client gepuffert werden. Der Client fordert Bytes des komprimierten Codestroms vom Server an, die nicht bereits im Speicher abgelegt sind, und erzeugt von einem Benutzer angeforderte decodierte Bilddaten aus den Bytes des vom Server angeforderten komprimierten Codestream und einem Teil des zuvor im Speicher abgelegten komprimierten Codestroms, um die Bilddaten zu erzeugen.
  • US 2003/113027 A1 (Chan et al.), veröffentlicht am 19. Juni 2003, beschreibt ein Verfahren zur Rekonstruktion eines Bildes, bei dem die Eingabebilddaten vorzugsweise nach Teil I oder Teil II des JPEG2000-Standards codierte Daten oder Pixeldaten des Originalbildes sind. Das Verfahren wählt eine Ausgabeauflösung und ermittelt dann eine Zahl von Unterdurchgängen, um aus jedem Block Daten anhand der gewählten Auflösung zu extrahieren. Das Verfahren kann dann die ermittelten Unterdurchgänge extrahieren, während die verbleibenden Unterdurchgänge ignoriert werden. Das Verfahren rekonstruiert das Bild aus den extrahierten Unterdurchgängen. Das rekonstruierte Bild kann die Form der gewählten Auflösung des Originalbildes annehmen, oder es kann die Form von komprimierten Bilddaten der gewählten Auflösung des Originalbildes annehmen.
  • In der Praxis kann es notwendig sein, ein nach JPEG2000 komprimiertes Bild umzucodieren, für das keine Ratenverzerrungsinformationen gespeichert worden sind. In diesen Fällen ist es wünschenswert, dass die Qualität des auf eine niedrigere Bitrate umcodierten Bildes so weit wie möglich der Qualität des direkt auf eine niedrigere Bitrate komprimierten JPEG2000-Bildes entspricht.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Umcodieren eines JPEG2000-komprimierten Bitstroms auf eine niedrigere Bitrate oder eine niedrigere Auflösung oder beides bereitzustellen.
  • Die vorliegende Erfindung löst eines oder mehrere der vorstehend genannten Probleme. Zusammenfassend gesagt, betrifft ein Aspekt der vorliegenden Erfindung ein Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes, das aus einer Sammlung von Unterbändern besteht, die in einem Codierdurchgang oder in mehreren Codierdurchgängen codiert worden sind, zu einem komprimierten Bitstrom aus quantisierten Unterbandkoeffizienten, welche in Codeblöcke jedes Unterbandes partitioniert und zu Schichten zusammengefasst sind. Insbesondere umfasst das Verfahren folgende Schritte:
    • a) Durchlaufen des nach JPEG2000 komprimierten Bildes zwecks Extraktion von Headerinformationen und Paketen;
    • b) Berechnen der Anzahl von Bytes, die jeder Schicht bei einer benutzerseitig gewünschten Auflösung zugeordnet sind, um eine Schichten-Byte-Zähltabelle zu erstellen;
    • c) Bestimmen der Anzahl von Schichten des nach JPEG2000 komprimierten Bildes, die bis zu der benutzerseitig gewünschten Auflösung decodiert werden sollen, um auf eine benutzerseitig gewünschte Bitrate umcodiert zu werden;
    • d) Extrahieren von Paketen, die den bis zu den benutzerseitig gewünschten Auflösungen angehören, aus zu decodierenden Schichten, wie in Schritt c) ermittelt, wodurch komprimierte Daten extrahiert werden, die jedem Codeblock entsprechen, der den Paketen angehörte;
    • e) Verketten der jedem Codeblock entsprechenden komprimierten Daten, wie in Schritt d) extrahiert, um einen komprimierten Codeblock-Bitstrom für jeden Codeblock zu erzeugen;
    • f) arithmetisches Decodieren des komprimierten Codeblock-Bitstroms, der jedem Codeblock entspricht, um eine Codierungsdurchgangslängentabelle zu erstellen, die eine Schätzung der Länge der komprimierten Daten enthält, die jedem decodierten Codierungsdurchgang entsprechen;
    • g) Bereitstellen einer Raten-Kontroll-Funktion, die die gewünschte Bitrate aus Schritt c) und die in Schritt f) erstellten Codierungsdurchgangslängentabellen verwendet, um Codierungs-Durchgangs-Inklusionsinformationen zu erzeugen, die die Codierungsdurchgänge darstellen, die in den umcodierten Bitstrom für jeden Codeblock einbezogen werden sollen; und
    • h) Erzeugen eines umcodierten JPEG2000-Bitstroms aus den in Schritt e) erzeugten komprimierten Codeblock-Bitströmen, aus den in Schritt a) extrahierten Headerinformationen und aus den in Schritt g) erzeugten Codierungs-Durchgangs-Inklusionsinformationen; wobei das Verfahren weiter gekennzeichnet ist durch den Schritt g) der Bereitstellung einer Raten-Kontroll-Funktion, die folgendes umfasst: Initialisieren der maximalen und minimalen Bitraten und der maximalen und minimalen Bruchteile; Testen, um zu ermitteln, ob eine Differenz zwischen den maximalen und minimalen Bruchteilen einen vorbestimmten Schwellenwert überschreitet; Wenn diese Differenz diesen Schwellenwert überschreitet, Zurücksetzen entweder der (1) minimalen Bitrate und des minimalen Bruchteils oder (2) der maximalen Bitrate und des maximalen Bruchteils; Iterieren des Testens und Zurücksetzens, bis die Differenz kleiner oder gleich dem Schwellenwert ist; Ausgeben der Codierungs-Durchgangs-Inklusionsinformationen, worin für jeden Codeblock die Anzahl von Codierungsdurchgängen gleich dem Produkt des minimalen Bruchteils und einer Anzahl von Codierungsdurchgängen des jeweiligen Codeblocks ist, der der höchsten zu decodierenden Schicht angehört.
  • Nach einem weiteren Aspekt der vorliegenden Erfindung wird eine Raten-Kontroll-Funktion bereitgestellt, die die gewünschte Bitrate aus Schritt c) und die in Schritt f) erstellten Codierungsdurchgangslängentabellen verwendet, um Codierungsdurchgangs-Inklusionsinformationen zu erzeugen, die die Codierungsdurchgänge darstellen, die in den umcodierten Bitstrom für jeden Codeblock einbezogen werden sollen. Anschließend wird ein umcodierter JPEG2000-Bitstrom aus den in Schritt e) erzeugten komprimierten Codeblock-Bitströmen, aus den in Schritt a) extrahierten Headerinformationen und aus den zuvor erzeugten Codierungs-Durchgangs-Inklusionsinformationen erzeugt. Nach diesem Aspekt der Erfindung ist die Entscheidung, ob ein Codierungsdurchgang in den umcodierten Bitstrom aufzunehmen ist, unabhängig von der Verzerrung, und somit ist es nicht notwendig, eine operative Ratenverzerrungstabelle zu erstellen.
  • Die vorliegende Erfindung stellt ein Verfahren zur Umcodierung eines nach JPEG2000 codierten Bildes in eine niedrigere Bitrate oder niedrigere Auflösung oder beides bereit. Dieses Verfahren hat den Vorteil, dass es nicht notwendig ist, das erste JPEG2000-Bild zu dekomprimieren und dann erneut mit einer niedrigeren Bitrate und/oder Auflösung zu rekomprimieren. Die arithmetische Decodierung braucht nur zur nächst höheren Bitratenschicht bis zur gewünschten Auflösung durchgeführt zu werden, bevor die Optimierung der Ratenverzerrung durchgeführt wird, um ein umcodiertes Bild zu erhalten.
  • Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass die Qualität des umcodierten Bildes sehr dicht an der Qualität des Bildes liegt, das durch direkte JPEG2000-Komprimierung auf die niedrigere Bitrate und/oder Auflösung erzeugt wird.
  • Die Erfindung wird im Folgenden anhand in der Zeichnung dargestellter Ausführungsbeispiele näher erläutert.
  • Es zeigen:
  • 1 ein vereinfachtes Blockdiagramm eines JPEG2000-Codierers und -Decodierers.
  • 2 eine dreistufige, zweidimensionale, diskrete Wavelet-Transformation.
  • 3 einen einheitlichen Totzonenquantisierer mit einer Schrittgröße Δ.
  • 4 eine Bezirkspartition für eine dreistufige Zerlegung eines 768 × 512 Bildes.
  • 5 ein Ablaufdiagramm des erfindungsgemäßen Umcodierers.
  • 6 ein Beispiel einer Schichten-Byte-Zähltabelle.
  • 7 ein alternatives Ausführungsbeispiel der vorliegenden Erfindung.
  • 8 zeigt ein Ablaufdiagramm der Ratensteuerungseinheit.
  • Die vorliegende Erfindung betrifft den Bereich der Komprimierung eines Digitalbildes. Obwohl andere Techniken bekannt sind, wird die Erfindung unter Bezug auf die Techniken beschrieben, die in dem JPEG2000-Bildkomprimierungsstandard dargelegt sind. Die vorliegende Beschreibung betrifft insbesondere Attribute, die einen Teil des erfindungsgemäßen Algorithmus bilden oder direkt damit zusammenwirken. Attribute, die hier nicht konkret gezeigt oder beschrieben werden, können aus denen entnommen werden, die in „Information Technology – JPEG2000 Image Coding System, ISO/IEC International Standard 15444-1, ITU Recommendation T.800" beschrieben werden oder in der Technik bekannt sind. In der folgenden Beschreibung würde ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung als ein Softwareprogramm implementiert werden, obwohl Fachleute selbstverständlich wissen, dass das Äquivalent zu dieser Hardware auch in Hardware implementierbar ist. Was die folgende Beschreibung des Systems und des Verfahrens betrifft, ist die gesamte Software- Implementierung von herkömmlicher Art und entspricht dem üblichen Kenntnisstand in dieser Technik. Wenn die Erfindung als Computerprogramm implementiert wird, kann das Programm auf einem herkömmlichen, computerlesbaren Speichermedium gespeichert werden, beispielsweise auf magnetischen Speichermedien, wie Magnetplatten (z.B. Diskette oder Festplatte) oder auf Magnetband, optischen Speichermedien, wie einer optischen Platte, einem optischen Band oder einem maschinenlesbaren Strichcode, auf Halbleiterspeichervorrichtungen, wie RAM (Random Access Memory) oder ROM (Read Only Memory) oder auf jeder anderen physischen Vorrichtung oder jedem anderen Medium, das zur Speicherung eines Computerprogramms geeignet ist.
  • Nachfolgend wird eine kurze Zusammenfassung des JPEG2000-Komprimierungsalgorithmus und der Syntax eines nach JPEG2000 komprimierten Bitstroms vorgestellt. Eine detailliertere Beschreibung kann der zuvor erwähnten Internationalen Norm ISO/IEC 15444-1 entnommen werden. 1 zeigt ein vereinfachtes Blockdiagramm eines JPEG2000-Codierers 10 und -Decodierers 12. In einem JPEG2000-Codierer zerlegt die diskrete Wavelet-Transformationseinheit (DWT/Discrete Wavelet Transform) 14 das Eingangsbild in Unterbänder. JPEG2000 ermöglicht zudem die Aufteilung des Bildes in eine Reihe rechteckiger Kacheln. Wenn die Aufteilung in Kacheln verwendet wird, wird die diskrete Wavelet-Transformation unabhängig an jede Bildkachel angelegt. Die resultierenden Unterband- oder Wavelet-Koeffizienten werden einer Quantisierung mit einem einheitlichen Totzonen-Quantisierer 16 unterzogen. Die quantisierten Koeffizienten werden in Auswahlbezirke und Codeblöcke gruppiert. Jeder Codeblock wird unabhängig von einem Entropiecodierer 18 codiert, um einen komprimierten Bitstrom entsprechend dem Codeblock zu erzeugen. Die Paketbildungs- und Bitstrom-Organisationseinheit 20 teilt den komprimierten Codeblock-Bitstrom in Schichten und stellt die entsprechende Schicht aus unterschiedlichen Codeblöcken zu Paketen zusammen. Diese entscheidet auch über die Reihenfolge, in der die Pakete in dem komprimierten Bitstrom auftreten sollten. Am JPEG2000-Decodierer 12 liest die Bitstrom-Parsereinheit 22 die Header-Informationen aus und extrahiert die Pakete. Zudem decodiert sie die Packet-Header und verkettet alle dem jeweiligen Codeblock entsprechenden komprimierten Daten. Der Entropiedecodierer 24 decodiert die komprimierten Daten, um Quantisiererindizes zu erhalten, die jedem Wavelet-Koeffizienten entsprechen. Die Dequantisierungseinheit 26 rekonstruiert Wavelet-Koeffizienten aus den entsprechenden Quantisiererindizes. Die rekonstruierten Wavelet-Koeffizienten werden einer inversen diskreten Wavelet-Transformation in der inver sen diskreten Wavelet-Transformationseinheit 28 unterzogen, um das rekonstruierte Bild zu erzeugen.
  • JPEG2000 verwendet eine zweidimensionale (2-D) diskrete Wavelet-Transformation (DWT), um das Eingangsbild in eine Sammlung von Unterbändern zu transformieren. 2 zeigt eine dreistufige, zweidimensionale, diskrete Wavelet-Transformation und die entsprechende Markierung für jedes Unterband. Beispielsweise bezeichnet die Unterbandmarkierung kHL, dass ein horizontales Hochpassfilter (H) an die Reihen angelegt worden ist, gefolgt von einem vertikalen Tiefpassfilter (L), das während der kten DWT-Zerlegung an die Spalten angelegt worden ist. Das Unterband 0LL bezieht sich auf das Originalbild (oder die Bildkachel).
  • Die DWT-Zerlegung stellt eine natürliche Darstellung mit mehreren Auflösungen bereit. Die kleinste Auflösung, bei der das Bild rekonstruiert werden kann, wird als Auflösung null bezeichnet. Beispielsweise würde das Unterband 3LL unter Bezug auf 2 der Auflösung null für eine dreistufige Zerlegung entsprechen. Für eine DWT-Zerlegung auf Stufe NL kann das Bild mit der Auflösung NL + 1 rekonstruiert werden. Im Allgemeinen muss ein Bild mit einer Auflösung von r(r > 0), Unterbändern (NL – r + 1)HL, (NL – r + 1)LH und (NL – r + 1)HH mit dem Bild bei einer Auflösung (r – 1) kombiniert werden. Diese Unterbänder gehören zur Auflösung r. Auflösung null besteht nur aus dem Band NLLL. Wenn die Unterbänder unabhängig codiert werden, kann das Bild auf jeder Auflösungsebene rekonstruiert werden, indem einfach die Teile des Codestroms dekodiert werden, der die Unterbänder enthält, die dieser Auflösung und allen niedrigen Auflösungen entsprechen. Beispielsweise kann unter Bezug auf 2 das Bild bei Auflösung 2 rekonstruiert werden, indem das Bild mit der Auflösung 1 und die drei Unterbänder 2HL, 2LH und 2HH kombiniert werden.
  • Jeder Wavelet-Koeffizient wird mit dem einheitlichen Totzonenquantisierer 16 quantisiert, um eine Vorzeichen-/Größen-Darstellung der Indizes der quantisierten Koeffizienten zu erzeugen. Die Entscheidungsschwellenwerte 30 und die Rekonstruktionsebenen 32 für diesen Quantisierer werden in 3 für eine Quantisiererschrittgröße von Δ gezeigt. Der JPEG2000-Standard schreibt die Verwendung einer einzelnen Quantisiererschrittgröße für alle Koeffizienten in einem gegebenen Wellenband vor. Die Schrittgröße kann allerdings von Unterband zu Unterband variieren. Die Schrittgröße für das Unterband b sei Δb. Die Totzone bezieht sich auf das um null herum zentrierte Quantisiererfach, welches größer als andere Quantisiererfächer ist. Teil 1 des JPEG2000-Standards sieht eine Totzone vor, die aufgrund ihrer optimal eingebetteten Struktur zweimal so groß wie die Schrittgröße ist. Wenn ein Quantisiererindex Mb-Bit, der aus der Schrittgröße Δb resultiert, progressiv ausgehend mit dem MSB (höchstwertigen Bit) übertragen wird und sich zum LSB (niedrigstwertigen Bit) fortsetzt, ist der resultierende Index nach Decodierung von nur Nb Bit mit demjenigen identisch, der mithilfe eines ähnlichen Quantisierers mit einer Schrittgröße
    Figure 00090001
    erzielt wurde. Diese Eigenschaft ermöglicht die Skalierbarkeit des Störabstands, was im optimalen Sinne bedeutet, dass der Decoder die Decodierung an jedem Stutzungspunkt in dem Codestrom abbrechen kann und dennoch dasselbe Bild erzeugt, das mit der Bitrate codiert worden wäre, die dem gestutzten Codestrom entspricht.
  • Die quantisierten Unterbandkoeffizienten sind in Codeblöcke unterteilt. Ein Codeblock kann als Aufteilung in Wavelet-Koeffizienten betrachtet werden. Quantisierte Wavelet-Koeffizienten aus jedem Codeblock werden von dem Entropiecodierer 18 unabhängig codiert. In JPEG2000 wird der MQ-Arithmetikcodierer als Entropiecodierer verwendet. Der Entropiecodierer codiert die Vorzeichen-/Größendarstellung der Codeblock-Koeffizienten in Form von Bitebenen. Angenommen, der verarbeitete Codeblock stammt von Unterband b. Dann werden die Proben des Codeblocks mit einem gleichmäßigen Totzonen-Skalarquantisierer mit Schrittgröße Δb quantisiert, wie zuvor beschrieben. Angenommen, die Größe der Indizes der quantisierten Koeffizienten in Unterband b wird durch eine feste Genauigkeit von Mb Bits dargestellt. Die Bits seien als 1, 2, ..., Mb indiziert, wobei Index 1 dem höchstwertigen Bit (MSB) und Mb dem niedrigstwertigen Bit (LSB) entspricht. Die kte Bitebene für den Codeblock besteht aus dem kten Bit aus der Größendarstellung aller Indizes der quantisierten Koeffizienten aus diesem Codeblock. Zum Zwecke der Entropiecodierung gilt eine Bitebene für einen Codeblock dann als wertig (significant), wenn die vorherigen Bitebenen wertig waren, oder wenn die Bitebene mindestens ein Bit aufweist, das nicht null ist. Wenn anfangs eine Zahl von Codeblock-Bitebenen nicht wertig ist, wird diese Information separat signalisiert. Ohne Einbußen für die Allgemeingültigkeit sei angenommen, dass die höchstwertige Bitebene mindestens ein Bit aufweist, das nicht null ist. Der MQ-Codierer codiert die höchstwertige Bitebene eines Codeblocks in einem einzelnen Codierdurchgang, der als Säuberungsdurchgang bezeichnet wird. Die verbleibenden Bitebenen werden in 3 Codierdurchgängen MQ-codiert, nämlich Wertigkeitsdurchgang, Verfeinerungsdurchgang und Säuberungsdurchgang. Wenn die Größendarstellung der quantisierten Codeblockkoeffizienten Mb wertige Bit ebenen aufweist, ist die Gesamtzahl der Codierdurchgänge, die zur Codierung aller Bitebenen notwendig ist (3·(Mb – 1) + 1).
  • JPEG2000 bietet eine erhebliche Flexibilität bei der Organisation des komprimierten Bitstroms. Diese Flexibilität wird teilweise durch die verschiedenen Strukturen der Komponenten, Kacheln, Unterbänder, Auflösungsebenen und Codeblöcke erreicht. Diese Strukturen partitionieren die Bilddaten zu: 1) Farbkanälen (durch Komponenten); 2) Raumbereichen (durch Kacheln); 3) Frequenzbereichen (durch Unterbänder und Auflösungsebenen) und 4) Raumfrequenzbereiche (durch Codeblöcke). JPEG2000 stellt zudem eine intermediäre Raumfrequenzstruktur bereit, die als Bezirk (Precinct) bezeichnet wird. Ein Bezirk ist eine Sammlung aus räumlich zusammenhängenden Codeblöcken aus allen Unterbändern auf einer bestimmten Auflösungsebene.
  • Zusätzlich zu diesen Strukturen organisiert JPEG2000 die komprimierten Daten aus den Codeblöcken in Einheiten, die als Pakete und Schichten bezeichnet werden. Für jeden Bezirk (Precinct) werden die komprimierten Daten für die Codeblöcke in dem Bezirk zunächst in einem oder in mehreren Paketen organisiert. Ein Paket ist einfach ein zusammenhängendes Segment in dem komprimierten Codestrom, das aus einer Anzahl von Bitebenen-Codierdurchgängen für jeden Codeblock in dem Bezirk besteht. Die Anzahl der Codierdurchgänge kann von Codeblock zu Codeblock variieren (auch null Codierdurchgänge sind möglich). Die Pakete aus den Bezirken in allen Auflösungsstufen in einer Kachel werden dann zu Schichten kombiniert. 4 zeigt die Bezirkspartition für eine dreistufige Zerlegung eines 768 × 512 Bildes, wobei die Codeblockgrenzen 40 die Codeblöcke bezeichnen, und wobei die Bezirksgrenzen 42 die Bezirke bezeichnen. Die hervorgehobenen Bezirke in den Auflösungen 0 bis 3 entsprechen ungefähr dem gleichen 256 × 256 Bereich im Originalbild.
  • Der komprimierte Bitstrom für jeden Codeblock wird über eine oder mehrere Schichten in dem komprimierten Bitstrom verteilt. Alle Codeblöcke aus allen Unterbändern und Komponenten einer Kachel tragen komprimierte Daten zu jeder Schicht bei. Für jeden Codeblock ist eine Reihe aufeinanderfolgender Codierdurchgänge (einschließlich null) in einer Schicht enthalten. Jede Schicht stellt ein Qualitätsinkrement dar. Die Anzahl von Codierdurchgängen in einer bestimmten Schicht kann von einem Codeblock zum nächsten variieren und wird übli cherweise durch den Codierer als Ergebnis der Post-Kompressionsraten-Verzerrungsoptimierung ermittelt, wie später erläutert wird.
  • Die komprimierten Daten, die zu einer bestimmten Kachel, Komponente, Auflösung, Schicht und Bezirk gehören, sind in einem Paket zusammengefasst. Die komprimierten Daten in einem Paket müssen in dem Codestrom benachbart sein. Wenn ein Bezirk Daten aus mehr als einem Unterband enthält, erscheinen diese in der Reihenfolge HL, LH und HH. Innerhalb jedes Unterbandes erscheinen die Beiträge aus Codeblöcken in der Rasterreihenfolge. 4 zeigt ein Beispiel eines Codeblocks, der zu einem Bezirk gehört: Die Nummerierung der Codeblocks stellt die Reihenfolge dar, in der die codierten Daten aus den Codeblöcken in einem Paket auftreten. Jedes Paket beginnt mit einem Packet-Header. Der Packet-Header enthält Informationen über die Zahl von Codierdurchgängen für jeden Codeblock in dem Paket. Er enthält zudem die Länge der komprimierten Daten für jeden Codeblock. Das erste Bit eines Packet-Headers gibt an, ob das Paket Daten enthält oder leer ist. Wenn das Paket nicht leer ist, werden Codeblock-Inklusionsinformationen für jeden Codeblock in dem Paket signalisiert. Diese Informationen zeigen an, ob komprimierte Daten aus einem Codeblock in dem Paket enthalten sind. Wenn Codeblockdaten zum ersten Mal enthalten sind, wird auch die Zahl der höchstwertigen Bitebenen signalisiert, die vollständig null sind. Anschließend wird die Zahl von Codierdurchgängen für den Codeblock und die Länge der entsprechenden komprimierten Daten signalisiert. Die arithmetische Codierung der Bitebenen wird als Tier-1-Codierung bezeichnet, während die Paketisierung der komprimierten Daten und die Codierung der Packet-Headerinformationen als Tier-2-Codierung bezeichnet wird.
  • Die allgemeine Organisation eines JPEG2000-Bitstroms ist folgendermaßen: Der JPEG2000-Bitstrom besteht aus einem Haupt-Header, gefolgt von einer Folge von Kachelströmen. Der Haupt-Header besteht aus globalen Informationen, die für die Zerlegung des gesamten Bitstroms notwendig sind, wie Bildgröße, Kachelgröße, Informationen über die Zahl der Komponenten, Zerlegungsebenen, Schichten, Quantisierer-Schrittgrößen usw. Jeder Kachelstrom besteht aus einem Kachel-Header und Paketen, die zu dieser Kachel gehören. Wie zuvor beschrieben, besteht jedes Paket aus dem Packet-Header und komprimierten Codeblock-Daten.
  • Die Ratensteuerung bezieht sich auf den Prozess zur Erzeugung eines optimalen Bildes für eine Zieldateigröße (Bitrate) Das Kriterium für Optimalität kann auf dem mittleren Standardfehler (MSE Mean Squared Error) zwischen dem Original und dem rekonstruierten Bild, der visuellen Verzerrung oder anderer Metrik beruhen. Das eingebettete Blockcodierungsschema von JPEG2000 und dessen flexible Codestromsyntax ermöglichen die Erzeugung eines auf Raten-Verzerrung (R-D/Rate Distortion) optimierten Codestroms für eine gegebene Dateigröße. Taubman (David Taubman, "High performance scalable compression with EBCOT," IEEE Transactions on Image Processing, 9(7), Seite 1158–1170, Juli 2000) beschreibt ein effizientes Ratensteuerungsverfahren für den EBCOT-Komprimierungsalgorithmus, der eine gewünschte Rate in einer einzelnen Iteration mit minimaler Verzerrung erzielt. Dieses Verfahren kann auch von einem JPEG2000-Codierer mit mehreren möglichen Variationen benutzt werden.
  • Bei diesem Basisansatz wird jedes Unterband zunächst mittels einer sehr feinen Schrittgröße quantisiert, und die Bitebenen der resultierenden Codeblöcke werden entropiecodiert. Dies erzeugt typischerweise mehr Codierdurchgänge für jeden Codeblock, als in den endgültigen Bitstrom schließlich einbezogen werden. Wenn die Quantisiererschrittgröße klein genug gewählt wird, ist die R-D-Leistung des Algorithmus unabhängig von der Anfangsauswahl der Schrittgröße. Als nächstes wird eine Lagrangesche R-D-Optimierung durchgeführt, um die Zahl der Codierungsdurchgänge aus jedem Codeblock zu ermitteln, die in den endgültigen komprimierten Bitstrom einbezogen werden sollten, um die gewünschte Bitrate zu erreichen. Wenn mehr als eine einzelne Schicht erwünscht ist, kann dieser Prozess am Ende jeder Schicht wiederholt werden, um die zusätzliche Zahl von Codierungsdurchgängen aus jedem Codeblock zu ermitteln, der in die nächste Schicht einbezogen werden muss.
  • Die Lagrangesche R-D-Optimierung arbeitet folgendermaßen: Der komprimierte Bitstrom für jeden Codeblock enthält eine Vielzahl potenzieller Stutzungspunkte, die am Ende jedes Codierungsdurchgangs auftreten können. Die in einem Codeblock des Unterbandes b enthaltenen Wavelet-Koeffizienten werden anfangs mit einer Schrittgröße von Δb quantisiert, was einen Mb-Bit-Quantisiererindex für jeden Koeffizienten ergibt. Wenn der Codeblock-Bitstrom abgeschnitten wird, so dass nur Nb Bits für einen bestimmten Wellenlängenkoeffizienten decodiert werden, ist die effektive Quantisierer-Schrittgröße für die Koeffizienten
    Figure 00130001
    Die Einbeziehung jeder zusätzlichen Bitebene in den komprimierten Bitstrom verringert die effektive Quantisiererschrittgröße um den Faktor zwei. Für jeden Codeblock und für jeden zusätzlichen Codierungsdurchgang wird der Anstieg der Bitrate und die Verringerung der Verzerrung aufgrund der Einbeziehung dieses Codierdurchgangs in den Bitstrom berechnet und in einer Tabelle gespeichert, die als operative Raten-Verzerrungstabelle bezeichnet wird. Das für die Verzerrung gewählte Maß ist normalerweise der mittlere Standardfehler (MSE), obwohl auch andere Maße für die allgemeine Verzerrung verwendbar sind, die sich über die Codeblöcke addieren. Die gesamte Zahl von Codeblöcken für das gesamte Bild sei P, und die Codeblöcke in dem Bild seien mit Bi, 1 ≤ i ≤ P bezeichnet. Für einen gegebenen Stutzungspunkt t im Codeblock Bi ist die zugehörige, gewichtete MSE-Verzerrung D t / i gegeben durch:
    Figure 00130002
    wobei u und ν für die Koeffizientenreihen- und Koeffizientenspaltenindizes innerhalb des Codeblocks Bi stehen; xi[u, ν] ist der originale Wavelet-Koeffizientenwert; xti [u, ν] ist der quantisierte Koeffizientenwert für den Stutzungspunkt t; wi[u, ν] ist ein Gewichtungsfaktor für den Koeffizienten xi[u, ν]; und αb ist die L2-Norm der Synthesegrundfunktionen, die dem Unterband b entsprechen. Unter bestimmten Annahmen zum Quantisierungsrauschen ist diese Verzerrung über den Codeblöcken additiv. Bei einem gegebenen Stutzungspunkt t wird die Größe des zugehörigen, komprimierten Bitstroms (d.h. der Rate) für den Codeblock Bi ermittelt und durch R t / i vermerkt.
  • Angesichts eines gesamten Bitbudgets von R Bytes für den komprimierten Bitstrom findet der EBCOT-Ratensteuerungsalgorithmus den Stutzungspunkt für jeden Codeblock, der die gesamte Verzerrung D minimiert. Dies ist äquivalent zur Suche nach der optimalen Bitzuweisung für alle Codeblöcke R * / i, 1 ≤ i ≤ P, so dass:
    Figure 00130003
  • In der JPEG2000-Literatur wird dieser Ratensteuerungsalgorithmus auch als eine der Komprimierung nachfolgende R-D-Optimierung bezeichnet. Wenn der Gewichtungsfaktor wi[u, ν] für alle Unterbandkoeffizienten auf eins gesetzt wird, reduziert sich die Verzerrungsmetrik auf den mittleren Standardfehler.
  • Die Aufgabe besteht darin, ein vorhandenes JPEG2000-Bild in ein anderes JPEG2000-Bild mit niedrigerer Bitrate und/oder Auflösung umzucodieren. Wie bereits erwähnt, ist zur Durchführung einer optimalen Ratensteuerung die Kenntnis der operativen Ratenverzerrungstabelle für jeden Codeblock notwendig. Die Verzerrungsinformationen gehen jedoch verloren, weil kein Zugriff auf das Originalbild mehr besteht. Die Rateninformationen sind zwar verfügbar, aber es ist notwendig, die Pakete zu decodieren und eine MQ-Decodierung der komprimierten Codeblock-Codierungsdurchgänge durchzuführen. Die vorliegende Erfindung löst diese Probleme. Es wird nun detailliert Bezug genommen auf das bevorzugte Ausführungsbeispiel der Erfindung, wozu ein Beispiel in den anliegenden Zeichnungen veranschaulicht ist. Wie eingangs erwähnt, stellt die vorliegende Erfindung ein Verfahren zur Umcodierung eines nach JPEG2000 codierten Bildes in eine niedrigere Bitrate oder niedrigere Auflösung oder beides bereit. Zwar wird die Erfindung in Verbindung mit einem bevorzugten Ausführungsbeispiel beschrieben, aber selbstverständlich ist dieses nicht so zu verstehen, dass die Erfindung auf dieses Ausführungsbeispiel begrenzt ist. Im Gegenteil ist beabsichtigt, sämtliche Alternativen, Abwandlungen und Äquivalente abzudecken, die in den Umfang oder Geltungsbereich der in den anhängenden Ansprüchen definierten Erfindung fallen.
  • 5 zeigt ein Ablaufdiagramm eines erfindungsgemäßen Bildumcodierers. Ein JPEG2000-komprimiertes Bild 101 wird von einer JPEG2000-Bitstrom-Parsingeinheit 102 geparst. Die JPEG2000-Bitstrom-Parsingeinheit 102 extrahiert Header-Informationen 103, die in den verschiedenen JPEG2000-Markierungssegmenten enthalten sind und trennt die Pakete 104 entsprechend ihrer jeweiligen Auflösungen. Ein Auflösungs-Schichten-Bytezähler 105 erzeugt eine Schichten-Byte-Zähltabelle 108 für eine benutzerseitig gewünschte Auflösung 106. Es sei angenommen, dass das JPEG2000-komprimierte Bild aus L Schichten besteht, die mit 0, 1, ..., L–1 bezeichnet sind, und dass die benutzerseitig definierte Auflösung u ist. Der Eintrag in die Schichten-Byte-Zähltabelle 108 weist dann die kumulative Größe der zu den Schichten 0, 1, ..., x zählenden Pakete und die Auflösungen 0, 1, ..., u an. Eine benutzerseitig gewünschte Bitrate 107 für das umcodierte Bild wird in eine Schichten-Schätzungseinheit 109 eingegeben. In einem bevorzugten Ausführungsbeispiel wird die Bitrate in Bezug auf die Größe des umcodierten Bildes in Bytes angegeben. Die Schichten-Schätzungseinheit 109 bestimmt anhand der Schichten-Byte-Zähltabelle 108 die Anzahl der Schichten, die bis zur benutzerseitig gewünschten Auflösung decodiert 110 werden müssen, um die gewünschte Bitrate 107 zu erzielen. 6 zeigt ein Beispiel einer Schichten-Byte-Zähltabelle für jede Auflösung eines nach JPEG2000 komprimierten Bildes mit 4 Auflösungen und 3 Schichten. Wenn die benutzerseitig gewünschte Auflösung 2 ist und die benutzerseitig gewünschte Bitrate 16384 Bytes beträgt, müssten die Schichten 0 und 1 bis zur Auflösung 2 decodiert werden.
  • Wie in 5 gezeigt, decodiert ein Paketdecodierer 111 die Pakete entsprechend der zu decodierenden Schichten, wie anhand der Schichten-Schätzungseinheit ermittelt, bis zur benutzerseitig erwünschten Auflösung. Der Paketdecodierer extrahiert zudem den komprimierten Codeblock-Bitstrom, der jedem Codeblock entspricht, der zu dem Paket beigetragen hat. Eine Verkettungseinheit 112 verkettet die komprimierten Daten für jeden Codeblock, um einen komprimierten Codeblock-Bitstrom 113 für jeden Codeblock zu erzeugen. Ein Arithmetikdecodierer 114 führt eine arithmetische Decodierung für jeden komprimierten Codeblock-Bitstrom 113 durch, um quantisierte Unterband-Koeffizientenindizes 115 und eine Codierdurchgangslängentabelle 116 zu erstellen. Eine erste Ratenverzerrungstabellen-Schätzungseinheit 117 erzeugt eine operative Ratenverzerrungstabelle 118 aus den quantisierten Koeffizientenindizes 115 und der Codierdurchgangslängentabelle 116, welche eine Schätzung der Länge der komprimierten Daten entsprechend jedem Decodierdurchgang enthält. Eine R-D-Optimierungseinheit 119 führt die der Kompression nachgeordnete R-D-Optimierung durch, um Codierdurchgangs-Inklusionsinformationen 120 zu erzeugen, die die Codierdurchgänge darstellen, die in den umcodierten Bitstrom einbezogen werden sollen, und zwar anhand der operativen Ratenverzerrungstabelle 118, der gewünschten Bitrate 107 und der benutzerseitig angegebenen visuellen Gewichte 121. Die der Kompression nachgeordnete R-D-Optimierung ist die gleiche, die von einem JPEG2000-Codierer durchgeführt wird, wie zuvor beschrieben. Die benutzerseitig angegebenen visuellen Gewichte 121 stellen die Werte für wi[u, ν] in Gleichung 1 bereit, während die der Kompression nachgeordnete R-D-Optimierung durchgeführt wird. Eine JPEG2000-Bitstrombit-Bildungseinheit 122 verwendet die Codierdurchgangs-Inklusionsinformationen 120, die komprimierten Codeblock-Bitströme 113 und die Header-Informationen 103, um einen umcodierten JPEG2000-Bitstrom 123 zu erzeugen.
  • Die Arithmetikdecodierereinheit 114 erzeugt quantisierte Unterband-Koeffizientenindizes 115. Es ist nicht notwendig, den Unterbandkoeffizienten explizit zu rekonstruieren und eine inverse DWT durchzuführen, um die operative Ratenverzerrungstabelle 118 zu ermitteln. Dies ist darauf zurückzuführen, dass der Umcodierungsprozess zur Quantisierung dieselben grundlegenden Quantisiererschrittgrößen verwendet. Es sei daher ein Wavelet-Koeffizient angenommen, für den der Quantisiererindex 23 (in binärer Darstellung 10111) beträgt, die Schrittgröße Δb ist und für den 3 niederwertige Bits (LSBs) entfallen sind. In diesem Fall ist der rekonstruierte Koeffizient für die Mittelpunktrekonstruktion 23,5 × 8 Δb. Bei Mischung der binären und der dezimalen Notation lässt sich dies schreiben als (10111100b) Δb. Es ist nicht notwendig, eine inverse DWT durchzuführen, da die in Teil I des JPEG2000-Standards verwendeten Filter eine perfekte Rekonstruktion sind. Das impliziert, dass man bei Durchführung der inversen DWT, gefolgt von einer DWT mit unbegrenzter Genauigkeit, genau den gleichen Koeffizienten zurückerhielte. Wenn der rekonstruierte Koeffizient erneut mit einer Schrittgröße von Δb quantisiert wird, ist der resultierende Quantisiererindex in der binären Darstellung 10111100b. Es ist daher adäquat, für jeden quantisierten Koeffizienten die operative Ratenverzerrungstabelle 118 für die neucodierten Codeblockdaten direkt aus den quantisierten Koeffizientenindizes 115 zu schätzen, nachdem eine 1 an die binäre Darstellung angehängt und das niedrigstwertige Bit decodiert worden ist.
  • Fachleute werden erkennen, dass, wenn mehrere Schichten in dem umcodierten Bitstrom erwünscht sind, der Schritt der R-D-Optimierung 119 mehrmals durchgeführt werden kann, und zwar einmal für jede gewünschte Schichtenbitrate.
  • Das vorstehende Umcodierungsverfahren arbeitet sehr gut, wenn der Endbenutzer die richtigen visuellen Gewichte kennt, die zum Zeitpunkt der Umcodierung angelegt werden sollten, oder wenn keine visuellen Gewichte verwendet werden sollen. Es kann allerdings bisweilen wünschenswert sein, die relative visuelle Bedeutung verschiedener Codeblöcke zu erhalten, wie durch den JPEG2000-Codierer ermittelt. Als Beispiel seien zwei Codeblöcke genannt, die demselben Unterband angehören. Nach Spezifikation des JPEG2000-Standards müssen beide mit derselben Quantisierer-Schrittgröße quantisiert werden. Wenn der Codierer allerdings entscheidet, dass der erste Codeblock visuell wichtiger ist, kann er mehrere Codierdurchgänge aus dem ersten Codeblock in Schicht 0 einbeziehen. Als Veranschaulichungsbeispiel kann ein JPEG2000-Codierer 12 Codierdurchgänge aus dem ersten Codeblock umfassen, jedoch nur 4 Codierdurchgänge aus dem zweiten Codeblock in Schicht 0. Dies impliziert, dass der JPEG2000-Codierer dem ersten Codeblock ein höheres visuelles Gewicht zuweist. Dieses visuelle Gewicht kann jedoch von dem Umcodierer nicht wiederhergestellt werden. Der Umcodierer hat nur Zugang zu den Quantisiererschrittgrößen, während in diesem Fall die visuellen Gewichte sich selbst nur als die unterschiedliche Anzahl von Codierdurchgängen manifestieren, die in Schicht 0 einbezogen werden. Es kann wünschenswert sein, das von dem JPEG2000-Codierer verwendete visuelle Gewicht nachzuahmen, wenn das Bild auf eine niedrigere Rate umcodiert wird. 7 zeigt ein weiteres Ausführungsbeispiel der Erfindung, das diese Aufgabe erfüllt.
  • Ein JPEG2000-komprimiertes Bild 201 wird von einer JPEG2000-Bitstrom-Parsingeinheit 202 geparst. Die JPEG2000-Bitstrom-Parsingeinheit 202 extrahiert Header-Informationen 203, die in den verschiedenen JPEG2000-Markierungssegmenten enthalten sind und trennt die Pakete 204 entsprechend ihrer jeweiligen Auflösungen. Ein Auflösungs-Schichten-Bytezähler 205 erzeugt eine Schichten-Byte-Zähltabelle 208 für eine benutzerseitig gewünschte Auflösung 206. Die in der Schichten-Byte-Zähltabelle 208 enthaltenen Informationen sind die gleichen wie in der Schichten-Byte-Zähltabelle 108 aus dem bevorzugten Ausführungsbeispiel. Eine benutzerseitig gewünschte Bitrate 207 für das umcodierte Bild wird in eine Schichten-Schätzungseinheit 209 eingegeben. Die Schichten-Schätzungseinheit 209 bestimmt anhand der Schichten-Byte-Zähltabelle 208 die Anzahl der Schichten, die bis zur benutzerseitig gewünschten Auflösung decodiert 210 werden müssen, um die gewünschte Bitrate 207 zu erzielen. Ein Paketdecodierer 211 decodiert die Pakete entsprechend der zu decodierenden Schichten, wie anhand der Schichten-Schätzungseinheit ermittelt, bis zur benutzerseitig erwünschten Auflösung. Der Paketdecodierer extrahiert zudem den komprimierten Codeblock-Bitstrom, der jedem Codeblock entspricht, der zu dem Paket beigetragen hat. Eine Verkettungseinheit 212 verkettet die komprimierten Daten für jeden Codeblock, um einen komprimierten Codeblock-Bitstrom 213 für jeden Codeblock zu erzeugen. Ein Arithmetikdecodierer 214 führt eine arithmetische Decodierung für jeden komprimierten Codeblock-Bitstrom 213 durch, um eine Codierdurchgangslängentabelle 215 zu erstellen. Eine Raten steuerungseinheit 216 erzeugt Codierdurchgangs-Inklusionsinformationen 217 auf der Grundlage der Codierdurchgangs-Längentabelle und der gewünschten Bitrate 207. Eine JPEG2000-Bitstrombit-Bildungseinheit 218 verwendet die Codierdurchgangs-Inklusionsinformationen 217, die komprimierten Codeblock-Bitströme 213 und die Header-Informationen 203, um einen umcodierten JPEG2000-Bitstrom 219 zu erzeugen.
  • Der Hauptunterschied zwischen diesem und dem bevorzugten Ausführungsbeispiel liegt darin, dass in diesem Ausführungsbeispiel die Entscheidung, ob ein Codierdurchgang in den umcodierten Bitstrom einzubeziehen ist, unabhängig von der Verzerrung getroffen wird. Daher wird keine operative Ratenverzerrungstabelle erstellt. Stattdessen wird der folgende Grundsatz von der Ratensteuerungseinheit benutzt. Die Anzahl der zu decodierenden Schichten, wie anhand der Schichtenschätzungseinheit 209 bestimmt, sei w. Die Schichten 0,1, ..., (w–2) werden in ihrer Gesamtheit in den umcodierten Bitstrom einbezogen. Aus den Schichten w oder aus höheren Schichten werden keine Codierdurchgänge in den umcodierten Bitstrom einbezogen, während nur einige Durchgänge aus der Schicht (w–1) in den umcodierten Bitstrom einbezogen werden. Die Zahl der Codierdurchgänge für den Codeblock B, die zur Schicht (w–1) gehören, sei N B / w–1. Für jeden Codeblock versucht die Ratensteuerungseinheit, das Verhältnis der Codierdurchgänge aus der Schicht (w–1), die in den umcodierten Bitstrom einbezogen werden, auszugleichen. Die Ratensteuerungseinheit 216 wird nachstehend detaillierter erläutert.
  • 8 zeigt ein Ablaufdiagramm der Ratensteuerungseinheit 216. Es sei angenommen, die gesamten Bitraten für die Schichten (w–2) und (w–1) seien R(w-2) bzw. R(w-1). Die gewünschte Bitrate 207 sei Rdesired. Im Initialisierungsschritt 301 werden Rmin und Rmax auf R(w-2) bzw. R(w-1) gesetzt. Desgleichen werden fmin und fmax auf 0 bzw. 1 gesetzt. Anschließend wird (fmax – fmin) im Vergleichsschritt 302 mit einem „Schwellenwert" verglichen. Wenn (fmax – fmin) kleiner oder gleich dem Schwellenwert ist, wird in dem Bestimmungsschritt 303 zur Einbeziehung der Codierdurchgänge für jeden Codeblock die Zahl der Codierdurchgänge aus Schicht (w–1), die in den umcodierten Bitstrom n B / w–1 einzubeziehen sind, mit ⌊NBw–1 × fmin berechnet. Diese Informationen werden als Codierdurchgangs-Inklusionsinformationen 217 ausgegeben. Wenn (fmax – fmin) größer als der Schwellenwert ist, wird der Wert von f in dem Aktualisierungsschritt 304 auf einen Mittelwert von fmax und fmin aktuali siert. Der Ratenbestimmungsschritt 305 ermittelt die Gesamtrate R(f), wenn für jeden Codeblock B ⌊NBw–1 × f⌋ Codierdurchgänge aus Schicht (w–1) in den komprimierten Bitstrom einbezogen werden. In einem weiteren Vergleichsschritt 306 wird die Gesamtrate R(f) mit Rdesired verglichen. Wenn R(f) kleiner oder gleich Rdesired, ist, wird in einem weiteren Aktualisierungsschritt 307 Rmin auf R(f) gesetzt und fmin wird auf f gesetzt. Andernfalls wird Rmax auf R(f) und fmax auf f gesetzt 308, und die Ablaufsteuerung kehrt zum Schritt 302 zurück. In diesem Ausführungsbeispiel wurde der Schwellenwert in Schritt 302 mit 0,01 gewählt, aber Fachleute werden erkennen, dass ein beliebiger kleiner Wert gewählt werden könnte.
  • Fachleute werden zudem erkennen, dass die auf diese Weise erzeugten Codierdurchgangs-Inklusionsinformationen zu einer Gesamtbitrate führen, die kleiner als die benutzerseitig angegebene, gewünschte Bitrate ist. In diesem Fall ist es möglich, einen Codierdurchgang aus jedem Codeblock bis zu dem Punkt hinzuzufügen, an dem die Einbeziehung eines weiteren Codierdurchgangs ein Überschreiten der gewünschten Bitrate bewirken würde. In einem bevorzugten Ausführungsbeispiel beginnt die Reihenfolge der Codeblöcke zur Einbeziehung zusätzlicher Codierdurchgänge von der kleineren Auflösung zur höheren Auflösung. Innerhalb einer Auflösung werden die Bezirke in einer Rasterabtastung durchquert. Innerhalb eines Bezirks werden die Codeblöcke in der in 4 gezeigten Reihenfolge durchquert.

Claims (6)

  1. Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes, das aus einer Sammlung von Unterbändern besteht, die in einem Codierdurchgang oder in mehreren Codierdurchgängen codiert worden sind, zu einem komprimierten Bitstrom aus quantisierten Unterbandkoeffizienten, welche in Codeblöcke jedes Unterbandes partitioniert und zu Schichten zusammengefasst sind, wobei das Verfahren folgende Schritte umfasst: a) Durchlaufen des nach JPEG2000 komprimierten Bildes zwecks Extraktion von Headerinformationen und Paketen; b) Berechnen der Anzahl von Bytes, die jeder Schicht bei einer benutzerseitig gewünschten Auflösung zugeordnet sind, um eine Schichten-Byte-Zähltabelle zu erstellen; c) Bestimmen der Anzahl von Schichten des nach JPEG2000 komprimierten Bildes, die bis zu der benutzerseitig gewünschten Auflösung decodiert werden sollen, um auf eine benutzerseitig gewünschte Bitrate umcodiert zu werden; d) Extrahieren von Paketen, die den bis zu den benutzerseitig gewünschten Auflösungen angehören, aus zu decodierenden Schichten, wie in Schritt c) ermittelt, wodurch komprimierte Daten extrahiert werden, die jedem Codeblock entsprechen, der den Paketen angehörte; e) Verketten der komprimierten Daten, die jedem Codeblock entsprechen, der aus den in Schritt d) extrahierten Paketen ermittelt wurde, um einen komprimierten Codeblock-Bitstrom für jeden Codeblock zu erzeugen; f) arithmetisches Decodieren des komprimierten Codeblock-Bitstroms, der jedem Codeblock entspricht, um eine Codierungs-Durchgangs-Längentabelle zu erstellen, die eine Schätzung der Länge der komprimierten Daten enthält, die jedem decodierten Codierungsdurchgang entsprechen; g) Bereitstellen einer Raten-Kontroll-Funktion, die die gewünschte Bitrate aus Schritt c) und die in Schritt f) erstellten Codierungs-Durchgangs-Längentabellen verwendet, um Codierungs-Durchgangs-Inklusionsinformationen zu erzeugen, die die Codierungsdurchgänge darstellen, die in den umcodierten Bitstrom für jeden Codeblock einbezogen werden sollen; und h) Erzeugen eines umcodierten JPEG2000-Bitstroms aus den in Schritt e) erzeugten komprimierten Codeblock-Bitströmen, aus den in Schritt a) extrahierten Headerinformationen und aus den in Schritt g) erzeugten Codierungs-Durchgangs-Inklusionsinformationen; wobei der Schritt g) eine Raten-Kontroll-Funktion bereitstellt, die folgendes umfasst: Initialisieren der maximalen und minimalen Bitraten und der maximalen und minimalen Bruchteile; Testen, um zu ermitteln, ob eine Differenz zwischen den maximalen und minimalen Bruchteilen einen vorbestimmten Schwellenwert überschreitet; wenn diese Differenz diesen Schwellenwert überschreitet, Zurücksetzen entweder der (1) minimalen Bitrate und des minimalen Bruchteils oder (2) der maximalen Bitrate und des maximalen Bruchteils; Iterieren des Testens und Zurücksetzens, bis die Differenz kleiner oder gleich dem Schwellenwert ist; Ausgeben der Codierungs-Durchgangs-Inklusionsinformationen, worin für jeden Codeblock die Anzahl von Codierungsdurchgängen gleich dem Produkt des minimalen Bruchteils und einer Anzahl von Codierungsdurchgängen des jeweiligen Codeblocks ist, der der höchsten zu decodierenden Schicht angehört.
  2. Verfahren nach Anspruch 1, worin das Initialisieren zudem das Einstellen der maximalen Bitrate und der minimalen Bitrate bei Gesamtbitraten umfasst, die der höchsten zu decodierenden Schicht bzw. der zweithöchsten zu decodierenden Schicht entsprechen.
  3. Verfahren nach Anspruch 2, worin das Initialisieren zudem das Einstellen des minimalen Bruchteils und des maximalen Bruchteils bei null bzw. eins umfasst.
  4. Verfahren nach Anspruch 1, 2 oder 3, worin das Zurücksetzen zudem folgendes umfasst: Ermitteln eines aktualisierten Bruchteils anhand der minimalen und maximalen Bruchteile; Ermitteln einer aktualisierten Gesamtrate, worin die Anzahl der Codierungs-Durchgänge für jeden Codeblock gleich dem Produkt des aktualisierten Bruchteils und der Anzahl von Codierungsdurchgängen des jeweiligen Codeblocks entspricht, der der höchsten zu decodierenden Schicht angehört; Vergleichen der aktualisierten Gesamtrate mit der gewünschten Bitrate; wenn die aktualisierte Gesamtrate größer als die gewünschte Bitrate ist, Zurücksetzen der maximalen Bitrate und des maximalen Bruchteils; und wenn die aktualisierte Gesamtrate kleiner oder gleich der gewünschten Bitrate ist, Zurücksetzen der minimalen Bitrate und des minimalen Bruchteils.
  5. Verfahren nach Anspruch 4, worin der aktualisierte Bruchteil ein Mittelwert der minimalen und maximalen Bruchteile ist.
  6. Verfahren nach Anspruch 4 oder 5, worin die aktualisierte Gesamtrate größer als die gewünschte Bitrate ist, Zurücksetzen der maximalen Bitrate auf die aktualisierte Gesamtrate und des maximalen Bruchteils auf den aktualisierten Bruchteil; und wenn die aktualisierte Gesamtrate kleiner oder gleich der gewünschten Bitrate ist, Zurücksetzen der minimalen Bitrate auf die aktualisierte Gesamtrate und des minimalen Bruchteils auf den aktualisierten Bruchteil.
DE602004002525T 2003-07-01 2004-06-17 Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes Active DE602004002525T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US611026 2003-07-01
US10/611,026 US7200277B2 (en) 2003-07-01 2003-07-01 Method for transcoding a JPEG2000 compressed image

Publications (2)

Publication Number Publication Date
DE602004002525D1 DE602004002525D1 (de) 2006-11-09
DE602004002525T2 true DE602004002525T2 (de) 2007-05-16

Family

ID=33435421

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002525T Active DE602004002525T2 (de) 2003-07-01 2004-06-17 Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes

Country Status (4)

Country Link
US (2) US7200277B2 (de)
EP (1) EP1494482B1 (de)
JP (1) JP2005027309A (de)
DE (1) DE602004002525T2 (de)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088142A2 (en) * 2002-04-10 2003-10-23 Instasolv, Inc. Method and system for managing computer systems
JP2004104347A (ja) * 2002-09-06 2004-04-02 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及び記録媒体
WO2005036452A1 (en) * 2003-10-06 2005-04-21 Purdue Research Foundation Method and system for compressing image data
JP4273996B2 (ja) * 2004-02-23 2009-06-03 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
JP4111926B2 (ja) * 2004-03-09 2008-07-02 株式会社リコー 画像処理装置、プログラム、記憶媒体及び画像送信方法
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
KR20060007765A (ko) * 2004-07-21 2006-01-26 삼성전자주식회사 영상 압축/복원 방법 및 장치
US7639886B1 (en) * 2004-10-04 2009-12-29 Adobe Systems Incorporated Determining scalar quantizers for a signal based on a target distortion
US20060146967A1 (en) * 2004-12-31 2006-07-06 Adarsh Panikkar Keep-out asynchronous clock alignment scheme
US7792375B2 (en) * 2005-01-19 2010-09-07 Megachips Corporation Rate control system
US7583844B2 (en) * 2005-03-11 2009-09-01 Nokia Corporation Method, device, and system for processing of still images in the compressed domain
JP4737711B2 (ja) * 2005-03-23 2011-08-03 富士ゼロックス株式会社 復号化装置、逆量子化方法、分布決定方法及びこのプログラム
US7778468B2 (en) * 2005-03-23 2010-08-17 Fuji Xerox Co., Ltd. Decoding apparatus, dequantizing method, and program thereof
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
JP4716949B2 (ja) * 2005-09-02 2011-07-06 株式会社リコー 画像処理装置および画像処理方法
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US7729551B2 (en) * 2006-09-08 2010-06-01 Eastman Kodak Company Method for controlling the amount of compressed data
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US7957309B1 (en) * 2007-04-16 2011-06-07 Hewlett-Packard Development Company, L.P. Utilizing multiple distortion measures
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
JP4920110B2 (ja) * 2007-06-27 2012-04-18 トムソン ライセンシング 画質の改善
KR100898058B1 (ko) * 2007-07-09 2009-05-19 중앙대학교 산학협력단 Dct 계수와 dwt 계수의 상호변환장치 및 방법
US8126047B2 (en) * 2007-12-19 2012-02-28 Intel Corporation Video compression and transmission system with transmitter side memory restriction
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP4656190B2 (ja) * 2008-06-10 2011-03-23 ソニー株式会社 情報処理装置および方法
JP4780172B2 (ja) * 2008-10-10 2011-09-28 ソニー株式会社 情報処理装置および方法
US20110268182A1 (en) * 2008-12-29 2011-11-03 Thomson Licensing A Corporation Method and apparatus for adaptive quantization of subband/wavelet coefficients
US8576269B2 (en) * 2009-09-17 2013-11-05 Magor Communications Corporation Method and apparatus for communicating an image over a network with spatial scalability
US8473558B2 (en) * 2009-09-22 2013-06-25 Thwapr, Inc. Progressive registration for mobile media sharing
DE102010028189B4 (de) 2010-04-26 2018-09-27 Solarworld Industries Gmbh Solarzelle
FR2969892B1 (fr) * 2010-12-23 2015-05-29 Thales Sa Procede et dispositif d'adaptation de debit d'un flux video compresse transmis dans un environnement contraint
JP5469127B2 (ja) * 2011-05-30 2014-04-09 富士フイルム株式会社 画像データ符号化装置ならびにその動作制御方法およびそのプログラム
KR101197103B1 (ko) * 2012-03-09 2012-11-07 (주) 지솔루션 위성압축영상 분할처리 장치 및 그 방법
US9602841B2 (en) * 2012-10-30 2017-03-21 Texas Instruments Incorporated System and method for decoding scalable video coding
CN103152568B (zh) * 2013-02-27 2016-02-24 西安理工大学 一种实时截断码流的jpeg2000编码方法及其实施系统
CN103366385A (zh) * 2013-07-10 2013-10-23 郑静晨 一种医疗图像中信息的透明标记方法
US8879858B1 (en) * 2013-10-01 2014-11-04 Gopro, Inc. Multi-channel bit packing engine
JP6722995B2 (ja) * 2015-10-23 2020-07-15 キヤノン株式会社 符号化方法及び符号化装置、撮像装置及びプログラム
US10878597B2 (en) * 2018-09-14 2020-12-29 Sony Corporation Rate distortion optimization for adaptive subband coding of regional adaptive HAAR transform (RAHT)
WO2020258188A1 (zh) * 2019-06-27 2020-12-30 深圳市大疆创新科技有限公司 解码方法、解码器和解码系统
FR3099975B1 (fr) * 2019-08-13 2021-09-17 Qwoo Procédé de fourniture d’un contenu comportant au moins une image, format de fichier
KR20210067788A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치, 시스템 및 그 제어 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327392B1 (en) * 1999-01-28 2001-12-04 Sharp Laboratories Of America, Inc. Method of visual progressive coding
US6492916B1 (en) * 2001-03-30 2002-12-10 Ricoh Co., Ltd. Method and apparatus for generating multiple selectable contexts
US7581027B2 (en) * 2001-06-27 2009-08-25 Ricoh Co., Ltd. JPEG 2000 for efficent imaging in a client/server environment
US7110608B2 (en) 2001-07-02 2006-09-19 Canon Kabushiki Kaisha Digital image compression
US7228000B2 (en) * 2002-03-15 2007-06-05 Ricoh Co., Ltd. Image data generation with reduced amount of processing
JP3743384B2 (ja) * 2002-04-19 2006-02-08 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
US8769395B2 (en) * 2002-12-13 2014-07-01 Ricoh Co., Ltd. Layout objects as image layers
US7260261B2 (en) * 2003-02-20 2007-08-21 Microsoft Corporation Systems and methods for enhanced image adaptation
US7447369B2 (en) * 2003-03-07 2008-11-04 Ricoh Co., Ltd. Communication of compressed digital images

Also Published As

Publication number Publication date
EP1494482B1 (de) 2006-09-27
EP1494482A1 (de) 2005-01-05
US20050002575A1 (en) 2005-01-06
US7200277B2 (en) 2007-04-03
US20050002573A1 (en) 2005-01-06
US7382926B2 (en) 2008-06-03
JP2005027309A (ja) 2005-01-27
DE602004002525D1 (de) 2006-11-09

Similar Documents

Publication Publication Date Title
DE602004002525T2 (de) Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE69722601T2 (de) Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes
DE69628935T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteuerung in einem codierungssystem
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE60109423T2 (de) Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs)
DE19861377B4 (de) Ein verbessertes Kompressions- und Dekompressionssystem mit reversiblen Wavelets und verlustbehafteter Rekonstruktion
DE69832469T2 (de) Mit embedded coding arbeitender bildcodierer mit ratenstörungsoptimierung
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
Sudhakar et al. Image compression using coding of wavelet coefficients–a survey
DE19534730B4 (de) Verfahren zum Codieren und Decodieren von Daten
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE69933461T2 (de) Fehlerverdeckung für hierarchische subband kodierung und dekodierung
DE69721850T2 (de) Bildkodierungsverfahren und Bildkodierer
DE19534943A1 (de) Vorrichtung zur Komprimierung unter Verwendung von eingebetteten Kleinwellen
DE60222728T2 (de) Verfahren und System mit verbesserter Kodierungseffektivität eines Bildkodierer-Dekodierers
Rehna et al. Wavelet based image coding schemes: A recent survey
DE69915843T2 (de) Teilbandkodierung/-dekodierung
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE19903605B4 (de) Verfahren zum Neuanordnen von Signalverlaufspacket-Koeffizienten
DE69823011T2 (de) Bildkodierungs- und dekodierungsvorrichtung
DE69936304T2 (de) Bereichsbasierte skalierbare bildkodierung
DE10358846A1 (de) Fehler-resilientes Online Videoübertragungssystem
Raid et al. Image Compression Using Embedded Zerotree Wavelet
DE60200377T2 (de) Datenkompression

Legal Events

Date Code Title Description
8364 No opposition during term of opposition