DE102019208780A1 - DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS - Google Patents

DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS Download PDF

Info

Publication number
DE102019208780A1
DE102019208780A1 DE102019208780.9A DE102019208780A DE102019208780A1 DE 102019208780 A1 DE102019208780 A1 DE 102019208780A1 DE 102019208780 A DE102019208780 A DE 102019208780A DE 102019208780 A1 DE102019208780 A1 DE 102019208780A1
Authority
DE
Germany
Prior art keywords
data
compressed
memory
designed
memory area
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.)
Pending
Application number
DE102019208780.9A
Other languages
German (de)
Inventor
Claudia MEITINGER
Peter HUEWE
Roland EBRECHT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102019208780.9A priority Critical patent/DE102019208780A1/en
Priority to US16/903,804 priority patent/US11108405B2/en
Publication of DE102019208780A1 publication Critical patent/DE102019208780A1/en
Pending legal-status Critical Current

Links

Images

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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • 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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • 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/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects

Landscapes

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

Abstract

Eine Vorrichtung zum Komprimieren von zu komprimierenden Daten umfasst eine Steuerungseinheit, die ausgebildet ist, um die zu komprimierenden Daten unter Einbeziehung weiterer Daten zu komprimieren, um komprimierte Daten zu erhalten; und um eine Speicherbereichsinformation bereitzustellen, die einen Speicherort der weiteren Daten angibt.A device for compressing data to be compressed comprises a control unit which is designed to compress the data to be compressed with the inclusion of further data in order to obtain compressed data; and to provide storage area information indicating a storage location of the further data.

Description

Die vorliegende Offenbarung bezieht sich auf eine Vorrichtung und ein Verfahren zum Komprimieren von zu komprimierenden Daten und auf eine Vorrichtung und ein Verfahren zum Dekomprimieren von komprimierten Daten. Die vorliegende Offenbarung bezieht sich insbesondere auf die Reduzierung einer Größe von komprimierten Daten für eingebettete Systeme unter Verwendung bekannter Daten.The present disclosure relates to an apparatus and a method for compressing data to be compressed and to an apparatus and a method for decompressing compressed data. The present disclosure particularly relates to reducing a size of compressed data for embedded systems using known data.

Bei dem Übertragen von Daten werden Kompressionsverfahren genutzt, um den Datenumfang der zu übertragenden Daten während der Übertragung zu reduzieren. In Field-Upgradeszenarien umfassen Ansätze zum Minimieren der zu übertragenden Daten den Einsatz eines differenziellen Field-Upgrades, das bedeutet, es werden nur diejenigen Daten übertragen, die sich bezüglich einer vorangehenden Version verändert haben, die Kompression von Daten oder eine Kombination hieraus.When data is transmitted, compression methods are used in order to reduce the amount of data to be transmitted during transmission. In field upgrade scenarios, approaches to minimizing the data to be transmitted include the use of a differential field upgrade, which means that only the data that has changed with respect to a previous version is transmitted, the compression of data or a combination thereof.

Wünschenswert wären Vorrichtungen und Verfahren, die eine Datenübertragung mit einer geringen Datengröße ermöglichen.Devices and methods which enable data to be transmitted with a small data size would be desirable.

Ausführungsbeispiele schaffen eine Vorrichtung zum Komprimieren von zu komprimierenden Daten mit einer Steuerungseinheit, die ausgebildet ist, um die zu komprimierenden Daten unter Einbeziehung weiterer Daten zu komprimieren, um komprimierte Daten zu erhalten, und um eine Speicherbereichsinformation bereitzustellen, die einen Speicherort der weiteren Daten angibt. Die Verwendung der Speicherbereichsinformation ermöglicht es, für die Kompression und die spätere Dekompression Daten zu verwenden, die nicht Teil der zu komprimierenden Daten selbst sind und somit eine vergrößerte Datengrundlage, was eine geringe Datengröße der komprimierten Daten ermöglicht.Embodiments provide a device for compressing data to be compressed, having a control unit which is designed to compress the data to be compressed with the inclusion of further data in order to obtain compressed data and to provide storage area information which indicates a storage location of the further data. The use of the memory area information makes it possible to use data for the compression and the subsequent decompression which are not part of the data to be compressed itself and thus an enlarged data basis, which enables a small data size of the compressed data.

Ausführungsbeispiele schaffen eine Vorrichtung zum Dekomprimieren von komprimierten Daten. Die Vorrichtung weist einen Datenspeicher mit einem Speicherbereich auf, in welchem Vorrichtungsdaten gespeichert sind. Die Vorrichtung umfasst eine Datenschnittstelle zum Empfangen der komprimierten Daten zusätzlich zu den Vorrichtungsdaten. Die Vorrichtung umfasst ferner eine Steuerungseinheit, die ausgebildet ist, um die komprimierten Daten auf eine Speicherbereichsinformation hin auszuwerten, die auf den Speicherbereich des Datenspeichers hinweist. Die Steuerungseinheit ist ausgebildet, um die komprimierten Daten unter Verwendung der in dem Speicherbereich gespeicherten Vorrichtungsdaten zu dekomprimieren.Embodiments provide an apparatus for decompressing compressed data. The device has a data memory with a memory area in which device data are stored. The device comprises a data interface for receiving the compressed data in addition to the device data. The device further comprises a control unit which is designed to evaluate the compressed data for memory area information which points to the memory area of the data memory. The control unit is designed to decompress the compressed data using the device data stored in the memory area.

Ausführungsbeispiele schaffen ein Verfahren zum Komprimieren von zu komprimierenden Daten. Das Verfahren umfasst ein Komprimieren der zu komprimierenden Daten unter Einbeziehung weiterer Daten, um komprimierte Daten zu erhalten. Das Verfahren umfasst ferner ein Bereitstellen einer Speicherbereichsinformation, die einen Speicherort der weiteren Daten angibt.Embodiments provide a method for compressing data to be compressed. The method comprises compressing the data to be compressed with the inclusion of further data in order to obtain compressed data. The method further comprises providing storage area information which specifies a storage location of the further data.

Ausführungsbeispiele beziehen sich auf ein Verfahren zum Dekomprimieren von komprimierten Daten. Das Verfahren umfasst ein Speichern von Vorrichtungsdaten in einem Speicherbereich eines Datenspeichers. Das Verfahren umfasst ein Empfangen der komprimierten Daten, die zusätzlich zu den Vorrichtungsdaten sind. Das Verfahren umfasst ein Auswerten der komprimierten Daten auf eine Speicherbereichsinformation hin, die auf den Speicherbereich des Datenspeichers hinweist. Das Verfahren umfasst ein Dekomprimieren der komprimierten Daten unter Verwendung der in dem Speicherbereich gespeicherten Vorrichtungsdaten.Embodiments relate to a method for decompressing compressed data. The method comprises storing device data in a storage area of a data memory. The method includes receiving the compressed data that is in addition to the device data. The method comprises an evaluation of the compressed data for memory area information which points to the memory area of the data memory. The method includes decompressing the compressed data using the device data stored in the storage area.

Ausführungsbeispiele beziehen sich ferner auf ein Computerprogramm mit einem Programmcode zur Durchführung hierin beschriebener Verfahren.Embodiments also relate to a computer program with a program code for carrying out the methods described herein.

Weitere vorteilhafte Ausführungsbeispiele sind in den abhängigen Patentansprüchen definiert.Further advantageous exemplary embodiments are defined in the dependent claims.

Ausführungsbeispiele werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen erläutert. Es zeigen:

  • 1 ein schematisches Blockschaltbild einer Vorrichtung zum Komprimieren von zu komprimierenden Daten gemäß einem Ausführungsbeispiel;
  • 2 ein schematisches Blockschaltbild einer Vorrichtung gemäß einem Ausführungsbeispiel, die eingerichtet ist, um komprimierte Daten zu empfangen, um diese zu dekomprimieren;
  • 3a eine beispielhafte schematische Ansicht eines Datenspeichers, dessen Inhalt vollständig von einem Benutzer individuell steuerbar ist;
  • 3b Datenspeicher unterschiedlicher aber bezüglich der Bauart, Seriennummer oder dergleichen identischen eingebetteten Systeme gemäß einem Ausführungsbeispiel;
  • 4 ein schematischen Blockschaltbild zur Verdeutlichung einer Datenkompression gemäß einem Ausführungsbeispiel;
  • 5 eine schematisches Blockschaltbild der Dekomprimierung der komprimierten Daten gemäß einem Ausführungsbeispiel;
  • 6 ein schematisches Blockschaltbild eines Datenübertragungssystems gemäß einem Ausführungsbeispiel;
  • 7 ein schematisches Ablaufdiagramm eines Verfahrens zum Komprimieren von zu komprimierenden Daten gemäß einem Ausführungsbeispiel; und
  • 8 ein schematisches Ablaufdiagramm eines Verfahrens zum Dekomprimieren komprimierter Daten gemäß einem Ausführungsbeispiel.
Exemplary embodiments are explained below with reference to the accompanying drawings. Show it:
  • 1 a schematic block diagram of a device for compressing data to be compressed according to an embodiment;
  • 2 a schematic block diagram of a device according to an embodiment, which is set up to receive compressed data in order to decompress them;
  • 3a an exemplary schematic view of a data memory, the content of which is completely individually controllable by a user;
  • 3b Data memories of different embedded systems which are identical in terms of type, serial number or the like, according to an exemplary embodiment;
  • 4th a schematic block diagram to illustrate data compression according to an embodiment;
  • 5 a schematic block diagram of the decompression of the compressed data according to an embodiment;
  • 6th a schematic block diagram of a data transmission system according to an embodiment;
  • 7th a schematic flow diagram of a method for compressing data to be compressed according to an embodiment; and
  • 8th a schematic flow diagram of a method for decompressing compressed data according to an embodiment.

Bevor nachfolgend Ausführungsbeispiele im Detail anhand der Zeichnungen näher erläutert werden, wird darauf hingewiesen, dass identische, funktionsgleiche oder gleichwirkende Elemente, Objekte und/oder Strukturen in den unterschiedlichen Figuren mit den gleichen Bezugszeichen versehen sind, so dass die in unterschiedlichen Ausführungsbeispielen dargestellte Beschreibung dieser Elemente untereinander austauschbar ist bzw. aufeinander angewendet werden kann.Before exemplary embodiments are explained in more detail below with reference to the drawings, it is pointed out that identical, functionally identical or identically acting elements, objects and / or structures in the different figures are provided with the same reference symbols, so that the description of these elements shown in different exemplary embodiments is interchangeable or can be applied to one another.

Ausführungsbeispiele beziehen sich auf eine Komprimierung und/oder Dekomprimierung von Daten. Hierzu werden die Begriffe Kompression zu Komprimierung bzw. Dekompression zu Dekomprimierung synonym verwendet und beziehen sich auf eine verlustbehaftete oder verlustfreie Reduzierung einer Datenmenge, d. h., einer Anzahl von Bits im Zuge der Kompression/Komprimierung und einer zumindest teilweisen Wiederherstellung der Daten im Zuge der Dekompression/Dekomprimierung.Embodiments relate to a compression and / or decompression of data. For this purpose, the terms compression to compression or decompression to decompression are used synonymously and refer to a lossy or lossless reduction of a data volume, i.e. that is, a number of bits in the course of the compression / compression and an at least partial restoration of the data in the course of the decompression / decompression.

1 zeigt ein schematisches Blockschaltbild einer Vorrichtung 10 zum Komprimieren von zu komprimierenden Daten 12. Die Vorrichtung 10 umfasst eine Steuerungseinheit 14, die ausgebildet ist, um die zu komprimierenden Daten 12 zu komprimieren, um komprimierte Daten 16 zu erhalten. Die Steuerungseinheit 14 kann ausgebildet sein, um die zu komprimierenden Daten 12 unter Verwendung eines Kompressionsverfahrens zu komprimieren, und bspw. eine Wörterbuch-basierte Kompression auszuführen. Das Wörterbuch kann Informationen bezüglich einer Wiederholung in den zu komprimierenden Daten und die Speicherbereichsinformation umfassen. Die Steuerungseinheit ist ausgebildet, um die zu komprimierenden Daten 12 unter Einbeziehung weiterer Daten 18 zu komprimieren. 1 shows a schematic block diagram of a device 10 for compressing data to be compressed 12 . The device 10 includes a control unit 14th which is designed to contain the data to be compressed 12 to compress to compressed data 16 to obtain. The control unit 14th can be designed to contain the data to be compressed 12 to compress using a compression method, and to carry out, for example, a dictionary-based compression. The dictionary may include information related to repetition in the data to be compressed and the storage area information. The control unit is designed to control the data to be compressed 12 including further data 18th to compress.

Gemäß Ausführungsbeispielen umfasst eine Kompression von Daten eine Substitution einer Bitfolge durch eine andere, kürzere Bitfolge. Diese kürzere Bitfolge kann beispielsweise ein Verweis auf ein zur substituierten Bitfolge identischen Bitfolge sein, die bereits komprimiert wurde, so dass anstelle der vollen, unkomprimierten Bitfolge lediglich der Verweis angegeben wird, wo die heraussubstituierte Bitfolge zu finden ist. Dieses Beispiel beschränkt die vorliegenden Ausführungsbeispiele nicht auf eine derart konkrete Ausführungsform, sondern dient lediglich der Erläuterung dahin gehend, dass eine Kompression von Daten beispielsweise unter Verwendung eines Wörterbuchs ausgeführt wird, in welchem die Zuordnung zwischen langen und kurzen Bitfolgen erfolgt. Durch die Übertragung kurzer Bitfolgen anstelle der langen Bitfolgen kann eine Datenkompression beispielhaft erreicht werden.According to exemplary embodiments, a compression of data includes a substitution of a bit sequence by another, shorter bit sequence. This shorter bit sequence can, for example, be a reference to a bit sequence which is identical to the substituted bit sequence and which has already been compressed, so that instead of the full, uncompressed bit sequence, only the reference is given where the substituted bit sequence can be found. This example does not restrict the present exemplary embodiments to such a specific embodiment, but merely serves to explain the fact that data is compressed, for example using a dictionary in which the association between long and short bit sequences is made. By transmitting short bit sequences instead of long bit sequences, data compression can be achieved, for example.

Die Steuerungseinheit 14 ist ausgebildet, um für die Kompression der Daten, um die komprimierten Daten 16 zu erhalten, nicht nur die zu komprimierenden Daten 12 zu verwenden, sondern sich auch weiterer, zusätzlicher Daten 18 zu bedienen. Die weiteren Daten 18 können in einem flüchtigen oder nicht flüchtigen Datenspeicher 22 gespeichert sein, der beispielsweise die Speicherbereichsarchitektur eines Zielsystems nachbildet, also eines Systems oder einer Vorrichtung, die dazu bestimmt oder vorgesehen ist, die komprimierten Daten 16 wieder zu dekomprimieren. Das bedeutet, der Speicher 22 kann eine Nachbildung oder Kopie des Datenspeichers des Zielsystems sein oder zumindest die entsprechenden Informationen aufweisen.The control unit 14th is designed to be responsible for the compression of the data to get the compressed data 16 not just the data to be compressed 12 to use, but also other, additional data 18th to use. The other dates 18th can be in a volatile or non-volatile data memory 22nd be stored, which simulates, for example, the memory area architecture of a target system, that is to say of a system or a device that is intended or provided for, the compressed data 16 to decompress again. That means the memory 22nd can be a replica or copy of the data memory of the target system or at least contain the corresponding information.

Zu den Informationen gehören beispielsweise Speicherbereiche, in denen die weiteren Daten 18 gespeichert sind. So kann eine Speicherbereichsinformation 24 einen Hinweis darauf geben, in welchem oder in welchen Datenbereich bzw. Datenbereichen des Datenspeichers 22 die weiteren Daten 18 abgelegt sind. Anders ausgedrückt, kann die Speicherbereichsinformation 24 einen oder mehrere Speicherbereiche mit zumindest einer Speicherzelle des Datenspeichers 22 angeben, an denen die weiteren Daten 18 gespeichert sind.The information includes, for example, memory areas in which the other data 18th are stored. So a memory area information 24 give an indication of in which or in which data area or data areas of the data memory 22nd the other data 18th are filed. In other words, the storage area information 24 one or more memory areas with at least one memory cell of the data memory 22nd specify on which the further dates 18th are stored.

Die Speicherbereichsinformation 24 kann sich auf einen Datenspeicher einer Vorrichtung, die zum Empfangen der komprimierten Daten 16 vorgesehen ist, beziehen. Es kann somit ausgenutzt werden, dass die Präsenz der weiteren Daten 18 an einer Vorrichtung, die zum Empfangen der komprimierten Daten 16 vorgesehen ist, vorbekannt ist. Die Speicherbereichsinformation 24 kann zumindest eines aus einer Datenlänge und einem Datenort des Speicherbereichs angeben. Die Speicherbereichsinformation kann zumindest eine Teilmenge der Vielzahl von Speicherbereichen angeben, in denen beispielsweise für die Dekomprimierung zu verwendende Daten hinterlegt sind.The storage area information 24 can refer to a data memory of a device that is used to receive the compressed data 16 is intended to relate. It can thus be used that the presence of further data 18th at a device that is responsible for receiving the compressed data 16 is provided is previously known. The storage area information 24 can specify at least one of a data length and a data location of the memory area. The memory area information can specify at least a subset of the plurality of memory areas in which, for example, data to be used for the decompression are stored.

Die Steuerungseinheit 14 kann ausgebildet sein, um die zu komprimierenden Daten 12 verlustlos oder verlustbehaftet zu komprimieren. Beispiele für verlustlose Datenkomprimierungen sind beispielsweise der LZ77-Algorithmus, der Deflate-Algorithmus (Deflate=Luft herauslassen) oder der Lempel-Ziv-Markow-Algorithmus (LZMA). Verlustbehaftete Möglichkeiten zur Datenkomprimierung sind beispielsweise aus Datenkompressionen bekannt, die im Zusammenhang mit menschlichen Sinneswahrnehmungen verwendet werden, beispielsweise im Bildbereich, etwa JPEG, im Videobereich und/oder im Audiobereich.The control unit 14th can be designed to contain the data to be compressed 12 to compress losslessly or lossy. Examples of lossless data compression are, for example, the LZ77 algorithm, the deflate algorithm (Deflate = letting out air) or the Lempel-Ziv-Markow algorithm (LZMA). Lossy possibilities for data compression are known, for example, from data compressions that are used in connection with human sensory perception, for example in the image area, for example JPEG, in the video sector and / or in the audio sector.

Die Steuerungseinheit 14 ist ausgebildet, um die komprimierten Daten 16 und die Speicherbereichsinformation 24 bereitzustellen. Die Steuerungseinheit 14 kann ausgebildet sein, um die Speicherbereichsinformation 24 in die komprimierten Daten 16 einzubetten, wie es in 1 beispielhaft dargestellt ist. Die Speicherbereichsinformation 24 kann dadurch Teil der komprimierten Daten 16 sein, kann aber auch als separate Information, etwa als separates Signal oder separate Bitfolge, bereitgestellt werden. Die Speicherbereichsinformation 24 kann an beliebiger Stelle der komprimierten Daten 16 eingefügt werden, beispielsweise vor, nach oder zwischen anderen komprimierten Daten 161 und/oder 162 .The control unit 14th is designed to take the compressed data 16 and the storage area information 24 to provide. The control unit 14th can be designed to store the memory area information 24 into the compressed data 16 to embed, as in 1 is shown by way of example. The storage area information 24 can thereby be part of the compressed data 16 but can also be provided as separate information, for example as a separate signal or separate bit sequence. The storage area information 24 can be anywhere in the compressed data 16 can be inserted, for example before, after or between other compressed data 16 1 and or 16 2 .

Die Vorrichtung 10 kann eine nicht dargestellte Datenschnittstelle zum Senden der komprimierten Daten 16 aufweisen. Diese Datenschnittstelle kann drahtgebunden oder drahtlos ausgeführt sein.The device 10 can have a data interface (not shown) for sending the compressed data 16 exhibit. This data interface can be wired or wireless.

2 zeigt ein schematisches Blockschaltbild einer Vorrichtung 20 gemäß einem Ausführungsbeispiel, die eingerichtet ist, um die komprimierten Daten 16 zu empfangen, um diese zu dekomprimieren. Für die Dekomprimierung kann ein mit der Komprimierung übereinstimmendes bzw. komplementäres Verfahren eingesetzt werden, bspw. ebenfalls der LZ77-Algorithmus. Die Vorrichtung 20 umfasst einen Datenspeicher 26 mit einem oder mehreren Speicherbereichen 281 bis 28j , die beispielsweise gemäß der durch den Datenspeicher 22 der Vorrichtung 1 zumindest nachgebildeten Struktur angeordnet sind und Vorrichtungsdaten 32 aufweist, die in einen oder mehreren Speicherbereichen 281 bis 28j gespeichert sind. Der Datenspeicher 26 kann ganz oder teilweise ein flüchtiger Speicher sein und/oder kann ganz oder teilweise ein nicht-flüchtiger Speicher sein. Das bedeutet, der Datenspeicher kann ein flüchtiger Speicher sein, kann ein nicht-flüchtiger Speicher sein oder eine Kombination hieraus. 2 shows a schematic block diagram of a device 20th according to an embodiment, which is set up to the compressed data 16 to receive in order to decompress it. For the decompression, a method that matches or is complementary to the compression can be used, for example likewise the LZ77 algorithm. The device 20th includes a data store 26th with one or more memory areas 28 1 to 28 y for example, according to the data storage 22nd the device 1 are arranged at least simulated structure and device data 32 having that in one or more memory areas 28 1 to 28 y are stored. The data store 26th can be entirely or partially a volatile memory and / or can be entirely or partially a non-volatile memory. This means that the data memory can be a volatile memory, a non-volatile memory or a combination thereof.

Die Vorrichtung 20 umfasst eine Datenschnittstelle 34, die ausgebildet ist, um die komprimierten Daten 16 als beispielsweise drahtloses oder drahtgebundenes optisches oder elektromagnetisches Signal zu empfangen. Beispielsweise können die komprimierten Daten 16 unter Anwendung eines drahtlosen Mobilfunkstandards empfangen werden, beispielsweise 2G, 3G, LTE (Long-Term-Evolution-Langzeitentwicklung), 5G oder dergleichen. Alternativ können auch andere, bspw. drahtlose Übertragungen eingesetzt werden, bspw. ein drahtloses lokales Netzwerk.The device 20th includes a data interface 34 which is designed to contain the compressed data 16 for example as a wireless or wired optical or electromagnetic signal. For example, the compressed data 16 can be received using a wireless cellular standard, for example 2G, 3G, LTE (Long-Term-Evolution-Long-Term Development), 5G or the like. Alternatively, other, for example wireless, transmissions can also be used, for example a wireless local network.

Die Vorrichtung 20 umfasst eine Steuerungseinheit 36, die ausgebildet ist, um die komprimierten Daten 16 auf die Speicherbereichsinformation 24 hin auszuwerten, das bedeutet, eine Information zu erhalten, in welchem Speicherbereich 281 bis 28j , im vorliegenden Beispiel 28i zu berücksichtigende Daten in dem Datenspeicher 26 gespeichert sind. Die Steuerungseinheit 36 ist ausgebildet, um die komprimierten Daten 16 unter Verwendung der in dem Speicherbereich 26 am Ort der durch die Speicherbereichsinformation 24 bezeichneten Vorrichtungsdaten 32 zu dekomprimieren.The device 20th includes a control unit 36 which is designed to contain the compressed data 16 on the storage area information 24 to evaluate, that is, to obtain information in which memory area 28 1 to 28 y , in the present example 28 i data to be considered in the data memory 26th are stored. The control unit 36 is designed to take the compressed data 16 using the in the memory area 26th at the location of the storage area information 24 designated device data 32 to decompress.

Die Steuerungseinheit 36 ist ausgebildet, um basierend auf der Dekomprimierung dekomprimierte Daten 38 zu erhalten. Die dekomprimierten Daten können einer verlustbehafteten oder verlustlosen, das heißt, übereinstimmenden Version der zu komprimierenden Daten 12 entsprechen. Verluste können beispielsweise durch verlustbehaftete Kompressionen, wie sie beispielsweise in der Bildübertragung, der Tonübertragung oder anderer Daten verwendet werden, erhalten werden.The control unit 36 is designed to generate decompressed data based on the decompression 38 to obtain. The decompressed data can be a lossy or lossless, that is, a matching version of the data to be compressed 12 correspond. Losses can be obtained, for example, through lossy compressions, such as those used in image transmission, sound transmission or other data.

Bevorzugt bildet der Datenspeicher 22 der Vorrichtung 10 den Datenspeicher 26 der Vorrichtung 20 zumindest im Hinblick auf den Inhalt des Speicherbereichs 28i hinreichend exakt oder übereinstimmend nach, so dass zumindest im Rahmen der Komprimierung und Dekomprimierung von Daten die Vorrichtungsdaten 32 den weiteren Daten 18 entsprechen. Es kann dabei ausreichend sein, dass lediglich bestimmte Abschnitte oder Ausschnitte oder Teile der weiteren Daten 18 mit den Vorrichtungsdaten 32 übereinstimmen, nämlich jene, die für die Komprimierung oder Dekomprimierung verwendet werden. So können beispielsweise manche Teile, wie etwa Header, Zeitstempel oder dergleichen vernachlässigt werden. Alternativ können solche Angaben auch für die Komprimierung und Dekomprimierung verwendet werden, so dass beispielsweise die Vorrichtungsdaten 32 mit den weiteren Daten 18 vollständig übereinstimmen können.The data memory preferably forms 22nd the device 10 the data store 26th the device 20th at least with regard to the content of the memory area 28 i sufficiently exactly or in accordance with, so that at least in the context of the compression and decompression of data, the device data 32 the other data 18th correspond. It may be sufficient that only certain sections or excerpts or parts of the further data 18th with the device data 32 match, namely those used for compression or decompression. For example, some parts such as headers, time stamps or the like can be neglected. Alternatively, such information can also be used for the compression and decompression, so that, for example, the device data 32 with the other data 18th can match completely.

Die Dekomprimierung der Vorrichtung 20 stützt sich somit teilweise auf Daten, die außerhalb der komprimierten Daten 16 liegen. Dies kann auch so verstanden werden, dass beispielsweise ein für die Dekomprimierung verwendetes Wörterbuch auch Einträge aufweist, die in dem Datenspeicher 26 in Form von bereits zuvor bekannten Vorrichtungsdaten 32 hinterlegt sind.The decompression of the device 20th thus relies in part on data that is outside of the compressed data 16 lie. This can also be understood to mean that, for example, a dictionary used for decompression also has entries that are in the data memory 26th in the form of previously known device data 32 are deposited.

Ausführungsbeispiele eignen sich beispielsweise für eingebettete Systeme, das bedeutet, die Vorrichtung 20 kann ein eingebettetes System sein. Unter eingebetteten Systemen kann eine datenverarbeitende oder abarbeitende Vorrichtung verstanden werden, beispielsweise zum Verschlüsseln, zum Entschlüsseln, zum Filtern, zum Steuern eines Aktuators, zum Messen von Umgebungsparametern oder dergleichen. Als eingebettetes System im Zusammenhang mit hierin beschriebenen Ausführungsbeispielen werden auch Vorrichtungen verstanden, deren Nutzung des Datenspeichers möglicherweise höchstens zu Teilen der Kontrolle eines Nutzers unterliegt. Anders ausgedrückt, kann die Nutzung des Datenspeichers 26 beispielsweise ganz oder teilweise durch einen Hersteller der Vorrichtung 20 bestimmt sein, so dass der Hersteller zumindest im Hinblick auf diese Teile des Datenspeichers 26 Kenntnisse bezüglich der dort hinterlegten Daten, der Vorrichtungsdaten 32, haben kann.Exemplary embodiments are suitable, for example, for embedded systems, that is, the device 20th can be an embedded system. Embedded systems can be understood to mean a data-processing or processing device, for example for encryption, decryption, filtering, controlling an actuator, measuring ambient parameters or the like. As an embedded system in connection with those described herein Exemplary embodiments are also understood to mean devices whose use of the data memory is possibly at most partially subject to the control of a user. In other words, the use of the data memory 26th for example in whole or in part by a manufacturer of the device 20th be determined so that the manufacturer at least with regard to these parts of the data memory 26th Knowledge of the data stored there, the device data 32 , may have.

Es ist insofern möglich, diese Kenntnis für die Komprimierung von Daten zu nutzen, wie es anhand der 3a und 3b dargestellt ist.To that extent it is possible to use this knowledge for the compression of data, as can be seen from the 3a and 3b is shown.

3a zeigt eine beispielhafte schematische Ansicht eines Datenspeichers 42a, dessen Inhalt vollständig von einem Benutzer individuell steuerbar ist. Beispielsweise können übereinstimmende Symbole in den 3a und 3b übereinstimmenden Dateninhalt anzeigen und voneinander verschiedene Symbole als voneinander verschiedener Dateninhalt in einem Speicherbereich verstanden werden. Ferner ist der Inhalt eines Datenspeichers 42b gezeigt, der einen identischen Datenspeicher aber in einem anderen, ebenfalls individuell gesteuerten System umfasst, so dass ein Dateninhalt 44a1 bis 44a5 des Datenspeichers 42a von Dateninhalten 44b1 bis 44b5 des Datenspeichers 42b gleich oder verschieden sein kann und/oder für die Hinterlegung der Speicherinhalte 44a1 bis 44b5 genutzte Speicherbereiche 281 bis 2810 gleich oder verschieden sein können. Dies kann dazu führen, dass zusätzliche Daten 46 in unterschiedlichen Bereichen in den Datenspeichern 42a und 42b abgelegt werden. 3a FIG. 11 shows an exemplary schematic view of a data memory 42a whose content can be fully controlled by a user. For example, matching symbols in the 3a and 3b show corresponding data content and symbols different from one another are understood as mutually different data contents in a memory area. Furthermore, the content of a data memory 42b shown, which includes an identical data memory but in a different, also individually controlled system, so that a data content 44a 1 to 44a 5 of the data memory 42a of data content 44b 1 to 44b 5 of the data memory 42b can be the same or different and / or for the storage of the memory contents 44a 1 to 44b 5 used memory areas 28 1 to 28 10 can be the same or different. This can lead to additional data 46 in different areas in the data storage 42a and 42b be filed.

3b zeigt dem gegenüberstehend Datenspeicher 261 und 262 unterschiedlicher aber bezüglich der Bauart, Seriennummer oder dergleichen identischen eingebetteten Systeme. Hier raus kann erhalten werden, dass Vorrichtungsdaten 321 bis 325 ganz oder teilweise in identischen Speicherbereichen 281 , 282 , 288 , 289 und 2810 gespeichert sein können, während ebenfalls übereinstimmend andere Speicherbereiche 283 bis 287 frei sein können oder anderweitig belegt sein können. Bspw. kann es sich dabei um Speicherbereiche handeln, die bzw. deren Dateninhalt überschrieben wird. 3b shows the opposite data memory 26 1 and 26 2 embedded systems that are different but identical in terms of type, serial number or the like. From here it can be obtained that device data 32 1 to 32 5 completely or partially in identical memory areas 28 1 , 28 2 , 28 8 , 28 9 and 28 10 can be stored, while also matching other memory areas 28 3 to 28 7 can be free or otherwise occupied. For example, these can be memory areas that or whose data content is overwritten.

Es kann somit bekannt und/oder vorhersehbar sein, welcher Speicherbereich 28 welche Vorrichtungsdaten 32 aufweist und/oder an welcher Stelle in dem Datenspeicher 261 und 262 die dekomprimierten Daten 38 abgelegt werden. Diese Kenntnis kann sowohl zum Komprimieren als auch zum Dekomprimieren verwendet werden, da die Vorrichtung 10 beispielsweise diese Kenntnis zum Komprimieren der Daten nutzen kann und die Vorrichtung 20 die komprimierten Daten 16 unter Verwendung der Vorrichtungsdaten 32 dekomprimieren kann, auf die in den komprimierten Daten 16 lediglich mittels der Speicherbereichsinformation 24 verwiesen wird. Ausführungsbeispiele eignen sich beispielsweise zum Aktualisieren einer Firmware, das bedeutet, den Betrieb der Vorrichtung bestimmenden Daten, das bedeutet, die komprimierten Daten 16 können eine Firmware der Vorrichtung 20 aufweisen.It can thus be known and / or predictable which memory area 28 what device data 32 has and / or at what point in the data memory 26 1 and 26 2 the decompressed data 38 be filed. This knowledge can be used for both compression and decompression as the device 10 for example, this knowledge can be used to compress the data and the device 20th the compressed data 16 using the device data 32 can decompress on the in the compressed data 16 only by means of the memory area information 24 is referred. Exemplary embodiments are suitable, for example, for updating firmware, that is, data that determine the operation of the device, that is, the compressed data 16 can update the device firmware 20th exhibit.

In anderen Worten kann eine Übertragung neuer oder zusätzlicher Daten 46 bzw. 38, die zu einer Vielzahl von Geräten übertragen werden soll, vor dem Hintergrund erfolgen, dass sich Speicher von bekannten und in 3a schematisch dargestellten PCs (Personal Computer) bezüglich deren Inhalt und/oder Speicherorten übereinstimmender Inhalte (44a3/44b1 oder 44a4/44b2 ) unterscheiden. Im Gegensatz hierzu kann der Speicheraufbau bzw. das Speicherlayout eines eingebetteten Systems, welches in 3b dargestellt ist, bekannt und über unterschiedliche Plattformen unveränderlich sein. Ein Ausnutzen dieser Information ermöglicht es, Übertragungszeit, eine limitierte Bandbreite/Bitrate und Speicheranforderungen (etwa durch Orte zur Zwischenspeicherung) effizient auszunutzen, indem die Größe zu übertragender Daten gering gehalten wird.In other words, a transfer of new or additional data can occur 46 or. 38 that is to be transferred to a large number of devices, against the background that memory of known and in 3a schematically represented PCs (personal computers) with regard to their content and / or storage locations of corresponding content ( 44a 3 / 44b 1 or 44a 4 / 44b 2 ) differ. In contrast, the memory structure or the memory layout of an embedded system, which is in 3b is represented, known and immutable across different platforms. Utilizing this information makes it possible to efficiently utilize transmission time, a limited bandwidth / bit rate and storage requirements (for example through locations for intermediate storage) by keeping the size of the data to be transmitted small.

4 zeigt ein schematisches Blockschaltbild zur Verdeutlichung einer Datenkompression gemäß Ausführungsbeispielen, wie sie beispielsweise durch die Steuerungseinheit 14 ausgeführt werden kann. Sowohl die Anzahl als auch der Inhalt oder die Länge der anhand der hierin beschriebenen Ausführungsbeispiele beschriebenen Daten ist dabei lediglich beispielhaft gewählt und schränkt die Ausführungsbeispiele nicht ein. 4th shows a schematic block diagram to clarify a data compression according to exemplary embodiments, as is done, for example, by the control unit 14th can be executed. Both the number and the content or the length of the data described on the basis of the exemplary embodiments described herein are selected merely as examples and do not restrict the exemplary embodiments.

Zum Erhalt der komprimierten Daten 16 aus den zu komprimierenden Daten 12 können weitere Daten 18 verwendet werden. Die zu komprimierenden Daten 12 können beispielsweise fünf Datenteile, Datensegmente oder Datenworte 121 bis 125 aufweisen, wobei eine beliebige andere Anzahl möglich ist und die Anzahl fünf lediglich hier beispielhaft zu verstehen ist. Gemäß anderen Ausführungsbeispielen können zumindest ein, zumindest zwei, zumindest drei, zumindest vier, zumindest sechs, zumindest zehn oder mehr, beispielsweise zumindest 50, zumindest 100 oder zumindest 200 Datensegmente komprimiert werden.To obtain the compressed data 16 from the data to be compressed 12 can add more data 18th be used. The data to be compressed 12 can, for example, five data parts, data segments or data words 12 1 to 12 5 have, wherein any other number is possible and the number five is only to be understood here as an example. According to other exemplary embodiments, at least one, at least two, at least three, at least four, at least six, at least ten or more, for example at least 50, at least 100 or at least 200 data segments can be compressed.

Wie es anhand der übereinstimmenden Symbole dargestellt ist, können die Datensegmente 121 und 122 übereinstimmenden Inhalt aufweisen, ebenso wie die Datensegmente 124 und 125 . Die Übereinstimmung kann sich dabei darauf beziehen, dass die Übereinstimmung bereits in den zu komprimierenden Daten 12 vorliegt, kann aber auch so verstanden werden, dass die Übereinstimmung nach der auszuführenden Kompression vorliegt, was insbesondere bei verlustbehafteten Kompressionen vorkommen kann, wo voneinander abweichende Dateninhalte in übereinstimmende komprimierte Daten komprimiert werden können, beispielsweise aufgrund von Quantisierungen.As shown by the matching symbols, the data segments 12 1 and 12 2 have matching content, as do the data segments 12 4 and 12 5 . The match can refer to the fact that the match already exists in the data to be compressed 12 is present, but can also be understood to mean that the match is present after the compression to be carried out, which can occur in particular with lossy compressions, where data contents differing from one another can be compressed into matching compressed data, for example due to quantizations.

Die in dem Datenspeicher 22 verfügbaren weiteren Daten 181 bis 185 können als in einer Vorrichtung zum Dekomprimieren der Daten vorbekannt verstanden werden.The ones in the data store 22nd available further data 18 1 to 18 5 can be understood as previously known in a device for decompressing the data.

Ausführungsbeispiele ermöglichen es, eine Kompression der Datensegmente 121 und 122 unter Bezugnahme auf die weiteren Daten 181 des Datenspeichers 22 auszuführen, obwohl die weiteren Daten 181 nicht Teil der zu komprimierenden Daten 12 sind. Es kann ausreichend sein, einen Speicherort und/oder eine Datenlänge anzugeben. So kann beispielsweise eine komprimierte Version 161 des Datensegments 121 eine Bezugnahme auf die Position (pos) in dem Datenspeicher 22 aufweisen. Die Position kann dabei absolut und/oder relativ auf den Ort in dem Datenspeicher 22 verweisen. So kann eine relative Position, wie sie beispielsweise in 4 dargestellt ist, als Offset oder Verschiebung bezüglich der eigenen Speicherposition angegeben werden, da auch der Ort der Speicherung der dekomprimierten Daten 38 in dem Zielsystem bekannt ist. So kann beispielsweise für das komprimierte Datensegment 161 eine Angabe dahingehend erfolgen, dass relativ zur eigenen Speicherposition ein auf einen Speicherbereich zeigender Zeiger um einen Wert von 2 zu reduzieren ist (pos: -2), um den zu verwendenden Dateninhalt zu erhalten. Es kann ferner eine Datenlänge angegeben werden, das bedeutet, es kann beispielsweise angegeben werden, einen oder mehrere Datenbereiche des Zielspeichers zu verwenden, insbesondere, wenn Sequenzen in mehreren Speicherbereichen übereinstimmen, wie es für das komprimierte Datensegment 162 gezeigt ist, das auf die weiteren Daten 181 mittels der relativen Informationen (pos: -3) verweist und über eine Information zur Datenlänge „len: 2“ angibt, dass sowohl die weiteren Daten 181 als auch die weiteren Daten 182 zu verwenden sind.Embodiments make it possible to compress the data segments 12 1 and 12 2 with reference to the other data 18 1 of the data memory 22nd execute, although the other data 18 1 not part of the data to be compressed 12 are. It may be sufficient to specify a storage location and / or a data length. For example, a compressed version 16 1 of the data segment 12 1 a reference to the position (pos) in the data memory 22nd exhibit. The position can be absolute and / or relative to the location in the data memory 22nd refer. For example, a relative position as shown in 4th is shown, can be specified as an offset or shift with respect to the own storage position, as the location of the storage of the decompressed data 38 is known in the target system. For example, for the compressed data segment 16 1 an indication is given that a pointer pointing to a memory area is to be reduced by a value of 2 relative to the own memory position (pos: -2) in order to obtain the data content to be used. A data length can also be specified, that is, it can be specified, for example, to use one or more data areas of the target memory, in particular if sequences in several memory areas match, as is the case for the compressed data segment 16 2 is shown that on the further data 18 1 by means of the relative information (pos: -3) and via information on the data length "len: 2" indicates that both the further data 18 1 as well as the other data 18 2 are to be used.

Ein Teil der Speicherbereichsinformation kann die Datenlänge (len) angeben, dass eine Länge von 1, 2 oder dem jeweils angegebenen Wert an der bezeichneten relativen Adresse (Offset) eine Übereinstimmung mit den gesuchten Zieldaten aufweist, was auch einen Verweis auf mehrere Speicherbereiche gleichzeitig ermöglicht.Part of the memory area information can indicate the data length (len) that a length of 1, 2 or the specified value at the designated relative address (offset) corresponds to the target data sought, which also enables a reference to several memory areas at the same time.

Für die zu komprimierenden Daten 124 ist beispielsweise keine geeignete Vorlage in dem Datenspeicher 22 vorhanden und auch noch keine vorangehende Version in den zu komprimierenden Daten, weswegen das zu komprimierende Datensegment 124 beispielsweise unkomprimiert als Datensegment 163 in den komprimierten Daten 16 enthalten sein kann und gleichzeitig als Vorlage für das komprimierte Datensegment 164 , welches sich über die relative Positionsangabe auf dieses Segment zurückbezieht.For the data to be compressed 12 4 for example, there is no suitable template in the data store 22nd available and no previous version in the data to be compressed, which is why the data segment to be compressed 12 4 for example uncompressed as a data segment 16 3 in the compressed data 16 can be included and at the same time as a template for the compressed data segment 16 4 which refers back to this segment via the relative position information.

Wird das Beispiel aus 4 vor dem Hintergrund der Kompressionsfähigkeit der Datensegmente 124 und 125 betrachtet, so könnte das zu komprimierende Datensegment 124 komprimiert werden, wäre eine Vorlage hierfür in dem Datenspeicher 22 zu finden. Diesen Vorteil nutzt sowohl das komprimierte Datensegment 161 als auch das komprimierte Datensegment 162 , weswegen die komprimierten Daten 16 eine geringe Datengröße aufweisen.Will the example 4th against the background of the compressibility of the data segments 12 4 and 12 5 considered, the data segment to be compressed could be 12 4 are compressed, a template for this would be in the data store 22nd to find. The compressed data segment uses this advantage 16 1 as well as the compressed data segment 16 2 which is why the compressed data 16 have a small data size.

Alternativ zu einer relativen Positionsangabe bezogen auf eine bestimmte Datenzelle oder den eigenen Speicherort kann auch eine absolute Speicheradresse angegeben werden, beispielsweise eine laufende Nummer oder eine Identifikationsnummer eines entsprechenden Speicherbereichs in dem Datenspeicher 22.As an alternative to a relative position specification in relation to a specific data cell or one's own storage location, an absolute storage address can also be specified, for example a consecutive number or an identification number of a corresponding storage area in the data memory 22nd .

5 zeigt ein schematisches Blockschaltbild der Dekomprimierung der komprimierten Daten 16. Die 5 zeigt dabei den Inhalt der 4 in einem oberen, der Vorrichtung 10 zugeordneten Bereich, um darzustellen, dass die komprimierten Daten 16 aus den zu komprimierenden Daten 12 erhalten werden können. 5 shows a schematic block diagram of the decompression of the compressed data 16 . The 5 shows the content of the 4th in an upper one, the device 10 assigned area to represent the compressed data 16 from the data to be compressed 12 can be obtained.

In einem weiteren Bereich der 5 ist dargestellt, die komprimierten Daten 16 an beispielsweise zwei Vorrichtungen 201 und 202 , die der Vorrichtung 20 entsprechen können, zu übermitteln. Hierfür kann eine beliebige andere Anzahl von Vorrichtungen 20 angenommen werden, beispielsweise, zumindest eine, zumindest drei, zumindest vier, zumindest fünf, zumindest zehn oder mehr.In another area of 5 is shown the compressed data 16 on two devices, for example 20 1 and 20 2 that the device 20th can correspond to transmit. Any other number of devices can be used for this purpose 20th may be assumed, for example, at least one, at least three, at least four, at least five, at least ten or more.

Die Vorrichtungen 201 und 202 können die komprimierten Daten 16 über die jeweilige Datenschnittstelle 34 empfangen. Aufgrund von zugehörigen Anweisungen oder des vorbekannten Verhaltens der Vorrichtungen 201 und 202 als beispielsweise eingebettete Systeme, ist ebenfalls vorbekannt, in welchen Speicherbereichen 283 bis 287 des Datenspeichers 261 bzw. 262 die dekomprimierten Daten 38 abgelegt werden. Deshalb sind sowohl absolute als auch relative Angaben der Speicherbereichsinformationen, das bedeutet, sowohl konkrete Adressen im Speicherbereich als auch Angaben zu Zeigern/Pointer und/oder deren Veränderung zuverlässige Angaben. Das bedeutet, die Steuerungseinheit 36 kann ausgebildet sein, um zusammen mit den komprimierten Daten 16 eine Zielinformation zu erhalten, die auf zumindest einen Ziel-Speicherbereich des Datenspeichers 26 verweist. Die Steuerungseinheit kann ausgebildet sein, um die dekomprimierten Daten 38 in dem Ziel-Speicherbereich zu speichern. Die Zielinformation kann Teil der komprimierten Daten 16 sein oder separat erhalten werden. Das bedeutet, die Steuerungseinheit 14 kann eine Anweisung darüber erhalten, wo die dekomprimierten Daten 38 abzulegen sind und/oder wie diese zu verwenden sind. Hierfür kann für jedes Datensegment eine eigene Information ausgegeben werden oder lediglich eine oder mehrere ausgewählte Bereiche bestimmt werden, beispielsweise ein erster Speicherbereich der nachfolgenden Speicherbereichen vorangeht.The devices 20 1 and 20 2 can use the compressed data 16 via the respective data interface 34 receive. Based on associated instructions or the previously known behavior of the devices 20 1 and 20 2 as, for example, embedded systems, it is also previously known in which memory areas 28 3 to 28 7 of the data memory 26 1 or. 26 2 the decompressed data 38 be filed. Therefore, both absolute and relative details of the memory area information, that is, both specific addresses in the memory area and information about pointers / pointers and / or their changes, are reliable information. That means the control unit 36 can be designed to go along with the compressed data 16 to receive target information which is at least one target memory area of the data memory 26th refers. The control unit can be designed to process the decompressed data 38 in the destination memory area. The destination information can be part of the compressed data 16 or be obtained separately. The means the control unit 14th can get an instruction about where the decompressed data is 38 are to be filed and / or how they are to be used. For this purpose, separate information can be output for each data segment or only one or more selected areas can be determined, for example a first memory area precedes the subsequent memory areas.

So kann ein Inhalt des Speicherbereichs 283 durch Verweis auf den Speicherbereich 281 erhalten werden, indem dessen Inhalt für die dekomprimierten Daten 38 übernommen wird. Ebenso kann der Inhalt der Speicherbereiche 284 und 285 durch Übernehmen der Speicherbereiche 281 und 282 basierend auf den Speicherbereichsinformationen im Zusammenhang mit dem komprimierten Datensegment 162 erhalten werden. Ein Inhalt des Speicherbereichs 286 kann durch Übernehmen des komprimierten Datensegments 163 erfolgen, um eine Vorlage für den Inhalt des Speicherbereichs 287 zu schaffen, da das komprimierte Datensegment 164 einen Verweis auf den Datenbereich 286 liefert, so dass eine Übernahme dessen Inhalts für den Speicherbereich 287 eingesetzt werden kann.So a content of the memory area 28 3 by reference to the memory area 28 1 can be obtained by adding its content to the decompressed data 38 is taken over. The content of the memory areas 28 4 and 28 5 by taking over the memory areas 28 1 and 28 2 based on the storage area information associated with the compressed data segment 16 2 can be obtained. A content of the storage area 28 6 can by accepting the compressed data segment 16 3 made to a template for the content of the storage area 28 7 to create as the compressed data segment 16 4 a reference to the data area 28 6 supplies, so that a takeover of its content for the memory area 28 7 can be used.

Zusätzlich zu der erhaltenen geringen Datengröße der komprimierten Daten 16 kann diese Vorgehensweise für mehrere Vorrichtungen 201 und 202 verwendet werden, das bedeutet, die beschriebene Verfahrensweise und die beschriebenen Eigenschaften der Vorrichtungen 201 und 202 eignen sich auch dafür, das übereinstimmende Speicherlayout zwischen den Vorrichtungen 201 und 202 beizubehalten.In addition to the obtained small data size of the compressed data 16 can do this for multiple devices 20 1 and 20 2 are used, that is, the described procedure and the described properties of the devices 20 1 and 20 2 are also useful for matching the memory layout between devices 20 1 and 20 2 to maintain.

Die Steuerungseinheit 36 kann ausgebildet sein, um zum Dekomprimieren der komprimierten Daten 16 die komprimierten Daten 16 um die in dem Speicherbereich gespeicherten Daten, beispielsweise, die weiteren Daten 32, zumindest teilweise zu erweitern, das heißt, die weiteren Daten 321 bis 325 zu verwenden, um aus den komprimierten Daten 16 die dekomprimierten Daten 38 zu erhalten. Die Steuerungseinheit kann ausgebildet sein, um die dekomprimierten Daten 38 in dem Datenspeicher 26 abzulegen.The control unit 36 can be designed to decompress the compressed data 16 the compressed data 16 to the data stored in the memory area, for example the further data 32 to expand at least partially, that is, the further data 32 1 to 32 5 to use to get out the compressed data 16 the decompressed data 38 to obtain. The control unit can be designed to process the decompressed data 38 in the data store 26th to discard.

In anderen Worten können gegenüber bekannten Konzepten zur Komprimierung und Dekomprimierung von Daten gemäß Ausführungsbeispielen neben den Daten der zu komprimierenden Daten selbst auch zusätzliche Informationen, das bedeutet, andere Daten verwendet werden, so dass eine sehr geringe Datengröße der komprimierten Daten erhalten wird. Da gemäß Ausführungsbeispielen das Speicher-Layout insbesondere von eingebetteten Systemen, fest und bekannt ist, können sowohl neue Daten als auch existierender Speicherinhalt des eingebetteten Systems genutzt werden, um Daten zu komprimieren und zu dekomprimieren, wodurch die Datengröße der komprimierten Daten weiter verringert werden kann.In other words, compared to known concepts for compressing and decompressing data according to exemplary embodiments, in addition to the data of the data to be compressed itself, additional information, that is, other data, can be used so that a very small data size of the compressed data is obtained. Since, according to exemplary embodiments, the memory layout, in particular of embedded systems, is fixed and known, both new data and existing memory content of the embedded system can be used to compress and decompress data, whereby the data size of the compressed data can be further reduced.

6 zeigt ein schematisches Blockschaltbild eines Datenübertragungssystems 60 gemäß einem Ausführungsbeispiel, das eine Vorrichtung 61 zum Komprimieren zu komprimierender Daten aufweist, wie es im Zusammenhang mit der Vorrichtung 10 beschrieben ist. Gemäß einem Ausführungsbeispiel entspricht die Vorrichtung 61 der Vorrichtung 10. Das Datenübertragungssystem 60 weist ferner eine Vorrichtung 65 zum Dekomprimieren der komprimierten Daten 16 auf, wie es im Zusammenhang mit der Vorrichtung 20 beschrieben ist. Gemäß einem Ausführungsbeispiel entspricht die Vorrichtung 65 der Vorrichtung 20. 6th shows a schematic block diagram of a data transmission system 60 according to an embodiment, the a device 61 for compressing data to be compressed, as it is in connection with the device 10 is described. According to one embodiment, the device corresponds to 61 the device 10 . The data transmission system 60 further comprises a device 65 to decompress the compressed data 16 on how it relates to the device 20th is described. According to one embodiment, the device corresponds to 65 the device 20th .

Die Steuerungseinheit 14 der Vorrichtung 61 ist ausgebildet, um beispielsweise eine sogenannte Field-Upgrade-Package-Datei 48 zu komprimieren, um die komprimierten Daten 16 zu erhalten. Wird beispielsweise die gesamte Datenmenge, beispielsweise Firmware, komprimiert, so kann es sich um ein volles Upgrade/Update (full update) handeln. Alternativ ist es ebenfalls möglich, die derzeitige Firmware 52 zu berücksichtigen und lediglich die Unterschiede/Abweichungen zu übertragen und/oder zu komprimieren, was zu einem differenziellen Upgrade/Update führen kann (differential field upgrade package).The control unit 14th the device 61 is designed to, for example, a so-called field upgrade package file 48 to compress the compressed data 16 to obtain. If, for example, the entire amount of data, for example firmware, is compressed, it can be a full upgrade / update. Alternatively it is also possible to use the current firmware 52 to be taken into account and only to transfer and / or compress the differences / deviations, which can lead to a differential upgrade / update (differential field upgrade package).

Die komprimierten Daten 16 können an die Vorrichtung 65 übertragen werden, um die Firmware 52 zu aktualisieren, indem die komprimierten Daten 16 dekomprimiert werden.The compressed data 16 can connect to the device 65 transferred to the firmware 52 to update by the compressed data 16 be decompressed.

In anderen Worten kann beispielsweise eine derzeitige Firmware in einem nicht flüchtigen Speicher oder einem flüchtigen Speicher eines eingebetteten Systems durch eine neue Firmware ersetzt werden. Die Steuerungseinrichtung 14, der Kompressor oder Komprimierer kann beispielweise aber nicht einschränkend durch ein Python-Script implementiert werden. Es kann auf dem LZ77-Algorithmus basieren und hier gegenüber variiert sein, wobei auch andere Algorithmen möglich sind. Es können beispielsweise Teile der derzeitigen Firmware-Datei, die beispielsweise als Intel HEX Format hinterlegt sein kann, als erweitertes Wörterbuch für den LZ77-Algorithmus verwendet werden.In other words, for example, current firmware in a non-volatile memory or a volatile memory of an embedded system can be replaced by new firmware. The control device 14th , the compressor can be implemented, for example, but not restrictively, by a Python script. It can be based on the LZ77 algorithm and can be varied here, although other algorithms are also possible. For example, parts of the current firmware file, which can be stored as Intel HEX format, for example, can be used as an extended dictionary for the LZ77 algorithm.

7 zeigt ein schematisches Ablaufdiagramm eines Verfahrens 700 gemäß einem Ausführungsbeispiel. Ein Schritt 710 umfasst ein Komprimieren zum Komprimieren der Daten unter Einbeziehung weiterer Daten, um komprimierte Daten zu erhalten, beispielsweise die komprimierten Daten 16. Ein Schritt 720 umfasst ein Bereitstellen einer Speicherbereichsinformation, die einen Speicherort der weiteren Daten angibt. Das Bereitstellen erfolgt dabei bspw. so, dass sie einer Einrichtung zum Dekomprimieren bereitgestellt werden. Die Speicherbereichsinformation kann bereits vor dem Schritt 710 festgelegt oder bestimmt werden, und in dem Schritt 710 für das Komprimieren verwendet werden, so dass auch für den Schritt 710 ein Bereitstellen der Speicherbereichsinformation erfolgt. 7th shows a schematic flow diagram of a method 700 according to an embodiment. A step 710 comprises compressing for compressing the data with the inclusion of further data in order to obtain compressed data, for example the compressed data 16 . A step 720 comprises providing storage area information that contains a storage location of the indicating further data. The provision takes place, for example, in such a way that they are made available to a device for decompressing. The memory area information can already be stored before the step 710 can be set or determined, and in the step 710 used for compressing, so also for the step 710 the storage area information is provided.

8 zeigt ein schematisches Ablaufdiagramm eines Verfahrens 800 gemäß einem Ausführungsbeispiel. Ein Schritt 810 umfasst ein Speichern von Vorrichtungsdaten in einem Speicherbereich eines Datenspeichers, beispielsweise die Vorrichtungsdaten 32. Ein Schritt 820 umfasst ein Empfangen der komprimierten Daten, die zusätzlich zu den Vorrichtungsdaten sind, beispielsweise die komprimierten Daten 16. Ein Schritt 830 umfasst ein Auswerten der komprimierten Daten auf eine Speicherbereichsinformation hin, die auf den Speicherbereich des Datenspeichers hinweist. Ein Schritt 840 umfasst ein Dekomprimieren der komprimierten Daten unter Verwendung der in dem Speicherbereich gespeicherten Vorrichtungsdaten. 8th shows a schematic flow diagram of a method 800 according to an embodiment. A step 810 comprises storing device data in a storage area of a data memory, for example the device data 32 . A step 820 includes receiving the compressed data that is in addition to the device data, for example the compressed data 16 . A step 830 comprises evaluating the compressed data for memory area information that indicates the memory area of the data memory. A step 840 comprises decompressing the compressed data using the device data stored in the storage area.

Ausführungsbeispiele ermöglichen es, die Datengröße komprimierter Daten gering zu halten, was insbesondere bei sogenannten Field Upgrades, das bedeutet, Aktualisierungen im laufenden Betrieb, Vorteile bietet. Alternativ oder zusätzlich können die Anforderungen an die Datenspeicher, insbesondere nicht-flüchtige Speicher reduziert werden, da Daten in geringem Umfang zu speichern sind.Embodiments make it possible to keep the data size of compressed data low, which offers advantages in particular in the case of so-called field upgrades, that is, updates during operation. As an alternative or in addition, the requirements for the data memories, in particular non-volatile memories, can be reduced, since data has to be stored to a small extent.

Dadurch können beispielsweise Updates schnell ausgeführt werden und Übertragungszeiten gering gehalten werden.In this way, for example, updates can be carried out quickly and transmission times can be kept short.

Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.Although some aspects have been described in connection with a device, it goes without saying that these aspects also represent a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Analogously, aspects that have been described in connection with or as a method step also represent a description of a corresponding block or details or features of a corresponding device.

Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein. Manche Ausführungsbeispiele umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.Depending on the specific implementation requirements, embodiments can be implemented in hardware or in software. The implementation can be carried out using a digital storage medium such as a floppy disk, a DVD, a Blu-ray disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, a hard disk or other magnetic memory or optical memory, on which electronically readable control signals are stored, which can interact with a programmable computer system or cooperate in such a way that the respective method is carried out. Therefore, the digital storage medium can be computer readable. Some exemplary embodiments thus include a data carrier that has electronically readable control signals that are able to interact with a programmable computer system in such a way that one of the methods described herein is carried out.

Allgemein können Ausführungsbeispiele als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.In general, exemplary embodiments can be implemented as a computer program product with a program code, the program code being effective to carry out one of the methods when the computer program product runs on a computer. The program code can for example also be stored on a machine-readable carrier.

Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.Other exemplary embodiments include the computer program for performing one of the methods described herein, the computer program being stored on a machine-readable carrier.

Mit anderen Worten ist ein Ausführungsbeispiel somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.In other words, an exemplary embodiment is thus a computer program which has a program code for carrying out one of the methods described here when the computer program runs on a computer. A further exemplary embodiment is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program for performing one of the methods described herein is recorded.

Ein weiteres Ausführungsbeispiel ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahingehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.A further exemplary embodiment is thus a data stream or a sequence of signals which represents or represents the computer program for performing one of the methods described herein. The data stream or the sequence of signals can, for example, be configured to be transferred via a data communication connection, for example via the Internet.

Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahingehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.Another exemplary embodiment comprises a processing device, for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.

Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.Another exemplary embodiment comprises a computer on which the computer program for performing one of the methods described herein is installed.

Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.In some exemplary embodiments, a programmable logic component (for example a field-programmable gate array, an FPGA) can be used to carry out some or all of the functionalities of the methods described herein. In some exemplary embodiments, a field-programmable gate array can interact with a microprocessor in order to carry out one of the methods described herein. In general, in some exemplary embodiments, the methods are performed by any hardware device. This can be universally applicable hardware such as a computer processor (CPU) or hardware specific to the method such as an ASIC.

Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Ausführungsbeispiele dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Ausführungsbeispiele lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.The embodiments described above are merely illustrative of the principles of the present embodiments. It is to be understood that modifications and variations of the arrangements and details described herein will be apparent to other skilled persons. It is therefore intended that the exemplary embodiments are limited only by the scope of protection of the following patent claims and not by the specific details presented herein with reference to the description and explanation of the exemplary embodiments.

Ausführungsbeispiele gemäß einem ersten Aspekt schaffen eine Vorrichtung zum Komprimieren von zu komprimierenden Daten mit:

  • einer Steuerungseinheit, die ausgebildet ist, um die zu komprimierenden Daten unter Einbeziehung weiterer Daten zu komprimieren, um komprimierte Daten zu erhalten; und um eine Speicherbereichsinformation bereitzustellen, die einen Speicherort der weiteren Daten angibt.
Embodiments according to a first aspect provide an apparatus for compressing data to be compressed with:
  • a control unit which is designed to compress the data to be compressed, including further data, in order to obtain compressed data; and to provide storage area information indicating a storage location of the further data.

Gemäß einem 2. Aspekt in Übereinstimmung mit dem 1. Aspekt bezieht sich die Speicherbereichsinformation auf einen Datenspeicher einer Vorrichtung, die zum Empfangen der komprimierten Daten vorgesehen ist.According to a second aspect in accordance with the first aspect, the memory area information relates to a data memory of a device which is provided for receiving the compressed data.

Gemäß einem 3. Aspekt in Übereinstimmung mit dem 1. Aspekt entsprechen die weiteren Daten Daten, deren Präsenz an einer Vorrichtung, die zum Empfangen der komprimierten Daten vorgesehen ist, vorbekannt ist.According to a third aspect in accordance with the first aspect, the further data correspond to data whose presence is known in advance on a device which is provided for receiving the compressed data.

Gemäß einem 4. Aspekt in Übereinstimmung mit dem 1. Aspekt ist die Steuereinheit ausgebildet, um die zu komprimierenden Daten unter Verwendung einer wörterbuchbasierten Kompression auszuführen, wobei das Wörterbuch Informationen bezüglich einer Wiederholung in den zu komprimierenden Daten und Informationen, die Speicherbereichsinformation aufweisen, umfasst.According to a fourth aspect in accordance with the first aspect, the control unit is designed to execute the data to be compressed using dictionary-based compression, the dictionary comprising information relating to a repetition in the data to be compressed and information having memory area information.

Gemäß einem 5. Aspekt in Übereinstimmung mit dem 1. Aspekt ist die Steuereinheit ausgebildet, um die Speicherbereichsinformation in die komprimierten Daten einzubetten. According to a fifth aspect in accordance with the first aspect, the control unit is designed to embed the memory area information in the compressed data.

Gemäß einem 6. Aspekt in Übereinstimmung mit dem 1. Aspekt ist die Steuereinheit ausgebildet, um die zu komprimierenden Daten verlustlos oder verlustbehaftet zu komprimieren.According to a sixth aspect in accordance with the first aspect, the control unit is designed to compress the data to be compressed losslessly or lossy.

Gemäß einem 7. Aspekt in Übereinstimmung mit dem 1. Aspekt weist eine Vorrichtung eine Datenschnittstelle zum Senden der komprimierten Daten auf.According to a 7th aspect in accordance with the 1st aspect, a device has a data interface for sending the compressed data.

Ausführungsbeispiele gemäß einem 8. Aspekt schaffen eine Vorrichtung zum Dekomprimieren von komprimierten Daten mit:

  • einem Datenspeicher mit einem Speicherbereich, in dem Vorrichtungsdaten gespeichert sind;
  • einer Datenschnittstelle zum Empfangen der komprimierten Daten zusätzlich zu den Vorrichtungsdaten;
  • einer Steuerungseinheit, die ausgebildet ist, um die komprimierten Daten auf eine Speicherbereichsinformation hin auszuwerten, die auf den Speicherbereich des Datenspeichers hinweist; und um die komprimierten Daten unter Verwendung der in dem Speicherbereich gespeicherten Vorrichtungsdaten zu dekomprimieren.
Embodiments according to an 8th aspect provide an apparatus for decompressing compressed data with:
  • a data memory having a storage area in which device data is stored;
  • a data interface for receiving the compressed data in addition to the device data;
  • a control unit which is designed to evaluate the compressed data for memory area information which points to the memory area of the data memory; and to decompress the compressed data using the device data stored in the storage area.

Gemäß einem 9. Aspekt in Übereinstimmung mit dem 8. Aspekt zeigt die Speicherbereichsinformation zumindest eines aus einer Datenlänge und einem Datenort des Speicherbereichs an.According to a 9th aspect in accordance with the 8th aspect, the storage area information indicates at least one of a data length and a data location of the storage area.

Gemäß einem 10. Aspekt in Übereinstimmung mit dem 8. Aspekt weist der Datenspeicher eine Vielzahl von Speicherbereichen auf, wobei die Speicherbereichsinformation zumindest eine Teilmenge der Vielzahl von Speicherbereichen angibt.According to a 10th aspect in accordance with the 8th aspect, the data memory has a plurality of storage areas, wherein the storage area information indicates at least a subset of the plurality of storage areas.

Gemäß einem 11. Aspekt in Übereinstimmung mit dem 10. Aspekt ist die Steuereinheit ausgebildet, um zum Dekomprimieren der komprimierten Daten die komprimierten Daten um die in dem Speicherbereich gespeicherten Daten zumindest teilweise zu erweitern.According to an 11th aspect in accordance with the 10th aspect, the control unit is designed to at least partially expand the compressed data by the data stored in the memory area in order to decompress the compressed data.

Gemäß einem 12. Aspekt in Übereinstimmung mit dem 11. Aspekt ist die Steuereinheit ausgebildet, um aus den komprimierten Daten dekomprimierte Daten zu erhalten, und um die dekomprimierten Daten in dem Datenspeicher abzulegen.According to a 12th aspect in accordance with the 11th aspect, the control unit is designed to obtain decompressed data from the compressed data and to store the decompressed data in the data memory.

Gemäß einem 13. Aspekt in Übereinstimmung mit dem 12. Aspekt ist die Steuereinheit ausgebildet, um zusammen mit den komprimierten Daten eine Zielinformation zu erhalten, die auf zumindest einen Ziel-Speicherbereich des Datenspeichers verweist, wobei die Steuereinheit ausgebildet ist, um die dekomprimierten Daten in dem Ziel-Speicherbereich zu speichern.According to a 13th aspect in accordance with the 12th aspect, the control unit is designed to receive, together with the compressed data, destination information that refers to at least one destination memory area of the data memory, the control unit being designed to convert the decompressed data into to the destination memory area.

Gemäß einem 14. Aspekt in Übereinstimmung mit dem 8. Aspekt ist der Datenspeicher zumindest teilweise ein nicht-flüchtiger Speicher.According to a 14th aspect in accordance with the 8th aspect, the data memory is at least partially a non-volatile memory.

Gemäß einem 15. Aspekt in Übereinstimmung mit dem 8. Aspekt ist der Datenspeicher zumindest teilweise ein flüchtiger Speicher.According to a 15th aspect in accordance with the 8th aspect, the data memory is at least partially a volatile memory.

Gemäß einem 16. Aspekt in Übereinstimmung mit dem 8. Aspekt, bei der die komprimierten Daten eine Firmware der Vorrichtung aufweisen.According to a 16th aspect in accordance with the 8th aspect, in which the compressed data comprises firmware of the device.

Gemäß einem 17. Aspekt in Übereinstimmung mit dem 8. Aspekt, ist die Vorrichtung ein eingebettetes System.According to a 17th aspect in accordance with the 8th aspect, the device is an embedded system.

Gemäß einem 18. Aspekt in Übereinstimmung mit dem 1. Aspekt verweist die Speicherbereichsinformation absolut oder relativ auf den Speicherbereich.According to an 18th aspect in accordance with the 1st aspect, the memory area information absolutely or relatively refers to the memory area.

Gemäß einem 19. Aspekt in Übereinstimmung mit dem 1. Aspekt, ist die Vorrichtung ausgebildet, um einen LZ77-Algorithmus auszuführen.According to a 19th aspect in accordance with the 1st aspect, the device is designed to carry out an LZ77 algorithm.

Ausführungsbeispiele gemäß einem 20. Aspekt schaffen ein Verfahren zum Komprimieren von zu komprimierenden Daten mit folgenden Schritten:

  • Komprimieren der zu komprimierenden Daten unter Einbeziehung weiterer Daten, um komprimierte Daten zu erhalten; und
  • Bereitstellen einer Speicherbereichsinformation, die einen Speicherort der weiteren Daten angibt.
Embodiments in accordance with a 20th aspect create a method for compressing data to be compressed with the following steps:
  • Compressing the data to be compressed with the inclusion of further data in order to obtain compressed data; and
  • Providing storage area information which indicates a storage location for the further data.

Ausführungsbeispiele gemäß einem 21. Aspekt schaffen ein Verfahren zum Dekomprimieren von komprimierten Daten mit folgenden Schritten:

  • Speichern von Vorrichtungsdaten in einem Speicherbereich eines Datenspeichers;
  • Empfangen der komprimierten Daten, die zusätzlich zu den Vorrichtungsdaten sind;
  • Auswerten der komprimierten Daten auf eine Speicherbereichsinformation hin, die auf den Speicherbereich des Datenspeichers hinweist; und
  • Dekomprimieren der komprimierten Daten unter Verwendung der in dem Speicherbereich gespeicherten Vorrichtungsdaten.
  • Ausführungsbeispiele gemäß einem 22. Aspekt schaffen ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens gemäß dem 20. oder 21. Aspekt, wenn das Programm auf einem Computer läuft.
Embodiments according to a 21st aspect create a method for decompressing compressed data with the following steps:
  • Storing device data in a storage area of a data memory;
  • Receiving the compressed data that is in addition to the device data;
  • Evaluating the compressed data for memory area information that indicates the memory area of the data memory; and
  • Decompressing the compressed data using the device data stored in the storage area.
  • Embodiments according to a 22nd aspect create a computer program with a program code for carrying out the method according to the 20th or 21st aspect when the program runs on a computer.

Claims (22)

Vorrichtung (10; 61) zum Komprimieren von zu komprimierenden Daten (12) mit: einer Steuerungseinheit (14), die ausgebildet ist, um die zu komprimierenden Daten (12) unter Einbeziehung weiterer Daten (18) zu komprimieren, um komprimierte Daten (16) zu erhalten; und um eine Speicherbereichsinformation (24) bereitzustellen, die einen Speicherort der weiteren Daten (18) angibt.Device (10; 61) for compressing data (12) to be compressed, comprising: a control unit (14) which is designed to compress the data (12) to be compressed, including further data (18), in order to obtain compressed data (16); and to provide storage area information (24) which indicates a storage location of the further data (18). Vorrichtung gemäß Anspruch 1, bei der sich die Speicherbereichsinformation (24) auf einen Datenspeicher (26) einer Vorrichtung (20; 65), die zum Empfangen der komprimierten Daten (16) vorgesehen ist, bezieht.Device according to Claim 1 in which the storage area information (24) relates to a data memory (26) of a device (20; 65) which is provided for receiving the compressed data (16). Vorrichtung gemäß Anspruch 1 oder 2, bei der die weiteren Daten (18) Daten (32) entsprechen, deren Präsenz an einer Vorrichtung (20, 65), die zum Empfangen der komprimierten Daten vorgesehen ist, vorbekannt ist.Device according to Claim 1 or 2 , in which the further data (18) correspond to data (32) whose presence on a device (20, 65) which is provided for receiving the compressed data is known in advance. Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der die Steuerungseinheit (14) ausgebildet ist, um die zu komprimierenden Daten (12) unter Verwendung einer wörterbuchbasierten Kompression auszuführen, wobei das Wörterbuch Informationen bezüglich einer Wiederholung in den zu komprimierenden Daten (12) und Informationen, die Speicherbereichsinformation (24) aufweisen, umfasst.Device according to one of the preceding claims, in which the control unit (14) is designed to execute the data (12) to be compressed using a dictionary-based compression, the dictionary information relating to a repetition in the data (12) to be compressed and information, comprising memory area information (24). Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der die Steuerungseinheit (14) ausgebildet ist, um die Speicherbereichsinformation (24) in die komprimierten Daten (16) einzubetten.Device according to one of the preceding claims, in which the control unit (14) is designed to embed the memory area information (24) in the compressed data (16). Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der die Steuerungseinheit (14) ausgebildet ist, um die zu komprimierenden Daten (12) verlustlos oder verlustbehaftet zu komprimieren.Device according to one of the preceding claims, in which the control unit (14) is designed to compress the data (12) to be compressed losslessly or lossy. Vorrichtung gemäß einem der vorangehenden Ansprüche, mit einer Datenschnittstelle zum Senden der komprimierten Daten (16).Device according to one of the preceding claims, with a data interface for sending the compressed data (16). Vorrichtung (20; 65) zum Dekomprimieren von komprimierten Daten (16) mit: einem Datenspeicher (26) mit einem Speicherbereich (28), in dem Vorrichtungsdaten (32) gespeichert sind; einer Datenschnittstelle (34) zum Empfangen der komprimierten Daten (16) zusätzlich zu den Vorrichtungsdaten (32); einer Steuerungseinheit (36), die ausgebildet ist, um die komprimierten Daten (16) auf eine Speicherbereichsinformation (24) hin auszuwerten, die auf den Speicherbereich (28) des Datenspeichers (26) hinweist; und um die komprimierten Daten (16) unter Verwendung der in dem Speicherbereich (28) gespeicherten Vorrichtungsdaten (32) zu dekomprimieren.Apparatus (20; 65) for decompressing compressed data (16) comprising: a data memory (26) having a memory area (28) in which apparatus data (32) are stored; a data interface (34) for receiving the compressed data (16) in addition to the device data (32); a control unit (36) which is designed to evaluate the compressed data (16) for memory area information (24) which points to the memory area (28) of the data memory (26); and to decompress the compressed data (16) using the device data (32) stored in the storage area (28). Vorrichtung gemäß Anspruch 8, bei der die Speicherbereichsinformation (24) zumindest eines aus einer Datenlänge und einem Datenort des Speicherbereichs (28) anzeigt.Device according to Claim 8 wherein the memory area information (24) indicates at least one of a data length and a data location of the memory area (28). Vorrichtung gemäß Anspruch 8 oder 9, bei dem der Datenspeicher (26) eine Vielzahl von Speicherbereichen (281-2810) aufweist, wobei die Speicherbereichsinformation zumindest eine Teilmenge der Vielzahl von Speicherbereichen (281-2810) angibt.Device according to Claim 8 or 9 in which the data memory (26) has a plurality of memory areas (28 1 -28 10 ), the memory area information specifying at least a subset of the plurality of memory areas (28 1 -28 10 ). Vorrichtung gemäß einem der Ansprüche 8 bis 10, bei dem die Steuerungseinheit (36) ausgebildet ist, um zum Dekomprimieren der komprimierten Daten (16) die komprimierten Daten (16) um die in dem Speicherbereich (28) gespeicherten Daten (32) zumindest teilweise zu erweitern.Device according to one of the Claims 8 to 10 wherein the control unit (36) is designed to expand the compressed data (16) at least partially by the data (32) stored in the memory area (28) in order to decompress the compressed data (16). Vorrichtung gemäß einem der Ansprüche 8 bis 11, bei dem die Steuerungseinheit (36) ausgebildet ist, um aus den komprimierten Daten (16) dekomprimierte Daten (38) zu erhalten, und um die dekomprimierten Daten (38) in dem Datenspeicher (26) abzulegen.Device according to one of the Claims 8 to 11 , in which the control unit (36) is designed to obtain decompressed data (38) from the compressed data (16) and to store the decompressed data (38) in the data memory (26). Vorrichtung gemäß Anspruch 12, bei der die Steuerungseinheit (36) ausgebildet ist, um zusammen mit den komprimierten Daten (16) eine Zielinformation zu erhalten, die auf zumindest einen Ziel-Speicherbereich (283-287) des Datenspeichers (26) verweist, wobei die Steuerungseinheit (36) ausgebildet ist, um die dekomprimierten Daten (38) in dem Ziel-Speicherbereich (283-287) zu speichern.Device according to Claim 12 , in which the control unit (36) is designed to receive, together with the compressed data (16), target information that refers to at least one target memory area (28 3 -28 7 ) of the data memory (26), the control unit ( 36) is designed to store the decompressed data (38) in the target memory area (28 3 -28 7 ). Vorrichtung gemäß einem der Ansprüche 8 bis 13, bei der der Datenspeicher (26) zumindest teilweise ein nicht-flüchtiger Speicher ist.Device according to one of the Claims 8 to 13th in which the data memory (26) is at least partially a non-volatile memory. Vorrichtung gemäß einem der Ansprüche 8 bis 13, bei der der Datenspeicher (26) zumindest teilweise ein flüchtiger Speicher ist.Device according to one of the Claims 8 to 13th , in which the data memory (26) is at least partially a volatile memory. Vorrichtung gemäß einem der Ansprüche 8 bis 15, bei der die komprimierten Daten (16) eine Firmware der Vorrichtung aufweisen.Device according to one of the Claims 8 to 15th in which the compressed data (16) have firmware of the device. Vorrichtung gemäß einem der Ansprüche 8 bis 16, die ein eingebettetes System ist.Device according to one of the Claims 8 to 16 which is an embedded system. Vorrichtung gemäß einem der vorangehenden Ansprüche, bei der die Speicherbereichsinformation absolut oder relativ auf den Speicherbereich (28) verweist.Device according to one of the preceding claims, in which the memory area information refers absolutely or relatively to the memory area (28). Vorrichtung gemäß einem der vorangehenden Ansprüche, die ausgebildet ist, um einen LZ77-Algorithmus auszuführen.Device according to one of the preceding claims, which is designed to carry out an LZ77 algorithm. Verfahren (700) zum Komprimieren von zu komprimierenden Daten mit folgenden Schritten: Komprimieren (710) der zu komprimierenden Daten unter Einbeziehung weiterer Daten, um komprimierte Daten zu erhalten; und Bereitstellen (720) einer Speicherbereichsinformation, die einen Speicherort der weiteren Daten angibt.Method (700) for compressing data to be compressed with the following steps: Compressing (710) the data to be compressed, including further data, to obtain compressed data; and Providing (720) storage area information indicating a storage location of the further data. Verfahren (800) zum Dekomprimieren von komprimierten Daten mit folgenden Schritten: Speichern (810) von Vorrichtungsdaten in einem Speicherbereich eines Datenspeichers; Empfangen (820) der komprimierten Daten, die zusätzlich zu den Vorrichtungsdaten sind; Auswerten (830) der komprimierten Daten auf eine Speicherbereichsinformation hin, die auf den Speicherbereich des Datenspeichers hinweist; und Dekomprimieren (840) der komprimierten Daten unter Verwendung der in dem Speicherbereich gespeicherten Vorrichtungsdaten.Method (800) for decompressing compressed data with the following steps: Storing (810) device data in a storage area of a data memory; Receiving (820) the compressed data that is in addition to the device data; Evaluating (830) the compressed data for memory area information indicating the memory area of the data memory; and Decompressing (840) the compressed data using the device data stored in the storage area. Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 20 oder 21, wenn das Programm auf einem Computer läuft.Computer program with a program code for carrying out the method Claim 20 or 21st if the program is running on a computer.
DE102019208780.9A 2019-06-17 2019-06-17 DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS Pending DE102019208780A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019208780.9A DE102019208780A1 (en) 2019-06-17 2019-06-17 DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS
US16/903,804 US11108405B2 (en) 2019-06-17 2020-06-17 Devices and methods for compression and decompression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019208780.9A DE102019208780A1 (en) 2019-06-17 2019-06-17 DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS

Publications (1)

Publication Number Publication Date
DE102019208780A1 true DE102019208780A1 (en) 2021-01-21

Family

ID=73745237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019208780.9A Pending DE102019208780A1 (en) 2019-06-17 2019-06-17 DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS

Country Status (2)

Country Link
US (1) US11108405B2 (en)
DE (1) DE102019208780A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953503A (en) * 1997-10-29 1999-09-14 Digital Equipment Corporation Compression protocol with multiple preset dictionaries

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
US5319793A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and apparatus for improved compression and recording of color video data in a personal computer using a plurality of lookup tables
US5583656A (en) * 1992-12-31 1996-12-10 Eastman Kodak Company Methods and apparatus for attaching compressed look-up table (LUT) representations of N to M-dimensional transforms to image data and for processing image data utilizing the attached compressed LUTs
US7966424B2 (en) * 2004-03-15 2011-06-21 Microsoft Corporation Data compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953503A (en) * 1997-10-29 1999-09-14 Digital Equipment Corporation Compression protocol with multiple preset dictionaries

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Y. Wee and T. Kim, "A new code compression method for FOTA," in IEEE Transactions on Consumer Electronics, vol. 56, no. 4, pp. 2350-2354, November 2010. *

Also Published As

Publication number Publication date
US11108405B2 (en) 2021-08-31
US20200395953A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
DE69935811T2 (en) Frequency domain audio decoding with entropy code mode change
DE102020201153A1 (en) METHODS AND DEVICES FOR COMPRESSING DATA
DE112013000900B4 (en) Preserving Redundancy in Data Deduplication Systems Using a Scoreboard
DE69834695T2 (en) Method and device for data compression
DE4339753A1 (en) Device for compressing and decompressing image data
DE112008002903T5 (en) Data sequence compression
DE60124946T2 (en) METHOD AND COMMUNICATION MODULE FOR TRANSFERRING DICOM OBJECTS THROUGH DATA ELEMENT SOURCES
DE19544761A1 (en) Video data compression system with comparison to reference pixels
DE19534730A1 (en) Entropy encoder for facsimile transmission
DE102018122297A1 (en) Process for compression and decompression of image data
DE102012215362A1 (en) DATA PROCESSING DEVICE, METHOD AND CONTROL PROGRAM
CN107391478A (en) A kind of online document edit methods and device
EP2790408A1 (en) Method for the compressed storage of graphic data
DE102007045741A1 (en) Method and device for coding and decoding multimedia data
WO2005112422A1 (en) Method and arrangement for transmitting images in a network
DE112010004844T5 (en) Video encoding using pixel data streams
DE102016012160A1 (en) Residual entropy compression for cloud-based video applications or apps
DE102008052955A1 (en) Method for transmitting program codes to a memory of a control device, in particular for motor vehicles
DE102019208780A1 (en) DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS
EP3278562A1 (en) System and method for transmitting video data from a server to a client
DE102016115792A1 (en) Method for transmitting a difference file
WO2006050973A1 (en) Device and method for detection of a manipulation of an information signal
DE60104213T2 (en) PARTIAL ENCRYPTION OF ASSOCIATED BITSTROSTS
DE10128532A1 (en) Data compression determination procedure e.g. for medical equipment, involves selecting a data compression procedure giving the highest compression factor
DE10146356A1 (en) Compressing dynamic web pages e.g. for e-commerce website, by replacing static block with compressed block if static block is not yet stored in block memory

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication