DE10301572B4 - Method of compressing a sequence of images - Google Patents
Method of compressing a sequence of images Download PDFInfo
- Publication number
- DE10301572B4 DE10301572B4 DE2003101572 DE10301572A DE10301572B4 DE 10301572 B4 DE10301572 B4 DE 10301572B4 DE 2003101572 DE2003101572 DE 2003101572 DE 10301572 A DE10301572 A DE 10301572A DE 10301572 B4 DE10301572 B4 DE 10301572B4
- Authority
- DE
- Germany
- Prior art keywords
- image
- value
- pixel
- output data
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
Abstract
Verfahren zum Komprimieren einer zeitlichen Folge (4) einer Anzahl von Bildern (1, 2, 3), welche in Form von elektronischen Datensätzen gegeben sind, wobei die Bilder (1, 2, 3) in eine Anzahl von Pixeln (5) unterteilt sind, denen jeweils ein Bildeigenschaftswert (R, G, G*, S, B, B*, W) zugeordnet ist, dadurch gekennzeichnet, dass mittels einer elektronischen Datenverarbeitungseinheit ein Ausgangsdatensignal (6) erzeugt wird, indem bei einem zeitlich ersten Bild (1) für jedes Pixel (5) der Bildeigenschaftswert (R, G, G*, S, B, B*, W) in das Ausgangsdatensignal (6) übernommen wird und bei den zeitlich weiteren Bildern (2, 3) für das jeweils entsprechende Pixel (5) nur dann der Bildeigenschaftswert (R, G, G*, S, B, B*, W) in das Ausgangsdatensignal (6) übernommen wird, wenn er sich gegenüber demjenigen Bildeigenschaftswert (R, G, G*, S, B, B*, W) geändert hat, der zuletzt für ein entsprechendes Pixel (5) in das Ausgangsdatensignal (6) übernommen wurde, oder wenn ein...method for compressing a temporal sequence (4) of a number of images (1, 2, 3), which are given in the form of electronic records where the images (1, 2, 3) are divided into a number of pixels (5) each having an image property value (R, G, G *, S, B, B *, W), characterized in that by means of an electronic Data processing unit an output data signal (6) is generated, in the case of a temporally first image (1), for each pixel (5), the image property value (R, G, G *, S, B, B *, W) in the output data signal (6) adopted and at the other temporal images (2, 3) for each corresponding pixels (5) only the image property value (R, G, G *, S, B, B *, W) is taken over in the output data signal (6) when it is across from changed the image property value (R, G, G *, S, B, B *, W) the last for a corresponding pixel (5) in the output data signal (6) taken over was, or if a ...
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 The invention relates to a method for compressing a temporal Sequence of a number of images, especially video images the preamble of claim 1 and a decompression method. The image property value contains usually all the information that the appearance of the associated pixel describe.
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 methods for image sequences known. in this connection these are both lossless and lossy ones Compression method. They work very differently Concepts. In some compression methods, each image is compressed on its own, e.g. by transformation coding (method DCT, KLT, DHT u. a.). Other compression methods reduce the data by in the data stream for self similarities Search (fractal compression) or movements of image parts Express vectors and thus save the image part only once (Motion Compensation). Simple reduction of data traffic can also by scalar or vector quantization, truncation or subsampling achieved, but at the cost of higher quality losses. A big Number of compression methods, however, uses lossless compression methods such as entropy coding (RLE, Huffman, Shanon-Fano) or dictionary-based coding (LZW, PKZIP), which she also for other data types, such as text files or executables 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.Mostly Several compression methods are connected in series. There are a number of standards, each one specific combination of compression methods / decompression methods and apply in so-called codecs available put. Depending on the needs of a specific application, the Standards differently 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 procedure results from the different ones Performance features, such as the compression and decompression rate, the achievable compression rates, the supported color and picture formats and of course the quality of the video image in the lossy methods.
Wenngleich die verschiedenen herkömmlichen Kompressionsverfahren nur schwer zu vergleichen sind, da sie sich sowohl in ihren Leistungsmerkmalen, als auch in ihrem Ressourcenbedarf (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 different conventional ones Compression methods are difficult to compare since they are both in their features and in their resource requirements (Storage space, computing power) differ significantly, is common to them in common that they are the data of each picture or of each other edit the following images linearly or sequentially. It will Although relatively little memory of a used data processing system needed, however is usually a high computing power for compression or decompression the image data required. This is especially the case if a relatively high compression rate with only minor quality losses 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.Of the The invention is therefore based on the object, a generic compression method to disposal to make that a high compression rate at the same time low quality losses allows. Furthermore, the invention has for its object to provide a corresponding Method for decompressing a method using the compression method according to the invention received output data signal and a device for carrying out the Provide procedure.
Die Aufgabe bezüglich des Kompressionsverfahrens wird durch die Merkmale des Anspruchs 1 gelöst.The Task regarding of the compression method is characterized by the features of the claim 1 solved.
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.at a temporally first image is for each pixel (pixel) of Image property value adopted in the output data signal. At the time follow the Pictures, however, will be for the respective pixel, the corresponding pixel of the temporally first image corresponds, only in two cases the image property value is taken over into the output data signal. On the one hand, this happens when the image property value is opposite to that Image property value changed has, who last for taken over a corresponding pixel in the output data signal has been. In doing so, each image property value that has been taken over into the output data signal becomes is, a count recorded in the output data signal, indicating in how many immediately following images of the image property value unchanged remains. On the other hand, the image property value also becomes in the Output data signal taken over, if the count, the one for the last one for an appropriate pixel inherited image property value has already been recorded in the output data signal Maximum value has reached. The output data signal is sent by means of a generated electronic data processing unit.
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.Preferably, the image sequence to be compressed is present in time-continuous form, that is to say with a certain number of images per second. All images in the image sequence have the same number of columns and rows. Preferably, an order is set in which the pixels in each of the images of the image sequence are processed, eg column by row and line by line from 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.at the compression method according to the invention, categorized as so-called interframe compression method Data redundancies will be relative to one of the position same pixel in the temporal sequence of the number of images away. Only image information that is stored will be saved change with respect to each other corresponding pixels within the image sequence. It This exploits the fact that the color value or also the brightness value of a single pixel in a typical Image sequence over several, time-sequential single images often over long periods even not or only minimally changes. A quality loss occurs when there is a relatively small difference in image property values negligible corresponding pixels, i. the image property value as unchanged Is accepted. Whether two image property values are different or are the same, can by means of a corresponding mathematical condition or function are determined. This can be a threshold as a criterion for the Distinguishing the image property values are chosen, as detailed below is described. Depending on the choice of the threshold value falls loss of quality higher or lower out. A threshold of zero causes 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 Method provides improvements over the known methods. Especially the loss of detail information, as e.g. at common to the common methods of transform coding, so-called artifact or Block formations are avoided in the method according to the invention. One 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 the method according to the invention is basically these days at the disposal stationary 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 inventive method can be used in particular for the compression of video images. The fact that the flow of information in the data stream temporally do not jump, let the procedure for Streaming appear appropriate. Especially if the data is about a Network, it is advisable to use other standard mechanisms for error checking or error correction, e.g. keyframes explained below at regular intervals, thereby 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 inventive method can be done in the following way The first image is stored in a working memory of the data processing unit read in, and the image becomes a first data compression block in memory assigned. The data compression block has storage for so many Data compression units 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 then becomes increased by one unit, when an image attribute 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.Subsequently, will the next one Picture is read as the second picture in the main memory and with the first data compression block compared pixel by pixel. It will determines whether a read in image property value of second image of the one 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 in memory is allocated in the event that is the read image attribute value does not depend on the image attribute value of the corresponding pixel in the first data compression block, the image attribute value stored in the first data compression block of the pixel. In this case, further, the count value in the associated Data compression unit left on the initial value or on this 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 read-in image property value of the second image from the stored image property value of the corresponding one Pixels of the first image is in the second data compression block the read image characteristic value of the pixel of the second image stored and counted the value saved from the increase of the Initial value 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 other images are successively read into the main memory, in each case only the currently edited image must be stored in the main memory. Each further image read in turn is assigned a data compression block. The data compression blocks remain stored in the working memory as long as they are required for processing newly scanned images, ie as long as no more images have been read in than the maximum specifies possible count value. Each further input image is compared pixel by pixel with the data compression block of the respectively immediately preceding read-in image whether the read image characteristic value of a pixel of the further image differs from the image property value of the corresponding pixel of the preceding image stored in the data compression block. In the event that the read-in 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 or set to the initial value. Further, in that of all previous data compression blocks, which is the first to have a count different from the initial value in the corresponding data compression unit, the count value is incremented by one unit. On the other hand, in the case that the read-in image characteristic value differs from the stored image characteristic value of the previous image, the read-in image characteristic 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 image characteristic value Initial value by one unit. In the event that a count has already reached the maximum possible value, the initial value of the count value in the current data compression block for the current pixel must be increased by one unit.
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 this as many pictures have been read and edited as through the maximum count is predetermined, all data compression units of the first Data compression blocks as part of a data signal sequentially strung together. Here, e.g. the usual linearization of two-dimensional Pictures, namely Column and line by line from top left to bottom right, applied become. After reading and editing another image can another data compression block also sequentially together in line with the data signal. So can be continuous be moved. In the data signal, the data compression units become removed, which as a count have the initial value. The thus obtained output data signal, which can also be considered as output data stream draws by including image property values which exist unchanged in a series of consecutive images. How many pictures it is, by the always of the initial value different count value specified. In this way you can save storage space would be required if for each pixel of each image is stored one image property value each 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.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 Pixels of that previous image is compared in which the image property value has last changed. The comparison used image property value is in the corresponding, temporally nearest, previously stored data compression block, one of the 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 be provided. In this way it is achieved that you get the picture property value a scanned image does not match the image property values of those previous data compression units where the count is equal to the initial value. According to claim 2 may preferably be provided that in another Data compression block of another image no image property value is stored when the read image property value not from the stored image property value of the corresponding one Pixels in the data compression block distinguishes which one in chronological order the first one has a count different from the initial value. If not Image property value contains the corresponding data compression unit Further, data compression block only the count value that is at the initial value is set. In this way, the computing speed can continue elevated become. If, however, the imported image property value from the stored image property value of the corresponding one Pixels in the data compression block distinguishes which one in chronological order the first one has a count different from the initial value, or if the count 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 be stored.
Als die oben angesprochenen Keyframes können bestimmte Datenkompressionsblöcke verwendet werden.When the keyframes mentioned above can use certain data compression blocks become.
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 may alternatively be carried out in the following manner. The first image is read into a working memory of the data processing unit. For each pixel of the first image of the image sequence, an output data unit is generated in the output data signal. In this output data unit, the read-in image characteristic value of the pixel and the count value that is one unit above an initial value are stored chert. In addition, a reference data block is generated in the working memory having storage space for a reference to the output data unit for each pixel. As with a pointer or an index, this reference is information for identifying an output data unit which is currently assigned to the pixel position, ie the corresponding pixels of the individual images. The reference is stored in a reference data unit of the reference data block. Accordingly, the reference data block has as many reference data units as there are pixels per image.
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 another image is read into the main memory. In appropriate chronological order, the other images are processed, so starting with the second picture. For each additional image is pixel-by-pixel the image property value read a pixel having the image attribute value of that output data unit compared by the reference data unit associated with the pixel position is referenced. When the second image is edited, this is the output data unit in which the pixel property value to the pixel position the first picture is stored. If the third or another Image is being processed has the reference to the output data unit, in the last pixel property value associated with the pixel position has been stored. This image property value is it is, so to speak, the "newest" image property value.
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 do not differ and the count 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, this means, if the two image property values are different or if the count already reached the maximum value, becomes another output data unit attached to the output data signal. The count the other output data unit is on the one unit above the Initial value lying value and set the image property value will be on the image property value read in with the other image of the pixel. In the associated Reference data unit is then a current reference to the other output data unit, preferably with override the previous reference, saved.
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 are processed. Then, preferably, all the reference data units become deleted in the reference data block.
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 during the compression steps Output data units saved on a nonvolatile data carrier become. Namely, an output data unit can be obtained in this way be backed up at the time where they are not protected by a reference data unit is referenced, that is, if not for her anymore an image property value comparison must be referenced.
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.at the image property value can be a color value. This color value can be obtained 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 is different. There must be an appropriate number of bits for digital storage a color value for every single pixel needed will be available be put. In the RGB color space, e.g. a total of 24 bits for each Pixel needed, namely each one 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.at the image property value may also be a pure brightness value or a value in which the brightness is received act. Thus, e.g. Brightness values are also taken into account in the RGB color space.
Vorzugsweise ist vorgesehen, dass der Initialwert null ist und eine Einheit den Wert eins hat.Preferably is provided that the initial value is zero and a unit the Value one has.
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 already mentioned above, can be used as a criterion for the discrimination of image property values uses a threshold which is 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 thus 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 of a Each data compression unit may have one byte of storage for a maximum value be provided by 256. It can then be a succession of 256 consecutive following data compression blocks detected with the same image property value of the respective pixel become. For example, you can four bytes for be provided each data compression unit, namely a byte for the count 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 to dynamically manage the memory in memory so that the memory requirements can be adapted to the requirements. It is thus possible to manage the main memory as a function of the storage space required due to the desired color resolution and image resolution. The color resolution depends on the threshold value described above. For this purpose, in the two embodiments described first, the main memory is subdivided into the individual data compression units, wherein each data compression unit contains the information for exactly one pixel, namely at least the count value and the image attribute value. In order to allow the sequential access to the pixels, these data compression units can additionally receive a pointer to the next pixel in the working memory. Since in the compression on the data compression units of previous data compression blocks must be used, still another pointer to the current pixel in each immediately preceding data compression block may be useful or alternatively to the pixel in one of the preceding data compression blocks, which changed last with respect to the count Has. The interlinked data compression units can be arranged in a ring memory. In such a memory, the data compression blocks are connected to pointers such that the last data compression block in memory has as its logical successor the first data compression block. When using a ring memory, pointer calculations during compression or decompression described below are 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.at Compression does not require elaborate mathematical procedures for use. For calculating the color difference of two pixels as well as for Adjustment of the counts range e.g. in the RGB color space some additions and subtractions. Besides that is the inventive method strongly parallelizable, because the processing of a pixel of a Picture is independent from editing all other pixels. Thus, in the best case, all the pixels of one Image to be edited simultaneously. For these two reasons appears an implementation of the method in the form of hardware in particular suitable and promises enormous processing speed at relatively low Computational effort. This results in concrete advantages over conventional ones Compression method, namely low complexity the necessary CPU / ALU and a high execution speed. Thereby For example, power can be saved when used in mobile devices, e.g. in a digital video camera, a laptop, communicator, mobile 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 obtained output data signal may be another compression method be subjected to e.g. one of the known entropy compression method (LZ, Huffmann, and others) or an arithmetic coding. Also the methods used by many standards, such as subsampling or Quantization promise further compression of the output data signal, however in connection with further quality losses. There are many More options the combination of compression methods conceivable.
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 The task of decompressing images is done by the Characteristics of claim 10 solved. It can be provided that initially in a memory, in particular a graphics memory or memory, storage space for at least a decompressed image is provided by the decompression method is provided. The output data units the output data signal, each having an image property value and an associated one count are sequentially processed such that a first Image property value of a first pixel of a first to be generated Picture and also the corresponding pixel of so many other pictures is assigned as the count value indicates the output data unit. This assignment can be that the image property value in the above storage space in a for the corresponding pixel provided position is stored. This process will be for everyone further pixels of the first image, using as appropriate many subsequent image characteristic values of the output data signal repeated. The image property value is then next in the Output data signal subsequent Output data unit becomes that of the first image to be generated from the first pixel associated, which so far no image property value assigned. The output data units are in the output data signal linear, ie one-dimensional, arranged. The assignment to the pixels of the two-dimensional image must be analogous to the known linearization during compression, e.g. in columns and lines from top left to bottom right. Further, in turn, the corresponding pixel so many more pictures, like the count of the output data unit indicates the image property value assigned. The previous step the assignment of a next Image property value to one and possibly further pixels is repeated, until all output data units of the output data signal have been processed are. Then all 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 a data block is initialized analogously to the compression for each compressed picture. In general, the initialization is done successively, preferably at the same time as many data blocks are in the main memory, as the maximum value of the count is. These data blocks each have storage space for as many image property values as each image has pixels. In the data blocks, a data unit is provided for each pixel as storage space in which the image property value and a state value can be stored. As condition value In particular, the numbers 0 and 1 can be provided, it being recognized at a status value of 0 that no image property value has yet been assigned. Whenever an image property value is assigned to a pixel, the state value of the associated data unit is increased, ie in particular from 0 initially to 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 A method for decompressing images may be applied in particular to the following Manner performed become. The main memory becomes a decompression reference data block generated. The decompression reference data block contains so many decompression reference data units, as there are pixels per image or pixel positions. The output data units the output data signal, by applying the compression method according to the invention has been generated and also as an input signal of the decompression method could be designated are read sequentially and in each decompression reference data unit a reference to an output data unit is stored. This is the output data unit that was used during the Procedure currently for a position of corresponding pixels of the decompression is used for generating images. If all decompression reference data units have a reference, so for all pixel positions currently associated with an output data unit is, the image property values of the referenced output data units become displayed as decompressed image and the corresponding count of the Output data unit from which the image property value was read, is lowered by one unit. If a count value has an initial value has reached, the next will Output data unit read and a reference to this in the corresponding decompression reference data unit associated with the processing pixel position 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 both last steps are repeated as long as to no further, not yet read output data units more are present in the output data signal. Finally, it will the above step of displaying the image property values still exists repeated until all counts that are 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 has been used is appropriate before or after to perform a corresponding decompression.
Die Erfindung betrifft ferner die Verwendung eines der oben beschriebenen Verfahren zur Erzeugung eines komprimierte Bilder enthaltenden Ausgangsdatensignals. 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 The invention further relates to the use of one of the above-described A method for generating a compressed image containing output data signal. The output data signal may be in a header label information about the contain compressed image sequence, such as about the resolution of Pictures, the number of pictures contained in the output data signal per second, the for the image property values used color space or the additionally applied 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.Further The invention relates to an apparatus for performing a the inventive method. The device, which is in particular a computer system may in particular have means that are designed so are that an output data signal is generated by a temporally first picture for each pixel inherits the image property value into the output data signal and in the temporally more images for each corresponding Pixel only the image property value is taken over into the output data signal when he faces has changed that image property value last for this Pixel has been taken over in the output data signal, or if a count, the one inherited to each Image Property Value is included in the output data signal and indicates in how many consecutive pictures the image property value remains unchanged 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.Further The invention relates to a computer program according to claim 16 said device may be a data processing system act, loaded on the computer program for carrying out the method according to the invention 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:following the invention is based on an embodiment for the compression and the decompression method is explained, with reference to FIGS Reference is made. Show it:
In
Zunächst wird
das Bild
In
dem Datenkompressionsblock
Die
beiden in Schritt KS2 im Arbeitsspeicher vorhandenen Datenkompressionsblöcke
Im
dritten Schritt KS3 wird das dritte Bild
Wenn
so viele Datenkompressionsblöcke abgelegt
worden sind, wie es der Zählwert
zulässt, oder
alle Bilder der Bildfolge
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
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 DE10301572A1 (en) | 2004-08-05 |
DE10301572B4 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10757425B2 (en) * | 2017-07-24 | 2020-08-25 | 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 |
Also Published As
Publication number | Publication date |
---|---|
DE10301572A1 (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69723550T2 (en) | CODING AND DECODING OF GRAPHIC SYMBOLS | |
DE69634962T2 (en) | Extrapolation of pixel values of a video object contained in a block | |
DE69831961T2 (en) | IMAGE OBJECT PROCESSING FOR OBJECT-BASED CODING SYSTEMS USING MASKS AND ROUNDED MEDIUM VALUES | |
DE19983253B4 (en) | The compression of color images based on a two-dimensional discrete wavelet transform that produces a seemingly lossless image | |
DE4339753C2 (en) | Device for compressing and decompressing image data | |
DE69833085T2 (en) | Method and apparatus for reversible color conversion | |
DE69629715T2 (en) | DATA COMPRESSION | |
DE19739266B4 (en) | Method and device for coding binary forms | |
DE60203850T2 (en) | System and method for processing images with demosaiced structure to reduce artifacts caused by color aliasing. | |
DE19743202B4 (en) | Method for coding a motion vector | |
DE19919600A1 (en) | Image data compression device for rapid image data transmission and efficient image data recording | |
DE69820148T2 (en) | Process for compression / decompression of image data | |
WO2017162835A1 (en) | Data compression by means of adaptive subsampling | |
DE60107149T2 (en) | Digital image output device | |
DE10204617A1 (en) | Methods and devices for compressing and decompressing a video data stream | |
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) | ||
DE10301572B4 (en) | Method of compressing a sequence of images | |
DE19524872C1 (en) | Method and arrangement for coding and decoding a video data stream for all picture elements of the video data stream | |
EP0336510B1 (en) | Predictive still-image encoder | |
EP0908056B1 (en) | Computer-assisted process and device for processing the image points of an image segment | |
EP1110407B1 (en) | Method and array for coding and decoding a digitized image using an overall motion vector | |
EP0241745B1 (en) | Method for the data reduction of digital picture signals by vector quantization of coefficients obtained by orthonormal transformation by means of a symmetrical, nearly cyclical hadamard matrix |
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 |