WO2000069179A1 - Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten - Google Patents

Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten Download PDF

Info

Publication number
WO2000069179A1
WO2000069179A1 PCT/DE2000/001411 DE0001411W WO0069179A1 WO 2000069179 A1 WO2000069179 A1 WO 2000069179A1 DE 0001411 W DE0001411 W DE 0001411W WO 0069179 A1 WO0069179 A1 WO 0069179A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data elements
stored
sequence
area
Prior art date
Application number
PCT/DE2000/001411
Other languages
English (en)
French (fr)
Inventor
Ansgar Meroth
Thomas Geisler
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to EP00941903A priority Critical patent/EP1186175B1/de
Priority to US10/031,631 priority patent/US6737991B1/en
Priority to AU56716/00A priority patent/AU5671600A/en
Priority to JP2000617654A priority patent/JP2002544724A/ja
Priority to DE50001243T priority patent/DE50001243D1/de
Publication of WO2000069179A1 publication Critical patent/WO2000069179A1/de

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

Definitions

  • the invention is based on a method for compressing data according to the type of the main claim.
  • RLE method run-length encoding method
  • the disadvantage of this method is that the memory space requirement doubles for individual bytes with a value between 64 and 255.
  • compression according to the RLE method can therefore make the required storage space larger after compression than before compression.
  • the Lempel-Ziv algorithm for data compression is also known, in which a data sequence to be compressed is examined for repetitions of partial sequences, repetitive elements are stored in a code table and a replacement of the Sub-sequences are made by an assigned code character. A table of unknown size must be created for the decomposition.
  • the method according to the invention with the features of the main claim has the advantage over the fact that the information as to whether a data element is stored compressed or uncompressed is stored in a further, additional data element. This makes it possible to apply the compression method according to the invention for all data elements regardless of their value, since no additional compression information has to be recorded for the individual data elements themselves. It is also advantageous to make the compression dependent on previous and subsequent data elements, since this enables particularly effective compression.
  • Repetition factor can be stored in the manner according to the invention.
  • the repetition factor can assume a maximum value of the data element, since the information as to whether the data element is stored compressed or uncompressed is stored in another data element.
  • graphics that require a great deal of storage space can also be broken down into m data packets, the size of which, for example, is optimally adapted to the sector size of a data carrier or the data packet size for transmission via an interface or via the Internet, for example by e-mail.
  • the decomposition method has the advantage that the data elements stored in a first area contain information about which of the data elements stored in the second area are compressed or uncompressed. Compared to the prior art, this makes it easier to process the data, since e.g. With the RLE method for PCX files, such a separation is not possible and the information as to whether a data element is stored compressed or uncompressed is stored directly with this data element.
  • the fast and space-saving decompression method makes it possible to read out the information stored in a storage unit, for example the storage unit being part of the computing unit, by means of a decompression unit and using the
  • a particularly advantageous use is to provide the decompression device for a freely programmable instrument cluster in a motor vehicle. Because in particular for the instrument display in a motor vehicle must for reasons of
  • a graphic representation with the simplest possible structure can be selected for clarity. Due to this simple structure of the image data to be displayed, repetitions of the same image elements and thus also repetitions of the same data elements are particularly frequent.
  • Compression and decompression processes can therefore be used particularly efficiently. As a result, both the storage space requirement and the resulting costs for a freely programmable instrument cluster can be reduced. Furthermore, relatively slow memories are generally used for storing images in a freely programmable instrument cluster. However, the memory access time has a significantly less effect on highly compressed images than on images that are stored uncompressed. Compressed images can therefore be displayed faster with a sufficiently high computing power with a slow memory than uncompressed images, since a larger memory area is required for them.
  • FIG. 1 shows a structure of a data packet according to the invention
  • FIG. 2 shows an embodiment of a data packet according to the invention
  • FIG. 3 shows an inventive device for decompression with a connected display device and a computing unit
  • FIG. 4 shows an inventive method sequence for compressing a sequence of data elements, to decompress a data packet.
  • FIG. 1 shows a data packet 10 which contains compressed data in the manner according to the invention.
  • the execution of the data packet in FIG. 1 is an example of the structure of a stored data packet 10.
  • the data packet 10 has a first area 11 and a second area 12.
  • the second area 12 consists of at least one word 13.
  • a word 13 consists of a first data element 14 and a second data element 24.
  • a word 13 with two data elements 14 and 24 was highlighted in the second area 12.
  • the first area 11 also consists of a word with two data elements.
  • the data elements can be divided into basic elements.
  • 1 shows a data element 20 broken down into a plurality of individual basic elements 15.
  • a basic element 15 is highlighted in the drawing by a dashed frame.
  • Each basic element 15 of the data elements in the first area 11 is uniquely assigned to a word 13 in the second area 12.
  • three assignments 16, 17 and 18 between basic elements in the first area 11 and words in the second area 12 are shown by way of example. The assignment is explained on the basis of the highlighted basic element 15 and the highlighted word 13: depending on the value of the basic element 15, the associated word 13 is present in compressed or uncompressed form.
  • the two data elements 14, 24 of the associated word 13 are uncompressed data elements of a sequence of data elements that is originally to be compressed. If, on the other hand, the word 13 is compressed, the associated first data element 14 contains a repetition factor for how often the second data element 24 is to be repeated in the case of a decompression which has the aim of restoring the original data sequence.
  • the data elements in the first area 11 and the second area 12 are preferably of the same type and have the same size. However, this is not necessary.
  • the data elements in the second area can be divided into a different type Have basic elements when it takes place in the first region 11.
  • FIG. 2 shows a data packet 100 which represents a special implementation of the data packet 10 from FIG. 1.
  • the data packet has a first area 110 and a second area 120.
  • the first area 110 and the second area 120 each consist of words of the same type, which in turn each consist of two data elements.
  • the data elements belonging to a word are arranged side by side in the figure.
  • Each data element consists of eight bits. Each bit can either have a value "0" or a value "1".
  • the first area 110 comprises exactly one word in the exemplary embodiment.
  • the second area comprises 16 words, not all of which are shown in the figure for reasons of clarity.
  • the bits in the first area 110 are given the designations K1 to K16, the bits in the second area are given the designations between D101 to D1616 if their value is not explicitly stated.
  • the last two digits of the designations D101 to D1616 refer to an assignment to one of the bits K1 to K16.
  • the value of these bits can be either "1" or "0".
  • a first basic element 111 in the first area 110 with an associated first word 121 with a first data element 1211 and a second data element 1212 in the second area 120 are explicitly specified.
  • a second basic element 112 is explicitly specified in the first area with an associated second word 122 from the second area 120 with a first data element 1221 and a second data element 1222.
  • the individual bits of a data element can be individual digits of one Dual number can be interpreted.
  • the number 33 can thus obviously be assigned to the second data element 1222. It is also possible, for example, to assign a character or screen character to this number again, for example using the ASCII code, the ANSI code or any other code.
  • the basic element 111 now has the value zero in the first region 110. In the selected embodiment, this means that the associated word 121 is to be understood as uncompressed. This means that data elements 1211 and 1212 are not compressed.
  • the data element 1211 with the value 1 or 00000001 is first added as a binary number to the data sequence created up to this point in time.
  • the data element 1212 with the value 255 or 11111111 is then added as a binary number to the data sequence previously created.
  • the second basic element 112 has the value 1. Therefore, the second word 122 is to be understood as compressed.
  • the second data element 1222 specifies the repetition factor for the first data element 1221. Since the second data element 1222 is assigned the value 33, this means that the first data element 1221 has to be appended 33 times to the partial sequence already created when the data is decompressed.
  • the basic element designated K6 in the first area 110 and the associated word (not shown in the drawing) is then continued until the data packet has been completely processed and the original data sequence has been restored. It is also possible to consider the first data element 1221 as a repetition factor for the second data element 1222. This must be clearly defined before compression or decompression.
  • FIG. 3 shows a device for decompression 30, with which the method according to the invention can be carried out, in connection with a computing unit 31, a memory 34, an image memory 32 and a display unit 33.
  • This selected exemplary embodiment can preferably be used in a motor vehicle and is used in particular to display operating data of the vehicle.
  • the computing unit 31 for example, the engine speed, the cooling water temperature and / or the sensors and measuring instruments not shown
  • the computing unit now causes e.g. the output of a display image of a tachometer, which corresponds to the vehicle speed determined by the sensors.
  • the output is carried out in such a way that the decompression unit 30 receives the instruction from the computing unit 31 to decompress the corresponding image from the memory 34 and m to store the image memory 32.
  • the image memory 32 is queried by the display unit 33 at predetermined time intervals, the m being stored in the image memory 32
  • Image data are displayed in the display unit 33.
  • the display 33 is preferably one
  • Liquid crystal display can also be a CRT (Cathod Ray Tube) or an FED (Field Emission Display).
  • the image memory 32 is preferably a volatile memory
  • the memory 34 is a non-volatile memory, for example a semiconductor device with permanently stored data or a magnetic and / or optical data carrier.
  • the decompression device 30 is preferably as a semiconductor device or as part of one Semiconductor building systems executed with a permanently stored program. The execution can take place both as a microcontroller and as a microprocessor.
  • FIG. 4 shows a method according to the invention for compressing the data from a data sequence.
  • the method is initialized and the data sequence is transferred for processing.
  • the data sequence is in a form in which a clear sequence of the data elements is specified.
  • a new, first area of a data packet is initialized.
  • a first data element of the data sequence is defined as a current data element.
  • a first basic element m is defined as the current basic element in the first area of the new data packet.
  • method step 63 the basic elements m not yet assigned a value are assigned the value 1 in the first area.
  • the words belonging to these basic elements are assigned the value zero and the second data element the value 255, the first data element in which the repetition factor for the second data element is stored.
  • a final step 65 the method is ended and the data packet 10 now created is saved.
  • the assignment in method step 64 is selected in such a way that the corresponding data elements are marked as compressed and the data element, which corresponds to the value 255, is repeated zero times.
  • any value can also be selected for the second data element, since this data element does not appear when the data sequence is decompressed. For example, in the last word of the last data packet of a compressed data sequence, the total number of data packets that make up the image can be stored at this point.
  • the method branch designated m t n is continued.
  • the value 1 is now assigned to a compression counter.
  • the compression counter is used to record the number of times an element of the data sequence is repeated in succession.
  • a subsequent, second decision step 67 it is checked whether the current data element is equal to a next data element m in the data sequence. If this is the case, then the branch of the method which is denoted by y is branched to a subsequent, third decision step 68. In the third decision step 68 it is checked whether the compression counter is less than 255. If this is the case, the method branch denoted by y is followed up and in a subsequent, fourth
  • Decision step 69 checks whether the next but one data element in the data sequence is the last data element in the data sequence. If this is not the case, then from the fourth decision step 69, a transition is made to the method branch designated by n with a method step 70. In method step 70, the compression counter is increased by 1. Furthermore, in a subsequent
  • Method step 71 defines the next data element of the data sequence as the current data element. After that it will Proceeded with the second decision step 67.
  • step 67 is the next one following the current data element in the data sequence
  • the method is continued with a fifth decision step 72.
  • the fifth decision step 72 it is checked whether the
  • Compression counter has a value greater than 1. If this is the case, the current basic element in the first area of the data packet is assigned the value 1 in a method step 73. In a subsequent method step 74, the value of the compression counter in the first data element and in the second data element of the associated word the current data element from the data sequence are stored in the word belonging to the basic element in the second area of the data packet. The program then branches to a sixth decision step 78. If the compression counter has no value greater than 1, the fifth basic step 72 stores the current basic element in a method step 75 with the value 0. In a next method step 76, the current data element of the data sequence is stored in the first data element of the word belonging to the basic element stored in method step 75.
  • next data element of the data sequence is stored in the second data element of the same word.
  • data element after next is selected as the current data element.
  • the process also branches to the sixth decision step 78.
  • the sixth decision step 78 is also reached when it is determined in the fourth decision step 69 that the next but one data element is the last in the data sequence, starting from the current data element.
  • the current basic element in the first area of the data packet is first set to the value 1 in a method step 81.
  • a method step 82 following this method step 81 before the sixth is reached
  • Decision step 78 stores the value 1 in the associated word in the first data element and the data element of the data sequence to be stored in the second data element.
  • the program then branches to the sixth decision step 78, in which it is checked whether the data packet is now completely filled. If this is not the case, method branch n is selected and a branch is made to a method step 79 in which the next basic element following the current basic element is defined as the current basic element in the first area of the data packet. The method then branches to method step 66. If, on the other hand, it is determined in the sixth decision step 78 that the data packet is completely filled, the process branch y is followed and in a step 80 the entire data packet is stored. The method then branches to step 61 and fills a next data packet.
  • FIG. 5 shows an inventive method for
  • a data packet shown.
  • the method is initialized and a data packet is transferred.
  • the first area of the data packet is stored in a memory of the decompression unit is copied or a reference is made to the first area of the data packet, which is stored in the memory 34.
  • an index number is set to zero. Each value of the index number that is greater than zero is assigned a data element m to the first area of the data packet
  • the basic element that corresponds to the value of the index payer is the current data element.
  • the index payer is increased by 1.
  • a subsequent method step 43 the basic element belonging to the current value of the index counter from the first area of the data packet and the associated word, i.e. the two data elements of the word, are copied into the memory if such a basic element or word exists, the memory is advantageously assigned to the decompression device 30.
  • a subsequent first decision step 44 it is checked whether the index payer has exceeded the maximum number of basic elements per data element. If this is the case, then the method branch denoted by y is branched to a second decision step 50. It is checked here whether further data packets are present. This can be done, for example, by a reference to the following data packet attached to each data packet in the event that such a data packet is present.
  • a reference to an empty data packet is also possible. If there is an additional data packet, the process branches back to the second method step 41 (method branch y from the second decision step 50). If there is no further data packet, then from the second decision step 50, a branch is made to the method branch denoted n to a final step 51.
  • the data sequence is thus completely decompressed and is available in a buffer. If the data sequence represents a compressed image, see above this buffer is the image memory 32 of the display unit 33.
  • the method branch designated by n is followed from there to a third decision step 45.
  • this third decision step 45 it is checked which value the current basic element has.
  • a branch is made to a method step 46 in the method branch designated by n.
  • the first data element of the word belonging to the current basic element is understood as an element of the originally compressed sequence and added to a partial sequence decompressed up to this point. If the data elements relate to image data, the first data element of the word belonging to the basic element is thus copied into the image memory 32 of the display unit.
  • An assignment address for the image memory is subsequently increased in a method step 47, so that subsequent data elements are written into the image memory at a subsequent location.
  • a subsequent method step 48 the second data element of the word belonging to the current basic element is copied into the image memory.
  • the assignment address for the image memory 32 is then likewise increased again in a method step 49.
  • the method is then continued with the second method step 42. If it is determined in the third decision step 45 that the current basic element has the value 1, a branch is made to the method branch denoted by y to a method step 52. In this method step 52, a counter variable is the value of the first data element to the assigned to the current basic element. In a subsequent fourth decision step 53, it is checked whether the count variable has the value zero.
  • the method branch denoted by y is continued and, just like after method step 49, the method is continued with the third method step 42. If the count variable has a value not equal to zero, the fourth branch 53 continues the method branch denoted by n.
  • a method step 54 the second data element of the word belonging to the basic element is copied into the image memory.
  • a subsequent method step 55 the assignment address of the image memory 32 is increased.
  • the counter variable is decreased by 1. The method is then continued with the fourth decision step 53.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Es wird ein Verfahren zur Komprimierung einer Folge von Datenelementen und zu deren Dekomprimierung vorgeschlagen, das zur verlustfreien und speicherplatzsparenden Komprimierung dient. Dabei werden die Datenelemente in Abhängigkeit von der Korrelation mit in der Folge der Datenelemente vorhergehenden und nachfolgenden Datenelementen komprimiert oder unkomprimiert abgelegt. Insbesondere wird das Verfahren für die Anzeige in einem frei programmierbaren Kombiinstrument in einem Kraftfahrzeug verwendet. Die zu komprimierenden Daten sind dabei insbesondere Bilddaten.

Description

Verfahren zur Komprimierung und Dekomprimierung von Daten und Vorrichtung
Stand der Technik
Die Erfindung geht aus von einem Verfahren zur Komprimierung von Daten nach der Gattung des Hauptanspruchs . Mit dem Run- Length-Encoding-Verfahren (RLE-Verfahren) ist bereits ein
Verfahren zur Komprimierung von Daten bekannt, bei dem kein Datenverlust auftritt. Dieses Verfahren wird z.B. bei sogenannten PCX-Dateien verwendet. Gegenstand des Verfahrens ist es, sich wiederholende Datenelemente zusammenzufassen und mit der Anzahl der Wiederholungen zu speichern. Sind die Datenelemente Bytes aus acht Bits, so erfolgt die Komprimierung in der Weise, daß Bytes, die sich nicht wiederholen, bis zu einem Wert von 63 unkomprimiert gespeichert werden, wobei die obersten beiden Bits den Wert 0 besitzen müssen. Bytes mit dem Wert zwischen 64 und 255, sowie Bytes zwischen 0 und 63, die sich wiederholen, werden kodiert in einem Datenelement aus zwei Bytes gespeichert. In dem ersten Byte sind in diesem Fall die obersten beiden Bits eins gesetzt . Die folgenden Bits geben den Wiederholungsfaktor für das zweite Byte an. Bei diesem
Verfahren ist es nachteilig, daß sich für einzelne Bytes mit einem Wert zwischen 64 und 255 der Speicherplatzbedarf verdoppelt. In einem ungünstigen Fall kann durch die Komprimierung nach dem RLE-Verfahren somit der benötigte Speicherplatz nach der Komprimierung größer sein als vor der Komprimierung. Ferner ist für eine Datenkomprimierung noch der Lempel-Ziv Algorithmus bekannt, bei dem eine zu komprimierende Datenfolge auf Wiederholungen von Teilfolgen hin untersucht wird, sich wiederholende Elemente in einer Codetabelle gespeichert werden und eine Ersetzung der Teilfolgen durch ein zugewiesenes Codezeichen erfolgt. Zur Dekompπmierung muß eine Tabelle unbekannter Größe angelegt werden .
Vorteile der Erfindung
Das erfindungsgemäße Verfahren mit den Merkmalen des Hauptanspruchs hat dem gegenüber den Vorteil, daß die Information, ob ein Datenelement komprimiert oder unkomprimiert abgespeichert ist, m einem weiteren, zusätzlichen Datenelement gespeichert wird. Hierdurch ist es möglich, das erfindungsgemäße Komprimierverfahren für alle Datenelemente unabhängig von ihrem Wert anzuwenden, da m die einzelnen Datenelemente selbst keine zusätzliche Komprimierungsinformation aufgenommen werden muß. Ferner ist es von Vorteil, die Komprimierung von vorhergehenden und nachfolgenden Datenelementen abhängig zu gestalten, da hierdurch eine besonders effektive Komprimierung möglich ist .
Durch die m den Unteransprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im Hauptanspruch angegebenen Verfahrens möglich. Besonders vorteilhaft ist es, daß mehrfach aufeinanderfolgende, gleiche Datenelemente gezählt und mit einem
Wiederholungsfaktor in der erfindungsgemäßen Weise gespeichert werden. Der Wiederholungsfaktor kann dabei einen Maximalwert des Datenelements annehmen, da die Information, ob das Datenelement komprimiert oder unkomprimiert gespeichert ist, m einem anderen Datenelement gespeichert wird. Ferner ist es vorteilhaft, die komprimierten oder unkomprimierten Datenelemente m einem dafür vorgesehenen Speicherbereich und das Datenelement, m dem gespeichert ist, welche Datenelemente komprimiert oder unkomprimiert abgespeichert sind, in einem weiteren Speicherbereich abzulegen, da durch diese Speicherung ein effektiverer Zugriff auf die Datenelemente möglich ist. Ferner ist es von Vorteil, bei Folgen von Datenelementen, die eine vorgebbare Größe überschreiten, eine Speicherung m verschiedenen Datenpaketen vorzunehmen. Hierdurch können auch Grafiken, die sehr viel Speicherplatz benotigen, m Datenpakete zerlegt werden, deren Größe z.B. optimal an die Sektorengröße eines Datenträgers oder die Datenpaketgröße für die Übertragung über eine Schnittstelle oder über das Internet, z.B. per E-mail, angepaßt sind.
Besonders vorteilhaft ist es weiterhin, ein Verfahren zur Dekomprimierung der erfindungsgemäß komprimierten Datenelemente vorzusehen. Das Dekompπmierverfahren hat dabei den Vorteil, daß die in einem ersten Bereich abgelegten Datenelemente Informationen darüber enthalten, welche der m dem zweiten Bereich abgelegten Datenelemente komprimiert oder unkomprimiert abgelegt sind. Gegenüber dem Stand der Technik ist damit eine einfachere Bearbeitung der Daten möglich, da z.B. bei dem RLE-Verfahren für PCX-Dateien eine derartige Trennung nicht möglich ist und die Information, ob ein Datenelement komprimiert oder unkomprimiert abgelegt ist, direkt mit diesem Datenelement gespeichert wird.
Weiterhin ist es vorteilhaft, eine Dekomprimierung aus mehreren, miteinander verknüpften Datenpaketen vorzunehmen, da auf diese Weise die aus den Datenpaketen gewonnene Datenfolge eine beliebige Größe annehmen kann.
Es ist ferner vorteilhaft, das genannte Verfahren vorzugsweise zur Komprimierung bzw. Dekomprimierung von Bilddaten zu verwenden. Für eine Dekomprimierung ist es dabei vorteilhaft, eine Vorrichtung vorzusehen, die mit einer Recheneinheit und einer Anzeigevorrichtung verbunden ist. Durch das schnelle und speicherplatzgünstige Dekomprimierverfahren ist es dabei möglich, die in einer Speichereinheit gespeicherten Informationen, wobei z.B. die Speichereinheit ein Teil der Recheneinheit ist, durch eine Dekomprimiereinheit auszulesen und mit Hilfe der
Anzeigevorrichtung darzustellen. Eine besonders vorteilhafte Verwendung ist es dabei, die Dekomprimiervorrichtung für ein frei programmierbares Kombiinstrument in einem Kraftfahrzeug vorzusehen. Denn insbesondere für die Instrumentenanzeige in einem Kraftfahrzeug muß allein schon aus Gründen der
Übersichtlichkeit eine grafische Darstellung mit möglichst einfacher Struktur gewählt werden. Durch diese einfache Struktur der anzuzeigenden Bilddaten sind Wiederholungen gleicher Bildelemente und damit auch Wiederholungen gleicher Datenelemente besonders häufig. Das erfindungsgemäße
Komprimier- und Dekomprimierverfahren kann daher besonders effizient eingesetzt werden. Hierdurch können sowohl der Speicherplatzbedarf, als auch die dadurch hervorgerufenen Kosten für ein frei programmierbares Kombiinstrument gesenkt werden. Ferner werden für die Speicherung von Bildern in einem frei programmierbaren Kombiinstrument im allgemeinen relativ langsame Speicher verwendet. Bei hochkomprimierten Bildern wirkt sich die Speicherzugriffszeit jedoch deutlich weniger aus, als bei Bildern, die unkomprimiert abgespeichert sind. Komprimierte Bilder können folglich bei hinreichend hoher Rechenleistung bei einem langsamen Speicher schneller angezeigt werden als unkomprimierte Bilder, da für diese ein größerer Speicherbereich erforderlich ist.
Weiterhin ist es von Vorteil, daß als Grundelement ein einzelnes Bit gewählt wird, durch das festgelegt wird, ob ein Datenelement komprimiert oder unkomprimiert gespeichert ist. Hierdurch nimmt in der Worst-Case-Betrachtung pro unkomprimiertem Datenelement die Datenmenge nur um ein Bit zu. Dagegen tritt bei dem im Stand der Technik genannten RLE-Verfahren für PCX-Dateien eine Zunahme der Datenmenge bei unkomprimiert gespeicherten Datenelementen um ein Byte, also um acht Bit, auf. Eine Zwischenspeicherung z.B. m Form einer Codetabelle, wie sie bei dem Lempel-Ziv-Algorithmus erforderlich ist, wird nicht benötigt. Für die Dekomprimierung sind zwei Register ausreichend: Ein erster Register für ein zu dekomprimierendes Datenelement und ein zweiter Register für das Datenelement, m dem abgelegt ist, ob das Datenelement m dem ersten Register komprimiert abgelegt ist. Ein darüber hinausgehender, fluchtiger Speicher ist nicht erforderlich.
Zeichnungen
Ausführungsbeispiele der Erfindung sind m der Zeichnung dargestellt und m der nachfolgenden Beschreibung näher erläutert . Es zeigen Figur 1 eine Struktur eines erfindungsgemäßen Datenpakets, Figur 2 eine erfindungsgemäße Ausführung eines Datenpaktes, Figur 3 eine erfindungsgemäße Vorrichtung zur Dekomprimierung mit einer angeschlossenen Anzeigevorrichtung und einer Recheneinheit, Figur 4 einen erfindungsgemäßen Verfahrensablauf zur Komprimierung einer Folge von Datenelementen, Figur 5 einen erfindungsgemäßen Verfahrensablauf zur Dekomprimierung eines Datenpakets.
Beschreibung des Ausführungsbeispiels
In Figur 1 ist ein Datenpaket 10 dargestellt, das m erfindungsgemäßer Weise komprimierte Daten enthält . Die Ausführung des Datenpakets in Figur 1 ist ein Beispiel für die Struktur eines gespeicherten Datenpaketes 10. Das Datenpaket 10 verfügt über einen ersten Bereich 11 und einen zweiten Bereich 12. Der zweite Bereich 12 besteht aus mindestens einem Wort 13. Dabei besteht ein Wort 13 aus einem ersten Datenelement 14 und einem zweiten Datenelement 24. Für die Darstellung in der Figur 1 wurde ein Wort 13 mit zwei Datenelementen 14 und 24 in dem zweiten Bereich 12 hervorgehoben.
In dem Ausführungsbeispiel besteht auch der erste Bereich 11 aus einem Wort mit zwei Datenelementen. Die Datenelemente sind dabei in Grundelemente unterteilbar. In der Figur 1 ist ein Datenelement 20 in eine Vielzahl einzelner Grundelemente 15 aufgegliedert dargestellt. Ein Grundelement 15 ist in der Zeichnung durch eine gestrichelte Umrahmung hervorgehoben. Jedes Grundelement 15 der Datenelemente in dem ersten Bereich 11 ist eindeutig einem Wort 13 in dem zweiten Bereich 12 zugewiesen. In der Figur sind beispielhaft drei Zuweisungen 16, 17 und 18 zwischen Grundelementen im ersten Bereich 11 und Wörtern im zweiten Bereich 12 dargestellt. Anhand des hervorgehobenen Grundelements 15 und des hervorgehobenen Wortes 13 wird die Zuweisung erläutert: Je nach Wert des Grundelements 15 liegt das zugehörige Wort 13 komprimiert oder unkomprimiert vor. Liegt es unkomprimiert vor, so sind die beiden Datenelemente 14, 24 des zugehörigen Wortes 13 unkomprimierte Datenelemente einer ursprünglich zu komprimierenden Folge von Datenelementen. Liegt dagegen das Wort 13 komprimiert vor, so beinhaltet das zugehörige erste Datenelement 14 einen Wiederholungsfaktor dafür, wie oft nun das zweite Datenelement 24 bei einer Dekomprimierung, die eine Wiederherstellung der ursprünglichen Datenfolge zum Ziel hat, wiederholt werden soll.
Die Datenelemente in dem ersten Bereich 11 und dem zweiten Bereich 12 sind vorzugsweise gleichartig und haben die gleiche Größe. Dies ist jedoch nicht notwendigerweise erforderlich. So können z.B. die Datenelemente in dem zweiten Bereich eine anders geartete Aufteilung in Grundelemente aufweisen, als sie in dem ersten Bereich 11 erfolgt .
In Figur 2 ist ein Datenpaket 100 dargestellt, das eine spezielle Realisierung des Datenpakets 10 aus Figur 1 darstellt. Das Datenpaket verfügt über einen ersten Bereich 110 und einen zweiten Bereich 120. Der erste Bereich 110 und der zweite Bereich 120 bestehen jeweils aus gleichartigen Wörtern, die alle wiederum aus jeweils zwei Datenelementen bestehen. Die zu einem Wort gehörenden Datenelemente sind in der Figur nebeneinander angeordnet . Jedes Datenelement besteht wiederum aus acht Bits. Jedes Bit kann entweder einen Wert „0" oder einen Wert „1" annehmen. Der erste Bereich 110 umfaßt in dem Ausführungsbeispiel genau ein Wort. Der zweite Bereich umfaßt 16 Worte, von denen aus Gründen der Übersichtlichkeit nicht alle in der Figur dargestellt sind. Die Bits in dem ersten Bereich 110 sind mit den Bezeichnungen Kl bis K16, die Bits in dem zweiten Bereich sind mit Bezeichnungen zwischen D101 bis D1616 angegeben, falls ihr Wert nicht explizit angegeben ist. Dabei beziehen sich die letzten beiden Stellen der Bezeichnungen D101 bis D1616 auf eine Zuordnung zu einem der Bits Kl bis K16. Der Wert dieser Bits kann beliebig entweder „1" oder „0" sein. Ein erstes Grundelement 111 in dem ersten Bereich 110 mit einem zugehörigen ersten Wort 121 mit einem ersten Datenelement 1211 und einem zweiten Datenelement 1212 in dem zweiten Bereich 120 sind explizit angegeben. Ferner ist ein zweites Grundelement 112 in dem ersten Bereich mit einem zugehörigen zweiten Wort 122 aus dem zweiten Bereich 120 mit einem ersten Datenelement 1221 und einem zweiten Datenelement 1222 explizit angegeben.
Die einzelnen Bits eines Datenelementes, zum Beispiel des zweiten Datenelements 1222 können als einzelne Ziffern einer Dualzahl interpretiert werden. So läßt sich offenbar jedem Datenelement eine ganze Zahl im Bereich von Null bis 255 zuordnen (255 = 28-l) . Dem zweiten Datenelement 1222 läßt sich damit offenbar die Zahl 33 zuordnen. Ferner ist es möglich, zum Beispiel über den ASCII-Code, den ANSI-Code oder einen beliebigen anderen Code dieser Zahl wiederum ein Schrift- oder Bildschirmzeichen zuzuweisen.
In dem gewählten Ausführungsbeispiel hat nun das Grundelement 111 in dem ersten Bereich 110 den Wert Null. In dem gewählten Ausführungsbeispiel bedeutet dies, daß das zugehörige Wort 121 als unkomprimiert aufzufassen ist. Dies bedeutet, daß die Datenelemente 1211 und 1212 nicht komprimiert sind. Bei der Wiederherstellung der Datenfolge im Rahmen einer Dekomprimierung des Datenpaketes 100 wird an dieser Stelle nun zunächst das Datenelement 1211 mit dem Wert 1 bzw. 00000001 als Dualzahl der bis zu diesem Zeitpunkt erstellten Datenfolge zugefügt. Anschließend wird das Datenelement 1212 mit dem Wert 255 bzw. 11111111 als Dualzahl der bisher erstellten Datenfolge zugefügt.
Das zweite Grundelement 112 hat in dem gewählten Ausführungsbeispiel den Wert 1. Deshalb ist das zweite Wort 122 als komprimiert aufzufassen. In diesem Fall gibt das zweite Datenelement 1222 den Wiederholungsfaktor für das erste Datenelement 1221 vor. Da dem zweiten Datenelement 1222 der Wert 33 zugewiesen ist, bedeutet dies, daß das erste Datenelement 1221 bei der Dekomprimierung der Daten 33 Mal an die bis zu diesem Zeitpunkt bereits erstellte Teilfolge anzuhängen ist. Anschließend wird mit dem mit K6 bezeichneten Grundelement in dem ersten Bereich 110 und dem zugehörigen, in der Zeichnung nicht dargestellten Wort weiter verfahren, bis das Datenpaket vollständig bearbeitet und die ursprüngliche Datenfolge wiederhergestellt ist. Dabei ist es ebenfalls möglich, das erste Datenelement 1221 als Wiederholungsfaktor für das zweite Datenelement 1222 zu betrachten. Vor einer Komprimierung bzw. Dekomprimierung ist dies eindeutig festzulegen.
In der Figur 3 ist eine Vorrichtung zur Dekomprimierung 30, mit der das erfindungsgemäße Verfahren ausführbar ist, m Verbindung mit einer Recheneinheit 31, einem Speicher 34, einem Bildspeicher 32 und einer Anzeigeeinheit 33 dargestellt. Dieses gewählte Ausführungsbeispiel ist vorzugsweise m einem Kraftfahrzeug einsetzbar und dient insbesondere der Anzeige von Betriebsdaten des Fahrzeuges . Über die Recheneinheit 31 werden über nicht eingezeichnete Sensoren und Meßinstrumente zum Beispiel die Motordrehzahl, die Kühlwassertemperatur und/oder die
Fahrzeuggeschwindigkeit ermittelt. Die Recheneinheit veranlaßt nun z.B. die Ausgabe eines Anzeigebildes eines Tachometers, das der von den Sensoren ermittelten Fahrzeuggeschwindigkeit entspricht. Die Ausgabe erfolgt dabei m der Weise, daß die Einheit zur Dekomprimierung 30 von der Recheneinheit 31 die Anweisung erhält, aus dem Speicher 34 das entsprechende Bild zu dekomprimieren und m den Bildspeicher 32 abzulegen. Der Bildspeicher 32 wird in vorgegebenen Zeitintervallen von der Anzeigeeinheit 33 abgefragt, wobei die m dem Bildspeicher 32 abgelegten
Bilddaten in der Anzeigeeinheit 33 zur Anzeige kommen. Die Anzeige 33 ist dabei vorzugsweise eine
Flüssigkristallanzeige, kann aber auch ein CRT (Cathod Ray Tube) oder ein FED (Field Emission Display) sein. Während der Bildspeicher 32 vorzugsweise ein flüchtiger Speicher ist, ist der Speicher 34 ein nichtflüchtiger Speicher, so zum Beispiel ein Halbleiterbaustem mit fest gespeicherten Daten bzw. ein magnetischer und/oder optischer Datenträger. Die Vorrichtung zur Dekomprimierung 30 ist vorzugsweise als ein Halbleiterbaustem oder als ein Teil eines Halbleiterbaustems mit einem fest eingespeicherten Programm ausgeführt Die Ausfuhrung kann sowohl als ein Mikrokontroller als auch ein Mikroprozessor erfolgen.
In der Figur 4 ist ein erfmdungsgemaßes Verfahren für ein Komprimieren der Daten aus einer Datenfolge dargestellt. In einem ersten Schritt 60 wird das Verfahren initialisiert und die Datenfolge für die Bearbeitung übergeben. Die Datenfolge liegt dabei m einer Form vor, bei der eine eindeutige Reihenfolge der Datenelemente vorgegeben ist. In einem anschließenden zweiten Verfahrensschritt 61 wird ein neuer, erster Bereich eines Datenpaketes initialisiert Ferner wird als ein aktuelles Datenelement ein erstes Datenelement der Datenfolge festgelegt Außerdem wird ein erstes Grundelement m dem ersten Bereich des neuen Datenpaketes als aktuelles Grundelement festgelegt. In einem nachfolgenden, ersten Entscheidungsschritt 62 wird überprüft, ob das Ende der Datenfolge erreicht ist. Ist das Ende der Datenfolge erreicht, so wird der mit einem y bezeichnete Verfahrenszweig mit einem Verfahrensschritt 63 weiterverfolgt . In dem Verfahrensschπtt 63 wird den noch keinem Wert zugewiesenen Grundelementen m dem ersten Bereich der Wert 1 zugewiesen. In dem nachfolgenden Verfahrensschritt 64 wird den diesen Grundelementen zugehörigen Wortern dem ersten Datenelement, n dem der Wiederholungsfaktor für das zweite Datenelement gespeichert ist, der Wert Null und dem zweiten Datenelement der Wert 255 zugewiesen. In einem Abschlußschritt 65 wird das Verfahren beendet und das nunmehr erstellte Datenpaket 10 wird gespeichert. Die Zuweisung m dem Verfahrensschritt 64 ist derartig gewählt, daß die entsprechenden Datenelemente als komprimiert abgelegt gekennzeichnet werden und somit das Datenelement, das dem Wert 255 entspricht, Null Mal wiederholt wird. Bei der Dekomprimierung kann an dieser Stelle geprüft werden, ob das Datenpaket korrekt mit dieser Speicherung abgeschlossen wurde, oder ob möglicherweise eine Beschädigung der Datei vorliegt. Anstelle des Wertes 255 kann auch ein beliebiger Wert für das zweite Datenelement gewählt werden, da dieses Datenelement bei der Dekomprimierung der Datenfolge nicht erscheint. So kann zum Beispiel m dem letzten Wort des letzten Datenpaketes einer komprimierten Datenfolge an dieser Stelle die Gesamtzahl der Datenpakete gespeichert sein, die das Bild ausmacht.
Ist m dem ersten Entscheidungsschπtt 62 noch nicht das
Ende der Datenfolge erreicht, so wird der m t n bezeichnete Verfahrenszweig weiterverfolgt . In einem nachfolgenden Verfahrensschritt 66 wird nun einem Kompressionszähler der Wert 1 zugewiesen. Der Kompressionszähler dient dazu, die Zahl zu erfassen, wie oft ein Element der Datenfolge hintereinander wiederholt wird. In einem anschließenden, zweiten Entscheidungsschritt 67 wird überprüft, ob das aktuelle Datenelement gleich einem nächsten Datenelement m der Datenfolge ist. Ist dies der Fall, so wird m den Verfahrenszweig, der mit y bezeichnet ist, zu einem anschließenden, dritten Entscheidungsschritt 68 verzweigt. In dem dritten Entscheidungsschritt 68 wird überprüft, ob der Kompressionszähler kleiner als 255 ist. Ist dies der Fall, so wird der mit y bezeichnete Verfahrenszweig weiterverfolgt und in einem anschließenden, vierten
Entscheidungsschritt 69 wird überprüft, ob das übernächste Datenelement in der Datenfolge das letzte Datenelement der Datenfolge ist. Ist dies nicht der Fall, so von dem vierten Entscheidungsschritt 69 aus in den mit n bezeichneten Verfahrenszweig mit einem Verfahrensschritt 70 übergegangen. In dem Verfahrensschritt 70 wird der Kompressionszähler um 1 erhöht. Ferner wird in einem anschließenden
Verfahrensschritt 71 das nächste Datenelement der Datenfolge als aktuelles Datenelement festgelegt. Danach wird das Verfahren mit dem zweiten Entscheidungsschritt 67 weitergeführt .
Ist in dem zweiten Entscheidungsschritt 67 das auf das aktuelle Datenelement in der Datenfolge folgende nächste
Datenelement ungleich dem aktuellen Datenelement oder hat in dem dritten Entscheidungsschritt 68 der Kompressionszähler einen Wert von größer als 255, so wird das Verfahren mit einem fünften Entscheidungsschritt 72 fortgeführt . In dem fünften Entscheidungsschritt 72 wird überprüft, ob der
Kompressionszähler einen Wert größer 1 hat. Ist dies der Fall, so wird in einem Verfahrensschritt 73 das aktuelle Grundelement in dem ersten Bereich des Datenpaketes mit dem Wert 1 belegt. In einem anschließenden Verfahrensschritt 74 wird in dem zu dem Grundelement gehörenden Wort in dem zweiten Bereich des Datenpaketes der Wert des Kompressionszählers in dem ersten Datenelement sowie in dem zweiten Datenelement des zugehörigen Wortes das aktuelle Datenelement aus der Datenfolge gespeichert. Danach wird zu einem sechsten Entscheidungsschritt 78 verzweigt. Hat der Kompressionszähler keinen Wert größer 1, so wird von dem fünften Entscheidungsschritt 72 das aktuelle Grundelement in einem Verfahrensschritt 75 mit dem Wert 0 gespeichert. In einem nächsten Verfahrensschritt 76 wird das aktuelle Datenelement der Datenfolge in dem ersten Datenelement des zu dem in dem Verfahrensschritt 75 gespeicherten Grundelementes gehörenden Wortes gespeichert. Das nächste Datenelement der Datenfolge wird in dem zweiten Datenelement des gleichen Wortes gespeichert. In einem anschließenden Verfahrensschritt 77 wird als aktuelles Datenelement das übernächste Datenelement gewählt. /Anschließend wird ebenfalls zu dem sechsten Entscheidungsschritt 78 weiterverzweigt . Der sechste Entscheidungsschritt 78 wird ebenfalls erreicht, wenn in dem vierten Entscheidungsschritt 69 festgestellt wird, daß das übernächste Datenelement ausgehend von dem aktuellen Datenelement das letzte in der Datenfolge ist. Vor Erreichen des Entscheidungsschritts 78 wird in diesem Fall ausgehend von dem vierten Entscheidungsschritt 69 zunächst in einem Verfahrensschritt 81 das aktuelle Grundelement in dem ersten Bereich des Datenpaketes auf den Wert 1 gesetzt. In einem an diesen Verfahrensschritt 81 anschließenden Verfahrensschritt 82 wird vor Erreichen des sechsten
Entscheidungsschritts 78 in dem dazugehörigen Wort in dem ersten Datenelement der Wert 1 und in dem zweiten Datenelemente das zur Speicherung anstehende Datenelement der Datenfolge abgelegt. Anschließend wird ebenfalls zu dem sechsten Entscheidungsschritt 78 verzweigt, in dem überprüft wird, ob das Datenpaket nun vollständig gefüllt ist. Ist dies nicht der Fall, so wird der Verfahrenszweig n gewählt und es wird zu einem Verfahrensschritt 79 verzweigt, in dem als aktuelles Grundelement in dem ersten Bereich des Datenpaketes das nächste, auf das aktuelle Grundelement folgende Grundelement festgelegt . Anschließend wird zu dem Verfahrensschritt 66 verzweigt. Wird dagegen in dem sechsten Entscheidungsschritt 78 festgestellt, daß das Datenpaket vollständig gefüllt ist, wird der Verfahrenszweig y verfolgt und in einem Verfahrensschritt 80 wird das gesamte Datenpaket gespeichert. Anschließend wird zu dem Verfahrensschritt 61 verzweigt und ein nächstes Datenpaket gefüllt.
In der Figur 5 ist ein erfindungsgemäßes Verfahren zum
Dekomprimieren eines Datenpaketes dargestellt. In einem ersten Verfahrensschritt 40 wird das Verfahren initialisiert und ein Datenpaket wird übergeben. In einem anschließenden, zweiten Verfahrensschritt 41 wird der erste Bereich des Datenpaketes in einem Speicher der Dekomprimiereinheit kopiert bzw. es wird em Verweis auf den ersten Bereich des Datenpaketes erstellt, das m dem Speicher 34 abgelegt ist Ferner wird em Indexzahler auf Null gesetzt Jedem Wert des Indexzahlers, der großer null ist, ist em Datenelement m dem ersten Bereich des Datenpaketes zugeordnet Das Grundelement, das dem jeweils vorliegenden Wert des Indexzahlers entspricht, ist das eweils aktuelle Datenelement . In einem nachfolgenden dritten Verfahrensschritt 42 wird der Indexzahler um 1 erhöht. In einem anschließenden Verfahrensschritt 43 wird das zu dem aktuellen Wert des Indexzählers gehörende Grundelement aus dem ersten Bereich des Datenpaketes sowie das zugehörige Wort, also die zwei Datenelemente des Wortes, m den Speicher kopiert, falls em solches Grundelement bzw. Wort existiert, wobei der Speicher vorteilhafterweise der Dekomprimiervorrichtung 30 zugeordnet ist. In einem nachfolgenden ersten Entscheidungsschritt 44 wird überprüft, ob der Indexzahler die Maximalzahl an Grundelementen pro Datenelement überschritten hat. Ist dies der Fall, so wird m den mit y bezeichneten Verfahrenszweig zu einem zweiten Entscheidungsschritt 50 verzweigt. Hier wird überprüft, ob weitere Datenpakete vorhanden sind Dies kann zum Beispiel durch einen an ηedes Datenpaket angehängten Verweis auf em folgendes Datenpaket für den Fall, daß em solches Datenpaket vorhanden ist. Für den Fall, daß kein solches Datenpaket vorhanden ist, ist auch em Verweis auf em leeres Datenpaket möglich. Ist em weiteres Datenpaket vorhanden, so wird zu dem zweiten Verfahrensschritt 41 zurückverzweigt (Verfahrenszweig y von dem zweiten Entscheidungsschritt 50 aus) . Ist kein weiteres Datenpaket vorhanden, so wird von dem zweiten Entscheidungsschritt 50 aus in den mit n bezeichneten Verfahrenszweig zu einem Abschlußschritt 51 weiterverzweigt. Die Datenfolge ist somit komplett dekomprimiert und liegt m einem Zwischenspeicher vor. Stellt die Datenfolge em komprimiertes Bild dar, so ist dieser Zwischenspeicher der Bildspeicher 32 der Anzeigeeinheit 33.
Wird in dem ersten Entscheidungsschritt 44 festgestellt, daß der Indexzähler die Maximalzahl an Grundelementen noch nicht überschritten hat, so wird von dort der mit n bezeichnete Verfahrenszweig zu einem dritten Entscheidungsschritt 45 weiterverfolgt. In diesem dritten Entscheidungsschritt 45 wird überprüft, welchen Wert das aktuelle Grundelement besitzt. Für den Fall, daß es den Wert Null hat, wird in den mit n bezeichneten Verfahrenszweig zu einem Verfahrensschritt 46 weiterverzweigt. In diesem Verfahrensschritt 46 wird das erste Datenelement des zu dem aktuellen Grundelement gehörenden Wortes als ein Element der ursprünglich komprimierten Folge aufgefaßt und einer bis zu diesem Zeitpunkt dekomprimierten Teilfolge hinzugefügt. Beziehen sich die Datenelemente auf Bilddaten, so wird damit das erste Datenelement des zu dem Grundelement gehörenden Wortes in den Bildspeicher 32 der Anzeigeeinheit kopiert. Im Anschluß daran wird in einem Verfahrensschritt 47 eine Zuweisungsadresse für den Bildspeicher erhöht, so daß nachfolgende Datenelemente an einer nachfolgenden Stelle in den Bildspeicher eingeschrieben werden. In einem anschließenden Verfahrensschritt 48 wird das zweite Datenelement des zu dem aktuellen Grundelement gehörenden Wortes in den Bildspeicher kopiert . Im Anschluß wird in einem Verfahrensschritt 49 ebenfalls wieder die Zuweisungsadresse für den Bildspeicher 32 erhöht. Im Anschluß daran wird das Verfahren mit dem zweiten Verfahrensschritt 42 fortgeführt. Wird in dem dritten Entscheidungsschritt 45 festgestellt, daß das aktuelle Grundelement den Wert 1 aufweist, so wird in den mit y bezeichneten Verfahrenszweig zu einem Verfahrensschritt 52 verzweigt. In diesem Verfahrensschritt 52 wird einer Zählvariablen der Wert des ersten Datenelementes des zu dem aktuellen Grundelement gehörenden Wortes zugewiesen. In einem anschließenden vierten Entscheidungsschritt 53 wird überprüft, ob die Zählvariable den Wert Null aufweist. Weist die Zählvariable den Wert Null auf, so wird der mit y bezeichnete Verfahrenszweig weiterverfolgt und es wird ebenso wie nach dem Verfahrensschritt 49 das Verfahren mit dem dritten Verfahrensschritt 42 fortgeführt. Hat die Zählvariable einen Wert ungleich Null, so wird von dem vierten Entscheidungsschritt 53 der mit n bezeichnete Verfahrenszweig fortgeführt. In einem Verfahrensschritt 54 wird das zweite Datenelement des zu dem Grundelement gehörenden Wortes in den Bildspeicher kopiert. In einem anschließenden Verfahrensschritt 55 wird die Zuweisungsadresse des Bildspeichers 32 erhöht. In einem weiteren Verfahrensschritt 56 wird die Zählvariable um 1 erniedrigt. Danach wird das Verfahren mit dem vierten Entscheidungsschritt 53 fortgeführt.

Claims

Ansprüche
1. Verfahren zur Komprimierung einer Folge von Datenelementen, insbesondere von Bilddaten, wobei die Datenelemente in Abhängigkeit von der Korrelation mit in der Folge der Datenelemente vorhergehenden und nachfolgenden Datenelementen komprimiert oder unkomprimiert abgelegt werden, wobei mindestens ein weiteres Datenelement vorgesehen ist, in dem gespeichert wird, welche der gespeicherten Datenelemente komprimiert oder unkomprimiert abgespeichert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Folge von Datenelementen in einer vorgebbaren Reihenfolge abgearbeitet wird, indem aufeinanderfolgende
Elemente daraufhin überprüft werden, ob sie gleich sind.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Kompression der Datenelemente dadurch erfolgt, daß Datenelemente, die mehrfach aufeinanderfolgen, gezählt und mit einem Wiederholungsfaktor gespeichert werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die zumindest teilweise komprimierte Folge von Daten in mindestens einem Speicher (34) abgelegt wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß das Datenelement, m dem gespeichert ist, welche Datenelemente komprimiert oder unkomprimiert abgespeichert sind, m einem ersten Speicherbereich (11, 110) abgelegt wird und daß die komprimierten oder unkomprimierten
Datenelemente m einem zweiten Speicherbereich (12, 120) abgelegt werden
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß bei Folgen von Datenelementen, die eine vorgebbare Anzahl von Datenelementen überschreiten, die Folge m mehreren Datenpaketen (10, 100) gespeichert wird, wobei jedes Datenpaket aus mindestens zwei Datenelementen besteht .
7. Verfahren zur Dekomprimierung einer Folge von Datenelementen, insbesondere von Bilddaten, aus einem Datenpaket (10, 100), das aus Datenelementen m einem ersten
(11, 110) und einem zweiten Bereich (12, 120) des Datenpakets besteht, wobei die Folge von Datenelementen in Abhängigkeit von den m dem ersten Bereich abgelegten Datenelementen aus den in dem zweiten Bereich abgelegten Datenelemente ohne oder mit einer Dekomprimierung erstellt wird.
8. Verfahren zur Dekomprimierung nach Anspruch 7 , dadurch gekennzeichnet, daß die Datenelemente m dem ersten Bereich aus Grundelementen (15) bestehen und die Daten- und Grundelemente in einer vorgegebenen Reihenfolge abgearbeitet werden, indem jedes Grundelement der m dem ersten Bereich gespeicherten Datenelemente jeweils zwei m dem zweiten Bereich gespeicherten Datenelementen zugewiesen wird (16, 17, 18), und falls ein Grundelement einen ersten Wert aufweist, keine Dekomprimierung der Datenelemente erfolgt, und falls das Grundelement einen zweiten Wert aufweist eine Dekomprimierung erfolgt.
9. Verfahren zur Dekomprimierung nach einem der Ansprüche 7- 8, dadurch gekennzeichnet, daß in Abhängigkeit von dem in dem zweiten Bereich des Datenpakets (10, 100) vorliegenden Datenelementen und des nach der vorgegebenen Reihenfolge ersten, zu bearbeitenden Grundelements einer vorgegebenen Teilfolge, insbesondere einer leeren Teilfolge, Datenelemente hinzugefügt werden, und daß die somit erzeugte Teilfolge bei jedem weiteren, zu bearbeitenden Grundelement in Abhängigkeit von den in dem zweiten Bereich des Datenpakets vorliegenden Datenelementen erweitert wird, bis ein Abbruchkriterium erfüllt ist.
10. Verfahren zur Dekomprimierung nach Anspruch 9, dadurch gekennzeichnet, daß für den Fall, daß keine Dekomprimierung erfolgt, Datenelemente unverändert an die Teilfolge angefügt werden.
11. Verfahren zur Dekomprimierung nach einem der Ansprüche 9-10, dadurch gekennzeichnet, daß eine Dekomprimierung derart erfolgt, daß ein erstes, vorgegebenes, dem Grundelement zugewiesenen Datenelement als ein Wiederholungsfaktor für ein zweites, vorgegebenes, dem Grundelement zugewiesenes Datenelement erfaßt und das zweite Datenelement entsprechend dem Wiederholungsfaktor an die Teilfolge angefügt wird.
12. Verfahren zur Dekomprimierung nach einem der Ansprüche 7-11, dadurch gekennzeichnet, daß eine Dekomprimierung einer Datenfolge aus mehreren, miteinander verknüpften und/oder aufeinanderfolgenden Datenpaketen erfolgt .
13. Vorrichtung zur Dekomprimierung nach einem der vorhergehenden Verfahrensansprüche 7-12, dadurch gekennzeichnet, daß die Vorrichtung mit einer Recheneinheit
(31) und einer Anzeigevorrichtung (33) verbunden ist, und daß in Abhängigkeit von von der Recheneinheit (31) übermittelter Informationen zumindest teilweise komprimierte Folgen von Datenelementen dekomprimiert und die somit erzeugten Bilddaten an die Anzeigevorrichtung (33) , vorzugsweise über einen Bildspeicher (32), übermittelbar sind
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Vorrichtung zur Dekomprimierung Teil eines frei programmierbaren Kombiinstuments ist.
PCT/DE2000/001411 1999-05-07 2000-05-05 Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten WO2000069179A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP00941903A EP1186175B1 (de) 1999-05-07 2000-05-05 Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten
US10/031,631 US6737991B1 (en) 1999-05-07 2000-05-05 Method and device for compressing and decompressing data
AU56716/00A AU5671600A (en) 1999-05-07 2000-05-05 Method and device for compressing and decompressing data
JP2000617654A JP2002544724A (ja) 1999-05-07 2000-05-05 データの圧縮及び非圧縮方法及び装置
DE50001243T DE50001243D1 (de) 1999-05-07 2000-05-05 Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19921298.8 1999-05-07
DE19921298A DE19921298A1 (de) 1999-05-07 1999-05-07 Verfahren zur Komprimierung und Dekomprimierung von Daten und Vorrichtung

Publications (1)

Publication Number Publication Date
WO2000069179A1 true WO2000069179A1 (de) 2000-11-16

Family

ID=7907449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/001411 WO2000069179A1 (de) 1999-05-07 2000-05-05 Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten

Country Status (7)

Country Link
US (1) US6737991B1 (de)
EP (1) EP1186175B1 (de)
JP (1) JP2002544724A (de)
AU (1) AU5671600A (de)
DE (2) DE19921298A1 (de)
ES (1) ES2192531T3 (de)
WO (1) WO2000069179A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001332976A (ja) * 2000-05-24 2001-11-30 Canon Inc 画像処理装置及び画像処理方法
EP1416641A1 (de) * 2002-10-30 2004-05-06 STMicroelectronics S.r.l. Kompressionsverfahren für Daten mit hoher Wiederholungsrate, insbesondere Speichertestdaten

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937681A (en) * 1988-05-06 1990-06-26 Hitachi, Ltd. Picture coding system for document image
WO1996011546A1 (en) * 1994-10-07 1996-04-18 Sony Corporation Picture data recording apparatus and picture data reproducing apparatus
EP0766469A2 (de) * 1995-09-26 1997-04-02 Kabushiki Kaisha Toshiba Fernsehempfänger mit einem Dekoder für Multiplex-Texte
EP0810532A2 (de) * 1996-05-31 1997-12-03 Siemens Medical Systems, Inc. Verlustfreies Datenkomprimierungsverfahren mit zusätzlicher Vereinfachung der Signalanalyse

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0828053B2 (ja) * 1983-08-08 1996-03-21 株式会社日立製作所 データ記録方法
DE3432837A1 (de) * 1984-09-06 1986-03-06 Dr. Gerald Knabe GmbH, 4052 Korschenbroich Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten
JPH0815263B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元方法
GB8828499D0 (en) * 1988-12-07 1989-01-11 British Telecomm Data compression
CA2163556C (en) * 1994-04-22 2006-07-11 Tetsuji Kawashima System and method for transmitting compressed data or pre-compressed data based on a preset compression ratio

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937681A (en) * 1988-05-06 1990-06-26 Hitachi, Ltd. Picture coding system for document image
WO1996011546A1 (en) * 1994-10-07 1996-04-18 Sony Corporation Picture data recording apparatus and picture data reproducing apparatus
EP0766469A2 (de) * 1995-09-26 1997-04-02 Kabushiki Kaisha Toshiba Fernsehempfänger mit einem Dekoder für Multiplex-Texte
EP0810532A2 (de) * 1996-05-31 1997-12-03 Siemens Medical Systems, Inc. Verlustfreies Datenkomprimierungsverfahren mit zusätzlicher Vereinfachung der Signalanalyse

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001332976A (ja) * 2000-05-24 2001-11-30 Canon Inc 画像処理装置及び画像処理方法
EP1416641A1 (de) * 2002-10-30 2004-05-06 STMicroelectronics S.r.l. Kompressionsverfahren für Daten mit hoher Wiederholungsrate, insbesondere Speichertestdaten
US7143327B2 (en) 2002-10-30 2006-11-28 Stmicroelectronics, S.R.L. Method and system for compressing repetitive data, in particular data used in memory device testing

Also Published As

Publication number Publication date
DE50001243D1 (de) 2003-03-20
US6737991B1 (en) 2004-05-18
JP2002544724A (ja) 2002-12-24
AU5671600A (en) 2000-11-21
ES2192531T3 (es) 2003-10-16
EP1186175B1 (de) 2003-02-12
EP1186175A1 (de) 2002-03-13
DE19921298A1 (de) 2000-11-16

Similar Documents

Publication Publication Date Title
DE3606869C2 (de) Vorrichtung zur Datenkompression
EP0260748B1 (de) Verfahren und Schaltungsanordung zur Bitratenreduktion
DE2264090C3 (de) Datenverdichtung
DE3525898C2 (de)
DE2725395C3 (de) Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordneten Wörter der Bitlänge n
DD256221A5 (de) Verfahren zum uebertragen von aktualisierungsinformation eines video-standbildes
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE60009502T2 (de) Lzw datenkomprimierung/dekomprimierungsgerät und - verfahren mit eingebetteter lauflängenkodierung/dekodierung
DE102009020807A1 (de) Verfahren zur effizienten Komprimierung für Messdaten
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE68926676T2 (de) Verfahren und gerät zur statistischen kodierung von digitalen daten
DE68919669T2 (de) Graphikbilddatenkompressionsverfahren.
DE69125424T2 (de) Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung
DE60302203T2 (de) Anordnung zur Komprimierung einer Datentabelle
DE60002218T2 (de) Lzw datenkomprimierungsgerät und -verfahren, mit anwendung von mathematischer vorhersage von lauflängenverarbeitung
EP0479787B1 (de) Verfahren zur codierung einer elementfolge und einrichtung zur durchführung des verfahrens
WO2000069179A1 (de) Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten
DE10131801B4 (de) Verfahren zur Datenkompression und Navigationssystem
DE3417262C2 (de)
DE3855712T2 (de) Bitkettenverdichter mit verarbeitungsmöglichkeit für boolesche-operationen
DE4436956C2 (de) Einrichtung und Verfahren zur Umformatierung oder Zwischenspeicherung von Datenströmen
DE4342521C1 (de) Verfahren und Anordnung zur Expansion komprimierter Daten
DE4432436C2 (de) Datenkompressionsverfahren und Vorrichtung zum Komprimieren von Daten
EP1091290B1 (de) Prozessorsystem mit Speicher- oder Ladebebefehl mit Trenninformation
DE60003418T2 (de) Vorrichtung zur kompression und dekompression von bitketten

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000941903

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 617654

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 2000941903

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10031631

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 2000941903

Country of ref document: EP