DE102023204555A1 - Computer-implemented method and computer program for preparing data fields for data compression - Google Patents

Computer-implemented method and computer program for preparing data fields for data compression Download PDF

Info

Publication number
DE102023204555A1
DE102023204555A1 DE102023204555.9A DE102023204555A DE102023204555A1 DE 102023204555 A1 DE102023204555 A1 DE 102023204555A1 DE 102023204555 A DE102023204555 A DE 102023204555A DE 102023204555 A1 DE102023204555 A1 DE 102023204555A1
Authority
DE
Germany
Prior art keywords
data
difference
data field
fields
field
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
DE102023204555.9A
Other languages
German (de)
Inventor
Philipp Schmidt
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.)
ZF Friedrichshafen AG
Original Assignee
ZF Friedrichshafen 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 ZF Friedrichshafen AG filed Critical ZF Friedrichshafen AG
Priority to DE102023204555.9A priority Critical patent/DE102023204555A1/en
Publication of DE102023204555A1 publication Critical patent/DE102023204555A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

Computerimplementiertes Verfahren zum Vorbereiten von Datenfeldern (10) für eine Daten-Komprimierung, das Verfahren umfassend die Schritte: Erhalten von zeitlich aufeinanderfolgenden Datenfeldern (10), wobei ein Datenfeld (10) erste, Datenfeld (10) spezifische, Metadaten (11) und Datenpakete (12) umfasst, wobei die Datenpakete (12) geordnet in den Datenfeldern (10) angeordnet sind und die Datenpakete (12) jeweils Messdaten (18) eines Sensors (19) und zweite, Datenpaket (12) spezifische, Metadaten (13) umfassen (V1); Bestimmen eines Differenz-Datenfeldes (DF) zwischen jeweils einem der Datenfelder (10) und dem zeitlich folgenden Datenfeld (10), wobei durch Differenzbildung ein Informationsgehalt des Differenz-Datenfeldes (DF) geringer ist relativ zu dem Informationsgehalt der jeweiligen Datenfelder (10) (V2); Bereitstellen des Differenz-Datenfeldes (DF) für einen Komprimierungs-Algorithmus (15), der das Differenz-Datenfeld (DF) komprimiert zur Speicherung und/oder Übertragung des komprimierten Differenz-Datenfeldes (DF) (V3).Computer-implemented method for preparing data fields (10) for data compression, the method comprising the steps: obtaining temporally successive data fields (10), wherein a data field (10) is first, data field (10) specific, metadata (11) and data packets (12), wherein the data packets (12) are arranged in an orderly manner in the data fields (10) and the data packets (12) each comprise measurement data (18) of a sensor (19) and second metadata (13) specific to the data packet (12). (V1); Determining a difference data field (DF) between one of the data fields (10) and the subsequent data field (10), whereby by forming the difference, an information content of the difference data field (DF) is lower relative to the information content of the respective data fields (10) ( V2); Providing the difference data field (DF) for a compression algorithm (15) which compresses the difference data field (DF) for storing and/or transmitting the compressed difference data field (DF) (V3).

Description

Die Erfindung betrifft ein computerimplementiertes Verfahren und ein Computerprogramm zum Vorbereiten von Datenfeldern für eine Daten-Komprimierung.The invention relates to a computer-implemented method and a computer program for preparing data fields for data compression.

Folgende Definitionen, Beschreibungen und Ausführungen behalten ihre jeweilige Bedeutung für und finden Anwendung auf den gesamten offenbarten Erfindungsgegenstand.The following definitions, descriptions and statements retain their respective meanings and apply to the entire subject matter disclosed.

Die Entwicklung von ADAS (autonomous driving assistance system)- und AD (autonomous driving)-Funktionen hängt in hohem Maße von Daten ab, die speziell für diesen Anwendungsfall aufgezeichnet/gesammelt und gespeichert werden. Um die Reproduktion von Verhaltensweisen eines Fahrsystems in HiL (Hardware in the Loop)- und SiL (Software in the Loop)- Anwendungen zu ermöglichen, sind die Daten so roh wie möglich aufzuzeichnen, einschließlich zusätzlicher Metadaten wie Zeitstempel oder sensorspezifische Informationen. Für Kameradaten bedeutet impliziert dies ein relativ großes Datenvolumen an Rohdaten, da keine verlustbehaftete Kompression toleriert werden kann. Dies führt zu einem hohen Speicher- und Verarbeitungsbedarf bei Aufzeichnung, Speicherinfrastruktur, HiL- und SiL- Anwendungen.The development of ADAS (autonomous driving assistance system) and AD (autonomous driving) functions relies heavily on data recorded/collected and stored specifically for this use case. To enable the reproduction of driving system behaviors in HiL (Hardware in the Loop) and SiL (Software in the Loop) applications, the data must be recorded as raw as possible, including additional metadata such as timestamps or sensor-specific information. For camera data, this means a relatively large data volume of raw data, as no lossy compression can be tolerated. This leads to high storage and processing requirements for recording, storage infrastructure, HiL and SiL applications.

Die US 2007/0025630 A1 offenbart eine Methode und eine Vorrichtung zum Komprimieren von digitalen Bildern. Das Verfahren umfasst Berechnen von Differenzwerten benachbarter Pixel innerhalb einer Gruppe von Pixeln, Umordnen der Differenzwerte von benachbarten Pixeln entsprechend der Größe der differentiellen Pixelwerte einer benachbarten Zeile und Komprimieren der neu geordneten differentialen Werte der benachbarten Pixel.The US 2007/0025630 A1 discloses a method and apparatus for compressing digital images. The method includes calculating differential values of adjacent pixels within a group of pixels, reordering the difference values of adjacent pixels according to the size of the differential pixel values of an adjacent row, and compressing the reordered differential values of the adjacent pixels.

Üblicherweise werden Rohdaten in Dateien gespeichert als eine Sammlung unabhängiger Frames. Ein Frame ist eine Darstellung einer beliebigen Datei zusammen mit Metadaten. Die Datei kann beispielsweise eine Bilddatei, eine Videodatei oder eine Audio-/Sounddatei sein. Die Metadaten können beispielsweise Zeitstempel sein. Typically, raw data is stored in files as a collection of independent frames. A frame is a representation of any file along with metadata. The file can be, for example, an image file, a video file or an audio/sound file. The metadata can be, for example, timestamps.

Bei typischen Bildanwendungen einer Peripheriekamera, beispielsweise eines Kamerasensors eines automatisierten Fahrsystems, werden die Rohdaten der Peripheriekamera über eine MIPI-CSI Schnittstelle, das heißt Mobile Industry Processor Interface - Camera Serial Interface, beispielsweise über ein MIPI-CSI-1, 2 oder 3 Protokoll, übertragen. Ein CSI-Transmitter kodiert das Rohbild. Das komprimierte Rohbild wird über einen CSI-Receiver empfangen und dekodiert/dekomprimiert. Ein input driver erhält die physikalischen Rohbilder über die MIPI-CSI Schnittstelle.In typical image applications of a peripheral camera, for example a camera sensor of an automated driving system, the raw data of the peripheral camera is transmitted via a MIPI-CSI interface, i.e. Mobile Industry Processor Interface - Camera Serial Interface, for example via a MIPI-CSI-1, 2 or 3 protocol. transmitted. A CSI transmitter encodes the raw image. The compressed raw image is received and decoded/decompressed via a CSI receiver. An input driver receives the physical raw images via the MIPI-CSI interface.

Das Protokoll definiert mehrere Bilddatentypen, mit denen Rohbilder empfangen werden. Alternativ können die Rohbilder über einen FPD-Link, das heißt Flat Panel Display Link, oder über einen GMSL-Link, das heißt Gigabit Multimedia Serial Link, im MIPI-CSI Protokoll erhalten werden. Generell werden die Signale/Daten über eine MIPI-CSI Schnittstelle erfasst. FPD-Link oder GMSL sind Protokolle, die MIPI-CSI-Signale/Daten serialisieren. Das bedeutet, die Signale/Daten können optional über die FPD- oder GMSL-Schnittstelle erfasst werden, um dann deserialisiert als MIPI-Signale/Daten zur Verfügung zu stehen und verwendet zu werden.The protocol defines several image data types with which raw images are received. Alternatively, the raw images can be obtained via an FPD link, i.e. Flat Panel Display Link, or via a GMSL link, i.e. Gigabit Multimedia Serial Link, in the MIPI-CSI protocol. In general, the signals/data are recorded via a MIPI-CSI interface. FPD-Link or GMSL are protocols that serialize MIPI CSI signals/data. This means that the signals/data can optionally be acquired via the FPD or GMSL interface in order to then be deserialized and available and used as MIPI signals/data.

Der Input Driver leitet die Rohbilder beispielsweise an Signalverarbeitungsmodule, umfassend beispielsweise Perzeptionsalgorithmen, weiter. Der Input Driver führt in der Regel eine Treibersoftware aus, die aus Rohsignalen beispielsweise Bilddaten erzeugt. Der Inupt Driver kann, und wird bei Messfahrten auch, teilweise nach einer zusätzlichen Hardware zur Datenerfassung des FPD-Link/GMSL eingesetzt.The input driver forwards the raw images, for example, to signal processing modules, including, for example, perception algorithms. The input driver usually runs driver software that generates image data, for example, from raw signals. The Inupt Driver can, and is sometimes used during measurement drives after additional hardware for data acquisition from the FPD-Link/GMSL.

Die Rohsignale umfassen beispielsweise zeilenweise angeordnete Datenpakete, wobei im Beispiel von Bildverarbeitung der input driver aus den zeilenweise angeordneten Datenpakete jeweils korrespondierende Bildzeilen des Bildes erzeugt. Die Pixelwerte eines Bildes sind in diesen Datenpaketen enthalten. Die Rohsignale werden nach bestimmten Protokollen übertragen. Beispielsweise umfasst das MIPI-CSI Protokoll ein Byte orientiertes low level protocol. Dieses Protokoll leitet eine Übertragung mit einem ST (Start of Transmission)-Signal ein gefolgt von einem SP (Short Packet)-Signal und einem ET (End of Transmission)-Signal. Darauf folgt ein LPS (Low Power State)-Signal und ein erneutes ST-Signal gefolgt von einem PH (Packet Header)-Signal. Auf das PH-Signal folgt das DATA-Signal, das das jeweilige Datenpaket umfasst, beispielsweise als 8-Bit Datei. Auf das DATA-Signal folgt ein PF (Packet Footer)-Signal und ein erneutes ET-Signal. PH-, DATA- und PF-Signal bilden ein sogenanntes LP (Long Packet). Die typische Signalabfolge im low level protocol ist ST-SP-ET-LPS-ST-LP-ET-LPS-ST-LP-ET-LPS-ST-SP-ET etc.The raw signals include, for example, data packets arranged line by line, with the input driver in the example of image processing generating corresponding image lines of the image from the data packets arranged line by line. The pixel values of an image are contained in these data packets. The raw signals are transmitted according to certain protocols. For example, the MIPI-CSI protocol includes a byte-oriented low level protocol. This protocol initiates a transmission with an ST (Start of Transmission) signal followed by an SP (Short Packet) signal and an ET (End of Transmission) signal. This is followed by an LPS (Low Power State) signal and another ST signal followed by a PH (Packet Header) signal. The PH signal is followed by the DATA signal, which includes the respective data packet, for example as an 8-bit file. The DATA signal is followed by a PF (Packet Footer) signal and another ET signal. PH, DATA and PF signals form a so-called LP (Long Packet). The typical signal sequence in the low level protocol is ST-SP-ET-LPS-ST-LP-ET-LPS-ST-LP-ET-LPS-ST-SP-ET etc.

Das Signalverarbeitungsmodul liest dann die Bilddaten ein. Die Rohsignale können auch, bevor sie in den input driver eingehen, serialisiert und deserialisiert. Serialisation und Deserialisation erfolgt optional und je nach Signal-/Datenquelle.The signal processing module then reads the image data. The raw signals can also be serialized and deserialized before they enter the input driver. Serialization and deserialization are optional and depending on the signal/data source.

Der Erfindung lag die Aufgabe zugrunde, wie der Informationsgehalt in Daten verringert werden kann, bevor bekannte Komprimierungsalgorithmen auf die Daten angewendet werden.The invention was based on the object of how the information content in data can be reduced before known compression algorithms are applied to the data.

Die Gegenstände der nebengeordneten Ansprüche lösen jeweils diese Aufgabe. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Definitionen, den Unteransprüchen, den Zeichnungen und der Beschreibung bevorzugter Ausführungsbeispiele.The subjects of the subordinate claims each solve this task. Advantageous embodiments of the invention result from the definitions, the subclaims, the drawings and the description of preferred exemplary embodiments.

Nach einem Aspekt stellt die Erfindung ein computerimplementiertes Verfahren bereit zum Vorbereiten von Datenfeldern für eine Daten-Komprimierung. Ein Datenfeld ist beispielsweise eine geordnete Sammlung von Daten, beispielsweise digitalen Daten, beispielsweise Werten, beispielsweise Pixelwerten. Daten-Komprimierung oder Datenkompression genannt ist ein Vorgang, bei dem die Menge von Daten verdichtet oder reduziert wird. Dadurch sinkt der benötigte Speicherplatz, und die Übertragungszeit der Daten verkürzt sich. Nach einem Aspekt wird das Verfahren eingesetzt bei der Datenverarbeitung von Rohdaten eines Umfelderfassungssensors eines automatisierten Fahrsystems. Der Umfelderfassungssensor kann beispielsweise ein Kamerasensor, ein Radar, Lidar oder ein Akustiksensor, beispielsweise ein Mikrofon sein. Das Verfahren ermöglicht die Vorbereitung der Datenfelder „Live“ / in „Echtzeit“. Bei differentiellen Verfahren wird immer nur mit aktuellen Daten oder Daten der Vergangenheit gearbeitet. Die Datenvorbereitung wird also nicht nachträglich mit Informationen der gesamten Messung durchgeführt. Dies bedeutet, dass die Rückverarbeitung beim Dekomprimieren jederzeit Live und ohne zukünftige Daten zu verarbeiten durchgeführt werden kann. Auch ein Datenverlust am Ende einer Aufzeichnung führt zu keinem Rückverarbeitungsproblem der Daten am Anfang der Aufzeichnung.In one aspect, the invention provides a computer-implemented method for preparing data fields for data compression. A data field is, for example, an ordered collection of data, for example digital data, for example values, for example pixel values. Data compression or data compression is a process in which the amount of data is condensed or reduced. This reduces the storage space required and shortens the data transfer time. According to one aspect, the method is used in the data processing of raw data from an environment detection sensor of an automated driving system. The environment detection sensor can be, for example, a camera sensor, a radar, lidar or an acoustic sensor, for example a microphone. The procedure enables the data fields to be prepared “live” / in “real time”. Differential methods only work with current or past data. The data preparation is therefore not carried out subsequently with information from the entire measurement. This means that the reverse processing during decompression can be performed live at any time and without processing future data. Even a data loss at the end of a recording does not lead to a problem in reprocessing the data at the beginning of the recording.

Ein Schritt des Verfahrens umfasst das Erhalten von zeitlich aufeinanderfolgenden Datenfeldern. Ein Datenfeld umfasst erste, Datenfeld spezifische, Metadaten und Datenpakete. Die Datenpakete sind geordnet in den Datenfeldern angeordnet. Die Datenpakete umfassen jeweils Messdaten eines Sensors und zweite, Datenpaket spezifische, Metadaten. Die Messdaten sind Rohdaten des Sensors. Das Datenfeld ist beispielsweise ein Frame eines Kamerasensors.One step of the method includes obtaining temporally consecutive data fields. A data field includes first, data field-specific, metadata and data packets. The data packets are arranged in an orderly manner in the data fields. The data packets each include measurement data from a sensor and second, data packet-specific metadata. The measurement data is raw data from the sensor. The data field is, for example, a frame of a camera sensor.

Ein weiterer Schritt des Verfahrens umfasst das Bestimmen eines Differenz-Datenfeldes zwischen jeweils einem der Datenfelder und dem zeitlich folgenden Datenfeld. Durch Differenzbildung ist ein Informationsgehalt des Differenz-Datenfeldes geringer relativ zu dem Informationsgehalt der jeweiligen Datenfelder. Die Differenz wird beispielsweise Byte für Byte bestimmt. Da alle Datenfelder auf die gleiche Weise aufgebaut sind, befinden sich die Datenpakete und Werte eines Datenfeldes an der gleichen Stelle wie in dem jeweiligen zeitlichen Vorgänger-Datenfeld. Die Werte der Datenpakete, beispielsweise Pixel, und die Metadaten werden oft nicht oder nur in geringem Umfang geändert. Die Datenmenge ändert sich bis hierhin nicht, aber der Informationsgehalt wird reduziert, da sich keine oder nur geringe Byte Werte ändern. In diesem Kontext wird der Informationsgehalt auch Entropie genannt. Allgemein hat ein Datensatz, bei dem sich Daten wiederholen, eine geringe Entropie als ein Datensatz, bei dem sich Daten relativ weniger oft wiederholen. Beispielsweise ist die Entropie des Datensatzes [1,1,1,1,2,3] geringer als die Entropie des Datensatzes [1,2,3,1,2,3]. Datensätze mit geringerer Entropie können besser komprimiert werden als Datensätze mit relativ höherer Entropie.A further step of the method includes determining a difference data field between one of the data fields and the subsequent data field. By forming the difference, the information content of the difference data field is lower relative to the information content of the respective data fields. The difference is determined, for example, byte by byte. Since all data fields are structured in the same way, the data packets and values of a data field are in the same place as in the respective previous data field. The values of the data packets, for example pixels, and the metadata are often not changed or only changed to a small extent. The amount of data does not change up to this point, but the information content is reduced because no or only small byte values change. In this context, the information content is also called entropy. In general, a data set in which data repeats has lower entropy than a data set in which data repeats relatively less often. For example, the entropy of the data set [1,1,1,1,2,3] is less than the entropy of the data set [1,2,3,1,2,3]. Data sets with lower entropy can be compressed better than data sets with relatively higher entropy.

Ein weiterer Schritt des Verfahrens umfasst das Bereitstellen des Differenz-Datenfeldes für einen Komprimierungs-Algorithmus. Der Komprimierungs-Algorithmus komprimiert das Differenz-Datenfeld zur Speicherung und/oder Übertragung des komprimierten Differenz-Datenfeldes. Der Komprimierungs-Algorithmus kann beispielsweise ein ZIP-, JPEG-, H.264- oder Huffman-Komprimierungs-Algorithmus, ANS entropy encoding, arithmetic encoding, Burrows-Wheeler Transformation, Lempel-Ziv Komprimierung, Deflate, Lempel-Ziv-Welch, prediction by partial matching oder run-length encoding sein. Das Differenz-Datenfeld hat eine relativ geringere Entropie und kann damit besser komprimiert werden. Ohne Differenz-Datenfeld Bestimmung komprimiert beispielsweise ein ZIP-Kompressor 4,3 GB Kamera-Rohdaten auf ein Datenvolumen von 2,8 GB. Mit Differenz-Datenfeld Bestimmung hat das Differenz-Datenfeld beispielsweise ein Datenvolumen von 4.3 GB, aber mit geringerer Entropie. Der ZIP-Kompressor komprimiert dieses Differenz-Datenfeld auf ein Datenvolumen von 2,6 GB. Die auf 2,6 GB komprimierten Daten benötigen weniger Speicherplatz und können schneller übertragen werden als die 2,8 GB Daten. Je nach Kamera, Bildsequenz und weiteren Parametern können sich andere Werte ergeben.A further step of the method includes providing the difference data field for a compression algorithm. The compression algorithm compresses the difference data field to store and/or transmit the compressed difference data field. The compression algorithm can be, for example, a ZIP, JPEG, H.264 or Huffman compression algorithm, ANS entropy encoding, arithmetic encoding, Burrows-Wheeler transformation, Lempel-Ziv compression, Deflate, Lempel-Ziv-Welch, prediction by partial matching or run-length encoding. The difference data field has a relatively lower entropy and can therefore be compressed better. Without determining the difference data field, a ZIP compressor, for example, compresses 4.3 GB of raw camera data to a data volume of 2.8 GB. For example, with difference data field determination, the difference data field has a data volume of 4.3 GB, but with lower entropy. The ZIP compressor compresses this difference data field to a data volume of 2.6 GB. The data compressed to 2.6 GB requires less storage space and can be transferred faster than the 2.8 GB data. Depending on the camera, image sequence and other parameters, other values may result.

Nach einem weiteren Aspekt sind die Datenpakete zeilenweise in den Datenfeldern angeordnet. Jede Zeile oder Linie umfasst zweite Metadaten und die zugehörigen Datenpakete. Die Datenpakete umfassen Messdaten einer Kamera. Die Messdaten werden über eine MIPI-CSI-Schnittstelle erhalten. Die zweiten Metadaten umfassen Zeitstempel.According to a further aspect, the data packets are arranged line by line in the data fields. Each row or line includes second metadata and the associated data packets. The data packets include measurement data from a camera. The measurement data is received via a MIPI-CSI interface. The second metadata includes timestamps.

Nach einem weiteren Aspekt wird das Differenz-Datenfeld mit differentieller Kodierung bestimmt. Differentielle Kodierung sorgt für einen eindeutigen Signalempfang.According to a further aspect, the difference data field is determined using differential coding. Differential coding ensures clear signal reception.

Nach einem weiteren Aspekt wird das Differenz-Datenfeld einer verlustfreien Komprimierung bereitgestellt. Im Unterschied zu der verlustbehafteten Komprimierung ist bei der verlustfreien Kompression gewährleistet, dass die komprimierte Datei wieder in die Originaldatei rücktransformiert werden kann.According to a further aspect, the difference data field is provided for lossless compression. In contrast to lossy compression, lossless compression ensures that the compressed file is as which can be transformed back into the original file.

Nach einem weiteren Aspekt stellt die Erfindung ein Computerprogramm bereit zum Vorbereiten von Datenfeldern für eine Daten-Komprimierung. Das Computerprogramm umfasst Programmbefehle, die bewirken, dass ein Computer die Schritte des voran offenbarten Verfahrens ausführt, wenn das Computerprogramm von dem Computer geladen oder ausgeführt wird.According to a further aspect, the invention provides a computer program for preparing data fields for data compression. The computer program includes program instructions that cause a computer to carry out the steps of the method disclosed above when the computer program is loaded or executed by the computer.

Das Computerprogramm kann als interpretierbarer Code, der auf den Computer geladen wird, beispielsweise direkt in einen internen Speicher des Computers, oder als compilierter Code, der von dem Computer ausgeführt wird, bereitgestellt werden. Die Bereitstellung kann beispielsweise auf einem maschinenlesbaren Träger, auf dem das Computerprogramm gespeichert ist, oder über ein Datenträgersignal erfolgen. Die Programmbefehle können Maschinenbefehle, Quelltext oder Objektcodes sein, geschrieben in Assemblerspracne, einer objektorientierten Programmiersprache, beispielsweise C++, oder in einer prozeduralen Programmiersprache, beispielsweise C.The computer program may be provided as interpretable code that is loaded onto the computer, for example directly into an internal memory of the computer, or as compiled code that is executed by the computer. The provision can be made, for example, on a machine-readable medium on which the computer program is stored, or via a data carrier signal. The program instructions can be machine instructions, source code or object codes written in assembly language, an object-oriented programming language, for example C++, or in a procedural programming language, for example C.

Die Erfindung wird in den folgenden Figuren beispielhaft erläutert. Es zeigen:

  • 1 ein Ausführungsbeispiel eines Datenfeldes,
  • 2 ein Ausführungsbeispiel eines low level protocols,
  • 3 ein Ausführungsbeispiel differentieller Kodierung mit Dekodierung,
  • 4 ein schematisches Ausführungsbeispiel eines hier offenbarten Verfahrens und
  • 5 ein Ausschnitt aus einem Ausführungsbeispiel eines Datenverarbeitungsprozesses.
The invention is explained by way of example in the following figures. Show it:
  • 1 an exemplary embodiment of a data field,
  • 2 an exemplary embodiment of a low level protocol,
  • 3 an embodiment of differential coding with decoding,
  • 4 a schematic embodiment of a method disclosed here and
  • 5 a section from an exemplary embodiment of a data processing process.

In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder funktionsähnliche Teile. In den jeweiligen Figuren werden übersichtshalber die für das jeweilige Verständnis relevanten Bezugsteile angegeben.In the figures, the same reference numbers designate the same or functionally similar parts. For the sake of clarity, the reference parts relevant to the respective understanding are indicated in the respective figures.

Das in 1 gezeigte Datenfeld 10 umfasst einen Block von ersten Metadaten 11. Das Datenfeld 10 ist beispielsweise ein Frame eines Kamerasensors 19. Datenpakete 12 sind in dem Datenfeld 10 in Linien oder Zeilen angeordnet. Die Datenpakete 12 umfassen Messdaten eines Sensors 19, beispielsweise des Kamerasensors 19. Jede Linie umfasst ein Datenpaket 12 und zu diesem Datenpaket 12 spezifische zweite Metadaten 13. Die zweiten Metadaten 13 sind beispielsweise Zeitstempel und geben als solche die Zeit an, zu der das Datenpaket 12 erhalten wurde. Es werden zeitlich aufeinanderfolgende Datenfelder erhalten.This in 1 Data field 10 shown comprises a block of first metadata 11. The data field 10 is, for example, a frame of a camera sensor 19. Data packets 12 are arranged in lines or rows in the data field 10. The data packets 12 include measurement data from a sensor 19, for example the camera sensor 19. Each line includes a data packet 12 and second metadata 13 specific to this data packet 12. The second metadata 13 are, for example, time stamps and as such indicate the time at which the data packet 12 was received. Data fields that are consecutive in time are obtained.

2 zeigt ein Ausführungsbeispiel eines low lovel protocols gemäß MIPI-CSI Standard zur Übertragung der Datenfelder 10, genauer der Datenpakete 12 der Datenfelder 10. Das low level protocol ist Byte orientiert. Dieses Protokoll leitet eine Übertragung mit einem Start of Transmission ST Signal ein gefolgt von einem Short Packet SP Signal und einem End of Transmission ET Signal. Darauf folgt ein Low Power State LPS Signal und ein erneutes ST Signal gefolgt von einem Packet Header PH Signal. Auf das PH Signal folgt das Datenpaket 12 als 8 Bit Datei. Auf das Datenpaket 12 folgt ein Packet Footer PF Signal und ein erneutes ET Signal. 2 shows an exemplary embodiment of a low level protocol according to the MIPI-CSI standard for transmitting the data fields 10, more precisely the data packets 12 of the data fields 10. The low level protocol is byte-oriented. This protocol initiates a transmission with a Start of Transmission ST signal followed by a Short Packet SP signal and an End of Transmission ET signal. This is followed by a low power state LPS signal and another ST signal followed by a packet header PH signal. The PH signal is followed by data packet 12 as an 8-bit file. The data packet 12 is followed by a packet footer PF signal and another ET signal.

In 3 wird die Entropie in den Messdaten 18, beispielsweise Rohdaten eines Kamerasensors 19, mittels differentieller Kodierung 14 verringert. Für die differentieller Kodierung 14 kann ein entsprechendes Software- und/oder Hardwaremodul vorgesehen sein. Nach der differentiellen Kodierung 14 liegen die Messdaten 18 als Differenz-Datenfelder DF vor.In 3 the entropy in the measurement data 18, for example raw data from a camera sensor 19, is reduced by means of differential coding 14. A corresponding software and/or hardware module can be provided for the differential coding 14. After the differential coding 14, the measurement data 18 are available as difference data fields DF.

In einem Zweig der Datenverarbeitung werden die Differenz-Datenfelder DF mittels eines Komprimierungs-Algorithmus 15, beispielsweise ZIP, komprimiert. Der Komprimierungs-Algorithmus 15 kann ein Encoder sein, der beispielsweise Pixelwerte kodiert. Nach einem Aspekt wird der Komprimierungs-Algorithmus 15 von einem Hardwaremodul geladen und/oder ausgeführt. Dieses Hardwaremodul ist ausgeführt, die erhaltenen kodierten Differenz-Datenfelder KDF zu übertragen. Die Übertragung kann drahtgebunden oder drahtlos sein. In diesem Kontext wird das Hardwaremodul Transmitter genannt. Die kodierten Differenz-Datenfelder KDF werden von einem Dekomprimierungsmodul zur Dekomprimierung 16 empfangen. Das Dekomprimierungsmodul wird auch Receiver genannt. Nach der Dekomprimierung 16 werden dekomprimierte Differenz-Datenfelder DDF erhalten. Bei verlustfreier Kompression sind die dekomprimierten Differenz-Datenfelder DDF identisch zu den Differenz-Datenfeldern DF. Als Komprimierungsschemata X-Y-Z, wobei X die Anzahl Bits per Pixel in dem ursprünglichen Differenz-Datenfeld, Y die Anzahl Bits per Pixel in dem komprimierten Differenz-Datenfeld KDF und Z die Anzahl Bits per Pixel in dem dekodierten Differenz-Datenfeld DDF angibt, können beispielsweise verwendet werden: 12-10-12, 12-8-12, 12-7-12, 12-6-12, 10-8-10, 10-7-10, 10-6-10. Die dekomprimierten Differenz-Datenfelder DDF werden mittels differentieller Dekodierung 17 dekodiert. Nach der differentiellen Dekodierung 17 liegen wieder die Messdaten 18 vor.In one branch of data processing, the difference data fields DF are compressed using a compression algorithm 15, for example ZIP. The compression algorithm 15 can be an encoder that encodes pixel values, for example. In one aspect, the compression algorithm 15 is loaded and/or executed by a hardware module. This hardware module is designed to transmit the coded difference data fields KDF received. The transmission can be wired or wireless. In this context, the hardware module is called a transmitter. The coded difference data fields KDF are received by a decompression module for decompression 16. The decompression module is also called a receiver. After decompression 16, decompressed difference data fields DDF are obtained. With lossless compression, the decompressed difference data fields DDF are identical to the difference data fields DF. As compression schemes X-Y-Z, where will be: 12-10-12, 12-8-12, 12-7-12, 12-6-12, 10-8-10, 10-7-10, 10-6-10. The decompressed difference data fields DDF are decoded using differential decoding 17. After the differential decoding 17, the measurement data 18 is available again.

In einem zweiten Zweig der Datenverarbeitung werde die Differenz-Datenfelder DF ohne Komprimierung 15 und Dekomprimierung mittels differentieller Dekodierung 17 dekodiert. Um das Risiko zu verringern, nach der Dekomprimierung 16 mit beschädigten oder falschen Daten zu arbeiten, kann der Komprimierungs-Algorithmus eine Prüfsumme der ursprüngliche Differenz-Datenfelder DF hinzufügen. Die Prüfsumme wird dann beispielsweise bei der differentiellen Dekomprimierung 17 beachtet.In a second branch of data processing, the difference data fields DF are decoded without compression 15 and decompression using differential decoding 17. To reduce the risk of working with corrupted or incorrect data after decompression 16, the compression algorithm may add a checksum of the original difference data fields DF. The checksum is then taken into account, for example, during differential decompression 17.

4 zeigt schematisch das computerimplementierte Verfahren zum Vorbereiten der Datenfeldern 10 für die Daten-Komprimierung. In einem Schritt V1 werden die zeitlich aufeinanderfolgenden Datenfeldern 10 erhalten. In einem Schritt V2 wird das Differenz-Datenfeld DF zwischen jeweils einem der Datenfelder 10 und dem zeitlich folgenden Datenfeld 10 bestimmt. In einem Schritt V3 wird das Differenz-Datenfeld DF dem Komprimierungs-Algorithmus 15 bereitgestellt. 4 shows schematically the computer-implemented method for preparing the data fields 10 for data compression. In a step V1, the time-successive data fields 10 are obtained. In a step V2, the difference data field DF between one of the data fields 10 and the subsequent data field 10 is determined. In a step V3, the difference data field DF is provided to the compression algorithm 15.

BezugszeichenReference symbols

1010
DatenfeldData field
1111
erste Metadatenfirst metadata
1212
DatenpaketData package
1313
zweite Metadatensecond metadata
1414
differentielle Kodierungdifferential coding
DFDF
Differenz-DatenfeldDifference data field
1515
Komprimierungs-AlgorithmusCompression algorithm
KDFKDF
komprimiertes Differenz-Datenfeldcompressed difference data field
1616
DekomprimierungDecompression
DDFDDF
dekomprimiertes Differenz-Datenfelddecompressed difference data field
1717
differentielle Dekodierungdifferential decoding
1818
MessdatenMeasurement data
1919
Sensorsensor
2020
MIPI-CSI-SchnittstelleMIPI CSI interface
V1-V3V1-V3
VerfahrensschritteProcedural steps
STST
Start of TransmissionStart of Transmission
SPSP
Short PackageShort package
ETET
End of TransmissionEnd of Transmission
LPSLPS
Low Power StateLow power state
PHPh
Package HeaderPackage header
PFPF
Packet FooterPacket footer

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 2007/0025630 A1 [0004]US 2007/0025630 A1 [0004]

Claims (5)

Computerimplementiertes Verfahren zum Vorbereiten von Datenfeldern (10) für eine Daten-Komprimierung, das Verfahren umfassend die Schritte: Erhalten von zeitlich aufeinanderfolgenden Datenfeldern (10), wobei ein Datenfeld (10) erste, Datenfeld (10) spezifische, Metadaten (11) und Datenpakete (12) umfasst, wobei die Datenpakete (12) geordnet in den Datenfeldern (10) angeordnet sind und die Datenpakete (12) jeweils Messdaten (18) eines Sensors (19) und zweite, Datenpaket (12) spezifische, Metadaten (13) umfassen (V1); Bestimmen eines Differenz-Datenfeldes (DF) zwischen jeweils einem der Datenfelder (10) und dem zeitlich folgenden Datenfeld (10), wobei durch Differenzbildung ein Informationsgehalt des Differenz-Datenfeldes (DF) geringer ist relativ zu dem Informationsgehalt der jeweiligen Datenfelder (10) (V2); Bereitstellen des Differenz-Datenfeldes (DF) für einen Komprimierungs-Algorithmus (15), der das Differenz-Datenfeld (DF) komprimiert zur Speicherung und/oder Übertragung des komprimierten Differenz-Datenfeldes (DF) (V3).Computer-implemented method for preparing data fields (10) for data compression, the method comprising the steps: obtaining temporally successive data fields (10), wherein a data field (10) is first, data field (10) specific, metadata (11) and data packets (12), wherein the data packets (12) are arranged in an orderly manner in the data fields (10) and the data packets (12) each comprise measurement data (18) of a sensor (19) and second metadata (13) specific to the data packet (12). (V1); Determining a difference data field (DF) between one of the data fields (10) and the subsequent data field (10), whereby by forming the difference, an information content of the difference data field (DF) is lower relative to the information content of the respective data fields (10) ( V2); Providing the difference data field (DF) for a compression algorithm (15) which compresses the difference data field (DF) for storing and/or transmitting the compressed difference data field (DF) (V3). Verfahren nach Anspruch 1, wobei die Datenpakete (12) zeilenweise in den Datenfeldern (10) angeordnet sind, Messdaten (18) einer Kamera (19) umfassen, wobei die Messdaten (18) über eine MIPI-CSI-Schnittstelle (20) erhalten werden, und die zweiten Metadaten (13) Zeitstempel umfassen.Procedure according to Claim 1 , wherein the data packets (12) are arranged line by line in the data fields (10), include measurement data (18) from a camera (19), the measurement data (18) being obtained via a MIPI-CSI interface (20), and the second Metadata (13) includes timestamps. Verfahren nach einem der vorangehenden Ansprüche, wobei das Differenz-Datenfeld (DF) mit differentieller Kodierung (14) bestimmt wird.Method according to one of the preceding claims, wherein the difference data field (DF) is determined using differential coding (14). Verfahren nach einem der vorangehenden Ansprüche, wobei das Differenz-Datenfeld (DF) einer verlustfreien Komprimierung bereitgestellt wird.Method according to one of the preceding claims, wherein the difference data field (DF) is provided for lossless compression. Computerprogramm zum Vorbereiten von Datenfeldern für eine Daten-Komprimierung, das Computerprogramm umfassend Programmbefehle, die bewirken, dass ein Computer die Schritte des Verfahrens der vorangehenden Ansprüche ausführt, wenn das Computerprogramm von dem Computer geladen oder ausgeführt wird.Computer program for preparing data fields for data compression, the computer program comprising program instructions that cause a computer to carry out the steps of the method of the preceding claims when the computer program is loaded or executed by the computer.
DE102023204555.9A 2023-05-16 2023-05-16 Computer-implemented method and computer program for preparing data fields for data compression Pending DE102023204555A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102023204555.9A DE102023204555A1 (en) 2023-05-16 2023-05-16 Computer-implemented method and computer program for preparing data fields for data compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102023204555.9A DE102023204555A1 (en) 2023-05-16 2023-05-16 Computer-implemented method and computer program for preparing data fields for data compression

Publications (1)

Publication Number Publication Date
DE102023204555A1 true DE102023204555A1 (en) 2024-03-14

Family

ID=90054879

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023204555.9A Pending DE102023204555A1 (en) 2023-05-16 2023-05-16 Computer-implemented method and computer program for preparing data fields for data compression

Country Status (1)

Country Link
DE (1) DE102023204555A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070025630A1 (en) 2005-07-27 2007-02-01 Sung Chih-Ta S Method and apparatus of image compression
WO2012155119A1 (en) 2011-05-11 2012-11-15 Pelican Imaging Corporation Systems and methods for transmitting and receiving array camera image data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070025630A1 (en) 2005-07-27 2007-02-01 Sung Chih-Ta S Method and apparatus of image compression
WO2012155119A1 (en) 2011-05-11 2012-11-15 Pelican Imaging Corporation Systems and methods for transmitting and receiving array camera image data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, Jian-Wen ; KAO, Chao-Yang; LIN, Youn-Long: Introduction to H.264 advanced video coding. In: Proceedings of the ASP-DAC 2006, January 24-January 27, 2006, Pacifico Yokohama, Yokohama, Japan, Art.-Nr. 7D-1, S. 736-741. – ISBN 0-7803-9451-8

Similar Documents

Publication Publication Date Title
DE69937839T2 (en) DEVICE AND METHOD FOR LOCATING A CODING UNIT
DE69930886T2 (en) Data processing apparatus and method and storage medium
DE102018118362A1 (en) SYSTEMS AND METHOD FOR THE EFFICIENT AND LOSS-FREE COMPRESSION OF COLLECTED RAW PICTURE DATA
US20020018597A1 (en) Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium
DE19544761A1 (en) Video data compression system with comparison to reference pixels
DE3736193C2 (en)
DE19919600A1 (en) Image data compression device for rapid image data transmission and efficient image data recording
DE202012013410U1 (en) Image compression with SUB resolution images
CN102104764A (en) Method for compressing, storing and processing image sequence
DE102007020292A1 (en) Method for compressing data using run-length coding, in particular for medical image data
EP0698316B1 (en) Image transmission method with unequal error protection
DE102006030743A1 (en) System, method and computer instructions for compressing four-dimensional data
US8611686B2 (en) Coding apparatus and method
DE69820148T2 (en) Process for compression / decompression of image data
DE19819405B4 (en) Implementation of a reversible embedded wavelet system
DE102023204555A1 (en) Computer-implemented method and computer program for preparing data fields for data compression
DE102011080591A1 (en) Method for processing medical image data
CN111787321A (en) Image compression and decompression method and system for edge end based on deep learning
DE69936304T2 (en) RANGE-BASED SCALABLE PICTURE CODING
DE112007002373T5 (en) frame filter
DE3828908A1 (en) IMAGE TRANSFER SYSTEM
DE102021110443A1 (en) FRAME BUFFER COMPRESSION CIRCUIT AND IMAGE PROCESSING DEVICE
EP1491055B1 (en) Repetition coded compression for highly correlated image data
DE10007171A1 (en) Method and arrangement for coding or for coding and decoding a sequence of numbers
EP0118755B1 (en) Method of digitally transmitting television pictures

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0019000000

Ipc: H04N0019503000

R016 Response to examination communication
R230 Request for early publication
R002 Refusal decision in examination/registration proceedings