DE102009020807B4 - Verfahren zur effizienten Komprimierung für Messdaten - Google Patents
Verfahren zur effizienten Komprimierung für Messdaten Download PDFInfo
- Publication number
- DE102009020807B4 DE102009020807B4 DE102009020807.0A DE102009020807A DE102009020807B4 DE 102009020807 B4 DE102009020807 B4 DE 102009020807B4 DE 102009020807 A DE102009020807 A DE 102009020807A DE 102009020807 B4 DE102009020807 B4 DE 102009020807B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- message
- subtracted
- messages
- values
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Verfahren zum Komprimieren von Messdaten von einem CAN-Bus, wobei das Verfahren umfasst, dass
ein Zeitsequenz-Nachrichtenblock bereitgestellt wird, wobei jede Nachricht einen Zeitstempel, eine Nachrichten-ID und Daten umfasst, wobei die Daten in mehreren Bytes bereitgestellt werden;
in dem Nachrichtenblock Nachrichten mit der gleichen Nachrichten-ID identifiziert werden;
die Datenbytes in den Nachrichten gruppiert werden, wobei Datenbytes an der gleichen Stelle in der Nachricht für Nachrichten mit der gleichen Nachrichten-ID miteinander gruppiert werden;
die Datenbytes in jeder Gruppe sequentiell subtrahiert werden, um für jede Gruppe eine Reihe von subtrahierten Werten bereitzustellen;
jede Reihe von subtrahierten Werten für jede Gruppe in komprimierte Daten komprimiert wird; und
die Zeitstempel von sequentiellen Nachrichten mit der gleichen Nachrichten-ID subtrahiert werden, um Zeitstempel-Reihenwerte bereitzustellen, die Zeitstempel-Reihenwerte sequentiell subtrahiert werden, um Zeitstempel-Differenzwerte bereitzustellen, und die Zeitstempel-Differenzwerte dann komprimiert werden, um eine komprimierte Zeitstempelinformation bereitzustellen,
wobei
die Daten Messdaten sind und
das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass ein Datennachrichtenblock von einem CAN-Datenbus an einem Fahrzeug bereitgestellt wird.
ein Zeitsequenz-Nachrichtenblock bereitgestellt wird, wobei jede Nachricht einen Zeitstempel, eine Nachrichten-ID und Daten umfasst, wobei die Daten in mehreren Bytes bereitgestellt werden;
in dem Nachrichtenblock Nachrichten mit der gleichen Nachrichten-ID identifiziert werden;
die Datenbytes in den Nachrichten gruppiert werden, wobei Datenbytes an der gleichen Stelle in der Nachricht für Nachrichten mit der gleichen Nachrichten-ID miteinander gruppiert werden;
die Datenbytes in jeder Gruppe sequentiell subtrahiert werden, um für jede Gruppe eine Reihe von subtrahierten Werten bereitzustellen;
jede Reihe von subtrahierten Werten für jede Gruppe in komprimierte Daten komprimiert wird; und
die Zeitstempel von sequentiellen Nachrichten mit der gleichen Nachrichten-ID subtrahiert werden, um Zeitstempel-Reihenwerte bereitzustellen, die Zeitstempel-Reihenwerte sequentiell subtrahiert werden, um Zeitstempel-Differenzwerte bereitzustellen, und die Zeitstempel-Differenzwerte dann komprimiert werden, um eine komprimierte Zeitstempelinformation bereitzustellen,
wobei
die Daten Messdaten sind und
das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass ein Datennachrichtenblock von einem CAN-Datenbus an einem Fahrzeug bereitgestellt wird.
Description
- HINTERGRUND DER ERFINDUNG
- 1. Gebiet der Erfindung
- Diese Erfindung bezieht sich allgemein auf ein Verfahren zum Komprimieren von Daten und insbesondere auf ein Verfahren zum Komprimieren von Messdaten, das ein Gruppieren von gemeinsamen Elementen in den Daten, ein Subtrahieren aufeinanderfolgender Datenelemente in den Gruppen von gemeinsamen Datenelementen und ein Komprimieren der subtrahierten Werte umfasst.
- 2. Erläuterung der verwandten Technik
- Moderne Fahrzeuge umfassen viele Systeme, Subsysteme, Aktoren, Sensoren etc., die Messdaten bereitstellen, die zwischen verschiedenen Systemen und Subsystemen an dem Fahrzeug transferiert werden, die ermöglichen, dass das Fahrzeug auf eine gewünschte Weise arbeitet. Typischerweise werden die Daten zwischen den Systemen und Subsystemen an einem oder mehreren Datenbussen, die manchmal als Controller Area Network-Datenbus (CAN-Datenbus) bezeichnet werden, transferiert. Ein bekanntes Fahrzeugsystem verwendet fünf CAN-Datenbusse. Wenn ein Fahrzeug gewartet, getestet, entwickelt etc. wird, werden die Messdaten an dem CAN-Bus typischerweise an Testgeräte und dergleichen transferiert, die von dem Fahrzeug separat sind. Es ist notwendig, dass diese Daten in einer Speichereinrichtung gespeichert werden, von der sie dann nachfolgend analysiert werden. Es besteht jedoch das Problem, dass die durch das Fahrzeug über eine bestimmte Zeitperiode erzeugte Datenmenge sehr groß sein kann, was eine sehr große Speichereinrichtung erfordert und die Kosten erhöht.
- In der Technik sind verschiedene Komprimierungsalgorithmen bekannt, die verschiedene Typen von Daten komprimieren, sodass die Daten in einem Speicher gespeichert werden können, ohne so viel Speicherplatz zu verwenden, wie normalerweise erforderlich wäre. Diese Komprimierungsalgorithmen umfassen WinZip, MP3, etc., die Fachleuten alle weithin bekannt sind. Eine typische Komprimierungsrate für bekannte verlustfreie Komprimierungsalgorithmen liegt zwischen zwei und vier, was bedeutet, dass die mittlere Reduzierung des für die digitalen Daten erforderlichen Speicherplatzes um einen Faktor von zwei bis vier von den ursprünglichen Daten reduziert wird.
- Ein Komprimierungsalgorithmus für Fahrzeugnetzwerke ist in ”Ramteke and Mahmud: An adaptive data-reduction protocol for the future invehicle networks (SAE transactions, Section 7: Journal of passenger cars: electronic and electrical systems, Vol. 114, 2005, S. 519–530 (2005-01-1540) – ISSN 0096-736X)” beschrieben.
- Ferner ist nicht nur die in verschiedenen Anwendungen erforderliche Menge an Speicherplatz wichtig, sondern ist auch die Transferzeit zum Übertragen der Daten von der Speichereinrichtung an die Testgeräte wichtig. Somit dauert es typischerweise sehr lange, die Daten von der Speichereinrichtung herunterzuladen, was auch die Kosten erhöht.
- Der weithin bekannte MP3-Komprimierungsalgorithmus weist eine relativ hohe Komprimierungsrate, typischerweise zwischen 10 und 12 in Abhängigkeit von der verwendeten Bit-Rate, auf. Da der Algorithmus jedoch für eine Audiokomprimierung verwendet wird, bringt er als Ergebnis des Komprimierungsprozesses einen bestimmten Betrag an Verlust mit sich, wobei der wiederhergestellte Audioinhalt oder die wiederhergestellte Musik nicht die gleiche Qualität aufweist wie der ursprüngliche Audioinhalt oder die ursprüngliche Musik. Für eine Audiokomprimierung ist solch ein verlustbehafteter Komprimierungsprozess typischerweise ausreichend, da der Unterschied der Musikqualität für das menschliche Ohr nicht wahrnehmbar ist. Für eine Messdatenkomprimierung wären solche Verluste jedoch nicht akzeptabel.
- Es ist die der Erfindung zugrunde liegende Aufgabe, eine effiziente Komprimierung für Fahrzeugmesswerte anzugeben.
- Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Gemäß den Lehren der vorliegenden Erfindung wird ein Verfahren zum Komprimieren von Messdaten offenbart, das ein Gruppieren von gemeinsamen Datenelementen in gemeinsamen Datennachrichten umfasst. Sequentielle Datenelemente in den Gruppen werden voneinander subtrahiert, um Differenzwerte bereitzustellen. Die Differenzwerte werden unter Verwendung eines geeigneten Komprimierungsalgorithmus zum Bereitstellen von komprimierten Datenblöcken komprimiert. Die jeder gemeinsamen Datennachricht zugehörigen Zeitstempelperioden werden auch voneinander subtrahiert, um Zeitstempel-Differenzwerte bereitzustellen. Die Zeitstempel-Differenzwerte werden auch komprimiert, um komprimierte Zeitstempelblöcke bereitzustellen. Die komprimierten Datenblöcke und Zeitstempelblöcke werden dann gespeichert.
- Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den begleitenden Zeichnungen ersichtlich.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Darstellung einer Sequenz von zu komprimierenden Datenmessungsnachrichten; -
2 ist eine Darstellung eines Komprimierungsprozesses, der eine Gruppierung, eine Differenzbildung und eine Komprimierung der Datenelemente in den in1 gezeigten Nachrichten umfasst; -
3 ist eine Liste des Zeitstempels und der Nachrichten-IDs von den Nachrichten in1 , wobei eine Zeitdifferenz der Zeitstempel für gemeinsame Nachrichten gezeigt ist; -
4 ist eine Darstellung eines Komprimierungsprozesses, der die in3 gezeigten Zeitstempeldifferenzen komprimiert; -
5 ist eine Darstellung komprimierter Datenblöcke in einer Speicherumgebung; und -
6 ist ein Blockdiagramm eines Komprimierungssystems gemäß einer Ausführungsform der vorliegenden Erfindung. - DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
- Die folgende Erläuterung der Ausführungsformen der Erfindung, die auf einen Komprimierungsprozess zum Komprimieren von Daten gerichtet ist, ist lediglich beispielhafter Natur und beabsichtigt keineswegs, die Erfindung oder ihre Anwendungen oder Verwendungen zu beschränken. Beispielsweise findet der nachstehend erläuterte Komprimierungsprozess eine spezielle Anwendung beim Komprimieren von Messdaten von einem Fahrzeug-CAN-Datenbus. Fachleute werden jedoch erkennen, dass der Komprimierungsprozess der Erfindung beim Komprimieren anderer Datentypen in anderen Umgebungstypen Anwendung findet.
-
1 ist eine Darstellung einer Liste von zwölf CAN-Messdatennachrichten10 , die sequentiell an einem oder mehreren CAN-Datenbussen in einem Fahrzeug geliefert werden. Die Nachrichten10 liegen im Hexadezimalformat vor, in dem die Zahlen 10–15 durch die Buchstaben A, B, C, D, E und F dargestellt sind. Die Nachrichten10 umfassen einen Zeitstempel12 in Millisekunden, der den Zeitpunkt identifiziert, zu dem die Nachrichten10 an dem CAN-Bus übertragen werden. Die Nachrichten10 umfassen auch eine Nachrichten-ID14 und eine Nachrichtenlänge16 . Die Nachrichten10 umfassen ferner einen Datenabschnitt18 , der in mehrere Datenbytes20 aufgeteilt ist, wobei jedes von diesen durch zwei Hexadezimalwerte dargestellt ist. Die Formatierung der Nachrichten und die darin enthaltene Information dienen lediglich beispielhaften Zwecken. -
2 ist eine Darstellung eines Komprimierungsprozesses26 , der die in1 gezeigten CAN-Datennachrichten10 als ein Beispiel des Komprimierungsprozesses der Erfindung komprimiert. Wie es nachstehend erläutert wird, komprimiert der Komprimierungsprozess26 die Daten auf der Grundlage von gemeinsamen Datenelementen in gemeinsamen Nachrichten. Mit anderen Worten werden die gleichen Datenbytes20 in jeder Nachricht10 mit der gleichen Nachrichten-ID14 miteinander gruppiert. Die Messdaten enthalten verschiedene Variablen, die in einer Datei gespeichert werden. Der Prozess26 gruppiert alle Bytes20 , die zu einer Variable gehören, wobei jede Variable separat verarbeitet wird. Wenn die Variable aus verschiedenen Bytes besteht, wird jedes Byte in einer separaten Gruppe gespeichert und separat verarbeitet. - Der Prozess
26 umfasst einen Gruppierungsteilabschnitt28 mit Kasten30 , die mit einem bestimmten Datenbyte20 von einer bestimmten Datennachricht10 gefüllt werden. Beispielsweise umfasst die Gruppe in der ersten Zeile in dem Gruppierungsteilabschnitt28 die ersten Bytes20 in dem Datenabschnitt18 der Nachrichten10 mit der Nachrichten-ID 3FC. Die nächste Zeile umfasst das nächste Datenbyte20 in dem Datenabschnitt18 für die gleiche Nachrichten-ID. Dieser Prozess dauert an, bis alle gemeinsamen Bytes20 von einer bestimmten Nachricht mit einer gemeinsamen Nachrichten-ID miteinander gruppiert sind. Dieser Gruppierungsprozess fährt mit der nächsten Nachricht10 mit der gleichen Nachrichten-ID, im speziellen201 , fort. Die ersten Datenbytes20 der mit der Nachrichten-ID201 identifizierten Nachrichten werden miteinander gruppiert, nachdem alle Datenbytes20 für die Nachrichten-ID 3FC miteinander gruppiert wurden. Da es in der in1 gezeigten Sequenz von Nachrichten10 fünf Nachrichten mit verschiedenen Nachrichten-IDs gibt, gibt es zweiundzwanzig Gruppen, da es in den fünf Nachrichten, die verschiedene Nachrichten-IDs haben, zweiundzwanzig Datenbytes20 gibt. - Der nächste Schritt in dem Prozess
26 ist, sequentielle Differenzwerte zwischen den Datenbytes20 in jeder Gruppe bereitzustellen, wie es durch einen Differenzteilabschnitt32 gezeigt ist. Die Differenzwerte stellen eine Änderung der Messdaten von einem Zeitpunkt zu dem nächsten Zeitpunkt dar. Normalerweise ändern sich Messwerte langsam, was bewirkt, dass die Änderungen in den Bytes20 von einem Zeitstempel12 zu dem nächsten Zeitstempel12 klein sind. Insbesondere ändern sich die Daten für ein Fahrzeug während des Zeitrahmens von einer Nachricht10 mit einer Nachrichten-ID14 zu der nächsten Nachricht10 mit der gleichen Nachrichten-ID14 nicht sehr schnell. Es ist für die Komprimierung möglich, die Daten zu gruppieren und dann die Differenzbildung auf diese Weise bereitzustellen, da jedes Byte20 , das sich bei jenen Nachrichten10 mit der gleichen Nachrichten-ID14 an der gleichen Stelle des Datenabschnitts18 befindet, die gleiche Information aufweist, wie beispielsweise Temperatur, Druck, Drehzahl etc. Für den Fall, dass eine Variable durch mehrere Bytes20 dargestellt wird, ändern sich die höheren, signifikanteren Bytes20 extrem selten. Jene Bytes20 enthalten mit Ausnahme des ersten Bytes nur Bytes mit Null. - Der Differenzteilabschnitt
32 des Verfahrens26 zeigt Zeilen34 von Differenzwerten. Bei der ersten Zeile34 sind alle Bytes20 in der Gruppe Null, sodass alle Differenzwerte Null sind. Bei der nächsten Zeile34 ist die Differenz zwischen dem ersten Byte und dem vorausgehenden Byte –52, da es kein vorausgehendes Byte gibt und dieses als Null angenommen wird. Der Hexadezimaldifferenzwert ist zu Klarheitszwecken in einen Dezimalwert umgewandelt. Die Differenzwerte werden für alle Bytes20 in allen Nachrichten10 bereitgestellt. - Die Differenzwerte für jede Gruppe werden dann in einem Komprimierungsteilabschnitt
36 des Prozesses26 an eine Komprimierungseinrichtung38 weitergeleitet, wobei die Komprimierungseinrichtung38 eine geeignete Komprimierungsoperation oder einen geeigneten Komprimierungsalgorithmus einsetzt. Bei einer nicht einschränkenden Ausführungsform ist der verwendete Komprimierungsalgorithmus der weithin bekannte Burrows-Wheeler-Komprimierungsalgorithmus. Ein weiteres Beispiel ist der weithin bekannte Huffman-Komprimierungsalgorithmus. Jede Zeile34 der Differenzwerte wird durch den Komprimierungsalgorithmus in einen viel kleineren Datenblock40 komprimiert. Bei einer Ausführungsform beträgt die Komprimierungsrate sechzehn, was bedeutet, dass für alle sechzehn Zeichen in den Daten ein einzelnes Zeichen gespeichert wird. Verschiedene Nachrichten10 weisen verschiedene Perioden auf, d. h. wie oft Nachrichten mit der gleichen Nachrichten-ID14 übertragen werden, und zwar in Abhängigkeit davon, welche Information sie umfassen und wie wichtig sie ist, was die Größe der nicht komprimierten Datenblöcke in den Zeilen34 bestimmt. Die Größe jedes komprimierten Datenblocks40 wird auch durch den Datentyp, der komprimiert wird, bestimmt. - Daten, die mit verschiedenen variablen Perioden gespeichert werden, umfassen einen Zeitstempel für jeden Wert für jede Gruppe mit dem gleichen Abtastpunkt. Da die meisten Daten in einem Messsystem periodisch sind und die Periodenänderungen klein sind, wird nur die Differenz von der letzten Periode auf eine komprimierte Weise gespeichert.
-
3 zeigt den Zeitstempel12 und die Nachrichten-ID14 für jede der in1 gezeigten Nachrichten10 . Es wird eine Periode zwischen den Zeitstempeln12 für eine Nachricht mit einer Nachrichten-ID14 zu der nächsten Nachricht mit der gleichen Nachrichten-ID14 identifiziert. Insbesondere wird der Wert für den Zeitstempel12 des Übertragungszeitpunkts einer Nachricht10 von dem Wert des Zeitstempels für die nächste Nachricht mit dieser Nachrichten-ID14 subtrahiert, und dieser Wert wird als Periode identifiziert. Bei diesem Beispiel beträgt die Differenz des Zeitstempels12 zwischen den ersten beiden Nachrichten mit der Nachrichten-ID 3FC 100 Millisekunden. Als Nächstes wird ein Differenzwert für die Perioden zwischen nachfolgenden Zeitstempeln für die Nachrichten10 mit der gleichen Nachrichten-ID14 definiert. Bei diesem Beispiel beträgt die Zeitdifferenz100 zwischen den ersten beiden Nachrichten mit der Nachrichten-ID 3FC 100 Millisekunden, und dieser Wert wird von Null subtrahiert, da es keine vorausgehende Nachricht mit der Nachrichten-ID 3FC in den komprimierten Nachrichten10 gibt. Die Periode zwischen dem zweiten und dem dritten Auftreten der Nachrichten-ID 3FC beträgt ebenfalls 100 Millisekunden. Dieser Wert wird von der ersten Differenz von 100 Millisekunden subtrahiert, sodass ein Differenzwert von Null erhalten wird. Dieser Prozess wird für alle Nachrichten10 mit der gleichen Nachrichten-ID fortgesetzt, wobei die Anzahl von Differenzwerten um Eins kleiner ist als die Anzahl von Nachrichten10 mit der gleichen Nachrichten-ID14 . -
4 zeigt ein Komprimierungsverfahren50 für die Zeitstempel12 der in1 gezeigten Nachrichten10 . Für jeden separaten Zeitstempel12 in der Liste von Nachrichten10 wird eine Zeitstempelspalte52 identifiziert. Das Verfahren50 umfasst einen Differenzbildungsteilabschnitt54 , in dem die Sequenz von Differenzwerten für die bestimmte Nachrichten-ID in Blöcken56 bereitgestellt wird. Es werden auch Differenzwerte für alle Nachrichten10 mit dem gleichen Zeitstempel12 bereitgestellt. Die Blöcke56 werden dann durch einen geeigneten Komprimierungsalgorithmus64 in einem Komprimierungsteilabschnitt58 des Verfahrens50 auf die gleiche Weise wie oben erläutert separat verarbeitet. Die Größe der Daten in den Blöcken56 wird durch den Komprimierungsalgorithmus64 reduziert, um Zeitstempel-komprimierte Blöcke62 zu erzeugen. - Sobald alle komprimierten Blöcke
40 und62 bereitgestellt sind, werden sie zusammen mit einer Information, die die Messdaten beschreibt, in einer Datei gespeichert.5 ist eine Darstellung eines Speichers70 , der die gespeicherten komprimierten Blöcke72 umfasst. -
6 ist ein Blockdiagramm eines Systems80 , das eine Technik zum Puffern und Komprimieren von Daten zeigt. Bei dieser Ausführungsform werden Daten von einem CAN-Datenbus82 an entweder einen ersten Puffer84 oder einen zweiten Puffer86 über einen Schalter88 geliefert. Wenn der CAN-Bus72 mit einem der Puffer84 und86 verbunden ist, lädt der andere Puffer84 oder86 , der zuvor mit Daten von dem CAN-Bus72 gefüllt wurde, seine gespeicherten Daten über einen Schalter92 zu dem Komprimierungsprozess der Erfindung in Block90 herunter. Somit werden, während ein Puffer84 oder86 mit Daten gefüllt wird, die Daten in dem anderen Puffer84 oder86 komprimiert. Bei einer nicht einschränkenden Ausführungsform kann jeder Puffer84 und86 etwa eine Million Nachrichten halten. Auf diese Weise werden die Schalter88 und92 zwischen den Puffern84 und86 auf eine zyklische Weise hin- und hergeschaltet, die ermöglicht, dass ein Puffer84 oder86 gleichzeitig mit dem Komprimieren der Daten in dem anderen Puffer84 oder86 mit Daten gefüllt wird. Die komprimierten Daten von dem Block90 werden in einem Speicher94 gespeichert. - Der Dekomprimierungsprozess der komprimierten Daten wird auf eine umgekehrte Weise des Komprimierungsprozesses durchgeführt und wäre Fachleuten basierend auf dem oben erläuterten Komprimierungsprozess klar.
- Bei der oben erläuterten Komprimierung der Fahrzeugmessdaten liegt ein großer Vorteil für den Dekomprimierungsprozess vor. Wenn eine spezifische Untersuchung eines Fahrzeugsystems oder Subsystems durchgeführt wird oder ein bestimmtes Problem analysiert wird, müssen nur die diesem System oder Subsystem zugehörigen Daten betrachtet und analysiert werden. Da die Daten auf der Grundlage der Nachrichten-ID und des Inhalts gruppiert werden, müssen nur die Daten für bestimmte Datengruppen betrachtet werden. Somit müssen die anderen Datengruppen nicht dekomprimiert werden, was den Dekomprimierungsprozess erheblich beschleunigt.
- Die vorstehende Erläuterung offenbart und beschreibt lediglich beispielhafte Ausführungsformen der vorliegenden Erfindung. Ein Fachmann wird aus solch einer Erläuterung und aus den begleitenden Zeichnungen und Ansprüchen leicht erkennen, dass verschiedene Änderungen, Modifikationen und Abwandlungen daran vorgenommen werden können, ohne von dem Gedanken und Schutzumfang der Erfindung wie in den folgenden Ansprüchen definiert abzuweichen.
Claims (10)
- Verfahren zum Komprimieren von Messdaten von einem CAN-Bus, wobei das Verfahren umfasst, dass ein Zeitsequenz-Nachrichtenblock bereitgestellt wird, wobei jede Nachricht einen Zeitstempel, eine Nachrichten-ID und Daten umfasst, wobei die Daten in mehreren Bytes bereitgestellt werden; in dem Nachrichtenblock Nachrichten mit der gleichen Nachrichten-ID identifiziert werden; die Datenbytes in den Nachrichten gruppiert werden, wobei Datenbytes an der gleichen Stelle in der Nachricht für Nachrichten mit der gleichen Nachrichten-ID miteinander gruppiert werden; die Datenbytes in jeder Gruppe sequentiell subtrahiert werden, um für jede Gruppe eine Reihe von subtrahierten Werten bereitzustellen; jede Reihe von subtrahierten Werten für jede Gruppe in komprimierte Daten komprimiert wird; und die Zeitstempel von sequentiellen Nachrichten mit der gleichen Nachrichten-ID subtrahiert werden, um Zeitstempel-Reihenwerte bereitzustellen, die Zeitstempel-Reihenwerte sequentiell subtrahiert werden, um Zeitstempel-Differenzwerte bereitzustellen, und die Zeitstempel-Differenzwerte dann komprimiert werden, um eine komprimierte Zeitstempelinformation bereitzustellen, wobei die Daten Messdaten sind und das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass ein Datennachrichtenblock von einem CAN-Datenbus an einem Fahrzeug bereitgestellt wird.
- Verfahren nach Anspruch 1, wobei das sequentielle Subtrahieren der Datenbytes umfasst, dass das erste Datenbyte in der Gruppe von Null subtrahiert wird.
- Verfahren nach Anspruch 1, wobei der erste Zeitstempel-Reihenwert von Null subtrahiert wird, um den Zeitstempel-Differenzwert zu erhalten.
- Verfahren nach Anspruch 1, wobei das Komprimieren jeder Reihe von subtrahierten Werten umfasst, dass ein Burrows-Wheeler-Komprimierungsalgorithmus verwendet wird.
- Verfahren nach Anspruch 1, wobei das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass ein Nachrichtenblock bereitgestellt wird, der in mindestens einem Puffer gespeichert wird.
- Verfahren nach Anspruch 5, wobei das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass Nachrichtenblöcke bereitgestellt werden, die in zwei Puffern gespeichert werden, wobei ein Puffer mit nicht komprimierten Nachrichten geladen wird, während die Nachrichten in dem anderen Puffer komprimiert werden.
- Verfahren zum Komprimieren von Messdaten von einem CAN-Datenbus an einem Fahrzeug, wobei das Verfahren umfasst, dass ein Zeitsequenz-Nachrichtenblock von dem CAN-Datenbus bereitgestellt wird, wobei jede Nachricht einen Zeitstempel, eine Nachrichten-ID und mehrere Datenbytes umfasst; Nachrichten in dem Nachrichtenblock mit der gleichen Nachrichten-ID identifiziert werden; die Datenbytes in den Nachrichten gruppiert werden, wobei Datenbytes an der gleichen Stelle in der Nachricht für Nachrichten mit der gleichen Nachrichten-ID miteinander gruppiert werden; die Datenbytes in jeder Gruppe sequentiell subtrahiert werden, um eine Reihe von subtrahierten Werten für jede Gruppe bereitzustellen, wobei das sequentielle Subtrahieren der Datenbytes umfasst, dass das erste Datenbyte in der Gruppe von Null subtrahiert wird; jede Reihe von subtrahierten Werten für jede Gruppe in komprimierte Daten komprimiert wird; die Zeitstempel von sequentiellen Nachrichten mit der gleichen Nachrichten-ID subtrahiert werden, um Zeitstempel-Reihenwerte bereitzustellen; die Zeitstempel-Reihenwerte sequentiell subtrahiert werden, um Zeitstempel-Differenzwerte bereitzustellen, wobei der erste Zeitsternpel-Reihenwert von Null subtrahiert wird, um den Zeitstempel-Differenzwert zu erhalten; die Zeitstempel-Differenzwerte komprimiert werden, um eine komprimierte Zeitstempelinformation bereitzustellen; und die komprimierten Daten und die komprimierte Zeitstempelinformation gespeichert werden.
- Verfahren nach Anspruch 7, wobei das Komprimieren jeder Reihe von subtrahierten Werten und der Zeitstempel-Differenzwerte umfasst, dass ein Burrows-Wheeler-Komprimierungsalgorithmus verwendet wird.
- Verfahren nach Anspruch 7, wobei das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass ein Nachrichtenblock bereitgestellt wird, der in mindestens einem Puffer gespeichert wird.
- Verfahren nach Anspruch 9, wobei das Bereitstellen eines Zeitsequenz-Nachrichtenblocks umfasst, dass Nachrichtenblöcke bereitgestellt werden, die in zwei Puffern gespeichert werden, wobei ein Puffer mit nicht komprimierten Daten geladen wird, während die Daten in dem anderen Puffer komprimiert werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/128,957 | 2008-05-29 | ||
US12/128,957 US8010704B2 (en) | 2008-05-29 | 2008-05-29 | Method of efficient compression for measurement data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102009020807A1 DE102009020807A1 (de) | 2010-01-21 |
DE102009020807B4 true DE102009020807B4 (de) | 2015-12-03 |
Family
ID=41381075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102009020807.0A Active DE102009020807B4 (de) | 2008-05-29 | 2009-05-11 | Verfahren zur effizienten Komprimierung für Messdaten |
Country Status (3)
Country | Link |
---|---|
US (1) | US8010704B2 (de) |
CN (1) | CN101594150B (de) |
DE (1) | DE102009020807B4 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011107323A1 (de) * | 2011-07-06 | 2013-01-10 | Abb Ag | Verfahren zur Übertragung eines Prozessabbildes über ein Gateway-Gerät |
CN102891683A (zh) * | 2011-07-21 | 2013-01-23 | 南京航天银山电气有限公司 | 一种变电站数据帧的压缩方法及装置 |
US20130179409A1 (en) * | 2012-01-06 | 2013-07-11 | International Business Machines Corporation | Separation of data chunks into multiple streams for compression |
US9219499B2 (en) * | 2014-05-16 | 2015-12-22 | Robert Bosch Gmbh | Run time compression method for a vehicle communication bus |
GB2530012A (en) * | 2014-08-05 | 2016-03-16 | Illumina Cambridge Ltd | Methods and systems for data analysis and compression |
CN104753540B (zh) * | 2015-03-05 | 2019-02-26 | 华为技术有限公司 | 数据压缩方法、数据解压方法和装置 |
US10320695B2 (en) * | 2015-05-29 | 2019-06-11 | Advanced Micro Devices, Inc. | Message aggregation, combining and compression for efficient data communications in GPU-based clusters |
DE102015120130A1 (de) | 2015-11-20 | 2017-05-24 | Valeo Schalter Und Sensoren Gmbh | Verfahren zur Übertragung von Daten wenigstens eines Messgrößenaufnehmers eines Steuernetzwerks, Sender, Empfänger, Messgrößenaufnahmevorrichtung und Steuernetzwerk |
EP3451538A1 (de) | 2017-08-30 | 2019-03-06 | Melexis Technologies SA | Verfahren und vorrichtung zur handhabung von sensormessdaten |
US10728124B2 (en) * | 2018-03-07 | 2020-07-28 | Aptiv Technologies Limited | Efficient time series data communication |
CN109542059B (zh) * | 2018-11-19 | 2022-04-01 | 国核自仪系统工程有限公司 | 历史数据压缩装置和方法 |
US10949443B2 (en) | 2018-12-06 | 2021-03-16 | Automotive Research & Testing Center | Method and system for sampling and converting vehicular network data |
KR102575359B1 (ko) | 2019-01-09 | 2023-09-05 | 삼성전자주식회사 | 시계열 데이터 압축 및 복원 방법 |
WO2020183448A1 (en) | 2019-03-11 | 2020-09-17 | Saferide Technologies Ltd | A system and method for compressing controller area network (can) messages |
US20220303362A1 (en) * | 2019-08-29 | 2022-09-22 | Enigmatos Ltd. | Method for compressing can-bus data |
DE102020202625A1 (de) * | 2020-03-02 | 2021-09-02 | Volkswagen Aktiengesellschaft | Verfahren zur Aufbereitung von wenigstens eine Zeitreihe enthaltenden Datensätzen, Vorrichtung zur Durchführung, Fahrzeug sowie Computerprogramm |
CN111694766B (zh) * | 2020-06-16 | 2024-03-08 | 北京经纬恒润科技股份有限公司 | 一种can数据采集方法及装置 |
US20230252029A1 (en) * | 2020-06-24 | 2023-08-10 | Zhixie Huitong (Beijing) Technology Co., Ltd. | On-board data storage method and system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4151421A (en) * | 1977-01-31 | 1979-04-24 | Vlsi Technology Research Association | Method for compressing pattern data and data compression processing circuit for radiant beam exposure apparatuses |
US6466902B1 (en) * | 1998-12-28 | 2002-10-15 | Sony Corporation | Method and apparatus for dictionary sorting |
US7224293B2 (en) * | 2003-10-17 | 2007-05-29 | Pacbyte Software Pty Limited | Data compression system and method |
US20070247350A1 (en) * | 2006-03-29 | 2007-10-25 | Ryan Dean E | Method and apparatus of compressing terrain data |
US20090129684A1 (en) * | 2007-11-15 | 2009-05-21 | Seung Soo Lee | Method and apparatus for compressing text and image |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10154044A (ja) * | 1996-11-22 | 1998-06-09 | Advantest Corp | 転送データ圧縮展開方式及び転送データ圧縮展開装置 |
US5907297A (en) * | 1997-02-28 | 1999-05-25 | Oracle Corporation | Bitmap index compression |
SE527621C2 (sv) * | 2003-06-10 | 2006-04-25 | Jan-Olov Stroemberg | Metod och system för komprimering av bilddata |
CN100472526C (zh) * | 2006-06-28 | 2009-03-25 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、数据读取方法以及数据检索方法 |
CN101241508B (zh) * | 2007-08-01 | 2011-05-18 | 金立 | 结构化数据序列的压缩方法 |
-
2008
- 2008-05-29 US US12/128,957 patent/US8010704B2/en active Active
-
2009
- 2009-05-11 DE DE102009020807.0A patent/DE102009020807B4/de active Active
- 2009-05-26 CN CN200910141843.2A patent/CN101594150B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4151421A (en) * | 1977-01-31 | 1979-04-24 | Vlsi Technology Research Association | Method for compressing pattern data and data compression processing circuit for radiant beam exposure apparatuses |
US6466902B1 (en) * | 1998-12-28 | 2002-10-15 | Sony Corporation | Method and apparatus for dictionary sorting |
US7224293B2 (en) * | 2003-10-17 | 2007-05-29 | Pacbyte Software Pty Limited | Data compression system and method |
US20070247350A1 (en) * | 2006-03-29 | 2007-10-25 | Ryan Dean E | Method and apparatus of compressing terrain data |
US20090129684A1 (en) * | 2007-11-15 | 2009-05-21 | Seung Soo Lee | Method and apparatus for compressing text and image |
Non-Patent Citations (1)
Title |
---|
RAMTEKE, Praveen R. ; MAHMUD, Syed Masud: An adaptive data-reduction protocol for the future in-vehicle networks. In: SAE transactions. Section 7: Journal of passenger cars: electronic and electrical systems, Vol. 114, 2005, S. 519-530 (2005-01-1540). - ISSN 0096-736X * |
Also Published As
Publication number | Publication date |
---|---|
DE102009020807A1 (de) | 2010-01-21 |
US20090300039A1 (en) | 2009-12-03 |
US8010704B2 (en) | 2011-08-30 |
CN101594150A (zh) | 2009-12-02 |
CN101594150B (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102009020807B4 (de) | Verfahren zur effizienten Komprimierung für Messdaten | |
DE2139731C2 (de) | Anordnung zur Code-Umsetzung | |
DE69022705T2 (de) | System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung. | |
EP2882145B1 (de) | Verfahren und Filteranordnung zum Speichern von Informationen über einen seriellen Datenbus eines Kommunikationsnetzwerks eingehender Nachrichten in einem Teilnehmer des Netzwerks | |
DE69700149T2 (de) | Dekompressionsschaltkreis | |
DE3503119A1 (de) | Verfahren zum automatischen erzeugen eines quellenprogramms | |
DE112018001315T5 (de) | Steuervorrichtung, programmaktualisierungssystem und programmaktualisierungsverfahren | |
DE3714589A1 (de) | Videosignal-codierer mit dpcm und adaptiver praediktion | |
DE102016212137A1 (de) | Verfahren und Vorrichtung zum Verarbeiten von Signalen aus Nachrichten auf wenigstens zwei Datenbussen, insbesondere CAN-Bussen; vorzugsweise in einem Fahrzeug; sowie System | |
DE10148109B4 (de) | Verfahren zum Speichern oder Weiterleiten von Daten | |
DE3742142A1 (de) | Verfahren und vorrichtung zur kompression und rekonstruktion von datenfolgen | |
DE3113189C2 (de) | Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden | |
DE19645057C2 (de) | Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung | |
EP0570813A2 (de) | Verfahren und Schaltungsanordnung zum Wiederherstellen der richtigen Anzahl von ATM-Zellen | |
DE4435457C2 (de) | Verfahren zum Archivieren von Prozeßdaten | |
DE4432436C2 (de) | Datenkompressionsverfahren und Vorrichtung zum Komprimieren von Daten | |
DE102015211641A1 (de) | Verfahren, System, und Computer-lesbares Medium zum Speichern von Diagnosedaten eines Fahrzeugs | |
DE60212465T2 (de) | Protokoll zur übertragung von digitalen nachrichten | |
EP3602964B1 (de) | Verfahren zur übertragung analyserelevanter daten, sender und system | |
EP1186175A1 (de) | Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten | |
DE102017127512B4 (de) | Verfahren zum verarbeiten einer vielzahl von fahrzeugnachrichten | |
DE102020211309A1 (de) | Vorrichtung und Verfahren zur Übertragung von Sensordaten und Multisensorsystem | |
DE102014204620A1 (de) | Verfahren und Vorrichtung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes | |
DE102019133024A1 (de) | System sowie Verfahren zur Analyse von IP-Datenverkehr | |
DE102019203010A1 (de) | Verfahren zum Bereitstellen von aktuellen Daten in einem Kraftfahrzeug, sowie Datenbereitstellungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8180 | Miscellaneous part 1 |
Free format text: PFANDRECHT |
|
8127 | New person/name/address of the applicant |
Owner name: GM GLOBAL TECHNOLOGY OPERATIONS LLC , ( N. D. , US |
|
R081 | Change of applicant/patentee |
Owner name: GM GLOBAL TECHNOLOGY OPERATIONS LLC (N. D. GES, US Free format text: FORMER OWNER: GM GLOBAL TECHNOLOGY OPERATIONS, INC., DETROIT, MICH., US Effective date: 20110323 |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |