DE102019208780A1 - DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS - Google Patents
DEVICES AND METHODS FOR COMPRESSING OR. DECOMPRESS Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder 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.
-
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.
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
Zu den Informationen gehören beispielsweise Speicherbereiche, in denen die weiteren Daten
Die Speicherbereichsinformation
Die Steuerungseinheit
Die Steuerungseinheit
Die Vorrichtung
Die Vorrichtung
Die Vorrichtung
Die Steuerungseinheit
Bevorzugt bildet der Datenspeicher
Die Dekomprimierung der Vorrichtung
Ausführungsbeispiele eignen sich beispielsweise für eingebettete Systeme, das bedeutet, die Vorrichtung
Es ist insofern möglich, diese Kenntnis für die Komprimierung von Daten zu nutzen, wie es anhand der
Es kann somit bekannt und/oder vorhersehbar sein, welcher Speicherbereich
In anderen Worten kann eine Übertragung neuer oder zusätzlicher Daten
Zum Erhalt der komprimierten Daten
Wie es anhand der übereinstimmenden Symbole dargestellt ist, können die Datensegmente
Die in dem Datenspeicher
Ausführungsbeispiele ermöglichen es, eine Kompression der Datensegmente
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
Wird das Beispiel aus
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
In einem weiteren Bereich der
Die Vorrichtungen
So kann ein Inhalt des Speicherbereichs
Zusätzlich zu der erhaltenen geringen Datengröße der komprimierten Daten
Die Steuerungseinheit
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.
Die Steuerungseinheit
Die komprimierten Daten
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
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.
- 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.
- 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.
- 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.
- 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)
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)
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)
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 |
-
2019
- 2019-06-17 DE DE102019208780.9A patent/DE102019208780A1/en active Pending
-
2020
- 2020-06-17 US US16/903,804 patent/US11108405B2/en active Active
Patent Citations (1)
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)
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 |