DE69907798T2 - Umwandlungen von komprimierten Bildern - Google Patents

Umwandlungen von komprimierten Bildern Download PDF

Info

Publication number
DE69907798T2
DE69907798T2 DE69907798T DE69907798T DE69907798T2 DE 69907798 T2 DE69907798 T2 DE 69907798T2 DE 69907798 T DE69907798 T DE 69907798T DE 69907798 T DE69907798 T DE 69907798T DE 69907798 T2 DE69907798 T2 DE 69907798T2
Authority
DE
Germany
Prior art keywords
linear transformation
digital image
image
data blocks
block
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
DE69907798T
Other languages
English (en)
Other versions
DE69907798D1 (de
Inventor
Viresh San Jose Ratnakar
Victor San Jose Ivashin
Vasudev San Jose Bhaskaran
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of DE69907798D1 publication Critical patent/DE69907798D1/de
Application granted granted Critical
Publication of DE69907798T2 publication Critical patent/DE69907798T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

  • Die Erfindung betrifft allgemein das Verarbeiten von Bilddaten in der komprimierten Bildbereichsdarstellung und im Besonderen die Manipulation der komprimierten Bildbereichsdarstellung, um eine bestimmte räumliche Bildbereichsverarbeitung wie eine normale geometrische Transformationen eines Bildes zu erzielen, ohne die Bilddaten dem vollen Dekomprimierungs- und Komprimierungsprozesses zu unterwerfen.
  • A typisches hochqualitatives digitalisiertes Farbbild kann 24 Bit pro Pixel (bit per pixel) (bpp) nutzen – je 8 Bit für Rot (red) (R), Grün (green) (G) und Blau (blue) (B) im RGB Farbraum oder für Helligkeit (luminance) (Y), Farbton (chrominance) (CB) und Farbton (chrominance) (CR) im YCBCR Farbraum. Das Übertragen und Speichern solcher Bilder im unkomprimierten Zustand (d. h. in räumlichem oder Pixel-Bildbereich) ist hinsichtlich der Zeit- und Speicheranforderungen einfach zu kostspielig. Deshalb führen dies Anwendungen und Geräte, welche hochqualitative digitalisierte Farbbilder speichern und/oder übertragen, wie digitale Kameras, typischerweise in einem komprimierten Format durch Verwenden eines der gegenwärtig verfügbaren Kompressionsalgorithmen durch.
  • Die Verbreitung von Kompressionsstandards wie JPEG (ein Akronym für „Joint Photographic Experts Group") hat zu vielen digitalen bilderzeugenden Systemen (imaging Systems) und Anwendungen geführt, welche Inhalte nur in JPEG-koprimiertem Format erzeugen und verwalten. Zum Beispiel werden in den meisten digitalen Standbild(still-imaging)-Kameras wie Epson PhotoPC 600, Kodak DC-10 usw. von der Kamera aufgenommene Bilder unmittelbar in der Kamera komprimiert und in dem Speichersystem der Kamera als JPEG-Dateien gespeichert. Oft besteht das Bedürfnis, diese Bilder vor dem Anzeigen zu manipulieren. Typische Bildmanipulationen können (a) Rotieren des Bildes von Portrait- in Landschaftsmodus und wieder zurück, (b) Vergrößern oder Verkleinern der Bildgröße, (c) Ändern der Helligkeit und des Kontrastes des Bildes, (d) Zuschneiden von Teilen des Bildes zum Erzeugen eines neuen Bildes und für Zusammenfügungsoperationen, (e) Hinzufügen einfacher Bitmap-Anmerkungen zu einem Bild, und (f) Einbetten von sichtbaren/unsichtbaren Wasserzeichen (watermarks) in das Bild umfassen. Auf Grund von Speicherbeschränkungen in der digitalen Kamera erfordern diese Bildmanipulationen die verarbeitete Ausgabe im JPEG-Format.
  • Das Bedürfnis, diese Aufgaben durchzuführen, und die Verfügbarkeit des Bildes nur im komprimierten Zustand führte zu einem großen Interesse am Entwickeln von Bildverarbeitungstechniken, welche direkt auf die komprimierte Bildbereichsdarstellung angewendet werden können. Die Motivation zum Untersuchen komprimierter Bildbereichsverarbeitungsverfahren entstammt der Beobachtung, dass (a) das Volumen der Daten in einem komprimiertem Bildbereich dazu neigt, sehr klein im Vergleich zur räumlichen Bildbereichsdarstellung zu sein, was bedeutet, dass weniger Operationen pro Abtastung (sample) für die gewünschte Bildverarbeitungsaufgabe erforderlich sein können, und (b) herkömmliche Verarbeitungsabläufe (processing pipelines) komprimierte Daten erfordern, gefolgt durch die Anwendung der gewünschten Bildverarbeitungsfunktion in dem räumlichen Bildbereich, und schließlich das Rekomprimieren zur Übertragungs- oder Speichereffizienz zum Verlust von Bildgenauigkeit (image fidelity) führen kann. Weiterhin weist ein solcher herkömmlicher Verarbeitungsablauf eine sehr hohe Berechnungskomplexität oder hohe Wartezeit (latency) auf, da die Kompressionsaufgabe oft komplexer als die Dekompressionsaufgabe ist. Die auf dem komprimierten Bildbereich basierende Verarbeitungsmethodik führt auf der anderen Seite oft zu verringerter Berechnungskomplexität, da sie die JPEG-Dekompressions- und Kompresssionsaufgaben durch weniger komplexe Aufgaben wie Huffman-Dekodierung und Huffmann-Kodierung ersetzt. (Siehe, S. F. Chang und D. G. Messerschmitt, „Manipulation and Compositing of MC-DCT Compressed Video," IEEE JSAC Special Issue on Intelligent Signal Processing, Band 13, Nummer 1, Seiten 1–11, Jan. 1995; N. Merhav und V. Bhaskaran, „A fast algorithm for DCT-domain inverse motion compensation," Proc. ICASSP '96, Seiten IV.2307–2310, Atlanta, Mai 1996; B. Natajaran und V. Bhaskaran, „A fast approximate algorithm for scaling down digital images in the DCT domain," IEEE International Conference on Image Processing (ICIP), Washington, D. C., Okt. 1995; und Brian Smith und Larry Rowe, „Algorithms for manipulating compressed images," IEEE Computer Graphics and Applications, Seiten 34–42, Sept. 1993.)
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, die vorstehend genannten, mit dem Durchführen von Manipulationen an digitalen Bildern in dem räumlichen Bildbereich verbundenen Probleme zu überwinden.
  • Es ist eine andere Aufgabe dieser Erfindung, eine direkte Manipulation der komprimierten Bildbereichsdarstellung eines Bildes bereitzustellen, um eine gewählte räumliche Bildbereichsmanipulation ohne Ausführung eines vollständigen Dekompressions- und Kompressionsprozesses zu Erzielen.
  • Es ist eine weitere Aufgabe dieser Erfindung, einen Satz von Algorithmen bereitzustellen, welcher die zum Erzielen der entsprechenden Bildmanipulationen in dem räumlichen Bildbereich erforderlichen Manipulationen an komprimierten Daten wesentlich vereinfacht.
  • Es ist noch eine weitere Aufgabe dieser Erfindung, einen Satz von Algorithmen bereitzustellen, um Bilddaten in dem komprimierten Bildbereich zu manipulieren, was einen Manipulationsschritt umfasst, der einen Satz komprimierter Daten aufnimmt und einen anderen Satz komprimierter Daten erzeugt, so dass, wenn der Prozess umgekehrt wird, das ursprüngliche Bild ohne jeglichen Verlust an Qualität erzeugt werden kann.
  • Die vorliegende Erfindung stellt ein Verfahren zum Durchführen verschiedenster zweiflächiger (dihedral) Symmetrieoperationen auf einer räumlichen Bildbereichsdarstellung eines digitalen Bildes durch Manipulieren einer lineartransformierten Bildbereichsdarstellung eines digitalen Bildes. Wenn ein digitales Bild in der Form eines komprimierten Bitstroms (bitstream) wie einer JPEG-Datei vorliegt, schließt das Verfahren eine Dekodierung des mittleren Informationsgehalts (entropy decoding) des komprimierten Bitstroms ein, um auf einer Lineartransformation basierende Datenblöcke zu erzeugen, welche die linear transformierte Bildbereichsdarstellung des digitalen Bildes definieren. Die auf der Lineartransformation basierenden Datenblöcke werden für die entsprechende geometrische Transformation aufgenommen, eine besondere Operation der Linearetransformation des Bildbereichs wird auf die Datenelemente innerhalb jeden Blocks angewendet und die Blöcke werden wieder zusammengefügt. Wenn diese Datenblöcke in einen räumlichen Bildbereich dekomprimiert werden, wird das resultierende Bild hinsichtlich des ursprünglichen Bildes umgekehrt (flipped) oder rotiert. Hinsichtlich des ursprünglichen Bildes kann das resultierende Bild über jede Diagonale (Haupt- oder Kreuz-) umgekehrt werden, über jede seiner Mittelachsen (vertikal oder horizontal), oder um 90°, 180° oder 270° rotiert werden. Das Verfahren kann in einem bildgebenden System wie in einer digitalen Standbild-Kamera angewendet werden, oder in einem Computersystem. In jedem Fall kann das Verfahren mittels Hardware oder Software implementiert werden.
  • Andere Aufgaben und Errungenschafen zusammen mit einem vollständigeren Verständnis der Erfindung werden unter Bezugnahme auf die folgende Beschreibung und Ansprüche in Verbindung mit den beigefügten Zeichnungen deutlicht und verständlich.
  • Die Zeichnungen, in denen gleiche Bezugsziffern gleiche Teile kennzeichnen, zeigen:
  • 1 zeigt ein Blockschaltbild, welches den JPEG-Kompressions und Dekompressions-Verarbeitungsablauf darstellt.
  • 2 zeigt ein Blockschaltbild, welches die auf einem räumlichen Bildbereich basierende Bildverarbeitung für einen JPEG-Datensatz darstellt.
  • 3 zeigt ein Blockschaltbild, welches die auf einem komprimierten Bildbereich basierende Bildverarbeitung für eine JPEG-Datensatz gemäß der Erfindung darstellt.
  • 4 zeigt ein Schaltbild, welches eine Blockrotation um 90° durch eine Diagonal-Umkehr (diagonal-flip) (Fd) und eine Spalten-Umkehr (column-flip) (Fy) gemäß der Erfindung darstellt.
  • 5 zeigt ein Blockschaltbild einer digitalen Standbild-Kamera (digital still-imaging camera) (DSC), welche in Verbindung mit der Erfindung verwendet werden kann.
  • 6 zeigt ein Blockschaltbild, das die wechselseitige Beziehung zwischen verschiedenen Komponenten darstellt, welche zum Erfassen und Anzeigen digitaler Bilder verwendet werden können, wie auch das Verarbeiten solcher Bilder gemäß der Erfindung.
  • Da die 8 × 8 diskrete Cosinus-Transformation (discrete cosine transform) (DCT) als Basisfunktion bei Standbild-Kompresssionsstandards wie JPEG gewählt wird (siehe, G. K. Wallace, „The JPEG Still Picture Compression Standard," Communications of the ACM, Band 34, Nummer 4, Apr. 1991), und da JPEG das in vielen digitalen Verbraucher-Standbild-Kameras auf dem Markt weit verbreitete Kompressionsverfahren ist, wird sich die folgende Beschreibung auf einige der Verarbeitungsverfahren komprimierter Bildbereiche fokussieren, welche für digitale Standbild-Kamera-Anwendungen geeignet sind und welche auf den DCT-Bildbereichsdarstellungen des JPEG-komprimierten Bitstroms der Kamera arbeiten. Obwohl 8 × 8 die üblichste DCT Blockgröße ist, können sich die Verfahren auf andere DCT Blockgrößen erstrecken. Weiterhin sind die Verfahren ausweitbar auf alle anderen auf Lineartransformation basierende Basisfunktionen einschließlich diskreter Sinus-Transformation, diskreter Hadamard-Transformation und auch die Elementarwellen(Wavelet)-Transformationen.
  • Wir beginnen mit dem kurzen Beschreiben des JPEG-Kompressions- und Dekompressionsprozesses und der grundlegenden Idee zum Aufnehmen von Bildverarbeitungsfunktionen in den JPEG-Ablauf (JPEG pipeline). JPEG benutzt das DCT, um Standbild-Daten aus ihrer räumlichen oder Pixel-Bildbereichsdarstellung in ihre komprimierte oder Frequenz-Bildbereichsdarstellung zu transformieren, in welchen die Daten effizienter kodiert werden können. Die hier entwickelten Bildmanipulationsverfahren sind dazu ausgelegt, die Vorteile der Eigenschaften des DCT zu nutzen.
  • Der JPEG-Kompressions- und Dekompressionsprozess, schematisch dargestellt in 1, arbeitet auf einer Block-bei-Block (block-by-block) Basis, wobei jede Blockgröße 8 × 8 ist. Wie schematisch in 1 dargestellt, wird das unkomprimierte Standbild 11 durch einen Raster-nach-Block Konverter 12 in 8 × 8 Pixelblöcke zerlegt. Diese Blöcke werden dann durch den Vorwärts-8 × 8-DCT 13 transformiert, um einen zugehörigen Satz von 8 × 8 DCT Blöcken zu erzeugen. Der Vorwärts-8 × 8-DCT F(u, ν) eines 8 × 8 Blocks einem räumlichen Bildbereich von Abtastungen (samples) f(i, j) wird berechnet als:
    Figure 00070001
    wobei,
    Figure 00080001
  • Nach Eingabe des Vorwärts-8 × 8-DCT 13 wird jeder der 64 DCT Koeffizienten einheitlich in einem Vorwärts-Quantisierer 14 in Verbindung mit einer 64-Element-Quantisierungtabelle Q quantisiert, welche empirisch abgeleitet werden kann, um Information abzulegen, welche visuell nicht signifikant ist. Bei diesem Kompriomierungsprozess rührt der einzige während der Kompression hinnehmbare Verlust aus der Quantisierung von F(u, ν) zu
    Figure 00080002
    wobei Q die 8 × 8 Quantisierungstabelle ist.
  • Nach der Quantisierung sind die DCT-Daten in jedem Block in einer „Zick-Zack"-Sequenz geordnet, welche Kodierung des mittleren Informationsgehalts durch Stellen von Koeffizienten niedriger Frequenz (welche eher nicht Null sind) vor die Koeffizienten höherer Frequenz (welche eher Null sind) erleichtert. Die Daten werden dann in einem Huffman-Kodierer 15 Huffman-kodiert, um die Daten weiter zu verdichten und einen JPEG-komprimierten Bitstrom zu erzeugen.
  • Das Bild kann dann aus dem komprimierten Bitstrom durch einen symetrischen Umkehrprozess rekonstruiert werden. Der JPEG-Dekompressionsprozess beginnt durch dekodieren des komprimierten Bitstroms in einem Huffman-Dekoder 16, um die 8 × 8 Blöscke der DCT-Koeffizienten zurück zu gewinnen. Die Koeffizienten werden durch ein inverses Zick-Zack-Verfahren aufgenommen und die Blöcke werden dann durch einen inversen Quantisierer 17 geführt. Im nächsten Schritt arbeitet die 8 × 8 inverse diskrete Cosinus-Transformation (inverse discrete cosin transform) (IDCT) 18 auf den 8 × 8 Blöcken von DCT Koeffizienten, um einen Strom von 8 × 8 Pixelblöcken zu erzeugen. Ein Block-nach-Raster (block-to-raster) Konverter 19 konvertiert diese Blöcke in das dekomprimierte Standbild 21. Bei dem Dekompressionsprozess konvertiert die IDCT die Koeffizienten F(u, ν) zurück zu den Pixeln f(i, j), genau:
    Figure 00090001
  • Der Dekompressionsprozess wird eigentlich mit den quantisierten Koeffizienten, FQ, arbeiten, und nur eine Näherung fQ von f erzielen.
  • Figure 00090002
  • Wenn eine Bildverarbeitungsfunktion wir Rotation oder Maßstabsänderung (scaling) auf einem Bild ausgeführt werden soll, welches nur als JPEG-komprimierter Bitstrom verfügbar ist, kann diese Verarbeitung wie in 2 gezeigt durchgeführt werden. Zuerst wird der JPEG-komprimierte Bitstrom in Block 31 zurück in seine räumliche Bildbereichsdarstellung dekomprimiert. Die Bildverarbeitung des räumlichen Bildbereichs wird dann in Block 32 durchgeführt. Nachher werden die verarbeiteten Pixeldaten in Block 33 wieder komprimiert, um einen neuen JPEG-komprimierten Bitstrom zu erzeugen. Wir bezeichnen dieses Schema als einen räumlichen Bildbereichsansatz (spatial-domain approach), da die Verarbeitung direkt auf die dekomprimierten räumlichen Bildbereichsdaten (Pixel) angewendet wird.
  • Der räumliche Bildbereichsansatz hat bestimmte Vorteile. Einer dieser Vorteile ist der, dass die Bildverarbeitung in dem räumlichen Bildbereich ein bekanntes Problem ist und Lösungen für viele typische Bildverarbeitungsfunktionen weit verbreitet verfügbar sind. Ein anderer Vorteil besteht darin, dass die Verarbeitungsfunktion unabhängig von dem zugrunde liegenden Kompressionsschema ist, welches zur Darstellung der Daten verwendet wird.
  • Dieser Ansatz hat auch bestimmte Nachteile. Die Daten müssen vor dem Anwenden der Bildverarbeitungsfunktion vollständig dekomprimiert sein. Darüber hinaus müssen die verarbeiteten Daten dem Kompressionsprozess möglicherweise noch einmal unterworfen werden. Da JPEG ein verlustbehaftetes Kompressionsverfahren ist, kann die Dekompression-Rekompression zu einem Verlust von Bildqualität führen. Bei der Anwendung der Portrait- nach Landschaftsumwandlung wird sich die Qualität des Bildes jedes Mal schrittweise verschlechtern, wenn seine Ausrichtung geändert wird. Ein anderer Nachteil besteht darin, dass die Komplexität des Dekompressions- und Kompressionsprozesses sehr hoch ist. Wenn z. B. die Aufgabe der Bildverarbeitung ist, sagen wir, Rotation im Uhrzeigersinn um 90°, dann ist die Zahl der Operationen für die Rotation jedes 8 × 8 Blocks von Eingangsdaten wie in Tabelle 1 aufgeführt. Um eine grobe Abschätzung der Zahl der Operationen zu erhalten, haben wir angenommen, dass Multiplikationen, Additionen und Datenzugriffe jedesmal bei einer Operation pro Datenelement vorgenommen werden können.
  • Figure 00110001
    Tabelle 1: Zahl der Operationen für eine auf einem räumlichen Bildbereich basierende Rotieren-um-90°-Operation, wenn die Eingangs- und Ausgangsdaten in 8 × 8 DCT Form vorliegen. [*] Y. Arai und T. Agui und M. Nakajima, „A Fast DCT-SQ Scheme for Images," Übersetzung des IEICE, E71(11): 1095, Nov. 1988.
  • Die vorliegende Erfindung schlägt eine Alternative zur auf räumlichem Bildbereich basierenden Bildverarbeitung vor, nämlich eine auf komprimiertem Bildbereich basierende Bildverarbeitung. Die Letztere ist für Daten gut geeignet, welche schon in komprimierter Form verfügbar sind, wie ein JPEG-Bitstrom. Der Basisverarbeitungsablauf für auf komprimiertem Bildbereich basierenden Bildverarbeitungschema ist wie in 3 dargestellt. Für JPEG-Daten setzt auf komprimiertem Bildbereich basierende Bildverarbeitung üblicherweise DCT-Bildbereichsverarbeitung voraus, welche durch Block 42 in 3 dargestellt ist.
  • Wie in 3 gezeigt wird, geht der DCT-Bildverarbeitung 42 des Bildbereichs eine Dekodierung des mittleren Informationsgehalts des JPEG-komprimierten Bitstroms in Block 41 voraus und wird gefolgt von Kodierung des mittleren Informationsgehalts in Block 43. Wie auch in 3 gezeigt ist, wird Bildverarbeitungsblock 42 des DCT-Bildbereichs weiterhin in die mit 4449 bezeichneten Verarbeitungsblöcke geteilt. Wie vorstehend angemerkt, erzeugt das Dekomprimieren des Bitstroms 8 × 8 Blöcke von DCT Koeffizienten 44. Die Koeffizienten werden unter Verwenden einer De-Zick-Zack-Verarbeitung 45 aufgenommen, nach der die Blöcke von DCT-Koeffizienten dequantisiert 46 werden. Gemäß der Erfindung werden die dequantisierten Blöcke der DCT-Koeffizienten der Block-orientierten Verarbeitung 47 unterzogen.
  • In der Folge der Verarbeitung werden die auf DCT-Daten basierenden Blöcke quantisiert 48 und in die Zick-Zack-Sequenz 49 aufgenommen. Abhängig von der Bildverarbeitungaufgabe müssen jedoch nicht alle der Blöcke 44-49 verarbeitet werden. Zum Beispiel können für die D4 Operationen (welche als Sequenzen von Umkehrungen (flips) über die Diagonale und die Y-Achse ausgedrückt werden können) die Schritte des De-Zick-Zack 45, Dequantisieren 46, Zick-Zack 49, und Quantisieren 48 weggelassen werden. Die Einzelheiten von auf komprimiertem Bildbereich basierender D4-Operationen sollen im nächsten Abschnitt diskutiert werden.
  • Generell hat die Verarbeitung auf komprimiertem Bildbereich die folgenden Vorteile. Erstens kann die Bildqualität erhalten werden, da in vielen Fällen Dequantisierungs-Quantisierungs-Schritte vermieden werden können. Zweitens kann die Komplexität sehr viel geringer sein als bei dem in 2 dargestellten Gegenstück räumlicher Bildbereiche, da vollständige JPEG-Dekompressions- und Kompressionsaufgaben vermieden werden. Insbesondere bei einer Rotation um 90° weist eine einfache Implementierung des auf komprimiertem Bildbereich basierenden Gegenstücks der Verarbeitung in Tabelle 1 einen Operationszähler wie in Tabelle 2 gezeigt auf. Zu beachten ist, dass die Gesamtoperationszahl bei Verwenden des komprimierten Bildbereichsansatzes fast fünfmal geringer als bei räumlichem Bildbereichsansatz in Tabelle 1 ist. (Einzelheiten des auf DCT-Bildbereichen basierenden Rotationsverfahrens sind weiter unten diskutiert.) Ein anderer Vorteil besteht darin, dass bei typischem digitalen Bildgebung auf Grund hoher Korrelation zwischen den Pixeln die DCT- Bildbereichsdarstellung dazu neigt, sehr dürftig zu sein (z. B. liegen in einem 8 × 8 DCT-Block üblicherweise etwa 7–16 Werte ungleich Null). Diese Dürftigkeit der Dateneigenschaftenkann durch den DCT-Bildbereichsverarbeitungsansatz ausgenutzt werden, um die Geamtkomplexität weiter zu verringern; diese Eigenschaft ist in einer räumlichen Bildbereichsdarstellung nicht verfügbar. (Spezielle Verfahren, um diese Eigenschaft für die D4-Operationen auszunutzen werden weiter unten beschrieben.)
  • Figure 00140001
    Tabelle 2: Operationszahl für auf komprimiertem Bildbereich basierender Rotieren-um-90°-Operation, wenn die Eingangs- und Ausgangsdaten in 8 × 8 DCT Form vorliegen.
  • Zu beachten ist, dass es unter Umständen generell nicht möglich ist, eine auf komprimiertem Bildbereich basierende Verarbeitung entsprechend einer auf räumlichem Bildbereich basierenden Bildverarbeitungsfunktion herzuleiten. DCT ist eine Lineartransformation und daher kann eine auf komprimiertem Bildbereich basierende Verarbeitung wahrscheinlich für lineare Bildverarbeitungsfunktionen erreicht werden. Nichtlineare Bildverarbeitungsfunktionen wie Mittelwert(median)-Filtern, Verziehen (warping)/Bildumwandlung (morphing) sind dem auf komprimiertem Bildbereich basierenden Ansatz wie dem in 3 dargestellten nicht zugänglich.
  • Zweiflächige (dihedral) Symetrieoperationen auf JPEG-Bildern
  • In diesem Abschnitt entwickeln wir die grundlegenden Gleichungen, welche die einfache geometrische Transformation von JPEG-komprimierten Daten bestimmen. Die Operationen, welche durch Zusammensetzungen von Umkehrvorgängen (flips) über die diagonale Achse, die Y-Achse (d. h. die mittlere vertikale Achse) und die X-Achse (d. h. die mittlere horizontale Achse) bestimmt sind, bilden die Gruppe zweiflächiger Symetrie des Quadrats, welche als D4 bezeichnet ist. Diese Operationen sind in Tabelle 3 aufgeführt und beschrieben.
  • Figure 00150001
  • Figure 00160001
    Tabelle 3: Die Gruppe D4 der zweiflächigen Symetrie eines Quadrats.
  • Zu beachten ist, dass die Operationen Fd und Fy zusammengestzt sein können, um die gesamte Gruppe zu erzeugen. (Notationsvereinbarung: die Zusammensetzung o1o2 von Operationen o1 und o2 ist die Operation, welche daraus resultiert, dass zuerst o2 und dann o1 angewendet wird.) Zum Beispiel kann ein einfaches Rotatieren-um-90° (R90) im Uhrzeigersinn durch Anwenden einer Diagonal-Umkehr erreicht werden, gefolgt von einer Spalten-Umkehr wie in 9 dargestellt. Deshalb kann, wenn wir die auf komprimiertem Bildbereich basierenden Gegenstücke der zwei Operationen Fd und Fy herleiten können, der gesamte Rest von diesen hergeleitet werden.
  • Es sei f ein 8 × 8 Pixelblock, und F der entsprechende 8 × 8 DCT-Block (DCT(f) = F und IDCT(F) = f) . Für jede der acht D4 Operationen, o, ist es leicht, die Beziehung zwischen f und of auszudrücken. Das Ziel ist, die Beziehung zwischen F und DCT(of)(bezeichnet als oF) herzuleiten.
  • Ziehen wir die Operation Fy heran. In dem räumlichen Bildbereich kann die Ausgabe der Spalten-Umkehr Fyf(i, j) ausgedrückt werden als:
    Figure 00170001
  • Unter Verwenden von Gleichung 2 kann C7–k,ν ausgedrückt werden als:
    Figure 00180001
  • Unter Verwenden von Gleichung 14 und der DCT-Definition in Gleichung 1 kann FyF(u, ν) in Gleichung 9 umformuliert werden in:
    Figure 00180002
  • In dem räumlichen Bildbereich ist die Diagonal-Umkehr eines Eingabeblocks f(i, j) gleich Fdf(i, j) = f(j, i). FdF(u, ν) = F(ν, u) (17)
  • Unter Verwenden von Gleichung 15, Gleichung 17 und den Beziehungen, welche in der dritten Spalte der Tabelle 3 gegeben sind, können wir das auf komprimiertem Bildbereich basierende Gegenstück für alle D4 Operationen herleiten. Diese sind in Tabelle 4 aufgeführt.
  • Figure 00190001
  • Figure 00200001
    Tabelle 4: DCT-Bildbereichsoperationen für geometrische Transformationen in D4.
  • Die vorstehenden Beziehungen wurden hergeleitet, ohne eine Quantisierung zu berücksichtigen. Durch einfaches Verwenden der dequantisierten Koeffizienten, FQ(u, ν)Q(u, ν), an Stelle von F(u, ν), ist leicht erkennbar, dass die quantisierten Koeffizienten eines durch eine D4-Operation erzeugten Blocks direkt durch Anwenden der entsprechenden Eingangsblockverarbeitung (Spalte 3 von Tabelle 4) auf die quantisierten Koeffizienten des ursprünglichen Blocks erhalten werden können. Die Quantisierungstabelle bleibt die Gleiche (sie wird für Fd, Fcd, R90 und R–90 transponiert) . Dieser DCT-Bildbereichsansatz vermeidet die IDCT, die DCT genauso wie Dequantisierung und Quantisierung. Weiter unten wird gezeigt, dass die De-Zick-Zack- und Zick-Zack-Schritte ebenfalls vermieden werden können.
  • Um die D4-Operation auf einem W × H JPEG-Bild auszuführen, welches aus vielen 8 × 8 Blöcken (W und H sind in jedem JPEG-Bild Vielfache von 8, erhalten durch Füllen (padding) des ursprünglichen Bildes, wenn nötig) besteht, sieht das auf komprimiertem Bildbereich basierende Verfahren wie folgt aus: (a) Umordnen der 8 × 8 Blöcke für die entsprechende geometrische Transformation, und (b) Anwenden der DCT-Bildbereichsoperation wie in Tabelle 4 auf Elemente innerhalb jedes 8 × 8 DCT-Blocks. Zu beachten ist, dass (a) und (b) verlustlose Operationen dahingehend sind, dass die quantisierten DCT-Koeffizienten FQ(u,) nicht über einen Vorzeichenwechsel hinausgehend manipuliert werden; durch Vermeiden des Prozesses der Dequantisierung und Requantisierung ist kein Qualitätsverlust hinzunehmen, ungeachtet der Anzahl einer oder mehrerer auf die JPEG-Datei der Kamera angewendeter geometrischer Transformationen der Tabelle 4.
  • Der Einfachheit halber beschreiben wir zuerst das Implementierungsverfahren bei Graustufen-Bildern; die einfachen Modifikationen, welche für Farbbilder notwendig sind, werden im Folgenden skizziert. Wir nehmen an, dass die Breite und Höhe des Bildes ein Vielfaches von 8 beträgt. Darüber hinaus werden wir für Farbbilder annehmen, dass die Bildung von unterlegten Abtastungen (subsampling) kein Blockfüllen erforderlich macht. Alle hier beschriebenen Operationen können auch durch zuerst Füllen des ursprünglichen Bildes mit einigen zusätzlichen Reihen/Spalten angewendet werden, wenn diese Randbedingungen nicht erfüllt sind.
  • Nehmen wir ein W × H Graustufen-Bild an, I, verfügbar als JPEG-Daten. Durch Anwenden des Dekodierens des mittleren Informationsgehalts auf die JPEG-Daten und Rückgängigmachen der differenziellen (differential) Kodierung der DC-Ausdrücke könne wir die quantisierten DCT-Koeffizienten für jeden Block erhalten. Bezeichnen wir mit Fk den 8 × 8 Block (nummeriert mit k in Rasterreihenfolge) von quantisierten DCT-Koeffizienten für das Bild (0 ≤ k < WH/64).
  • Bezeichnen wir mit Io das Ergebnis der auf das Bild angewendeten Operation o (wobei o eine der D4-Operationen der Tabelle 3 ist). Aus der vorstehenden Diskussion ist ersichtlich, dass die DCT-Koeffizienten-Blöcke von Io im Wesentlichen die Gleichen sein werden wie die in I, wobei mögliches Umordnen, Transponieren, und Vorzeichenwechsel und die Quantisierungstabelle ebenfalls gleich sind, mit möglicher Transposition. Allgemein kann der Block Fo k von quantisierten Koeffizienten in Io ausgedrückt werden als: Fk o = oFp o(k)
  • Wobei po eine Permutation der Blöcke ist. Nhemen wir als Beispiel eine Rotation um 90° (o = R90) im Uhrzeigersinn an. Für k = ib(H/8) + jb (das ist der Block in Reihe ib und Spalte jb der Blöcke in dem rotierten Bild Io), erhalten wir: Po(k) = (H – jb – 1)(W/8) + ib .
  • Um das JPEG-Bild Io zu erzeugen, müssen wir die Blöcke Fk o in der Reihenfolge k = 0, 1, 2, ... berechnen. Dies würde den Zugriff auf die Blöcke von I in der Reihenfolge po(0), po(1), po(2), ... erfordern, welcher (im Allgemeinen) verschieden von der Rasterreihenfolge ist, in welcher diese Blöcke in dem JPEG-Bild I gespeichert sind. Da die komprimierten Blöcke eine willkürlich unterschiedliche Größen aufweisen können, würde eine Extraktion eines bestimmten Blocks aus dem JPEG-Bitstrom das Analysieren aller vorhergehender Blöcke erfordern, was zu teuer ist. Darüber hinaus kann der Wert des quantisierten DC-Koeffizienten in jedem Block wegen der differentiellen Kodierung nur extrahiert werden, nachdem alle vorhergehenden DC-Werte dekodiert wurden. Wir umgehen diese Probleme durch Verwenden eines Ansatzes in zwei Durchgängen (two-pass approach). Im ersten Durchgang wird das JPEG-Bild I analysiert, um den Bit-Offset jedes Blocks und den DC-Wert jedes Blocks zu extrahieren. Im zweiten Durchgang, wenn Fk o des Bildes Io berechnet wird, wird auf den Block Fp o(k) bereits durch Auffinden des Bit-Offsets für Blocknummer po(k) und Suchen nach I an dieser Position in dem JPEG-Bitstrom zugegriffen. Dieser Algorithmus ist in dem folgenden Pseudo-Kode zusammengefasst.
  • Figure 00230001
  • Effiziente Transposition und Vorzeichenwechsel von Blöcken
  • Das Herz des „OperateJPEG"-Algorithmus liegt in den zweiten Durchgang, wenn der ursprüngliche Block Fp o(k) über o transformiert wird, um den Block Fk o für das Bild Io zu erhalten. Transposition und Anwendung von Vorzeichenwechseln auf einen 8 × 8 Block würde das einmalige Zugreifen auf jedes Element des Blocks erforderlich machen, wenn dies in geradliniger Art (straight-forward manner) implementiert ist. Das Bedautet, dass die Komplexität ein Vielfaches von 64 sein wird. Die quantisierten Koeffizientenblöcke in typischen JPEG-Bildern weisen eine sehr kleine Anzahl (typischerweise kleiner als 16) von Koeffizienten ungleich Null auf. Wir legen einen Algorithmus dar, welcher die Transposition und Vorzeichenwechsel mit einer Komplexität proportional der Anzahl der Koeffizienten ungleich Null in dem Block durch führt. Dies führt zu einer wesentlichen Reduktion der Gesamtkomplexität, was diese linear zur Gesamtgröße des komprimierten Bildes anstatt zur Gesamtgröße des unkomprimierten Bildes macht.
  • In dem Huffman-Kodierungsmodus des JPEG wird ein Block quantisierter Koeffizienten durch Abtasten in Zick-Zack-Anordnug kodiert, um lange Läufe von Nullen zusammen zu gruppieren. Die Zick-Zack-Reihenfolge ist in Tabelle 5 spezifiziert. Beim Kodieren eines Blocks wird zuerst die Differenz zwischen den quantisierten DC-Werten des aktuellen Blocks und den vorgehenden Block unter Verwenden einer Huffman-Tabelle kodiert, welche spezifisch für diese Differenziale ist.
  • Figure 00250001
    Tabelle 5: Die Zick-Zack-Reihenfolge, ZZ(u, ν), benutzt von JPEG.
  • Als Nächstes werden die quantisierten AC-Koeffizienten in Zick-Zack-Reihenfolge abgetastet und als eine Sequenz von Symboltrios (symbol trios) in der Form (R, S, V) kodiert, wobei R die Anzahl von aufeinander folgenden Nullen in der Zick-Zack-Reihenfolge ist, und der nächste Koeffizient ungleich Null einen Wert x wie folgt aufweist:
    Figure 00250002
  • Die Bits für V werden unter Verwenden der Standard zwei(2's)-komplementären Binärdarstellung von x oder x – 1 extrahiert. In dem JPEG-Bitstrom wird jedes (R, S, V) zuerst durch Verwenden einer Huffman-Tabelle zum Kodieren von (R, S) und dann S zusätzlicher Bits zum Kodieren von V kodiert. Es gibt einige besondere Kodierungssituationen wie sehr lange Läufe von Nullen und Enden von Blöcken (end-of-blocks), welche durch spezielle Kode gehandhabt werden. Doch hinsichtlich unserer Zwecke sollte aus dieser Beschreibung deutlich geworden sein, dass JPEG-Daten leicht analysiert werden können, um jeden Block in einer Datenstruktur zu erfassen, welcher in der Form vorliegt:
    Figure 00260001
  • In dieser Datenstruktur ist N die Anzahl von AC-Koeffizienten ungleich Null in dem Block. Nur die ersten N Einträge des Feldes (array) A sind von Bedeutung. Die Elemente A[k] ergeben die Zick-Zack-Position (Z), und die S und V-Werte für den k-ten AC-Koeffizient ungleich Null, 0 ≤ k < N. Einlesen eines Blocks aus einem JPEG-Bitstrom in diese Struktur und Schreiben dieser Struktur als JPEG-Daten ist beides geradlinig (straightforward), wobei die Details hier weggelassen werden.
  • Die Operation o kann Transposition und/oder Vorzeichenwechsel erfordern. Wir beschreiben nun einen neuen Algorithmus zum Implementieren von o unter Verwenden der vorstehenden Datenstruktur, bei dem nur N Schritte (statt 64) benötigt werden. Dieser Algorithmus vermeidet die De-Zick-Zack-Verarbeitung (dezigzagging) und Zick-Zack-Verarbeitung (zigzagging) der Koeffizienten, da er die Zick-Zack-geordnete Blockdarstellung direkt nutzt.
  • Gegeben sei eine Eingangs-"JpegBlock"-Struktur B (entsprechend einem Blcok F), wobei wir die die Struktur Bo auffinden möchten, entsprechend zu oF. Zum Ändern des Vorzeichens eines quantisierten AC-Koeffizienten ungleich Null, x, mit den entsprechenden S und V-Werten Sx und Vx, ist es ausreichend, einfach das bitweise Komplement von Vx zu nehmen. Dies bedeutet S–x = Sx, V–x = –Vx
  • Es sei so[64] ein vorberechnetes Feld von boolschen Kennzeichen (flags), so dass so[Z] TRUE ist, wenn und nur wenn o das Ändern des Vorzeichens des Zten Zick-Zack-Koeffizienten erfordert.
  • Wenn nur Vorzeichenänderungen erforderlich sind, (d. h. für die Operationen Fx, Fy, R180) , dann kann B in Bo durch Kopieren jedes Eintrags durch Umkehren der Bits für solche A[k].V, für die so[A[k].Z] True ist, konvertiert werden.
  • Transponieren einer „JpegBlock"-Struktur in N Schritten nutzt die folgenden Schlüsselbeobachtung: das Feld A bleibt das Gleiche, ausgenommen dass Elemente auf jeder gegebenen Kreuzdiagonalen in der Reihenfolge umgekehrt werden. Um dies zu darzustellen, soll t[Z] der transponierte Zick-Zack-Index des ursprünglichen Zick-Zack-Index Z sein. Dies bedeutet,
    t[1] = 2, t[2] = 1, t[3] = 5, t[4] = 4, ...
  • Betrachten wir eine Situation, in der die Zick-Zack-Koeffizienten nummeriert sind:
    1, 3, 6, 7, 10, 11, 14
    sind die einzigen Koeffizienten ungleich Null. Dann ist die Zick-Zack-Reihenfolge nach der Transposition:
    t[1], t[3], t[7], t[6], t[14], t[11], t[10].
  • Deshalb muss jede Gruppe von Koeffizienten umgejehrt werden, welche auf der gleichen Kreudiagonalen liegt. Dies kann effizient durch Abtasten (scanning) des Feldes B.A[...] der Koeffizienten ungleich Null getan werden, unterbrochen bei jedem Koeffizienten, bei dem die Kreudiagonale wechselt, um die vorhergehende Kreudiagonale in umgekehrter Reihenfolge von B.A[...] nach Bo.A[...] zu kopieren.
  • Das folgenden Stück Pseudo-Kode fasst den Algorithmus zusammen. Die Felder t und so (vorstehend definiert) sind vorberechnet. Zusätzlich soll d[64] ein anderes vorberechnetes Feld sein, welches die „kreuzdiagonale Anzahl" für jeden Zick-Zack-Index angibt. Dies bedeutet, wenn der Zick-Zack-Index Z der Zeilenanzahl u und der Spaltenanzahl ν entspricht, dann ist d[Z] = u + ν.
  • Figure 00280001
  • Figure 00290001
  • Farbbilder
  • Im Allgemeinen besteht ein JPEG-Bild aus mehr als einer Farbebene, mit einigen unterabgetasteten (subsampled) Ebenen. Die Anzahl von Farbebenen sei mit P bezeichnet. Zugeordnet zu jeder Ebene, p (1 ≤ p ≤ P), ist ein horizontaler Abtastfaktor (sampling factor) wp, und ein vertikaler Abtastfaktor, hp. Die Breite und Höhe von Ebenennummer p ist entsprechend durch W wp/wmax Und H hp/hmax gegeben. Hier ist wmax der Maximalwert von wp und hmax der Maximalwert von hp, über alle Ebenen (1 ≤ p ≤ P).
  • Die JPEG-Daten können eine weitere Strukturierungsschicht aufweisen, welche aus Abtastresultaten (scans) besteht. Ein Abtastresultat besteht aus einer oder mehreren Farbebenen, möglicherweise mit einer begrenzten Bit-Genauigkeit (bit-precision) von Koeffizientwerten. Der „OperateJPEG"-Algorithmus kann einfach durch Anwenden dieser auf jedes aufeinander folgende Abtastresultat erweitert werden.
  • Innerhalb jedes Abtastresultats sind die Daten der Blöcke von allen Farbebenen in dem Abtastresultat in Einheiten organisiert, welche als minimal kodierte Einheiten (minimum coded units) (MCUs) bekannt sind. Jede MCU besteht aus einer festen Anzahl von Blöcken in einer festen Reihenfolge, festgelegt durch alle wp und hp. Für die von uns in Betracht gezogenen Operationen besteht das Bild Io aus exakt den gleichen Abtastresultaten und MCU-Gruppierungen wie I, so lange wir nicht die Abtastfaktoren ändern (hp und wp müssen für die Operationen, welche eine Transposition erfordern, nicht vertauscht (swapped) werden). Die Reihenfolge der MCUs und die Reihenfolge der Blöcke in jeder MCU können sich ändern, doch jede MCU in Io kann aus exakt einer MCU in I erhalten werden. Wir nutzen diese Tatsache aus, um auch Speicher durch Aufbau des Bit-Offsets und der DC-Tabellen auf MCU-Ebene (MCU level), anstatt auf Block-Ebene, einzusparen.
  • Deshalb arbeitet für jedes Abtastresultat in I „OperateJPEG" in zwei Durchgängen. Im ersten Durchgang wird für jede MCU in dem Abtsatresultat der Bit-Offset und der DC-Wert des ersten Blocks in dieser MCU von jeder Farbebene aufgenommen. In dem zweiten Durchgang, wenn ein besonderer MCU für das Abtastresultat von Io berechnet werden soll, wird die entsprechende MCU von I extrahiert und die „JpegBlock"-Struktur für jeden einzelnen Block ausgefüllt. Diese Blöcke werden dann transponiert/vorzeichengeändert/umgeordnet (wie von der Operation gefordert), um die MCU für Io zu bilden, welche als JPEG-Datum herausgeschrieben wird.
  • Auf komprimiertem Bildbereich basierende Bildrotationen – DSC-Anwendung
  • Die Verarbeitungsverfahren auf komprimiertem Bildbereich der vorliegenden Erfindung können in Verbindung mit verschiedensten digitalen Geräten verwendet werden, umfassend eine digitale Standbild-Kamera (DSC), von welcher ein Blockschaltbild in 5 dargestellt ist. Betrieben unter Mikroprozessorsteuerungverfügt die DSC 60 über einen an ein Gerät (CCD) ladungsgekoppelten (charge-coupled device) Bildsensor, welcher ein Bild aufnimmt und es in ein analoges elektrisches Signal in Block 61 konvertiert. Das analoge Signal wird dann verarbeitet und in Block 62 digitalisiert, wonach das digitale Bild temporär in einem Bildspeicher 63 gespeichert wird, solange es einer digitalen Verarbeitung in Block 64 unterzogen wird. Der digitale Bildverarbeitungblock 64 führt verschiedene Funktionen einschließlich Kompression und Dekompression durch und kann auch die auf komprimiertem Bildbereich basierenden Verfahren der vorliegenden Erfindung durchführen. Unter Benutzerkontrolle 65 bildet der Verarbeitungsblock 64 eine Schnittstelle mit dem in der Kamera liegenden Bildspeicher 66, in dem dekomprimierte Bilddaten gespeichert werden können. Der Speicherblock 66 kann aus kompakten magnetischen oder Festkörperspeichermedien (solidstate storage media) bestehen, entweder austauschbar oder befestigt in dem DSC 60, und kann austauschbare, hochkapazitive PCMCIA-formatierte Festplatten-Karten oder flash-memory-Karten umfassen.
  • Die DSC 60 umfasst entsprechende analoge und digitale Ausgänge, 67 und 68, über welche Bilddaten innerhalb der DSC oder an externe Geräte übertragen werden können. Unkomprimierte Bilddaten können über die analogen Ausgänge 67 an einen LCD-Schirm 69 innerhalb der DSC 60, oder an externe Geräte wie einen VCR oder TV-Monitor übertragen werden. Bilddaten, ob komprimiert oder unkomprimiert, können auch über die digitalen Ausgänge 68 an ein digitales Gerät wie ein Computersystem übertragen werden, an dem das Bild angezeigt werden kann.
  • Die Fähigkeit zum Durchführen der D4-Operationen wie Rotationen um 90°, 180°, 270° oder eine Spiegelumkehr (mirror-flip) durch direktes Manipulieren der DCT-Bildbereichsdarstellungen ist in der DSC 60 sehr nützlich. Wenn die Kamera vertikal gehalten wird, um ein ein kleines Objekt zu erfassen, erscheint das resultierende Bild als ein Bild, welches einer 90°-Rotation gegenüber dem gleichen Bild unterzogen wurde, welches mit der horizontal gehaltenen Kamera aufgenommen wurde. Mit typischen Filmkameras ist dies kein Problem, da man beim Halten der Abzüge (prints) das Bild einfach um 90° dreht, um das korrekte Bild zu sehen. Bei in der vorstehend beschriebenen Art aufgenommenen DSC 60-Bildern kann dies problematisch sein, da diese Bilder oft direkt gedruckt oder auf einem TV-Monitor angeschaut oder in ein Computerdokument eingefügt werden. Durch Einbeziehen der auf komprimiertem Bildbereich basierenden Bildverarbeitung kann die DSC 60 während des Auslesens der DSC-Bilddatei die korrekte Ansicht des Bildes durch Rückgängigmachen der Rotation durch die hier beschriebenen Verfahren erzeugen. Bei einem DSC-System kann die Rotationsfunktion innerhalb der DSC 60 oder innerhalb des auf einem Computer laufenden Software-Treibers liegen, welcher mit der DSC 60 verbunden ist. Bei einer DSC 60 mit eingeschränkter Computertauglichkeit und begrenztem Speicher könnte ein auf komprimiertem Bildbereich basierender Ansatz der einzig effiziente Weg sein, bei dem die geometrische Transformation durchgeführt werden kann. Der alternative Ansatz zum Dekomprimieren von Daten und dann Durchführen der Manipulation ist speicherinternsiv und die geringere CPU-Geschwindigkeit der DSC 60 kann zu deutlichen Leistungsnachteilen führen. Da sich DSC-Systeme weiterentwickeln, können zusätzliche Merkmale wie Bildvergrößerung (image enhancement) und Wasserzeichenanbringung (watermarking) leicht in den Verarbeitungrahmen auf komprimiertem Bildbereich aufgenommen werden ohne zwischen einer Darstellung auf komprimiertem Bildbereich und räumlichem Bildbereich hin- und her zu wechseln.
  • Wie vorstehend angemerkt, kann die in 5 gezeigte DSC 60 auch in Verbindung mit einem Computersystem und anderen Komponenten zum Erfassen, Verarbeiten und Darstellen digitaler Bilder verwendet werden. 6 zeigt ein Blockschaltbild, welches die wechselseitige Beziehung zwischen der DSC 60, einem Computersystem und verschiedenen anderen Komponenten darstellt. Das Computersystem, generell gekennzeichnet mit der Bezugsziffer 100, kann jeder geeignete Typ wie ein Zentralrechner (main frame) oder ein Personal-Computer sein.
  • Das Computersystem 100 umfasst eine Zentralprozessoreinheit (central processing unit) (CPU) 101, welche ein konventioneller Mikroprozessor sein kann, einen Arbeitsspeicher (random access memory) (RAM) 102 zum temporären Speichern von Informationen, und einem Festwertspeicher (read only memory) (ROM) 103 zum permanenten Speichern von Informationen. Jede dieser Komponenten ist mit einem Bus 104 gekoppelt. Der Betrieb des Computersystems 100 wird typischerweise durch eine Betriebssystemsoftware gesteuert und koordiniert. Das Betriebssystem, welches in dem Systemspeicher beinhaltet ist und auf der CPU 101 läuft, koordiniert den Betrieb des Computersystems 100 durch Steuern der Belegung (allocation) von Systemresourcen und Durchführen einer Vielzahl von Aufgaben wie Verarbeitung, Speicherverwaltung, Vernetzung und Ein-/Ausgabefunktionen (I/O functions) u. a.
  • aber einen Kontroller 105 an den Bus 104 gekoppelt ist ein Diskettenlaufwerk 106, in welches ein nicht-flüchtiges Massenspeichereinheit wie eine Diskette 107 eingeführt werden kann. Ähnlich verbindet ein Kontroller 108 einen Bus 104 und ein Compact Disc(CD)-ROM-Laufwerk 109, welches zur Aufnehmen einer CD-ROM 110 ausgebildet ist. Eine Festplatte 111 ist als Teil eines festen Diskettenlaufwerks 112 vorgesehen, welches über einen Diskettenkontroller 113 an den Bus 104 gekoppelt ist.
  • Software für die auf komprimiertem Bildbereich basierenden Verarbeitungsverfahren kann in Speichergeräten 107 und 110 gespeichert und der CPU 101 zur Ausführung zugeführt werden.
  • Alternativ dazu kann die Software in RAM 102 oder ROM 103 gespeichert werden. Ähnlich können verarbeitete oder zu verarbeitende Bilddaten gemäß der Erfindung durch austauschbare Speichermedieneinheiten wie die Diskette 107 und DC-ROM 110 in das Computersystem 100 geladen oder aus diesem extrahiert werden.
  • Bilddaten können in das Computersystem 100 auch auf anderen eingegeben werden. Von einer Film-Kamera 115 erzeugte Film- basierende Bilder 114 können durch einen Scanner 116 zum Speichern digitalisiert und durch einen Computer 100 verarbeitet werden. Die DSC 60 kann Bilder direkt digitalisieren und diese wie vorstehend erklärt an einen Computer 100 übertragen. Eine Tastatur 121 und eine Maus 122, welche über einen Kontroller 1223 an den Bus 104 gekoppelt sind, erleichern die Eingabe solcher Daten und stellen anderseits ein Mittel zum Eingeben von Informationen in das Computersystem 100 bereit.
  • Bilddaten können auch zum und vom Computer 100 für entfernte Orte übertragen werden. In diese Richtung kann der Computer 100 auch einen Kommunikationsadapter 124 umfassen, welcher dem Computer 100 ermöglicht, mit Netzwerken 125 zu kommunizieren, die lokale Netzwerke (local area networks) (LANs), das Internet oder Online-Dienste über direkte Verbindungen oder über Modems umfassen.
  • Die an den Computer 100 übertragenen oder dort gespeicherten digitalen Bilder können auf verschiedene Arten angeschaut werden. Ein an den Computer 100 angeschlossener Drucker 126 kann Bildabzüge erzeugen, die abhängig von der Qualität des Druckers 126 variieren. Eine andere Möglichkeit besteht darin, die Bilder auf einer mit dem Computer 100 verbundenen Anzeige 127 anzuschauen. Noch eine weitere Möglichkeit kann sein, die Bilder auf einem Fernsehgerät unter Verwenden von VCR anzuzeigen.
  • Wie die vorstehende Beschreibung zeigt, haben die Erfinder hier einen einfachen, auf komprimiertem Bildbereich basierenden Verarbeitungsrahmen für JPEG-komprimierte Standbilder entwickelt. Es wurde gezeigt, dass einfache geometrische Transformationen wie Bildspiegelung, Rotationen um 90°, 180° und 270° in dem DCT-Bildbereich ohne Verlust an Bildgenauigkeit (image fidelity)leicht durchgeführt werden können. Darüber hinaus wurde ebenfalls gezeigt, dass selbst durch eine einfache Transformation wie Rotieren-um-90° eine erhebliche Beschleunigung erzielt werden kann, wenn dies in dem DCT-Bildbereich anstatt mit dem auf komprimiertem Bildbereich basierenden Verarbeitungsansatz durchgeführt wird. Der praktische Nutzen der auf komprimiertem Bildbereich basierenden Bildtransformationen im konkreten Gebrauch, nämlich eine digitale Standbild-Kamera (still-camera), wurde ebenfalls beschrieben. Da die mit der digitalen Kamera erfassten Bilder zu Beginn sehr verrauscht sind, ist es geboten, dass jede auf diese Bilder angewendete Bildverarbeitung das Rauschen nicht verstärkt und die Verfahren der vorliegenden Erfindung im wesentlichen verlustlose Operationen sind. Darüber hinaus sind diese Verfahren für die begrenzten Rechenleistungen und Speicherfähigkeiten in digitalen Verbraucher-Standbild-Kameras gut geeignet. Das grundlegende Rahmenwerk für komprimierte Bildbereiche kann für andere Typen von Bildtransformationen genutzt werden; insbesondere kann das hier beschriebene Verfahren auf Bildvergrößerung, Bildfiltern (siehe, B. Chitprasert und K. R. Rao, „Discrete Cosine Transform Filtering," Signal Processing, Band 19, Seiten 233–245, 1990), Auflösungsübersetzung (resolution translation) usw. ausgedehnt werden.
  • Obwohl die Erfindung in Verbindung mit spezifischen Ausführungsformen beschrieben wurde, ist es für den Fachmann unter Kenntnisnahme der vorstehenden Beschreibung ersichtlich, dass viele andere Alternativen, Modifikationen und Variationen möglich sind. Zum Beispiel zeigen die zum Darstellen der auf komprimiertem Bildbereich basierenden Verarbeitungsverfahren der vorliegenden Erfindung verwendeten Blockschaltbilder die Leistungsfähigkeit bestimmter Funktionen und Beziehungen derselben. Die Randbedingungen der funktionalen Blöcke wurde hier zum besseren Verständnis der Beschreibung willkürlich festgelegt. Alternative Randbedingungen können insoweit festgelegt werden, als die dadurch spezifizierten Funktionen und Beziehungen entsprechend gebildet werden. Darüber hinaus stellt der zum Darstellen der Algorithmen der vorliegenden Erfindungen genutzte Pseudo-Kode keine Syntax oder irgendeine besondere Programmiersprache dar. Statt dessen stellt er die funktionale Information bereit, welche der Fachmann benötigt, um zum Durchführen der erforderlichen Verarbeitung Schaltungen herzustellen oder Software zu erzeugen. Jede der in den Blockschaltungen dargestellte Funktion kann z. B. durch Softwareanweisungen, eine funktional äquivalente Schaltung wie eine digitale Signalprozessorschaltung, eine applikationsspezifische integrierte Schaltung (application specific integrated circuit) (ASIC) oder eine Kombination davon implementiert sein. Die so beschriebene vorliegende Erfindung soll alle diese Alternativen, Modifikationen, Anwendungen und Variationen umfassen, welche in den Schutzumfang der angefügten Ansprüche fallen.

Claims (12)

  1. Verfahren zum Durchführen einer zweiflächigen (dihedral) Symmetrieoperation auf einer räumlichen Bildbereichsdarstellung eines digitalen Bildes durch Manipulieren einer Lineartransformation der Bildbereichsdarstellung des digitalen Bildes, die Schritte umfassend: Extrahieren einer Mehrzahl von lineartransformationsbasierten Datenblöcken, welche die linear transformierte Bildbereichsdarstellung des digitale Bildes definieren; Aufnehmen der Mehrzahl von lineartransformationsbasierten Datenblöcken; Anwenden einer Operation zur Lineartransformation des Bildbereichs auf wenigstens einen Datenblock der Mehrzahl von lineartransformationsbasierten Datenblöcken; und Zusammensetzen der Mehrzahl von lineartransformationsbasierten Datenblöcken; und bei dem die räumliche Bildbereichsdarstellung des digitalen Bilds einer zweiflächigen Symmetrieoperation unterzogen wird.
  2. Verfahren nach Anspruch 1, weiterhin die Schritte umfassend: Analysieren der komprimierten Bilddaten, um einen Offset-Wert und einen DC-Wert für jeden der Mehrzahl lineartransformationsbasierter Datenblöcke zu extrahieren; Zugreifen auf die Mehrzahl von lineartransformationsbasierten Datenblöcke durch Verwenden des entsprechenden Offset-Werts; und Extrahieren der Elemente jedes Datenblocks der Mehrzahl lineartransformationsbasierter Datenblöcke.
  3. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation irgendeine der folgenden Operationen umfasst: Umkehren des digitalen Bildes über seine Hauptdiagonale; Umkehren des digitalen Bildes über seine mittlere vertikale Achse; Umkehren des digitalen Bildes über seine kreuzdiagonale Achse; Umkehren des digitalen Bildes über seine mittlere horizontale Achse; Rotieren des digitalen Bildes um 90° im Uhrzeigersinn; Rotieren des digitalen Bildes um 180°; Rotieren des digitalen Bildes um 90° im Gegenuhrzeigersinn.
  4. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Umkehren des digitalen Bildes über seine Hauptdiagonale umfasst und bei dem die Operation der Lineartransformation des Bildbereichs auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um die Elemente innerhalb jedes Blocks zu transponieren.
  5. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Umkehren des digitalen Bildes über seine mittlere vertikale Achse umfasst und bei dem die Operation der Lineartransformation auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um das Vorzeichen der Elemente ungleicher Spalten innerhalb jedes Blocks umzukehren.
  6. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Umkehren des digitalen Bildes über seine kreuzdiagonale Achse umfasst, wobei die Operation der Lineartransformation auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um die Elemente innerhalb jedes Blocks zu transponieren und dann das Vorzeichen jedes anderen Elements innerhalb jedes Blocks umzukehren.
  7. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Umkehren des digitalen Bildes über seine mittlere horizontale Achse umfasst und bei dem die Operation der Lineartransformation auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um das Vorzeichen der Elemente ungleicher Zeilen innerhalb jedes Blocks umzukehren.
  8. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Rotieren des digitalen Bildes um 90° im Uhrzeigersinn umfasst und bei dem die Operation der Lineartransformation auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um die Elemente innerhalb jedes Blocks zu transponieren und dann das Vorzeichen der Elemente ungleicher Spalten innerhalb jedes Blocks umzukehren.
  9. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Rotieren des digitalen Bildes um 180° umfasst und bei dem die Operation der Lineartransformation auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um das Vorzeichen jedes anderen Elements innerhalb jedes Blocks umzukehren.
  10. Verfahren nach Anspruch 1, bei dem die zweiflächige Symmetrieoperation das Rotieren des digitalen Bildes um 90° im Gegenuhrzeigersinn umfasst und bei dem die Operation der Lineartransformation auf jeden der Mehrzahl lineartransformationsbasierter Datenblöcke angewendet wird, um die Elemente innerhalb jedes Blocks zu transponieren und dann das Vorzeichen der Elemente ungleicher Zeilen innerhalb jedes Blocks umzukehren.
  11. Digitale Kamera, umfassend: einen Sensor zum Erfassen von Licht und Umwandeln des Lichts in ein analoges Bildsignal; einen Analog/Digital-Wandler zum Umwandeln des analogen Bildsignals in ein digitales Bild in räumlichem Bildbereich; und einen digitalen Bildprozessor zum Komprimieren des digitalen Bildes aus der räumlichen Bildbereichsdarstellung des digitalen Bildes in eine lineartransformierte Bildbereichsdarstellung des digitalen Bildes, definiert durch eine Mehrzahl lineartransformationsbasierter Datenblöcke, wobei der digitale Bildprozessor die Mehrzahl lineartransformationsbasierter Datenblöcke extrahiert, die Mehrzahl lineartransformationsbasierter Datenblöcke umordnet, eine Operation zur Lineartransformation des Bildbereichs auf wenigstens einen der Mehrzahl lineartransformationsbasierter Datenblöcke anwendet, und die Mehrzahl lineartransformationsbasierter Datenblöcke wieder zusammensetzt, um eine zweiflächige Symmetrieoperation auf der räumlichen Darstellung des digitalen Bildes durchzuführen.
  12. Computersystem mit einem darin aufgenommenen computerlesbaren Programmkode, zum Veranlassen des Computersystems, eine geometrische Transformation eines digitalen Bildes in räumlichem Bildbereich durch die Schritte durchzuführen: Verarbeiten des digitalen Bildes, um eine lineartransformierte Bildbereichsdarstellung des digitalen Bildes zu erhalten, definiert durch eine Mehrzahl lineartransformationsbasierter Datenblöcke; und Durchführen der Verfahrensschritte eines der Ansprüche 1 bis 10.
DE69907798T 1998-03-30 1999-03-11 Umwandlungen von komprimierten Bildern Expired - Lifetime DE69907798T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/052,039 US6298166B1 (en) 1998-03-30 1998-03-30 Image transformations in the compressed domain
US52039 1998-03-30

Publications (2)

Publication Number Publication Date
DE69907798D1 DE69907798D1 (de) 2003-06-18
DE69907798T2 true DE69907798T2 (de) 2004-03-25

Family

ID=21975035

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69907798T Expired - Lifetime DE69907798T2 (de) 1998-03-30 1999-03-11 Umwandlungen von komprimierten Bildern

Country Status (4)

Country Link
US (1) US6298166B1 (de)
EP (1) EP0947954B1 (de)
JP (1) JP4348768B2 (de)
DE (1) DE69907798T2 (de)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042505B1 (en) 1997-10-09 2006-05-09 Fotonation Ireland Ltd. Red-eye filter method and apparatus
US7738015B2 (en) 1997-10-09 2010-06-15 Fotonation Vision Limited Red-eye filter method and apparatus
US7630006B2 (en) 1997-10-09 2009-12-08 Fotonation Ireland Limited Detecting red eye filter and apparatus using meta-data
FR2782861A1 (fr) * 1998-08-26 2000-03-03 Canon Kk Transcodage geometrique d'un signal numerique
US6456745B1 (en) * 1998-09-16 2002-09-24 Push Entertaiment Inc. Method and apparatus for re-sizing and zooming images by operating directly on their digital transforms
JP2000125136A (ja) * 1998-10-19 2000-04-28 Internatl Business Mach Corp <Ibm> 画像データ圧縮装置およびその方法
US6473534B1 (en) * 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
JP2000354246A (ja) * 1999-06-10 2000-12-19 Sony Corp 画像圧縮制御装置およびそれを用いた撮像システム
JP3606219B2 (ja) 2000-04-06 2005-01-05 セイコーエプソン株式会社 画像処理装置及び方法
US6941019B1 (en) * 2000-05-10 2005-09-06 International Business Machines Corporation Reentry into compressed data
US7146053B1 (en) 2000-05-10 2006-12-05 International Business Machines Corporation Reordering of compressed data
EP1178669A1 (de) * 2000-08-01 2002-02-06 Hewlett Packard Company, a Delaware Corporation Verlustfreies Senden von vorkomprimierten Daten, mit justierten Druckparametern, für sehr grosse Bilder mit hohem Auflösungsvermogen
JP2002133432A (ja) * 2000-10-27 2002-05-10 Seiko Epson Corp 画像処理装置及び方法
US6891892B2 (en) * 2001-03-30 2005-05-10 Koninklijke Philips Electronics N.V. MPEG-2 decoder with an embedded contrast enhancement function and methods therefor
US7822969B2 (en) * 2001-04-16 2010-10-26 Digimarc Corporation Watermark systems and methods
JP4065503B2 (ja) * 2001-08-21 2008-03-26 キヤノン株式会社 画像処理装置、画像入出力装置、変倍処理方法、及びメモリ制御方法
JP3782369B2 (ja) * 2002-04-05 2006-06-07 株式会社日立製作所 ストレージ装置、コンテンツ配信システム及びコンテンツの配信方法
US7190724B2 (en) * 2002-04-12 2007-03-13 Seiko Epson Corporation Method and apparatus for transform domain video processing
US20030202603A1 (en) * 2002-04-12 2003-10-30 William Chen Method and apparatus for fast inverse motion compensation using factorization and integer approximation
US7054496B2 (en) * 2002-06-27 2006-05-30 Seiko Epson Corporation Method and apparatus for displaying arbitrarily magnified high resolution images using compressed domain processing
US7280689B2 (en) * 2002-07-05 2007-10-09 Qdesign U.S.A., Inc. Anti-compression techniques for visual images
US7376280B2 (en) * 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
US7379956B2 (en) * 2002-07-14 2008-05-27 Apple Inc. Encoding and decoding data arrays
FR2844935B1 (fr) * 2002-09-25 2005-01-28 Canon Kk Transcodage de donnees numeriques
US7392476B2 (en) * 2002-12-20 2008-06-24 Seiko Epson Corporation Image printing system, image printing method, and image printing program
US7580578B1 (en) 2003-02-03 2009-08-25 Canon Kabushiki Kaisha Method and device for forming a compressed transcoded digital image signal
FR2850825B1 (fr) * 2003-02-03 2005-07-01 Canon Kk Procede et dispositif de formation d'un signal numerique d'image transcode compresse
FR2853749B1 (fr) * 2003-04-10 2005-07-01 Canon Kk Procede et dispositif de traitement d'un signal d'image numerique compresse en vue de sa visualisation
US7574016B2 (en) 2003-06-26 2009-08-11 Fotonation Vision Limited Digital image processing using face detection information
US7587085B2 (en) 2004-10-28 2009-09-08 Fotonation Vision Limited Method and apparatus for red-eye detection in an acquired digital image
US7970182B2 (en) 2005-11-18 2011-06-28 Tessera Technologies Ireland Limited Two stage detection for photographic eye artifacts
US7792970B2 (en) 2005-06-17 2010-09-07 Fotonation Vision Limited Method for establishing a paired connection between media devices
US8170294B2 (en) 2006-11-10 2012-05-01 DigitalOptics Corporation Europe Limited Method of detecting redeye in a digital image
US8254674B2 (en) 2004-10-28 2012-08-28 DigitalOptics Corporation Europe Limited Analyzing partial face regions for red-eye detection in acquired digital images
US7680342B2 (en) 2004-08-16 2010-03-16 Fotonation Vision Limited Indoor/outdoor classification in digital images
US7689009B2 (en) 2005-11-18 2010-03-30 Fotonation Vision Ltd. Two stage detection for photographic eye artifacts
US8036458B2 (en) 2007-11-08 2011-10-11 DigitalOptics Corporation Europe Limited Detecting redeye defects in digital images
US7920723B2 (en) 2005-11-18 2011-04-05 Tessera Technologies Ireland Limited Two stage detection for photographic eye artifacts
US7391910B2 (en) * 2003-07-31 2008-06-24 Seiko Epson Corporation LAPE: layered presentation system utilizing compressed-domain image processing
US8520093B2 (en) 2003-08-05 2013-08-27 DigitalOptics Corporation Europe Limited Face tracker and partial face tracker for red-eye filter method and apparatus
US9412007B2 (en) 2003-08-05 2016-08-09 Fotonation Limited Partial face detector red-eye filter method and apparatus
US7391913B2 (en) * 2003-09-18 2008-06-24 Arcsoft, Inc. JPEG processing engine for low profile systems
US7646881B2 (en) * 2003-09-29 2010-01-12 Alcatel-Lucent Usa Inc. Watermarking scheme for digital video
US8861922B2 (en) * 2003-09-29 2014-10-14 Alcatel Lucent Watermarking scheme for digital video
US7630509B2 (en) * 2003-09-29 2009-12-08 Alcatel-Lucent Usa Inc. Color selection scheme for digital video watermarking
JP4542447B2 (ja) * 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
TWI249139B (en) * 2004-05-07 2006-02-11 Sunplus Technology Co Ltd Block decoding-method capable of rotating direction decoding-output and system
JP2005333393A (ja) * 2004-05-19 2005-12-02 Sharp Corp 画像圧縮装置,画像出力装置,画像伸張装置,印刷装置,画像処理装置,複写機,画像圧縮方法,画像伸張方法,画像処理プログラムおよび画像処理プログラムを記録した記録媒体
JP4601340B2 (ja) * 2004-06-25 2010-12-22 ノキア コーポレイション データ合成装置及びデータ合成方法
US7738710B2 (en) * 2004-08-02 2010-06-15 Electronics For Imaging, Inc. Methods and apparatus for communicating and displaying compressed image data
US7574055B2 (en) * 2004-09-07 2009-08-11 Lexmark International, Inc. Encoding documents using pixel classification-based preprocessing and JPEG encoding
KR100601475B1 (ko) * 2004-12-09 2006-07-18 삼성전기주식회사 이미지 복잡도에 따라 가변적 양자화 크기를 갖는 이미지압축 장치 및 그 방법
KR100645636B1 (ko) * 2004-12-09 2006-11-15 삼성전기주식회사 Dct 계수를 이용한 카메라의 자동초점조절장치 및 그방법
US7643694B2 (en) * 2004-12-31 2010-01-05 Zoran Corporation Method and apparatus for processing a compressed image in an order other than the order in which it was compressed
JP4819517B2 (ja) * 2005-02-16 2011-11-24 オリンパス株式会社 画像処理方法及び画像処理装置
US7583844B2 (en) * 2005-03-11 2009-09-01 Nokia Corporation Method, device, and system for processing of still images in the compressed domain
US20060228030A1 (en) * 2005-04-08 2006-10-12 Hadady Craig E Method and system for image compression for use with scanners
US7599577B2 (en) 2005-11-18 2009-10-06 Fotonation Vision Limited Method and apparatus of correcting hybrid flash artifacts in digital images
TW200726260A (en) * 2005-12-22 2007-07-01 Sunplus Technology Co Ltd Block decoding method and device capable of longitudinally decoding and outputting
WO2007095553A2 (en) 2006-02-14 2007-08-23 Fotonation Vision Limited Automatic detection and correction of non-red eye flash defects
US20070189621A1 (en) * 2006-02-15 2007-08-16 Aten International Co., Ltd Image transmission system
US7965875B2 (en) 2006-06-12 2011-06-21 Tessera Technologies Ireland Limited Advances in extending the AAM techniques from grayscale to color images
US8055067B2 (en) 2007-01-18 2011-11-08 DigitalOptics Corporation Europe Limited Color segmentation
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US8515194B2 (en) 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
US7783459B2 (en) * 2007-02-21 2010-08-24 William Marsh Rice University Analog system for computing sparse codes
KR101159830B1 (ko) 2007-03-05 2012-06-26 디지털옵틱스 코포레이션 유럽 리미티드 얼굴 위치 및 방위를 이용한 적목 거짓 양성 필터링 방법
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8503818B2 (en) 2007-09-25 2013-08-06 DigitalOptics Corporation Europe Limited Eye defect detection in international standards organization images
US8212864B2 (en) 2008-01-30 2012-07-03 DigitalOptics Corporation Europe Limited Methods and apparatuses for using image acquisition data to detect and correct image defects
US8977064B2 (en) * 2008-02-13 2015-03-10 Qualcomm Incorporated Rotational transcoding for JPEG or other coding standards
US8081254B2 (en) 2008-08-14 2011-12-20 DigitalOptics Corporation Europe Limited In-camera based method of detecting defect eye with high accuracy
US9544516B2 (en) * 2008-12-26 2017-01-10 Digimarc Corporation Method and apparatus for sensor characterization
FI20095175A (fi) * 2009-02-23 2010-08-24 Anygraaf Oy Menetelmä rasterimuotoisen kuvan segmentoinnin hyödyntämiseksi kuvan pakkaamisessa
US8233709B2 (en) * 2009-03-06 2012-07-31 Sony Corporation Color effects for compressed digital video
US20100254617A1 (en) * 2009-04-01 2010-10-07 Qualcomm Incorporated Apparatus and method to rotate an image
US8355570B2 (en) * 2009-08-12 2013-01-15 Conexant Systems, Inc. Systems and methods for raster-to-block converter
KR20110017303A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 회전변환을 이용한 영상 부호화, 복호화 방법 및 장치
JP4848462B2 (ja) 2010-03-04 2011-12-28 株式会社モルフォ 圧縮画像の部分伸長方法および画像処理装置
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
MY189650A (en) 2011-06-30 2022-02-23 Microsoft Technology Licensing Llc Reducing latency in video encoding and decoding
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US8347391B1 (en) * 2012-05-23 2013-01-01 TrustPipe LLC System and method for detecting network activity of interest
US8856324B2 (en) 2013-01-28 2014-10-07 TrustPipe LLC System and method for detecting a compromised computing system
AU2013213660A1 (en) * 2013-08-06 2015-02-26 Canon Kabushiki Kaisha Method for printing an upscaled image
FR3015160B1 (fr) * 2013-12-17 2016-01-29 Sagemcom Documents Sas Procede de numerisation d'un document constitue de plusieurs pages
KR102025361B1 (ko) * 2014-07-10 2019-09-25 한화테크윈 주식회사 자동 초점 조절 시스템 및 방법
JP2021174404A (ja) * 2020-04-28 2021-11-01 株式会社Preferred Networks データ生成装置、訓練装置及びデータ生成方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658430A (en) * 1984-12-27 1987-04-14 International Business Machines Corp. System for rotating binary images
CA1252902A (en) * 1985-10-31 1989-04-18 David R. Pruett Method for rotating a binary image
US4797945A (en) * 1985-12-13 1989-01-10 Canon Kabushiki Kaisha Image data coding apparatus
GB8700092D0 (en) 1987-01-05 1987-02-11 Crosfield Electronics Ltd Image processing
US5001559A (en) * 1989-10-12 1991-03-19 International Business Machines Corporation Transform coding using coefficient prediction techniques
US5142380A (en) * 1989-10-23 1992-08-25 Ricoh Company, Ltd. Image data processing apparatus
US5319724A (en) * 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
US5129015A (en) * 1990-04-19 1992-07-07 Ricoh Company Ltd. Apparatus and method for compressing still images without multiplication
US5189526A (en) * 1990-09-21 1993-02-23 Eastman Kodak Company Method and apparatus for performing image compression using discrete cosine transform
JPH05103212A (ja) * 1991-10-03 1993-04-23 Sony Corp データ伝送装置
US5611001A (en) * 1991-12-23 1997-03-11 Xerox Corporation Address reduction scheme implementing rotation algorithm
JPH05316360A (ja) 1992-05-14 1993-11-26 Fuji Xerox Co Ltd 画像信号の符号化復号装置
US5563718A (en) 1993-11-30 1996-10-08 Polaroid Corporation Image coding by use of discrete cosine transforms
JP3579455B2 (ja) * 1994-05-06 2004-10-20 ペンタックス株式会社 画像入力装置
DE69601935T2 (de) 1995-05-15 1999-08-19 Polaroid Corp. Bildschraegung und bilddrehung mit anwendung der diskreten cosinusformation
US5680129A (en) 1995-07-18 1997-10-21 Hewlett-Packard Company System and method for lossless image compression
US5581635A (en) * 1995-07-25 1996-12-03 United Parcel Service Of America, Inc. Method and system for fast rotation of run-length encoded images
US5706216A (en) 1995-07-28 1998-01-06 Reisch; Michael L. System for data compression of an image using a JPEG compression circuit modified for filtering in the frequency domain
US5677689A (en) 1995-08-31 1997-10-14 Yovanof; Gregory S. Fixed rate JPEG compliant still image compression
US5991450A (en) * 1995-09-06 1999-11-23 Canon Kabushiki Kaisha Image encoding and decoding apparatus
US5682152A (en) 1996-03-19 1997-10-28 Johnson-Grace Company Data compression using adaptive bit allocation and hybrid lossless entropy encoding
US5867598A (en) * 1996-09-26 1999-02-02 Xerox Corporation Method and apparatus for processing of a JPEG compressed image
US5751865A (en) 1996-09-26 1998-05-12 Xerox Corporation Method and apparatus for image rotation with reduced memory using JPEG compression

Also Published As

Publication number Publication date
JPH11331847A (ja) 1999-11-30
EP0947954B1 (de) 2003-05-14
DE69907798D1 (de) 2003-06-18
US6298166B1 (en) 2001-10-02
EP0947954A1 (de) 1999-10-06
JP4348768B2 (ja) 2009-10-21

Similar Documents

Publication Publication Date Title
DE69907798T2 (de) Umwandlungen von komprimierten Bildern
DE69119847T2 (de) Elektronische standbildkamera mit mehrformatspeicherung von bildern mit voller und beschränkter auflösung
DE69919641T2 (de) Adaptive Videokompromierung mit variabler Quantisierung
DE19819198B4 (de) Reversible DCT für verlustfreie/verlustbehaftete Kompression
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
US6999626B2 (en) Memory management of compressed image data
DE19983369B4 (de) Bildkompression unter Verwendung einer gerichteten vorhersagenden Codierung der Wavelet-Koeffizienten
DE602004009591T2 (de) Differenz-codierung durch verwendung eines 3d-graphikprozessors
DE69930886T2 (de) Datenverarbeitungsgerät und -verfahren sowie Speichermedium
JP4714668B2 (ja) 圧縮された画像の画質の向上
JP4111268B2 (ja) サムネイル画像の表示方法、サーバコンピュータ、クライアントコンピュータ及びプログラム
Gormish et al. JPEG 2000: overview, architecture, and applications
DE19919600A1 (de) Einrichtung und Verfahren zum Komprimieren von Bilddaten, die von einem Bildsensor empfangen werden, der ein Bayer-Muster aufweist
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE69818751T2 (de) Dekompression von interpolierten Bildern
Yadav et al. A review on image compression techniques
DE69523419T2 (de) Effiziente iterative Dekomprimierung von standard-ADCT-komprimierten Bildern
DE19819405A1 (de) Implementation eines reversiblen eingebetteten Wavelet-Systems
WO1998034406A1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
DE60218560T2 (de) Bildkompression
DE69918980T2 (de) Videokompression mit speicherreduktion, farbrotation und kombinierter signal- und blockrandfilterung
DE602004003295T2 (de) Verfahren und Vorrichtung für das Erzeugen eines halbtongerasterten Bildes von einem komprimierten Bild
EP0981909B1 (de) Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes
Jung et al. Segmentation and compression of documents with JPEG2000
JP3961966B2 (ja) 不要部除去装置、画像処理装置、プログラム、記憶媒体及び不要部除去方法

Legal Events

Date Code Title Description
8364 No opposition during term of opposition