DE60314305T2 - Header-basierte Verarbeitung von mittels Multiskalentransformation komprimierter Bilder - Google Patents

Header-basierte Verarbeitung von mittels Multiskalentransformation komprimierter Bilder Download PDF

Info

Publication number
DE60314305T2
DE60314305T2 DE60314305T DE60314305T DE60314305T2 DE 60314305 T2 DE60314305 T2 DE 60314305T2 DE 60314305 T DE60314305 T DE 60314305T DE 60314305 T DE60314305 T DE 60314305T DE 60314305 T2 DE60314305 T2 DE 60314305T2
Authority
DE
Germany
Prior art keywords
image
scale
block
header
information
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
DE60314305T
Other languages
English (en)
Other versions
DE60314305D1 (de
Inventor
Kathrin Suite 115 Menlo Park Berkner
Ramesh Suite 115 Menlo Park Neelamani
Edward L. Suite 115 Menlo Park Schwartz
Martin Suite 115 Menlo Park Boliek
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of DE60314305D1 publication Critical patent/DE60314305D1/de
Application granted granted Critical
Publication of DE60314305T2 publication Critical patent/DE60314305T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20064Wavelet transform [DWT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • 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

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich im Allgemeinen auf das Gebiet der Bildverarbeitung. Im Besonderen betrifft die Erfindung die Verarbeitung von Bildern mittels Multiskalentransformationen.
  • HINTERGRUND DER ERFINDUNG
  • Digitale Bilder lassen sich in einer Vielzahl von Formaten darstellen und speichern. Ein gängiges Merkmal der Darstellungsformate für digitale Bilder besteht darin, dass die Bits, die eine Bilddatei bilden, in Bildbeschreibungs-Bits und Header-Bits eingeteilt sind. Bildbeschreibungs-Bits beschreiben das eigentliche zugrundeliegende Bild. Häufig sind die Bildbeschreibungs-Bits zweckmäßigerweise in kleinere Einheiten aufgeteilt. Header-Bits hingegen stellen organisatorische Informationen über das Bild zur Verfügung, wie z.B. die Bildgröße in Pixel, die Dateigröße, die Länge der verschiedenen kleineren Bildbeschreibungseinheiten in Bits, etc.
  • Komprimierte Bilddateien enthalten im Header eine breite Vielfalt organisatorischer Informationen, die vorrangig die bequeme Verwaltung und Interpretation von Dateien erleichtern. Zusätzlich zu herkömmlichen Informationen, z.B. über Breite, Höhe, Farbkomponenten und andere Details, liefern beispielsweise Bild-Header unter JPEG 2000 ITU-T Rec. T.800|(ISO/IEC 15444-1:2000) Informationen über die Anzahl der Bits, die in kleineren Einheiten enthalten sind, wie z.B. in Gruppen von Wavelet-Koeffizienten (genannt Codeblöcke), bei denen es sich um komprimierte Bilddaten handelt, und über die Wavelet-Domain-Locations dieser kleinen Koeffizienteneinheiten. Weitere Formate von Bilddateien können ähnliche Informationen enthalten.
  • In R. De Queiroz und R. Eschbach: „Fast segmentation of the JPEG compressed documents", Electronic Imaging, Band 7, S. 367–377, April 1998, ist die Segmentierung herkömmlicher JPEG-komprimierter Dokumente mittels der Entropie von 8 × 8 Blöcken in einem Bild beschrieben. In dem darin erläuterten Verfahren kommt die Header-basierte Verarbeitung nicht zum Einsatz, weil die Entropiewerte im Header herkömmlicher JPEG-Bilder nicht verfügbar sind. Vielmehr wird in dem Verfahren die im herkömmlichen JPEG-Standard verwendete diskrete Kosinustransformation (DCT) benutzt, die nur an lokalen 8 × 8 Blöcken angewandt wird. Daher werden in diesem Verfahren keine Multiskalentransformationen gebraucht. Ferner werden bei dem Verfahren nur die verfügbaren Entropieverteilungen auf 8 × 8-Blöcken in der Bilddomäne verwendet, und es besteht kein Zugriff auf irgendeine Multiskalenbitverteilung.
  • Eine Bildanalyse beinhaltet das Beschreiben, das Interpretieren und das Verstehen eines Bildes. Mithilfe der Bildanalyse werden Messergebnisse, Daten oder Informationen aus einem Bild gewonnen. Außerdem umfassen Bildanalyseverfahren die Extraktion, die Segmentierung und die Klassifizierung von Merkmalen. Bildanalyse lässt sich bezeichnen als Computer-Vision, Bilddatenextraktion, Szenenanalyse, Bildbeschreibung, automatische Photointerpretation, Bereichsselektion oder Bildverständnis. Siehe W. Pratt: „Digital Image Processing", (2. Auflage), John Wiley & Sons, Inc., New York, NY, 1995 und A. Jain: „Fundamentals of Digital Image Processing", Prentice Hall, Englewood Cliffs, NJ, 1995.
  • Die Bildverarbeitung bringt ein modifiziertes Ausgabebild aus einem Eingabebild hervor. Zu den Bildverarbeitungsverfahren zählen Cropping, Skalierung, Kommaoperationen, Filtern, Rauschentfernung, Wiederherstellung, Verbesserung. (Jain, Kapitel 7 und 8; Pratt, Teil 4).
  • Bei einigen Anwendungen ist es wünschenswert, dass zunächst eine Bildanalyse an einem Bild erstellt und dann die Analyse dazu benutzt wird, um die Verarbeitung des Bildes zu kontrollieren. Beispielsweise führt das Programm „pnmcrop" (http://www.acme.com/software/pbmplus/) zuerst die Analyse eines Bildes durch, um Streifen einer Hintergrundfarbe (einen einzigen Farbwert, z.B. weiß oder schwarz) an allen vier Seiten zu suchen. Daraufhin nimmt das Programm zwecks Entfernung dieser Streifen einen Bildverarbeitungsvorgang, nämlich Cropping, an dem Bild vor.
  • In der Veröffentlichung „A wavelet block chain technique for use in zerotree coding" (Syed, Y. F. und Rao, K. R.: „Signals, Systems & Computers", S. 1266–1270, 1998) wird eine neuartige Herangehensweise an die Bildcodierung mit geringer Bitrate unter Verwendung von Wavelet-Block-Ketten (WBC/wavelet block chains) zur Codierung von Wavelet-Koeffizientenwerten im LL-Subband beschrieben. Segmentierungsinformationen werden dem Decoder simultan zur Verfügung gestellt. Besagtes Verfahren formt aus Wavelet-Koeffizienten, die das Bild in seiner gröbsten Auflösung darstellen, Ketten aus ähnlich bewerteten Wavelet-Blöcken in Bereichen geringer räumlicher Frequenz. Aufgrund des häufigen Auftretens dieser Bereiche im LL-Subband können viele Ketten aus Wavelet-Blöcken über dem Frame eines Bildes geformt werden. Eine Verbesserung der Komprimierung wird durch Übertragen des gemeinsamen Koeffizientenwerts und von Richtungsinformationen erzielt, die zur Rekonstruktion der Ketten im Computer notwendig sind. Zusätzlich stellt WBC dem Decoder Segmentierungsinformationen ohne zusätzlichen Overhead zur Verfügung. Das offenbarte Verfahren ist mit Methoden der Zerotree-Wavelet-Komprimierung berechenbar, und seine Effizienz wird durch verbesserte Ergebnisse bei der ZTE-Codierung (zerotree entropy) mit geringer Bitrate bewiesen.
  • In der obengenannten Veröffentlichung wird die Nutzung von bereits in der Kette enthaltenen Informationen für die weitere Verarbeitung gelehrt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes Verfahren und eine ebensolche Vorrichtung zur Durchführung von Bildverarbeitungsvorgängen an einem zugrundeliegenden Bild zu bieten, wobei die Bilddateien eine Technik der Multiskalenbildkomprimierung nutzen.
  • Die konkrete Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst.
  • Abhängige Ansprüche sind auf vorteilhafte Ausführungsformen gerichtet.
  • KURZBESCHREIBUNG DER ZEICHUNGEN
  • Die vorliegende Erfindung erschließt sich besserem Verständnis anhand der nachstehend erfolgenden detaillierten Beschreibung und der begleitenden Zeichnungen verschiedener Ausführungsformen, die jedoch nicht als Einschränkung der Erfindung angesehen werden sollten, sondern lediglich der Erläuterung und dem Verständnis dienen.
  • 1 veranschaulicht eine Multiskalenentropieverteilung für ein Bild;
  • 2 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Segmentieren eines Bildes darstellt;
  • 3 zeigt eine Segmentierungskarte, die über das beispielhafte Bild einer Frau gelegt ist;
  • 4 veranschaulicht eine Segmentierungskarte, die über das beispielhaftes Bild eines japanischen Texts gelegt ist;
  • 5 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum adaptiven Skalieren eines Bildes darstellt;
  • 6 zeigt das adaptive Skalieren des beispielhaften Bildes einer Frau;
  • 7 veranschaulicht das adaptive Skalieren des beispielhaften Bildes eines japanischen Texts;
  • 8 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum automatischen Skalieren und Cropping eines Bildes darstellt;
  • 9 zeigt das automatische Skalieren und Cropping des beispielhaften Bildes einer Frau;
  • 10 veranschaulicht das automatische Skalieren und Cropping des beispielhaften Bildes eines japanischen Texts;
  • 11A ist ein Blockdiagramm, das eine Ausführungsform einer Vorrichtung zur Durchführung der hierin beschriebenen Verarbeitung darstellt;
  • 11B ist ein Blockdiagramm, das eine alternative Ausführungsform einer Vorrichtung zur Durchführung der hierin beschriebenen Verarbeitung zeigt; und
  • 12 ist ein Blockdiagramm eines Computersystems.
  • DETAILLIERTE BESCHREIBUNG
  • Nun erfolgt die Beschreibung eines Verfahrens und einer Vorrichtung, welche Datei-Header-Informationen zur Verarbeitung eines zugrundeliegenden digitalen Bildes verwenden. Die Datei-Header-Informationen können Teil eines Bitstroms sein, welcher komprimierte Daten enthält, die dem zugrundeliegenden digitalen Bild entsprechen. Bei der hierin erläuterten Verarbeitungsweise werden die Informationen im Header genutzt und in spezifischer Weise verarbeitet, um zu bestimmen, welche Abschnitte der komprimierten Daten zu decodieren sind. Im Wesentlichen ermöglichen die Informationen im Header die Identifizierung eines Bereichs bzw. von Bereichen, an dem bzw. denen eine weitere Verarbeitung vorzunehmen ist.
  • Die komprimierten Daten umfassen ein Bilddarstellungsformat, das aus einer auf Multiskalentransformation beruhenden Komprimierung hervorgeht. Komprimierte Daten bestehen aus Header- und Bildbeschreibungs-Bits. Dies bedeutet, dass auf Multiskalentransformation basierende Komprimierung auf Bilddaten angewandt wird als Teil des Verfahrens zur Erzeugung der Bildbeschreibungs-Bits. Anhand des Headers kann die Entropieverteilung oder Bitzuordnung des Bildcodierers in der Multiskalen-Domäne beurteilt und als quantitatives Maß für die visuelle Wichtigkeit zugrundeliegender Bildmerkmale verwendet werden. Beispielsweise können aus dem Header einer JPEG-2000-Datei Informationen, z.B. die Länge von Codeblöcken, die Anzahl der Null-Bitebenen und die Anzahl von Coding Passes, zur Be stimmung der Entropieverteilung eingesetzt werden. Auf diese Weise wird die Bitverteilung in einer auf Multiskalentransformation beruhenden Darstellung benutzt, um eine oder mehrere Operationen durchzuführen, ein- aber nicht ausschließlich der Bildsegmentierung, der Auswahl einer adaptiven Skala/Auflösung für Bilder, der automatischen Skalierung und Detektion sowie der Auswahl, des Skalierens und des Croppings wichtiger Bildteile.
  • In einer Ausführungsform werden Informationen im Header zur Erzeugung einer Entropieverteilungskarte verwendet, die angibt, welche Abschnitte der komprimierten Bilddaten die für die anschließende Verarbeitung gewünschten Daten enthält. Ein Beispiel für eine solche Karte ist in 1 aufgeführt. Weitere Karten können erstellt werden und die Anzahl der Schichten anzeigen, die nachstehend im Rahmen der Erläuterung von JPEG 2000 beschrieben werden; der Zweck besteht darin, die gewünschte Bitrate zu erhalten (insbesondere in jenen Fällen, wo eine Schichtzuordnung in Bezug zu einer Verzerrung steht) oder die Entropieverteilung für jede aus einer Anzahl von Bitraten zu bekommen. In letzterem Fall verfügt jeder recheckige Bereich auf der Karte über einen ihm zugehörigen Vektor. Der Vektor kann Werte für viele Schichten anzeigen.
  • Bilddarstellungsformate, welche Multiskalentransformationen zur Komprimierung der Bildbeschreibungs-Bits nutzen, gliedern typischerweise viele organisatorische Details in den Header ein, so dass sich eine pixelweise Beschreibung des digitalen Bildes korrekt und zweckgemäß decodieren lässt. JPEG 2000 stellt ein Beispiel für einen Bildkomprimierungsstandard dar, welcher Multiskalenbitverteilungen im Datei-Header zur Verfügung stellt. Haufig sind die Bildbeschreibungs-Bits unter kleineren Einheiten aufgeteilt, und die Anzahl an Bits, die der Codierer diesen Einheiten zuordnet, wird im Bild-Header gespeichert, um Features, wie z.B. Teilbildzugriff, Anpassung an vernetzte Umgebungen, etc., zu vereinfachen. Unter Verwendung von Informationen theoretischer Konventionen wird die zugeordnete Anzahl von Bits als die Entropie jeder kleinen Einheit bezeichnet. Entropieverteilungen, die von Bildcodierern benutzt werden, liefern ein exzellentes quantitatives Maß für die visuelle Bedeutung in den komprimierten Bildern. Zur verlustfreien Komprimierung benutzt ein Bildcodierer mehr Bits, um die Hochaktivitätsbereiche (mit vielen Einzelheiten) zu beschreiben, und weniger Bits, um die Bereiche mit wenig Detailinformationen zu vermitteln. Zur verlustbehafteten Komprimierung strebt der Bildcodierer typischerweise danach, die bestmögliche Beschreibung des Bildes innerhalb der zugeordneten Bits zu vermitteln. Daher ist der Codieren so entworfen, dass er die wenigen verfügbaren Bits, welche visuell wichtige Merkmale im Bild beschreiben, in vernünftiger Weise verbraucht.
  • Ein Multiskalenbildcodierer codiert nicht Bildpixel, sondern Koeffizienten des transformierten Bildes, wo die Transformation eine Trennung von Bildinformationen in verschiedene Frequenzbänder bewirkt. Multiskalenbildcodierer (z.B. ein JPEG-2000-Codierer) liefern die Multiskalenverteilung der Entropie für das zugrundeliegende Bild im Bild-Header. Da solche Transformationsbasisfunktionen gleichzeitig räumliche und frequenzbezogene Lokalisierung aufweisen, enthalten die Transformationskoeffizienten Informationen über den Frequenzgehalt an einer spezifischen Stelle im Bild.
  • Die Fähigkeit zur Verarbeitung eines Bildes lediglich auf Grundlage seines Headers ist erwünscht, und zwar nicht nur weil auf die Header-Informationen mittels weniger Berechnungen leicht zugegriffen werden kann, sondern auch, weil der verdichtete Charakter der verfügbaren Bildinformationen eine effizientere anschließende Verarbeitung gestattet. Wichtigerweise geben die Header-Informationen, auf die sich leicht zugreifen lässt, Informationen über das Bild ohne Decodierkoeffizienten an. Deshalb können Verarbeitungsentscheidungen getroffen werden, ohne dass eine große Anzahl von Zeitdecodierkoeffizienten aufzuwenden ist.
  • Für die hierin erläuterten Verfahren gibt es Anwendungsmöglichkeiten in Bereichen, wie z.B. der ans Display angepassten Bilddarstellung, der digitalen Videoüberwachung, der Bilddatenbankverwaltung, der Bildklassifizierung, der Bildrückgewinnung, der Vorverarbeitung für die Musteranalyse, der Filterung und Bemessung von Bildern, u.a.
  • In der folgenden Beschreibung werden zahlreiche Einzelheiten dargelegt. Für Fachleute auf diesem Gebiet wird es jedoch offensichtlich sein, dass die vorliegende Erfindung ohne diese spezifischen Details praktikabel ist. In weiteren Beispielen werden wohlbekannte Strukturen und Vorrichtungen vielmehr in Form eines Blockdiagramms als im Detail veranschaulicht, um zu vermeiden, dass die vorliegende Erfindung unverständlich erscheint.
  • Einige Abschnitte der nachfolgenden detaillierten Beschreibungen sind in Bezug auf Algorithmen und symbolische Darstellungen von Operationen an Datenbits in einem Computerspeicher dargestellt. Diese algorithmischen Beschreibungen und Darstellungen stellen jene Mittel dar, die von Fachleuten auf dem Gebiet der Datenverarbeitung eingesetzt werden, um den Gegenstand ihrer Arbeit anderen Fachgenossen am wirkungsvollsten zu vermitteln. Ein Algorithmus wird hierbei, und auch im Allgemeinen, als eine selbstkonsistente Sequenz von Schritten angesehen, die zu einem gewünschten Ergebnis führen. Bei diesen Schritten handelt es sich um jene, welche die physikalische Beeinflussung physikalischer Größen erfordern. Meist, wenn auch nicht notwendigerweise, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die sich speichern, übertragen, kombinieren, vergleichen oder in anderer Weise kontrollieren lassen. Zuweilen hat es sich als zweckmäßig erwiesen, hauptsächlich aus Gründen gemeinsamer Verwendung, diese Signale als Bits, Werte, Elemente, Symbole, Schriftzeichen, Begriffe, Ziffern oder dergleichen zu bezeichnen.
  • Es sollte jedoch bedacht werden, dass all diese und ähnliche Begriffe mit den passenden physikalischen Größen zu assoziieren sind und lediglich praktische Labels darstellen, die auf diese Größen angewandt werden. Sofern nicht ausdrücklich anders dargelegt als anhand der folgenden Erörterung offensichtlich, wird der Tatsache Rechnung getragen, dass sich Erläuterungen, in denen Begriffe, wie z.B. „Verarbeiten" oder „Berechnen" oder „Kalkulieren" oder „Bestimmen" oder „Anzeigen" oder dergleichen gebraucht werden, in der Beschreibung durchgängig auf die Aktionen und Prozesse eines Computersystems oder ähnlicher elektronischer Rechnungsgeräte beziehen, welches mit Daten, die als physikalische (elektronische) Größen in den Registern und Speichern des Computersystems dargestellt sind, umgeht und zu anderen Daten transformiert, die in ähnlicher Weise als physikalische Größen in den Speichern oder Registern des Computersystems oder einem anderen derartigen Informationsspeicher oder in einer anderen Übertragungs- oder Anzeigevorrichtung dargestellt werden.
  • Die vorliegende Erfindung bezieht sich weiterhin auf eine Vorrichtung zur Durchführung der hierin genannten Operationen. Diese Vorrichtung kann speziell für die notwendigen Zwecke konstruiert sein, oder sie kann einen Universalrechner umfassen, der durch ein im Computer gespeichertes Computerprogramm selektiv aktiviert oder rekonfiguriert wird. Ein derartiges Computerprogramm kann auf einem computerlesbaren Speichermedium gespeichert werden, ein-, aber nicht ausschließlich auf jeder beliebigen Art von Disk, eingeschlossen Floppy Disks, optische Disks, CD-ROMS und magneto-optische Disks, auf ROMS (Read Only Memorys), RAMs (Random Access Memorys), EPROMs, EEPROMs sowie auf magnetischen oder optischen Karten oder auf jeder beliebigen Art von Medium, das sich zur Speicherung elektronischer Anweisungen eignet und jeweils mit einem Bus eines Computersystems gekoppelt ist.
  • Die hierin dargestellten Algorithmen und Displays stehen nicht inhärent zu irgendeifem bestimmten Computer oder zu irgendeiner bestimmten anderen Vorrichtung in Bezug. Zahlreiche Universalsysteme können mit Programmen entsprechend den hierin dargelegten Lehren zum Einsatz kommen, oder es kann sich als zweckdienlich erweisen, spezialisiertere Geräte zur Durchführung der erforderlichen Verfahrensschritte zu konstruieren. Die für eine Vielzahl dieser Systeme erforderliche Struktur geht aus der nachstehenden Beschreibung her vor. Außerdem wird bei Erläuterung der vorliegenden Erfindung nicht auf irgendeine bestimmte Programmiersprache Bezug genommen. Es wird dem Umstand Rechnung getragen, dass sich eine Vielzahl von Programmiersprachen benutzen lässt, um die Lehren der Erfindung, wie sie hierin beschrieben sind, zu implementieren.
  • Ein maschinenlesbares Medium umfasst jeden beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer Form, die durch eine Maschine (z.B. einen Computer) lesbar ist. Zu den maschinenlesbaren Medien gehören beispielsweise ROMS, RAMs, Magnetdisk-Speichermedien, optische Speichermedien, Flash-Speichervorrichtungen, elektrische, optische, akustische oder andere Formen sich propagierender Signale (z.B. Trägerwellen, Infrarotsignale, digitale Signale, etc.), etc.
  • 1 veranschaulicht eine Multiskalenentropieverteilung für ein Bild. Zunächst wird das Bild einer JPEG-2000-Codierung unterzogen. Bei den zugrundeliegenden Muster handelt es sich um die Wavelet-Koeffizienten des Bildes. Die dünnen Linien kennzeichnen die JPEG-2000-Aufteilung der Wavelet-Domäne-Koeffizienten in Codeblöcke, und die dicken Linien trennen die verschiedenen Wavelet-Subbänder. Bei JPEG 2000 ordnet und teilt der den Codierprozess vornehmende Codierer die Wavelet-Domäne-Koeffizienten in kleine Einheiten, genannt Codeblöcke. Bei den in jedem Quadrat gezeigten Ziffern handelt es sich um die Bits oder Entropien, die den jeweiligen Codeblöcken durch den JPEG-2000-Codierer zugeordnet werden, der mit 0,5 Bits pro Pixel arbeitet und drei Zerlegungsstufen einsetzt. Diese Ziffern stellen die Multiskalenentropieverteilung dar.
  • Die Entropiezuordnungen, auf die allein mittels des JPEG-2000-Datei-Headers zugegriffen wird, liefern ein gutes Maß für die visuelle Bedeutung der unterschiedlichen Merkmale auf verschiedenen Skalen und helfen bei der Unterscheidung zwischen den verschiedenen Arten wichtiger Bildmerkmale, die sich durch unterschiedliche Multiskaleneigenschaften charakterisieren. Beispielsweise verbraucht ein Multiskalenbildcodierer zur Beschreibung des Federbereichs in dem Bild viele Bits beim Codieren der Feinskalenkoeffizienten; bei den Grobskalenkoeffizienten benötigt er weniger Bits als z.B. bei den Feinskalenkoeffizienten, die dem Federbereich entsprechen. Demgegenüber verbraucht ein Multiskalenbildcodierer zur Kodierung des Gesichtsbereichs mehr Bits beim Codieren der Zwischenskalenkoeffizienten, die dem Gesichtsbereich entsprechen. Nur wenige Bits entfallen auf den gleichmäßigen Hintergrund. So stellt die Multiskalenentropieverteilung erhebliche Informationen über die zugrundeliegenden Bildmerkmale zur Verfügung. Ausgehend davon, dass die Kenntnis der Multiskalenentropieverteilung aus Headern erhalten wird, lassen sich eine oder mehrere Ope rationen ausführen. Bei diesen Operationen kann es sich beispielsweise um Bildsegmentierung, automatische Aktivbereichsidentifizierung und -skalierung und/oder um adaptive Bildskalierung handeln.
  • JPEG 2000 ist ein Standard zur Darstellung digitaler Bilder in einem kohärenten Codestrom und einem ebensolchen Dateiformat (siehe z.B. ITU-T Rec. T.800|ISO/IEC 15444-1:2000, „JPEG 2000 Bildcodierungsstandard" unter www.iso.ch). JPEG 2000 stellt digitale Bilder in wirkungsvoller Weise dar, indem die Wavelet-Koeffizienten des Bildes unter Anwendung der folgenden Schritte effizient codiert werden. Ein typisches Bild besteht aus einer oder mehreren Komponenten (z.B. rot grün, blau). Diese Komponenten sind rechteckige Arrays von Samples. Die Arrays werden gegebenenfalls weiter in rechteckige Kacheln aufgeteilt. Auf einer Kachel-für-Kachel-Basis werden die Komponenten gegebenenfalls mittels einer Farbraumtransformation dekorreliert. Jede Kachelkomponente wird einzeln komprimiert. Es werden Wavelet-Koeffizienten von jeder Farbkomponente in der Kachel erhalten. In der Wavelet-Domäne erfolgt die Trennung der Wavelet-Koeffizienten in lokale Gruppen. Diese Gruppen werden Codeblöcke genannt. Optional werden die Codeblöcke in Zonen geordnet. Eine arithmetische Codierung wird eingesetzt, um diese verschiedenen Wavelet-Koeffizienten-Gruppen einzelnen zu codieren Zur Vereinfachung des Ablaufs werden die codierten Koeffizienten gegebenenfalls in Schichten geordnet. Codierte Daten aus einer Schicht, mit einer Auflösung, einer Zone einer Komponente einer Kachel werden in einer als Paket bezeichneten Einheit gespeichert. Zusätzlich zu den codierten Daten verfügt jedes Paket über einen Paket-Header. Nach dem Codieren wird eine Kachelkomponente optional in Kachelteile aufgeteilt; andernfalls besteht die Kachelkomponente aus einem einzigen Kachelteil. Ein Kachelteil stellt die kleinste Einheit im Codestrom dar, welcher der Syntax entspricht. Ein JPEG 2000 Codestrom besteht aus einer Syntax (Haupt- und Kachel-Teil-Headers plus EOC) und aus einem oder mehreren Bitströmen. Ein Bitstrom setzt sich seinerseits zusammen aus Paketen (codierten Daten für Codeblöcke plus beliebigen In-stream-Markierungen einschließlich In-stream-Paket-Headern). Die organisatorischen Informationen zum Parsen der codierten Daten, der Paket-Header, können im Haupt-Header, den Kachel-Headern oder In-stream gespeichert werden.
  • JPEG 2000 verfügt über Haupt-Header und Kachel-Header, die Markierungssegmente beinhalten. Darüber hinaus hat JPEG 2000 Paket-Header, die in Markierungssegmenten oder In-stream im Bitstrom sein können. Header werden gelesen und als Eingaben für eine Verarbeitungsmethode genutzt, mit der eine Multiskalenentropieverteilung erzielt wird. Tabelle 1 fasst die in verschiedenen JPEG-2000-Headern enthaltenen Informationen zusammen, welche für die Header-basierte Verarbeitung erheblich sind. Tabelle 1: Verwendungsmöglichkeiten der Header-Informationen einer JPEG-2000-Datei
    Header-Entries Art der Informationen Rolle für Entropieschätzung Haupt-Header Kachel-Header Instream
    Paket-Header (PPM, PPT, In-stream) Länge codierter Daten; Anzahl der Null-Bitebenen und der Coding Passes Liefert die Entropie jedes Codeblocks jedes Subbands jeder Kachelkomponente. Erleichtert die Schätzung der Entropiezuordnung bei niedrigeren Bitraten. Liefert grobe Schätzung von Koeffizientenenergie und -größen.
    Paketlänge (PLM, PLT) Längen der Pakete Erleichtert schnellere Schätzung von Codeblock-Entropien bei einigen JPEG-2000-Dateien.
    Kachellängenteil (TLM, SOT) Längen der Kacheln Liefert Entropie jeder Kachel. Erleichert lokalen und globalen Entropievergleich.
    SIZ Bildgröße Unterstützt Bestimmung des Orts der Codeblöcke.
    COD, COC, QCC, QCD Codierstil Anzahl der Transformationsstufen, Codeblock-Größe Maximalgröße der Koeffizienten, Zoneninformationen.
    RGN Bereichsinformationen Schätzt Größe und Wichtigkeit von maßgeblichem Bereich. Ändert Bedeutung der meisten der obigen Informationen.
  • Was den Paket-Header (PPM, PPT, In-stream) anbelangt, kann dieser entweder im Haupt-Header, im Kachel-Header oder im In-stream sein, aber nicht gleichzeitig in einer Kombinati on aus zweien oder mehreren derselben. Dagegen können sich der Paketlängenteil und der Kachellängenteil im Haupt-Header oder in den Kachel-Headern oder in beiden zur selben Zeit befinden.
  • Schätzung eines Bildes mit niedriger Bitrate anhand eines Bildes mit hoher Bitrate
  • Die Multiskalenentropieverteilung bei niedrigeren Bitraten liefert ein solides Maß für die visuelle Wichtigkeit. Bei höheren Bitraten verdirbt das Vorhandensein von Bildrauschen, das in digitalen Bilden ausgehend von jedem beliebigen Sensor oder jeder beliebigen Erfassungsvorrichtung präsent ist, die Gesamtentropieverteilung. In Abhängigkeit von der Anwendung werden Bilder verlustfrei oder verlustbehaftet codiert. Das Schichtungsschema beim JPEG-2000-Standard könnte eingesetzt werden, um den Codestrom eines verlustfrei oder mit hoher Bitrate codierten Bildes in Schichten visueller oder auf MSE (Mean-Squared-Error) beruhender Wichtigkeit zu ordnen. In diesem Fall ließe sich eine Bildversion mit niedriger Bitrate dadurch erhalten, dass Informationen lediglich aus Paketen in den einen Schichten extrahiert werden, wohingegen Pakete in den anderen Schichten ignoriert werden. Falls eine solche Schichtung nicht vom Codierer angewandt wird, können die Paketlängeninformationen aus dem Header die Multiskalenentropieverteilung nur mit der vom Codierer gewählten Bitrate enthalten, z.B. mit verlustfreier, hoher oder niedriger Bitrate.
  • Falls die Wahl des Codierers auf „verlustfrei" oder auf „mit hoher Bitrate" gefallen ist, wird die Beurteilung einer Bildversion mit niedriger Bitrate erstellt, bevor einer der später erläuterten Bildverarbeitungsalgorithmen zur Anwendung kommt. Eine Ausführungsform, die eine solche Beurteilung vornimmt, wird nachstehend beschrieben. Zwecks Bestimmung der Reihenfolge, in der die Zuordnung der Bits erfolgt, werden sowohl Informationen über das Maximum von Absolutwerten von Koeffizienten und die Anzahl der Coding Passes in einem Codeblock aus Headern als auch heuristische und statistische Informationen über die visuelle oder auf MSE basierende Wichtigkeit von Subbändern auf verschiedenen Auflösungsstufen verwendet.
  • Bei der Schätzung werden aufeinanderfolgende Bits von der Gesamtzahl der Bits pro Codeblock subtrahiert, bis eine gegebene Bitrate für das Bild erreicht ist. Bei der Subtraktionsreihenfolge handelt es sich um die Umkehrung eines Bitzuordnungsalgorithmus. Dieser Zuordnungsalgorithmus kann der gleiche sein wie jener, der vom Codierer benutzt wird, muss es aber nicht.
  • Aus dem Paket-Header einer JPEG-2000-Datei geht die Länge eines Codeblocks hervor, d.h. die Anzahl der Bits „B", die Anzahl der Null-Bitebenen „NZ" und die Anzahl der Coding Passes „CP", die während des Codierens verwendet werden. Anhand der Anzahl der Null-Bitebenen lässt sich eine Schätzung des Maximalwerts von Absolutwerten von Koeffizienten im Codeblock, 2maxB, erhalten, indem die maximale Nicht-Null-Bitebene berechnet wird. MaxB = MSB(Codeblock-Subband) – NZ (1),mit MSB als der maximalen Anzahl an Bitebenen des spezifischen Subbands, zu dem der Codeblock gehört. MSB ist durch Informationen im entsprechenden QCC- oder QCD-Header-Entry für JPEG 2000 definiert. Auf Grundlage visueller oder auf MSE beruhender Gewichtung oder statistischer Eigenschaften von Bildern lässt sich eine Reihenfolge von Subbändern und Bitebenen herleiten, welche die Wichtigkeit einer Bitebene in einem gegebenen Subband widerspiegelt. Basierend z.B. auf der MSE-Wichtigkeit ist in Tabelle 2 die Einstufung von Bitebenen in einem Subband bei einer Zerlegung mit fünf Levels nach Wichtigkeit aufgeführt. Tabelle 2 – Auf MSE-Gewichtung beruhende Reihenfolge von Bitebenen und Subbändern gemäß deren Wichtigkeit bzw. Importanz
    Reihenfolge nach i (von geringster Importanz, 1 = 1, zu größter Importanz) Bitebene b(i) Subband s(i) Level l(i)
    1 1. Bitebene HH Level 1
    2 1. Bitebene LH/HL Level 1
    3 1. Bitebene HH Level 2
    4 2. Bitebene HH Level 1
    5 1. Bitebene LH/HL Level 2
    6 1. Bitebene HH Level 3
    7 2. Bitebene LH/HL Level 1
    8 2. Bitebene HH Level 2
    9 1. Bitebene LH/HL Level 3
    10 1. Bitebene HH Level 4
    11 3. Bitebene HH Level 1
    12 2. Bitebene LH/HL Level 2
    13 2. Bitebene HH Level 3
    14 1. Bitebene LH/HL Level 4
    15 1. Bitebene HH Level 5
    16 3. Bitebene LH/HL Level 1
    17 3. Bitebene HH Level 2
    18 2. Bitebene LH/HL Level 3
    19 2. Bitebene HH Level 4
    20 4. Bitebene HH Level 1
    21 3. Bitebene LH/HL Level 2
    22 3. Bitebene HH Level 3
    23 2. Bitebene LH/HL Level 4
    24 2. Bitebene HH Level 2
    25 4. Bitebene LH/HL Level 1
    26 4. Bitebene HH Level 2
    27 3. Bitebene LH/HL Level 3
    28 3. Bitebene HH Level 4
    29 2. Bitebene LH/HL Level 5
    ... ... ... ...
  • Der Schätzalgorithmus benutzt diese Reihenfolge und berechnet bei jedem Codeblock für die Reihenfolgezahl i die Zahl der Coding Passes CP(b(i)), welche die spezifische Bitebene, b(i), in dem Subband, s(i), und beim entsprechenden Level, l(i), enthalten, also CP(b(i)) = CP – ((MaxB(s(i), l(i)) – b(i)·3 + 1) (2).
  • Falls diese Zahl positiv ausfällt, wird eine spezifische Zahl von Bits von den Codeblock-Bits subtrahiert. In einer Ausführungsform wird die spezifische Zahl von Bits als die durchschnittliche Zahl der Bits pro Coding Pass in dem spezifischen Subband oder bei der spezifischen Auflösung berechnet. Im nächsten Schritt, also bei Reihenfolgezahl (i + 1), wird die hergeleitete Zahl der Bits in einer ähnlichen Weise von den Codeblöcken für die Bitebene b(i + 1) des Subbands s(i + 1) bei Level (i + 1) subtrahiert. Im Pseudocode wird ein beispielhafter Schätzalgorithmus für die Beispielzielrate von 0,5 Bit/Pixel folgendermaßen ausgedrückt:
    Figure 00140001
  • New_B und new_CP sind Arrays der Größe der Zahl von Codeblöcken.
  • Sobald die Zielrate erreicht ist, werden die neuen geschätzten Bitwerte „new_B" in den Entropieverarbeitungsalgorithmen benutzt.
  • Es gibt viele Alternativen zur Schätzung eines Bildes mit niedriger Bitrate anhand eines Bildes mit hoher Bitrate. In einer alternativen Ausführungsform kann eine andere Verfahrensweise zur Schätzung von Bildern mit niedriger Bitrate eingesetzt werden. Diese Verfahrensweise nutzt ein Modell der Verteilung von Wavelet-Koeffizienten eines Bildes.
  • Es wird davon ausgegangen, dass sich die Verteilung der Wavelet-Koeffizienten mittels einer Gauss'schen oder Laplacian'schen Verteilung beschreiben lässt. Letztere wird in der Literatur häufig zur Modellerstellung verwendet, da die Verteilungen vieler natürlicher Bilder überprüft werden, damit sie der exponentiellen Verteilung annähernd folgen. Die Laplacian'sche Verteilung verfügt über die Dichte f(x) = λe–λ|x| für λ > 0 (3).
  • Die theoretische Definition der Entropie lautet H = –Σpilog(pi) (4),wobei pi die Wahrscheinlichkeit eines Ereignisses Ai ist, d.h. pi = P(Ai). Bei einem verlustbehafteten komprimierten Bild handelt es sich bei den Ereignissen um jene Situationen, in denen Koeffizienten in spezifische Quantisierungs-Bins fallen. Im Fall skalarer Quantisierung mit Quantisierer Q wird das Ereignis Ai als jenes Ereignis beschrieben, bei dem ein Koeffizient im Intervall [i·2Q, (i + 1)·2Q] ist, d.h.: pi = P(Ai) = P(Wellenlänge-Koeffizient d ∊ [i·2Q, (i + 1)·2Q)) (5)
  • Für die Laplacian'sche Verteilung resultiert daraus pi = e–λi2^Q – e–λ(i+1)2^Q (6)
  • Falls der Parameter λ anhand der Header-Daten einer Codiereinheit schätzbar wäre, ließen sich die pönalisierten probabilistischen Verteilungsfunktionen (pdf/penalized probabilistic distribution functions) der Koeffizienten in dieser Codiereinheit schätzen, und die Entropie für jeden gegebenen Quantisierer Q könnte bestimmt werden.
  • Die Paket-Header einer JPEG-2000-Datei enthalten Informationen über die Anzahl der Null-Bitebenen in einem Codeblock. Anhand dieser Informationen kann eine Schätzung der maximalen Absolutwerte von Koeffizienten in diesem Codeblock durch die variable MaxB aus Gleichung 1 erhalten werden. Mittels dieser Variable lässt sich der Parameter λ schätzen als λ* = log2(#Koeffizienten pro Codeblock)/2^MaxB) (7)
  • Durch Einsetzen dieser Schätzung in die Formeln der Gleichungen (6) und (4) wird eine Schätzung für die Entropie bei einer gegebenen spezifischen Quantisierung erhalten. Der Wert H wird in Bit pro Pixel ausgedrückt. Da die Codeblock-Länge in Bytes gemessen wird, ist der geschätzte Wert H mit 8·(#Koeffizienten pro Codeblock) zu multiplizieren. Ein finaler Algorithmus kann die gleiche Reihenfolge nutzen wie das zuvor beschriebene Verfahren, um die Anzahl der Bits in verschiedenen Subbändern bei unterschiedlichen Auflösungsstufen sukzessive zu verringern. Die Verringerung der Bits ist dadurch gegeben, dass der Quantisierer auf den Bitebenenparameter b(i) aus Tabelle 2 eingestellt wird.
  • Verarbeitungsalgorithmen zur Bildanalyse
  • Durch Ausschöpfen der Multiskalenentropieverteilung, auf die sich vom Header aus zugreifen lässt, sind zur Durchführung von Bildanalyse oder Computer-Vision und ähnlichen Vorgängen Verfahren am zugrundeliegenden Bild anwendbar, ein-, aber nicht ausschließlich Segmentierung, automatische Skalierung, Auflösungsauswahl, automatische Bereichsauswahl und Cropping. Gängige Verfahren nach Stand der Technik sind beschrieben in W. Pratt: „Digital Image Processing", (2. Auflage), John Wiley & Sons, Inc., New York, NY, 1995 und A. Jain: „Fundamentals of Digital Image Processing", Prentice Hall, Englewood Cliffs, NJ, 1995. In einer Ausführungsform ist anstatt der exakten sampleweisen Multiskalenentropieverteilung die Entropieverteilung über lokale Blöcke von Multiskalenkoeffizienten (wie z.B. Codeblöcke in JPEG 2000), also eine granuläre Entropieverteilung, verfügbar. In einer Ausführungsform wird die granuläre Entropieverteilung zur Verarbeitung des zugrundeliegenden Bildes eingesetzt.
  • Wie hierin erläutert, wird die Verwendung von Multiskaleninformationen aus einem in JPEG-2000-Headern verfügbaren Bild im Framework mehrerer Bildanalysealgorithmen (oder bei Computer-Vision) demonstriert. In einer Ausführungsform handelt es sich bei den verwendeten Header-Parametern um PPM, PPT, SIZ, COD, COC, QCC und QCD. Anhand dieser Parameter lassen sich der Ort der Codeblöcke in der Wavelet-Domäne und die Zahl der Bits extrahieren, die vom Codierer zur Codierung der entsprechenden Koeffizienten eingesetzt werden. Diese Zahlen können zur Herleitung einer Bitverteilung der Multiskalendarstellung des Bildes benutzt werden. Die Skala und die räumliche Lokalisierung von Codeblöcken sowie die aus den Headern entnommene Multiskalenbitverteilung führen zu verschiedenen Bildverarbeitungsanwendungen, z.B. zu Multiskalensegmentierung, automatischer Skalierung, automatischem Skalieren und Cropping und ferner zur Erzeugung einer Multiskalen-Collage.
  • Segmentierung
  • Mittels eines Klassifizierungsverfahrens wird jedem kleinen Bereich in einem Bild ein Klassenlabel zugeordnet. Bei einem solchen Bereich kann es sich um ein einzelnes Pixel oder um eine Gruppe von Pixeln handeln, z.B. um in einem quadratischen Block enthaltene Pixel. Verschiedene Bildanalyseverfahren nutzen die Klassenzuordnungen auf unterschiedliche Art, beispielsweise trennen die Segmentierungstechniken ein Bild in Bereiche mit homogenen Eigenschaften, z.B. mit dem gleichen Klassenlabel.
  • Unter Verwendung der Multiskalenentropieverteilung wird jedem Bildbereich eine Skala als Klassenlabel zugeordnet, so dass die visuell relevanten Informationen über den zugrundeliegenden Bereich als die zugeordnete Skala zurückbehalten werden, selbst wenn die Koeffizienten aus den feineren Skalen nicht beachtet werden. Ein solches Labelling identifiziert die Frequenzbandbreite der zugrundeliegenden Bildmerkmale. Die Segmentierung stellt sich als Optimierungsproblem, zu dessen Lösung eine statistische Vorgehensweise herangezogen wird.
  • Der Ort von Codeblöcken in der Wavelet-Domäne ist durch den zweidimensionalen (2D) räumlichen Ort (i, k) und die Skala j gegeben. Falls beispielsweise ein Bild der Größe 512 × 512 verarbeitet wird und die Codeblöcke 32 × 32 groß sind, befinden sich 8 × 8 Codeblöcke der Größe 32 × 32 in jedem Band von Level 1, 4 × 4 Codeblöcke pro Band in Level 2 und 2 × 2 Codeblöcke pro Band in Level 3. Für die drei unterschiedlichen Bänder LH, HL und HH in Level j wird die Anzahl der Bits Bj(i, k) pro Codeblock-Ort (i, k) in Level j addiert, um die Zahl der Bits zu erhalten, die zur Codierung der Gesamtkoeffizienten am Wavelet-Domänen-Ort (i, k) notwendig sind. In der Praxis kann auch eine lineare oder nicht-lineare Kombination aus den verschiedenen Entropien verwendet werden, um die Unterscheidung von vertikalen und horizontalen Merkmalen zu unterstützen.
  • Eine Skala j ∊ {1...J} wird jedem Block zugeordnet, so dass eine Kostenfunktion Λ maximiert wird,
    Figure 00170001
    wobei Sopt die optimale Segmentierungskarte für das gesamte Bild ist, S eines der JMN möglichen Labellings von Blöcken der Größe M × N ist, wobei jeder Block einer der Skalen in {1...J} zugeordnet ist, und Λ(S, B) die Kosten bei beliebiger gegebener Segmentierung S und beliebiger gegebener Entropieverteilung B ergibt.
  • In einem Beispiel wird die Verfahrensweise nach Stand der Technik „Maximum A Posteriori" (MAP) anhand von Statistiken übernommen, um das Segmentierungsproblem zu lösen, da sich eine derartige Verfahrensweise so abstimmen lässt, dass sie zur Endanwendung passt. Die grundlegenden Komponenten, die von MAP zur Festlegung der Kostenfunktion Λ genutzt werden, sind die Wahrscheinlichkeit P(B|S), bei der es sich um die Wahrscheinlichkeit der Entropieverteilung B des Bildes handelt, und zwar bei gegebener Segmentierungskarte S, und der Prior P(S), bei dem es sich um die Wahrscheinlichkeit der Segmentierungskarte S handelt. Die MAP-Kostenfunktion Λ ist gegeben durch Λ(B, S) = P(B, S) = P(B|S)P(S) Bayes'sche Regel (9)
  • Die Lösung mithilfe der MAP-Segmentierung entspricht der Optimierungsgleichung (8) unter Verwendung von Gleichung (9).
  • Die in einem Codeblock in Level 1 enthaltenen Koeffizienten beinhalten Informationen über einen Block mit annähernd der doppelten Größe in der Pixeldomäne. Falls die Pixeldomäne in Blöcke spezifischer Größe aufgeteilt wird, gibt es viermal so viele Blöcke in der Pixeldomäne wie Codeblöcke in Level 1 der Wavelet-Zerlegung, sechzehnmal so viele Blöcke in der Pixeldomäne wie Codeblöcke in Level 2 der Wavelet-Zerlegung, etc. Deshalb steuern Bits eines Codeblocks Bj(i, k) mit der Größe n × n Informationen bei zu einem Block in der Pixeldomäne mit der Größe 2jn × 2jn an Ort (i2Jn, k2Jn). Im umgekehrten Fall erhält ein Pixelblock der Größe n × n an Ort (x, y) eine Fraktion der Bits, geschätzt auf 1/4j, aus Codeblöcken Bj(i, k) mit
    Figure 00180001
    In einer Ausführungsform wird die Anzahl der zu der Pixeldomäne gehörenden Level-j-Bits definiert als
    Figure 00180002
  • Die obige Berechnung ist äquivalent zur stückweisen Interpolation der Entropiewerte. Weitere Interpolationsalgorithmen, wie z.B. polynomiale Interpolation oder andere nichtlineare Interpolationsarten, können ebenso zur Berechnung der Level j-Bits eingesetzt werden.
  • Die kumulative gewichtete Auflösung-j-Entropie eines Pixelblocks der Größe 2n × 2n an Ort (x, y) ist gegeben durch
    Figure 00180003
    mit
    Figure 00180004
    für die Orte i und k in B ^j(i, k) in Gleichung (10) und den Gewichten γj,i. Ein Beispiel für eine Sammlung von Gewichten ist γj,i = 0 für 1 < j und γj,i = wj für 1 ≥ j (12)mit w0 = 1, W1 = 3,5, w2 = 5,5, w3 = 13, w4 = 20. Die Parameter wi und die Gewichte γj,i können in Abhängigkeit von der Anwendung geändert werden. Die Gruppe von Werten B ^pixelj wird als die kumulative gewichtete Entropie des Bildes bei Auflösung j bezeichnet.
  • Die Wahrscheinlichkeit für die Entropie B ^pixelj (x, y) eines Pixeldomänenblocks an Ort (x, y) ist so festgelegt, dass sie den Wert B ^pixelj (x, y) in Bezug auf die gesamten gewichteten Bits für alle Levels hat, die zu dem Pixeldomänenort (x, y) gehören, also
    Figure 00180005
  • Ausgehend davon, dass die Pixeldomänenblöcke unabhängig sind, ist die Gesamtwahrscheinlichkeit gegeben durch
    Figure 00180006
    B ^pixel liefert eine Multiskalenentropieverteilung für das ursprüngliche Bild.
  • Nun muss der Prior P(s) bestimmt werden. Die folgende Erläuterung spiegelt das bestehende Wissen über typische Segmentierungskarten wider. Um den Prior auszuwählen, gibt es viele mögliche Wege, von denen einige beispielsweise beschrieben sind in R. Neelamani, J. K. Romberg, H. Choi, R. Riedi und R. G. Baraniuk: „Multiscale image segmentation using joint texture and shape analysis", in: „Proceedings of Wavelet Applications in Signal and Image Processing VIII", Teil des Internationalen SPIE-Symposiums über optische Wissenschaft und Technologie, San Diego, CA, Juli 2000; H. Cheng und C. A. Bournan: „Trainable context model for multiscale segmentation", in Prot. IEEE Int. Konf. über Bildverarbeitung, ICIP 1998, Chicago, IL, 4.–7. Oktober 1998, und H. Choi und R. Baraniuk: „Multiscale texture segmentation using wavelet-domain hidden Markov models", in Prot. der 32. Asilomar-Konferenz über Signale, Systeme und Computer, Pacific Grove, CA, 1.–4. November 1998.
  • Da angenommen wird, dass die Segmentierungskarte benachbarte Bereiche hat, wird auf jeden Ort (x, y) ein Prior gesetzt, und zwar basierend auf der unmittelbaren Nachbarschaft N(x, y), die sich aus neun Blöcken zusammensetzt (wobei an den Grenzen Reflexion benutzt wird). Der einzelne Prior lautet
    Figure 00190001
    wobei #(N(x, y) = S(x, y)) die Anzahl der Nachbarn ist, die das Gleiche sind wie S(x, y), und α ein Parameter ist, der zwecks Begünstigung benachbarter Bereiche erhöht werden kann; α = 0 impliziert, dass die Segmentierungskartenblöcke voneinander unabhängig sind. In einer Ausführungsform wird der Gesamtprior ausgewählt als P(S) = Πx,yP(S(x, y)|N(x, y)) (16) = Πx,y(#(N(x, y) = S(x, y))α (17)
  • In einer Ausführungsform ist α gleich 0,02 bis 0,08. Nun lässt sich die gewünschte Segmentierungskarte durch Optimieren der Kostenfunktion Λ(S, B) erhalten. Eine Vielzahl iterativer Verfahren nach Stand der Technik kann zur Suche nach den lokalen Maxima eingesetzt werden. Ein iteratives Verfahren beinhaltet zunächst das Berechnen der anfänglichen Segmentierungskarte, welche die Kostenfunktion unter Verwendung von α = 0 in Gleichung (12) optimiert. Die Segmentierungskarte, welche die sich ergebende Kostenfunktion maxi miert, wird erhalten, weil aus dem Problem der Vektoroptimierung ein Problem der skalaren Optimierung wird. Die Segmentierungskarte ist gegeben durch
    Figure 00200001
  • Für alle (x, y) wird die Segmentierungskarte bei (x, y) aktualisiert mittels
    Figure 00200002
    wobei N(x, y) aus Sm–1 erhalten wird. Bei jeder Iteration wird m auf m = m + 1 erhöht. Die iterative Schlaufe wird wiederholt, bis gilt Sm = Sm–1. Der iterative Algorithmus konvergiert stets, weil die Kostenfunktion Λ(B, Sm) eine nicht abnehmende Funktion mit den Iterationen m und begrenzt ist. Das nach der Konvergierung erhaltene Sm ist die Segmentierungsschätzung.
  • Die tatsächliche Segmentierungsausgabe in Bezug auf das Labelling von Bereichen ist dann durch die Maximierung der MAP-Kostenfunktion gegeben Λ(B, Sm) = P(B|Sm)·(P(Sm) (20),wie vorstehend in Gleichung (3) dargelegt.
  • Bei 2 handelt es sich um ein Flussdiagramm eines Prozesses zum Segmentieren eines Bildes. Bezugnehmend auf 2 wird in Prozessblock 201 eine Datei empfangen, die einen Header beinhaltet, der seinerseits Multiskalenentropieverteilungsinformationen über Blöcke eines Bildes enthält. In einer Ausführungsform stellt die Datei ein Bild im JPEG-2000-Format dar. In Prozessblock 202 wird, bezüglich jedes Blocks, dem Block eine Skala aus einer Gruppe von Skalen zugeordnet, die eine Kostenfunktion maximiert. Die Kostenfunktion stellt ein Produkt aus einer Gesamtwahrscheinlichkeit und einem Prior dar. Die Gesamtwahrscheinlichkeit ist ihrerseits ein Produkt aus Wahrscheinlichkeiten der Blöcke. In einer Ausführungsform ist jede Wahrscheinlichkeit eines Blocks proportional zu einer Summierung, für jede Skala in der Gruppe von Skalen, eines Produkts aus einem Gewicht der Skala und einer Anzahl von Bits, die zur Codierung des Blocks an der Skala aufgewendet werden. In einer Ausführungsform bildet die Anzahl der Bits, die zur Codierung des Blocks an der Skala aufgewendet werden, einen durch einen Nenner geteilten Zähler. Der Zähler ist eine Entropieverteilung eines Multiskalenkoeffizienten des Blocks an der Skala. Der Nenner beträgt vier hoch der Skala. In Prozessblock 203 wird das Bild dadurch segmentiert, dass jene Blöcke zusammengruppiert werden, denen äquivalente Skalen zugeordnet worden sind.
  • 3 veranschaulicht eine Segmentierungskarte, die über ein beispielhaftes Bild einer Frau gelegt wurde. In einem Beispiel labelt der (oben dargelegte) Segmentierungsprozess die Gesichtsbereiche des Bildes 301 mit feineren Skalen und die Hintergrundbereiche mit gröberen Skalen, um die zugrundeliegenden Merkmale des Bildes wiederzugeben. Die unterschiedlichen Schattierungen machen kenntlich, dass die Bereiche mit unterschiedlichen Merkmalstypen in unterschiedlicher Weise identifiziert werden. In einer Ausführungsform ordnet der Segmentierungsprozess den verschiedenen Bereichen eine Skala basierend auf den zugrundeliegenden Merkmalen zu. Der Farbbalken 302 auf der rechten Seite zeigt die Skalen, die den verschiedenen Bereichen zugeordnet werden. Bereiche, wie z.B. das Gesicht, welche viele Kanten enthalten, werden mithilfe einer Feinskala 303 gelabelt. Den Hintergrundbereichen werden hingegen gröbere Skalen 304 zugeordnet.
  • 4 veranschaulicht eine Segmentierungskarte, die über ein exemplarisches Bild eines japanischen Texts gelegt wurde. Da die Segmentierungskarte 402 einheitlich ist, verändert das Darüberlegen das Aussehen des ursprünglichen Bildes 401 nicht. In einem Beispiel wird mittels des Segmentierungsprozesses versucht, den verschiedenen Bereichen basierend auf den zugrundeliegenden Merkmalen eine Skala zuzuordnen. Der Farbbalken 403 auf der rechten Seite zeigt die den verschiedenen Bereichen zugeordneten Skalen. Da das Bild 401 einheitliche Merkmale aufweist, hat der Algorithmus allen Bereichen in Bild 401 einheitlich die Skala 3 zugeordnet. In einem Beispiel mit JPEG-2000-Teil-1 haben die Bildcodierer bezüglich obiger Beispiele reversible Wavelet-Filter, Fünf-Stufen-Zerlegung bei Codeblock-Größe 32 × 32 und eine Bitrate von 0,2 Bits pro Pixel auf Grauskalenbildern verwendet.
  • Die Ergebnisse lassen sich auf Farbbilder ausweiten. Eine lineare oder nichtlineare Kombination aus den Multiskalenentropiezuordnungen unter den verschiedenen Farbkomponenten kann zur Segmentierung benutzt werden. Eine Segmentierung lässt sich nur an einer Komponente, z.B. an Luminanz oder grün, durchführen. Ein Segmentierungsalgorithmus kann an jeder Komponente separat angewandt und dann mittels Voting oder eines MAP-Verfahrens kombiniert werden.
  • In einem Beispiel ist die Auflösung der Endergebnisse durch die Körnigkeit (Grobheit) der Multiskalenentropieverteilung begrenzt; typischerweise ist die Auflösung der Endergebnisse in Bezug auf das zugrundeliegende Bild auf die Vielfachen der Codeblock-Größe eingeschränkt. In einem Beispiel kann, bei Verwendung von Zonen, eine bessere Auflösung erzielt werden, falls die Zonengrenzen eine Spaltung der Codeblöcke bewirken.
  • Automatische Auswahl der Auflösung
  • Oft ist es wünschenswert, die beste Skala zu kennen, so dass die zurückbehaltenen Koeffizienten, selbst wenn alle feineren Skalenkoeffizienten verworfen werden, genügend Informationen zur Identifizierung des Bildes enthalten. Dies lasst sich beispielsweise bei Digitalkameras nutzen. Da die Entropie ein gutes Maß für visuelle Informationen darstellt, kann sie als Maß für die Menge visueller Informationen eingesetzt werden, die bei Darstellung eines Bildes mit Skala j verlorengehen. Darüber hinaus unterstützt die Multiskalendarstellung die Identifizierung der ungefähren Bildbereiche, die ihre visuellen Informationen während der Bildskalierung einbüßen. Die beste Skala wird folgendermaßen abgeschätzt: Für jede Skala j wird die Wichtigkeit einer gegebenen Gruppe von Multiskalenkoeffizienten Si,j zwecks Rekonstruktion des jeweiligen Bildteils analysiert. Die relative Wichtigkeit des Koeffizienten wird abgeleitet durch Vergleichen seiner Entropie mit einem skalierten Faktor der mittleren Entropie des unmittelbar gröberen Levels j + 1 oder einer Kombination aus allen groben Levels j + 1...J. Si,j ist von Bedeutung, falls B < βμj+1, und nicht von Bedeutung, falls B ≤ βμj+1, wobei μj+1 der Mittelwert der Anzahl an Bits pro Block an dem gröberen Skala j + 1 ist und β ein Schwellenparameter, der die Bedeutung diktiert. In einem Beispiel beläuft sich β auf 0,3.
  • Für jede Skala j wird die Messung des Prozentanteils P(j) jenes Bildbereichs vorgenommen, den die erheblichen Koeffizienten in Level j abdecken. P(j) misst den Bereich, der eine erhebliche Menge an Informationen verlieren würde, wenn die erheblichen Koeffizienten in Level j verworfen würden (wenn Bild X um einen Faktor 2j herunterskaliert wird, sind alle Koeffizienten in den Levels 1...j in dem herunterskalierten Bild verloren). Die gröbstmögliche Skala Jopt wird so ausgewählt, dass zumindest P. Prozent des Bereichs noch immer erheblich sind, d.h. P(Jopt) > P. (21)wobei P. ein Schwellenparameter ist, der den minimalen Prozentanteil jenes Bereichs festlegt, der erkennbar sein muss. In einer Ausführungsform beträgt P. 35%. Die beste Skala, die genügend Informationen über das Bild zurückbehält, ist Jopt. Daher würde das Bild, selbst im Fall einer Herunterskalierung um den Faktor 2Jopt–1 an allen Seiten, noch immer genügend Informationen im verbleibenden Koeffizienten erhalten, um das Erkennen des Bildes zu erleichtern. Es besteht die Möglichkeit, auch die Bedeutungsschwelle basierend auf allen gröberen Skalenkoeffizienten oder auf nur einigen der gröberen Skalenkoeffizienten festzulegen.
  • Bei 5 handelt es sich um ein Flussdiagramm eines Prozesses zur adaptiven Skalierung eines Bildes. In Prozessblock 501 wird eine Datei empfangen, die einen Header beinhaltet, der seinerseits Multiskalenentropieverteilungsinformationen über Blöcke eines Bildes enthält. In einem Beispiel stellt die Datei ein Bild im JPEG-2000-Format dar. In Prozessblock 502 wird für jeden Block festgelegt, dass der Block seine Bedeutung an einer Skala beibehält, nachdem bestimmt ist, dass eine Entropie eines Multiskalenkoeffizienten eines Blocks an der Skala größer ist als eine mittlere Entropie von Multiskalenkoeffizienten von Blöcken an zumindest einer gröberen Skala. In einem Beispiel ist die mittlere Entropie eine mittlere Bitverteilung, multipliziert mit einem Schwellenparameter. In Prozessblock 503 wird das Bild zu der gröbsten Skala skaliert, in der ein Schwellenprozentsatz der Blöcke seine Bedeutung an der Skala beibehält.
  • 6 veranschaulicht die adaptive Skalierung des beispielhaften Bildes einer Frau. Die Größe des ursprünglichen Bildes 601 beläuft sich auf 512 × 512 Pixel. Die Größe des skalierten Bildes 602 beträgt 64 × 64 Pixel. Die schwarzen Kasten 603, 604 und 605 zeigen die verschiedenen Auswahlmöglichkeiten hinsichtlich der Größe des skalierten Bildes an. In einem Beispiel wird die Skalierung unter Verwendung eines erkennbaren Bereichs von 35% und eines Bedeutungsschwellenfaktors von 0,3 festgelegt. 7 stellt die adaptive Skalierung des beispielhaften Bildes eines japanischen Texts dar. Die Größe des ursprünglichen Bildes 701 beläuft sich auf 512 × 512 Pixel. Die Größe des skalierten Bildes 702 beträgt 128 × 128 Pixel. Die schwarzen Kasten 703 und 704 zeigen die verschiedenen Auswahlmöglichkeiten hinsichtlich der Größe des skalierten Bildes an. In einer Ausführungsform wird die Skalierung unter Verwendung eines erkennbaren Bereichs von 35% und eines Bedeutungsschwellenfaktors von 0,3 festgelegt. Der oben dargelegte Algorithmus zur Skalaauswahl ist in der Lage, unterschiedliche Skalen für unterschiedliche Bilder auszuwählen. Das die Frau darstellende Bild 601 ist, laut einem Beispiel, um einen Faktor von 23 heruntergesampelt, wohingegen das Bild 701 mit dem japanischen Text gemäß einer Ausführungsform um einen Faktor von 22 heruntergesampelt ist. Die Unterschiede bezüglich der Skala kommen zustande, weil Bild 701 mit dem japanischen Text im Vergleich zu Bild 601 mit der Frau wichtige Komponenten (dich sich als höhere Entropie widerspiegeln) in den höheren Frequenzbändern aufweist.
  • Bei gegebener Bedeutungsschwelle β kann das Labelling eines Codeblocks als erheblich oder unerheblich auch dadurch vorgenommen werden, dass die Entropie aller Codeblöcke in einer Auflösungsstufe als Mischung aus zwei Wahrscheinlichkeitsverteilungen modelliert wird, z.B. aus zwei Gauss'schen Verteilungen mit unterschiedlichen Mittelwerten μ1 und μ2 und unterschiedlichen Standardabweichungen σ1 und σ2. Anhand der Entropiewerte, die unter der Bedeutungsschwelle liegen, werden die Parameter μ1 und σ1 geschätzt. Sind die beiden pdfs f1 und f2 gegeben, wird die Wahrscheinlichkeit eines zu f1 gehörenden Entropiewerts x geschätzt. Dieses Verfahren ist ein standardgemäßer Vorgang, wie er z.B. erläutert ist in Duda, Hart, Stork: „Pattern Classification", (zweite Auflage), Wiley, New York, NY, 2000. Die Wahrscheinlichkeitsverteilung der Codeblöcke bei jeder Auflösung wird in einen Algorithmus zur Multiskalensegmentierung eingegeben, wie oben beschrieben.
  • Bei gegebener Bedeutungsschwelle β kann die optimale Skala Jopt auch gewählt werden als:
    Figure 00240001
  • Automatisches Cropping and Skalieren bei feststehender Fenstergröße
  • Häufig besteht die Einschränkung, dass ein Bild innerhalb einer festgelegten Pixelgröße darzustellen ist. Bei solchen Einschränkungen ist es wünschenswert, die „beste" Darstellung für das Bild auszuwählen, die den gegebenen Einschränkungen hinsichtlich der Größe gerecht wird. Da die Entropie ein gutes Maß für visuelle Informationen darstellt, wird eine Bilddarstellung erzielt, welche die maximale Entropie einschließt, während sie noch immer den Einschränkungen hinsichtlich der Größe gerecht wird.
  • Die gewichtete kumulative Entropie B ^pixelj aus Gleichung (6) wird als Eingabe für einen Maximierungsalgorithmus verwendet, um die beste Skala (oder die besten Auflösungsstufe) für ein Bild zu bestimmen, das mit einer lokalen Indikatorfunktion gefaltet wird. Die Gewichte können so ausgewählt werden wie in der Segmentierungssektion, nämlich als γj,i = 0 für 1 < j und γj,i = 1 für 1 ≥ j.
  • Eine zweidimensionale Indikatorfunktion I wird mit der Hilfestellung konstruiert, die durch Einschränkungen der Anwendung hinsichtlich Form und Größe diktiert wird. Falls es sich bei der gewünschten Einschränkung hinsichtlich der Form beispielsweise um ein Rechteck handelt und bei der Einschränkung hinsichtlich der Größe um die Pixeldimensionen m × n, ist die Indikatorfunktion für ein Rechteck der Größe m × n, das sich an der Position (x0, y0) befindet, gegeben durch
    Figure 00240002
  • Der „beste" Ort (a*, b*) des in dem „besten" Level j* platzierten Rechtecks wird berechnet als
    Figure 00250001
    wobei κj(a, b) eine Matrix ist, welche die relative räumliche und skalenbezogene Wichtigkeit der Entropie kontrolliert. Die Größe von κj(a, b) ist auf der gesamten Skala die gleiche. (Sowohl um mit jenen Bildern, die zentriert sind, umzugehen, als auch um die natürliche menschliche Tendenz einzubeziehen, wird typischerweise eine Heuristik, die in die meisten Bildcodierer nicht eingegliedert ist, nämlich κ(a, b) gewählt, so dass die zentralen Abschnitte des Bildes stärker gewichtet werden als die Entropien an den Rändern des Bildes.) Für 512 × 512 Bilder mit einer Codeblock-Größe von 32 × 32 wird ein Beispiel angeführt. Ein Beispiel für eine Gruppe von Matrixen, welche die räumliche Wichtigkeit für j = 1,2,3,4 gewichten ist
    κ2 = κ1 = Maske1·64/||Maske1||,
    Maske1 = [(1,0 1,1 1,2 1,3 1,3 1,2 1,1 1,0) × (1,0 1,1 1,2 1,3 1,3 1,2 1,1 1,0)T],
    κ3, κ4 = Maske2·64/||Maske2||,
    Maske2 = [11111111] × [11111111]
    und ||Maske1|| zeigt die L1-Norm der Maskenmatrix.
  • Das Multiplizieren der kumulierten gewichteten Entropie bei Auflösung j mit Maske1 bedeutet das Gewichten der Entropiewerte, die von der Mitte aus in Richtung der Ränder des Bildes bei Auflösung j linear von 1 auf 0,77 abnehmen.
  • Die beste Darstellung des Bildes wird erhalten, indem das Bild theoretisch mit Auflösung j* berechnet und aus diesem Bild mit niedriger Auflösung ein Rechteck der Größe m × n gecroppt wird, dessen linke untere Ecke sich an Position (a*/2j*, b*/2j*) befindet. Dieser Vorgang erfolgt in der Praxis dadurch, dass nur jene Codeblöcke des JPEG-2000-Codestroms decodiert werden, die etwas zu dem gecroppten Teil des Bildes mit j*-reduzierter Auflösung beitragen, und dass eine umgekehrte Transformation an diesen Daten vorgenommen wird, um das tatsächlich gecroppte Bild zu erzeugen.
  • Bei 8 handelt es sich um ein Flussdiagramm eines Prozesses zum automatischen Skalieren und Cropping eines Bildes. Der Prozess wird durch Verarbeiten von Logik ausgeführt, welche Hardware (z.B. Schaltungsanordnungen, zweckbestimmte Logik, etc.), Software (wie sie z.B. in einem Universalcomputersystem oder einem zweckbestimmten Gerät verwendet wird) oder eine Kombination aus den beiden einschließt.
  • Mit Blick auf 8 wird in Verarbeitungsblock 801 eine Datei, die einen Header beinhaltet, der seinerseits Multiskalenentropieverteilungsinformationen über Blöcke eines Bil des enthält, empfangen, und zwar zusammen mit einer Einschränkung hinsichtlich der Form, etwa bedingt durch die Breite und die Höhe des Displays. In einer Ausführungsform stellt die Datei ein Bild im JPEG-2000-Format dar.
  • In Verarbeitungsblock 802 wird, für jeden Block und für jede Skala aus einer Gruppe von Skalen, eine kumulative Entropieverteilung für den Block an der Skala gleich einer gewichteten Summierung einer Anzahl von Bits gesetzt, die aufgewendet werden, um den Block für Skalen an und zwischen der ersten Skala und einer maximalen Skala zu codieren.
  • In Verarbeitungsblock 803 wird für jeden Block und jede aus einer Gruppe von Skalen ausgewählte Skala und ferner für jeden Breiten- und Höhenversatz, der innerhalb einer gegebenen Bildbreite und -höhe ausgewählt wird, eine Indikatorfunktion des Blocks an der gewählten Skala und des gewählten Breiten- und Höhenversatzes auf eins gesetzt, nachdem bestimmt worden ist, dass ein Ort der Breite des Blocks nicht größer ist als ein erster Mindestwert aus einer Gruppe, die sich zusammensetzt aus dem gewählten Breitenversatz und einer Summe des gewählten Breitenversatzes mit der um die gewählte Skala skalierte Displaybreite, und dass ein Ort der Höhe des Blocks nicht größer ist als ein erster Mindestwert aus einer Gruppe, die sich zusammensetzt aus dem gewählten Höhenversatz und einer Summe des gewählten Höhenversatzes mit der um die gewählte Skala skalierten Anzeigenhöhe. Andernfalls wird die Indikatorfunktion auf null gesetzt. Der erste Mindestwert ist ein Mindestwert aus einer Gruppe, die besteht aus einer Breite des Bildes und einer Summe aus der Breite des Blocks plus eins zuzüglich einer gewünschten um die erste Skala skalierte Höhe. Der zweite Mindestwert ist ein Mindestwert aus einer Gruppe, die besteht aus einer Höhe des Bildes und einer Summe der Höhe des Blocks plus eins zuzüglich einer gewünschten um die erste Skala skalierten Breite.
  • In Verarbeitungsblock 804 werden ein optimaler Ort (Breiten- und Höhenversatz) und eine optimale Skala berechnet, die zusammen eine Summierung maximieren, die aus der kumulativen Entropieverteilung für den Block besteht, multipliziert mit der Indikatorfunktion des Blocks (charakterisiert durch die Skala, den Breiten- und den Höhenversatz) und mit einem Parameter. In Verarbeitungsblock 805 wird das Bild auf den optimalen Ort gecroppt und das daraus hervorgehende gecroppte Bild wird auf die optimale Skala heruntergesampelt.
  • In einem Beispiel werden beim obigen Prozess gleichzeitig der Bereich und sein Skalierfaktor für die Bilder ausgewählt. 9 veranschaulicht das automatische Skalieren und Cropping des exemplarischen Bildes einer Frau gemäß einer Ausführungsform. Die Größe des ursprünglichen Bildes 901 beläuft sich auf 512 × 512 Pixel. Die maximale Größe der Dar stellung 902 soll sich jedoch auf 192 × 192 Pixel beschränken. Um die Enddarstellung 902 in 192 × 192 Pixeln unterzubringen, wählt der Prozess den wichtigen Gesichtsbereich der Frau aus und skaliert ihn dann um einen Faktor von zwei herab. Die Darstellung 902 mit der festgelegten Größe enthält die unwichtigen Hintergrundbereiche nicht. Der schwarze Kasten 903 zeigt jenen Bereich bezüglich des ursprünglichen Bildes, der in der Darstellung berücksichtigt wird.
  • 10 erläutert das automatische Skalieren und Cropping des beispielhaften Bildes eines japanischen Texts. Die Größe des ursprünglichen Bildes 1001 beläuft sich auf 512 × 512 Pixel. Die maximale Größe der Darstellung 1002 soll sich jedoch auf 192 × 192 Pixel beschränken. Die beste algorithmische Darstellung 1002 mit 192 × 192 Pixeln für das Bild 1001 mit japanischem Text besteht einfach in dem passend herunterskalierten Gesamtbild 1001. Der schwarze Kasten 1003 zeigt jenen Bereich bezüglich des ursprünglichen Bildes an, der in der Darstellung berücksichtigt wird. Das ganze Bild 1001 mit japanischem Text wird herunterskaliert, um die Darstellung 1002 zu erhalten.
  • Einschränkungen hinsichtlich des Displays
  • Der Raum des Displays stellt häufig eine Einschränkung bei einem beliebigen Gerät dar. Unter solchen Umständen ist es wünschenswert, eine Bilddarstellung zu erzielen, die geräteabhängig, aussagekräftig und kondensiert ist. Durch Kombinieren Header-basierter Verarbeitung mit Techniken zur Displayadaption lässt sich eine Vielzahl aussagekräftiger und kondensierter Bilddarstellungen zur Verfügung stellen. Die Charakteristiken der Displayvorrichtung legen eine Ober- und eine Untergrenze bezüglich der Größe des darzustellenden Bildes fest. Da der oben erläuterte automatische Skalierungsprozess eine Skala empfiehlt, die gewährleistet, dass der Hauptteil der Bildinformationen noch in dem herunterskalierten Bild zurückbehalten wird, kann eine Skala zwischen den von der Displayvorrichtung diktierten Grenzen ausgewählt werden, die der empfohlenen Skala am Nächsten kommt.
  • Häufig ist die zur Darstellung eines Bildes verfügbare Größe (z.B. in Pixeln) festgelegt. In solch einem Fall ist es wünschenswert, die beste Darstellung des Bildes zu finden, die sich mithilfe der zur Verfügung stehenden Pixel anfertigen lässt. Das oben dargelegte Verfahren zur automatischen Bereichsauswahl und Skalierung kann durch Nutzung der Multiskalenentropieverteilung die beste Darstellung des Bildes bei festgelegter Größe liefern. Die Prozessparameter können so ausgewählt werden, dass die Darstellung an spezifische Displayvorrichtungen angepasst wird.
  • Anwendungsmöglichkeiten
  • Eine Methode zur Komprimierung digitaler Videosequenzen besteht darin, mittels eines Bildcodierers mit Mehrfachauflösung jeden Video-Frame unabhängig zu komprimieren. Beispielsweise nutzt der Motion-JPEG-2000-Standard auf Multiskalentransformation beruhende Komprimierung an jedem Video-Frame in unabhängiger Weise. Da die von uns vorgeschlagenen Algorithmen in der Lage sind, diese Frames effizient zu verarbeiten, lässt sich die zuvor erwähnte Verarbeitungstechnik ebenso auf Motion-JPEG anwenden. Beispielsweise können durch zweckgemäßes Festlegen der Parameter des Segmentierungsprozesses, wie z.B. α und γj,k, „aktive" Bereiche, etwa Personen im Hintergrund in einem einzigen Video-Frame, identifiziert werden. Dies lässt sich einsetzen, um den aktiven Bereichen im nächsten Frame mehr Bits zuzuordnen, so dass die Personen besser erkennbar sind, falls erforderlich. Erhebliche Veränderungen bei der Entropiezuordnung im Verlauf der Zeit über den Frames kann ebenfalls ausgenutzt werden, um Bewegung im Video zu erfassen. Daraus können spezielle Anwendungsmöglichen bei Überwachungskameras hervorgehen.
  • Ein Ziel der Bildklassifizierung liegt im automatischen Durchforsten einer Bilddatenbank und im Gruppieren von Bildern ähnlicher Art und einheitlicher Strukturen, wie z.B. Landschaftsbilder, Porträts, Dokumente, etc. Durch Verarbeitung der Multiskalenentropieverteilungen gewonnene Segmentierungskarten können als Feature zur Durchführung umfassender Klassifizierungen genutzt werden. Es besteht die Möglichkeit, die Klassifizierungen zu einem späteren Zeitpunkt durch den Einsatz intensiverer und spezialisierterer Verarbeitungstechniken zu verfeinern.
  • Ein Zweck der Bildrückgewinnung besteht in der Identifizierung von Bildern, welche einem Musterbild ähneln. Da gute Algorithmen zur Bildrückgewinnung intensiv sind und zur Durchführung ihrer Analyse das tatsächliche Bild benötigen, können Header-basierte Segmentierungskarten verwendet werden, um die Anzahl der Bilder zu verringern, die decodiert werden müssen, und um die speziellen Algorithmen zur Bildrückgewinnung einzuspeisen.
  • Der oben dargelegte Segmentierungsprozess kann eingesetzt werden, um eine näherungsweise Segmentierung zu bieten, die das Bild in Bereiche spaltet, welche grobe Skalenmerkmale enthalten, und in Bereiche, welche feine Skalenmerkmale enthalten. Beispielsweise ist der Segmentierungsalgorithmus in der Lage, in Dokumentdateien näherungsweise Textbereiche von Bildern zu unterscheiden. Es besteht die Möglichkeit, das Ergebnis der näherungsweisen Segmentierung zwecks weiterer Analyse in einen intensiveren Musteranalyse-Algorithmus, z.B. OCR (optical character recognition), einzugeben.
  • Das oben erläuterte Segmentierungsverfahren kann verwendet werden, um eine abstrakte Collagedarstellung des Bildes zu schaffen, in welcher unterschiedliche Bereiche des Bildes mehr (oder weniger) skaliert sind, und zwar in Abhängigkeit davon, ob die in den jeweiligen Bereichen enthaltenen Merkmale grob oder fein sind. Solch eine abstrakte Darstellung eines Bildes lässt sich möglicherweise in vielen GUT-Bildkommunikationsanwendungen (graphical user interface), etwa in Webbrowsern, nutzen.
  • Multiskalencollage
  • Zur Berechnung der Multiskalencollage eines Bildes wird als erster Schritt eine Segmentierung wie im oben beschriebenen Segmentierungsabschnitt vorgenommen. Danach werden Rechtecke folgendermaßen in das segmentierte Bild eingepasst:
    Eine Multiskalenwahrscheinlichkeitsverteilung, wie z.B. die MAP-Kostenfunktion Λ(B ^pixel, Sm) aus Gleichung (6) oder das Ergebnis einer monotonen Transformation, wie z.B. logΛ(B ^pixel, Sm), wird als Eingabe für ein Verfahren zum Einpassen von Rechtecken verwendet. Das Ziel besteht darin, in jedem Level j jenes Rechteck zu finden, dessen Wahrscheinlichkeiten am Ähnlichsten zu der Wahrscheinlichkeit in einem höheren Level j* sind. Dies bedeutet, dass der Inhalt des Rechtecks höchstwahrscheinlich auf allen Skalen m, j ≤ m ≤ j* aussagekräftig ist. Deshalb ist es wahrscheinlich, dass sein entsprechender Bildteil mit Auflösung j gut dargestellt wird. Sobald das Rechteck gefunden ist, werden die Orte der von dem Rechteck abgedeckten Entries gekennzeichnet als „bereits gezählt", während die entsprechenden Wahrscheinlichkeitswerte durch Addieren eines großen Werts (z.B. 10) pönalisiert werden. Sobald dieses Verfahren für alle Levels durchgeführt worden ist, werden jenes Rechteck und jener Level ausgewählt, welche den kleinsten Unterschied an Wahrscheinlichkeiten gegenüber dem Rechteck in Level j* aufweisen. Sowohl die Position und die Größe des Rechtecks als auch der dazugehörige Level werden in einer Liste gespeichert. Im nächsten Iterationsschritt wird das Verfahren erneut auf die Einheit für pönalisierte probabilistische Verteilungsfunktionen (pdf) aller Codeblock-Orte des Bildes angewandt, die gekennzeichnet sind als „bereits gezählt". Die Informationen in der endgültigen Liste stellen einen rechteckigen Multiskalenteil des Bildes dar.
  • 11A ist ein Schaltplan einer Vorrichtung zum Segmentieren eines Bildes, zum adaptiven Skalieren eines Bildes oder zum automatischen Skalieren und Cropping eines Bildes. Mit Blick auf 11A umfasst das Gerät 1101 eine Empfangseinheit 1102, um eine Datei zu empfangen, die einen Header beinhaltet, der seinerseits Multiskalenentropievertei lungsinformationen über Blöcke eines Bildes enthält. In einem Beispiel stellt die Datei ein Bild im JPEG-2000-Format dar. Weiterhin weist das Gerät 1101 eine mit der Empfangseinheit 1102 gekoppelte Verarbeitungseinheit 1103 auf. In einem Beispiel soll die Verarbeitungseinheit 1103 dem Block, und zwar jedem Block, eine Skala aus einer Gruppe von Skalen zuordnen, die eine Kostenfunktion maximiert. Die Kostenfunktion stellt ein Produkt aus einer Gesamtwahrscheinlichkeit und einem Prior dar. Die Gesamtwahrscheinlichkeit ist ein Produkt aus Wahrscheinlichkeiten der Blöcke. In einem Beispiel ist jede Wahrscheinlichkeit eines Blocks proportional zu einer Summierung, und zwar für jede Skala in der Gruppe von Skalen, eines Produkts aus einem Gewicht der Skala und einer Anzahl an Bits, die aufgewendet werden, um den Block an der Skala zu codieren. In einem Beispiel ist die Anzahl an Bits, die aufgebracht werden, um den Block an der Skala zu codieren, ein durch einen Nenner geteilter Zähler. Der Zähler ist eine Entropieverteilung eines Multiskalenkoeffizienten des Blocks an der Skala. Der Nenner beträgt 4 hoch der Skala.
  • In einem Beispiel gruppiert die Verarbeitungseinheit 1103 Blöcke, denen äquivalente Skalen zugeordnet worden sind, zusammen, um das Bild zu segmentieren. In einem Beispiel bestimmt die Verarbeitungseinheit 1103 bezüglich jedes Blocks, dass der Block seine Bedeutung an einer Skala beibehält, nachdem festgelegt worden ist, dass eine Entropie eines Multiskalenkoeffizienten eines Blocks an der Skala größer ist als eine mittlere Entropie von Multiskalenkoeffizienten von Blöcken in mindestens einer gröberen Skala. In einem Beispiel handelt es sich bei der mittleren Entropie um eine mittlere Bitverteilung, multipliziert mit einem Schwellenparameter.
  • In einem Beispiel skaliert die Verarbeitungseinheit 1103 das Bild weiter zu einer gröbsten Skala, an der ein Schwellenprozentsatz (z.B. 35%, wie oben als der Schwellenparameter P* beschrieben) der Blöcke die Bedeutung an der Skala beibehält.
  • Die Verarbeitungseinheit 1103 kann, für jeden Block und für jede erste Skala aus einer Gruppe von Skalen, eine kumulative Entropieverteilung für den Block an der ersten Skala festlegen, die gleich einer Summierung einer Anzahl von Bits ist, die zur Codierung des Blocks für Skalen an und zwischen der ersten und einer maximalen Skala aufgebracht werden.
  • Die Verarbeitungseinheit 1103 kann, für jeden Block und für jede erste Skala aus einer Gruppe von Skalen, eine Indikatorfunktion des Blocks und der ersten Skala auf eins festlegen, nachdem bestimmt worden ist, dass eine Breite des Blocks einen ersten Mindestwert nicht überschreitet, und dass eine Höhe des Blocks einen zweiten Mindestwert nicht überschreitet; andernfalls erfolgt die Festlegung besagter Funktion auf null. Der erste Mindestwert und der zweite Mindestwert sind die gleichen, wie in 8 beschrieben.
  • In einem Beispiel berechnet die Verarbeitungseinheit 1103 weiterhin einen optimalen Ort und eine optimale Skala, welche zusammen, für jeden Block am optimalen Ort an der optimalen Skala, eine Summierung der kumulativen Entropieverteilung für den Block an der optimalen Skala, multipliziert mit der Indikatorfunktion des Blocks, und der optimalen Skala, multipliziert mit einem Parameter (z.B. κ wie oben beschrieben), maximieren.
  • Dann nimmt die Verarbeitungseinheit 1103 ein Cropping des Bildes zum optimalen Ort vor und sampelt das daraus entstandene gecroppte Bild auf die optimale Skala.
  • Bei 11B handelt es sich um ein Blockdiagramm eines Codestrom-Prozessors zum Einsatz in einem Bildverarbeitungssystem. Bezugnehmend auf 11B wird ein Codestrom 1121 vom Header-Extraktor 1122 empfangen, welcher Header-Informationen extrahiert. Die Segmentierungseinheit 1123 führt unter Verwendung der extrahierten Header-Informationen aus dem Header-Extraktor 1122 eine Segmentierung an dem Codestrom durch. In einem Beispiel bestimmt die Segmentierungseinheit 1123, welche Codeblöcke des Codestroms 1121 zu decodieren sind und signalisiert dies dem Decoder 1124. Daraufhin decodiert der Decoder 1124 die für den segmentierten Bildabschnitt notwendigen Codeblöcke (z.B. einen Bereich mit einer spezifizierten Auflösung).
  • Quantitatives Beispiel
  • Der Nutzen der Header-basierten Verarbeitung wird anhand des Beispiels der Anfertigung einer guten 128 × 128 Miniaturdarstellung aus einem 1024 × 1024 Bild demonstriert. Bei einem der hierin beschriebenen Bildanalyseverfahren handelt es sich um jenes zum automatischen Cropping und Skalieren, wie oben erläutert. Die Komplexität der verarbeiteten Daten im Vergleich zur traditionellen Bildverarbeitung eines JPEG-2000-Bildes und eines Rasterbildes ist in Tabelle 3 aufgeführt. Der Vorteil gegenüber einem Bild in JPEG-2000-Form besteht darin, dass nur 1/1000 der Daten im Segmentierungsalgorithmus verwendet werden müssen und weniger als ½ der Daten decodiert werden muss. Tabelle 3 – Quantitatives Beispiel für Header-basierte Verarbeitung
    Multiskalen-Vorwärts-WaveletTransformation Menge mittels Segmentierungsalgorithmus verarbeiteter Daten Decodiermenge
    Rasterbild JPEG 2000 JPEG 2000 (Header-Verarbeitung) 1024 × 1024 – – 1024 × 1024 1024 × 1024 32 × 32 (0,001% von Obigem) – 1024 × 1024 ~33% von Obigem
  • Beispielhaftes Computersystem
  • Bei 12 handelt es sich um ein Blockdiagramm eines beispielhaften Computersystems, das in der Lage ist, eine oder mehrere der hierin erläuterten Operationen durchzuführen. Mit Blick auf 12 kann das Computersystem 1200 ein exemplarisches Client- 1250 oder Server- 1200 Computersystem umfassen. Dieses Computersystem 1200 beinhaltet einen Kommunikationsmechanismus bzw. einen Bus 1211 zur Mitteilung von Informationen und einen mit dem Bus 1211 gekoppelten Prozessor 1212 zur Informationsverarbeitung. Der Prozessor 1212 weist einen Mikroprozessor auf, ist aber nicht auf einen bestimmten Mikroprozessor, etwa PentiumTM, PowerPCTM, etc., eingeschränkt.
  • Des Weiteren umfasst das System 1200 ein RAM (Random Access Memory) oder eine andere (als Hauptspeicher bezeichnete) dynamische Speichereinrichtung 1024, die an den Bus 1211 gekoppelt ist und ferner Informationen und vom Prozessor 1212 auszuführende Anweisungen speichert. Überdies lässt sich der Hauptspeicher 1204 einsetzen, um temporäre Variablen oder andere Zwischeninformationen zu speichern, während der Prozessor 1212 Anweisungen ausführt.
  • Das Computersystem 1200 umfasst weiterhin ein ROM (Read Only Memory) und/oder eine andere, an den Bus 1211 gekoppelte statische Speichereinrichtung 1206 zur Speicherung von statischen Informationen und Anweisungen für den Prozessor 1212, und ferner eine Datenspeichereinrichtung 1207, wie z.B. eine magnetische Disk oder eine optische Disk, sowie das entsprechende Disk-Laufwerk. Die Datenspeichereinrichtung 1207 zur Speicherung von Informationen und Anweisungen ist an den Bus 1211 gekoppelt.
  • Des Weiteren kann das Computersystem 1200 an eine Anzeigeeinrichtung 1221, wie z.B. an eine Kathodenstrahlröhre (CRT) oder eine Flüssigkristallanzeige (LCD), gekoppelt sein, die ihrerseits an einen Bus 1211 gekoppelt ist und einem Computerbenutzer Informationen anzeigt. Eine alphanumerische Eingabeeinrichtung 1222, einschließlich alphanumerischer und anderer Tasten, kann ebenfalls an den Bus 1211 gekoppelt sein, um einem Prozessor 1212 Informationen und Befehlsauswahlen mitzuteilen. Eine zusätzliche Benutzereingabeeinrichtung ist eine an den Bus 1211 gekoppelte Cursorsteuerungseinrichtung 1223, wie z.B. eine Maus, ein Trackball, ein Trackpad, Stylus oder Cursorrichtungstasten, womit dem Prozessor 1212 Richtungsinformationen und Befehlsauswahlen mitgeteilt werden und die Cursorbewegung auf der Anzeige 1221 gesteuert wird.
  • Eine weitere Einrichtung, die an den Bus 1211 gekoppelt werden kann, ist die Hardcopyeinrichtung 1224, die sich zum Ausdrucken von Anweisungen, Daten oder anderen Informationen auf ein Medium, wie z.B. Papier, Folie oder ähnliche Medientypen, einsetzen lässt. Gegebenenfalls können eine Tonaufzeichnungs- und -abspieleinrichtung, etwa ein Lautsprecher und/oder Mikrophon, an den Bus 1211 gekoppelt werden, um eine Audioschnittstelle mit dem Computersystem 1200 zu bilden. Eine weitere Einrichtung, die an den Bus 1211 gekoppelt werden kann, ist eine verdrahtete/drahtlose Kommunikationsanlage 1225 zur Kommunikation mit einem Telephon oder Handheld.
  • Zu beachten ist, dass beliebige oder alle der Komponenten des Systems 1200 und der zugehörigen Hardware in der vorliegenden Erfindung einsetzbar sind. Allerdings kann der Tatsache Rechnung getragen werden, dass andere Konfigurationen des Computersystems einige oder alle der Einrichtungen beinhalten können.
  • Während für Fachleute mit dem üblichen Wissen auf diesem Gebiet nach Lektüre der vorangehenden Beschreibung viele Änderungen und Modifikationen der vorliegenden Erfindung zweifelsohne offensichtlich sind, ist es zu verstehen, dass jede einzelne der Ausführungsformen, die als Veranschaulichung dargelegt und erläutert sind, in keinster Weise als einschränkend anzusehen ist. Deswegen ist es nicht beabsichtigt, dass Bezugnahmen auf Einzelheiten verschiedener Ausführungsformen die Tragweite der Ansprüche begrenzen, die selbst nur jene der Merkmale wiedergeben, die für die Erfindung als wesentlich erachtet werden.

Claims (19)

  1. Verfahren, umfassend: – Empfangen von Header-Informationen, die einem Bitstrom von basierend auf Multiskalentransformation komprimierten Daten entsprechen, welche Bilddaten darstellen; gekennzeichnet durch – Verwenden von Informationen im Header, um eine Entropieverteilung über lokale Blöcke von Multiskalenkoefzienten zu erzeugen, die anzeigt, welche Abschnitte der komprimierten Bilddaten zu dekodieren sind; – Dekodieren der Abschnitte; und – Anwenden einer oder mehrerer Bildverarbeitungsoperationen auf die dekodierten Abschnitte.
  2. Verfahren nach Anspruch 1, wobei das Verwenden von Informationen im Header zur Erzeugung der Entropieverteilung umfasst, dass ein Merkmalsvektor erzeugt wird, welcher Bildbeschreibungsbits im Bitstrom aus den Header-Informationen entspricht; und wobei das Anwenden der einen oder mehreren Bildverarbeitungsoperationen umfasst, dass eine oder mehrere Operationen an zumindest einem Abschnitt des Bitstroms basierend auf dem Merkmalsvektor durchgeführt werden.
  3. Verfahren nach Anspruch 2, weiterhin umfassend das Erzeugen einer Verteilung der Anzahl an Nullbitebenen in einem oder mehreren Abschnitten komprimierter Daten, wobei die Verteilung aus den Header-Informationen abgeleitet wird.
  4. Verfahren nach Anspruch 1, wobei die Header-Informationen Teil einer JPEG-2000-Datei sind.
  5. Verfahren nach Anspruch 1, wobei eine der einen oder mehreren Operationen eine Klassifizierung umfasst.
  6. Verfahren nach Anspruch 1: wobei der Header Multiskalenentropieverteilungsinformationen über Blöcke von Multiskalenkoeffizienten des komprimierten Bildes enthält; wobei das Verwenden von Informationen im Header zwecks Erzeugung der Entropieverteilung umfasst, dass, für jeden Block, dem Block eine Skala aus einer Gruppe von Skalen zugeordnet wird, die eine Kostenfunktion maximiert, wobei die Kostenfunktion ein Produkt aus einer Gesamtwahrscheinlichkeit und einer A-priori-Wahrscheinlichkeit ist, wobei die Gesamtwahrscheinlichkeit ein Produkt aus Wahrscheinlichkeiten ist, berechnet unter Verwendung der Informationen im Header des Blocks; und wobei das Anwenden der einen oder mehreren Bildverarbeitungsoperationen umfasst, dass das Bild durch Zusammengruppieren von Blöcken segmentiert wird, denen äquivalente Skalen zugeordnet worden sind.
  7. Verfahren nach Anspruch 6, wobei das komprimierte Bild im JPEG-2000-Format ist.
  8. Verfahren nach Anspruch 6, wobei jede Wahrscheinlichkeit eines Blocks proportional ist zu einer Summierung, für jede Skala in der Gruppe von Skalen, eines Produkts einer Gewichtung der Skala und einer Anzahl an Bits, die zur Kodierung des Blocks an der Skala aufgewendet werden.
  9. Verfahren nach Anspruch 8, wobei die Anzahl an Bits, die zur Kodierung des Blocks an der Skala aufgewendet werden, ein durch einen Nenner geteilter Zähler ist, wobei der Zähler eine Entropieverteilung eines Multiskalenkoeffizienten des Blocks an der Skala ist, und wobei der Nenner vier hoch der Skala ist.
  10. Gerät, umfassend: – eine Einrichtung, die sich eignet, um Header-Informationen zu empfangen, die einem Bitstrom von basierend auf Multiskalentransformation komprimierten Daten entsprechen, welche Bilddaten darstellen; gekennzeichnet durch – eine Einrichtung, die sich eignet, um eine Entropieverteilung über lokale Blöcke von Multiskalenkoeffizienten zu erzeugen, die anzeigt, welche Abschnitte des komprimierten Bildes unter Verwendung von Informationen im Header zu dekodieren sind; – eine Einrichtung, die sich eignet, um die Abschnitte zu dekodieren; und – eine Einrichtung, die sich eignet, um eine oder mehrere Bildverarbeitungsoperationen auf die dekodierten Abschnitte anzuwenden.
  11. Gerät nach Anspruch 10, umfassend eine Einrichtung, die sich eignet, um einen Merkmalsvektor zu erzeugen, welcher Bildbeschreibungsbits im Bitstrom aus den Header-Informationen entspricht; und eine Einrichtung, die sich eignet, um die eine oder mehreren Bildverarbeitungsoperationen an mindestens einem Abschnitt des Bitstroms basierend auf dem Merkmalsvektor durchzuführen.
  12. Gerät nach Anspruch 11, weiterhin umfassend eine Einrichtung, die sich eignet, um eine Verteilung der Anzahl an Nullbitebenen in einem oder mehreren Abschnitten komprimierter Daten zu erzeugen, wobei die Verteilung aus den Header-Informationen abgeleitet wird.
  13. Gerät nach Anspruch 10, wobei die Header-Informationen Teil einer JPEG-2000-Datei sind.
  14. Gerät nach Anspruch 10, wobei eine der einen oder mehreren Operationen eine Klassifizierung umfasst.
  15. Gerät nach Anspruch 10: wobei der Header Multiskalenentropieverteilungsinformationen über Blöcke des komprimierten Bildes enthält; das Gerät umfassend, für jeden Block, eine Einrichtung, die sich eignet, um dem Block eine Skala aus einer Gruppe von Skalen zuzuordnen, die eine Kostenfunktion maximiert, wobei die Kostenfunktion ein Produkt aus einer Gesamtwahrscheinlichkeit und einer A-priori-Wahrscheinlichkeit ist, wobei die Gesamtwahrscheinlichkeit ein Produkt aus Wahrscheinlichkeiten ist, berechnet unter Verwendung der Informationen im Header des Blocks; und eine Einrichtung, die sich eignet, um das Bild durch Zusammengruppieren von Blöcken zu segmentieren, denen äquivalente Skalen zugeordnet worden sind.
  16. Gerät nach Anspruch 15, wobei das komprimierte Bild im JPEG-2000-Format ist.
  17. Gerät nach Anspruch 15, wobei jede Wahrscheinlichkeit eines Blocks proportional ist zu einer Summierung, für jede Skala in der Gruppe von Skalen, eines Produkts einer Gewichtung der Skala und einer Anzahl von Bits, die aufgewendet werden, um den Block an der Skala zu kodieren.
  18. Gerät nach Anspruch 17, wobei die Anzahl an Bits, die aufgewendet werden, um den Block an der Skala zu kodieren, ein durch einen Nenner geteilter Zähler ist, wobei der Zähler eine Entropieverteilung eines Multiskalenkoeffizienten des Blocks an der Skala ist, und wobei der Nenner vier hoch der Skala ist.
  19. Fertigungsartikel mit einem oder mehreren Aufzeichnungsmedien mit darauf gespeicherten ausführbaren Anweisungen, welche, bei Ausführung durch ein System, das System dazu veranlassen, das in einem der Ansprüche 1 bis 9 definierte Verfahren durchzuführen.
DE60314305T 2002-01-10 2003-01-09 Header-basierte Verarbeitung von mittels Multiskalentransformation komprimierter Bilder Expired - Lifetime DE60314305T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44420 2002-01-10
US10/044,420 US7428338B2 (en) 2002-01-10 2002-01-10 Header-based processing of images compressed using multi-scale transforms

Publications (2)

Publication Number Publication Date
DE60314305D1 DE60314305D1 (de) 2007-07-26
DE60314305T2 true DE60314305T2 (de) 2008-02-21

Family

ID=21932291

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60330409T Expired - Lifetime DE60330409D1 (de) 2002-01-10 2003-01-09 Header-basierte Verarbeitung komprimierter Bilder unter Verwendung von Multi-Skalen Tranformationen
DE60314305T Expired - Lifetime DE60314305T2 (de) 2002-01-10 2003-01-09 Header-basierte Verarbeitung von mittels Multiskalentransformation komprimierter Bilder

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60330409T Expired - Lifetime DE60330409D1 (de) 2002-01-10 2003-01-09 Header-basierte Verarbeitung komprimierter Bilder unter Verwendung von Multi-Skalen Tranformationen

Country Status (4)

Country Link
US (4) US7428338B2 (de)
EP (2) EP1329847B1 (de)
JP (2) JP3989362B2 (de)
DE (2) DE60330409D1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233619A1 (en) * 2002-05-30 2003-12-18 Fast Bruce Brian Process for locating data fields on electronic images of complex-structured forms or documents
KR100453517B1 (ko) 2002-05-31 2004-10-20 주식회사 이노티브 인터넷을 통한 대용량 고품질 디지털 이미지의 실시간서비스 방법
FR2848765B1 (fr) * 2002-12-11 2005-04-29 Canon Kk Procede et dispositif de determination d'une configuration de donnees d'un signal numerique d'image
JP2005123856A (ja) * 2003-10-16 2005-05-12 Ricoh Co Ltd 画像処理システム、画像処理方法、プログラム及び情報記録媒体
US7912291B2 (en) * 2003-11-10 2011-03-22 Ricoh Co., Ltd Features for retrieval and similarity matching of documents from the JPEG 2000-compressed domain
CN1305008C (zh) * 2003-12-22 2007-03-14 中国科学院自动化研究所 弥散张量核磁成像脑缺血病灶区的自动分割方法
US20090142039A1 (en) * 2003-12-26 2009-06-04 Humax Co., Ltd. Method and apparatus for recording video data
JP4111926B2 (ja) 2004-03-09 2008-07-02 株式会社リコー 画像処理装置、プログラム、記憶媒体及び画像送信方法
JP4594688B2 (ja) * 2004-06-29 2010-12-08 オリンパス株式会社 画像符号化処理方法、画像復号化処理方法、動画圧縮処理方法、動画伸張処理方法、画像符号化処理プログラム、画像符号化装置、画像復号化装置、画像符号化/復号化システム、拡張画像圧縮伸張処理システム
US9232228B2 (en) 2004-08-12 2016-01-05 Gurulogic Microsystems Oy Processing of image
US9509991B2 (en) 2004-08-12 2016-11-29 Gurulogic Microsystems Oy Processing and reproduction of frames
FI117845B (fi) 2004-08-12 2007-03-15 Gurulogic Microsystems Oy Videokuvan prosessointi
EP1791358B1 (de) * 2004-08-31 2011-05-25 Panasonic Corporation Verfahren und vorrichtung zur kodierung bewegter bilder
US7650031B2 (en) * 2004-11-23 2010-01-19 Microsoft Corporation Method and system for detecting black frames in a sequence of frames
JP4301193B2 (ja) * 2005-03-31 2009-07-22 ソニー株式会社 画像比較装置及び方法、画像検索装置及び方法、並びにプログラム及び記録媒体
US8169547B2 (en) * 2005-08-09 2012-05-01 Gurulogic Microsystems Oy Processing of video image
US8665284B2 (en) * 2005-11-17 2014-03-04 Xerox Corporation Fragmenting image files systems and methods
US8200044B2 (en) 2006-01-03 2012-06-12 Broadcom Corporation Image analyser and adaptive image scaling circuit and methods
US7761789B2 (en) 2006-01-13 2010-07-20 Ricoh Company, Ltd. Methods for computing a navigation path
US7912468B2 (en) * 2006-02-24 2011-03-22 Broadcom Corporation Multi-communication pathway addressing in a mobile communication device
US8081827B2 (en) * 2006-02-28 2011-12-20 Ricoh Co., Ltd. Compressed data image object feature extraction, ordering, and delivery
US8018472B2 (en) * 2006-06-08 2011-09-13 Qualcomm Incorporated Blending multiple display layers
US8812969B2 (en) * 2007-03-21 2014-08-19 Ricoh Co., Ltd. Methods for authoring and interacting with multimedia representations of documents
US8583637B2 (en) * 2007-03-21 2013-11-12 Ricoh Co., Ltd. Coarse-to-fine navigation through paginated documents retrieved by a text search engine
US8584042B2 (en) 2007-03-21 2013-11-12 Ricoh Co., Ltd. Methods for scanning, printing, and copying multimedia thumbnails
JP4441558B2 (ja) * 2007-09-19 2010-03-31 キヤノン株式会社 画像処理装置及び画像処理方法ならびにプログラム
US20100128181A1 (en) * 2008-11-25 2010-05-27 Advanced Micro Devices, Inc. Seam Based Scaling of Video Content
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
DE102009017436B4 (de) * 2009-04-15 2011-12-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Erkennung einer Änderung zwischen Bildern oder in einer Sequenz von Bildern
JP5686611B2 (ja) * 2011-01-14 2015-03-18 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP5927829B2 (ja) * 2011-02-15 2016-06-01 株式会社リコー 印刷用データ作成装置、印刷用データ作成方法、プログラム及び記録媒体
CA2827849C (en) * 2011-08-11 2018-01-16 Panasonic Corporation Image coding method and image coding apparatus
EP2680219A1 (de) * 2012-06-29 2014-01-01 Thomson Licensing Verfahren zum Reframing von Bildern einer Videosequenz sowie Vorrichtung zum Reframing von Bildern einer Videosequenz
US9538239B2 (en) 2012-08-13 2017-01-03 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets
US10412414B2 (en) 2012-08-13 2019-09-10 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets
CN103279957B (zh) * 2013-05-31 2015-11-25 北京师范大学 一种基于多尺度特征融合的遥感图像感兴趣区域提取方法
CN106233725B (zh) * 2014-03-31 2019-08-02 英迪股份有限公司 用于对图像进行解码的装置及其方法
CN105427307B (zh) * 2015-11-20 2018-10-30 信阳师范学院 一种立方体粒计算的图像分割方法
US9930354B2 (en) 2015-12-11 2018-03-27 Google Llc Skip scanlines on JPEG image decodes
US11829703B2 (en) * 2018-01-09 2023-11-28 Adobe Inc. Parallel object analysis for efficiently generating layouts in digital design documents
WO2020050192A1 (ja) * 2018-09-04 2020-03-12 日本電気株式会社 流体漏洩診断装置、流体漏洩診断システム、流体漏洩診断方法、及び、流体漏洩診断プログラムが格納された記録媒体
CN109670576B (zh) * 2018-11-29 2022-09-13 中山大学 一种多尺度视觉关注图像描述方法
US20210303763A1 (en) * 2020-03-26 2021-09-30 Mappedin Inc. Systems and methods for geometry simplification and filtering
CN111597981B (zh) * 2020-05-14 2022-05-27 中南大学 基于改进多尺度散布熵的大地电磁信号去噪方法及系统
CN117036832B (zh) * 2023-10-09 2024-01-05 之江实验室 一种基于随机多尺度分块的图像分类方法、装置及介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563960A (en) * 1993-01-22 1996-10-08 David Sarnoff Research Center, Inc. Apparatus and method for emphasizing a selected region in the compressed representation of an image
JP3732867B2 (ja) 1995-03-09 2006-01-11 株式会社ルネサステクノロジ 画像伸張装置
US5854857A (en) 1996-09-26 1998-12-29 Xerox Corporation Using encoding cost data for segmentation and background suppression in JPEG-compressed images
US5999639A (en) * 1997-09-04 1999-12-07 Qualia Computing, Inc. Method and system for automated detection of clustered microcalcifications from digital mammograms
SE521021C2 (sv) 1998-06-18 2003-09-23 Ericsson Telefon Ab L M Förfarande och anordning vid överförande av bilder
AU769333B2 (en) 1998-08-10 2004-01-22 Etiip Holdings Inc. Embedded quadtree wavelets in image compression
US6775325B1 (en) * 1998-10-07 2004-08-10 Sarnoff Corporation Method and apparatus for converting the bitrate of an encoded bitstream without full re-encoding
US6813384B1 (en) * 1999-11-10 2004-11-02 Intel Corporation Indexing wavelet compressed video for efficient data handling
US6795577B2 (en) * 1999-12-03 2004-09-21 Canon Research Centre France S.A. Digital signal analysis, with hierarchical segmentation
US6553150B1 (en) * 2000-04-25 2003-04-22 Hewlett-Packard Development Co., Lp Image sequence compression featuring independently coded regions
JP2002064709A (ja) 2000-06-06 2002-02-28 Canon Inc 画像処理装置及びその方法とそのコンピュータプログラム及び記憶媒体
JP2002044663A (ja) * 2000-07-24 2002-02-08 Canon Inc 画像符号化装置及び方法、画像表示装置及び方法、画像処理システム並びに撮像装置
US6925126B2 (en) * 2001-04-18 2005-08-02 Koninklijke Philips Electronics N.V. Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor

Also Published As

Publication number Publication date
US20030165273A1 (en) 2003-09-04
US7428338B2 (en) 2008-09-23
EP1329847B1 (de) 2007-06-13
US7536056B2 (en) 2009-05-19
DE60314305D1 (de) 2007-07-26
US7548654B2 (en) 2009-06-16
JP4317230B2 (ja) 2009-08-19
EP1814077A2 (de) 2007-08-01
US8184918B2 (en) 2012-05-22
EP1329847A1 (de) 2003-07-23
JP3989362B2 (ja) 2007-10-10
US20080044091A1 (en) 2008-02-21
JP2003230012A (ja) 2003-08-15
EP1814077B1 (de) 2009-12-02
EP1814077A3 (de) 2007-08-08
US20090103818A1 (en) 2009-04-23
JP2007181232A (ja) 2007-07-12
US20080095452A1 (en) 2008-04-24
DE60330409D1 (de) 2010-01-14

Similar Documents

Publication Publication Date Title
DE60314305T2 (de) Header-basierte Verarbeitung von mittels Multiskalentransformation komprimierter Bilder
EP1548616B1 (de) Merkmale zum Abrufen und zur Ähnlichkeitsanpassung von komprimierten Dokumenten
DE602004004379T2 (de) Verfahren und einrichtungen zur codierung und decodierung einer bildsequenz mittels bewegungs-/texturzerlegung und wavelet-codierung
DE69829700T2 (de) Bildkompression mit Diskreter-Wavelet-Transformation DWT
DE19844752B4 (de) Ein verbessertes Kompressions- und Dekompressionssystem mit reversiblen Wavelets und verlustbehafteter Rokonstruktion
DE69627982T2 (de) Signaladaptives Nachverarbeitungssystem um Blockierungseffekte und Ringstörungen zu verringern
CN1744657B (zh) 多分辨率分割和填充
Walker et al. Wavelet-based image compression
DE69919641T2 (de) Adaptive Videokompromierung mit variabler Quantisierung
EP0706155A1 (de) Verfahren und gerät zur bildsignalkodierung und bildsignal-dekodierungsgerät
EP1274250A2 (de) Verfahren zur Verwendung der Subjektinhaltsanalyse zur digitalen Bildkompression
DE60022018T2 (de) Verfahren und vorichtung zur bewegungsvektorfeldkodierung
WO2017162835A1 (de) Datenkompression mittels adaptiven unterabtastens
Juliet et al. Efficient block prediction-based coding of computer screen images with precise block classification
DE69936304T2 (de) Bereichsbasierte skalierbare bildkodierung
Tabesh et al. JPEG2000 and motion JPEG2000 content analysis using codestream length information
Kwon et al. Region adaptive subband image coding
Zhang et al. Speeding up fractal image encoding by wavelet-based block classification
Mohammed et al. New approaches for DCT-Based image compression using region of interest scheme
Raja et al. Evaluating Multiscale Transform Based Image Compression Using Encoding Techniques
Tao et al. 11 Image Quality Assessment: A Multiscale Geometric Analysis-Based Framework and Examples
do Rosiles et al. Model-based coding of SAR and ultrasound images
Bonneau A Model for Shape and Texture Content-Based Image Compression
Rosenbaum et al. On-demand foveation for Motion-JPEG2000 encoded imagery
Zhang et al. Compression Coding for IAP Data

Legal Events

Date Code Title Description
8364 No opposition during term of opposition