DE10008055A1 - Verfahren zur Kompression von Daten - Google Patents

Verfahren zur Kompression von Daten

Info

Publication number
DE10008055A1
DE10008055A1 DE10008055A DE10008055A DE10008055A1 DE 10008055 A1 DE10008055 A1 DE 10008055A1 DE 10008055 A DE10008055 A DE 10008055A DE 10008055 A DE10008055 A DE 10008055A DE 10008055 A1 DE10008055 A1 DE 10008055A1
Authority
DE
Germany
Prior art keywords
data
wavelet
coefficients
calculation
pyramid
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.)
Ceased
Application number
DE10008055A
Other languages
English (en)
Inventor
Joachim Buhmann
Hansjoerg Klock-Werneboldt
Wolfgang Raab
Ulrich Ramacher
Mathias Richter
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10008055A priority Critical patent/DE10008055A1/de
Priority to PCT/EP2001/001713 priority patent/WO2001063934A1/de
Publication of DE10008055A1 publication Critical patent/DE10008055A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Kompression von Bilddaten, wobei eine Unterscheidung zwischen wichtigen und weniger wichtigen Daten erfolgt. DOLLAR A Erfindungsgemäß zeichnet sich das Verfahren dadurch aus, dass eine Berechnung einer Signifikanz von Daten in einem separaten Verfahrensschritt erfolgt.

Description

Die Erfindung betrifft ein Verfahren zur Kompression von Daten.
Bei verschiedenen Anwendungen der Speicherung oder Übertragung von Digitalbildern ist eine Kompression der Bilddaten notwen­ dig, um Speicherplatz, beziehungsweise Übertragungsbandbreite zu reduzieren. Hierbei ist zu unterscheiden zwischen Bewegtbil­ dern (zum Beispiel Video) und Einzel- oder Standbildern. Bei ersteren lassen sich aus dem Umstand, dass sich aufeinander folgende Bilder in vielen Regionen nur wenig unterscheiden, be­ sonders hohe Kompressionsfaktoren erzielen, indem lediglich die Bilddifferenzen gespeichert, beziehungsweise übertragen werden. Bei Einzelbildern dagegen ist jedes Bild isoliert zu betrach­ ten, wobei zwischen verlustlosen und verlustbehafteten Verfah­ ren der Datenreduktion zu unterscheiden ist.
Verlustlose Verfahren setzen auf eine möglichst weitgehende Elimination von Redundanz durch geeignete Transformationen (zum Beispiel Diskrete Cosinus Transformation DCT oder Wavelet- Transformation) und Codierungen (zum Beispiel Entropie- Codierung). Der Kompressionsfaktor kann weiter erhöht werden, indem - unter mehr oder weniger hohen Qualitätsverlusten - "unwichtige" Informationen unterdrückt werden (z. B. Quantisie­ rung der Daten oder Weglassen von niedrigwertigen Datenbits). Zum Preis eines höheren Rechenaufwands sind Transformationen, die es gestatten, bei der nachfolgenden Codierung statistische Zusammenhänge höherer Ordnung auszunutzen (zu diesen gehören die Wavelet-Transformationen), den einfacheren Transformationen (wie etwa DCT) hinsichtlich des Verhältnisses von Bildqualität zu verbleibender Datenmenge überlegen.
Im Stand der Technik sind eine Vielzahl von Kompressionsverfahren bekannt. Die bekannten Kompressionsverfahren ermöglichen entweder hohe Kompressionsfaktoren oder eine gute Bildqualität.
Der Erfindung liegt die Aufgabe zugrunde, ein Kompressionsver­ fahren zu schaffen, das hohe Kompressionsfaktoren mit einer gu­ ten Bildqualität vereinigt. Vorzugsweise soll das Kompressions­ verfahren möglichst schnell durchführbar sein.
Erfindungsgemäß wird diese Aufgabe dadurch gelöst, dass eine Berechnung einer Signifikanz von Daten, insbesondere von Bild­ daten, in einem separaten Verfahrensschritt erfolgt.
Aus der internationalen Patentanmeldung WO 97/26603 ist eine Matrixanordnung von Prozessoreinheiten bekannt, wobei jede Pro­ zessoreinheit neben einer arithmetisch-logischen Einheit und einer Ergebnisregisterbank noch eine weitere arithmetisch- logische Einheit, eine Multiplizier/Addier-Einheit, einen Teil­ speicher eines vorteilhaften Bildschirmausschnittspeichers und einen lokalen Allzweckspeicher aufweist. Ein die Matrixanord­ nung der Prozessoreinheiten enthaltender Prozessor zeichnet sich durch eine hohe Bearbeitungsgeschwindigkeit aus.
Aus der internationalen Patentanmeldung WO 99/42923 ist eine Vorrichtung mit einer Vielzahl von Steuermodulen bekannt, wobei den Steuermodulen eine Vielzahl von Bearbeitungsmodulen zur An­ steuerung zugeordnet sind. Hierbei werden die separaten Steuer­ module durch eine übergeordnete Steuerung angesteuert und durch eine gemeinsame Synchronisiereinheit synchronisiert. Durch die­ se Vorrichtung wird eine Übertragungsbandbreite zwischen einem externen Befehlsspeicher und einem hochintegrierten System re­ duziert.
Die vorliegende Erfindung dient dazu, Einzelbilder zu kompri­ mieren, wobei durch eine aufeinander abgestimmte Kombination von Hardware und Software bezüglich Datenmenge, beziehungsweise Bildqualität und Durchsatz, beziehungsweise Zeitaufwand der Kompression bessere Leistungsdaten erzielt werden als mit her­ kömmlichen Implementierungen. Ein weiterer Aspekt des Verfah­ rens ist die nachträgliche - verlustbehaftete - Reduktion der Datenmenge bereits komprimierter Bilder, um beispielsweise auf einem in seiner Kapazität ausgeschöpften Speichermedium Platz für weitere Bilder zu schaffen.
Das implementierte Verfahren gestattet eine sehr einfache und schnelle nachträgliche Datenreduktion.
Eine weitere Verbesserung der Qualität der rekonstruierten Da­ ten, insbesondere der Bildqualität, läßt sich über eine verfei­ nerte Bewertung der Wichtigkeit einzelner Datenbestandteile er­ zielen. Letzteres ist vorteilhaft über eine Kodierung in Wave­ let-Koeffizienten zu erreichen.
Eine Beschleunigung des Kompressionsverfahrens kann vorteilhaf­ terweise dadurch erzielt werden, dass eine Berechnung von Si­ gnifikanzparametern der Wavelet-Koeffizienten in einem separa­ ten Verfahrensschritt erfolgt.
Es ist besonders zweckmäßig, das Verfahren so durchzuführen, dass der separate Verfahrensschritt in einem separaten Prozes­ sorelement erfolgt.
Die Erfindung ist in vielfältigen Technologiebereichen einsetz­ bar. Bei einer Vielzahl von Anwendungen besteht ein Bedürfnis, große Datenmengen zu komprimieren.
Nachfolgend wird die Erfindung am Beispiel von Bilddaten erläu­ tert. Hierdurch sind die Vorteile der erfindungsgemäßen Daten­ kompression besonders deutlich darstellbar. Die Erfindung ist jedoch nicht auf die Komprimierung von Bilddaten beschränkt. Vielmehr eignet sich die Erfindung für alle Anwendungsgebiete, bei denen aus einer großen Menge kontinuierlicher Daten beson­ ders wichtige Informationen gewonnen werden sollen. Mögliche weitere Anwendungen sind daher eine Kompression von Audiodaten, Spracherkennung oder Auswertungen von Messergebnissen, die über Datenübertragungskanäle mit einer im Verhältnis zur Datenmenge geringen Bandbreite übertragen werden sollen.
Damit eine digitale Kamera eine Auflösung aufweist, die mit ei­ ner herkömmlichen analogen Kamera vergleichbar ist, insbesonde­ re bezüglich der Auflösungsreserve für nachträgliche Vergröße­ rungen, sind hierbei mehr als eine Million Bildpunkte (Pixel) je Einzelbild vorzusehen. Bei einer Datenspeicherung in einem unkomprimierten Zustand sind hierfür zwischen 1 und 3 Byte je Pixel erforderlich. Eine Datenreduktion ist notwendig, um ei­ nerseits in dem in der Kamera befindlichen Speicher, zum Bei­ spiel ein Flash Memory, möglichst viele Bilder unterzubringen und andererseits die Übertragungsdauer je Bild, zum Beispiel in ein elektronisches "Fotoalbum" auf der Festplatte des heimi­ schen PCs, niedrig zu halten: tags Fotografieren (fordert Spei­ cherkapazität), nachts - wenn die Kommunikationsgebühren nied­ rig sind - Fernübertragung der Bilder nach Hause, zum Beispiel mit einem mobilen Datenübertragungsterminal, zum Beispiel einem Mobiltelefon.
Herkömmliche Analogkameras bieten vielfach die Möglichkeit von Bildserien. Um hiermit konkurrieren zu können, darf eine Digi­ talkamera für die Kompression eines Bildes nur einen Bruchteil einer Sekunde benötigen (Größenordnung 5 Bilder pro Sekunde).
Zu einer Datenkompression sind verschiedene Verfahren bekannt.
Eines der eingesetzten Verfahren einer Einzelbildkompression ist der Standard nach "JPEG" mit der Abfolge DCT, Quantisierung (verlustbehaftet) und Huffman-Codierung. Wegen des relativ ge­ ringen Rechenaufwands kann JPEG wie auch andere DCT-basierte Verfahren gut auf Standard-Prozessoren implementiert werden.
Auch Wavelet-basierte Implementierungen auf Standard- Prozessoren sind bekannt, wobei die Echtzeit-Bedingung für Bildserien nicht erfüllt wird. Zum Beispiel benötigt ein Penti­ um-Prozessor mit 333 MHz bei Anwendung des unten beschriebenen Verfahrens ungefähr 1/3 Sekunde je Bild bei verlustbehafteter Kompression um Faktoren größer 16 für ein 512 × 512-Bild mit 256 Graustufen. Für 1024 × 1024-Bilder sind es ungefähr 1,5 Se­ kunden.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Kompression von Daten, insbesondere von Bilddaten, zu schaffen, wobei das Verfahren mit möglichst geringem Rechenaufwand in möglichst geringer Zeit und bei möglichst hoher Zuverlässig­ keit, insbesondere mit einer möglichst hohen Wiedergabeähnlich­ keit, durchgeführt werden soll.
Um hohe Kompressionsfaktoren bei gleichzeitig guter Bildquali­ tät zu erzielen, kommt ein Verfahren auf der Basis von Wavelets zum Einsatz. Die Codierung der Wavelet-Koeffizienten generiert dabei einen sogenannten "eingebetteten Code (embedded code)", das heißt, die Informationen werden in der Reihenfolge von "wichtig" zu "unwichtig" codiert und übertragen, beziehungswei­ se abgespeichert. Der Datenstrom kann somit jederzeit abgebro­ chen werden, beziehungsweise der letzte Teil eines gespeicher­ ten komprimierten Bildes einfach gelöscht werden, in der Gewiß­ heit, nur Informationen zu unterdrücken, die unwichtiger sind als die schon übertragenen, beziehungsweise im Speicher ver­ bleibenden.
Es ist besonders zweckmässig, das Verfahren auf geeigneten Pro­ zessoren durchzuführen. Der Begriff Prozessor ist dabei in kei­ ner Weise einschränkend zu verstehen. Es kann sich hierbei um eine beliebige zur Durchführung von Berechnungen geeignete Ein­ heit handeln. Es ist möglich, dass der Prozessor aus mehreren Einzelprozessoren besteht, die vorzugsweise zu einer geeigneten Prozessoreinheit zusammengefasst sind. Im Sinne der vorliegen­ den Erfindung kann ferner jede zur Durchführung von Berechnungen geeignete Schaltung eingesetzt werden. Zweckmäßigerweise wird die Schaltung in einen Computer oder in einen Logikbau­ stein eingebaut.
Dabei reicht eine Variante der skalierbaren Prozessor-Architek­ tur mit einem einzigen Prozessorelement (PE) aus, wobei es sich bei dem Prozessor vorzugsweise um einen Vision Instruction Pro­ zessor (VIP) handelt. Sie erlaubt die Kompression von mehreren Bildern pro Sekunde.
Die Analyse von Wavelet-basierten Kompressionsverfahren zeigt, dass der Rechenaufwand von der Wavelet-Transformation dominiert wird. Dieser Engpaß wird durch die Implementierung auf dem VIP beseitigt, da die Architektur des VIP für Algorithmen wie 1- oder 2-dimensionale Faltungen, auf denen die Wavelet-Transfor­ mationen beruhen, optimiert ist.
Die eingebettete Codierung der Wavelet-Koeffizienten könnte durch eine direkte Modellierung der statistischen Abhängigkei­ ten zwischen den Wavelet-Koeffizienten erfolgen. Dazu ist eine arithmetische Kodierung erforderlich, die jedoch eine skalare Rechenleistung erfordert, also durch eine Parallelisierung nicht zu beschleunigen ist. Deshalb kommen erfindungsgemäß ins­ besondere solche Codierverfahren zum Einsatz, die arithmetische Codierung benötigen.
Das Codierverfahren wird so angepasst, dass der rechenintensive Anteil parallelisierbar und somit durch den VIP zu beschleuni­ gen ist.
Vorzugsweise wird ein Wavelet-Algorithmus eingesetzt. Er zählt zur Gruppe der "Zerotree-Verfahren" und stellt eine Variante des von Said & Pearlman vorgeschlagenen Verfahrens dar(Artikel Amir Said and William A. Pearlman: A new fast and efficient image codec based on set partitioning in hierarchical trees, IEEE Transactions on Circuits an Systems for Video Technlology, 6: 243-250, June 1996). Neu sind die Verschiebung der Berechnung der sogenannten Signifikanzpyramide in einen Vorverarbeitungs­ schritt, was besonders günstig für eine Implementierung auf dem VIP ist, sowie ein effizientes Scanning (eine Umsortierung) der Wavelet-Pyramide bei der Datenübertragung.
In einem ersten vorverarbeitenden Schritt werden die Bilddaten Wavelet-transformiert:
C = W(B).
Hier sind B = {bij} die Bilddaten und C = {cij} die Koeffizienten einer L-stufigen Wavelet-Pyramide. In Fig. 1 wird als Beispiel eine 3-stufige Wavelet-Pyramide gezeigt. Abgebildet ist auch die Zuordnung von Vater-Koeffizienten zu Sohn-Koeffizienten auf niedrigeren Stufen.
Allgemein seien ε(l) alle Koeffizienten einer Stufe l. Für den Index (i, j) eines Koeffizienten cij ∈ε(l) wird definiert:
  • - Die Menge D(i, j) der Indizes aller Abkommen auf Stufen 0 ≦ k ≦ 1 - 1.
  • - Die Menge O(i, j) der Indizes aller direkten Abkommen auf Stufe k = l - 1.
  • - Die Menge L(i, j) der Indizes aller indirekten Abkommen auf Stufen 0 ≦ k ≦ l - 2.
Es kommt für das Erreichen hoher Kompressionsraten darauf an, die Wavelet-Koeffizienten nach ihrer Größe zu ordnen, um mög­ lichst lange Sequenzen insignifikanter Werte zu erhalten. Dabei soll die statistische Abhängigkeit der Koeffizienten ausgenutzt werden: ist ein Koeffizient cij insignifikant, sind es wahr­ scheinlich auch seine Abkommen (mit Index in D(i, j)). Dabei bedeutet "insignifikant": kleiner als eine Schranke θ, die schrittweise verfeinert wird, bis die gewünschte Bitrate er­ reicht ist. Insignifikante Koeffizienten werden effizient mit­ tels sogenannter "Zerotrees" kodiert. cij heißt Wurzel eines
  • - Typ-A-Zerotrees, wenn cij und alle Abkommen aus D(i, j) insi­ gnifikant sind
  • - Typ-E-Zerotrees, wenn cij und alle Abkommen aus L(i, j) insi­ gnifikant sind.
Zur Bestimmung von Zerotrees wird ein zweiter Vorverarbeitungs­ schritt ausgeführt: die Berechnung der sogenannten Signifikanz­ pyramide Z, die für jede Position (i, j) einen Wert zij enthält. Dieser besteht aus drei Teilen:
  • - dem Wavelet-Koeffizienten cij
  • - dem Wert aij: = max{|ckl|; (k, l) ∈D(i, j)}
  • - dem Wett βij: = max{|ckl|; (k, l) ∈L(i, j)}
Führt man Hilfsgrößen γij ein, so läßt sich die Berechnung der Werte aij und βij als Folge (nichtlinearer) Filterungen über die verschiedenen Stufen der Wavelet-Pyramide formulieren. In pseu­ do-programmiersprachlicher Notation:
Die Erstellung der Signifikanzpyramide inklusive der Berechnung der Wavelet-Koeffizienten bildet den weitaus rechenintensivsten Teil des gesamten Verfahrens. Sie läßt sich aber sehr effizient auf dem VIP implementieren, wie unten noch näher ausgeführt.
Die Koeffizienten werden nach ihrer Signifikanz behandelt - es können nur soviele berücksichtigt werden - wie die eingestellte Bitrate erlaubt. Dabei werden die binären Darstellungen der Koeffizienten betrachtet und zunächst nur auf ein most signifi­ cant bit untersucht, das heißt solche Koeffizienten werden eru­ iert, deren Betrag größer als ein vorgegebener geeigneter Schwellwert θo: = θmax ist. Dann wird sukzessive der Schwellwert halbiert (θt+1: = θt/2) und der Vorgang wiederholt (t = 0, 1, . . .). Dies entspricht einer Bit für Bit schrittweise verfeinerten Quantisierung der Wavelet-Koeffizienten und ist als Bitplane- Technik bekannt. Wichtig für die Effizienz des Verfahrens ist das Scanning der Koeffizienten, das einer Sortierung ent­ spricht. Für jede Bitplane kommt es darauf an, möglichst en bloc insignifikante Koeffizienten zu detektieren (solche, die kleiner als der aktuelle Schwellwert θt sind). Zu diesem Zweck werden folgende Listen von Knoten eingeführt, die mit dem Fort­ schreiten des Verfahrens (bei zunehmender Feinheit der Quanti­ sierung) zweckmäßigerweise modifiziert werden.
  • - LIP, die Liste der Koeffizienten, die insignifikant, aber nicht Teil eines Zerotrees sind,
  • - LZ, die Liste der Koeffizienten, die Wurzel eines Zerotrees sind und
  • - LSP, die Liste der Koeffizienten, die (bereits) signifikant sind.
Folgende Abkürzungen vereinfachen die Notation:
  • - Zt(ij): = true genau dann, wenn βij < θt, das heißt wenn Wurzel eines Zerotrees ist.
  • - At(Zij): = true genau dann, wenn aij < θt, das heißt wenn cij Wurzel eines Typ - A - Zerotrees ist.
  • - St(Zij): = true genau dann, wenn |cij| < θt, das heißt wenn cij signifikant ist.
  • - P(Zij): = true genau dann, wenn cij < 0
  • - Gt(Zij): = true genau dann, wenn cij < c (t)|ij, wobei
  • - c(t) = {c (t)|ij}, die rekonstruierte Pyramide, in die die bis zum Zeitpunkt t übertragenen Koeffizienten eingefügt wurden.
Das gesamte Kodierverfahren besteht aus einer Vorverarbeitung, einer Initialisierung und einer Kodierschleife:
Vorverarbeitung Berechnung der Signifikanzpyramide Z inklusive der Wavelet- Koeffizienten Initialisierung
c(0)
: = 0, t: = 0, θo
: = θmax
Initialisieren von LSP, LZ, LIP als leere Listen für alle cij
∈ε(L)
füge (i, j) in LIP ein sowie in LZ als Wurzel eines Typ-A-Zerotrees
Kodierschleife
Fortfahren, bis die eingestellt Bitrate erreicht ist Sortierphase (Scanning der Signifikanzpyramide) Verfeinerungsphase
t: = t + 1, θt: = θt-1/2.
Die Verfeinerungsphase dient einer Verfeinerung der Quantisie­ rung der übertragenen Wavelet-Koeffizienten:
Für die Kodierung von n × n-Bildern ergeben Performance- Abschätzungen folgende Werte für die Anzahl benötigter arithme­ tischer Operationen:
  • - Wavelet-Pyramide: 8/3 n2(kT+kH), wobei die Hälfte dieser Opera­ tionen auf Multiplikationen entfallen, die andere Hälfte auf Akkumulationen
  • - Rest der Signifikanzpyramide: 5/2 n2
  • - Kodierschleife: 8 n2/c (ohne Entropiekodierung der übertrage­ nen Koeffizienten)
Zweckmäßigerweise wird hier eine vorzugsweise biorthogonale Wa­ velet-Transformation mit separierbaren konjugierten Spiegelfilterkernen (Conjugate Mirror Filters) vorgenommen. Dabei sind kT die Länge des Kerns für die Tiefpaß-Filterung, kH die Länge des Kerns für die Hochpaß-Filterung und C der zu erreichende Kom­ pressionsfaktor (entsprechend der Bitrate). Typisch sind Kerne der Länge 7 und 9, mit denen sich für die parallelisierbare Vorverarbeitung ein Rechenaufwand von circa 43 n2 Operationen ergibt. Das Verhältnis von parallelisierbarem und sequentiellem Anteil in puncto Rechenaufwand ist damit theoretisch ungefähr wie 6 C zu 1, wenn von einer Entropie-Kodierung der zu spei­ chernden Wavelet-Koeffizienten abgesehen wird.
Für die Implementierung auf dem VIP wird unterstellt, die Bild­ werte seien mit 256 Graustufen gegeben (also 8-Bit-Daten), die Kernelemente dagegen mit 16 Bit Genauigkeit. Da jedoch bei der Berechnung der Wavelet-Transformation nach der ersten horizon­ talen (oder vertikalen) Tief- und Hochpaß-Filterung nur noch "in der Pyramide" weitergerechnet wird und diese mit 16 Bit Ge­ nauigkeit darzustellen ist, sei von Anfang an eine Genauigkeit von 16 Bit für alle Daten angenommen.
In Fig. 2 wird die Verarbeitungspipeline des VIP skizziert. Da­ tenquellen des Prozessorelements (PE) sind die Speicher ISB (image section buffer), GPM (general purpose memory) und TMP (temporal data register), Datensenke ist eines der RER (result register). Von dort werden die Daten in einen output buffer ge­ schrieben.
Die ALU 1 des PE-Elements vermag bei der gegebenen Datengenau­ igkeit von 16 Bit pro Takt je 4 Bild- und 4 Kern-Elemente aus den Speichern ISB und GPM des VIP aufzunehmen, elementweise zu multiplizieren, und die Ergebnisse in einem Register zu akkumu­ lieren. Die Berechnung von 2 Ergebnispixeln kann zusammengefaßt werden, und es dauert bei Kernen der Länge 7 dann 4 Takte bis diese produziert sind. Bei Kernen der Länge 9 dauert dies 8 Takte, im Mittel also 6 Takte. 6 Takte sind für die abschlie­ ßende Akkumulation der Segmente des Ergebnisregisters anzusetzen sowie 4 Takte für den Abtransport der Ergebnispixel. Die Kernelemente im GPM können wiederverwendet werden, der ISB er­ laubt eine taktgenaue Versorgung des PE-Elements mit Bilddaten. Demnach sind es im Mittel 16 n2 (2 × 2) Takte, um eine eindimen­ sionale (1D)-Faltung abzuschließen. Für die Bandpass- und Tief­ pass-Filterungeinrichtung werden also zusammen 8 n2 Takte benö­ tigt. Werden zusätzlich noch beide Faltungen in der jeweils an­ deren (horizontalen oder vertikalen) Richtung berücksichtigt, ergeben sich 16 n2 Takte. Fortsetzung des Verfahrens über belie­ big viele Auflösungsstufen der Pyramide hinweg bringt einen zu­ sätzlichen Faktor 4/3 ins Spiel, so dass insgesamt für die Er­ stellung der Wavelet-Pyramide 22 n2 Takte angesetzt werden kön­ nen. Bei einer Taktrate von 200 MHz und für n = 1024 (Fotoqua­ lität) ergibt sich also ein Zeitbedarf von circa 115 ms für die Berechnung der Wavelet-Transformation.
Dazu kommt die Berechnung der Werte aij und βij der Signifikanz­ pyramide nach dem oben skizzierten Schema. Die Zwischenwerte γij werden temporär in einem Register gespeichert. Für die Berech­ nung eines Werts βij werden angesetzt: 4 Takte für das Zuführen der 4 Werte akl aus einem der beiden ISB-Speicher (im letzten dieser Takte wird der ISB durch einen Doppelshift in die näch­ ste Position gebracht, so dass eine taktgenaue Datenversorgung des PEs sichergestellt ist) und 10 Takte zur Berechnung des Werts βij (2"mima"-Befehle der ALU 2 mit 2 Wartetakten). Die Berechnung eines Werts γij dauert genauso lang, da die Berech­ nung von Betragswerten en passant in der ALU 1 erledigt werden kann und keine zusätzliche Rechenzeit in Anspruch nimmt (es wird der zweite ISB zum Einlesen der Daten benutzt). Anschlie­ ßend muß in weiteren 4 Takten (mit einem ALU 2-Befehl) aij als Maximum von βij und γij berechnet werden. Zum Runden und Ab­ transportieren von aij und βij fallen jeweils noch einmal 4 Tak­ te an. Insgesamt sind das 40 Takte zur Berechnung pro Tupel (aij, βij). Im ersten Schritt des Algorithmus (1 = 1) werden lediglich die Werte aij berechnet, das sind jeweils 18 Takte.
Für die Stufe l = 1 der Signifikanzpyramide ist damit ein Aufwand von
Takten zu erwarten, für die Stufe l = 2 ein Aufwand von
Takten, für l = 3 ein Aufwand von
Takten usw. Insgesamt sind das weniger als 6 n2 Takte, bei einem auf 200 MHz getakteten PE also circa 32 ms für n = 1024.
Insgesamt ergibt sich im Beispiel ein Zeitbedarf von circa 150 ms für die Erstellung der Signifikanzpyramide inklusive der Be­ rechnung der Wavelet-Koeffizienten auf dem VIP, bei 512 × 512- Bildern sind es entsprechend weniger als 50 ms.
Hierbei ist allerdings noch kein Overhead berücksichtigt wie etwa Berechnungszeiten für die Parameter der Controller- Programme, Initialisierungszeiten beim Anfahren der VIP- Controller oder Wartezeiten für Synchronisationen der Control­ ler.
Tabelle 1
Rechenzeiten für Signifikanzpyramide
Tabelle 2
Rechenzeiten für Kodierschleife, 333 MHz-Prozessor
In Tabelle 1 werden die Werte mit denen verglichen, die bei der Berechnung einer 6-stufigen Signifikanzpyramide (inklusive Wa­ velet-Koeffizienten) für einen Pentium-Prozessor mit 333 MHz bei optimaler Implementierung zu erwarten sind.
Die Kodierschleife ist sequentiell abzuarbeiten und kann auf dem VIP nicht beschleunigt implementiert werden. Die auf dem Pentium-Prozessor gemessenen Werte für eine nicht optimale Im­ plementierung ergaben die in Tabelle 2 aufgelisteten Werte. Es sind dies die Werte für eine Kodierschleife ohne Entropiekodie­ rung der übertragenen Symbole.
Um zu dokumentieren, dass das Kodier-Verfahren zweckmäßig ist, werden schließlich in Tabelle 3 noch die PSNR-Fehlermaße für die rekonstruierten Bilder bei verschiedenen Bitraten für das Standard-Bild "Lenna" im Format 512 × 512 angegeben. Auch hier wieder die Werte ohne Entropiekodierung. Mit Entropiekodierung ist jeweils eine Verbesserung um etwa 0.5 dB zu erwarten.
Tabelle 3
Fehler bei Kompression von Lenna 512 × 512

Claims (4)

1. Verfahren zur Kompression von Daten, wobei eine Unter­ scheidung zwischen wichtigen und weniger wichtigen Daten erfolgt, dadurch gekennzeichnet, dass eine Berechnung einer Signifikanz von Daten in einem sepa­ raten Verfahrensschritt erfolgt.
2. Verfahren nach Ansprüch 1, dadurch gekennzeichnet, dass eine Berechnung der Wichtigkeit der Daten über eine Kodierung in Wavelet- Koeffizienten erfolgt.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass eine Berechnung von Si­ gnifikanzparametern der Wavelet-Koeffizienten in einem se­ paraten Verfahrensschritt erfolgt.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der separate Verfahrens­ schritt in einem separaten Prozessorelement erfolgt.
DE10008055A 2000-02-22 2000-02-22 Verfahren zur Kompression von Daten Ceased DE10008055A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10008055A DE10008055A1 (de) 2000-02-22 2000-02-22 Verfahren zur Kompression von Daten
PCT/EP2001/001713 WO2001063934A1 (de) 2000-02-22 2001-02-15 Verfahren zur kompression von daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10008055A DE10008055A1 (de) 2000-02-22 2000-02-22 Verfahren zur Kompression von Daten

Publications (1)

Publication Number Publication Date
DE10008055A1 true DE10008055A1 (de) 2001-08-30

Family

ID=7631840

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10008055A Ceased DE10008055A1 (de) 2000-02-22 2000-02-22 Verfahren zur Kompression von Daten

Country Status (2)

Country Link
DE (1) DE10008055A1 (de)
WO (1) WO2001063934A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10230809B4 (de) * 2002-07-08 2008-09-11 T-Mobile Deutschland Gmbh Verfahren zur Übertragung von Audiosignalen nach dem Verfahren der priorisierenden Pixelübertragung
DE10142953B4 (de) * 2001-09-01 2010-08-05 Harry-H. Evers Verfahren zur Ortung mit einem mobilen Endgerät

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2503697A1 (de) * 2011-03-22 2012-09-26 Pii Limited Verfahren und Vorrichtung zur Datenkomprimierung
CA2988401C (en) 2015-07-28 2020-04-28 Halliburton Energy Services, Inc. Sensor data compression for downhole telemetry applications
CN117097810B (zh) * 2023-10-18 2024-01-02 深圳市互盟科技股份有限公司 基于云计算的数据中心传输优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3930760A1 (de) * 1989-09-14 1991-03-28 Bosch Gmbh Robert Transformationscodierungssystem
DE19819405A1 (de) * 1997-05-01 1998-11-26 Ricoh Kk Implementation eines reversiblen eingebetteten Wavelet-Systems
EP0680643B1 (de) * 1993-01-22 1999-11-17 Sarnoff Corporation Geraet und verfahren zur datenkompression

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3930760A1 (de) * 1989-09-14 1991-03-28 Bosch Gmbh Robert Transformationscodierungssystem
EP0680643B1 (de) * 1993-01-22 1999-11-17 Sarnoff Corporation Geraet und verfahren zur datenkompression
DE19819405A1 (de) * 1997-05-01 1998-11-26 Ricoh Kk Implementation eines reversiblen eingebetteten Wavelet-Systems

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
AMIR S., PEARLMAN W.: "A New Fast and Efficient Image Codec based on Set Patritioning in Hircharchical Trees", IEEE Transaction on Circuitsand Systems vor Video Technology, 6, Juni 1996, *
BRANDT A.: Teilbandcodierung von Bewegtbild- Sequenzen mit 2 Mbit/s. in: Frequenz 40 (1986) 8, S. 190-197 *
JP 10-3 02 052 A, Patent abstracts of Japan, 1999,JPO *
JP 11-0 32 334 A, Patent abstracts of Japan, 1999,JPO *
SIETMANN R.: Komprimierung mit Wavelet, in: Funkschau, 16, 1998, S. 60-63 *
SIMMERT O., THIERSCHMANN M., RÖSEL R.: Prioritätscodiertes Verfahren zur Datenkomprimierung, in: IK Berlin 47 (1997) 2, S. 39-42 *
STRUTZ T., SCHWARZ H., MÜLLER E.: Bildcodierung durch hierarchische Prädikation im Wavelet- Bereich, in: Frequenz 51 (1997) 3-4, S. 106-115 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10142953B4 (de) * 2001-09-01 2010-08-05 Harry-H. Evers Verfahren zur Ortung mit einem mobilen Endgerät
DE10230809B4 (de) * 2002-07-08 2008-09-11 T-Mobile Deutschland Gmbh Verfahren zur Übertragung von Audiosignalen nach dem Verfahren der priorisierenden Pixelübertragung

Also Published As

Publication number Publication date
WO2001063934A1 (de) 2001-08-30

Similar Documents

Publication Publication Date Title
DE69722601T2 (de) Datenkompression mit hybrider verlustloser entropiekodierung von run-length codes
DE69930886T2 (de) Datenverarbeitungsgerät und -verfahren sowie Speichermedium
DE69620963T2 (de) Verfahren und Vorrichtung zur Bilddatenkomprimierung
DE4034535C2 (de) Vorrichtung und Verfahren zur Codierung von Bilddaten, sowie hiermit ausgestattete elektronische Stehbildkamera
DE19626615C2 (de) Verfahren und Apparat zur Kompression, das bzw. der reversible Wavelet-Transformationen und einen eingebetteten Kodestrom verwendet
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE19983253B4 (de) Die Kompression von Farbbildern auf der Grundlage einer zweidimensionalen diskreten Wavelet-Transformation, die ein scheinbar verlustloses Bild hervorbringt
DE19626600C2 (de) Kodierer und Verfahren zum Kodieren
DE69836432T2 (de) Bildcoder und -decoder
DE69434862T2 (de) Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild
DE69929430T2 (de) Verfahren und vorrichtung zur codierung von video-information
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69421690T2 (de) Geraet und verfahren zur datenkompression
DE69836696T2 (de) Verfahren und vorrichtung zur durchführung einer hierarchischen bewegungsschätzung unter verwendung einer nicht-linearen pyramide
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE69330620T2 (de) Verfahren und Einrichtung zur Bildkodierung
DE69614675T2 (de) MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus
DE19919600A1 (de) Einrichtung und Verfahren zum Komprimieren von Bilddaten, die von einem Bildsensor empfangen werden, der ein Bayer-Muster aufweist
DE19534730A1 (de) Verfahren zum Codieren und Decodieren von Daten
DE19634600A1 (de) Bildsignalkodiervorrichtung und zugehöriges Verfahren
DE69421795T2 (de) Vorrichtung und verfahren zur kodierung von bildern
DE102010030973B4 (de) Videocodierer und Verfahren zum Decodieren einer Sequenz von Bildern
DE102018122297A1 (de) Verfahren zur Kompression und Dekompression von Bilddaten
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection