DE10301572A1 - Video image data compression method in which pixel characterizing data is only updated and recorded between image frames if the underlying data changes or if a maximum number of frames without a change is reached - Google Patents
Video image data compression method in which pixel characterizing data is only updated and recorded between image frames if the underlying data changes or if a maximum number of frames without a change is reached Download PDFInfo
- Publication number
- DE10301572A1 DE10301572A1 DE2003101572 DE10301572A DE10301572A1 DE 10301572 A1 DE10301572 A1 DE 10301572A1 DE 2003101572 DE2003101572 DE 2003101572 DE 10301572 A DE10301572 A DE 10301572A DE 10301572 A1 DE10301572 A1 DE 10301572A1
- Authority
- DE
- Germany
- Prior art keywords
- image
- value
- pixel
- image property
- output data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Komprimieren einer zeitlichen Folge einer Anzahl von Bildern, insbesondere Videobildern, nach dem Oberbegriff des Anspruchs 1 sowie ein Dekompressionsverfahren. Der Bildeigenschaftswert enthält in der Regel alle Informationen, die das Aussehen des zugehörigen Pixels beschreiben.The invention relates to a method to compress a time sequence of a number of images, in particular video images, according to the preamble of claim 1 as well as a decompression procedure. The image property value usually contains all information that describes the appearance of the associated pixel.
Es ist eine Reihe von Kompressionsverfahren für Bildfolgen bekannt. Hierbei handelt es sich sowohl um verlustfreie als auch verlustbehaftete Kompressionsverfahren. Sie arbeiten nach sehr unterschiedlichen Konzepten. Bei einigen Kompressionsverfahren wird jedes Bild für sich komprimiert, z.B. durch Transformationskodierung (Verfahren DCT, KLT, DHT u. a.). Andere Kompressionsverfahren reduzieren die Daten, indem sie im Datenstrom nach Selbstähnlichkeiten suchen (Fraktale Kompression) oder Bewegungen von Bildteilen durch Vektoren ausdrücken und den Bildteil selbst somit nur einmal speichern müssen (Motion Compensation). Einfache Reduktion des Datenaufkommens kann auch durch Skalar- oder Vektorquantisierung, Truncation oder Subsampling erreicht werden, jedoch auf Kosten höherer Qualitätsverluste. Eine große Anzahl von Kompressionsverfahren nutzt dagegen verlustfreie Kompressionsmethoden wie Entropie-Kodierung (RLE, Huffmann, Shanon-Fano) oder wörterbuch-basierte Kodierung (LZW, PKZIP), wodurch sie auch für andere Datentypen, wie Textdateien oder ausführbare Programme, genutzt werden können.It is a series of compression processes for image sequences known. These are both lossless as well lossy compression processes. They work in very different ways Concepts. Some compression methods compress each image individually, e.g. through transformation coding (DCT, KLT, DHT and others) a.). Other compression methods reduce the data by in the data stream according to self-similarities search (fractal compression) or movements of parts of the image Express vectors and therefore only have to save the image part once (motion Compensation). Simple data reduction can also be done through scalar or vector quantization, truncation or subsampling be achieved, but at the expense of higher quality losses. A big In contrast, the number of compression methods uses lossless compression methods such as entropy coding (RLE, Huffmann, Shanon-Fano) or dictionary-based coding (LZW, PKZIP), which also makes them suitable for other data types, such as text files or executable programs, can be used can.
Meistens werden mehrere Kompressionsverfahren hintereinander geschaltet. Es gibt eine Reihe von Standards, die jeweils eine bestimmte Kombination von Kompressionsverfahren/Dekompressionsverfahren anwenden und in sogenannten Codecs zur Verfügung stellen. Je nach Bedarf eines speziellen Anwendungsfalls sind die Standards unterschiedlich gut geeignet. Beispiele für Standards sind MPEG-1 (nach ISO/IEC 11172), MPEG-2 (nach ISO/IEC 13818), MPEG-4 (nach ISO/IEC 14496) und der damit verwandte de-facto-Standard DivX, H261 usw.Most often there are several compression methods connected in series. There are a number of standards that each a specific combination of compression / decompression apply and make available in so-called codecs. As required The standards are different in a special application well suited. Examples of standards are MPEG-1 (according to ISO / IEC 11172), MPEG-2 (according to ISO / IEC 13818), MPEG-4 (according to ISO / IEC 14496) and the related de facto standard DivX, H261 etc.
Die Qualität eines Standards bzw. Verfahrens ergibt sich aus den verschiedenen Leistungsmerkmalen, wie der Kompressions- und Dekompressionsgeschwindigkeit, den erreichbaren Kompressionsraten, den unterstützten Farb- und Bildformaten und natürlich der Qualität des Videobildes bei den verlustbehafteten Verfahren.The quality of a standard or process results from the various performance features, such as the compression and decompression speed, the achievable compression rates, the supported Color and image formats and Naturally of quality the video image in the lossy process.
Wenngleich die verschiedenen herkömmlichen Kompressionsverfahren nur schwer zu vergleichen sind, da sie sich sowohl in ihren Leistungsmerkmalen, als auch in ihrem Ressourcenbedart (Speicherplatz, Rechenleistung) erheblich voneinander unterscheiden, ist ihnen doch häufig gemeinsam, dass sie die Daten der einzelnen Bilder bzw. der aufeinander folgenden Bilder linear bzw. sequenziell bearbeiten. Dabei wird zwar relativ wenig Arbeitsspeicher einer verwendeten Datenverarbeitungsanlage benötigt, jedoch ist in der Regel eine hohe Rechenleistung zur Kompression bzw. Dekompression der Bilddaten erforderlich. Dies ist insbesondere dann der Fall, wenn eine relativ hohe Kompressionsrate mit nur geringen Qualitätsverlusten erreicht werden soll.Although the various conventional Compression procedures are difficult to compare because they are different both in their performance characteristics and in their resource requirements (Storage space, computing power) differ significantly from each other, is common to them common that they are the data of the individual images or of each other Edit the following images linearly or sequentially. Doing so requires relatively little working memory of a data processing system used, however is usually a high computing power for compression or decompression the image data required. This is particularly the case if a relatively high compression rate with little loss of quality should be achieved.
Der Erfindung liegt daher die Aufgabe zugrunde, ein gattungsgemäßes Kompressionsverfahren zur Verfügung zu stellen, das eine hohe Kompressionsrate bei gleichzeitig geringen Qualitätsverlusten ermöglicht. Ferner liegt der Erfindung die Aufgabe zugrunde, ein entsprechendes Verfahren zur Dekompression eines durch Anwendung des erfindungsgemäßen Kompressionsverfahrens erhaltenen Ausgangsdatensignals sowie eine Vorrichtung zur Durchführung der Verfahren vorzusehen.The invention is therefore the object is based on a generic compression method to disposal to provide a high compression rate with low quality losses allows. The invention is also based on the object of a corresponding one Method for decompression of a by using the compression method according to the invention obtained output data signal and a device for performing the To provide procedures.
Die Aufgabe bezüglich des Kompressionsverfahrens wird durch die Merkmale des Anspruchs 1 gelöst.The task regarding the compression process is solved by the features of claim 1.
Bei einem zeitlich ersten Bild wird für jedes Pixel (Bildpunkt) der Bildeigenschaftswert in das Ausgangsdatensignal übernommen. Bei den zeitlich folgen den Bildern hingegen wird für das jeweilige Pixel, das dem zugehörigen Pixel des zeitlich ersten Bildes entspricht, nur in zwei Fällen der Bildeigenschaftswert in das Ausgangsdatensignal übernommen. Zum einen geschieht dies, wenn der Bildeigenschaftswert sich gegenüber demjenigen Bildeigenschaftswert geändert hat, der zuletzt für ein entsprechendes Pixel in das Ausgangsdatensignal übernommen wurde. Dabei wird zu jedem Bildeigenschaftswert, der in das Ausgangsdatensignal übernommen worden ist, ein Zählwert in das Ausgangsdatensignal aufgenommen, der angibt, in wie vielen unmittelbar aufeinander folgenden Bildern der Bildeigenschaftwert unverändert bleibt. Zum anderen wird der Bildeigenschaftswert auch dann in das Ausgangsdatensignal übernommen, wenn der Zählwert, der zu dem zuletzt für ein entsprechendes Pixel übernommenen Bildeigenschaftswert in das Ausgangsdatensignal aufgenommen worden ist, bereits einen Maximalwert erreicht hat. Das Ausgangsdatensignal wird mittels einer elektronischen Datenverarbeitungseinheit erzeugt.With a first picture is for each pixel (Pixel) the image property value is adopted in the output data signal. In the case of the images that follow in time, however, is for the respective Pixels, the associated Pixel corresponds to the first image in time, only in two cases Image property value adopted in the output data signal. For one thing happens this if the image property value differs from that image property value changed has the last one for a corresponding pixel is included in the output data signal has been. In this case, each image property value is transferred to the output data signal is a count included in the output data signal, indicating how many immediately consecutive images the image property value unchanged remains. On the other hand, the image property value is then also in the Output data signal accepted, if the count value, the last one for a corresponding pixel inherited image property value has already been included in the output data signal Has reached maximum value. The output data signal is by means of a electronic data processing unit generated.
Vorzugsweise liegt die zu komprimierende Bildfolge in zeitlich kontinuierlicher Form, also mit einer bestimmten Anzahl von Bildern pro Sekunde vor. Alle Bilder der Bildfolge weisen die gleiche Anzahl an Spalten und Zeilen auf. Vorzugsweise ist eine Reihenfolge festgelegt, in der die Pixel in jedem der Bilder der Bildfolge abgearbeitet werden, z.B. spalten- und zeilenweise von links oben nach rechts unten.The image sequence to be compressed is preferably located in a continuous form, i.e. with a certain number of frames per second. All images in the image sequence have the same number of columns and rows. Preferably, a Order in which the pixels in each of the images of the Sequence of images are processed, e.g. columns and rows of top left to bottom right.
Bei dem erfindungsgemäßen Kompressionsverfahren, das als so genanntes Interframe-Kompressionsverfahren kategorisiert werden kann, werden Datenredundanzen bezüglich eines von der Position her gleichen Pixels in der zeitlichen Folge der Anzahl von Bildern entfernt. Es werden nur solche Bildinformationen gespeichert, die sich bezogen auf einander entsprechende Pixel innerhalb der Bildfolge ändern. Es wird dabei die Tatsache ausgenutzt, dass sich der Farbwert oder auch der Helligkeitswert eines einzelnen Pixels bei einer typischen Bildfolge über mehrere, zeitlich aufeinander folgende einzelne Bilder oft über längere Zeiträume gar nicht oder nur minimal ändert. Ein Qualitätsverlust tritt dann ein, wenn ein relativ geringer Unterschied von Bildeigenschaftswerten einander entsprechender Pixel vernachlässigt wird, d.h. der Bildeigenschaftswert als unverändert angenommen wird. Ob zwei Bildeigenschaftswerte unter schiedlich oder gleich sind, kann mittels einer entsprechenden mathematischen Bedingung bzw. Funktion bestimmt werden. Dazu kann ein Schwellwert als Kriterium für die Unterscheidung der Bildeigenschaftswerte gewählt werden, wie er unten detaillierter beschrieben ist. Je nach Wahl des Schwellwertes fällt der Qualitätsverlust höher oder geringer aus. Ein Schwellwert von null bewirkt eine verlustfreie Kompression.In the compression method according to the invention, which can be categorized as a so-called interframe compression method, data redundancies with respect to a pixel that is the same in position are removed in the temporal sequence of the number of images. Only image information that relates to change corresponding pixels within the image sequence. The fact that the color value or also the brightness value of an individual pixel in a typical image sequence does not change or changes only minimally over a long period of time over a plurality of individual images that follow one another is exploited here, or only minimally. A loss of quality occurs when a relatively small difference in image property values of corresponding pixels is neglected, ie the image property value is assumed to be unchanged. A corresponding mathematical condition or function can be used to determine whether two image property values are different or the same. For this purpose, a threshold value can be selected as a criterion for distinguishing the image property values, as is described in more detail below. Depending on the choice of the threshold value, the loss of quality is higher or lower. A threshold of zero results in lossless compression.
Mit dem erfindungsgemäßen Verfahren können die Bilddaten stark reduziert werden, wobei die Qualitätsverluste gering gehalten werden können. Das Verfahren schafft Verbesserungen gegenüber den bekannten Verfahren. Besonders der Verlust von Detailinformationen, wie sie z.B. bei den verbreiteten Verfahren der Transformations-Kodierung üblich sind, sogenannte Artefakt- oder Blockbildungen, werden bei dem erfindungsgemäßen Verfahren vermieden. Ein wesentlicher Vorteil gegenüber bekannten Verfahren besteht darin, dass nur eine relativ geringe Rechenleistung der Datenverarbeitungseinheit erforderlich ist. Der Bedarf an Arbeitsspeicherplatz zur Durchführung des erfindungsgemäßen Verfahrens ist heutzutage grundsätzlich bei der zur Verfügung stehenden Hardware nicht problematisch.With the method according to the invention can the image data are greatly reduced, with the quality losses can be kept low. The Process creates improvements over the known processes. Especially the loss of detailed information such as at the common methods of transformation coding are common, so-called artifact or Block formations are avoided in the method according to the invention. On significant advantage over known method is that only a relatively low computing power the data processing unit is required. The need for memory space to carry out of the method according to the invention is fundamental nowadays available at the hardware is not problematic.
Das erfindungsgemäße Verfahren kann insbesondere zur Kompression von Videobildern eingesetzt werden. Die Tatsache, dass der Informationsfluss im Datenstrom zeitlich nicht springt, lässt das Verfahren für Streaming geeignet erscheinen. Insbesondere wenn die Daten über ein Netzwerk geschickt werden, ist es ratsam, weitere Standardmechanismen zur Fehlerkontrolle bzw. Fehlerkorrektur einzufügen, wie z.B. unten erläuterte Keyframes in regelmäßigen Abständen, wodurch eine Fortpflanzung eines Übertragungsfehlers verhindert wird.The method according to the invention can in particular can be used to compress video images. The fact, that the information flow in the data stream does not jump in time, leaves the procedure for streaming seem appropriate. Especially if the data about a Network, it is advisable to use other standard mechanisms for error control or error correction, e.g. Keyframes explained below periodically, causing a propagation of a transmission error is prevented.
Das erfindungsgemäße Verfahren kann auf folgende Weise durchgeführt werden: Das erste Bild wird in einen Arbeitsspeicher der Datenverarbeitungseinheit eingelesen, und dem Bild wird im Arbeitsspeicher ein erster Datenkompressionsblock zugeordnet. Der Datenkompressionsblock weist Speicherplatz für so viele Datenkompressionseinheiten auf, wie das Bild Pixel besitzt. Eine Datenkompressionseinheit besteht aus dem Zählwert und dem Bildeigenschaftswert des zugehörigen Pixels. Der Zählwert weist anfangs einen Initialwert auf. Dieser Initialwert wird dann um eine Einheit erhöht, wenn ein Bildeigenschaftswert in die Datenkompressionseinheit eingelesen wird.The method according to the invention can be as follows Way performed the first image is stored in a working memory of the data processing unit a first data compression block is read into the memory assigned. The data compression block has space for so many Data compression units based on how the image has pixels. A Data compression unit consists of the count value and the image property value of the associated Pixel. The count initially has an initial value. This initial value is then increased by one unit, when an image property value is read into the data compression unit becomes.
Anschließend wird das nächstfolgende Bild als zweites Bild in den Arbeitsspeicher eingelesen und mit dem ersten Datenkompressionsblock pixelweise verglichen. Dabei wird festgestellt, ob sich ein eingelesener Bildeigenschaftswert des zweiten Bildes von dem im ersten Datenkompressionsblock abgespeicherten Bildeigenschaftswert des entsprechenden Pixels des ersten Bildes unterscheidet. In einem zweiten Datenkompressionsblock, der dem zweiten Bild im Arbeitsspeicher zugeordnet ist, wird in dem Fall, dass sich der eingelesene Bildeigenschaftswert nicht von dem Bildeigenschaftswert des entsprechenden Pixels im ersten Datenkompressionsblock unterscheidet, der in dem ersten Datenkompressionsblock abgespeicherte Bildeigenschaftswert des Pixels abgespeichert. In diesem Fall wird ferner der Zählwert in der zugehörigen Datenkompressionseinheit auf dem Initialwert belassen bzw. auf diesen gesetzt, und in dem ersten Datenkompressionsblock wird der Zählwert des entsprechenden Pixels um eine Einheit erhöht.Then the next one follows Image as second image read into the working memory and with compared to the first data compression block pixel by pixel. Doing so determined whether a read image property value of the second image from that stored in the first data compression block Image property value of the corresponding pixel of the first image different. In a second data compression block, the second Image is allocated in memory in the event that the image property value read is not different from the image property value of the corresponding pixel in the first data compression block, the image property value stored in the first data compression block of the pixel. In this case, the count is also in the associated Leave the data compression unit at the initial value or on it is set, and in the first data compression block the count value of the corresponding pixels increased by one unit.
Wenn sich hingegen der eingelesene Bildeigenschaftswert des zweiten Bildes von dem abgespeicherten Bildeigenschaftswert des entsprechenden Pixels des ersten Bildes unterscheidet, wird in dem zweiten Datenkompressionsblock der eingelesene Bildeigenschaftswert des Pixels des zweiten Bildes abgespeichert und als Zählwert wird der Wert abgespeichert, der sich aus der Erhöhung des Initialwertes um eine Einheit ergibt.If, on the other hand, the imported Image property value of the second image from the stored one Image property value of the corresponding pixel of the first image differs, the read in is in the second data compression block Image property value of the pixel of the second image is stored and as a count the value that results from the increase of the Initial value results by one unit.
Entsprechend werden alle weiteren Bilder nacheinander in den Arbeitsspeicher eingelesen, wobei jeweils nur das aktuell zu bearbeitende Bild im Arbeitsspeicher gespeichert sein muss. Jedem weiteren eingelesenen Bild wird wiederum ein Datenkompressionsblock zugeordnet. Die Datenkompressionsblöcke bleiben so lange in dem Arbeitsspeicher gespeichert, wie sie für die Bearbeitung neu eingelesener Bilder erforderlich sind, d.h. so lange wie noch nicht mehr Bilder eingelesen sind, als der maximal mögliche Zählwert vorgibt. Jedes weitere eingelesene Bild wird mit dem Datenkompressionsblock des jeweils un mittelbar vorgehend eingelesenen Bildes pixelweise dahingehend verglichen, ob sich der eingelesene Bildeigenschaftswert eines Pixels des weiteren Bildes von dem im Datenkompressionsblock abgespeicherten Bildeigenschaftswert des entsprechenden Pixels des vorhergehenden Bildes unterscheidet. In dem Fall, dass sich der eingelesene Bildeigenschaftswert nicht von dem abgespeicherten Bildeigenschaftswert des vorhergehenden Bildes unterscheidet, wird in dem Datenkompressionsblock des aktuell eingelesenen Bildes der abgespeicherte Bildeigenschaftswert des vorhergehenden Bildes abgespeichert und der Zählwert auf dem Initialwert belassen bzw. auf diesen gesetzt. Ferner wird in demjenigen aller vorhergehenden Datenkompressionsblöcke, welcher in zeitlicher Rückfolge als erster einen von dem Initialwert verschiedenen Zählwert in der entsprechenden Datenkompressionseinheit aufweist, der Zählwert um eine Einheit erhöht. Hingegen wird in dem Fall, dass sich der eingelesene Bildeigenschaftswert von dem abgespeicherten Bildeigenschaftswert des vorhergehenden Bildes unterscheidet, in dem Datenkompressionsblock des aktuell eingelesenen Bildes der eingelesene Bildeigenschaftswert des weiteren Bildes abgespeichert, und der Zählwert wird auf den Wert gesetzt, der sich aus der Erhöhung des Initialwertes um eine Einheit ergibt. Wenn der Fall eintritt, dass ein Zählwert den maximal möglichen Wert bereits erreicht hat, muss in dem aktuellen Datenkompressionsblock für das aktuelle Pixel der Initialwert des Zählwertes um eine Einheit erhöht werden.Accordingly, all further images are read into the working memory one after the other, with only the image currently to be processed having to be stored in the working memory. A data compression block is in turn assigned to each further image read. The data compression blocks remain stored in the working memory for as long as they are required for processing newly read images, ie as long as no more images have been read in than the maximum possible count value specifies. Each further image read in is compared pixel by pixel with the data compression block of the image which has just been read in immediately as to whether the image property value read in of a pixel of the further image differs from the image property value of the corresponding pixel of the previous image stored in the data compression block. In the event that the read image property value does not differ from the stored image property value of the previous image, the stored image property value of the previous image is stored in the data compression block of the currently read image and the count value is left at the initial value or is set to this. Furthermore, in that of all preceding data compression blocks, which is the first in a chronological order to have a count value different from the initial value in the has the corresponding data compression unit, the count increases by one unit. On the other hand, in the event that the read image property value differs from the stored image property value of the previous image, the read image property value of the further image is stored in the data compression block of the currently read image, and the count value is set to the value resulting from the increase in the Initial value results by one unit. If the case occurs that a count value has already reached the maximum possible value, the initial value of the count value must be increased by one unit in the current data compression block for the current pixel.
Nachdem so viele Bilder eingelesen und bearbeitet worden sind, wie durch den maximalen Zählwert vorgegeben ist, werden alle Datenkompressionseinheiten des ersten Datenkompressionsblocks als Teil eines Datensignals sequenziell aneinander gereiht. Hierbei kann z.B. die übliche Linearisierung von zweidimensionalen Bildern, nämlich spalten- und zeilenweise von oben links nach unten rechts, angewendet werden. Nach dem Einlesen und Bearbeiten eines weiteren Bildes kann ein weiterer Datenkompressionsblock ebenfalls sequenziell aneinander gereiht an das Datensignal angeknüpft werden. So kann fortlaufend verfahren werden. In dem Datensignal werden die Datenkompressionseinheiten entfernt, welche als Zählwert den Initialwert aufweisen. Das so erhaltene Ausgangsdatensignal, das auch als Ausgangsdatenstrom angesehen werden kann, zeichnet sich dadurch aus, dass es Bildeigenschaftswerte beinhaltet, welche in einer Reihe von aufeinander folgenden Bildern unverändert vorliegen. Um wie viele Bilder es sich dabei handelt, ist durch den stets von dem Initialwert verschiedenen Zählwert angegeben. Auf diese Weise kann Speicherplatz gespart werden, der erforderlich wäre, wenn für jedes Pixel jedes Bildes jeweils ein Bildeigenschaftswert abgespeichert würde.After reading so many pictures and have been processed as specified by the maximum count value , all data compression units of the first data compression block are considered Part of a data signal sequentially strung together. in this connection can e.g. the usual Linearization of two-dimensional images, namely columns and rows from top left to bottom right. After reading and editing another image can be another data compression block can also be connected sequentially to the data signal. This can be done continuously. Be in the data signal removed the data compression units, which as the count Have initial value. The output data signal thus obtained, the can also be viewed as an output data stream in that it includes image property values that are in a series of successive images are unchanged. How many pictures it is, is always from the different from the initial value specified. In this way, storage space can be saved that would be required if for an image property value is stored for each pixel of each image would.
Alternativ zu dem beschriebenen Ausführungsbeispiel kann auch vorgesehen sein, dass ein Bildeigenschaftswert eines eingelesenen Bildes unmittelbar mit dem Bildeigenschaftswert des entsprechenden Pixels desjenigen vorhergehenden Bildes verglichen wird, in dem sich der Bildeigenschaftswert zuletzt geändert hat. Der zum Vergleich herangezogene Bildeigenschaftswert ist in dem entsprechenden, zeitlich nächstliegenden, vorhergehenden Datenkompressionsblock abgespeichert, der einen von dem Initialwert verschiedenen Zählwert in der Datenkompressionseinheit des entsprechenden Pixels aufweist. Dazu kann ein entsprechender Zeiger auf diese Datenkompressionseinheit vorgesehen sein. Auf diese Weise wird erreicht, dass man den Bildeigenschaftswert eines eingelesenen Bildes nicht mit den Bildeigenschaftswerten derjenigen vorhergehenden Datenkompressionseinheiten vergleichen muss, bei denen der Zählwert gleich dem Initialwert ist. Gemäß Anspruch 2 kann dabei vorzugsweise vorgesehen sein, dass in einem weiteren Datenkompressionsblock eines weiteren Bildes kein Bildeigenschaftswert abgespeichert wird, wenn sich der eingelesene Bildeigenschaftswert nicht von dem abgespeicherten Bildeigenschaftswert des entsprechenden Pixels in demjenigen Datenkompressionsblock unterscheidet, welcher in zeitlicher Rückfolge als erster einen vom Initialwert verschiedenen Zählwert aufweist. Wenn kein Bildeigenschaftswert abgespeichert wird, enthält die entsprechende Datenkompressionseinheit des weiteren Datenkompressionsblocks nur den Zählwert, der auf den Initialwert gesetzt wird. Auf diese Weise kann die Rechengeschwindigkeit weiter erhöht werden. Wenn hingegen sich der eingelesene Bildeigenschaftswert von dem abgespeicherten Bildeigenschaftswert des entsprechenden Pixels in demjenigen Datenkompressionsblock unterscheidet, welcher in zeitlicher Rückfolge als erster einen vom Initialwert verschiedenen Zählwert aufweist, oder wenn der Zählwert des entsprechenden Pixels in diesem Datenkompressionsblock bereits den Maximalwert erreicht hat, muss in dem weiteren Datenkompressionsblock der eingelesene Bildeigenschaftswert des Pixels des weiteren Bildes abgespeichert werden.As an alternative to the described embodiment can also be provided that an image property value of a read Image immediately with the image property value of the corresponding one Pixels of that previous image is compared in which the image property value has changed recently. The one for comparison The image property value used is in the corresponding, temporal nearest, previous data compression block stored, one of which Initial value different count value in the data compression unit of the corresponding pixel. For this purpose, a corresponding pointer to this data compression unit can be used be provided. In this way it is achieved that the image property value of a scanned image not with the image property values of those must compare previous data compression units at which the count value is equal to the initial value. According to claim 2 can preferably be provided in a further Data compression block of another image no image property value is saved when the imported image property value not from the stored image property value of the corresponding one Distinguishes pixels in the data compression block which in chronological order be the first to have a count value different from the initial value. If not The image property value is stored, contains the corresponding data compression unit of the further data compression block only the count value, which is based on the initial value is set. In this way, the computing speed can continue elevated become. If, on the other hand, the imported image property value from the stored image property value of the corresponding one Distinguishes pixels in the data compression block which in chronological order be the first to have a count value different from the initial value, or if the count of the corresponding pixel in this data compression block already has reached the maximum value, must in the further data compression block the read image property value of the pixel of the further image can be saved.
Als die oben angesprochenen Keyframes können bestimmte Datenkompressionsblöcke verwendet werden.As the keyframes mentioned above, certain Data compression blocks be used.
Weiterhin kann die Erfindung alternativ auf folgende Weise durchgeführt werden. Das erste Bild wird in einen Arbeitsspeicher der Datenverarbeitungseinheit gelesen. Für jedes Pixel des ersten Bildes der Bildfolge wird eine Ausgangsdateneinheit in dem Ausgangsdatensignal erzeugt. In dieser Ausgangsdateneinheit werden der eingelesene Bildeigenschaftswert des Pixels und der um eine Einheit über einem Initialwert liegende Zählwert abgespeichert. Außerdem wird ein Referenzdatenblock in dem Arbeitsspeicher erzeugt, der Speicherplatz für eine Referenz zu der Ausgangsdateneinheit für jedes Pixel aufweist. Bei dieser Referenz handelt es sich wie bei einem Pointer oder einem Index um Information zur Identifikation einer Ausgangsdateneinheit, die der Pixelposition, d.h. den sich entsprechenden Pixeln der einzelnen Bilder, aktuell zugeordnet ist. Die Referenz wird in einer Referenzdateneinheit des Referenzdatenblocks abgespeichert. Dementsprechend weist der Referenzdatenblock so viele Referenzdateneinheiten auf, wie es Pixel pro Bild gibt.Furthermore, the invention can be used as an alternative done in the following way become. The first image is stored in a working memory of the data processing unit read. For each pixel of the first image in the image sequence becomes an output data unit generated in the output data signal. In this output data unit the read image property value of the pixel and the um one unit across an initial value stored. Moreover a reference data block is generated in the working memory which Storage space for has a reference to the output data unit for each pixel. at this reference is like a pointer or a Index for information to identify an output data unit, that of the pixel position, i.e. the corresponding pixels of each Images that is currently assigned. The reference is in a reference data unit of the reference data block. Accordingly, the Reference data block as many reference data units as there are pixels per picture there.
Jedes weitere Bild wird in den Arbeitsspeicher eingelesen. In entsprechender zeitlicher Reihenfolge werden die weiteren Bilder verarbeitet, also beginnend mit dem zweiten Bild. Für jedes weitere Bild wird pixelweise der eingelesene Bildeigenschaftswert eines Pixels mit dem Bildeigenschaftswert derjenigen Ausgangsdateneinheit verglichen, welche durch die der Pixelposition zugeordnete Referenzdateneinheit referenziert ist. Wenn das zweite Bild bearbeitet wird, ist dies die Ausgangsdateneinheit, in der zu der Pixelposition der Bildeigenschaftswert des ersten Bildes gespeichert ist. Wenn das dritte oder ein weiteres Bild bearbeitet wird, weist die Referenz auf die Ausgangsdateneinheit, in der zuletzt ein der Pixelposition zugehöriger Bildeigenschaftswert abgespeichert worden ist. Bei diesem Bildeigenschaftswert handelt es sich sozusagen um den "neuesten" Bildeigenschaftswert.Each additional image is read into the main memory. The other images are processed in the appropriate chronological order, that is, starting with the second image. For each further image, the read image property value of a pixel is compared pixel by pixel with the image property value of the output data unit which is referenced by the reference data unit assigned to the pixel position. When the second image is processed, this is the output data unit in which to the pixel position of the image property value of the first image is saved. When the third or a further image is processed, the reference points to the output data unit in which an image property value associated with the pixel position was last stored. This image property value is the "newest" image property value, so to speak.
Wenn sich die beiden Bildeigenschaftswerte nicht unterscheiden und der Zählwert der zugehörigen Ausgangsdateneinheit noch nicht seinen Maximalwert erreicht hat, wird der Zählwert der Ausgangsdateneinheit um eine Einheit erhöht.If the two image property values are not differ and the count value the associated Output data unit has not yet reached its maximum value, becomes the count value the output data unit increased by one unit.
Anderenfalls, das heißt, wenn sich die beiden Bildeigenschaftswerte unterscheiden oder wenn der Zählwert bereits den Maximalwert erreicht hat, wird eine weitere Ausgangsdateneinheit an das Ausgangsdatensignal angehängt. Der Zählwert der weiteren Ausgangsdateneinheit wird auf den um eine Einheit über dem Initialwert liegenden Wert gesetzt und der Bildeigenschaftswert wird auf den mit dem weiteren Bild eingelesenen Bildeigenschaftswert des Pixels gesetzt. In der zugehörigen Referenzdateneinheit wird dann eine aktuelle Referenz auf die weitere Ausgangsdateneinheit, vorzugsweise unter Überschreibung der bisherigen Referenz, gespeichert.Otherwise, that is, if the two image property values differ or if the count has already reached the maximum value, another output data unit appended to the output data signal. The count the further output data unit is increased by one unit above the Initial value and the image property value becomes the image property value read in with the further image of the pixel. In the associated The reference data unit then becomes a current reference to the further output data unit, preferably with overwriting the previous reference.
Die Kompressionsschritte werden wiederholt, bis alle Pixel aller Bilder abgearbeitet sind. Dann werden vorzugsweise alle Referenzdateneinheiten in dem Referenzdatenblock gelöscht.The compression steps are repeated until all pixels of all images have been processed. Then preferably all reference data units in the reference data block are deleted.
Es kann vorgesehen sein, dass bereits während der Kompressionsschritte Ausgangsdateneinheiten auf einem nichtflüchtigen Datenträger gesichert werden. Und zwar kann auf diese Weise eine Ausgangsdateneinheit zu dem Zeitpunkt gesichert werden, wo sie nicht durch eine Referenzdateneinheit referenziert ist, das heißt, wenn auf sie nicht mehr für einen Bildeigenschaftswertvergleich Bezug genommen werden muss.It can be provided that already while the compression steps output data units on a non-volatile disk be secured. In this way, an output data unit can be be backed up at the time when they are not by a reference data unit is referenced, that is, when on it no longer for a comparison of image property values must be made.
Bei dem Bildeigenschaftswert kann es sich um einen Farbwert handeln. Dieser Farbwert kann insbesondere aus den Farbräumen RGB (Rot, Grün, Blau), YUV, YIQ, CMY, CIE, HSB-Modell, aber auch aus vielen anderen Farbräumen sein. Je nach verwendetem Farbraum ist die Kodierung des Farbwerts unterschiedlich. Es muss eine entsprechende Anzahl von Bits, die zur digitalen Speicherung eines Farbwertes für jeden einzelnen Pixel benötigt werden, zur Verfügung gestellt werden. Im RGB-Farbraum werden z.B. insgesamt 24 Bits für jedes Pixel benötigt, nämlich jeweils ein Byte für die drei Farbanteile Rot, Grün und Blau.With the image property value can it is a color value. This color value can in particular from the color spaces RGB (red, green, blue), YUV, YIQ, CMY, CIE, HSB model, but also from many other color spaces. Depending on the color space used, the coding of the color value differs. There must be an appropriate number of bits used for digital storage a color value for every single pixel needed become available be put. In the RGB color space, e.g. a total of 24 bits for each Pixel needed, namely each a byte for the three color components red, green and blue.
Bei dem Bildeigenschaftswert kann es sich auch um einen reinen Helligkeitswert oder um einen Wert, in den die Helligkeit eingeht, handeln. So sind z.B. im RGB-Farbraum auch Helligkeitswerte berücksichtigt.With the image property value can it is also a pure brightness value or a value into which the brightness enters, act. For example, in the RGB color space brightness values are also taken into account.
Vorzugsweise ist vorgesehen, dass der Initialwert null ist und eine Einheit den Wert eins hat.It is preferably provided that the initial value is zero and one unit has the value one.
Wie oben bereits erwähnt, kann als Kriterium für die Unterscheidung der Bildeigenschaftswerte ein Schwellwert verwendet werden, der sich auf eine Differenz zweier zu vergleichender Bildeigenschaftswerte bezieht. Entsprechend dem Schwellwert werden zwei Bildeigenschaftswerte dann als nicht unterschiedlich angesehen, wenn der Differenzwert unterhalb des Schwellwertes liegt. Der Schwellwert gibt somit einen Toleranzbereich an, innerhalb dessen Bildeigenschaftswerte als unverändert angesehen werden.As mentioned above, can as a criterion for the distinction between the image property values uses a threshold be based on a difference between two image property values to be compared refers. According to the threshold, two image property values become then regarded as not different if the difference value is below the threshold. The threshold value therefore gives one Tolerance range within which image property values are considered unchanged.
Für den Zählwert einer jeden Datenkompressionseinheit kann ein Byte Speicherplatz für einen Maximalwert von 256 vorgesehen sein. Es kann dann eine Folge von 256 aufeinander folgenden Datenkompressionsblöcken mit gleichem Bildeigenschaftswert des jeweiligen Pixels erfasst werden. Zum Beispiel können vier Bytes für jede Datenkompressionseinheit vorgesehen sein, nämlich ein Byte für den Zählwert und drei Bytes für den Bildeigenschaftswert, z.B. den Farbwert im RGB-Farbraum.For the count Each data compression unit can have one byte of storage space for a maximum value out of 256. There can then be a sequence of 256 on top of each other following data compression blocks recorded with the same image property value of the respective pixel become. For example, you can four bytes for each data compression unit can be provided, namely a byte for the count value and three bytes for the image property value, e.g. the color value in the RGB color space.
Es kann vorgesehen sein, den Speicherplatz im Arbeitsspeicher dynamisch zu verwalten, damit der Speicherbedarf sich an die Erfordernisse anpassen kann. Damit ist es möglich, den Arbeitsspeicher in Abhängigkeit des aufgrund der gewünschten Farbauflösung und Bildauflösung erforderlichen Speicherplatzes zu verwalten. Die Farbauflösung hängt von dem oben beschriebenen Schwellwert ab. Dazu wird bei den beiden zuerst beschriebenen Ausführungsformen der Arbeitsspeicher in die einzelnen Datenkompressionseinheiten unterteilt, wobei jede Datenkompressionseinheit die Informationen für genau einen Pixel enthält, nämlich zumindest den Zählwert und den Bildeigenschaftswert. Um den sequenziellen Zugriff auf die Pixel zu ermöglichen, können diese Datenkompressionseinheiten zusätzlich noch einen Zeiger (Pointer) auf den jeweils nächsten Pixel im Arbeitsspeicher erhalten. Da bei der Kompression auf die Datenkompressionseinheiten vorhergehender Datenkompressionsblöcke zurückgegriffen werden muss, kann noch ein weiterer Pointer auf das aktuelle Pixel im jeweils unmittelbar vorhergehenden Datenkompressionsblock sinnvoll sein oder auch alternativ auf dasjenige Pixel in einem der vorhergehenden Datenkompressionsblöcke, welches sich zuletzt in Bezug auf den Zählwert geändert hat. Die untereinander verknüpften Datenkompressionseinheiten können in einem Ringspeicher angeordnet sein. Bei solch einem Speicher sind die Datenkompressionsblöcke so mit Pointern verbunden, dass der letzte Datenkompressionsblock im Speicher als logischen Nachfolger den ersten Datenkompressionsblock hat. Bei Verwendung eines Ringspeichers sind Pointerberechnungen während der Kompression bzw. der unten beschriebenen Dekompression unnötig.It can be provided that the storage space in the Manage memory dynamically so the memory requirement can adapt to the requirements. This makes it possible to RAM depending due to the desired color resolution and resolution manage required space. The color resolution depends on the threshold described above. For this, the two embodiments described first the working memory in the individual data compression units divided, with each data compression unit the information for exactly contains a pixel namely at least the count and the image property value. To get sequential access to the To allow pixels can this Additional data compression units another pointer to the next pixel in the working memory receive. As for the compression on the data compression units previous data compression blocks can be used another pointer to the current pixel in each case immediately previous data compression block may be useful or alternatively to the pixel in one of the preceding data compression blocks which last in relation to the count changed Has. The linked with each other Data compression units can be arranged in a ring buffer. With such a memory are the data compression blocks connected with pointers so that the last data compression block the first data compression block in the memory as a logical successor Has. When using a ring buffer, pointer calculations are necessary while the compression or decompression described below is unnecessary.
Bei der Kompression kommen keine aufwändigen mathematischen Verfahren zur Anwendung. Zur Berechnung der Farbdifferenz zweier Pixel sowie zur Anpassung der Zählwerte reichen z.B. im RGB-Farbraum einige Additionen und Subtraktionen. Außerdem ist das erfindungsgemäße Verfahren stark parallelisierbar, denn die Bearbeitung eines Pixels eines Bildes ist unabhängig von der Bearbeitung aller anderen Pixel. Somit können im besten Fall alle Pixel eines Bildes gleichzeitig bearbeitet werden. Aus diesen beiden Gründen erscheint eine Implementierung des Verfahrens in Form von Hardware besonders geeignet und verspricht enorme Verarbeitungsgeschwindigkeit bei verhältnismäßig geringem Rechenaufwand. Hieraus ergeben sich konkrete Vorteile gegenüber herkömmlichen Kompressionsverfahren, nämlich geringe Komplexität der notwendigen CPU/ALU und eine hohe Ausführungsgeschwindigkeit. Dadurch kann Strom beim Einsatz in mobilen Geräten gespart werden, wie z.B. in einer Digitalen Videokamera, einem Laptop, Communicator, Handy, usw.No complex mathematical methods are used for compression. To calculate the color difference between two pixels and to adjust the count values, a few additions and subtractions are sufficient, for example in the RGB color space. In addition, the method according to the invention is strong parallelizable, because the processing of a pixel of an image is independent of the processing of all other pixels. In the best case, all pixels of an image can be processed at the same time. For these two reasons, an implementation of the method in the form of hardware appears to be particularly suitable and promises enormous processing speed with relatively little computing effort. This results in concrete advantages over conventional compression methods, namely low complexity of the necessary CPU / ALU and a high execution speed. This can save electricity when used in mobile devices, such as in a digital video camera, laptop, communicator, cell phone, etc.
Das erhaltene Ausgangsdatensignal kann einem weiteren Kompressionsverfahren unterzogen werden, z.B. einem der bekannten Entropie-Kompressions verfahren (LZ, Huffmann, u. a.) oder auch einer arithmetischen Kodierung. Auch die von vielen Standards verwendeten Verfahren, wie Subsampling oder Quantisierung versprechen eine weitere Kompression des Ausgangsdatensignals, allerdings in Verbindung mit weiteren Qualitätsverlusten. Es sind viele weitere Möglichkeiten der Kombination von Kompressionsverfahren denkbar.The output data signal obtained can be subjected to another compression process, e.g. one of the known entropy compression processes (LZ, Huffmann, u. a.) or an arithmetic coding. Also by many standards methods used, such as subsampling or quantization a further compression of the output data signal, however in connection with further quality losses. There are many more options the combination of compression processes possible.
Die Aufgabe in Bezug auf das Dekomprimieren von Bildern wird durch die Merkmale des Anspruchs 10 gelöst. Es kann vorgesehen sein, dass zunächst in einem Speicher, insbesondere einem Grafikspeicher oder einem Arbeitsspeicher, Speicherplatz für zumindest ein dekomprimiertes Bild zur Verfügung gestellt ist bzw. durch das Dekompressionsverfahren zur Verfügung gestellt wird. Die Ausgangsdateneinheiten des Ausgangsdatensignals, welche jeweils einen Bildeigenschaftswert und einen zugehörigen Zählwert aufweisen, werden nacheinander derartig abgearbeitet, dass ein erster Bildeigenschaftswert einem ersten Pixel eines ersten zu erzeugenden Bildes und ferner dem entsprechenden Pixel so vieler weiterer Bilder zugeordnet wird, wie der Zählwert der Ausgangsdateneinheit angibt. Diese Zuordnung kann darin bestehen, dass der Bildeigenschaftswert in dem oben genannten Speicherplatz in einer für das entsprechende Pixel vorgesehenen Position abgespeichert wird. Dieser Vorgang wird für alle weiteren Pixel des ersten Bildes unter Heranziehung entsprechend vieler nachfolgender Bildeigenschaftswerte des Ausgangsdatensignals wiederholt. Der Bildeigenschaftswert der sich dann als nächstes im Ausgangsdatensignal anschließenden Ausgangsdateneinheit wird dem von dem ersten zu erzeugenden Bild aus gesehen ersten Pixel zugeordnet, welchem bisher noch kein Bildeigenschaftswert zugeordnet ist. Die Ausgangsdateneinheiten sind im Ausgangsdatensignal linear, also eindimensional, angeordnet. Die Zuordnung zu den Pixeln des zweidimensionalen Bildes muss analog zu der bekannten Linearisierung bei der Kompression erfolgen, also z.B. spalten- und zeilenweise von links oben nach unten rechts. Ferner wird wiederum dem entsprechenden Pixel so vieler weiterer Bilder, wie der Zählwert der Ausgangsdateneinheit angibt, der Bildeigenschaftswert zugeordnet. Der vorhergehende Schritt der Zuordnung eines nächsten Bildeigenschaftswertes zu einem und ggf. weiteren Pixeln wird wiederholt, bis alle Ausgangsdateneinheiten des Ausgangsdatensignals abgearbeitet sind. Dann sind alle Bilder vollständig.The decompression task of images is solved by the features of claim 10. It can be provided that first in a memory, in particular a graphics memory or a RAM, space for at least one decompressed image is made available or by the decompression procedure is made available. The output data units of the output data signal, each of which has an image property value and an associated one count have, are processed one after the other in such a way that a first Image property value of a first pixel of a first one to be generated Image and also the corresponding pixel of so many other images is assigned as the count value of the output data unit. This assignment can consist of that the image property value in the above storage space in one for the corresponding pixel intended position is stored. This process is for everyone corresponding pixels of the first image many subsequent image property values of the output data signal repeated. The image property value that is next in the Subsequent output data signal Output data unit becomes the image to be generated from the first seen from the first pixel assigned, which so far has no image property value assigned. The output data units are in the output data signal arranged linearly, i.e. one-dimensionally. The assignment to the pixels The two-dimensional image must be analogous to the known linearization during compression, e.g. in columns and rows from top left to bottom right. Further, in turn, the corresponding pixel as many more pictures as the count of the output data unit indicates the image property value assigned. The previous step the assignment of a next one Image property value for one and possibly further pixels is repeated, until all output data units of the output data signal are processed are. Then all the pictures are complete.
Es kann vorgesehen sein, dass analog zur Kompression für jedes komprimierte Bild ein Datenblock initialisiert wird. In der Regel geschieht die Initialisierung sukzessive, wobei vorzugsweise gleichzeitig maximal so viele Datenblöcke im Arbeitsspeicher sind, wie der Maximalwert des Zählwertes beträgt. Diese Datenblöcke weisen jeweils Speicherplatz für so viele Bildeigenschaftswerte auf, wie jedes Bild Pixel besitzt. In den Datenblöcken ist für jedes Pixel als Speicherplatz eine Dateneinheit vorgesehen, in welcher der Bildeigenschaftswert und ein Zustandswert abgespeichert werden können. Als Zustandswert können insbesondere die Zahlen 0 und 1 vorgesehen sein, wobei an einem Zustandswert von 0 erkannt wird, dass noch kein Bildeigenschaftswert zugeordnet worden ist. Immer dann, wenn ein Bildeigenschaftswert einem Pixel zugeordnet wird, wird der Zustandswert der zugehörigen Dateneinheit erhöht, also insbesondere von anfänglich 0 auf 1.It can be provided that analog for compression for a data block is initialized each compressed image. In the The initialization usually takes place successively, preferably at the same time there is a maximum of as many data blocks in the working memory, like the maximum value of the count value is. This data blocks allocate storage space for so many image property values based on how each image has pixels. In the data blocks is for a data unit is provided as a storage location in each pixel, in which the image property value and a state value are stored can. As a state value can in particular the numbers 0 and 1 may be provided, with one State value of 0 is recognized that no image property value has been assigned. Whenever an image property value is assigned to a pixel, the status value of the associated data unit increased, so especially from the beginning 0 on 1.
Das Verfahren zum Dekomprimieren von Bildern kann insbesondere auf folgende Weise durchgeführt werden. In dem Arbeitsspeicher wird ein Dekompressions-Referenzdatenblock erzeugt. Der Dekompressions-Referenzdatenblock enthält so viele Dekompressions-Referenzdateneinheiten, wie es Pixel pro Bild bzw. Pixelpositionen gibt. Die Ausgangsdateneinheiten des Ausgangsdatensignals, das durch Anwendung des erfindungsgemäßen Kompressionsverfahrens erzeugt worden ist und auch als Eingangssignal des Dekompressionsverfahrens bezeichnet werden könnte, werden nacheinander gelesen und in jeder Dekompressions-Referenzdateneinheit wird eine Referenz zu einer Ausgangsdateneinheit abgespeichert. Hierbei handelt es sich um diejenige Ausgangsdateneinheit, die während des Verfahrensablaufs aktuell für eine Position einander entsprechender Pixel der durch die Dekompression zu erzeugenden Bilder herangezogen wird. Wenn alle Dekompressions-Referenzdateneinheiten eine Referenz aufweisen, also für alle Pixelpositionen eine Ausgangsdateneinheit aktuell zugeordnet ist, werden die Bildeigenschaftswerte der referenzierten Ausgangsdateneinheiten als dekomprimiertes Bild angezeigt und der entsprechende Zählwert der Ausgangsdateneinheit, aus der der Bildeigenschaftswert gelesen wurde, wird um eine Einheit erniedrigt. Falls ein Zählwert dabei einen Initialwert erreicht hat, wird die nächste Ausgangsdateneinheit gelesen und eine Referenz zu dieser in der entsprechenden, zu der bearbeitenden Pixelposition gehörenden Dekompressions-Referenzdateneinheit abgespeichert.The method for decompressing images can in particular be carried out in the following manner. A decompression reference data block is generated in the working memory. The decompression reference data block contains as many decompression reference data units as there are pixels per image or pixel positions. The output data units of the output data signal, which was generated by using the compression method according to the invention and could also be referred to as the input signal of the decompression method, are read in succession and a reference to an output data unit is stored in each decompression reference data unit. This is the output data unit that is currently used for a position of corresponding pixels of the images to be generated by the decompression during the course of the method. If all decompression reference data units have a reference, i.e. an output data unit is currently assigned to all pixel positions, the image property values of the referenced output data units are displayed as a decompressed image and the corresponding count value of the output data unit from which the image property value was read is decreased by one unit. If a count value has reached an initial value, the next output data unit is read and a reference to this in the corresponding decompression associated with the processing pixel position ons reference data unit stored.
Die beiden zuletzt beschriebenen Schritte werden solange wiederholt, bis keine weiteren, noch nicht gelesenen Ausgangsdateneinheiten mehr im Ausgangsdatensignal vorhanden sind. Abschließend wird der obige Schritt des Anzeigens der Bildeigenschaftswerte noch solange wiederholt, bis alle Zählwerte der durch die Dekompressions-Referenzdateneinheiten referenzierten Ausgangsdateneinheiten den Initialwert aufweisen. Dann sind alle dekomprimierten Bilder angezeigt worden.The last two described Steps are repeated until no more, not yet read output data units more in the output data signal are. In conclusion the above step of displaying the image property values while still repeated until all counts those referenced by the decompression reference data units Output data units have the initial value. Then everyone is decompressed images have been displayed.
Wenn ein weiteres Kompressionsverfahren angewandt worden ist, ist entsprechend vorher oder nachher eine entsprechende Dekompression durchzuführen.If another compression method is applied has been, before or after, is a corresponding one Perform decompression.
Die Erfindung betrifft ferner ein Ausgangsdatensignal, welches nach einem der oben beschriebenen Verfahren komprimierte Bilder enthält. Das Ausgangsdatensignal kann in einem Kopfetikett Informationen über die komprimierte Bildfolge enthalten, wie z.B. über die Auflösung der Bilder, die Anzahl der im Ausgangsdatensignal enthaltenen Bilder pro Sekunde, den für die Bildeigenschaftswerte verwendeten Farbraum oder die zusätzlich angewendeten Kompressionsverfahren.The invention further relates to a Output data signal, which according to one of the methods described above contains compressed images. The output data signal can contain information about the contain compressed image sequences, e.g. about the dissolution of the Images, the number of images contained in the output data signal per second for the image property values used color space or additionally used Compression method.
Ferner bezieht sich die Erfindung auf eine Vorrichtung zur Durchführung eines der erfindungsgemäßen Verfahren. Die Vorrichtung, bei der es sich insbesondere um ein Computersystem handeln kann, kann insbesondere Mittel aufweisen, die so ausgelegt sind, dass ein Ausgangsdatensignal erzeugt wird, indem bei einem zeitlich ersten Bild für jedes Pixel der Bildeigenschaftswert in das Ausgangsdatensignal übernommen wird und bei den zeitlich weiteren Bildern für das jeweils entsprechende Pixel nur dann der Bildeigenschaftswert in das Ausgangsdatensignal übernommen wird, wenn er sich gegenüber demjenigen Bildeigenschaftswert geändert hat, der zuletzt für dieses Pixel in das Ausgangsdatensignal übernommen wurde, oder wenn ein Zählwert, der zu jedem übernommenen Bildeigenschaftswert in das Ausgangsdatensignal aufgenom men wird und angibt, in wie vielen unmittelbar aufeinander folgenden Bildern der Bildeigenschaftswert unverändert bleibt, bereits einen Maximalwert erreicht hat.The invention further relates on a device for performing one of the methods according to the invention. The device, in particular a computer system can act, in particular can have means designed in this way are that an output data signal is generated by at a first picture for each pixel the image property value is taken into the output data signal and in the temporally further images for the corresponding one Pixels only then the image property value is adopted in the output data signal will when he faces each other changed the image property value that was last for this Pixel has been adopted in the output data signal, or if a count, the one adopted for everyone Image property value is recorded in the output data signal and specifies in how many immediately consecutive images the image property value remains unchanged, has already reached a maximum value.
Ferner betrifft die Erfindung ein Computerprogramm nach Anspruch 16. Bei der genannten Vorrichtung kann es sich um eine Datenverarbeitungsanlage handeln, auf der das Computerprogramm zur Durchführung des erfindungsgemäßen Verfahrens geladen ist.The invention further relates to a Computer program according to claim 16. In said device it can be a data processing system on which the Computer program for implementation of the method according to the invention loaded is.
Nachfolgend wird die Erfindung anhand eines Ausführungsbeispiel jeweils für das Kompressions- und das Dekompressionsverfahren erläutert, wobei auf die Figuren Bezug genommen wird. Es zeigen:The invention is explained below an embodiment each for explains the compression and decompression process, where reference is made to the figures. Show it:
In
Zunächst wird das Bild 1 der Bildfolge
In dem Datenkompressionsblock
Die beiden in Schritt KS2 im Arbeitsspeicher vorhandenen
Datenkompressionsblöcke
Im dritten Schritt KS3 wird das dritte
Bild 3 eingelesen und ferner diesem Bild ein Datenkompressionsblock
Wenn so viele Datenkompressionsblöcke abgelegt
worden sind, wie es der Zählwert
zulässt, oder
alle Bilder der Bildfolge 4 abgearbeitet worden sind, wird mit der
eigentlichen Kompression begonnen. In dem Schritt KS4 werden die
Datenkompressionseinheiten der Datenkompressionsblöcke
In Schritt KS5 werden diejenigen
Datenkompressionseinheiten
In
Gemäß dem nächsten Schritt DS1 wird die erste
Ausgangsdateneinheit
Da der Datenblock
Als nächstes wird die Ausgangsdateneinheit
Die angezeigten Bilder 11, 12, 13
ergeben eine dekomprimierte Bildfolge 14. Die dekomprimierte Bildfolge
14 unterscheidet sich von der Bildfolge 4 nur in einem Farbwert.
Bei diesem Farbwert handelt es sich um den Farbwert G des vierten
Pixels
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2003101572 DE10301572B4 (en) | 2003-01-16 | 2003-01-16 | Method of compressing a sequence of images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2003101572 DE10301572B4 (en) | 2003-01-16 | 2003-01-16 | Method of compressing a sequence of images |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10301572A1 true DE10301572A1 (en) | 2004-08-05 |
DE10301572B4 DE10301572B4 (en) | 2005-02-03 |
Family
ID=32667632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2003101572 Expired - Fee Related DE10301572B4 (en) | 2003-01-16 | 2003-01-16 | Method of compressing a sequence of images |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10301572B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210218975A1 (en) * | 2017-07-24 | 2021-07-15 | United States Postal Service | Image encryption through dynamic compression code words |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5057917A (en) * | 1990-06-20 | 1991-10-15 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Real-time data compression of broadcast video signals |
US5060242A (en) * | 1989-02-24 | 1991-10-22 | General Electric Company | Non-destructive lossless image coder |
WO2001006794A1 (en) * | 1999-07-20 | 2001-01-25 | Koninklijke Philips Electronics N.V. | Encoding method for the compression of a video sequence |
-
2003
- 2003-01-16 DE DE2003101572 patent/DE10301572B4/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060242A (en) * | 1989-02-24 | 1991-10-22 | General Electric Company | Non-destructive lossless image coder |
US5057917A (en) * | 1990-06-20 | 1991-10-15 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Real-time data compression of broadcast video signals |
WO2001006794A1 (en) * | 1999-07-20 | 2001-01-25 | Koninklijke Philips Electronics N.V. | Encoding method for the compression of a video sequence |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210218975A1 (en) * | 2017-07-24 | 2021-07-15 | United States Postal Service | Image encryption through dynamic compression code words |
US11700385B2 (en) * | 2017-07-24 | 2023-07-11 | United States Postal Services | Image encryption through dynamic compression code words |
Also Published As
Publication number | Publication date |
---|---|
DE10301572B4 (en) | 2005-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69723550T2 (en) | CODING AND DECODING OF GRAPHIC SYMBOLS | |
DE69230704T2 (en) | Method and device for compressing moving video images with adaptive bit allocation and quantization | |
DE3851468T2 (en) | Coding method of image signals. | |
DE69634962T2 (en) | Extrapolation of pixel values of a video object contained in a block | |
DE69609141T2 (en) | INTERACTIVE IMAGE MANIPULATION | |
DE69417778T2 (en) | Device and method for displaying images | |
DE69330157T2 (en) | Device and method for recording video signals | |
DE4339753A1 (en) | Device for compressing and decompressing image data | |
DE19739266B4 (en) | Method and device for coding binary forms | |
DE69521255T2 (en) | METHOD FOR OPERATING AN INTERACTIVE IMAGE DISPLAY SYSTEM AND IMAGE DISPLAY SYSTEM FOR IMPLEMENTING THE METHOD | |
EP1472888B1 (en) | Context-sensitive encoding and decoding of a video data stream | |
EP0821531B1 (en) | Encoding and decoding of trick films | |
DE69833785T2 (en) | COLOR PUNCHING METHOD FOR A DIGITAL VIDEO COMPRESSION SYSTEM | |
EP0985317B1 (en) | Method for coding and decoding a digitalized image | |
EP1116184B1 (en) | Method and array for processing a digitized image with image points | |
DE3545106C2 (en) | ||
DE19524872C1 (en) | Method and arrangement for coding and decoding a video data stream for all picture elements of the video data stream | |
DE10301572B4 (en) | Method of compressing a sequence of images | |
EP0336510B1 (en) | Predictive still-image encoder | |
EP1110407B1 (en) | Method and array for coding and decoding a digitized image using an overall motion vector | |
EP0908056B1 (en) | Computer-assisted process and device for processing the image points of an image segment | |
DE69509421T2 (en) | Shift stage for a decoder of variable length digital codes | |
EP0929975B1 (en) | Method and arrangement for vector quantization and for reverse vector quantization of a digitized image | |
DE69602125T2 (en) | MPEG decoder | |
DE19717453C2 (en) | Method for fading in a new image section at a predetermined location of a data-reduced video data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110802 |