WO2001063934A1 - Method for compressing data - Google Patents

Method for compressing data Download PDF

Info

Publication number
WO2001063934A1
WO2001063934A1 PCT/EP2001/001713 EP0101713W WO0163934A1 WO 2001063934 A1 WO2001063934 A1 WO 2001063934A1 EP 0101713 W EP0101713 W EP 0101713W WO 0163934 A1 WO0163934 A1 WO 0163934A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
wavelet
coefficients
pyramid
coding
Prior art date
Application number
PCT/EP2001/001713
Other languages
German (de)
French (fr)
Inventor
Joachim Buhmann
Wolfgang Raab
Hansjoerg Klock-Werneboldt
Ulrich Ramacher
Mathias Richter
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
Publication of WO2001063934A1 publication Critical patent/WO2001063934A1/en

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

Abstract

The invention relates to a method for compressing image data, comprising a differentiation between important and less important data. According to the invention, said method is characterised in that a calculation of a so-called pyramid of significance of wavelet-transformed data takes place in a separate step of the method. Said pyramid contains the wavelet coefficients, together with the corresponding maximum values of the trees of all the descendants or of all of the indirect descendants.

Description

Beschreibung:Description:
Verfahren zur Kompression von DatenData compression method
Die Erfindung betrifft ein Verfahren zur Kompression von Daten .The invention relates to a method for compressing data.
Bei verschiedenen Anwendungen der Speicherung oder Übertragung von Digitalbildern ist eine Kompression der Bilddaten notwendig, um Speicherplatz, beziehungsweise Ubertragungs- oandbreite zu reduzieren. Hierbei ist zu unterscheiden zwischen Bewegtbildern (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, besonders hohe Kompressionsfaktoren erzielen, indem lediglich die Bilddifferenzen gespeichert, beziehungsweise übertragen werden. Bei Einzelbildern dagegen ist jedes Bild isoliert zu betrachten, wobei zwischen verlustlosen und verlustbehafteten Verfahren der Datenreduktion zu unterschei- den ist.In various applications for the storage or transmission of digital images, compression of the image data is necessary in order to reduce storage space or transmission bandwidth. A distinction must be made between moving pictures (for example video) and single or still pictures. With the former, the fact that successive images differ only slightly in many regions enables particularly high compression factors to be achieved by merely storing or transmitting the image differences. In the case of single images, on the other hand, each image is to be viewed in isolation, a distinction being made between lossless and lossy methods of data reduction.
Verlustlose Verfahren setzen auf eine möglichst weitgehende Elimination von Redundanz durch geeignete Transformationen (zum Beispiel Diskrete Cosinus Transformation DCT oder Wave- let-Transformation) und Codierungen (zum Beispiel Entropie- Codierung) . Der Kompressionsfaktor kann weiter erhöht werden, indem - unter mehr oder weniger hohen Qualitatsverlusten - „unwichtige" Informationen unterdruckt werden (z.B. Quantisierung der Daten oder Weglassen von medrigwertigen Daten- bits). Zum Preis eines höheren Rechenaufwands sind Transformationen, die es gestatten, bei der nachfolgenden Codierung statistische Zusammenhange höherer Ordnung auszunutzen (zu diesen gehören die Wavelet-Transformationen) , den einfacheren Transformationen (wie etwa DCT) hinsichtlich des Verhaltnis- ses von Bildqualitat zu verbleibender Datenmenge überlegen.Lossless methods rely on the greatest possible elimination of redundancy by means of suitable transformations (for example discrete cosine transformation DCT or wavelet transformation) and coding (for example entropy coding). The compression factor can be further increased by - with more or less high quality losses - suppressing "unimportant" information (e.g. quantization of the data or omission of middle-value data bits). At the price of a higher computational effort, transformations that allow the exploit subsequent coding of higher order statistical relationships (these include the wavelet transformations), superior to the simpler transformations (such as DCT) with regard to the ratio of image quality to the remaining amount of data.
Im Stand der Technik sind eine Vielzahl von Kompressionsver- fahren bekannt. Die bekannten Kompressionsverfahren ermöglichen entweder hohe Kompressionsfaktoren oder eine gute Bild- σualitat .A large number of compression methods are known in the prior art. drive known. The known compression methods either allow high compression factors or a good image quality.
Der Erfindung liegt die Aufgabe zugrunde, ein Kompressionsverfahren zu schaffen, das hohe Kompressionsfaktoren mit einer guten Bildqualitat vereinigt. Vorzugsweise soll das Kompressionsverfahren möglichst schnell durchfuhrbar sein.The invention has for its object to provide a compression method that combines high compression factors with a good image quality. The compression process should preferably be able to be carried out as quickly as possible.
Erfmdungsgemaß wird diese Aufgabe dadurch gelost, dass eine Berechnung einer Signifikanz von Daten, insbesondere von Bilddaten, in einem separaten Verfahrensschritt erfolgt.According to the invention, this object is achieved in that the significance of data, in particular image data, is calculated in a separate method step.
Aus der internationalen Patentanmeldung WO 97/26603 ist eine Matrixanordnung von Prozessoreinheiten bekannt, wobei ede Prozessoreinheit neben einer arithmetisch-logischen Einheit und einer Ergebnisregisterbank noch eine weitere arithmetisch-logische Einheit, eine Multiplizier/Addier-Emheit, einen Teilspeicher eines vorteilhaften Bildschirmausschnitt- Speichers und einen lokalen Allzweckspeicher aufweist. Ein die Matrixanordnung der Prozessoreinheiten enthaltender Prozessor zeichnet sich durch eine hohe Bearbeitungsgeschwindig¬From the international patent application WO 97/26603, a matrix arrangement of processor units is known, wherein the processor unit in addition to an arithmetic-logic unit and a result register bank, yet another arithmetic-logic unit, a multiplier / adder unit, a partial memory of an advantageous screen section memory and has a general purpose local storage. A processor containing the matrix arrangement of the processor units is characterized by a high processing speed
Aus der internationalen Patentanmeldung WO 99/42923 ist eine Vorrichtung mit einer Vielzahl von Steuermodulen bekannt, wobei den Steuermodulen eine Vielzahl von Bearbeitungsmodulen zur Ansteuerung zugeordnet sind. Hierbei werden die separaten Steuermodule durch eine übergeordnete Steuerung angesteuert md durch eine gemeinsame Synchronisiereinheit synchronisiert. Durch diese Vorrichtung wird eine Ubertragungsband- breite zwischen einem externen Befehlsspeicher und einem hochintegrierten System reduziert.From the international patent application WO 99/42923, a device with a large number of control modules is known, the control modules being assigned a large number of processing modules for actuation. Here, the separate control modules are controlled by a higher-level controller and are synchronized by a common synchronization unit. This device reduces a transmission bandwidth between an external command memory and a highly integrated system.
Die vorliegende Erfindung dient dazu, Einzelbilder zu komprimieren, wobei durch eine aufeinander abgestimmte Kombination von Hardware und Software bezuglich Datenmenge, beziehungs- weise Bildqualität und Durchsatz, beziehungsweise Zeitaufwand der Kompression bessere Leistungsdaten erzielt werden als mit herkömmlichen Implementierungen. Ein weiterer Aspekt des Verfahrens 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.The present invention serves to compress single images, whereby, by means of a coordinated combination of hardware and software, wise image quality and throughput, or time required for compression, better performance data can be achieved than with conventional implementations. Another aspect of the method is the subsequent - lossy - reduction of the amount of data already compressed images, for example in order to make space for further images on a storage medium that has been used up in its capacity.
Das implementierte Verfahren gestattet eine sehr einfache und schnelle nachträgliche Datenreduktion.The implemented method allows a very simple and quick subsequent data reduction.
Eine weitere Verbesserung der Qualität der rekonstruierten Daten, insbesondere der Bildqualität, läßt sich über eine verfeinerte Bewertung der Wichtigkeit einzelner Datenbestand- teile erzielen. Letzteres ist vorteilhaft über eine Kodierung in Wavelet-Koeffizienten zu erreichen.A further improvement in the quality of the reconstructed data, in particular the image quality, can be achieved through a refined evaluation of the importance of individual data components. The latter can advantageously be achieved by coding in wavelet coefficients.
Eine Beschleunigung des Kompressionsverfahrens kann vorteilhafterweise dadurch erzielt werden, dass eine Berechnung von Signifikanzparametern der Wavelet-Koeffizienten in einem separaten Verfahrensschritt erfolgt.Acceleration of the compression method can advantageously be achieved by calculating significance parameters of the wavelet coefficients in a separate method step.
Es ist besonders zweckmäßig, das Verfahren so durchzuführen, dass der separate Verfahrensschritt in einem separaten Pro- zessorelement erfolgt.It is particularly expedient to carry out the method in such a way that the separate method step takes place in a separate processor element.
Die Erfindung ist in vielfältigen Technologiebereichen einsetzbar. Bei einer Vielzahl von Anwendungen besteht ein Bedürfnis, große Datenmengen zu komprimieren.The invention can be used in a wide range of technology areas. In a variety of applications, there is a need to compress large amounts of data.
Nachfolgend wird die Erfindung am Beispiel von Bilddaten erläutert. Hierdurch sind die Vorteile der erfindungsgemäßen Datenkompression besonders deutlich darstellbar. Die Erfindung ist jedoch nicht auf die Komprimierung von Bilddaten be- schränkt. Vielmehr eignet sich die Erfindung für alle Anwendungsgebiete, bei denen aus einer großen Menge kontinuierlicher Daten besonders 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.The invention is explained below using the example of image data. As a result, the advantages of the data compression according to the invention can be represented particularly clearly. However, the invention is not limited to the compression of image data. Rather, the invention is suitable for all areas of application in which particularly important information is obtained from a large amount of continuous data should. Possible further applications are therefore compression of audio data, speech recognition or evaluation of measurement results which are to be transmitted over data transmission channels with a bandwidth which is small in relation to the amount of data.
Damit eine digitale Kamera eine Auflösung aufweist, die mit einer herkömmlichen analogen Kamera vergleichbar ist, insbesondere bezüglich der Auflösungsreserve für nachträgliche Vergrößerungen, 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 einerseits in dem in der Kamera befindlichen Spei- eher, zum Beispiel ein Flash Memory, möglichst viele Bilder unterzubringen und andererseits die Übertragungsdauer je Bild, zum Beispiel in ein elektronisches „Fotoalbum" auf der Festplatte des heimischen PCs, niedrig zu halten: tags Fotografieren (fordert Speicherkapazität) , nachts - wenn die Kom- munikationsgebühren niedrig sind - Fernübertragung der Bilder nach Hause, zum Beispiel mit einem mobilen Datenübertragungsterminal, zum Beispiel einem Mobiltelefon.In order for a digital camera to have a resolution that is comparable to a conventional analog camera, in particular with regard to the resolution reserve for subsequent enlargements, more than one million image points (pixels) must be provided per single image. When storing data in an uncompressed state, this requires between 1 and 3 bytes per pixel. A data reduction is necessary in order to accommodate as many pictures as possible in the memory in the camera, for example a flash memory, and on the other hand to reduce the transfer time per picture, for example to an electronic "photo album" on the hard disk of the home PC to hold: take pictures during the day (requires storage capacity), at night - when the communication fees are low - remote transmission of the pictures home, for example with a mobile data transmission terminal, for example a cell phone.
Herkömmliche Analogkameras bieten vielfach die Möglichkeit von Bildserien. Um hiermit konkurrieren zu können, darf eine Digitalkamera für die Kompression eines Bildes nur einen Bruchteil einer Sekunde benötigen (Größenordnung 5 Bilder pro Sekunde) .Conventional analog cameras often offer the possibility of image series. In order to compete with this, a digital camera can only compress a picture in a fraction of a second (order of magnitude 5 pictures per second).
Zu einer Datenkompression sind verschiedene Verfahren bekannt .Various methods are known for data compression.
Eines der eingesetzten Verfahren einer Einzelbildkompression ist der Standard nach „JPEG" mit der Abfolge DCT, Quantisie- rung (verlustbehaftet) und Huffman-Codierung. Wegen des relativ geringen Rechenaufwands kann JPEG wie auch andere DCT- basierte Verfahren gut auf Standard-Prozessoren implementiert werden.One of the methods used for single image compression is the "JPEG" standard with the sequence DCT, quantization (lossy) and Huffman coding. Because of the relatively low computational effort, JPEG, like other DCT-based methods, can be implemented well on standard processors become.
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 Pentium-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 x 512- Bild mit 256 Graustufen. Für 1024 x 1024-Bilder sind es unge- fähr 1,5 Sekunden.Wavelet-based implementations on standard processors are also known, but the real-time condition for image series is not met. For example, a 333 MHz Pentium processor using the method described below requires approximately 1/3 second per image with lossy compression by factors greater than 16 for a 512 x 512 image with 256 gray levels. For 1024 x 1024 images, it is approximately 1.5 seconds.
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ässigkeit, insbesondere mit einer möglichst hohen Wiedergabeähnlichkeit, durchgeführt werden soll.The invention is based on the object of providing a method for compressing data, in particular image data, the method being to be carried out with the least possible computational effort in the shortest possible time and with the highest possible reliability, in particular with the highest possible similarity to reproduction.
Um hohe Kompressionsfaktoren bei gleichzeitig guter Bildqua- lität zu erzielen, kommt ein Verfahren auf der Basis von Wa- velets zum Einsatz. Die Codierung der Wavelet-Koeffizienten generiert dabei einen sogenannten „eingebetteten Code (embed- ded code)", das heißt, die Informationen werden in der Reihenfolge von „wichtig" zu „unwichtig" codiert und übertragen, beziehungsweise abgespeichert. Der Datenstrom kann somit jederzeit abgebrochen werden, beziehungsweise der letzte Teil eines gespeicherten komprimierten Bildes einfach gelöscht werden, in der Gewißheit, nur' Informationen zu unterdrücken, die unwichtiger sind als die schon übertragenen, beziehungs- weise im Speicher verbleibenden.In order to achieve high compression factors and good image quality at the same time, a method based on wallets is used. The coding of the wavelet coefficients generates a so-called “embedded code”, that is to say the information is coded and transmitted or stored in the order from “important” to “unimportant”. The data stream can thus be transmitted at any time be canceled, or the last part of a stored compressed image are simply deleted, sure to suppress only 'information that are unimportant or remaining as the already transferred, in memory.
Es ist besonders zweckmässig, das Verfahren auf geeigneten Prozessoren durchzuführen. Der Begriff Prozessor ist dabei in keiner Weise einschränkend zu verstehen. Es kann sich hierbei um eine beliebige zur Durchführung von Berechnungen geeignete Einheit handeln. Es ist möglich, dass der Prozessor aus mehreren Einzelprozessoren besteht, die vorzugsweise zu einer geeigneten Prozessoreinheit zusammengefasst sind. Im Sinne der vorliegenden Erfindung kann ferner jede zur Durchführung von Berechnungen geeignete Schaltung eingesetzt werden. Zweckmäßigerweise wird die Schaltung in einen Computer oder in einen Logikbaustein eingebaut.It is particularly expedient to carry out the method on suitable processors. The term processor is not to be understood in any way restrictive. This can be any unit suitable for performing calculations. It is possible for the processor to consist of several individual processors, preferably one suitable processor unit are summarized. For the purposes of the present invention, any circuit suitable for performing calculations can also be used. The circuit is expediently installed in a computer or in a logic module.
Dabei reicht eine Variante der skalierbaren Prozessor- Architektur mit einem einzigen Prozessorelement (PE) aus, wobei es sich bei dem Prozessor vorzugsweise um einen Vision Instruction Prozessor (VIP) handelt. Sie erlaubt die Kompression von mehreren Bildern pro Sekunde.One variant of the scalable processor architecture with a single processor element (PE) is sufficient, the processor preferably being a vision instruction processor (VIP). It allows the compression of several frames per second.
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-Transformationen beruhen, optimiert ist.The analysis of wavelet-based compression methods shows that the computing effort is dominated by the wavelet transformation. This bottleneck is eliminated by the implementation on the VIP, since the architecture of the VIP is optimized for algorithms such as 1- or 2-dimensional convolution on which the wavelet transformations are based.
Die eingebettete Codierung der Wavelet-Koeffizienten könnte durch eine direkte Modellierung der statistischen Abhängigkeiten zwischen den Wavelet-Koeffizienten erfolgen. Dazu ist eine arithmetische Kodierung erforderlich, die jedoch eine skalare Rechenleistung erfordert, also durch eine Paralleli- sierung nicht zu beschleunigen ist. Deshalb kommen erfindungsgemäß insbesondere solche Codierverfahren zum Einsatz, die arithmetische Codierung benötigen.The embedded coding of the wavelet coefficients could be done by directly modeling the statistical dependencies between the wavelet coefficients. This requires arithmetic coding, which, however, requires scalar computing power, ie cannot be accelerated by parallelization. Therefore, according to the invention, coding methods that require arithmetic coding are used in particular.
Das Codierverfahren wird so angepasst, dass der recheninten- sive Anteil parallelisierbar und somit durch den VIP zu beschleunigen ist.The coding process is adapted so that the computationally intensive part can be parallelized and thus accelerated by the VIP.
Vorzugsweise wird ein Wavelet-Algorithmus eingesetzt. Er zählt zur Gruppe der „Zerotree-Verfahren" und stellt eine Va- riante 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 hierarchi- cal 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 Vorverarbeitungsschritt, was besonders günstig für eine Imp- lementierung auf dem VIP ist, sowie ein effizientes Scanning (eine Umsortierung) der Wavelet-Pyramide bei der Datenübertragung.A wavelet algorithm is preferably used. It belongs to the group of the "Zerotree method" and represents a variant of the method proposed by Said & Pearlman (Article Amir Said and William A. Pearlman: A new fast and efficient image codec based on set partitioning in hierarchical cal trees, IEEE Transactions on Circuits an Systems for Video Technlology, 6: 243-250, June 1996). New are the shift in the calculation of the so-called significance pyramid to a preprocessing step, which is particularly favorable for an implementation on the VIP, and an efficient scanning (re-sorting) of the wavelet pyramid during data transmission.
In einem ersten vorverarbeitenden Schritt werden die Bildda- ten Wavelet-transformiert :In a first preprocessing step, the image data is wavelet-transformed:
C = W(B) .C = W (B).
Hier sind B={bij} die Bilddaten und
Figure imgf000009_0001
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.
Here B = {bij} are the image data and
Figure imgf000009_0001
the coefficients of an L-level wavelet pyramid. 1 shows a 3-level wavelet pyramid as an example. The assignment of father coefficients to son coefficients at lower levels is also shown.
Allgemein seien S(l) alle Koeffizienten einer Stufe 1. Für den Index (i, j) eines Koeffizienten cij e8(l) wird definiert :In general, let S (l) be all coefficients of a stage 1. For the index (i, j) of a coefficient ci j e8 (l) the following is defined:
• Die Menge D(i,j) der Indizes aller Abkommen auf Stufen 0 < k < 1 - 1.• The set D (i, j) of the indices of all agreements at levels 0 <k <1 - 1.
• Die Menge 0(i,j) der Indizes aller direkten Abkommen auf Stufe k = 1 - 1.• The set 0 (i, j) of the indices of all direct agreements at level k = 1 - 1.
• Die Menge L(i,j) der Indizes aller indirekten Abkommen auf Stufen 0 < k < 1 - 2.• The set L (i, j) of the indices of all indirect agreements at levels 0 <k <1 - 2.
Es kommt für das Erreichen hoher Kompressionsraten darauf an, die Wavelet-Koeffizienten nach ihrer Größe zu ordnen, um möglichst lange Sequenzen insignifikanter Werte zu erhalten. Dabei soll die statistische Abhängigkeit der Koeffizienten aus- genutzt werden: ist ein Koeffizient Cij insignifikant, sind es wahrscheinlich 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 erreicht ist. Insignifikante Koeffizienten werden effizient mittels sogenannter „Zerotrees" kodiert. cx-, heißt Wurzel einesTo achieve high compression rates, it is important to order the wavelet coefficients according to their size in order to obtain sequences of insignificant values that are as long as possible. The statistical dependency of the coefficients should be exploited: if a coefficient Ci j is insignificant, it is probably also its agreements (with index in D (i, j)). "Insignificant" means: smaller than a barrier θ, which is gradually refined until the desired bit rate is reached. Insignificant coefficients are coded efficiently by means of so-called "zerotrees". C x - means the root of one
• Typ-A-Zerotrees, wenn cι und alle Abkommen aus D(i,j) insignifikant sind• Type A zerotrees if c ι and all agreements from D (i, j) are insignificant
• Typ-B-Zerotrees, wenn cXD und alle Abkommen aus L(i,j) insignifikant sind.• Type B zerotrees if c XD and all agreements from L (i, j) are insignificant.
Zur Bestimmung von Zerotrees wird ein zweiter Vorverarbeitungsschritt ausgeführt: die Berechnung der sogenannten Signifikanzpyramide Z, die für jede Position (i,j) einen Wert zXD enthält. Dieser besteht aus drei Teilen:A second preprocessing step is carried out to determine zerotrees: the calculation of the so-called significance pyramid Z, which contains a value z XD for each position (i, j). This consists of three parts:
• dem Wavelet-Koeffizienten c1D • the wavelet coefficient c 1D
• dem Wert ax-, : = max{|ckx|; (k, 1) eD (i, j ) }• the value a x - ,: = max {| c kx |; (k, 1) eD (i, j)}
• dem Wert ßx3:= max{|ckx|; (k, 1) eL (i, j ) }• the value ß x3 : = max {| c kx |; (k, 1) eL (i, j)}
Fuhrt man Hilfsgrößen γx-, ein, so läßt sich die Berechnung der Werte aXj und ßXj als Folge (nichtlinearer) Filterungen über die verschiedenen Stufen der Wavelet-Pyramide formulieren. In pseudo-programmiersprachlicher Notation:If auxiliary variables γ x -, are introduced, the calculation of the values a X j and ß Xj can be formulated as a series of (non-linear) filtering over the different levels of the wavelet pyramid. In pseudo programming language notation:
für 1 = 1, ... ,L für alle (i,j) mit c13 eS(l) falls 1 = 1 ax-,: = max{|ck|; (k,l) eO(i, j)} falls 1>1 γ1D:= max{|ckι|; (k,l) eO(i, j) }
Figure imgf000010_0001
max{akx; (k,l) eO(i, j) } aX]: = max{γx-,,ßx:ι}
for 1 = 1, ..., L for all (i, j) with c 13 eS (l) if 1 = 1 a x - ,: = max {| c k |; (k, l) eO (i, j)} if 1> 1 γ 1D : = max {| c k ι |; (k, l) eO (i, j)}
Figure imgf000010_0001
max {a kx ; (k, l) eO (i, j)} a X] : = max {γ x - ,, ß x: ι }
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.The creation of the significance pyramid, including the calculation of the wavelet coefficients, is by far the most computationally intensive part of the entire process. But you can implement very efficiently on the VIP, as detailed below.
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 significant bit untersucht, das heißt solche Koeffizienten werden eruiert, deren Betrag großer als ein vorgegebener geeigneter Schwellwert θ0:= θmax ist. Dann wird sukzessive der Schwellwert halbiert (θt+ι:= θt/2) und der Vorgang wiederholt (t=0,l,...). 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 entspricht. 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 Fortschreiten des Verfahrens (bei zunehmender Feinheit der Quantisierung) zweckmaßigerweise modifiziert werden.The coefficients are treated according to their significance - only as much can be taken into account - as the set bit rate allows. The binary representations of the coefficients are considered and initially only examined for a most significant bit, that is to say those coefficients are determined whose magnitude is greater than a predetermined suitable threshold value θ 0 : = θ max . Then the threshold value is successively halved (θ t + ι: = θ t / 2) and the process is repeated (t = 0, l, ...). This corresponds to a step-by-step refinement of the quantization of the wavelet coefficients and is known as the bitplane technique. The scanning of the coefficients, which corresponds to a sorting, is important for the efficiency of the method. For each bitplane it is important to detect insignificant coefficients that are en bloc as possible (those that are smaller than the current threshold value θ t ). For this purpose, the following lists of nodes are introduced, which are expediently modified as the method progresses (with increasing fineness of quantization).
• LIP, die Liste der Koeffizienten, die insignifikant, aber nicht Teil eines Zerotrees sind,LIP, the list of coefficients that are insignificant but not part of a zero tree,
• LZ, die Liste der Koeffizienten, die Wurzel eines Zerotrees sind und• LZ, the list of coefficients that are the root of a zero tree and
• LSP, die Liste der Koeffizienten, die (bereits) signifikant sind.• LSP, the list of coefficients that are (already) significant.
Folgende Abkürzungen vereinfachen die Notation:The following abbreviations simplify the notation:
• Zt(ij) : = true genau dann, wenn ßx-, < θt, das heißt wenn cx: Wurzel eines Zerotrees ist. • At(Z1D) : = true genau dann, wenn ax-, < θt, das heißt wenn cx-, Wurzel eines Typ - A - Zerotrees ist.• Z t (ij): = true if and only if ß x -, <θ t , that is, if c x: root of a zero tree. • A t (Z 1D ): = true if and only if a x -, <θ t , that is, if c x -, is the root of a type A zerotree.
• St(ZX]) : = true genau dann, wenn | cx-, | < θt, das heißt wenn Cij signifikant ist.• S t (Z X] ): = true if and only if | c x -, | <θ t , that is if Ci j is significant.
• P(Zij) : = true geanu dann, wenn cXj > 0• P (Zi j ): = true then if c X j> 0
• Gt(Zij) : = true genau dann, wenn cXj > cn (0 , wobei• G t (Zi j ): = true if and only if c Xj > c n (0, where
• c( ) = { C-- }, die rekonstruierte Pyramide, in die die bis zum Zeitpunkt t übertragenen Koeffizienten eingefügt wurden.• c () = {C--}, the reconstructed pyramid into which the coefficients transferred up to time t have been inserted.
Das gesamte Kodierverfahren besteht aus einer Vorverarbeitung, einer Initialisierung und einer Kodierschleife:The entire coding process consists of preprocessing, initialization and a coding loop:
Vorverarbeitung :Preprocessing:
Berechnung der Signifikanzpyramide Z inklusive der Wavelet- KoeffizientenCalculation of the significance pyramid Z including the wavelet coefficients
Initialisierung:Initialization:
c(0) :=0,t:=0,θo:=θmaxc (0) : = 0, t: = 0, θo: = θmax
Initialisieren von LSP, LZ, LIP als leere Listen
Figure imgf000012_0001
füge (i,j) in LIP ein sowie in LZ als Wurzel eines
Initialize LSP, LZ, LIP as empty lists
Figure imgf000012_0001
insert (i, j) in LIP and in LZ as the root of one
Typ-A-ZerotreesType A Zero Trees
Kodierschleife :Coding loop:
Fortfahren, bis die eingestellt Bitrate erreicht ist Sortierphase (Scanning der Signifikanzpyramide) Verfeinerungsphase t:=t+l, θt:=θt-ι/2.Continue until the set bit rate is reached Sorting phase (scanning the significance pyramid) Refinement phase t: = t + l, θ t : = θ t -ι / 2.
Die Verfeinerungsphase dient einer Verfeinerung der Quanti- sierung der übertragenen Wavelet-Koeffizienten:The refinement phase serves to refine the quantization of the transmitted wavelet coefficients:
Verfeinerungsphase : für alle (i,j) in LSP falls S-ι (zXj) = true übertrage Gt(zXj) falls Gt(zXj)= true sonst ω. (t-l) θt y • Cy + y " ~ yRefinement phase: for all (i, j) in LSP if S-ι (z Xj ) = true transmit G t (z Xj ) if G t (z Xj ) = true otherwise ω. (tl) θt y • Cy + y "~ y
Komplexer ist die Sortierphase:The sorting phase is more complex:
Sortierphase: für alle (i,j) in LIPSorting phase: for everyone (i, j) in LIP
Übertragen von St(zXD) falls St(zx-,)= true Einfugen von (i,j) in LSPTransfer of S t (z XD ) if S t (z x -,) = true Insert (i, j) into LSP
Übertragen Vorzeichen (i,j) für alle (i,j) in LZ falls At-ι(zx:ι)= true überprüfen, ob (i,j) Wurzel eines Typ-A-Zerotrees ist sonstTransfer sign (i, j) for all (i, j) in LZ if A t -ι (z x: ι ) = true Check whether (i, j) is the root of a type A zero tree
Überprüfen, ob (i,j) Wurzel eines Typ-B-Zerotrees istCheck whether (i, j) is the root of a type B zero tree
mit den Teilschritten:with the sub-steps:
Übertragen der Vorzeichen (i,j): Übertragen von P(zx-,) falls P(zx])= true
Figure imgf000013_0001
Transfer of the signs (i, j): Transfer of P (z x -,) if P (z x] ) = true
Figure imgf000013_0001
und:
Figure imgf000013_0002
and:
Figure imgf000013_0002
Überprüfen, ob (i,j) Wurzel eines Typ-A-Zerotrees ist: übertrage At(zx-) falls At(zXJ)= false für alle (k,l) eO(i, j) Übertragen von St(zkx) falls St(zkι)= falseCheck whether (i, j) is the root of a type A zerotree: transfer A t (z x -) if A t (z XJ ) = false for all (k, l) eO (i, j) transfer of S t (z kx ) if S t (z k ι) = false
Einfugen von (k,l) in LIP sonstInsert (k, l) in LIP otherwise
Einfügen von (k,l) in LSP Übertragen Vorzeichen (k,l) falls cXj zum Teil der Wavelet-Pyramide mit Stufe 1>1 gehörtInsert (k, l) in LSP transmit sign (k, l) if c Xj belongs to the part of the wavelet pyramid with level 1> 1
Überprüfen, ob (k,l) Wurzel eines Typ-B- Zerotrees istCheck that (k, l) is the root of a type B zero tree
Überprüfen, ob (i,j) Wurzel eines Typ-B-Zerotrees ist: Übertragen von Zt(zxj) falls Zt(zXj)= false für alle (k,l) eO(i,j)Check whether (i, j) is the root of a type B zerotree: transfer Z t (z xj ) if Z t (z Xj ) = false for all (k, l) eO (i, j)
Einfügen von (k,l) in LZ Entfernen von (i,j) aus LZ.Insert (k, l) in LZ Remove (i, j) from LZ.
Für die Kodierung von n x n-Bildern ergeben Performance- Abschätzungen folgende Werte für die Anzahl benötigter arithmetischer Operationen:For the coding of n x n pictures, performance estimates give the following values for the number of arithmetic operations required:
• Wavelet-Pyramide: — 8 n2 (kτ+kH), wobei die Hälfte dieser Ope- rationen auf Multiplikationen entfallen, die andere Hälfte auf Akkumulationen• Wavelet pyramid: - 8 n2 (k τ + k H ), whereby half of these operations are attributed to multiplications, the other half to accumulations
• Rest der Signifikanzpyramide: — 5 n2 • Rest of the significance pyramid: - 5 n 2
• Kodierschleife: 8n2/c (ohne Entropiekodierung der übertragenen Koeffizienten)Coding loop: 8n 2 / c (without entropy coding of the transmitted coefficients)
Zweckmäßigerweise wird hier eine vorzugsweise biorthogonale Wavelet-Transformation mit separierbaren konjugierten Spiegelfilterkernen (Conjugate Mirror Filters) vorgenommen. Dabei sind kτ 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 Kompressionsfaktor (entsprechend der Bitrate) . Typisch sind Kerne der Länge 7 und 9, mit denen sich für die paralle- lisierbare Vorverarbeitung ein Rechenaufwand von circa 43n2 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 speichernden Wavelet-Koeffizienten abgesehen wird.A preferably biorthogonal wavelet transformation with separable conjugate mirror filter cores (Conjugate Mirror Filters) is expediently carried out here. Here, k τ is the length of the core for low-pass filtering, k H is the length of the core for high-pass filtering and C is the compression factor to be achieved (corresponding to the bit rate). Typical are cores of length 7 and 9, with which a computational effort of approximately 43n 2 operations results for the parallelizable preprocessing. The ratio of parallelisable and sequential part in terms of computational effort is theoretically about 6 C to 1, if the Wavelet coefficients to be stored are not entropy encoded.
Für die Implementierung auf dem VIP wird unterstellt, die Bildwerte seien mit 256 Graustufen gegeben (also 8-Bit-For the implementation on the VIP it is assumed that the image values are given with 256 gray levels (i.e. 8-bit
Daten) , die Kernelemente dagegen mit 16 Bit Genauigkeit. Da jedoch bei der Berechnung der Wavelet-Transformation nach der ersten horizontalen (oder vertikalen) Tief- und Hochpaß- Filterung nur noch „in der Pyramide" weitergerechnet wird und diese mit 16 Bit Genauigkeit darzustellen ist, sei von Anfang an eine Genauigkeit von 16 Bit für alle Daten angenommen.Data), the core elements, however, with 16 bit accuracy. However, since the calculation of the wavelet transformation after the first horizontal (or vertical) low-pass and high-pass filtering only continues "in the pyramid" and this has to be represented with 16-bit precision, an accuracy of 16-bit from the beginning accepted for all dates.
In Fig. 2 wird die Verarbeitungspipeline des VIP skizziert. Datenquellen des Prozessorelements (PE) sind die Speicher ISB (image section buffer) , GPM (general purpose memory) und TMP (temporal data register) , Datensenke ist eines der RER (re- sult register) . Von dort werden die Daten in einen output buffer geschrieben.The processing pipeline of the VIP is outlined in FIG. Data sources of the processor element (PE) are the memories ISB (image section buffer), GPM (general purpose memory) and TMP (temporal data register), data sink is one of the RER (result register). From there, the data is written to an output buffer.
Die ALU 1 des PE-Elements vermag bei der gegebenen Datengenauigkeit 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 akkumulieren. Die Berechnung von 2 Ergebnispixeln kann zu- sammengefaß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 erlaubt eine taktgenaue Versorgung des PE- Elements mit Bilddaten. Demnach sind es im Mittel 16n2 (2x2) Takte, um eine eindimensionale (1D) -Faltung abzuschließen. Für die Bandpass- und Tiefpass-Filterungeinrichtung werden also zusammen 8n2 Takte benötigt. Werden zusätzlich noch beide Faltungen in der jeweils anderen (horizontalen oder verti- kalen) Richtung berücksichtigt, ergeben sich 16n2 Takte.With the given data accuracy of 16 bits per cycle, the ALU 1 of the PE element can take 4 picture elements and 4 core elements from the ISB and GPM memories of the VIP, multiply them element by element and accumulate the results in a register. The calculation of 2 result pixels can be summarized, and it takes 4 cycles for cores of length 7 to be produced. For cores with a length of 9, this takes 8 cycles, on average 6 cycles. 6 cycles are to be used for the final accumulation of the segments of the result register and 4 cycles for the removal of the result pixels. The core elements in the GPM can be reused, the ISB allows the PE element to be supplied with image data precisely on time. Accordingly, the average is 16n 2 (2x2) Bars to complete a one-dimensional (1D) fold. For the bandpass and lowpass filtering device, a total of 8n 2 clocks are required. If both folds in the other (horizontal or vertical) direction are also taken into account, the result is 16n 2 bars.
Fortsetzung des Verfahrens über beliebig viele Auflösungsstu- fen der Pyramide hinweg bringt einen zusätzlichen Faktor 4/3 ins Spiel, so dass insgesamt für die Erstellung der Wavelet- Pyramide 22n2 Takte angesetzt werden können. Bei einer Takt- rate von 200 MHz und für n = 1024 (Fotoqualität) ergibt sich also ein Zeitbedarf von circa 115 ms für die Berechnung der Wavelet-Transformation.Continuing the process across any number of levels of resolution of the pyramid brings an additional factor 4/3 into play, so that a total of 2 bars can be used to create the Wavelet pyramid 22n. With a clock rate of 200 MHz and for n = 1024 (photo quality), this results in a time requirement of approximately 115 ms for the calculation of the wavelet transformation.
Dazu kommt die Berechnung der Werte aXj und ßij der Signifi- kanzpyramide nach dem oben skizzierten Schema. Die Zwischenwerte γXj werden temporär in einem Register gespeichert. Für die Berechnung eines Werts ßij werden angesetzt: 4 Takte für das Zuführen der 4 Werte akx aus einem der beiden ISB- Speicher (im letzten dieser Takte wird der ISB durch einen Doppelshift in die nächste 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 γXj dauert genauso lang, da die Berechnung 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 ßXj und γij berechnet werden. Zum Runden und Abtransportieren von aij und ßj fallen jeweils noch einmal 4 Takte 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.In addition there is the calculation of the values a X j and ßij of the significance pyramid according to the scheme outlined above. The intermediate values γ Xj are temporarily stored in a register. The following are used to calculate a value ßi j : 4 cycles for supplying the 4 values a kx from one of the two ISB memories (in the last of these cycles, the ISB is moved to the next position by means of a double shift, so that the data supply to the PEs is ensured) and 10 cycles for calculating the value ßi j (2 "mima" commands from the ALU 2 with 2 waiting cycles). The calculation of a value γ Xj takes just as long, since the calculation of value values can be done en passant in the ALU 1 and does not take up any additional computing time (the second ISB is used to read in the data). Then in a further 4 cycles (with an ALU-2 command) ai j must be calculated as the maximum of ß Xj and γi j . For rounding and removing ai j and ß j , there are 4 cycles each. In total, there are 40 cycles for calculation per tuple (ai j , ßi j ). In the first step of the algorithm (1 = 1) only the values aij are calculated, that is 18 cycles each.
Für die Stufe 1=1 der Signifikanzpyramide ist damit ein Auf- wand von 3-— 1 -18n2 Takten zu erwarten, für die Stufe 1=2 ein 16 Aufwand von 3-— 1 •— 1--40n 2 Takten, für 1=3 ein Aufwand von 4 16Hence wall of 3-- 1 -18n2 clocks expected an up for the stage-1 = 1, the significance of the pyramid, for the stage-1 = 2 a 16 Effort of 3-— 1 • - 1--40n 2 bars, for 1 = 3 an effort of 4 16
3- — n2 ■-— ι -40n Takten usw. Insgesamt sind das weniger als 6n V47 163- - n 2 ■ -— ι -40n cycles etc. In total this is less than 6n V47 16
Takte, bei einem auf 200 MHz getakteten PE also circa 32 ms für n=1024.Clocks, with a PE clocked at 200 MHz around 32 ms for n = 1024.
Insgesamt ergibt sich im Beispiel ein Zeitbedarf von circa 150 ms für die Erstellung der Signifikanzpyramide inklusive der Berechnung der Wavelet-Koeffizienten auf dem VIP, bei 512 x 512-Bildern sind es entsprechend weniger als 50 ms.Overall, in the example there is a time requirement of around 150 ms for the creation of the significance pyramid including the calculation of the wavelet coefficients on the VIP, with 512 x 512 images it is correspondingly less than 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 Controller.
Figure imgf000017_0001
However, no overhead is taken into account here, such as calculation times for the parameters of the controller programs, initialization times when starting up the VIP controller or waiting times for synchronization of the controllers.
Figure imgf000017_0001
Tabelle 1: Rechenzeiten für Signifikanzpyramide
Figure imgf000017_0002
Table 1: Computing times for the significance pyramid
Figure imgf000017_0002
Tabelle 2: Rechenzeiten für Kodierschleife, 333 MHz-ProzessorTable 2: Computing times for coding loop, 333 MHz processor
In Tabelle 1 werden die Werte mit denen verglichen, die bei der Berechnung einer 6-stufigen Signifikanzpyramide (inklusive Wavelet-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 Implementierung ergaben die in Tabelle 2 aufgelisteten Werte. Es sind dies die Werte für eine Kodierschleife ohne Entropiekodierung der übertragenen Symbole.Table 1 compares the values with those that can be expected when calculating a 6-level significance pyramid (including wavelet coefficients) for a Pentium processor with 333 MHz with optimal implementation. The coding loop has to be processed sequentially and cannot be implemented quickly on the VIP. The non-optimal implementation values measured on the Pentium processor gave the values listed in Table 2. These are the values for a coding loop without entropy coding the transmitted symbols.
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 x 512 angegeben. Auch hier wieder die Werte ohne Entropiekodierung. Mit Entropiekodierung ist jeweils eine Verbesserung um etwa 0.5 dB zu erwarten.
Figure imgf000018_0001
In order to document that the coding method is expedient, the PSNR error measures for the reconstructed images at different bit rates for the standard image "Lenna" in the format 512 x 512 are finally given in table 3. Again, the values without Entropy coding With entropy coding an improvement of about 0.5 dB is to be expected in each case.
Figure imgf000018_0001
Tabelle 3: Fehler bei Kompression von Lenna 512 x 512 Table 3: Errors when compressing Lenna 512 x 512

Claims

Patentansprüche claims
1. Verfahren zur Kompression von Daten, wobei eine Unterscheidung zwischen wichtigen und weniger wichtigen Daten erfolgt, d a d u r c h g e k e n n z e i c h n e t, dass eine Berechnung einer Signifikanz von Daten in einem separaten Verfahrensschritt erfolgt.1. Method for compressing data, whereby a distinction is made between important and less important data, so that the significance of data is calculated in a separate method step.
2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass eine Berechnung der Wichtigkeit der Daten über eine Kodierung in Wavelet-Koeffizienten erfolgt.2. The method of claim 1, d a d u r c h g e k e n n z e i c h n e t that the importance of the data is calculated via a coding in wavelet coefficients.
3. Verfahren nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t , dass eine Berechnung von Signifikanzparametern der Wavelet- Koeffizienten in einem separaten Verfahrensschritt erfolgt.3. The method as claimed in claim 2, so that the significance parameters of the wavelet coefficients are calculated in a separate method step.
4. Verfahren nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t , dass der separate Verfahrensschritt in einem separaten Prozessorelement erfolgt. 4. The method according to claim 3, so that the separate method step takes place in a separate processor element.
PCT/EP2001/001713 2000-02-22 2001-02-15 Method for compressing data WO2001063934A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10008055A DE10008055A1 (en) 2000-02-22 2000-02-22 Data compression method
DE10008055.3 2000-02-22

Publications (1)

Publication Number Publication Date
WO2001063934A1 true WO2001063934A1 (en) 2001-08-30

Family

ID=7631840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2001/001713 WO2001063934A1 (en) 2000-02-22 2001-02-15 Method for compressing data

Country Status (2)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2503697A1 (en) * 2011-03-22 2012-09-26 Pii Limited Method and apparatus for data compression
US10465504B2 (en) 2015-07-28 2019-11-05 Halliburton Energy Services, Inc. Sensor data compression for downhole telemetry applications
CN117097810A (en) * 2023-10-18 2023-11-21 深圳市互盟科技股份有限公司 Data center transmission optimization method based on cloud computing

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10142953B4 (en) * 2001-09-01 2010-08-05 Harry-H. Evers Method for locating with a mobile terminal
DE10230809B4 (en) * 2002-07-08 2008-09-11 T-Mobile Deutschland Gmbh Method for transmitting audio signals according to the method of prioritizing pixel transmission

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3930760A1 (en) * 1989-09-14 1991-03-28 Bosch Gmbh Robert Transformation coding system for video signals - reduces data for transmission using adaptive threshold process
US5412741A (en) * 1993-01-22 1995-05-02 David Sarnoff Research Center, Inc. Apparatus and method for compressing information
GB2325584B (en) * 1997-05-01 2000-03-29 Ricoh Kk Decompression system using inverse wavelet transform

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BANISTER B A ET AL: "Quadtree classification and TCQ image coding", PROCEEDINGS DCC'99 DATA COMPRESSION CONFERENCE (CAT. NO. PR00096), PROCEEDINGS OF CONFERENCE ON DATA COMPRESSION (DCC'99), SNOWBIRD, UT, USA, 29-31 MARCH 1999, 1999, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 149 - 157, XP002169650, ISBN: 0-7695-0096-X *
LI-MINN ANG ET AL: "VLSI architecture for significance map coding of embedded zerotree wavelet coefficients", IEEE. APCCAS 1998. 1998 IEEE ASIA-PACIFIC CONFERENCE ON CIRCUITS AND SYSTEMS. MICROELECTRONICS AND INTEGRATING SYSTEMS. PROCEEDINGS (CAT. NO.98EX242), IEEE. APCCAS 1998. 1998 IEEE ASIA-PACIFIC CONFERENCE ON CIRCUITS AND SYSTEMS. MICROELECTRONICS AND, 1998, Piscataway, NJ, USA, IEEE, USA, pages 627 - 630, XP002169641, ISBN: 0-7803-5146-0 *
PARK N ET AL: "SYNTHESIS OF VLSI ARCHITECTURES FOR TREE-STRUCTURED IMAGE CODING", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP),US,NEW YORK, IEEE, 16 September 1996 (1996-09-16), pages 999 - 1002, XP000733386, ISBN: 0-7803-3259-8 *
RAMASWAMY V N ET AL: "Performance analysis of wavelets in embedded zerotree-based lossless image coding schemes", IEEE TRANSACTIONS ON SIGNAL PROCESSING, MARCH 1999, IEEE, USA, vol. 47, no. 3, pages 884 - 889, XP002169649, ISSN: 1053-587X *
SCHELKENS P ET AL: "Wavelet-based compression of medical images: Protocols to improve resolution and quality scalability and region-of-interest coding", FUTURE GENERATIONS COMPUTER SYSTEMS,ELSEVIER SCIENCE PUBLISHERS. AMSTERDAM,NL, vol. 15, no. 2, 11 March 1999 (1999-03-11), pages 171 - 184, XP004222986, ISSN: 0167-739X *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2503697A1 (en) * 2011-03-22 2012-09-26 Pii Limited Method and apparatus for data compression
US10465504B2 (en) 2015-07-28 2019-11-05 Halliburton Energy Services, Inc. Sensor data compression for downhole telemetry applications
CN117097810A (en) * 2023-10-18 2023-11-21 深圳市互盟科技股份有限公司 Data center transmission optimization method based on cloud computing
CN117097810B (en) * 2023-10-18 2024-01-02 深圳市互盟科技股份有限公司 Data center transmission optimization method based on cloud computing

Also Published As

Publication number Publication date
DE10008055A1 (en) 2001-08-30

Similar Documents

Publication Publication Date Title
DE69836432T2 (en) BILDCODER AND DECODER
DE19983253B4 (en) The compression of color images based on a two-dimensional discrete wavelet transform that produces a seemingly lossless image
DE69930886T2 (en) Data processing apparatus and method and storage medium
DE19626600C2 (en) Encoder and coding method
DE19861377B4 (en) An improved compression and decompression system with reversible wavelets and lossy reconstruction
DE19626615C2 (en) Compression method and apparatus using reversible wavelet transforms and an embedded code stream
DE4034535C2 (en) Device and method for coding image data, and electronic still camera equipped therewith
EP1635578B1 (en) Method and device for video coding, the video coding comprising texture analysis, texture synthesis and texture warping, a corresponding computer program and a corresponding computer-readable storage medium
DE69722601T2 (en) DATA COMPRESSION WITH HYBRID LOSS ENTROPY CODING FROM RUN-LENGTH CODES
DE69633129T2 (en) WAVELET TREE BILDCODER WITH OVERLAPPING PICTURE BLOCKS
DE19919600B4 (en) Apparatus and method for compressing image data received from an image sensor having a Bayer pattern
DE19709391A1 (en) MPEG encoding and decoding system for multimedia
DE19534730A1 (en) Entropy encoder for facsimile transmission
DE102010030973B4 (en) Video encoder and method for decoding a sequence of pictures
DE19634600A1 (en) Image signal coding device and associated method
DE10113880A1 (en) Method for compressing and decompressing video data
EP1472888B1 (en) Context-sensitive encoding and decoding of a video data stream
DE102018122297A1 (en) Process for compression and decompression of image data
DE4408522C2 (en) Device for processing image data and method for processing image data
DE19819405B4 (en) Implementation of a reversible embedded wavelet system
DE19903605B4 (en) Method for rearranging waveform packet coefficients
WO2001063934A1 (en) Method for compressing data
WO1998034406A1 (en) Method and device for coding and decoding a digitized image
DE102012111405A1 (en) Method for efficiently decoding variable length codes
DE69918980T2 (en) VIDEO COMPRESSION WITH MEMORY REDUCTION, COLOR ROTATION AND COMBINED SIGNAL AND BLOCK FILTERING

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WA Withdrawal of international application