Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR ENCODING AND DECODING DATA
Document Type and Number:
WIPO Patent Application WO/2023/144284
Kind Code:
A1
Abstract:
The present invention relates to a method for encoding data and to a method for decoding data, the method for encoding data comprising the steps of: receiving a data point representing a numerical value from a predefined maximum value range (w_max); selecting an encoding rule (c1, c2) suitable for the data point from at least a first predefined encoding rule (c1) and a second predefined encoding rule (c2); encoding the numerical value of the data point on the basis of the selected encoding rule (c1, c2) by omitting all binary digits of the numerical value considered as a binary number which are of lower significance than a binary digit which is used for the binary representation of a lower limit of a value range (w1, w2) of the selected encoding rule (c1, c2) and by omitting all binary digits of the numerical value considered as a binary number which are of greater significance than a binary digit which is used for the binary representation of an upper limit of the value range (w1, w2) of the selected encoding rule (c1, c2); and extending the binary number of the encoded numerical value at a predefined position by adding a predefined piece of encoding information (c0) which uniquely identifies the encoding rule (c1, c2) used in each case.

Inventors:
BUNSE MICHAEL (DE)
GERHARDT CHRISTIAN (DE)
Application Number:
PCT/EP2023/051965
Publication Date:
August 03, 2023
Filing Date:
January 27, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
H03M7/30; H03M7/04
Domestic Patent References:
WO2004008436A12004-01-22
Foreign References:
US20200175356A12020-06-04
US6624768B12003-09-23
Other References:
"Low-Power Computer Vision : Improve the Efficiency of Artificial Intelligence", 12 January 2022, CHAPMAN AND HALL/CRC, Boca Raton,FL, USA, ISBN: 978-1-003-16281-0, article THIRUVATHUKAL GEORGE K. ET AL: "A Survey of Quantization Methods for Efficient Neural Network Inference : Improve the Efficiency of Artificial Intelligence", pages: 291 - 326, XP093037661, DOI: 10.1201/9781003162810-13
JIN QING ET AL: "AdaBits: Neural Network Quantization With Adaptive Bit-Widths", 2020 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 15 March 2020 (2020-03-15), pages 2143 - 2153, XP093037685, ISBN: 978-1-7281-7168-5, Retrieved from the Internet [retrieved on 20230405], DOI: 10.1109/CVPR42600.2020.00222
Download PDF:
Claims:
Ansprüche

1. Verfahren zur Codierung von Daten aufweisend die Schritte:

• Empfangen eines Datums repräsentierend einen Zahlenwert aus einem vordefinierten maximalen Wertebereich (w_max),

• Auswahlen einer für das Datum geeigneten Codiervorschrift (c1, c2) aus wenigstens einer ersten vordefinierten Codiervorschrift (c1) und einer zweiten vordefinierten Codiervorschrift (c2), wobei o die erste Codiervorschrift (c1) zur Codierung eines ersten Wertebereichs (w1) vorgesehen ist, dessen untere Grenze der unteren Grenze des maximalen Wertebereichs (w_max) entspricht und dessen obere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle kleiner als eine Binärzahl ist, welche zur binären Repräsentation der oberen Grenze des maximalen Wertebereichs (w_max) verwendet wird, o die zweite Codiervorschrift (c2) zur Codierung eines zweiten Wertebereichs (w2) vorgesehen ist, dessen untere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle größer als eine Binärzahl ist, welche zur binären Repräsentation der unteren Grenze des maximalen Wertebereichs (w_max) verwendet wird und dessen obere Grenze der oberen Grenze des maximalen Wertebereichs (w_max) entspricht, o diejenige Codiervorschrift (c1, c2) ausgewählt wird, deren Wertebereich (w1 , w2) den Zahlenwert des Datums enthält, wobei in einem Fall, in dem der Zahlenwert in den Wertebereichen (w1 , w2) mehrerer Codiervorschriften (c1 , c2) enthalten ist, diejenige Codiervorschrift (c1 , c2) ausgewählt wird, welche die kleinste untere Wertebereichsgrenze aufweist,

• Codieren des Zahlenwertes des Datums auf Basis der ausgewählten Codiervorschrift (c1, c2), indem o sämtliche Binärstellen des als Binärzahl betrachteten Zahlenwertes ausgelassen werden, welche niederwertiger sind als die Binärstelle, die zur binären Repräsentation der unteren Grenze des Wertebereichs (w1 , w2) der ausgewählten Codiervorschrift (c1 , c2) verwendet wird, und o sämtliche Binärstellen des als Binärzahl betrachteten Zahlenwertes ausgelassen werden, welche höherwertiger sind als die Binärstelle, die zur binären Repräsentation der oberen Grenze des Wertebereichs (w1 , w2) der ausgewählten Codiervorschrift (c1, c2) verwendet wird, und

• Erweitern der Binärzahl des codierten Zahlenwertes an einer vordefinierten Position um eine vordefinierte Codierinformation (cO), welche die jeweils verwendete Codiervorschrift (c1, c2) eindeutig identifiziert. Verfahren nach Anspruch 1 , wobei eine Anzahl von Bits, welche für die Codierung der Wertebereiche (w1 , w2) der jeweiligen Codiervorschriften (c1, c2) verwendet wird, für sämtliche Codiervorschriften (c1 , c2) einheitlich ist. Verfahren einem der vorstehenden Ansprüche, wobei zusätzlich wenigstens eine dritte Codiervorschrift (c3) verwendet wird, welche zur Codierung eines dritten Wertebereichs (w3) vorgesehen ist,

• dessen untere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle größer als eine Binärzahl ist, welche zur binären Repräsentation der unteren Grenze des ersten Wertebereichs (w1) verwendet wird, und

• dessen obere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle kleiner als eine Binärzahl ist, welche zur binären Repräsentation der oberen Grenze des zweiten Wertebereichs (w2) verwendet wird. Verfahren nach Anspruch 3, wobei eine Anzahl von Binärstellen, welche zwischen jeweiligen binären Repräsentationen der unteren Grenzwerte der jeweiligen Wertebereiche (w1 , w2) liegt,

• identisch oder im Wesentlichen identisch ist, oder umso höher ist, je höher die Zahlenwerte der unteren Grenzen der jeweiligen Wertebereiche (w1 , w2) sind. Verfahren nach einem der vorstehenden Ansprüche, wobei jeweilige untere und/oder obere Grenzen der jeweiligen Wertebereiche (w1 , w2) in Abhängigkeit aktueller Randbedingungen dynamisch angepasst werden. Verfahren nach einem der vorstehenden Ansprüche, wobei zu codierende negative Zahlenwerte mittels eines Vorzeichenbits (SIGN) gekennzeichnet werden, durch welches der codierte Zahlenwert an einer vordefinierten Position erweitert wird. Verfahren nach einem der vorstehenden Ansprüche, wobei das Verfahren

• zur Codierung von Messwerten von Sensoren, und/oder

• zur Übertragung von Daten zwischen einem Sender und einem Empfänger, insbesondere in einem Fahrzeug oder in einem Heimautomatisierungssystem verwendet wird. Verfahren nach Anspruch 7, wobei jeder codierte Zahlenwert bei einer Datenübertragung in einem einzigen Übertragungsrahmen übertragen wird. Verfahren zur Decodierung von Daten aufweisend die Schritte:

• Empfangen eines Datums aufweisend einen codierten Zahlenwert und eine mit dem codierten Zahlenwert korrespondierende Codierinformation (cO),

• Auswählen einer vordefinierten Decodiervorschrift (d1, d2) zum Decodieren des codierten Zahlenwertes aus wenigstens einer ersten vordefinierten Decodiervorschrift (d1) und einer zweiten vordefinierten Decodiervorschrift (d2) in Abhängigkeit der Codierinformation (cO),

• Verschieben des als Binärzahl betrachteten codierten Zahlenwertes um eine durch die ausgewählte Decodiervorschrift (d1, d2) festgelegte Anzahl von Binärstellen in Richtung höherwertiger Binärstellen, um eine decodierte Binärzahl zu erzeugen, wobei

• die decodierte Binärzahl eine vordefinierte Anzahl von Zielbinärstellen aufweist, die wenigstens so groß ist, dass ein bei der Codierung des Zahlenwertes verwendeter vordefinierter maximaler Wertebereich (w_max) mittels der decodierten Binärzahl repräsentierbar ist, und

• Binärstellen der decodierten Binärzahl, o die höherwertiger sind, als die durch die verschobene Binärzahl höchste belegte Binärstelle, mit Werten von null belegt werden, und o die niederwertiger sind, als die durch die verschobene Binärzahl niedrigste belegte Binärstelle, mit vordefinierten Ersatzwerten belegt werden. erfahren nach Anspruch 9, wobei für die Ersatzwerte vorgesehen ist,

• jede mittels der Ersatzwerte zu belegende Binärstelle der decodierten Binärzahl mit Werten von 0 zu belegen, oder

• jede mittels der Ersatzwerte zu belegende Binärstelle der decodierten Binärzahl mit Werten von 1 zu belegen, oder

• die höchstwertige Binärstelle der mit Ersatzwerten zu belegenden Binärstellen der decodierten Binärzahl mit einem Wert von 1 zu belegen und die jeweils anderen mit Ersatzwerten zu belegenden Binärstellen mit einem Wert von 0 zu belegen, oder

• die höchstwertige Binärstelle der mit Ersatzwerten zu belegenden Binärstellen der decodierten Binärzahl mit einem Wert von 0 zu belegen und die jeweils anderen mit Ersatzwerten zu belegenden Binärstellen mit einem Wert von 1 zu belegen.

Description:
Beschreibung

Titel

Verfahren zur Codierung und Decodierung von Daten

Stand der Technik

Die vorliegende Erfindung betrifft ein Verfahren zur Codierung von Daten und ein Verfahren zur Decodierung von Daten, insbesondere von Daten, welche mittels des Verfahrens zur Codierung von Daten codiert wurden.

Aus dem Stand der Technik ist bekannt, dass Messdaten unterschiedlicher Art zur Übermittlung von Information z. B. von Sensoren an datenverarbeitende Rechnereinheiten über digitale Schnittstellen übertragen werden. Bei einer solchen Übertragung spielen jeweilige Auflösungen und Wertebereiche der zu übertragenen Daten eine wesentliche Rolle.

Bei einer gegebenen statischen digitalen Codierung ergibt sich aus der jeweils benötigten Auflösung und dem jeweils erforderlichen Wertebereich eine Anforderung an die Datenübertragungsrate, welche für eine Übertragung von Messdaten mindestens bereitgestellt werden muss. Diesbezügliche Anforderungen sind beispielsweise in der PSI-Spezifikation für peripheren Crash- Sensoren, der SPI-Spezifikation für Inertialsensoren und der SENT-Spezifikation für Drucksensoren usw. festgelegt.

Hohe Anforderungen an die Auflösung von Messdaten in Kombination mit einem großen darzustellenden Wertebereich solcher Messdaten führen bei bekannten statischen Definitionen einer digitalen Codierung zu besonders hohen Anforderungen an eine Datenübertragungsrate. Eine sich hieraus ergebende hohe Datenübertragungsrate ist aber nicht zwangsläufig in allen Übertragungssituationen erforderlich. Z. B. liegen Messwerte in bestimmten Betriebszuständen eines Systems häufig in einem relativ kleinen Wertebereich, werden aber in diesem Bereich mit hoher absoluter Genauigkeit benötigt (z. B. sind Druckwerte in einem Bremssystem eines Fahrzeugs in einer überwiegenden Betriebszeit sehr gering, ein geringer Druck soll aber erfasst werden, um eine Bremsanforderung eines Fahrers zu erkennen). Befindet sich das System in Betriebszuständen, in denen ein größerer Wertebereich benötigt wird, kann es hingegen vorkommen, dass Messwerte nicht mehr mit der gleichen absoluten Genauigkeit benötigt werden sondern dass eine äquivalente relative Auflösung ausreicht.

Offenbarung der Erfindung

Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Codierung von Daten vorgeschlagen, welches besonders vorteilhaft, aber nicht ausschließlich zur Codierung von Messwerten von Sensoren, z. B. von Sensoren von Fahrzeugen, Industrieanlagen, Heimautomatisierungssystemen, usw. einsetzbar ist.

Das Verfahren wird beispielsweise mittels einer Auswerteeinheit ausgeführt, welche vorteilhaft als ASIC, FPGA, Prozessor, digitaler Signalprozessor, Mikrocontroller, o. ä., ausgestaltet ist. Das Verfahren ist beispielsweise als Computerprogramm implementiert, welches in einer informationstechnisch an die Auswerteeinheit angebundenen und/oder in einer in die Auswerteeinheit integrierten Speichereinheit abgelegt ist und durch die Auswerteeinheit ausführbar ist.

In einem ersten Schritt des erfindungsgemäßen Verfahrens wird ein Datum (welches z. B. von einem Sensor, einer Speichereinheit, einem Computerregister, usw. stammt) empfangen, welches einen Zahlenwert aus einem vordefinierten maximalen Wertebereich repräsentiert. Es sei darauf hingewiesen, dass der maximale Wertebereich ein im Vergleich zu einem Wertebereich ursprünglich erzeugter (Sensor-) Daten eingeschränkter Wertebereich sein kann. Dies ist ggf. dann sinnvoll einsetzbar, wenn eine Auflösung zu codierender Daten höher sein sollte, als in einer nachgelagerten Verarbeitungskette dieser Daten erforderlich ist. Durch eine Reduzierung des ursprünglichen Wertebereichs der Daten auf den für das Verfahren verwendeten maximalen Wertebereich, lässt sich hierdurch eine durch die Daten erzeugte Datenmenge bereits initial reduzieren. In einem zweiten Schritt des erfindungsgemäßen Verfahrens wird eine für das Datum geeignete Codiervorschrift aus wenigstens einer ersten vordefinierten Codiervorschrift und einer zweiten vordefinierten Codiervorschrift ausgewählt, wobei die erste Codiervorschrift zur Codierung eines ersten Wertebereichs vorgesehen ist, dessen untere Grenze der unteren Grenze des maximalen Wertebereichs entspricht und dessen obere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle (oder auch Anzahl von Bits) kleiner als eine Binärzahl ist, welche zur binären Repräsentation der oberen Grenze des maximalen Wertebereichs verwendet wird.

Darüber hinaus ist die zweite Codiervorschrift zur Codierung eines zweiten Wertebereichs vorgesehen, dessen untere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle größer als eine Binärzahl ist, welche zur binären Repräsentation der unteren Grenze des maximalen Wertebereichs verwendet wird und dessen obere Grenze der oberen Grenze des maximalen Wertebereichs entspricht. Mit anderen Worten werden durch die erste Codiervorschrift und durch die zweite Codiervorschrift jeweils unterschiedliche Wertebereiche codiert. Die vordefinierten Codiervorschriften sind beispielsweise in vorstehend erwähnter Speichereinheit oder in einer davon abweichenden Speichereinheit abgelegt.

Beim Auswählen der Codiervorschrift wird stets diejenige Codiervorschrift ausgewählt, deren Wertebereich den Zahlenwert des Datums enthält, wobei in einem Fall, in dem der Zahlenwert in den Wertebereichen mehrerer Codiervorschriften enthalten ist (da die Wertebereiche beispielsweise Überlappungen aufweisen), diejenige Codiervorschrift ausgewählt wird, welche die kleinste untere Wertebereichsgrenze aufweist. Hierdurch wird sichergestellt, dass ein aktuell zu codierender Zahlenwert stets mit der höchstmöglichen Auflösung codiert wird, so dass ein durch die erfindungsgemäße Codierung erzeugter Gesamtfehler so gering wie möglich gehalten wird.

In einem dritten Schritt des erfindungsgemäßen Verfahrens wird der Zahlenwert des Datums auf Basis der ausgewählten Codiervorschrift codiert, indem sämtliche Binärstellen des als Binärzahl betrachteten Zahlenwertes ausgelassen werden, welche niederwertiger sind als die Binärstelle, die zur binären Repräsentation der unteren Grenze des Wertebereichs der ausgewählten Codiervorschrift verwendet wird (also die sogenannten „least significant bits“, kurz LSBs) und indem sämtliche Binärstellen des als Binärzahl betrachteten Zahlenwertes ausgelassen werden, welche höherwertiger sind als die Binärstelle, die zur binären Repräsentation der oberen Grenze des Wertebereichs der ausgewählten Codiervorschrift verwendet wird (also die sogenannten „most significant bits“, kurz MSBs). Das Auslassen der niederwertigen Binärstellen erfolgt vorzugsweise dadurch, dass die Binärstellen des zu codierenden Zahlenwertes um eine entsprechende Anzahl von Binärstellen in Richtung des LSB (d. h., nach rechts) verschoben werden.

In einem vierten Schritt des erfindungsgemäßen Verfahrens wird die Binärzahl des codierten Zahlenwertes an einer vordefinierten Position um eine vordefinierte Codierinformation erweitert, welche die jeweils verwendete Codiervorschrift eindeutig identifiziert. Die für die Codierinformation erforderliche Anzahl von Binärstellen ist abhängig von der Anzahl der für das Verfahren verwendeten Codiervorschriften und kann dementsprechend eine oder mehrere Binärstellen im endgültig codierten Zahlenwert einnehmen.

Es sei allgemein darauf hingewiesen, dass das erfindungsgemäße Verfahren auch ohne eine binäre Repräsentation und/oder Verarbeitung auf binärer Ebene ausführbar ist und dass die hier erfolgte Beschreibung anhand der binären Repräsentation nur der vereinfachten Erläuterung dient. Entsprechend lässt sich das Verfahren beispielsweise auch in einem dezimalen, hexadezimalen, oktalen, oder in einem davon abweichenden Zahlensystem unter Verwendung äquivalenter Rechenoperationen durchführen.

Es versteht sich darüber hinaus, dass ggf. bereits vorhandene Codierungen des empfangenen Datums, dessen Zahlenwert mittels des erfindungsgemäßen Verfahrens zu codieren ist, welche für das erfindungsgemäße Auslassen von Binärstellen und/oder andere Verarbeitungsschritte des erfindungsgemäßen Verfahrens nicht geeignet sind (z. B. eine Zweierkomplementcodierung negativer Zahlenwerte), vor der Verarbeitung durch das erfindungsgemäße Verfahren zunächst teilweise oder vollständig decodiert werden.

Das erfindungsgemäße Verfahren bietet u. a. den Vorteil, dass eine Reduzierung einer erforderlichen Datenmenge erreichbar ist, während kleinere Zahlenwerte, die häufig in besonders hoher Genauigkeit vorliegen müssen, in ihrer ursprünglichen (hohen) Auflösung oder mit einem nur geringen Auflösungsverlust codierbar sind. Aus der erfindungsgemäßen Reduzierung der erforderlichen Datenmenge lassen sich beispielweise ein erforderlicher Speicherbedarf und/oder eine erforderliche Datenübertragungsrate reduzieren und/oder eine Datenübertragung beschleunigen.

Die Unteransprüche zeigen bevorzugte Weiterbildungen der Erfindung.

In einer besonders vorteilhaften Ausgestaltung der vorliegenden Erfindung ist eine Anzahl von Bits, welche für die Codierung der Wertebereiche der jeweiligen Codiervorschriften verwendet wird, für sämtliche Codiervorschriften einheitlich. Dies bietet den Vorteil, dass beispielsweise im Zusammenhang mit einer Übertragung der erfindungsgemäß codierten Daten, eine konstante Bitrate und/oder eine echtzeitfähige Übertragung erreichbar sind, da die Anzahl von Bits pro zu codierendem Zahlenwert nicht variiert.

In einer weiteren vorteilhaften Ausgestaltung der vorliegenden Erfindung wird im vorliegenden Verfahren zusätzlich wenigstens eine dritte Codiervorschrift verwendet, welche zur Codierung eines dritten Wertebereichs vorgesehen ist, dessen untere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle größer als eine Binärzahl ist, welche zur binären Repräsentation der unteren Grenze des ersten Wertebereichs verwendet wird und dessen obere Grenze einer Binärzahl entspricht, die wenigstens um eine Binärstelle kleiner als eine Binärzahl ist, welche zur binären Repräsentation der oberen Grenze des zweiten Wertebereichs verwendet wird. Darüber hinaus ist es vorteilhaft möglich, vierte, fünfte oder mehr Codiervorschriften mit jeweils korrespondierenden, voneinander abweichenden Wertebereichen einzusetzen.

Eine Anzahl von Binärstellen, welche zwischen jeweiligen binären Repräsentationen der unteren Grenzwerte der jeweiligen Wertebereiche liegt, ist vorteilhaft identisch oder im Wesentlichen identisch. „Im Wesentlichen identisch“ bezieht sich auf solche Fälle, in denen eine identische Anzahl von Binärstellen aufgrund einer für den codierten Zahlenwert vorgesehenen Gesamtzahl von Binärstellen und einer Anzahl verwendeter Codiervorschriften nicht möglich ist. Entsprechend soll hier auch eine annähernd identische Anzahl von Binärstellen enthalten sein. Alternativ ist es denkbar, dass eine jeweilige Anzahl zwischen den unteren Grenzen liegender Binärstellen umso höher ist, je höher die Zahlenwerte der unteren Grenzen der jeweiligen Wertebereiche sind. Auf diese Weise ist es möglich, für geringere Zahlenwerte eine entsprechend höhere Auflösung zu erzielen.

Vorteilhaft werden jeweilige untere und/oder obere Grenzen der jeweiligen Wertebereiche in Abhängigkeit aktueller Randbedingungen dynamisch angepasst. Als Randbedingungen kommen beispielsweise im Hinblick auf ein Fahrzeug, welches das erfindungsgemäße Verfahren einsetzt, vorliegende Umweltbedingungen und/oder erkannte kritische Fahrsituationen und/oder eine aktuelle Geschwindigkeit des Fahrzeugs usw. in Frage. Dies ermöglicht jeweils optimierte Anpassungen des erfindungsgemäßen Verfahrens an jeweilige Randbedingungen. Durch das Anpassen der unteren und/oder oberen Grenze lassen sich zum einen Verschiebungen der Wertebereiche für die jeweiligen Codiervorschriften, als auch der Umfang der jeweiligen Wertebereiche optimal anpassen. Eine solche dynamische Anpassung lässt sich beispielsweise durch Hinzufügen einer zusätzlichen Kennung zum codierten Zahlenwert eindeutig identifizieren, sodass eine korrekte Decodierung ermöglicht wird. Alternativ oder zusätzlich ist es besonders vorteilhaft möglich, eine Information über eine solche dynamische Anpassung in einem separaten Datum zu hinterlegen, welches beispielsweise vor einer Übertragung des codierten Zahlenwertes an einen Empfänger des codierten Zahlenwertes übertragen wird. Diese Information wird beispielsweise immer nur bei Änderung der dynamischen Anpassungen der Wertebereiche an einen Empfänger verschickt (z. B. über einen separaten Übertragungsrahmen), sodass der Empfänger eine Decodierung empfangener codierter Zahlenwerte jeweils auf Basis der zuletzt empfangenen Information durchführen kann.

Vorzugsweise werden zu codierende negative Zahlenwerte mittels eines Vorzeichenbits gekennzeichnet, durch welches der codierte Zahlenwert an einer vordefinierten Position erweitert wird. Die Position für das Vorzeichenbit, sowie die Position für die Codierinformation und Positionen ggf. weiterer Informationen sind grundsätzlich beliebig festlegbar.

Besonders bevorzugt wird das erfindungsgemäße Verfahren zur Codierung von Messwerten von Sensoren und/oder zur Übertragung von Daten zwischen einem Sender und einem Empfänger, insbesondere in einem Fahrzeug oder in einem Heimautomatisierungssystem verwendet. Als Sensoren kommen u.a. Radar- und/oder Lidar- und/oder Ultraschall- und/oder Geschwindigkeits- und/oder Beschleunigungs- und/oder Lage- und/oder Temperatur- und/oder Druck- und/oder weitere Sensoren in Frage.

Weiter bevorzugt wird jeder codierte Zahlenwert bei einer Datenübertragung in einem einzigen Übertragungsrahmen (engl. auch als „frame“ bezeichnet) übertragen. Dies ermöglicht eine Übertragung mit besonders geringer Zeitverzögerung, was insbesondere bei zeitkritischen Anwendungen eine wichtige Rolle spielen kann. Dies schließt selbstverständlich nicht aus, dass erfindungsgemäß codierte Zahlenwerte auch in segmentierter Form zwischen einem Sender und einem Empfänger übertragen werden können.

Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Decodierung von Daten vorgeschlagen, wobei die zu decodierenden Daten vorzugsweise Daten sind, welche mittels eines Verfahrens zur Codierung von Daten nach einem der Ansprüche 1 bis 8 codiert wurden.

In einem ersten Schritt des erfindungsgemäßen Verfahrens wird ein Datum aufweisend einen codierten Zahlenwert und eine mit dem codierten Zahlenwert korrespondierende Codierinformation empfangen. Der Vorgang des Empfangens und die nachfolgend beschriebene weitere Verarbeitung erfolgen beispielsweise mittels einer Auswerteeinheit, welche vorzugsweise ähnlich oder identisch ausgebildet ist, wie eine vorstehend beschriebene Auswerteeinheit zum Codieren von Daten.

In einem zweiten Schritt des erfindungsgemäßen Verfahrens wird eine vordefinierte Decodiervorschrift zum Decodieren des codierten Zahlenwertes aus wenigstens einer ersten vordefinierten Decodiervorschrift und einer zweiten vordefinierten Decodiervorschrift in Abhängigkeit der Codierinformation ausgewählt. Vorteilhaft sind die Codiervorschriften in einer informationstechnisch an die Auswerteeinheit angebundenen Speichereinheit abgelegt. Bevorzugt korrespondieren jeweilige Decodiervorschriften des Verfahrens gemäß dem zweiten Erfindungsaspekt derart mit jeweiligen Codiervorschriften des Verfahrens gemäß dem ersten Erfindungsaspekt, dass mittels der jeweiligen Codiervorschriften codierte Zahlenwerte durch die jeweiligen Decodiervorschriften vollständig oder mit einem durch die Codierung eingeführten Auflösungsfehler rekonstruierbar sind. In einem dritten Schritt des erfindungsgemäßen Verfahrens wird der als Binärzahl betrachtete codierte Zahlenwert um eine durch die ausgewählte Decodiervorschrift festgelegte Anzahl von Binärstellen in Richtung höherwertiger Binärstellen verschoben, um eine decodierte Binärzahl zu erzeugen. Hierbei weist die decodierte Binärzahl eine vordefinierte Anzahl von Zielbinärstellen auf, die wenigstens so groß ist, dass ein bei der Codierung des Zahlenwertes verwendeter vordefinierter maximaler Wertebereich mittels der decodierten Binärzahl repräsentierbar ist. Zudem werden Binärstellen der decodierten Binärzahl, die höherwertiger sind als die durch die verschobene Binärzahl höchste belegte Binärstelle mit Werten von 0 belegt und Binärstellen der decodierten Binärzahl, die niederwertiger sind, als die durch die verschobene Binärzahl niedrigste belegte Binärstelle, werden mit vordefinierten Ersatzwerten belegt. Vorzugsweise werden die Ersatzwerte derart gewählt, dass ein durchschnittlicher Fehler bei der Rekonstruktion der decodierten Zahlenwerte bezogen auf die ursprünglich codierten Zahlenwerte so weit wie möglich minimiert wird, ohne dadurch eine solche Minimierung zwangsläufig vorauszusetzen.

Bei der Festlegung der Ersatzwerte ist beispielsweise vorgesehen, jede mittels der Ersatzwerte zu belegende Binärstelle der decodierten Binärzahl mit Werten von 0 zu belegen oder jede mittels der Ersatzwerte zu belegende Binärstelle der decodierten Binärzahl mit Werten von 1 zu belegen. Besonders vorteilhaft ist es auch möglich, die höchstwertige Binärstelle der mit Ersatzwerten zu belegenden Binärstellen der decodierten Binärzahl mit einem Wert von 1 zu belegen und die jeweils anderen mit Ersatzwerten zu belegenden Binärstellen mit einem Wert von 0 zu belegen oder die höchstwertige Binärstelle der mit Ersatzwerten zu belegenden Binärstellen der decodierten Binärzahl mit einem Wert von 0 zu belegen und die jeweils anderen mit Ersatzwerten zu belegenden Binärstellen mit einem Wert von 1 zu belegen.

Kurze Beschreibung der Zeichnungen

Nachfolgend werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf die begleitende Zeichnung im Detail beschrieben. Dabei zeigen: Figur 1 ein erstes Ausführungsbeispiel für erfindungsgemäße vordefinierte Codiervorschriften und mit diesen korrespondierende vordefinierte Decodiervorschriften; und

Figur 2 ein zweites Ausführungsbeispiel für erfindungsgemäße vordefinierte Codiervorschriften und mit diesen korrespondierende vordefinierte Decodiervorschriften.

Ausführungsformen der Erfindung

Figur 1 zeigt ein erstes Ausführungsbeispiel für erfindungsgemäße Codiervorschriften c1 , c2 und mit diesen korrespondierende Decodiervorschriften d1, d2.

Es sei darauf hingewiesen, dass eine Repräsentation (insbesondere eine Datenrepräsentation, z. B. in einer Speichereinheit) der jeweiligen Codiervorschriften c1 , c2 und der mit diesen jeweils korrespondierenden Decodiervorschriften d1, d2 identisch sein kann. In dem hier gezeigten Beispiel sind sämtliche für die Codierung und die Decodierung von Zahlenwerten erforderlichen Informationen in derselben Tabelle vorgesehen, wobei eine Verwendung separater Codiervorschriften c1, c2 und Decodiervorschriften d1, d2, in welchen jeweils nur die für die Codierung oder die Decodierung erforderlichen Informationen enthalten sind, explizit auch möglich ist.

Es sei weiter darauf hingewiesen, dass eine erfindungsgemäße Codierung von Zahlenwerten und eine erfindungsgemäße Decodierung von Zahlenwerten unabhängig von einer gemeinsamen oder einer separaten Repräsentation der Codier-/Decodiervorschriften stets unabhängig voneinander durchführbar ist.

Die in Figur 1 gezeigte Tabelle weist in ihrer ersten Spalte von links eine fortlaufende Zahl auf, welche die jeweiligen Bits oder Binärstellen eines maximalen Wertebereichs w_max repräsentieren, wobei sich der maximale Wertebereich w_max aus Gründen der Darstellung hier auf einen Betrag, d. h. einen Bereich positiver Zahlenwerte bezieht und ein Vorzeichenbit SIGN zur Repräsentation sowohl positiver, als auch negativer Zahlenwerte als zusätzliches 20tes Bit vorgesehen ist. Es sei in diesem Zusammenhang explizit darauf hingewiesen, dass das erfindungsgemäße Verfahren auch mit maximalen Wertebereichen w_max durchführbar ist, welche keine negativen Zahlenwerte aufweisen (z. B. Druck, Temperatur, Abstand). In solchen Fällen wird das 20te Bit vorzugsweise zusätzlich zur Repräsentation des positiven Wertebereichs verwendet.

Die in Figur 1 gezeigte Tabelle weist in ihrer zweiten Spalte von links jeweilige untere Grenzen der jeweiligen Codier-/Decodiervorschriften auf.

Die dritte Spalte von links repräsentiert die erste Codiervorschrift c1 und die erste Decodiervorschrift d1 mit einem Wertebereich w1 , während die vierte Spalte von links die zweite Codiervorschrift c2 und die zweite Decodiervorschrift d2 mit einem Wertebereich w2 repräsentiert.

Ein mittels des erfindungsgemäßen Verfahrens zu codierender Zahlenwert, dessen Betrag innerhalb des maximalen Wertebereichs w_max liegt, wird durch eine Auswerteeinheit als Datum empfangen.

Die Auswerteeinheit wählt anhand der Höhe des Zahlenwertes diejenige Codiervorschrift c1 , c2 zum Codieren des Zahlenwertes aus, in deren Wertebereich w1, w2 der Zahlenwert fällt, wobei in einem Fall, in dem der Zahlenwert in den Wertebereichen w1 , w2 mehrerer Codiervorschriften c1, c2 enthalten ist, stets diejenige Codiervorschrift c1 , c2 ausgewählt wird, welche die kleinste untere Wertebereichsgrenze aufweist.

In einem konkreten Bespiel wird ein Zahlenwert von 2000 codiert, welcher in den Wertebereichen w1, w2 beider Codiervorschriften c1 , c2 enthalten ist. Gemäß vorstehend beschriebener Vorgabe wird zur Codierung des Zahlenwertes entsprechend die erste Codiervorschrift c1 ausgewählt und der Betrag des Zahlenwertes mit 14 Bits (c1_bit1 bis c1_bit14) codiert.

Als 15tes Bit wird dem codierten Zahlenwert nun das Vorzeichenbit SIGN hinzugefügt, welches hier einen positiven Wert repräsentiert.

Als 16tes Bit wird dem codierten Zahlenwert zusätzlich eine Codierinformation cO hinzugefügt, welche hier die Verwendung der ersten Codiervorschrift c1 kennzeichnet. Im Falle eines zu codierenden Zahlenwertes von beispielsweise 55555, wird entsprechend die zweite Codiervorschrift c2 zur Codierung verwendet. Die LSBs, d. h. die Bits 1 bis 5 in der vierten Spalte von links entfallen hierbei, so dass aufgrund einer damit einhergehenden Auflösungsreduzierung ein entsprechender Fehler bei der Verwendung der zweiten Codiervorschrift c2 eingeführt wird.

Da die Anzahl der für die Codierung vorgesehenen Bits in den jeweiligen Codiervorschriften c1, c2 hier identisch festgelegt ist, werden codierte Zahlenwerte dementsprechend mit einer einheitlichen Bitlänge erzeugt, wodurch sich im Falle einer Übertragung der solchermaßen codierten Zahlenwerte eine konstante Datenrate erreichen lässt.

Darüber hinaus ist es beispielsweise möglich, die jeweiligen Grenzen der Wertebereiche w1, w2 in Abhängigkeit aktueller Randbedingungen anzupassen und jeweilige Informationen über die Anpassungen von einem Sender, welcher eingerichtet ist die Codierung von Zahlenwerten durchzuführen, zu einem Empfänger, welcher eingerichtet ist, die Decodierung von Zahlenwerten durchzuführen, mittels zusätzlicher Übertragungsrahmen vom Sender zum Empfänger zu übertragen, sodass eine korrekte Dekodierung übertragener Daten auf Basis dieser Informationen jederzeit sichergestellt ist.

Das erfindungsgemäße Verfahren lässt sich besonders vorteilhaft für eine Codierung von Messwerten von Sensoren eines Fahrzeugs einsetzen, welche beispielsweise durch die Sensoren selbst codiert werden und anschließend an ein mit den Sensoren korrespondierendes Steuergerät des Fahrzeugs übertragen werden, in welchem eine Decodierung der Messwerte der Sensoren erfolgt. Besonders bevorzugt wird hierbei jeder codierte Messwert in einem einzelnen Übertragungsrahmen übertragen.

Zur Durchführung der Decodierung des codierten Zahlenwertes werden, je nach verwendeter Codiervorschrift c1 , c2, zunächst die Binärstellen des codierten Zahlenwertes an die Position verschoben, an der sie sich vor der Codierung befanden. Bei der Codierung ausgelassene MSBs werden bei der Decodierung mittels der ersten Decodiervorschrift d1 mit Werten von „0“ aufgefüllt, während LSBs bei der Decodierung mittels der zweiten Decodiervorschrift d2 mittels Ersatzwerten aufgefüllt werden, welche in der vierten Spalte von links in der Tabelle bezüglich der Bits 1 bis 5 festgelegt sind. Figur 2 zeigt ein zweites Ausführungsbeispiel für erfindungsgemäße vordefinierte Codiervorschriften c1, c2, c3 und mit diesen korrespondierende vordefinierte Decodiervorschriften d1 , d2, d3. Aufgrund zahlreicher Übereinstimmungen zwischen der Tabelle in Figur 1 und der Tabelle in Figur 2 werden nachfolgend zur Vermeidung von Wiederholungen nur die Unterschiede zwischen den beiden Tabellen beschrieben.

In Figur 2 entspricht der maximale Wertebereich w_max unter Hinzunahme des Vorzeichenbits SIGN nur 16 Bits. Zudem sind eine dritte Codiervorschrift c3 und eine dritte Decodiervorschrift d3 mit einem dritten Wertebereich w3 vorgesehen. Die unteren Grenzen der Wertebereiche w1, w2, w3 sind hier jeweils so festgelegt, dass der Abstand der unteren Grenzen zu höheren Werten hin größer wird. Dies erzielt bei der Codierung von kleineren Werten einen entsprechend geringeren Fehler als bei der Codierung von größeren Werten.

Zur eindeutigen Kennzeichnung der jeweils verwendeten Codiervorschrift c1, c2. C3 sind hier entsprechend 2 Bits in der vorzuhaltenden Codierinformation cO erforderlich.

Zudem sind hier teilweise abweichende Ersatzwerte im Vergleich zur Tabelle in Figur 1 definiert.