-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes bei einem Fahrerassistenzsystem eines Fahrzeuges.
-
Bei einem Fahrerassistenzsystem werden über Datenbusse Daten zwischen verschiedenen Einheiten bzw. Steuergeräten des Fahrerassistenzsystems übertragen. Diese Daten werden in vielen Fällen als Datenpakete über den Datenbus übermittelt. Eine Datenverarbeitungseinheit eines Steuergerätes generiert Daten, die als Datenpaket von dem Steuergerät zu einem anderen Steuergerät übertragen werden, wobei die dort empfangenen Daten durch eine darin enthaltene Datenverarbeitungseinheit weiterverarbeitet werden können. Um den Bedarf an Speicherplatz, CPU-Ressourcen und Bandbreite, insbesondere die Bandbreite des Datenbusses, zu verringern, werden die Daten mittels Kompressionsverfahren komprimiert.
-
Ein Nachteil der herkömmlichen Vorgehensweise besteht darin, dass der Speicherbedarf bzw. die benötigte Bandbreite des komprimierten Datenpaketes davon abhängt, wie gut sich das Datenpaket komprimieren lässt. Zwar ist der Speicherbedarf bzw. die benötigte Bandbreite des komprimierten Datenpaketes im Mittel deutlich geringer als der Speicherbedarf bzw. die benötigte Bandbreite eines unkomprimierten Datenpaketes, jedoch muss für die Auslegung einer echtzeitfähigen Datenübertragung über einen Datenbus bzw. für die Dimensionierung eines Datenspeichers innerhalb eines Steuergerätes des Fahrerassistenzsystems der sogenannte Worst Case bezüglich der Datengröße des Datenpaketes eingeplant bzw. berücksichtigt werden. Dabei ist der Worst Case bzw. der schlimmste anzunehmende Fall derjenige, dass sich das jeweilige Datenpaket aufgrund seiner Datenstruktur kaum bzw. gar nicht komprimieren lässt. Wird dieser theoretische Worst Case bei der Dimensionierung bzw. Auslegung eines echtzeitfähigen Systems als gegeben angenommen bzw. eingeplant, kann gegenüber dem Fall eines unkomprimierten Datenpaketes hinsichtlich des Speicherbedarfs bzw. der Bandbreite des Datenbusses keine Verminderung bzw. Reduzierung des Aufwandes erreicht werden. Geht man bei der Dimensionierung des echtzeitfähigen Systems von einem Wert hinsichtlich der Datengröße des komprimierten Datenpaketes aus, der unterhalb einer Datengröße liegt, die im ungünstigsten Falle erreicht wird, kann es vorkommen, dass das komprimierte Datenpaket den zur Verfügung stehenden Speicherplatz innerhalb eines Datenspeichers des Steuergerätes oder die Bandbreite des Datenbusses, welcher die Steuergeräte verbindet, überschreitet und daher nicht gespeichert bzw. übertragen werden kann.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes zu schaffen, das sicherstellt, dass komprimierte Datenpakete innerhalb eines echtzeitfähigen Systems ungehindert gespeichert und übertragen werden.
-
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes mit den in Patentanspruch 1 angegebenen Merkmalen gelöst.
-
Die Erfindung schafft demnach gemäß einem ersten Aspekt ein Verfahren zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes bei einem Echtzeitsystem, insbesondere einem Fahrerassistenzsystem eines Fahrzeuges, mit den Schritten:
Vergleichen einer Datengröße eines komprimierten Datenpaketes mit einer systembedingt maximal zulässigen Datengröße zur Ermittlung einer Datengrößenabweichung, und
Reduzieren einer Quantisierungsauflösung und/oder einer Diskretisierungsauflösung des komprimierten Datenpaketes in Abhängigkeit der ermittelten Datengrößenabweichung.
-
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird das komprimierte Datenpaket mittels eines Datenkompressionsverfahrens aus einem unkomprimierten Datenpaket generiert.
-
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist das unkomprimierte Datenpaket Daten eines Belegungsgitters auf, das eine Vielzahl von Zellen besitzt, die jeweils einen Wahrscheinlichkeitswert enthalten, welcher die Wahrscheinlichkeit angibt, dass die jeweilige Zelle belegt ist.
-
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens werden Sensordaten, die von mindestens einem an dem Fahrzeug angebrachten Fahrzeugsensor stammen, ausgewertet, um das Belegungsgitter zu generieren.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens bildet das generierte Belegungsgitter ein unkomprimiertes Datenpaket, welches zu einem komprimierten Datenpaket komprimiert wird, indem benachbarte Zellen des Belegungsgitters, welche einen gleichen oder annähernd gleichen Wahrscheinlichkeitswert aufweisen, zusammengefasst werden.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird die Quantisierungsauflösung des komprimierten Datenpakets reduziert, indem niederwertige Datenbits der in den zusammengefassten Zellen enthaltenen Wahrscheinlichkeitswerte durch Maskieren entfernt werden.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird die Diskretisierungsauflösung des komprimierten Datenpaketes reduziert, indem die Zellengröße der Zellen erhöht wird.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird mit zunehmender Datengrößenabweichung die Quantisierungsauflösung und/oder die Diskretisierungsauflösung des komprimierten Datenpaketes zunehmend reduziert.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens werden benachbarte Zellen innerhalb des Belegungsgitters, welche einen gleichen oder annähernd gleichen Wahrscheinlichkeitswert aufweisen, zur Kompression des Belegungsgitters reihenweise oder blockweise zusammengefasst.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird das komprimierte und in seiner Datenpaketgröße begrenzte Datenpaket über einen Datenbus des Fahrzeuges mit begrenzter Bandbreite übertragen.
-
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird das über den Datenbus des Fahrzeuges übertragene Datenpaket mit weiteren Datenpaketen fusioniert.
-
Die Erfindung schafft ferner eine Limitierungsschaltung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes mit den in Patentanspruch 12 angegebenen Merkmalen.
-
Die Erfindung schafft demnach gemäß einem zweiten Aspekt eine Limitierungsschaltung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes bei einem Echtzeitsystem, insbesondere einem Fahrerassistenzsystem eines Fahrzeuges, mit
einer Vergleichseinheit, die eine Datengröße eines komprimierten Datenpaketes mit einer systembedingt maximal zulässigen Datengröße zur Ermittlung einer Datengrößenabweichung vergleicht; und mit
einer Reduzierungseinheit, die eine Quantisierungsauflösung und/oder eine Diskretisierungsauflösung des komprimierten Datenpaketes in Abhängigkeit von der durch die Vergleichseinheit ermittelten Datengrößenabweichung reduziert.
-
Bei einer möglichen Ausführungsform der erfindungsgemäßen Limitierungsschaltung ist die Vergleichseinheit an eine Kompressionseinheit angeschlossen, welche ein unkomprimiertes Datenpaket, insbesondere ein Belegungsgitter, komprimiert und das komprimierte Datenpaket an die Vergleichseinheit überträgt.
-
Bei einer weiteren möglichen Ausführungsform der erfindungsgemäßen Limitierungsschaltung überträgt die Reduzierungseinheit das komprimierte und in seiner Datenpaketgröße begrenzte Datenpaket über einen Datenbus des Fahrzeuges mit begrenzter Bandbreite an eine Datenverarbeitungseinheit.
-
Die Erfindung schafft ferner ein Fahrzeugsteuergerät mit den in Patentanspruch 15 angegebenen Merkmalen.
-
Die Erfindung schafft demnach gemäß einem dritten Aspekt der Erfindung ein Fahrzeugsteuergerät mit
einer Datenverarbeitungseinheit, die Sensordaten, welche von mindestens einem Fahrzeugsensor stammen, zur Erzeugung eines Belegungsgitters verarbeitet,
einer Kompressionseinheit, die das erzeugte Belegungsgitter komprimiert, und mit
einer Limitierungsschaltung zur Begrenzung einer Datenpaketgröße eines über einen Bus des Fahrzeuges übertragbaren Datenpaketes, welches das komprimierte Belegungsgitter enthält, wobei die Limitierungsschaltung eine Vergleichseinheit, welche eine Datengröße des komprimierten Datenpaketes mit einer systembedingt maximal zulässigen Datengröße zur Ermittlung einer Datengrößenabweichung vergleicht und eine Reduzierungseinheit aufweist, welche eine Quantisierungsauflösung und/oder eine Diskretisierungsauflösung des komprimierten Datenpaketes in Abhängigkeit der durch die Vergleichseinheit ermittelten Datengrößenabweichung reduziert.
-
Im Weiteren werden mögliche Ausführungsformen des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes unter Bezugnahme auf die beigefügten Figuren näher erläutert.
-
Es zeigen:
-
1 ein Blockschaltbild zur Darstellung eines Ausführungsbeispiels eines echtzeitfähigen Systems mit Steuergeräten, welche eine Limitierungsschaltung gemäß der Erfindung enthalten;
-
2 ein Blockschaltbild zur Darstellung eines Ausführungsbeispiels einer erfindungsgemäßen Limitierungsschaltung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes;
-
3 ein Ablaufdiagramm zur Darstellung eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes;
-
4 ein Ablaufdiagramm zur Darstellung eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes;
-
5A, 5B beispielhafte Datenstrukturen zur Darstellung verschiedener Ausführungsvarianten des erfindungsgemäßen Verfahrens;
-
6 eine mögliche Datenstruktur zur Erläuterung der Funktionsweise einer Ausführungsform des erfindungsgemäßen Verfahrens.
-
Wie man erkennen kann, weist ein echtzeitfähiges System 1, bei dem das erfindungsgemäße Verfahren zur Begrenzung einer Datenpaketgröße eingesetzt werden kann, mehrere Steuergeräte 2A, 2B, 2C auf, die über einen Datenbus 3 miteinander Daten austauschen können. Bei dem echtzeitfähigen System 1 handelt es sich in dem dargestellten Ausführungsbeispiel um ein Fahrerassistenzsystem eines Fahrzeuges. Die in 1 dargestellten Steuergeräte 2A, 2B, 2C sind in diesem Fall unterschiedliche Fahrzeugsteuergeräte, die über einen Fahrzeugbus 3 miteinander verbunden sind. Der Bus 3 besitzt eine begrenzte Busbandbreite und kann Daten bzw. Datenpakete mit einer vorgegebenen Übertragungsrate zwischen den Steuergeräten 2A, 2B, 2C übertragen. Bei dem in 1 dargestellten Ausführungsbeispiel erhalten die Steuergeräte 2A, 2B jeweils Sensordaten bzw. Sensorrohdaten von zugehörigen Sensoren 4A, 4B. Bei den Sensoren 4A, 4B handelt es sich beispielsweise um Fahrzeugsensoren eines Fahrzeuges, die Sensorrohdaten bzw. Messdaten mit einer zugehörigen Datenrate liefern. Beispielsweise handelt es sich bei den Sensoren 4A, 4B um einen Radarsensor oder eine Fahrzeugkamera, die Sensordaten für ein zugehöriges Steuergerät 2A, 2B erzeugen. Die beiden Steuergeräte 2A, 2B enthalten jeweils eine Datenverarbeitungseinheit 5A, 5B, die die empfangenen Sensordaten verarbeiten. Die verarbeiteten Daten, welche von den Datenverarbeitungseinheiten 5A, 5B erzeugt werden, bilden ein Datenpaket, welches über den Datenbus 3 zu dem Steuergerät 3C übertragen werden soll. Hierzu können die generierten Daten bzw. das generierte Datenpaket zunächst in einen Zwischenspeicher 6A, 6B abgelegt werden. Da der Datenbus 3 nur eine begrenzte Bandbreite aufweist, werden die Daten bzw. das Datenpaket durch eine Kompressionseinheit 7A, 7B des jeweiligen Steuergeräts 2A, 2B mittels eines herkömmlichen Datenkompressionsverfahrens komprimiert. Die von den Kompressionseinheiten 7A, 7B erzeugten komprimierten Datenpakete werden Limitierungsschaltungen 8A, 8B der beiden Steuergeräte 2A, 2B zugeführt.
-
2 zeigt ein Blockschaltbild einer möglichen Ausführungsform einer erfindungsgemäßen Limitierungsschaltung 8, die als Limitierungsschaltung 8A, 8B in den Steuergeräten 2A, 2B vorgesehen sein kann. Die Limitierungsschaltung 8 dient zur Begrenzung einer Datenpaketgröße des komprimierten Datenpaketes, welches von einer Kompressionseinheit 7 abgegeben wird. Die Limitierungsschaltung 8 enthält eine Vergleichseinheit 9, welche eine Datengröße des empfangenen komprimierten Datenpaketes mit einer systembedingt maximal zulässigen Datengröße zur Ermittlung einer Datengrößenabweichung vergleicht. Eine Reduzierungseinheit 10 der Limitierungsschaltung 8 reduziert eine Quantisierungsauflösung und/oder eine Diskretisierungsauflösung des komprimierten Datenpaketes, welches von der Kompressionseinheit 7 abgegeben wird, in Abhängigkeit der von der Vergleichseinheit 9 ermittelten Datengrößenabweichung.
-
Bei einer möglichen Ausführungsform ist das unkomprimierte Datenpaket, das sich in den Zwischenspeichern 6A, 6B der Steuergeräte 2A, 2B befindet und welches den Kompressionseinheiten 7A, 7B zugeführt wird, ein sogenanntes Belegungsgitter bzw. Occupancy Grid, wie es in einem Fahrerassistenzsystem verwendet wird. Bei den Belegungsgittern BG kann es sich um polare Belegungsgitter handeln, die einzelne Messungen repräsentieren oder um kartesische Belegungsgitter, in denen mehrere zeitlich folgende Messungen akkumuliert werden oder bei denen Sensordaten von verschiedenen Sensoren fusioniert werden. Die Belegungsgitter besitzen eine Vielzahl von Zellen, beispielsweise 250.000 bis 1 Mio. Zellen Z, die jeweils einen Wahrscheinlichkeitswert enthalten, der eine Wahrscheinlichkeit angibt, dass die jeweilige Zelle des Belegungsgitters belegt ist. Diese Belegungswahrscheinlichkeit gibt beispielsweise die Wahrscheinlichkeit an, dass die jeweilige Zelle durch ein statisches Hindernis im Umfeld des Fahrzeuges belegt ist. Die Sensordaten bzw. Sensorrohdaten, welche beispielsweise von den in 1 dargestellten Sensoren 4A, 4B stammen, werden durch die Datenverarbeitungseinheiten 5A, 5B der beiden Steuergeräte 2A, 2B ausgewertet, um derartige Belegungsgitter BG zu generieren. Das generierte Belegungsgitter bildet ein unkomprimiertes Datenpaket DP, das bei einer möglichen Ausführungsform zu einem komprimierten Datenpaket DPK komprimiert wird, indem benachbarte Zellen Z des Belegungsgitters BG, welche einen gleichen oder annähernd gleichen Wahrscheinlichkeitswert P aufweisen, zusammengefasst werden. Bei einer möglichen Ausführungsform wird die Quantisierungsauflösung des komprimierten Datenpaketes DPK bzw. des komprimierten Belegungsgitters reduziert, indem niederwertige Datenbits der in den zusammengefassten Zellen des Belegungsgitters BG enthaltenen Wahrscheinlichkeitswerte P durch Maskieren entfernt werden. Ferner kann die Diskretisierungsauflösung des komprimierten Datenpaketes DPK bzw. des komprimierten Belegungsgitters reduziert werden, indem die Zellengröße der Zellen Z des Belegungsgitters BG erhöht wird. Die Vergleichseinheit 9 innerhalb der Limitierungsschaltung 8 vergleicht die Datengröße des unkomprimierten Datenpaketes DP bzw. des unkomprimierten Belegungsgitters mit einer systembedingt maximal zulässigen Datengröße zur Ermittlung einer Datengrößenabweichung. Diese maximal zulässige Datengröße DMAX kann beispielsweise durch die Bandbreite BB des Datenbusses 3 vorgegeben sein. Die maximal zulässige Datengröße DMAX ist bei einer möglichen Ausführungsform entsprechend einer Systembedingung bzw. Systemgröße einstellbar bzw. konfigurierbar. Die Reduzierungseinheit 10 reduziert die Quantisierungsauflösung und/oder die Diskretisierungsauflösung des empfangenen komprimierten Datenpaketes DPK in Abhängigkeit der ermittelten Differenz bzw. Datengrößenabweichung. Dabei wird vorzugsweise mit zunehmender Datengrößenabweichung die Quantisierungsauflösung und/oder die Diskretisierungsauflösung des komprimierten Datenpaketes DPK zunehmend reduziert.
-
Bei einer möglichen Ausführungsform werden benachbarte Zellen innerhalb des Datenpaketes bzw. Belegungsgitters, welche einen gleichen oder annähernd gleichen Wahrscheinlichkeitswert P aufweisen, zur Kompression des Belegungsgitters bzw. Datenpaketes DP reihenweise oder blockweise zusammengefasst. Bei einer reihenweisen Zusammenfassung kann beispielsweise ein sogenanntes Run Length Encoding-Verfahren eingesetzt werden, bei dem benachbarte Zellen mit gleichem Wert zusammengefasst werden. Dies wird beispielhaft im Zusammenhang mit 5 erläutert. Bei einem Run Length Encoding bzw. bei der Lauflängenkodierung wird eine Sequenz von identischen Symbolen durch die Anzahl der Symbole innerhalb der Sequenz und ggf. das Symbol selbst ersetzt. Bei der Lauflängenkodierung werden somit nur Stellen markiert, an denen sich das Symbol, beispielsweise die Belegungswahrscheinlichkeit P einer Zelle in der Sequenz, ändert. Die Lauflängenkodierung eignet sich insbesondere, um längere Wiederholungen von Symbolen, insbesondere Belegungswahrscheinlichkeiten, zu komprimieren. 5A verdeutlicht dies beispielhaft. In dem dargestellten Beispiel werden 19 Symbole bzw. 19 Byte komprimiert. In dem dargestellten Beispiel folgt auf eine Sequenz, die 10 Symbole A umfasst, eine Sequenz von 7 aufeinanderfolgenden Symbolen B, die ihrerseits von 2 Symbolen A gefolgt werden. Die Symbole A, B stehen beispielsweise für Belegungswahrscheinlichkeiten P von Zellen eines Belegungsgitters BG. Die Wahrscheinlichkeitswerte werden mittels Run Length Encoding reihenweise zusammengefasst, wie in 5A beispielhaft dargestellt. So wird die Sequenz aus 10 Symbolen bzw. Belegungswahrscheinlichkeiten A als ein Token mit einem Escape Character ESC bei Angabe des Symbols A bzw. der Belegungswahrscheinlichkeit A und der Zahl der aufeinanderfolgenden Symbole repräsentiert (ESC, A, 10). In gleicher Weise werden die 7 aufeinanderfolgenden B-Symbole dargestellt (ESC, B, 7). Die beiden letzten A-Symbole werden direkt übertragen, da die komprimierte Darstellungsform umfangreicher ist als die unkomprimierte Darstellungsform dieser beiden A-Symbole. Dementsprechend wird die ursprüngliche Sequenz bei dem dargestellten Beispiel mittels Run Length Encoding RLE auf 8 Byte reduziert. Bei dem in 5A dargestellten Ausführungsbeispiel erfolgt somit eine reihenweise Zusammenfassung von benachbarten Zellen Z innerhalb eines Belegungsgitters BG, welche einen gleiche oder annähernd gleiche Wahrscheinlichkeitswert aufweisen, um ein komprimiertes Belegungsgitter bzw. Datenpaket DPK zu erhalten. Beispielsweise können die in 1 dargestellten Kompressionseinheiten 7A, 7B eine Datenkompression eines in den Speichern 6A, 6B zwischengespeicherten Belegungsgitters BG durch Lauflängenkodierung bzw. Run Length Encoding RLE durchführen.
-
Bei einer alternativen Ausführungsform werden sogenannte Quadtrees, die Viererblöcke von Zellen Z mit gleichem Wahrscheinlichkeitswert enthalten, zusammengefasst und in einer Baumstruktur abgelegt, wie in 5B dargestellt.
-
Die von den Limitierungsschaltungen 8A, 8B der Steuergeräte 2A, 2B abgegebenen Datenpakete sind komprimierte Datenpakete DPK, welche in ihrer Datenpaketgröße begrenzt bzw. limitiert sind. Diese Datenpakete werden über den Datenbus 3 des Fahrzeuges mit einer begrenzten Bandbreite BB übertragen. Bei dem in 1 dargestellten Ausführungsbeispiel werden die übertragenen Datenpakete, welche von den Steuergeräten 2A, 2B abgegeben werden, zu einem dritten Steuergerät 2C gesendet, welches eine Datenverarbeitungseinheit 5C enthält, welche die empfangenen Datenpakete auswertet. Gegebenenfalls werden die erhaltenen Datenpakete DPK zunächst dekomprimiert, bevor sie zu der Datenverarbeitungseinheit 5C des Steuergerätes 2C gelangen. Die Datenverarbeitungseinheit 5C kann beispielsweise verschiedene Belegungsgitter BGA, BGB, die von verschiedenen Steuergeräten 2A, 2B stammen, zu einem weiteren fusionierten Belegungsgitter BGC fusionieren und in einem Datenspeicher 6C ablegen, wie in 1 dargestellt. Auch das Steuergerät 2C kann weitere Einheiten enthalten, beispielsweise seinerseits eine Kompressionseinheit oder eine Limitierungsschaltung.
-
3 zeigt ein einfaches Ablaufdiagramm zur Darstellung eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens zur Begrenzung einer Datenpaketgröße bei einem komprimierten Datenpaket.
-
In einem ersten Schritt S1 wird eine Datengröße eines komprimierten Datenpaketes DPK, beispielsweise eines komprimierten Belegungsgitters, mit einer systembedingt maximal zulässigen Datengröße DMAX zur Ermittlung einer Datengrößenabweichung bzw. Datendifferenz verglichen. Bei der systembedingt maximal zulässigen Datengröße DMAX kann es sich beispielsweise um die maximale Bandbreite BB eines Fahrzeugbusses handeln. Weiterhin kann es sich bei der systembedingt maximal zulässigen Datengröße auch um eine maximal vorhandene Speichergröße eines Zwischenspeichers handeln. Die Vergleichsgröße, d.h. die systemmaximal zulässige Datengröße DMAX, ist bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens einstellbar bzw. entsprechend der Systemumgebung konfigurierbar.
-
In einem weiteren Schritt S2 werden eine Quantisierungsauflösung und/oder eine Diskretisierungsauflösung des komprimierten Datenpaketes DPK in Abhängigkeit von der in Schritt S1 ermittelten Datengrößenabweichung reduziert. Dabei kann die Quantisierungsauflösung QA des komprimierten Datenpaketes DPK reduziert werden, indem niederwertige Datenbits der in den zusammengefassten Zellen enthaltenen Wahrscheinlichkeitswerte P durch Maskieren entfernt werden. Weiterhin kann die Diskretisierungsauflösung DA des komprimierten Datenpaketes DPK dadurch reduziert werden, dass man die Zellengrößen der Zellen Z erhöht.
-
4 zeigt ein Ablaufdiagramm zur Darstellung eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes DPK. Wie man in 4 erkennen kann, erfolgt nach einem Startschritt S40 zunächst eine Kompression des empfangenen Datenpaketes DP in Schritt S41 beispielsweise mittels Run Length Encoding bzw. Lauflängenkodierung. Die Kompression des empfangenen Datenpaketes DP erfolgt beispielsweise mittels einer Kompressionseinheit 7A, 7B eines Steuergerätes 2A, 2B, wie in 1 dargestellt.
-
In einem weiteren Schritt S42 wird die Datengröße des in Schritt S41 komprimierten Datenpaketes DPK mit einer systembedingt maximal zulässigen Datengröße DMAX zur Ermittlung einer Datengrößenabweichung ∆ verglichen. Dieser Vergleich erfolgt beispielsweise mittels einer Vergleichseinheit 9 der Limitierungsschaltung 8, wie in 2 dargestellt. Die systembedingt maximal zulässige Datengröße DMAX ist beispielsweise die maximale Busbandbreite des Datenbusses 3 innerhalb des in 1 dargestellten Systems 1.
-
In einem weiteren Schritt S43 wird festgestellt, ob eine positive Datengrößenabweichung bzw. Differenz ∆ vorliegt. Besteht keine positive Datengrößenabweichung, erfolgt keine weitere Datenverarbeitung, wobei man vorzugsweise die bestehende Restbandbreite des Datenbusses 3 für die Übertragung weiterer Daten bzw. Steuersignale nutzt. Der Vorgang endet dann im Schritt S44. Wird umgekehrt in Schritt S43 festgestellt, dass eine positive Datengrößenabweichung ∆ vorliegt, erfolgt bei der in 4 dargestellten Ausführungsform In Schritt S45 wird die Datengrößenabweichung ∆ mit einem einstellbaren Schwellenwert SW verglichen. Liegt die Datengrößenabweichung ∆ über diesem Schwellenwert SW, erfolgt bei dem in 4 dargestellten Ausführungsbeispiel in Schritt S46 eine Reduzierung der Diskretisierungsauflösung DA des komprimierten Datenpaketes DPK in Abhängigkeit der ermittelten Datengrößenabweichung ∆. Wird umgekehrt in Schritt S45 festgestellt, dass die Datengrößenabweichung ∆ den einstellbaren Schwellenwert SW nicht übertrifft, erfolgt in Schritt S47 eine Reduzierung der Quantisierungsauflösung QA des komprimierten Datenpaketes DPK in Abhängigkeit der ermittelten Datengrößenabweichung ∆. Anschließend kehrt der Vorgang zu Schritt S42 zurück, um erneut die Datengröße des komprimierten Datenpaketes, bei dem die Diskretisierungsauflösung DA und/oder die Quantisierungsauflösung QA reduziert wurde, mit der systembedingt maximal zulässigen Datengröße DMAX zur Ermittlung einer aktuellen Datengrößenabweichung ∆ verglichen wird. Die Schleife wird so lange durchlaufen, bis die ermittelte Datengrößenabweichung ∆ gleich oder geringer null ist.
-
Mit dem erfindungsgemäßen Verfahren, wie es in 4 dargestellt ist, erfolgt die Limitierung der Datenpaketgröße auf zwei Arten, nämlich einerseits durch Reduzierung der Diskretisierungsauflösung DA in Schritt S46 und andererseits durch die Reduzierung der Quantisierungsauflösung QA in Schritt S47. Bei der Reduzierung der Quantisierungsauflösung in Schritt S47 können bei einer möglichen Ausführungsform die niederwertigen Bits durch Maskieren entfernt werden. Beispielsweise werden die am wenigsten signifikanten Stellen der in den Zellen Z des Belegungsgitters BG gespeicherten Evidenzen bzw. Wahrscheinlichkeitswerte P entfernt. Strukturen, die sich bereits durch hohe Evidenzen bzw. Wahrscheinlichkeitswerte P abzeichnen, bleiben auf diese Weise erhalten. Ferner bleibt die geometrische Genauigkeit dieser Strukturen ebenfalls voll erhalten. Bei der Reduzierung der Quantisierungsauflösung QA kann auf zwei Arten Speicherplatz eingespart werden. Zum einen wird die Anzahl der pro Zelle zu speichernden Bits reduziert und zum anderen erhöht sich die Kompressionsrate, da Rauschen mit niedriger Amplitude zwischen benachbarten Zellen entfernt wird und längere Runs bei Run Length Encoding oder größere Quads bei einem Quadtree erzeugt werden. Bei dem erfindungsgemäßen Verfahren wird nach der erfolgten Kompression die Datenpaketgröße mit der maximal erlaubten Datenpaketgröße DMAX verglichen. Ist das komprimierte Datenpaket DPK noch zu groß, werden ein oder mehrere Bits mit den niedrigsten Stellen ausmaskiert. Mit der Lauflängenkodierung bzw. dem Run Length Encoding RLE wird für jeden Durchgang überprüft, ob er ausmaskiert den gleichen Wert wie der ausmaskierte folgende Run hat. Wenn dies der Fall ist, werden die Runs zusammengefasst. Bei einer Quadtree-Datenstruktur wird für jeden Knoten des Quadtrees überprüft, ob seine Blätter den gleichen ausmaskierten Wert haben. Wenn dies der Fall ist, werden die Blätter zusammengefasst. Nachdem das zu übertragende Datenpaket bzw. der Speicher in der beschriebenen Weise durchlaufen wurde, wird der Platz freigegeben und die Übertragungen bzw. Berechnungen können fortgesetzt werden. Falls die Datenpaketgröße nach einem Durchgang zur Reduktion seiner Quantisierungsauflösung noch zu groß ist, wird iterativ dessen Datengröße weiter reduziert, bis die Datenpaketgröße des Datenpaketes innerhalb des zulässigen Limits bzw. innerhalb der systembedingt maximal zulässigen Datengröße DMAX liegt.
-
Bei einer möglichen Ausführungsform wird das komplette Belegungsgitter bzw. Occupancy Grid für das Bit mit der höchsten Stelle n, dann für das nächst niederwertige Bit n-1 usw. übertragen. Wird während der Übertragung die maximale Datenpaketgröße DMAX erreicht, wird dann die Übertragung abgebrochen. Dieses Prinzip ist in 6 verdeutlicht. Während in dem ursprünglichen Belegungsgitter bzw. ursprünglichen Datenpaket 4 Bit pro Zelle gespeichert sind (6 links), erfolgt zunächst die Übertragung von Ebene 1 (Bit 1), dann Ebene 2 (Bit 2), Ebene 3 (Bit 3) und zuletzt Ebene 4 (Bit 4 = niederwertigstes Bit). Wird beispielsweise während oder nach der Übertragung von Bit-Ebene 3 bereits die maximale Datenpaketgröße erreicht, kann bei einer möglichen Ausführungsform die Übertragung des Datenpaketes DPK abgebrochen werden. Bei diesem Beispiel geht lediglich ein Teil von Bit-Ebene 3 sowie Bit-Ebene 4 verloren, was jedoch den geringsten Informationsverlust darstellt.
-
Mit diesem Verfahren lässt sich eine Beschränkung des Speicherplatzes eines komprimierten Belegungsgitters in einem Steuergerät 2 eines Fahrzeuges erzielen. Es können die Bit-Ebenen, wie in 6 rechts dargestellt, getrennt in einem Speicher abgelegt werden. Wächst der Speicherbedarf zu weit an, kann die niederwertigste Bit-Ebene, d.h. die Bit-Ebene 4, aus dem Speicher gelöscht werden und der freiwerdende Speicherplatz den anderen Bit-Ebenen zur Verfügung gestellt werden. Bei bitweisem Ablegen werden für Berechnungen eine Vielzahl von Bits aus verschiedenen Speicherstellen geladen, wobei dieser Ladevorgang in der Regel zeitaufwendig ist. Daher werden vorzugsweise mehrere Bit-Ebenen kombiniert und beispielsweise eine Darstellung von 8 Bit pro Zelle in eine Ebene mit den 4 höherwertigen und eine mit den 4 niederwertigen Bits aufgeteilt. Auf diese Weise braucht man bei der Bearbeitung eines Zellenwertes bzw. eines Wahrscheinlichkeitswertes nur noch auf zwei Speicheradressen zugreifen, wobei durch die Limitierung die 4 niederwertigsten Bits verloren gehen können.
-
Bei einer möglichen Ausführungsform lässt sich mit blockweisem Ablegen ausnutzen, dass eine hohe Quantisierungsauflösung der in den Zellen Z gespeicherten Evidenzen bzw. Wahrscheinlichkeitswerte P nur in einem von dem jeweiligen Sensor abgedeckten Bereich notwendig ist. Dafür kann eine blockweise Datendarstellung gewählt werden, wobei ein Datenblock beispielsweise die 4 höherwertigen oder 4 niederwertigsten Bits einer 8-Bit-Datendarstellung speichert. Beide Datenblöcke bzw. alle 8 Bit werden dabei vorzugsweise nur für Bereiche des Belegungsgitters BG gespeichert, die sich in einem Sichtbereich des Sensors befinden. Sobald ein Bereich den Sensorsichtbereich verlässt, werden die niederwertigen 4 Bit gelöscht, wodurch sich eine Speicherersparnis ergibt. Erreicht die Datenpaketgröße trotzdem ein vorgegebenes Speicherlimit, werden auch in dem Sensorsichtbereich die Datenblöcke mit den niederwertigen Bits gelöscht. Vorzugsweise werden zuerst diejenigen Blöcke gelöscht, die als nächste aus dem Sichtbereich des Sensors laufen, da diese bereits eine große Zahl von Update-Zyklen hinter sich haben und die schon gegen ihren Grenzwert (in den höherwertigen Bits gespeichert) konvergiert sind. An diesem neuen Rand des Sensorsichtbereichs enthalten die niederwertigen Bits dagegen vergleichbar wichtigere Informationen. Neben einer Unterteilung einer 8-Bit-Zahl in 4 Bit-Ebenen sind auch weitere Unterteilungen bei alternativen Ausführungsformen möglich, beispielsweise eine 16-Bit-Zahl in 4-Bit- oder 8-Bit-Ebenen, eine 8-Bit-Zahl in eine 4-Bit- und zwei 2-Bit-Ebenen oder eine 4-Bit-Zahl in zwei 2-Bit-Ebenen.
-
Neben einer Reduzierung der Quantisierungsauflösung QA erfolgt in Schritt S46 eine Reduktion der Diskretisierungsauflösung DA zur Limitierung der Datenpaketgröße. Als Nachteil gegenüber der Anpassung der Quantisierungsauflösung QA, wie sie beispielsweise in Schritt S47 durchgeführt wird, können größere Fehler in der Geometrie der in einem Belegungsgitter BG gespeicherten Struktur entstehen. Dafür ist mithilfe der Diskretisierungsauflösung DA eine wesentlich stärkere Limitierung der Datenpaketgröße möglich. Daher wird vorzugsweise die Reduzierung der Diskretisierungsauflösung DA in Schritt S46 durchgeführt, wenn die Datenpaketgrößenabweichung ∆ besonders groß ist und über einem einstellbaren Schwellenwert SW liegt. Die Limitierung erfolgt vorzugsweise nach der Kompression. Bei einer Quadtree-Datenstruktur werden die Blätter auf der niederwertigsten Ebene, d.h. kleinste Zellengrößen, zusammengefasst, wobei beispielsweise eine Mittelwertbildung erfolgt oder ein neuer Wert auf höherer Ebene des Baums verwendet wird. Bei einem Run Length Encoding bzw. der Lauflängenkodierung ist die Größe der Datenblöcke nur in einer Richtung variabel, beispielsweise bei Run Length 5 umfasst ein Block 1 × 5 Zellen. In Richtung mit variabler Größe lässt sich auf ähnliche Weise wie beim Quadtree eine Limitierung der Datenpaketgröße erzielen, indem beispielsweise alle Runs mit weniger als vier Elementen zusammengefasst werden. Ähnlich dem Entfernen der niedrigsten Ebene bei der Quadtree-Datenstruktur kann auch beim Run Length Encoding RLE auf eine größere Zellengröße umgeschaltet werden, wobei dann jeweils vier benachbarte Zellen Z bestimmt und zusammengefasst werden.
-
Aufgrund des Fehlerverhaltens wird vorzugsweise zunächst eine Reduktion der Quantisierungsauflösung QA, d.h. der in den Zellen gespeicherten Werte, und danach eine Reduktion der Diskretisierungsauflösung DA, d.h. einer Erhöhung der Zellengröße, vorgenommen, wie in 4 dargestellt. Beide Reduktionsmöglichkeiten DA, QA können auch verschachtelt durchgeführt werden, sodass beispielsweise nach einer Reduktion der Quantisierung um 4 Bit zunächst eine Reduktion der Diskretisierung durch Verdoppelung der Zellengröße vorgenommen wird. Bei bekannter Differenz zwischen komprimierter Datengröße und zulässiger Datengröße kann zudem anhand dieser Differenz entschieden werden, ob bei kleiner Differenz eine Reduktion der Quantisierungsauflösung QA oder bei großer Differenz gleich eine Reduktion der Diskretisierungsauflösung DA angewendet wird. Tritt ein Erreichen eines Speicherlimits während Berechnungen ein, kann anhand des Fortschritts des Berechnungsvorganges entschieden werden, ob bei einem großem Fortschritt, d.h, wenn wenige weitere Daten zu erwarten sind, eine Reduktion der Quantisierungsauflösung QA oder bei geringem Berechnungsfortschritt eine Reduktion der Diskretisierungsauflösung DA durchgeführt wird. Wenn die Differenz zwischen der komprimierten Datengröße und dem systembedingt maximal zulässigen Limit wieder ausreichend groß ist, wird bei einer möglichen Ausführungsform wieder eine Erhöhung der Quantisierungsauflösung bzw. Diskretisierungsauflösung für nachfolgende Berechnungsschritte durchgeführt.
-
Das erfindungsgemäße Verfahren zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes DPK wird vorzugsweise in einem echtzeitfähigen System, insbesondere einem Fahrerassistenzsystem eines Fahrzeuges, eingesetzt. Das erfindungsgemäße Verfahren ermöglicht es, die maximale Größe eines komprimierten Datenpaketes, insbesondere eines komprimierten Belegungsgitters, zu beschränken. Hierdurch werden Fehler durch Überschreiten der praktischen Worst-Case-Datenpaketgröße verhindert bzw. eine Auslegung der systembedingten Größe derart ermöglicht, dass beispielsweise 95 % aller Datenpakete gespeichert werden können und für die verbleibenden 5 % aller Datenpakete eine Limitierung erfolgt, wobei die dadurch entstehenden Fehler zugunsten des reduzierten Ressourcenbedarfs in Kauf genommen werden. Mit dem erfindungsgemäßen Verfahren wird eine Reduktion der Datenpaketgröße unter ein durch verfügbare Übertragungsbandbreite bzw. Speicherausstattung gegebenes Limit vorzugsweise durch Reduktion der Quantisierungsauflösung QA oder Reduktion der Diskretisierungsauflösung DA vorgenommen, wobei je nach Differenz zwischen tatsächlicher und möglicher Datenpaketgröße eine Reduktion der Quantisierungsauflösung QA oder eine Reduktion der Diskretisierungsauflösung DA erfolgt oder gegebenenfalls eine Verschachtelung beider Vorgehensweisen zum Einsatz kommt. Das erfindungsgemäße Verfahren eignet sich insbesondere zur Begrenzung von Datenpaketgrößen bei einem Fahrerassistenzsystem eines Fahrzeuges. Das erfindungsgemäße Verfahren und die erfindungsgemäße Limitierungsschaltung 8 eignen sich für jedes echtzeitfähige System, bei dem komprimierte Datenpakete DPK nicht eine systembedingt maximal zulässige Datengröße DMAX überschreiten dürfen.