-
EINLEITUNG
-
Die vorliegende Offenbarung bezieht sich auf ein System und ein Verfahren zur nahezu verlustfreien universellen Datenkompression unter Verwendung korrelierter Datensequenzen, die von mehreren Datenquellen erzeugt werden. Das System und das Verfahren können für die Führung eines autonomen Fahrzeugs verwendet werden.
-
Die Fahrzeugautomatisierung umfasst den Einsatz von Mechatronik, künstlicher Intelligenz und Multiagentensystemen zur Wahrnehmung der Fahrzeugumgebung und zur Unterstützung des Fahrzeugführers. Solche Funktionen und die Fahrzeuge, die sie einsetzen, können als intelligent oder „smart“ bezeichnet werden. Ein Fahrzeug, das die Automatisierung für komplexe Aufgaben, insbesondere die Navigation, nutzt, kann als teilautonom bezeichnet werden. Ein Fahrzeug, das sich ausschließlich auf Automatisierung verlässt, wird konsequenterweise als robotisch oder autonom bezeichnet. Hersteller und Forscher sind derzeit dabei, eine Vielzahl von automatisierten Funktionen in Autos und andere Fahrzeuge einzubauen.
-
Autonomie in Fahrzeugen wird oft in verschiedene Stufen eingeteilt, wie z. B. Stufe 1 - Fahrerassistenz - bei der das Fahrzeug unter bestimmten Umständen entweder die Lenkung oder die Geschwindigkeit autonom steuern kann, um den Fahrer zu unterstützen; Stufe 2 - Teilautomatisierung - bei der das Fahrzeug unter bestimmten Umständen sowohl die Lenkung als auch die Geschwindigkeit autonom steuern kann, um den Fahrer zu unterstützen; Stufe 3 - Bedingte Automatisierung - bei der das Fahrzeug unter normalen Umgebungsbedingungen sowohl die Lenkung als auch die Geschwindigkeit autonom steuern kann, aber vom Fahrer beaufsichtigt werden muss; Stufe 4 - Hohe Automatisierung - bei der das Fahrzeug unter normalen Umgebungsbedingungen eine vorgegebene Strecke autonom zurücklegen kann, ohne dass es der Fahrer beaufsichtigen muss; und Stufe 5 - Vollständige Autonomie - bei der das Fahrzeug eine vorgegebene Strecke unter sämtlichen Umgebungsbedingungen autonom zurücklegen kann.
-
Die Fahrzeugautonomie erfordert immer ausgefeiltere Wahrnehmungssysteme, einschließlich verschiedener optischer Geräte und einer Vielzahl von Sensoren zur Erkennung von Objekten und anderen Hindernissen in der Umgebung des Host-Fahrzeugs, sowie Bordprozessoren und Software zur Interpretation der erfassten Daten. Um die Fahrzeugautomatisierung zu ermöglichen, ist eine Verwaltung der Datenverarbeitungsressourcen erforderlich, um große Mengen an Daten, die von den betreffenden Sensoren erfasst werden, effizient zu speichern, zu verarbeiten und zu übertragen. Darüber hinaus umfasst die Fahrzeugautonomie häufig Algorithmen der künstlichen Intelligenz (KI), die so konfiguriert sind, dass sie eingehende Daten von den betreffenden Sensoren auswerten. Solche KI-Algorithmen können eingesetzt werden, um Daten von unabhängigen, d. h. nicht verknüpften Sensoren zu analysieren und zu interpretieren, um Weitwinkel- und/oder hochauflösende Bilder für das autonome Fahren zu konstruieren.
-
In der Signalverarbeitung wird der Prozess der Reduzierung der Größe einer Datendatei, d. h. die Reduzierung der Bitrate, oft als Datenkompression bezeichnet. Die Komprimierung ist nützlich, weil sie die für die Speicherung, Verarbeitung und Übertragung von Daten erforderlichen Ressourcen reduziert. Im Zusammenhang mit der Datenübertragung wird die Datenkompression als Quellkodierung bezeichnet - eine Kodierung, die an der Quelle der Daten erfolgt, bevor sie gespeichert oder übertragen werden. Bei der Datenkomprimierung wird die Information mit weniger Bits kodiert als die ursprüngliche Darstellung. Die Komprimierung kann entweder verlustbehaftet oder verlustfrei sein.
-
Bei der verlustfreien Komprimierung werden im Allgemeinen Bits reduziert, indem statistische Redundanzen identifiziert und eliminiert werden. Bei der verlustfreien Komprimierung gehen keine Informationen verloren. Im Vergleich dazu werden bei der verlustbehafteten Komprimierung Bits reduziert, indem unnötige oder weniger wichtige Informationen entfernt werden, was jedoch im Allgemeinen zu Informationsverlusten führt. Zusätzlich wird die Komprimierung von Daten aus einer Quelle, die ohne vorherige Kenntnis der Datenverteilung der Quelle durchgeführt wird, allgemein als „Universelle Komprimierung“ bezeichnet. Die Komprimierung von Daten aus mehreren nicht verknüpften Quellen kann separat komprimiert und an einem einzigen Dekodierer dekomprimiert werden, was allgemein als „verteilte Komprimierung“ bezeichnet wird.
-
BESCHREIBUNG
-
Ein Verfahren zur nahezu verlustfreien universellen Datenkompression unter Verwendung korrelierter Datensequenzen, die von mehreren Sensoren oder Datenquellen erzeugt werden, umfasst das Erfassen einer ersten Zielumgebung über einen ersten Sensor. Das Verfahren umfasst auch das Kodieren einer ersten Datensequenz, die für die erfasste erste Zielumgebung indikativ ist, durch einen ersten Prozessor. Das Verfahren umfasst zusätzlich das Kommunizieren der kodierten ersten Datensequenz durch den ersten Prozessor an eine elektronische Steuerung. Das Verfahren umfasst auch das Erfassen der ersten Zielumgebung über einen zweiten Sensor und das Kodieren einer zweiten Datensequenz, die für die vom zweiten Sensor erfasste erste Zielumgebung indikativ ist, über einen zweiten Prozessor. Das Verfahren umfasst zusätzlich das Kommunizieren der kodierten zweiten Datensequenz über den zweiten Prozessor an die elektronische Steuerung. Das Verfahren umfasst außerdem das Dekodieren der kodierten ersten Datensequenz und der kodierten zweiten Datensequenz über die elektronische Steuerung. Das Verfahren umfasst zusätzlich das Bestimmen einer statistischen Korrelation zwischen der dekodierten ersten Datensequenz und der dekodierten zweiten Datensequenz über die elektronische Steuerung und das Formulieren einer Abbildungsfunktion mit reduzierter Kardinalität, die für die bestimmte statistische Korrelation indikativ ist, über die elektronische Steuerung. Weiterhin beinhaltet das Verfahren das Zurückgeben der Abbildungsfunktion durch die elektronische Steuereinheit an den ersten Prozessor.
-
Das Verfahren kann auch das Erfassen einer zweiten Zielumgebung über den ersten Sensor sowie das Transformieren einer dritten Datensequenz, die für die erfasste zweite Zielumgebung indikativ ist, über den ersten Prozessor unter Verwendung der Abbildungsfunktion umfassen. Zusätzlich kann das Verfahren das Kodieren der transformierten dritten Datensequenz über den ersten Prozessor umfassen.
-
Die transformierte dritte Datensequenz kann im Vergleich zur dritten Datensequenz eine geringere Datenkardinalität aufweisen, und dadurch kann eine Größe der kodierten transformierten dritten Datensequenz kleiner sein als eine Größe der kodierten dritten Datensequenz.
-
Das Verfahren kann auch das Erfassen der zweiten Zielumgebung über den zweiten Sensor und das Kodieren einer vierten Datensequenz über den zweiten Prozessor umfassen, die für die vom zweiten Sensor erfasste zweite Zielumgebung indikativ ist. Das Verfahren kann zusätzlich beinhalten, dass die kodierte vierte Datensequenz über den zweiten Prozessor und die kodierte transformierte dritte Datensequenz über den ersten Prozessor an die elektronische Steuerung übermittelt werden. Das Verfahren kann ferner das Dekodieren der kodierten transformierten dritten Datensequenz und der kodierten vierten Datensequenz über die elektronische Steuerung und das Bestimmen der dritten Datensequenz unter Verwendung der transformierten dritten Datensequenz und der dekodierten vierten Datensequenz über die elektronische Steuerung umfassen.
-
Gemäß dem Verfahren kann das Kodieren über den ersten Prozessor die Verwendung eines kontextbaumgewichteten (CTW) Kompressionsalgorithmus beinhalten, um eine kodierende primäre Kontextbaum-Datenstruktur zu konstruieren, und das Dekodieren über die elektronische Steuerung kann die Verwendung des CTW-Kompressionsalgorithmus beinhalten, um eine dekodierende primäre Kontextbaumdatenstruktur zu konstruieren. Zusätzlich kann das Bestimmen der statistischen Korrelation zwischen der dekodierten ersten Datensequenz und der dekodierten zweiten Datensequenz das Konstruieren einer dekodierenden sekundären Kontextbaum-Datenstruktur über die elektronische Steuerung aus jedem Blatt der dekodierenden primären Kontextbaum-Datenstruktur umfassen.
-
Gemäß dem Verfahren kann das Kodieren jeder der ersten Datensequenz und der dritten Datensequenz das Konstruieren jeweiliger erster und dritter kodierender primärer Kontextbaum-Datenstrukturen beinhalten, und das Kodieren der ersten Datensequenz kann konfiguriert sein, um ein bedingtes Wahrscheinlichkeitsverhältnis für jedes Datensymbol in der ersten Datensequenz zu erzeugen. Das Transformieren der dritten Datensequenz kann an jedem Blatt der dritten kodierenden primären Kontextbaum-Datenstruktur die jeweilige Abbildungsfunktion verwenden, die die Symbole der dritten Datensequenz transformiert. Zusätzlich kann das Kodieren der transformierten dritten Datensequenz so konfiguriert sein, dass ein bedingtes Wahrscheinlichkeitsverhältnis für jedes Datensymbol in der transformierten dritten Datensequenz unter Verwendung der dritten kodierenden primären Kontextbaum-Datenstruktur erzeugt wird.
-
Gemäß dem Verfahren kann die Dekodierung der kodierten transformierten dritten Datensequenz die Verwendung des CTW-Kompressionsalgorithmus zur Konstruktion der dekodierenden primären Kontextbaum-Datenstruktur beinhalten. Zusätzlich kann die dritte Datensequenz die Verwendung der konstruierten dekodierenden primären Kontextbaum-Datenstruktur und der konstruierten dekodierenden sekundären Kontextbaum-Datenstruktur für jedes Blatt der dekodierenden primären Kontextbaum-Datenstruktur beinhalten.
-
Gemäß dem Verfahren kann das Formulieren der Abbildungsfunktion das Aufzählen einer Anzahl von Auftritten eines aktuellen Datensymbols in der ersten Datensequenz für einen Kontext der ersten Datensequenz und einen Kontext der zweiten Datensequenz in einer dekodierenden sekundären Kontextbaum-Datenstruktur umfassen. Zusätzlich kann die Formulierung der Abbildungsfunktion die Verwendung der dekodierenden sekundären Kontextbaum-Datenstruktur beinhalten, um eine Zielfehlerwahrscheinlichkeit zu erreichen. Das Erreichen der Zielfehlerwahrscheinlichkeit soll wiederum das Abbilden mehrerer Eingangssymbole in ein gemeinsames Bin erleichtern, wenn unter Verwendung jeder der primären und sekundären Kontextbaum-Datenstrukturen die mehreren Eingangssymbole innerhalb einer durchschnittlichen Fehlerwahrscheinlichkeit über die gesamte erste Datensequenz voneinander verschieden sind, die kleiner oder gleich der Zielfehlerwahrscheinlichkeit ist.
-
Gemäß dem Verfahren kann das Dekodieren der kodierten transformierten dritten Datensequenz das Konstruieren der dekodierenden primären Kontextbaum-Datenstruktur beinhalten, und das Bestimmen der dritten Datensequenz kann zusätzlich die Verwendung der dekodierten vierten Datensequenz und der dekodierenden sekundären Kontextbaum-Datenstruktur beinhalten.
-
Gemäß dem Verfahren kann das Bestimmen der dritten Datensequenz zusätzlich das Herabsetzen durch die dekodierende primäre Kontextbaum-Datenstruktur beinhalten, um ein Blatt zu erreichen, das die Abbildungsfunktion zum Abbilden jedes Datensymbols in der dritten Datensequenz auf einen entsprechenden Bin-Wert in der transformierten dritten Datensequenz hat. In einem solchen Fall kann das Verfahren auch das Herabsetzen durch die sekundäre Kontextbaum-Datenstruktur gemäß dem aktuellen Kontext der dekodierten vierten Datensequenz beinhalten, um einen Wert eines aktuellen Datensymbols in der dritten Datensequenz festzulegen.
-
Ein System zur nahezu verlustfreien universellen Datenkompression unter Verwendung korrelierter Datensequenzen, die von mehreren Datenquellen erzeugt werden, und unter Verwendung des oben beschriebenen Verfahrens wird ebenfalls offenbart.
-
Die obigen Merkmale und Vorteile sowie andere Merkmale und Vorteile der vorliegenden Offenbarung werden aus der folgenden detaillierten Beschreibung der Ausführungsform(en) und der besten Art(en) zur Ausführung der beschriebenen Offenbarung einfach ersichtlich sein, wenn sie in Verbindung mit den beigefügten Zeichnungen und den beigefügten Ansprüchen betrachtet werden.
-
Figurenliste
-
- 1 ist eine Draufsicht auf ein autonomes Kraftfahrzeug, das ein erstes Gelände und anschließend ein zweites Gelände durchfährt, wobei das Fahrzeug ein Datenerfassungs- und Datensequenzverarbeitungssystem einsetzt, das erste und zweite Datenquellen mit entsprechenden ersten und zweiten Prozessoren (Quellkodierern) und eine elektronische Steuerung (Dekodierer) gemäß der vorliegenden Offenbarung verwendet.
- 2A ist eine schematische Darstellung einer Ausführungsform des Datenerfassungs- und Datensequenzverarbeitungssystems, das Datenquellen verwendet, die über die in 1 gezeigten ersten und zweiten Datenquellen hinausgehen (zusammen mit entsprechenden Prozessoren), wobei die elektronische Steuerung eine kaskadierte oder begrenzte Rückmeldung an die zusätzlichen Datenquellen liefert.
- 2B ist eine schematische Darstellung der elektronischen Steuerung mit Datenprozessoren, die den in 2A dargestellten Datenquellen entsprechen.
- 3 ist eine schematische Darstellung von Datensymbolen, die aus gesammelten Daten extrahiert und von dem in 1 gezeigten Datenerfassungs- und Datensequenzverarbeitungssystem in diskrete Bins abgebildet werden, gemäß der vorliegenden Offenbarung.
- 4 ist eine allgemeine Darstellung des Datensequenzverarbeitungssystems, das so konfiguriert ist, dass es Rohdaten nahezu verlustfrei kodiert (komprimiert) und dekodiert (dekomprimiert), z. B. durch eine erste Datensequenz
die von der ersten Datenquelle gesammelt wurde, und eine zweite Datensequenz
die von der zweiten Datenquelle gesammelt wurde (wobei „M“ die Länge der gesamten Sequenz ist, und die Iteration mit „t“ bezeichnet wird).
- 5 ist eine Darstellung der Auswertung einer kontextbaumgewichteten (CTW) Datenstruktur, die insbesondere das Auftreten eines Symbols xn an jedem Knoten einer primären kontextbaumgewichteten (CTW) Datenstruktur zur Verwendung im Kompressionsalgorithmus des ersten Prozessors (Kodierer) darstellt. Eine analoge CTW-Datenstruktur wird für die Dekodierung in der elektronischen Steuerung (Dekodierer) aufgebaut.
- 6 ist eine Darstellung der Auswertung des Auftretens eines Symbols xn (wobei „n“ das letzte kodierte/dekodierte Symbol ist) im Kontext einer sekundären Sequenz
an jedem Knoten einer sekundären CTW-Datenstruktur, die aus den Blättern der primären CTW-Datenstruktur in der elektronischen Steuerung zur Verwendung im Kompressionsalgorithmus des Dekodierers konstruiert wird.
- 7 ist eine schematische Darstellung des ersten Kodierers, der eine kodierende primäre CTW-Datenstruktur konstruiert und Wahrscheinlichkeitsvektoren erzeugt, wie in 5 dargestellt, gemäß der Offenbarung.
- 8 ist eine schematische Darstellung des Dekodierers, der den CTW-Kompressionsalgorithmus verwendet, um dekodierende primäre und sekundäre CTW-Datenstrukturen zu konstruieren und Wahrscheinlichkeitsvektoren zu erzeugen und jeweils eine Kardinalität und Abbildung zu bestimmen, wie in 6 gezeigt, gemäß der Offenbarung.
- 9 ist ein Flussdiagramm eines Verfahrens zur nahezu verlustfreien universellen Datenkompression unter Verwendung korrelierter Datensequenzen, die von mehreren in 1-8 dargestellten Datenquellen erzeugt werden, gemäß der vorliegenden Offenbarung.
-
DETAILLIERTE BESCHREIBUNG
-
Unter Bezugnahme auf die Zeichnungen, in denen sich gleiche Referenznummern auf gleiche Komponenten beziehen, zeigt 1 eine schematische Ansicht eines Kraftfahrzeugs 10, das als autonomes Fahrzeug dargestellt ist, das in der XYZ-Ebene angeordnet ist. Der Begriff „autonom“, wie er hier verwendet wird, bezieht sich im Allgemeinen auf die Verwendung von Mechatronik, künstlicher Intelligenz und Multiagentensystemen, um den Bediener eines Fahrzeugs bei der Steuerung des betreffenden Fahrzeugs in unterschiedlichem Umfang zu unterstützen. Eine solche Automatisierung kann den gesamten Bereich einer Assistenz umfassen, von den Fahrzeugsystemen, die entweder die Lenkung oder die Geschwindigkeit unter bestimmten Umständen autonom steuern, um den Bediener zu unterstützen, bis hin zu einer vollständigen Automatisierung, die die Beteiligung des Bedieners überflüssig macht.
-
Wie dargestellt, hat das autonome Kraftfahrzeug 10 eine Fahrzeugkarosserie 12. Die Fahrzeugkarosserie 12 kann eine vordere Seite oder ein vorderes Ende 12-1, eine linke Karosserieseite 12-2, eine rechte Karosserieseite 12-3, eine hintere Seite oder ein hinteres Ende 12-4, eine Oberseite oder einen oberen Abschnitt, wie z. B. ein Dach, 12-5, und eine Unterseite oder ein Fahrgestell 12-6 aufweisen. Das Fahrzeug 10 kann verwendet werden, um beispielsweise zum Zeitpunkt t eine Straßenoberfläche innerhalb eines bestimmten ersten geografischen Gebiets zu überqueren, das hier als erste Zielumgebung 14 definiert ist, die eine bestimmte Landschaft oder ein bestimmtes Gelände und zugehörige physische Objekte, wie ein erstes Objekt 14A, umfasst. Das Fahrzeug 10 kann ferner, z. B. zum Zeitpunkt t+1, eine andere Straßenoberfläche innerhalb eines zweiten geografischen Gebiets durchqueren, das hier als zweite Zielumgebung 15 definiert ist und eine andere Landschaft oder ein anderes Gelände und zugehörige physische Objekte, wie z. B. ein zweites Objekt 15A, umfasst. Das Fahrzeug 10 kann eine Vielzahl von Straßenrädern 16 umfassen. Obwohl in 1 vier Räder 16 dargestellt sind, ist auch ein Fahrzeug mit einer geringeren oder größeren Anzahl von Rädern oder mit anderen Mitteln, wie z. B. Schienen (nicht dargestellt), zum Durchfahren der Straßenoberfläche oder anderer Teile der ersten Zielumgebung 14 denkbar.
-
Wie in 1 dargestellt, kann das Fahrzeug 10 beispielsweise ein Datenerfassungs- und - verarbeitungssystem 18 verwenden, das ein Wahrnehmungs- und Leitsystem sein kann, das Mechatronik, künstliche Intelligenz und ein Multiagentensystem zur Unterstützung des Fahrzeugführers einsetzt. Das Datenerfassungs- und -verarbeitungssystem 18 kann verwendet werden, um verschiedene Objekte oder Hindernisse auf dem Weg des Fahrzeugs 10 zu erkennen. Das System 18 kann solche Merkmale und verschiedene Datenquellen für komplexe Aufgaben, insbesondere die Navigation, nutzen, um das Fahrzeug 10 teilautonom zu betreiben, oder sich ausschließlich auf die Automatisierung verlassen, um das Fahrzeug roboterhaft oder vollständig autonom zu betreiben.
-
Wie in 1 dargestellt, sind als Teil des Datenerfassungs- und -verarbeitungssystems 18 ein erster Fahrzeugsensor 20 und ein zweiter Fahrzeugsensor 22 an der Fahrzeugkarosserie 12 angeordnet und werden als Datenquellen verwendet, um den autonomen Betrieb des Fahrzeugs 10 zu ermöglichen. Dementsprechend kann das erste autonome Fahrzeug 10 als ein Host-Fahrzeug für den ersten und zweiten Fahrzeugsensor 20, 22 identifiziert werden. Solche Fahrzeugsensoren 20 und 22 können beispielsweise akustische oder optische Geräte umfassen, die an der Fahrzeugkarosserie 12 angebracht sind, wie in 1 gezeigt. Insbesondere können solche optischen Vorrichtungen entweder Sender oder Kollektoren/Empfänger von Licht sein, die an einer der Fahrzeugkarosserieseiten 12-1, 12-2, 12-3, 12-4, 12-5 und 12-6 angebracht sind. Die ersten und zweiten Fahrzeugsensoren 20, 22 sind als Teil des Systems 18 dargestellt und können Teil anderer Systeme sein, die von dem Fahrzeug 10 verwendet werden, z. B. zur Anzeige einer 360-Grad-Ansicht der ersten Zielumgebung 14. Obwohl der erste und der zweite Sensor 20, 22 hier speziell offenbart sind, schließt nichts aus, dass eine größere Anzahl individueller Sensoren von dem Datenerfassungs- und -verarbeitungssystem 18 verwendet wird.
-
Insbesondere kann eine optische Vorrichtung eine Laserstrahlquelle für ein LIDAR (Light Detection and Ranging)-System oder ein Laserlichtsensor für ein adaptives Geschwindigkeitssteuersystem oder eine Kamera sein, die Videodateien erzeugen kann. Im Allgemeinen ist jeder der ersten und zweiten Fahrzeugsensoren 20, 22 so konfiguriert, dass er die erste Zielumgebung 14 und die zweite Zielumgebung 15 erfasst, einschließlich beispielsweise des jeweiligen ersten Objekts 14A und des zweiten Objekts 15A, die sich außerhalb des Fahrzeugs 10 befinden. Dementsprechend sind die ersten und zweiten Fahrzeugsensoren 20, 22 so konfiguriert, dass sie einen ersten Rohdatensatz 24A erfassen, der von der ersten und zweiten Zielumgebung 14, 15 gesammelt wurde.
-
Jedes der ersten und zweiten Objekte 14A und 15A kann unbelebt sein, wie z. B. ein Baum, ein Gebäude, eine Straße oder ein Verkehrsschild, ein Tier oder eine Person. Die erste Zielumgebung 14 und die zweite Zielumgebung 15 in der Nähe des Fahrzeugs 10 können mehrere Objekte umfassen (in 1 dargestellt), wie die jeweiligen Objekte 14A und 15A, deren Informationen zur Unterstützung der Navigation des betreffenden Fahrzeugs 10 verwendet werden können. Jeder der Sensoren 20, 22 kann daher verwendet werden, um Rohbilder und Videodaten zu erfassen, aus denen spezifische Informationen bezüglich verschiedener Objekte, z. B. der Objekte 14A und 15A, über spezifische Algorithmen extrahiert werden können. Der erste und der zweite Sensor 20, 22 sind auch so konfiguriert, dass sie die erfassten Daten an entsprechende Datenprozessoren übermitteln, die am Fahrzeug 10 angeordnet sind, wie unten im Detail beschrieben wird.
-
Gemäß der vorliegenden Offenbarung fährt das autonome Fahrzeug 10 im Allgemeinen in die zweite Zielumgebung 15 ein, nachdem das Fahrzeug 10 den geografischen Bereich der ersten Zielumgebung 14 verlassen hat. Der erste Sensor 20 arbeitet als primäre Datenquelle und ist so konfiguriert, dass er die erste Zielumgebung 14 zum Zeitpunkt t erfasst, einschließlich der Erfassung eines ersten Rohdatensatzes oder einer ersten Datensequenz 24-1, die dafür repräsentativ ist. Der zweite Sensor 22 arbeitet als sekundäre Datenquelle und ist ebenfalls so konfiguriert, dass er die erste Zielumgebung 14 erfasst, einschließlich der Erfassung eines dafür repräsentativen zweiten Rohdatensatzes oder einer zweiten Datensequenz 24-2. Der erste und der zweite Sensor 20, 22 wiederholen dann dasselbe, wenn das Fahrzeug 10 zum Zeitpunkt t+1 in die zweite Zielumgebung 15 einfährt. Dementsprechend erfasst der erste Sensor 20 einen dritten Rohdatensatz oder eine dritte Datensequenz 24-3 und der zweite Sensor 22 erfasst einen vierten Rohdatensatz oder eine vierte Datensequenz 24-4, die jeweils repräsentativ für die zweite Zielumgebung 15 sind. Bei den ersten, zweiten, dritten und vierten Rohdatensequenzen 24-1, 24-2, 24-3, 24-4 kann es sich um Videobilder handeln, die von der jeweiligen Zielumgebung 14 und 15 erfasst wurden. Spezifische Datensequenzen sollen nahezu verlustfrei komprimiert und innerhalb des Fahrzeugs 10 in begrenzter Zeit und mit möglichst effizienter Nutzung des Datenspeichers übertragen werden, wie unten näher beschrieben wird. Zusätzlich können die betreffenden Datensequenzen verwendet werden, um eine 360-Grad-Ansicht der ersten und zweiten Zielumgebung 14, 15 darzustellen, sowie in einen Wahrnehmungsalgorithmus für teilautonome Zwecke eingefügt werden.
-
Der erste und der zweite Sensor 20, 22 sind auch so konfiguriert, dass sie die jeweiligen Datensequenzen 24-1, 24-2, 24-3, 24-4, die von der ersten und zweiten Zielumgebung 14, 15 gesammelt wurden, an entsprechende erste und zweite Datenprozessoren 26, 28 übertragen. Wie in 1 dargestellt, sind der erste und der zweite Datenprozessor 26, 28 am Fahrzeug 10 in der Nähe der entsprechenden ersten und zweiten Sensoren 20, 22 angeordnet. Der erste und der zweite Prozessor 26, 28 arbeiten als Quellkodierer, die so konfiguriert sind, dass sie gesammelte Rohdaten komprimieren, und daher ist jeder operativ mit dem jeweiligen ersten Sensor 20 und dem zweiten Sensor 22, d. h. den einzelnen Quellen der erfassten Rohdaten, verbunden und kann physisch daran befestigt sein. Jeder der Prozessoren 26, 28 umfasst einen Speicher, der zugreifbar und nicht flüchtig ist. Der jeweilige Speicher der Prozessoren 26, 28 kann ein beschreibbares Medium sein, das an der Bereitstellung von computerlesbaren Daten oder Prozessanweisungen beteiligt ist. Ein solches Medium kann viele Formen annehmen, einschließlich entweder flüchtiger oder nichtflüchtiger Medien. Bei den Prozessoren 26 und 28 kann es sich um kleine, zweckmäßig gestaltete Einheiten zur Durchführung der Komprimierung von gesammelten Rohdaten handeln. Jeder der Prozessoren 26, 28 verwendet auch einen Algorithmus, der als elektronische Schaltung, wie z. B. einem Field-Programmable Gate Array (FPGA), implementiert oder in einem nichtflüchtigen Speicher gespeichert sein kann. Die komprimierten Daten, die von jedem der Prozessoren 26, 28 erzeugt werden, können für die Echtzeit-Dekodierung und das Lernen durch eine elektronische Steuerung verwendet werden, die weiter unten im Detail besprochen wird, oder an einen Speicher gesendet werden. Dementsprechend werden die gespeicherten gesammelten Rohdaten möglicherweise nicht sofort dekodiert, sondern erst zu einem späteren Zeitpunkt (z. B. zum Offline-Lernen).
-
Das hier beschriebene Datenerfassungs- und -verarbeitungssystem 18 ist speziell so konfiguriert, dass es eine nahezu verlustfreie universelle Komprimierung von Rohdaten erzeugt, indem es die Korrelation zwischen verschiedenen Datensätzen bewertet, die von einzelnen Sensoren beobachtet werden. Im Allgemeinen ist die Datenkomprimierung nützlich, weil sie die für die Speicherung, Verarbeitung und Übertragung der Daten erforderlichen Ressourcen reduziert. Rechenressourcen werden beim Komprimierungsprozess und in der Regel auch bei der Umkehrung des Prozesses (Dekomprimierung) verbraucht. Die Datenkomprimierung unterliegt einem Kompromiss aus Kapazität-Zeit-Komplexität. Beispielsweise kann ein Kompressionsschema für Videos teure Hardware erfordern, damit das Video schnell genug dekomprimiert wird, um es während der Dekomprimierung ansehen zu können, da die Möglichkeit, das Video vollständig zu dekomprimieren, bevor es angesehen wird, ungelegen sein oder zusätzlichen Speicherplatz erfordern kann. Abstrakt kann ein Komprimierungsalgorithmus als eine Funktion auf Sequenzen (normalerweise aus Oktetts oder Bytes) betrachtet werden. Die Komprimierung ist erfolgreich, wenn die resultierende Sequenz kürzer ist als die ursprüngliche Sequenz (und die Anweisungen für die Dekompressionskarte). Im Sinne der vorliegenden Offenbarung ist die „universelle Kompression“ eine Quellkodierung, die es erlaubt, Daten ohne vorherige Kenntnis der Verteilung der Datenquelle zu komprimieren. In der Informationstechnologie kann die Datenkompression verlustbehaftet oder verlustfrei sein.
-
Verlustfreie Komprimierung ist eine Klasse von Datenkomprimierungsalgorithmen, die eine perfekte Rekonstruktion der Originaldaten aus den komprimierten Daten ermöglicht, d. h. die Daten nicht verschlechtert, wodurch die Komprimierung rückgängig gemacht werden kann. Im Gegensatz dazu ist die Datenreduktion, die mit verlustbehafteter Kompression möglich ist, typischerweise deutlich höher als bei verlustfreien Verfahren, aber eine solche Kompression ist irreversibel. Verlustbehaftete Kompression verwendet häufig eine Technik des partiellen Verwerfens von Daten und erlaubt die Rekonstruktion lediglich einer Annäherung an die Originaldaten, um den Inhalt darzustellen, was typischerweise zu Informationsverlusten führt. Spezifische Designs von Datenkompressionsschemata beinhalten Kompromisse zwischen verschiedenen Faktoren, einschließlich des Kompressionsgrads, des Ausmaßes der eingeführten Verzerrung (bei verlustbehafteter Datenkompression) und der für die Komprimierung und Dekomprimierung der Daten erforderlichen Rechenressourcen.
-
Das Datenerfassungs- und -verarbeitungssystem 18 umfasst zusätzlich eine programmierbare elektronische Steuerung 30. Wie in 1 dargestellt, ist die Steuerung 30 auf dem autonomen Fahrzeug 10 angeordnet und kann in eine zentrale Prozessoreinheit (CPU) 32 integriert sein. Wie dargestellt, arbeitet die Steuerung 30 als Dekodierer für die erfassten Rohdaten, die von den jeweiligen ersten und zweiten Prozessoren 26, 28 empfangen werden. Die Steuerung 30 kann auch so konfiguriert sein, dass sie die erfassten Rohdaten für verschiedene Zwecke verwendet, z. B. um eine 360-Grad-Ansicht der ersten Zielumgebung 14 zu erstellen, um Wahrnehmungsalgorithmen auszuführen usw. Nachdem der erste und der zweite Prozessor 26, 28 getrennt und unabhängig voneinander entsprechende Rohdaten komprimiert haben, dekomprimiert die elektronische Steuerung 30 im Allgemeinen die getrennt komprimierten Daten.
-
Die Steuerung 30 ist speziell so konfiguriert, dass sie dem ersten Fahrzeugsensor 20 eine begrenzte Rückmeldung, d.h. unabhängig von der Größe der Rohdaten oder der kodierten Daten, basierend auf der ermittelten räumlichen Korrelation zwischen den vom ersten und zweiten Fahrzeugsensor 20, 22 erfassten Rohdaten gibt, um eine nahezu verlustfreie universelle Komprimierung der dritten Datensequenz 24-3 zu ermöglichen. Die betreffende Rückmeldung ist speziell konfiguriert, um den ersten Fahrzeugsensor 20 bei der Verbesserung der Datenkompression ohne zusätzliche Latenz zu unterstützen. Für den Fall, dass die Anzahl der Fahrzeugsensoren den ersten und zweiten Sensor 20, 22 übersteigt, z. B. einschließlich der Sensoren 23i-1 , 23i (dargestellt in 2 und 2A), (zusammen mit entsprechenden Prozessoren, wie z. B. Prozessoren 29i-1 , 29i ), kann die vorgeschlagene Lösung kaskadiert werden. Beispielsweise kann die elektronische Steuerung 30 unter Verwendung des Beispiels von 2A eine begrenzte Rückmeldung an den Prozessor 29i basierend auf der ermittelten räumlichen Korrelation zwischen den Rohdaten des betreffenden Sensors und den Rohdaten der anderen Sensoren (erster Sensor 20 bis Sensor 23i-1 ) liefern.
-
Die Steuerung 30 enthält einen Speicher, der zugreifbar und nicht transitorisch ist. Der Speicher kann ein beschreibbares Medium sein, das an der Bereitstellung von computerlesbaren Daten oder Prozessanweisungen beteiligt ist. Ein solches Medium kann viele Formen annehmen, einschließlich, aber nicht beschränkt auf nichtflüchtige Medien und flüchtige Medien. Nichtflüchtige Medien, die von der Steuerung 30 verwendet werden, können z. B. optische oder magnetische Festplatten und andere dauerhafte Speicher sein. Die Steuerung 30 enthält einen Algorithmus, der als elektronische Schaltung, z. B. FPGA, oder als in einem nichtflüchtigen Speicher gespeicherter Algorithmus implementiert sein kann. Zu den flüchtigen Medien des Speichers der Steuerung 30 kann z. B. ein dynamischer Direktzugriffsspeicher (DRAM) gehören, der einen Hauptspeicher darstellen kann.
-
Die Steuerung 30 kann mit den jeweiligen Prozessoren 26, 28 über ein Übertragungsmedium kommunizieren, einschließlich Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Kabel in einem Systembus, der eine bestimmte Steuerung mit einem einzelnen Prozessor verbindet. Der Speicher der Steuerung 30 kann auch eine flexible Platte, eine Festplatte, ein Magnetband, ein anderes magnetisches Medium, eine CD-ROM, eine DVD, ein anderes optisches Medium usw. umfassen. Die Steuerung 30 kann mit einem Hochgeschwindigkeits-Primärzeitgeber, erforderlichen Analog-zu-Digital- (A/D) und/oder Digital-zu-Analog- (D/A) Schaltungen, Eingangs-/Ausgangsschaltungen und -geräten (E/A) sowie geeigneten Signalaufbereitungs- und/oder Pufferschaltungen ausgestattet sein. Algorithmen, die von der Steuerung 30 benötigt werden oder auf die diese zugreifen können, können im Speicher der Steuerung gespeichert und automatisch ausgeführt werden, um die erforderliche Funktionalität bereitzustellen.
-
Die Steuerung 30 kann so konfiguriert, d. h. strukturiert und programmiert sein, dass sie die erfassten Rohdatensignale empfängt und verarbeitet, die von den jeweiligen ersten und zweiten Sensoren 20, 22 gesammelt wurden. Die Steuerung 30 kann auch die Dekodierung, d. h. Dekomprimierung, durchführen und dann die erfassten Rohdaten an zusätzliche Algorithmen übertragen, wie z. B. Algorithmen, die zur Erzeugung einer 360-Grad-Ansicht oder einer Wahrnehmung von Objekten 14A, 15A und anderen Gegenständen innerhalb der ersten und zweiten Zielumgebung 14, 15 konstruiert sind. Beispielhaft ist die CPU 32 speziell mit einer Wahrnehmungssoftware 32A programmiert, die einen Algorithmus der künstlichen Intelligenz (KI) enthalten kann, der so konfiguriert ist, dass er eingehende Daten von den jeweiligen ersten und zweiten Sensoren 20, 22 auswertet. Die CPU 32 kann so konfiguriert sein, dass sie eine zusätzliche Verarbeitung der Daten durchführt, z. B. mehrere Bilder in die 360-Grad-Ansicht integriert oder Wahrnehmungsalgorithmen für autonomes Fahren generiert. Die Wahrnehmungssoftware 32A wäre im Allgemeinen so konfiguriert, dass sie die physikalischen Parameterdaten von den jeweiligen Sensoren 20, 22 analysiert und interpretiert. Beispielsweise kann die Wahrnehmungssoftware 32A so konfiguriert sein, dass sie eine Positionierung der Objekte 14A und 15A im X-Y-Z-Koordinatensystem (in 1 dargestellt) bestimmt und die jeweiligen Objekte mithilfe eines vorab trainierten KI-Algorithmus identifiziert.
-
Gemäß der vorliegenden Offenbarung ist der erste Prozessor 26 speziell dafür konfiguriert, die erste Datensequenz 24-1 einschließlich eines ersten Datensymbols xn (wobei „n“ das letzte kodierte/dekodierte Symbol ist) zu kodieren, das die vom ersten Sensor 20 erfasste erste Zielumgebung 14 anzeigt, und dadurch eine kodierte erste Datensequenz 34-1 zu erzeugen. Der erste Prozessor 26 ist auch so konfiguriert, dass er die kodierte erste Datensequenz 34-1 an die elektronische Steuerung 30 übermittelt. In ähnlicher Weise ist der zweite Prozessor 28 so konfiguriert, dass er die zweite Datensequenz 24-2 einschließlich eines zweiten Datensymbols yn, das die vom zweiten Sensor 22 erfasste erste Zielumgebung 14 anzeigt, kodiert und dadurch eine kodierte zweite Datensequenz 34-2 erzeugt (d. h. die betreffende Datensequenz ist aus Symbolen konstruiert, die als geschrieben bezeichnet werden). Der zweite Prozessor 28 ist auch so konfiguriert, dass er die kodierte zweite Datensequenz 34-2 an die elektronische Steuerung 30 übermittelt.
-
Die elektronische Steuerung
30 ist so konfiguriert, dass sie die empfangene kodierte erste Datensequenz
34-1 und die kodierte zweite Datensequenz
34-2 dekodiert und dann eine statistische Korrelation
36 zwischen der dekodierten ersten und zweiten Datensequenz bestimmt. Die elektronische Steuerung
30 ist zusätzlich konfiguriert, um eine Abbildungs- oder Klasseneinteilungsfunktion
38 zu formulieren und zu definieren, die eine reduzierte Kardinalität aufweist und die ermittelte statistische Korrelation
36 anzeigt (dargestellt in
3). Die elektronische Steuerung
30 ist ferner so konfiguriert, dass sie die Abbildungsfunktion
38 an den ersten Prozessor
26 zurückmeldet. Nachdem der erste Sensor
20 die zweite Zielumgebung
15 detektiert und die dritte Datensequenz
24-3 erzeugt hat (auch als
wobei „M“ die Länge der gesamten Sequenz ist und die Iteration mit „t“ bezeichnet wird), die für die erkannte zweite Zielumgebung indikativ ist, verwendet der erste Sensor die Abbildungsfunktion
38, um die dritte Datensequenz zu transformieren, d.h. die transformierte dritte Datensequenz
24-3T (auch bezeichnet als
).
-
Basierend auf der ermittelten statistischen Korrelation
36 zwischen der dekodierten ersten und zweiten Datensequenz soll die Klasseneinteilungsfunktion
38 die erforderliche maximale Anzahl von Bins
39 oder Dateneingängen am ersten Prozessor
26 bestimmen. Dementsprechend kann der erste Prozessor
26 die Abbildungsfunktion
38 auf die dritte Datensequenz
24-3 anwenden, um dadurch die dritte Datensequenz
24-3 zu transformieren und eine transformierte dritte Datensequenz
24-3T zu erzeugen, die eine Datensequenz
die die Transformation oder den ausgelagerten Wert der Sequenz
darstellt. Die transformierte dritte Datensequenz
24-3T ist dazu vorgesehen, eine geringere Datenkardinalität im Vergleich zur dritten Datensequenz
24-3 aufzuweisen. Der erste Prozessor
26 ist dann so konfiguriert, dass er die transformierte dritte Datensequenz
24-3T kodiert und dadurch eine kodierte oder universell komprimierte transformierte dritte Datensequenz
34-3T erzeugt. Folglich kann die Größe der kodierten transformierten dritten Datensequenz
34-3T kleiner sein als die Größe einer kodierten dritten Datensequenz
34-3, wenn stattdessen die dritte Datensequenz durch den ersten Prozessor
26 kodiert worden wäre. Dementsprechend stellt die kodierte transformierte dritte Datensequenz
34-3T eine komprimierte Ausführungsform der dritten Datensequenz
24-3 dar. Der erste Prozessor
26 kann dann so konfiguriert sein, dass er die kodierte transformierte dritte Datensequenz
34-3T an die elektronische Steuerung
30 übermittelt.
-
Der zweite Sensor
22 kann auch so konfiguriert sein, dass er die zweite Zielumgebung
15 erkennt und die vierte Rohdatensequenz
24-4 erzeugt, die für die erkannte zweite Zielumgebung indikativ ist und eine Datensequenz
enthält. Der zweite Prozessor
28 kann die vierte Datensequenz
24-4 kodieren und dann die so kodierte vierte Datensequenz
34-4 an die elektronische Steuerung
30 übermitteln. Die elektronische Steuerung
30 kann dann die kodierte transformierte dritte Datensequenz
34-3T und die kodierte vierte Datensequenz
34-4 dekodieren und anschließend die dekodierte transformierte dritte Datensequenz
und die dekodierte vierte Datensequenz
zusammen verwenden, um die dritte Datensequenz
24-3 zu bestimmen. Obwohl die dekodierte vierte Datensequenz hier mit
bezeichnet wird, kann bei der Dekodierung der vierten Datensequenz
24-4 eine verlustfreie Rekonstruktion erreicht werden, so dass
-
Wie in
4 gezeigt, kann jeder des ersten Prozessors
26, des zweiten Prozessors
28 und der elektronischen Steuerung
30 einen kontextbaumgewichteten (CTW) Kompressionsalgorithmus
42 enthalten. Der grundlegende CTW-Kompressionsalgorithmus
42 wurde von Willems, Shtrakov und Tjalkens im Jahr
1995 entwickelt und verwendet den Krichevsky-Trofimov-Schätzer, der allgemein als „KT 1981“ bezeichnet wird. In der Informationstheorie erzeugt der KT 1981-Schätzer bei einer unbekannten stationären Quelle π mit dem Alphabet A und einem Probenbereich von π eine Wahrscheinlichkeitsschätzung P
e oder P
e(w)-Schätzer für die Wahrscheinlichkeit jedes Symbols e ∈ A. P
e(w) ist ein Schätzer für die Teilsequenz w von unabhängigen Symbolen. Er ist also eine Funktion der Aufzählungen, d. h. der Anzahl, wie oft jedes Symbol in w aufgetreten ist. Der P
e(w)-Schätzer kann sequentiell berechnet werden und hat eine untere Schranke, die es erlaubt, die „Parameterredundanz“ nach oben zu begrenzen, und zwar einheitlich für jedes θ im folgenden Ausdruck. Die Kontextbaum-Datenstruktur
134 ermöglicht die oben genannten Vorteile des KT-Schätzers. Für ein binäres Alphabet und eine Zeichenfolge w mit m Nullen und n Einsen ist der KT-Schätzer P
e(w) definiert als:
und die sequentielle Berechnung ist wie folgt (wobei P
e(0,0) = 1):
-
Um die erste Datensequenz 24-1 zu kodieren, kann der erste Prozessor 26 so konfiguriert sein, dass er eine kodierende primäre Kontextbaum-Datenstruktur unter Verwendung des CTW-Kompressionsalgorithmus 42 (dargestellt in 4) für jede der ersten Datensequenz 24-1 und der dritten Datensequenz 24-3 konstruiert. Insbesondere kann eine erste kodierende primäre Kontextbaum-Datenstruktur 40-1 (dargestellt in 5) für die erste Datensequenz 24-1 und eine dritte kodierende primäre Kontextbaum-Datenstruktur 40-3 für die dritte Datensequenz 24-3 konstruiert werden. Wie gezeigt, enthält die erste kodierende primäre Kontextbaum-Datenstruktur 40-1 Kontextknoten 40-1A und eine entsprechende Blattstruktur 48-1, während die dritte kodierende primäre Kontextbaum-Datenstruktur 40-3 Kontextknoten 40-3A und eine entsprechende Blattstruktur 48-3 enthält (dargestellt in 5).
-
Die erste kodierende primäre Kontextbaum-Datenstruktur
40-1 und die dritte kodierende primäre Kontextbaum-Datenstruktur
40-3 können nach Beobachtung des nth (n-ten) Eingangssymbols x
n, bzw. x
n+1 aktualisiert werden. Das Aktualisieren der ersten kodierenden primären Kontextbaum-Datenstruktur
40-1 und der dritten kodierenden primären Kontextbaum-Datenstruktur
40-3 kann gemäß den Datensequenzen
und speziell gemäß dem letzten kodierten Datensymbol x
n bzw. x
n+1 und Z
n+1 erreicht werden.
-
Um die kodierte erste Datensequenz
34-1, die kodierte zweite Datensequenz
34-2, die kodierte transformierte dritte Datensequenz
34-3T und die kodierte vierte Datensequenz
34-4 zu dekodieren, kann die elektronische Steuerung
30 den CTW-Kompressionsalgorithmus
42 verwenden, um eine dekodierende primäre Kontextbaum-Datenstruktur
44 und dekodierende sekundäre Kontextbaum-Datenstrukturen
46 (dargestellt in
6) zu konstruieren. Die elektronische Steuerung
30 kann dann jede der dekodierenden primären Kontextbaum-Datenstruktur
44 und der dekodierenden sekundären Kontextbaum-Datenstrukturen
46 in ihrem Speicher behalten, um die empfangenen Datensequenzen zu dekodieren bzw. die Abbildungsfunktionen
38 für nachfolgende Kodierungsiterationen zu bestimmen. Im Allgemeinen umfasst die konstruierte dekodierende primäre Kontextbaum-Datenstruktur
44 Kontextknoten
44A mit entsprechenden Blattstrukturen
50 (
5), während die konstruierte dekodierende sekundäre Kontextbaum-Datenstruktur
46 einen Kontextknoten
46A mit entsprechenden Blattstrukturen
52 (
6) umfasst. Insbesondere kann die elektronische Steuerung
30 so konfiguriert sein, dass sie die statistische Korrelation
36 zwischen der dekodierten ersten Datensequenz
(wobei eine Annahme getroffen wird, dass
1 da die Kodierung und Dekodierung unter Verwendung des verlustfreien Standard-CTW-Algorithmus durchgeführt wird) und der dekodierten zweiten Datensequenz
(wobei
erfasst, indem die dekodierende sekundäre Kontextbaum-Datenstruktur
46 aus jedem Blatt
50 der dekodierenden primären Kontextbaum-Datenstruktur
44 konstruiert wird. Die dekodierende sekundäre Baumdatenstruktur
46 wird dann zur Bestimmung der Abbildungsfunktionen
38, d. h. der statistischen Korrelation
36, und zur Dekodierung der jeweiligen Datensequenzen verwendet.
-
Die dekodierten ersten und zweiten Datensequenzen
werden in den dekodierten sekundären Baumdatenstrukturen
46 untersucht und aufgezählt, um die statistische Korrelation zu ermitteln. Die Abbildungsfunktionen
38 werden dann gemäß einer Zielfehlerwahrscheinlichkeit bestimmt, wie weiter unten erläutert wird. Während also die dekodierende primäre Kontextbaum-Datenstruktur
44 zur Bestimmung der transformierten dritten Daten
24-3T verwendet wird, werden die dekodierenden sekundären Kontextbaum-Datenstrukturen
46 und die dekodierte vierte Datensequenz
verwendet werden, um die dekodierten dritten Daten zu bestimmen
Die elektronische Steuerung
30 kann die dekodierenden sekundären Baumdatenstrukturen
46 verwenden, um beide Operationen, die Bestimmung der Abbildungsfunktionen
38 und die Dekodierung der Datensequenzen, gleichzeitig durchzuführen, indem zwei Sätze von Aufzählungswerten an jedem Kontextbaumknoten gehalten werden. Ein Satz von Aufzählungswerten kann für die aktuelle Aufzählung gehalten werden, um die Abbildungsfunktionen in der nachfolgenden, d. h. nächsten, Iteration zu aktualisieren. Der zweite Satz von Aufzählungswerten kann für die vorherige Aufzählung gehalten werden (Werte, die verwendet wurden, um die aktuellen Abbildungsfunktionen
38 zu bestimmen), um für die aktuelle Dekodierung verwendet zu werden, als die beste Schätzung der dritten Datensequenz
24-3 aus ihrer transformierten Version
24-3T. Alternativ dazu kann die elektronische Steuerung
30, wenn die jeweiligen Sequenzen gemeinsam ergodisch (haben das gleiche Verhalten gemittelt über die Zeit, wie gemittelt über den Raum der Sequenzzustände in ihren verschiedenen Phasen) und stationär sind, eine einzige Aufzählung an jedem Kontextbaumknoten verwenden. In einer solchen Ausführungsform kann die entsprechende Dekodierung auf dem aktuellen Wert der betreffenden Aufzählung basieren.
-
Wie oben erwähnt, kann der erste Prozessor
26 zur Kodierung der ersten Datensequenz
24-1 und der dritten Datensequenz
24-3 jeweils eine erste kodierende primäre Kontextbaum-Datenstruktur
40-1 und eine dritte kodierende primäre Kontextbaum-Datenstruktur
40-3 konstruieren. Zusätzlich kann der erste Prozessor
26 während des Prozesses der Kodierung der ersten Datensequenz
24-1 ein bedingtes Wahrscheinlichkeitsverhältnis R für jedes mögliche nachfolgende Datensymbol in der ersten Datensequenz erzeugen. Der erste Prozessor
26 kann die dritte Datensequenz
24-3 transformieren, indem er die jeweilige Abbildungsfunktion
38 an jedem Blatt
48-3 der dritten kodierenden primären Kontextbaum-Datenstruktur
40-3 einsetzt, um dadurch jedes Symbol der dritten Datensequenz zu transformieren. Der erste Prozessor
26 kann dann die transformierte dritte Datensequenz
24-3T unter Verwendung der dritten kodierenden primären Kontextbaum-Datenstruktur
40-3 kodieren, um ein bedingtes Wahrscheinlichkeitsverhältnis R
Tfür jedes Datensymbol z
n in der transformierten dritten Datensequenz
24-3T zu erzeugen. Der erste Prozessor
26 kann dadurch einen Wahrscheinlichkeitsvektor „η“ von Verhältnissen von bedingten Wahrscheinlichkeiten des Datensymbols z
n im Kontext der Datensequenz
erzeugen, wie in
7 gezeigt.
-
Die dekodierende sekundäre Kontextbaum-Datenstruktur
46 wird speziell zur Bestimmung der Abbildungsfunktion
38 und der Datenkardinalität verwendet, die die ermittelte statistische Korrelation
36 anzeigt. Wie weiter unten im Detail beschrieben wird, kann eine Zielfehlerwahrscheinlichkeit (Dekodierfehlerwahrscheinlichkeit) verwendet werden, um einen Kompromiss zwischen einem Kompressionsverhältnis der Daten und der Fehlerwahrscheinlichkeit zu berücksichtigen. Die dekodierende sekundäre Kontextbaum-Datenstruktur
46 formuliert die Abhängigkeit zwischen der ersten Datensequenz
24-1 und der zweiten Datensequenz
24-2 (durch Betrachtung ihrer dekodierten Versionen,
und
die annähernd gleich ihren jeweiligen Originalen sind). In einem gegebenen Kontext der ersten Datensequenz
24-1 erscheint die Sequenz mit dem Datensymbol x
n, im Allgemeinen in einigen Kontexten der zweiten Datensequenz
24-2, aber nicht in anderen. Daher kann die erzeugte Klasseneinteilungsfunktion
38, die die statistische Korrelation
36 anzeigt, verwendet werden, um die Anzahl der Bins
39 zu minimieren, um die Kompressionsrate zu maximieren, wenn eine eingeschränkte durchschnittliche Wahrscheinlichkeit eines Dekodierfehlers gegeben ist.
-
Die elektronische Steuerung
30 kann so programmiert werden, dass sie das z
n-Datensymbol in der transformierten dritten Datensequenz
24-3T unter Verwendung des CTW-Kompressionsalgorithmus
42 in der üblichen Weise bestimmt. Wenn jedoch die Abbildungsfunktion
38 verwendet wird, um das bestimmte Datensymbol x
n in der dritten Datensequenz
24-3 zu bestimmen, kann der Wert des z
n-Datensymbols in der transformierten dritten Datensequenz
24-3T einem von mehreren Datensymbolen entsprechen x
n. Um den jeweiligen Wert des Datensymbols x
n zu bestimmen, kann die Steuerung
30 die dekodierende sekundäre Kontextbaum-Datenstruktur
46 auswerten, um zu bestimmen, welcher Wert des betreffenden Datensymbols x
n gemäß dem sekundären Kontext wahrscheinlicher ist. Nach der Bestimmung des Datensymbol x
n -Wertes kann die elektronische Steuerung
30 auch die dekodierende primäre Kontextbaum-Datenstruktur
44 (dargestellt in
8) und die sekundäre Kontextbaum-Datenstruktur
46 (dargestellt in
8) unter Verwendung der dekodierten dritten Datensequenz
entsprechend den nächsten Eingängen x
n, z
n aktualisieren.
-
Gemäß dem Vorstehenden kann die elektronische Steuerung
30 ferner so konfiguriert sein, dass sie die kodierte transformierte dritte Datensequenz
34-3T unter Verwendung des CTW-Kompressionsalgorithmus
42 dekodiert, um die dekodierende primäre Kontextbaum-Datenstruktur
44 zu konstruieren. Die elektronische Steuerung
30 kann dann die dritte Datensequenz
24-3 unter Verwendung der konstruierten dekodierenden primären Kontextbaum-Datenstruktur
44 und der konstruierten dekodierenden sekundären Kontextbaum-Datenstruktur
46 für jedes Blatt
50 der dekodierenden primären Kontextbaum-Datenstruktur
44 bestimmen. Genauer gesagt kann die elektronische Steuerung
30 zum Dekodieren der kodierten transformierten dritten Datensequenz
34-3T die dekodierende primäre Kontextbaum-Datenstruktur
44 konstruieren und dann zusätzlich die dekodierte vierte Datensequenz
und die dekodierenden sekundären Kontextbaum-Datenstrukturen
46 verwenden, um die dekodierte dritte Datensequenz
zu bestimmen.
-
Um die Abbildungsfunktion
38 zu formulieren, kann die elektronische Steuerung
30 zusätzlich konfiguriert sein, um eine Anzahl von Auftritten des aktuellen Datensymbols x
n in der ersten Datensequenz
24-1 für einen Kontext der ersten Datensequenz
24-1 und einen Kontext der zweiten Datensequenz
24-2 in einer dekodierenden sekundären Kontextbaum-Datenstruktur
46 aufzuzählen. Eine solche Aufzählung kann durch Beobachtung der dekodierten Versionen der ersten und zweiten Datensequenzen
24-1 und
24-2 erreicht werden, d.h.
und
(die ungefähr ihren jeweiligen Originalen entsprechen). So kann die Steuerung
30 für ein gegebenes Paar von Kontexten in den ersten und zweiten Datensequenzen
24-1,
24-2 nach dem spezifischen Datensymbol x
n in der ersten Datensequenz
24-1 suchen (durch Betrachtung ihrer dekodierten und ungefähr gleichen Versionen
und
). Um die Abbildungsfunktion
38 zu formulieren, kann die elektronische Steuerung
30 ferner so konfiguriert sein, dass sie die dekodierenden sekundären Kontextbaum-Datenstruktur
46, d.h. die ermittelte statistische Korrelation
36, verwendet, um eine Zielfehlerwahrscheinlichkeit
54, d.h. eine Zielwahrscheinlichkeit des Dekodierfehlers, zu erfüllen oder anzupassen. Die gewählte Zielfehlerwahrscheinlichkeit
54 soll einen praktikablen Kompromiss zwischen Datenkompression und Dekodiergenauigkeit bieten.
-
Zur Veranschaulichung wird die folgende beispielhafte Abbildung {x
1, x
2, x
3} → bin 4 betrachtet werden. Im obigen Fall erfolgt die Dekodierung dann auch auf Basis des Wertes der dekodierten vierten Sequenz
Mit anderen Worten, wenn das Symbol, das der Bin-Nummer
4 entspricht, empfangen wird, wird die Dekodierung für verschiedene Kontexte in
wie folgt beeinflusst: angleichend an y
1, y
2 oder y
3:
-
In einem solchen Fall kann jedoch ein Dekodierfehler auftreten, wenn das Symbol in der dekodierten vierten Sequenz
y
1 ist, aber das Symbol in der dritten Datensequenz
24-3 eigentlich x
2 war. Die Fehlerwahrscheinlichkeit in einem solchen Fall kann auf der Grundlage der durchgeführten Aufzählungen bestimmt werden. Insbesondere kann die Fehlerwahrscheinlichkeit empirisch für eine gegebene Abbildung berechnet werden, wobei Aufzählungen der Erscheinungen eines bestimmten Datensymbols die betreffende Wahrscheinlichkeit angeben.
-
In jeder Datensequenz können sich mehrere Eingangssymbole innerhalb einer durchschnittlichen Fehlerwahrscheinlichkeit 56 über die gesamte erste Datensequenz 24-1 voneinander unterscheiden. Wenn sich herausstellt, dass die resultierende durchschnittliche Fehlerwahrscheinlichkeit 56 die Zielfehlerwahrscheinlichkeit 54 übersteigt, ist dies ein Anzeichen dafür, dass die formulierte Abbildungsfunktion 38 nicht ausreicht, um die Daten mit dem entsprechenden Genauigkeitsgrad zu komprimieren. Mit anderen Worten, die Verwendung einer solchen mangelhaften Abbildungsfunktion 38 würde es ermöglichen, dass zu viele Werte in ein gemeinsames Bin (z. B. 39A in 3) abgebildet werden. Um dies zu korrigieren, müssten einige der Datenwerte, die in ein gemeinsames Bin abgebildet werden, auf separate Bins aufgeteilt werden, was die effektive Fehlerwahrscheinlichkeit reduziert. Wenn jedoch das Kriterium der Zielfehlerwahrscheinlichkeit 54 erfüllt ist, kann die Verwendung der Abbildungsfunktion 38 es ermöglichen, mehrere Eingangsdatensymbole in ein gemeinsames Bin abzubilden (z. B. 39A in 3, Abbilden von mehreren Werte in Bin b1). Folglich soll die durchschnittliche Fehlerwahrscheinlichkeit 56 kleiner oder gleich der Zielfehlerwahrscheinlichkeit 54 sein. Die durchschnittliche Fehlerwahrscheinlichkeit 56 kann empirisch (für eine gegebene Abbildung und die aktuell betrachteten Datensequenzen) auf der Grundlage der für eine gegebene Abbildung durchgeführten Aufzählungen berechnet werden.
-
Wie in
5 gezeigt, kann die elektronische Steuerung
30 zur Bestimmung der dritten Datensequenz
24-3 so konfiguriert sein, dass sie durch die dekodierende primäre Kontextbaum-Datenstruktur
44 herabgesetzt wird. Das Herabsetzen durch die dekodierende primäre Kontextbaum-Datenstruktur
44 wird unternommen, um ein bestimmtes Blatt
50 zu erreichen, das die Abbildungsfunktion
38 jedes Datensymbol in der dritten Datensequenz
24-3 (der Datensequenz
) auf einen entsprechenden Bin-Wert in der transformierten dritten Datensequenz
24-3T (die Datensequenz
) abbildet. Das Herabsetzen durch die dekodierende primäre Kontextbaum-Datenstruktur
44 ist im Allgemeinen für die Dekodierung der kodierten transformierten Sequenz
34-3T erforderlich, und um eines der Blätter
50 in der dekodierende primären Kontextbaum-Datenstruktur
44 zu erreichen, das die aktuell verwendete Transformation enthält, um die Extraktion der dritten Datensequenz
24-3 aus ihrer transformierten Version
24-3T zu erleichtern. Die elektronische Steuerung
30 kann ferner so konfiguriert sein, dass sie durch die sekundäre Kontextbaum-Datenstruktur
46 entsprechend dem aktuellen Kontext der dekodierten vierten Datensequenz
herabsetzt, um einen Wert des aktuellen Datensymbols x
n in der dritten Datensequenz
24-3 festzulegen, d.h. zu bestimmen. Somit bedeutet der bestimmte Wert des aktuellen Datensymbols x
n in der Sequenz
den höchsten Wahrscheinlichkeitswert für das aktuelle Symbol in der dritten Datensequenz
24-3.
-
Nach der Bestimmung des Wertes des aktuellen Datensymbols x
n in der Sequenz
kann die elektronische Steuerung
30 damit fortfahren, die dekodierende sekundäre Kontextbaum-Datenstruktur
46 zu aktualisieren, die dem spezifischen Blatt
50 in der dekodierenden primären Kontextbaum-Datenstruktur
44 entspricht (das spezifische Blatt, das beim Herabsetzen durch den dekodierenden primären Kontextbaum gemäß dem Kontext in der dekodierten dritten Datensequenz erreicht wurde
). Die Aktualisierung der sekundären Kontextbaum-Datenstruktur
46 kann durch Inkrementieren des Zählers erfolgen, entsprechend dem Wert von x
n in jedem Knoten
46A, der in der dekodierenden sekundären Kontextbaum-Datenstruktur
46 von dem Blatt des sekundären Baums (eines der in
6 gezeigten Blätter
52), der dem Kontext in der dekodierten vierten Datensequenz
entspricht, nach oben geht. Jeder Knoten in der ersten und dritten kodierenden primären Kontextbaum-Datenstruktur
40-1,
40-3 , der dekodierenden primären Kontextbaum-Datenstruktur
44 und der dekodierenden sekundären Kontextbaum-Datenstruktur
46 kann einen Zähler
60 enthalten, um die Bestimmung der Anzahl des Auftretens des Datensymbols x
n in der jeweiligen Kontextbaum-Datenstruktur zu erleichtern. In der primären Kontextbaum-Datenstruktur
40-3 zählt der Zähler
60 die Bin-Werte und nicht die ursprünglichen Symbole auf, aber ansonsten folgt die primäre Struktur dem CTW-Algorithmus
42. In der sekundären Kontextbaum-Datenstruktur
46 zählen die jeweiligen Zähler
60, berechnen aber nicht die bedingten Wahrscheinlichkeitsverhältnisse R, R
T.
-
Die von der elektronischen Steuerung 30 erlernte Korrelation zwischen dem ersten und dem zweiten Sensor 20, 22 (höchster Wahrscheinlichkeitswert für die aktuellen Datensymbole xn in der dritten Datensequenz 24-3) wird an den ersten Prozessor 26 zurückgegeben und setzt damit den Rahmen für die zukünftige Kodierung-Dekodierung über das Datenerfassungs- und -verarbeitungssystem 18. Daher kann der erste Sensor 22 nach der Bestimmung der Korrelation zwischen dem ersten und zweiten Sensor 20, 22 durch die elektronische Steuerung 30 weniger Informationen übermitteln, da komplementäre Informationen von anderen Sensoren, wie dem zweiten Sensor 22, empfangen werden.
-
9 zeigt ein Verfahren 100 zur nahezu verlustfreien universellen Datenkompression unter Verwendung korrelierter Datensequenzen, die von mehreren Datenquellen erzeugt werden, wie z. B. dem ersten und zweiten Sensor 20, 22, die vom Fahrzeugdatenerfassungs- und -verarbeitungssystem 18 verwendet werden, wie oben in Bezug auf die 1-8 beschrieben. Das Verfahren 100 kann über das System 18 unter Verwendung der elektronischen Steuerung 30, die mit entsprechenden Datenkompressionsalgorithmen programmiert ist, durchgeführt werden. Das Verfahren 100 beginnt in Rahmen 102, wobei sich das Fahrzeug 10 relativ zu der ersten Zielumgebung 14 und der zweiten Zielumgebung 15 befindet oder diese physisch durchfährt. Im Anschluss an Rahmen 102 geht das Verfahren zu Rahmen 104 über, wo das Verfahren das Erfassen der ersten Zielumgebung 14 in der Nähe des Fahrzeugs 10 über den ersten Sensor 20 umfasst.
-
Nach Rahmen 104 geht das Verfahren zu Rahmen 106 über. In Rahmen 106 umfasst das Verfahren die Kodierung der ersten Datensequenz 24-1 über den ersten Prozessor 26, die für die erste Zielumgebung 14 indikativ ist, die von dem ersten Sensor 20 erfasst wurde. Wie oben in Bezug auf die 1-8 beschrieben, kann die Kodierung über den ersten Prozessor 26 die Verwendung des CTW-Kompressionsalgorithmus 42 umfassen, um die kodierende primäre Kontextbaum-Datenstruktur 40-1 zu konstruieren. Auch die Dekodierung über die elektronische Steuerung 30 beinhaltet die Verwendung des CTW-Kompressionsalgorithmus 42, um die dekodierende primäre Kontextbaum-Datenstruktur 44 zu konstruieren. Nach Rahmen 106 fährt das Verfahren mit Rahmen 108 fort.
-
In Rahmen 108 umfasst das Verfahren die Übermittlung der kodierten ersten Datensequenz 34-1 über den ersten Prozessor 26 an die elektronische Steuerung 30. Nach Rahmen 108 geht das Verfahren zu Rahmen 110 über. In Rahmen 110 umfasst das Verfahren, wie oben in Bezug auf die 1-8 beschrieben, das Erfassen der ersten Zielumgebung 14 über den zweiten Sensor 22. Nach Rahmen 110 geht das Verfahren zu Rahmen 112 über. In Rahmen 112 umfasst das Verfahren das Kodieren der zweiten Datensequenz 24-2 über den zweiten Prozessor 28, um die kodierte zweite Datensequenz 34-2 zu erzeugen, die für die vom zweiten Sensor 22 erfasste erste Zielumgebung 14 indikativ ist. Nach Rahmen 112 geht das Verfahren zu Rahmen 114 über. In Rahmen 114 umfasst das Verfahren die Übermittlung der kodierten zweiten Datensequenz 34-2 über den zweiten Prozessor 28 an die elektronische Steuerung 30. Nach dem Rahmen 114 geht das Verfahren zum Rahmen 116 über.
-
In Rahmen
116 umfasst das Verfahren die Dekodierung der kodierten ersten Datensequenz
34-1 und der kodierten zweiten Datensequenz
34-2 über die elektronische Steuerung
30. Nach dem Rahmen
116 fährt das Verfahren mit Rahmen
118 fort. In Rahmen
118 umfasst das Verfahren das Bestimmen der statistischen Korrelation
36 zwischen der dekodierten ersten Datensequenz
und der dekodierten zweiten Datensequenz
über die elektronische Steuerung
30 und das Formulieren, über die Steuerung, der Abbildungsfunktion
38, die eine reduzierte Kardinalität aufweist und für die ermittelte statistische Korrelation indikativ ist. Insbesondere kann das Bestimmen der statistischen Korrelation
36 das Konstruieren der dekodierenden sekundären Kontextbaum-Datenstruktur
46 aus jedem Blatt
50 der dekodierenden primären Kontextbaum-Datenstruktur
44 beinhalten. Nach Rahmen
118 geht das Verfahren zu Rahmen
120 über. In Rahmen
120 umfasst das Verfahren das Zurückgeben der Abbildungsfunktion
38 über die elektronische Steuerung
30 an den ersten Prozessor
26. Nach dem Rahmen
120 kann das Verfahren zum Rahmen
122 übergehen.
-
In Rahmen 122 umfasst das Verfahren das Erfassen der zweiten Zielumgebung 15 über den ersten Sensor 20. In Rahmen 122 umfasst das Verfahren auch das Transformieren der dritten Datensequenz 24-3, die für die zweite Zielumgebung 15 indikativ ist, über den ersten Prozessor 26 unter Verwendung der Abbildungsfunktion 38, um dadurch die kodierte transformierte dritte Datensequenz 34-3T zu erzeugen. Insbesondere kann das Kodieren jeder der ersten und dritten Datensequenzen 24-1, 24-3 das Konstruieren der jeweiligen ersten und dritten kodierenden primären Kontextbaum-Datenstrukturen 40-1, 40-3 beinhalten. Das Kodieren der ersten Datensequenz 24-1 kann so konfiguriert sein, dass ein bedingtes Wahrscheinlichkeitsverhältnis R für jedes Datensymbol in der ersten Datensequenz erzeugt wird. Das Transformieren der dritten Datensequenz über den ersten Prozessor 26 kann an jedem Blatt 48-3 der dritten kodierenden primären Kontextbaum-Datenstruktur 40-3 die jeweilige Abbildungsfunktion 38 verwenden, die die Symbole der dritten Datensequenz 24-3 transformiert. Zusätzlich, wie oben in Bezug auf die 1-8 beschrieben, umfasst das Verfahren in Rahmen 122 das Kodieren der transformierten dritten Datensequenz 24-3T über den ersten Prozessor 26, um die kodierte transformierte dritte Datensequenz 34-3T zu erzeugen. Insbesondere kann das Kodieren der transformierten dritten Datensequenz 24-3T so konfiguriert sein, dass ein bedingtes Wahrscheinlichkeitsverhältnis RT für jedes Datensymbol in der transformierten dritten Datensequenz 34-3T unter Verwendung der dritten kodierten primären Kontextbaum-Datenstruktur 40-3 erzeugt wird. Nach Rahmen 122 kann das Verfahren mit Rahmen 124 fortfahren.
-
In Rahmen
124 umfasst das Verfahren das Erfassen der zweiten Zielumgebung
15 über den zweiten Sensor
22. In Rahmen
124 umfasst das Verfahren außerdem das Kodieren der vierten Datensequenz
24-4 über den zweiten Prozessor
28, die für die vom zweiten Sensor
22 erfasste zweite Zielumgebung
15 indikativ ist. In Rahmen
124 umfasst das Verfahren zusätzlich das Kommunizieren der kodierten transformierten dritten Datensequenz
34-3T über den ersten Prozessor
26 und der kodierten vierten Datensequenz
34-4 über den zweiten Prozessor
28 an die elektronische Steuerung
30. In Rahmen
124 umfasst das Verfahren ferner, über die elektronische Steuerung
30, das Dekodieren der kodierten transformierten dritten Datensequenz
34-3T und der kodierten vierten Datensequenz
34-4, und dann das Bestimmen der dritten Datensequenz
24-3 unter Verwendung der dekodierten transformierten dritten Datensequenz
und der dekodierten vierten Datensequenz
-
Wie oben in Bezug auf die
1-8 beschrieben, kann die Dekodierung der kodierten transformierten dritten Datensequenz
34-3T die Verwendung des CTW-Kompressionsalgorithmus
42 zur Konstruktion der dekodierenden primären Kontextbaum-Datenstruktur
44 beinhalten. Zusätzlich kann die Bestimmung der dritten Datensequenz
24-3 die Verwendung der konstruierten dekodierenden primären Kontextbaum-Datenstruktur
44 und der konstruierten dekodierenden sekundären Kontextbaum-Datenstruktur
46 für jedes Blatt
50 der dekodierenden primären Kontextbaum-Datenstruktur über die elektronische Steuerung
30 beinhalten. Das Bestimmen der dritten Datensequenz
24-3 kann auch die Verwendung der dekodierten vierten Datensequenz
und der dekodierten sekundären Kontextbaum-Datenstruktur
46 umfassen.
-
Das Formulieren der Abbildungsfunktion 38 kann das Aufzählen einer Anzahl von Auftritten des aktuellen Datensymbols xn in der ersten Datensequenz 24-1 für den Kontext der ersten Datensequenz und den Kontext der zweiten Datensequenz 24-2 in einer dekodierenden sekundären Kontextbaum-Datenstruktur 46 beinhalten. Die Formulierung der Abbildungsfunktion 38 kann zusätzlich die Verwendung der sekundären Kontextbaum-Datenstruktur 46 beinhalten, um die durchschnittliche Fehlerwahrscheinlichkeit 56 zu erreichen, die kleiner oder gleich der Zielfehlerwahrscheinlichkeit 54 ist. Das Erreichen der Zielfehlerwahrscheinlichkeit 54 der Dekodierung erleichtert das Abbilden mehrerer Eingangssymbole in das gemeinsame Bin 39A, wenn unter Verwendung jeder der primären und sekundären Kontextbaum-Datenstrukturen 44, 46 die mehreren Eingangssymbole innerhalb der durchschnittlichen Fehlerwahrscheinlichkeit 56 der Dekodierung über die gesamte erste Datensequenz 24-1 voneinander verschieden sind.
-
Wie oben in Bezug auf die
1-8 beschrieben, kann das Bestimmen der dritten Datensequenz
24-3 weiterhin das Herabsetzen durch die dekodierende primäre Kontextbaum-Datenstruktur
44 beinhalten, um das Blatt
50 mit der Abbildungsfunktion
38 zu erreichen. Ein solches Herabsetzen durch die dekodierende primäre Kontextbaum-Datenstruktur
44 soll die Abbildung jedes Datensymbols x
n in der dritten Datensequenz
24-3 auf den jeweiligen Bin-Wert in der transformierten dritten Datensequenz
24-3T erleichtern. Zuerst wird die kodierte transformierte dritte Datensequenz
34-3T dekodiert und dann wird das entsprechende Blatt
50 erreicht, um die Dekodierung der dritten Datensequenz
24-3 abzuschließen. Insbesondere kann das Herabsetzen durch die sekundäre Kontextbaum-Datenstruktur
46 gemäß dem aktuellen Kontext der dekodierten vierten Datensequenz
in Rahmen
124 vorgenommen werden, um einen Wert des aktuellen Datensymbols x
n in der dritten Datensequenz
24-3 festzulegen. Nach entweder Rahmen
120 oder Rahmen
124 kann das Verfahren zum Rahmen
104 zurückkehren. Das Verfahren
100 kann somit den ersten Prozessor
26 kontinuierlich aktualisieren und verwenden, um die von den ersten und zweiten Sensoren
20,
22 des Fahrzeugs neu erfassten Rohdaten effektiver zu verarbeiten und zu komprimieren. Alternativ kann das Verfahren nach Rahmen
120 oder Rahmen
124 in Rahmen
126 enden.
-
Nach jeweils k Iterationen kann das Verfahren 100 zum Anfang, d. h. zum Rahmen 102, zurückkehren, wo die Abbildungsfunktionen initialisiert und neu gestartet werden, um keine Fehler zu verbreiten. Mit anderen Worten, die Abbildungsfunktionen und die Aufzählungen der dekodierenden sekundären Baumdatenstruktur 46 können initialisiert werden, aber die Datensequenzen werden in den ersten und zweiten Prozessoren 26, 28 nicht transformiert, so dass jede übermittelte Sequenz eine kodierte Version einer rohen, nicht transformierten Sequenz ist. Dementsprechend setzt die elektronische Steuerung 30 keine statistische Abhängigkeit zwischen dem ersten und zweiten Sensor 20, 22 voraus, so dass die Aufzählung in der dekodierenden sekundären Baumdatenstruktur 46 neu beginnen kann.
-
Die ausführliche Beschreibung und die Zeichnungen oder Figuren sind unterstützend und beschreibend für die Offenbarung, aber der Umfang der Offenbarung wird ausschließlich durch die Ansprüche definiert. Während einige der besten Modi und andere Ausführungsformen zur Ausführung der beanspruchten Offenbarung im Detail beschrieben wurden, gibt es verschiedene alternative Ausführungen und Ausführungsformen zum Ausführen der in den beigefügten Ansprüchen definierten Offenbarung. Darüber hinaus sind die in den Zeichnungen dargestellten Ausführungsformen oder die in der vorliegenden Beschreibung erwähnten Merkmale verschiedener Ausführungsformen nicht unbedingt als voneinander unabhängige Ausführungsformen zu verstehen. Vielmehr ist es möglich, dass jedes der in einem der Ausführungsbeispiele beschriebenen Merkmale mit einem oder mehreren anderen gewünschten Merkmalen anderer Ausführungsformen kombiniert werden kann, was zu anderen Ausführungsformen führt, die nicht in Worten oder durch Bezugnahme auf die Zeichnungen beschrieben sind. Dementsprechend fallen solche anderen Ausführungsformen in den Rahmen des Umfangs der beigefügten Ansprüche.