-
Die Erfindung betrifft ein Verfahren, eine Vorrichtung sowie ein System zur Übertragung von Daten über ein paketorientiertes Netzwerk in einem Fahrzeug.
-
In einem Fahrzeug werden Kameras für unterschiedliche Applikationen eingesetzt. So ist eine Rückfahrkamera bekannt, um die Übersicht beim Rückwärtsfahren bzw. Einparken zu verbessern. Auch sind seitliche Kameras an der Front des Fahrzeugs bekannt, die einen Einblick in eine Straße aus einer Einmündung bereits dann ermöglichen, wenn der Fahrer selbst den Verkehr noch nicht erkennen kann. Ferner können Kameras z. B. in den Spiegeln des Fahrzeugs angebracht sein, um seitliche Hindernisse zu erkennen und diese ggf. in eine Abbildung der Umgebung des Fahrzeugs aus der Vogelperspektive einzublenden. Auch werden unterschiedliche Objekte (z. B. Fußgänger, Verkehrsschilder, Fahrbahnmarkierungen) mittels Kamera erkannt und im Rahmen verschiedener Fahrassistenzsysteme ausgewertet.
-
Hierbei können Kameras bzw. Kamerasysteme eingesetzt werden, die Bildinformationen in Form von Datenpaketen über ein Netzwerk des Fahrzeugs transportieren (paketorientierte Datenübertragung). Die Kamera kann hierbei die Bilder komprimieren, z. B. gemäß eines Standards H.264 oder JPEG.
-
Ein Steuergerät (bzw. jedes Endgerät) des Fahrzeugs kann an das paketorientierte Netzwerk angeschlossen sein und über das Netzwerk die (z. B. komprimierten) Bilder der Kamera(s) empfangen und verarbeiten. Hierfür werden von dem Steuergerät die empfangenen Pakete entpackt und dekomprimiert. Entsprechend kann das Steuergerät Bilder von mehreren Kameras empfangen und verarbeiten. Auch ist es möglich, dass Bilder von einer Kamera von mehreren Steuergeräten empfangen werden.
-
Für ein Steuergerät, das Bilddatenströme (Videoströme) mehrerer Kameras verarbeiten soll, ist es von Nachteil, dass diese mehreren Bilddatenströme teilweise mit starker Zeitverzögerung bei dem Steuergerät eintreffen können. Dies bedingt, dass sich auch die Verarbeitung der Bilddatenströme verzögert und somit eine Gesamtverzögerung in dem System ansteigt. Weiterhin ist es möglich, dass die Kameras die Bilddatenströme so erzeugen, dass das Netzwerk überlastet wird und es zu Datenverlusten kommt.
-
Die Aufgabe der Erfindung besteht darin, die vorstehend genannten Nachteile zu vermeiden und insbesondere eine Lösung anzugeben, anhand derer eine effiziente Verarbeitung von Datenströmen, z. B. Bilddatenströmen von mehreren Kameras, in einem Fahrzeugs ermöglicht wird.
-
Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich auch aus den abhängigen Ansprüchen.
-
Zur Lösung der Aufgabe wird ein Verfahren zur Übertragung von Daten über ein paketorientiertes Netzwerk in einem Fahrzeug angegeben,
- – bei dem Daten mehrerer Datenquellen segmentiert werden,
- – bei dem die segmentierten Daten in einem geregelten Zugriffsverfahren über das paketorientierte Netzwerk übertragen werden.
-
Das Netzwerk kann eine Linien-, Ring- oder Sterntopologie aufweisen. Ferner kann eine Netzwerkkomponente (z. B. ein Router oder ein Switch) bereits in einem Steuergerät des Fahrzeugs integriert oder separat dazu angeordnet sein.
-
Als Netzwerk zur Anbindung der Kameras kann das Ethernet oder ein Flexray-System eingesetzt werden. Als Transportprotokoll des Netzwerks kann ein RTP (Real-Time Transport Protocol), ein UDP (User Datagram Protocol) oder das Internetprotokoll (IP) verwendet werden.
-
Hierbei ist es von Vorteil, dass durch die Segmentierung und durch den geregelten Zugriff eine effiziente Datenübertragung z. B. an ein Steuergerät erfolgen kann derart, dass das Steuergerät bereits abschnittsweise mit der Verarbeitung der erhaltenen Daten beginnen kann. Auch erhält das Steuergerät somit nahezu gleichzeitig Daten von mehreren Datenquellen.
-
Eine Weiterbildung besteht darin, dass die Datenquellen synchronisiert werden.
-
Hierbei ist es von Vorteil, dass bei synchronisierten Datenquellen die gemeinsame Zeitbasis für die Übertragung, z. B. im Rahmen eines Multiplexverfahrens, genutzt werden kann.
-
Vorzugsweise erfolgt somit eine Synchronisierung der einzelnen Kameras, so dass eine Verarbeitung von Bildinformationen abschnittsweise bereits möglich ist bevor ein komplettes Bild aus der Kamera ausgelesen wurde.
-
Insbesondere ist es eine Weiterbildung, dass die Datenquellen mittels eines PTP oder eines NTP (Network Time Protocol) synchronisiert werden.
-
Auch ist es eine Weiterbildung, dass das geregelte Zugriffsverfahren den Zugriff der Datenquelle auf das paketorientierte Netzwerk regelt.
-
Eine Ausgestaltung besteht darin, dass das geregelte Zugriffsverfahren ein Multiplexverfahren, insbesondere ein Zeitmultiplexverfahren, ist.
-
Eine Weiterbildung ist es, dass das geregelte Zugriffsverfahren via eines Token durchgeführt wird.
-
Somit überträgt nur diejenige Datenquelle, die im Besitz des Tokens ist. Nach einer vorgegebenen Zeitdauer oder nach einer vorgegebenen Datenmenge wird der Token zu der nächsten Datenquelle weitergereicht.
-
Hierbei sei angemerkt, dass die hier erwähnte Übertragung der segmentierten Daten vorzugsweise entweder über die synchronisierten Datenquellen erfolgt, wobei jeder Datenquelle eine Ressource, z. B. ein Zeitschlitz, für die Übertragung fest zugewiesen sein kann. Beispielsweise kann in einem System mit fünf Kameras eine Zuordnung von Zeitschlitzen zu Kameras erfolgen, so dass beispielsweise eine Kamera regelmäßig einen Zeitschlitz zur Übertragung von Bildsegmenten nutzen kann. Alternativ ist es möglich, dass die Ressource flexibel, z. B. von einem Steuergerät zugewiesen wird. In diesem Fall kann das Steuergerät die Zuweisung aller Ressourcen an mögliche Datenquellen übernehmen. Dieser Ansatz ist von Vorteil, wenn z. B. die Datenquellen verändert werden oder wenn in bestimmten Situationen (z. B. im Fall eines Lastausgleichs oder bei plötzlich starker Netzbelastung durch höher priorisierten Datenverkehr) flexibel reagiert werden soll. Insoweit kann das Steuergerät als Ressourcenmanagement für das Netzwerk agieren.
-
Entsprechend kann die Synchronisation auch von einer zentralen Einheit, z. B. dem Steuergerät oder einem Hauptsteuergerät (z. B. einer Headunit) angestoßen werden.
-
Auch ein Token-Vergabeverfahren kann anhand einer derartigen zentralen Einheit gesteuert werden.
-
Eine andere Weiterbildung ist es, dass die Datenquellen mindestens zwei der folgenden Komponenten umfassen:
- – ein Bilderfassungssystem, insbesondere ein Kamerasystem;
- – ein Einheit zum Bereitstellen von Audio- und/oder Videodaten;
- – eine Einheit zum Bereitstellen von Steuerinformation;
- – eine Einheit zum Bereitstellen von Signalisierungsinformation;
- – eine Einheit zum Bereitstellen von Programminformation.
-
Hierbei sei angemerkt, dass auch mindestens zwei Datenquellen des gleichen Typs vorgesehen sein können. Insbesondere kann eine Einheit zum Streamen von Audio und/oder Videodaten vorgesehen sein.
-
Insbesondere ist es eine Weiterbildung, dass die segmentierten Daten von einem Kamerasystem aufgenommene und insbesondere komprimierte Bildsegmente umfassen.
-
Eine Weiterbildung ist es, dass eine Kompression der Bildsegmente oder Teile der Bildsegmente abhängig von einer vorgegeben maximalen Größe eines zu übertragenden Datenpakets eingestellt wird.
-
Insbesondere kann somit eine Datenratenanpassung erfolgen bzw. sichergestellt werden, wobei die zu übertragenen Datenpakete eine vorgegebene maximale Größe nicht überschreiten. Dies ist von Vorteil, weil dann in dem Netzwerk davon ausgegangen werden kann, dass z. B. jedem Bilderfassungssystem (z. B. Kamera) der zugewiesene zeitliche (Multiplex-)Rahmen für die Übertragung eines Datenpakets genügt. Damit ist die zu übertragende Information eines Bildbereichs auf die Größe des Datenpakets normiert. Falls die Bildinformation bei einer vorgegebenen Komprimierung mehr als die maximale Größe des Datenpakets erfordern würde, kann die Kompression (der Grad der Komprimierung bei der Enkodierung bzw. der Enkodiereinheit bei dem Bilderfassungssystem) automatisch erhöht werden, so dass die maximale Größe des Datenpakets ausreicht. Dieses Prinzip funktioniert entsprechend auch für den Fall, dass die zu enkodierende Information in Teilender Bildsegmente, z. B. Bildzeilen, Bildblöcken, Makroblöcken, NAL-Units, etc. vorliegt. Vor der Übertragung des Datenpakets kann sichergestellt werden, dass die Information (ggf. mit hoher Kompression und geringer Detailauflösung) die maximal vorgegebene Größe des Datenpakets nicht überschreitet.
-
Eine andere Weiterbildung besteht darin, dass die Teile der Bildsegmente Bilddatenblöcke, insbesondere Makroblöcke und/oder NAL Units sind.
-
Auch ist es eine Weiterbildung, dass mehrere Teile der Bildsegmente gepuffert werden und abhängig von einer verbleibenden Größe des zu übertragenden Datenpakets die Kompression für die Teile der Bildsegmente bestimmt bzw. eingestellt wird.
-
Eine Ausgestaltung ist es, dass die Teile der Bildsegmente mittels mindestens zweier Enkodiereinheiten mit unterschiedlichen Kompressionen enkodiert werden und nur je einer der von den mehreren Enkodiereinheiten endkodierten Teile des Bildsegments in dem Datenpaket übertragen wird.
-
Entsprechend kann das zu übertragende Bildsegment aus Teilen bestehen, die von unterschiedlichen Enkodiereinheiten enkodiert wurden.
-
Insbesondere können zwei Enkodiereinheiten vorgesehen sein. in einem Datenpaket werden dann die Teile des Bildsegments der einen Enkodiereinheit oder der anderen Enkodiereinheit oder von unterschiedlichen Enkodiereinheiten übertragen. Dies erfolgt insbesondere unter der Maßgabe, dass die vorgegebene maximale Größe des zu übertragenden Datenpakets nicht überschritten wird.
-
Auch ist es eine Weiterbildung, dass die Kamera eine Schnittstelle zur Anbindung an das paketorientierte Netzwerk aufweist.
-
Sollten die Kamerasysteme an ein bestehendes Netzwerk mit angebunden werden, kann ein QoS (Quality of Service) Mechanismus vorgesehen sein, der die Echtzeitanforderungen an den Datenverkehr sicherstellt. Beispielsweise können hierzu die Daten geeignet priorisiert werden.
-
Eine Steuerung oder eine Diagnose der Kamera kann über das paketorientierte Netzwerk durchgeführt werden. Beispielsweise können als Protokolle RTSP (Real-Time Streaming Protocol) oder UPnP (Universal Plug and Play) eingesetzt werden. Mittels des UPnP kann eine dynamische Einbindung einer Kamera erfolgen. Insbesondere ist es möglich, einfach Nachrüstlösungen zu realisieren.
-
Somit kann eine Funktionsverteilung auf beliebige Steuergeräte, die an das paketorientierte Netzwerk angeschlossen sind, erfolgen. In den Steuergeräten kann eine Verarbeitung der Bildinformationen der an das Netzwerk angeschlossenen Kameras durchgeführt werden.
-
Beispielsweise können in einem Fahrzeug mehrere Steuergeräte vorgesehen sein, die mit dem paketorientierten Netzwerk verbunden sind. Eines der Steuergeräte kann eine Headunit sein, die alle Bilddaten der Kameras für bildgebende Fahrassistenzsysteme erhält. Bilddaten für andere Fahrassistenzsysteme (z. B. Systeme zur Kollisionsvermeidung) werden an ein spezielles (anderes) Steuergerät geleitet. Hierdurch kann effizient eine Aufteilung der Fahrassistenzfunktionen erfolgen.
-
Ferner ist es eine Weiterbildung, dass die Daten priorisiert sind und entsprechend ihrer Priorität über das paketorientierte Netzwerk übertragen werden.
-
Optional kann, um eine Verbesserung der Netzperformanz zu erreichen, eine Verkehrsflusskontrolle durchgeführt werden. Hierzu können bekannte Verfahren, z. B. ein Leaky-Gucket-Alogirthmus oder ein Token-Bucket-Algorithmus eingesetzt werden.
-
Im Rahmen einer zusätzlichen Weiterbildung werden die Daten an mindestens ein Steuergerät des Fahrzeugs übertragen.
-
Insbesondere können die Daten von dem Steuergerät des Fahrzeugs angefordert werden. Bei dem Steuergerät des Fahrzeugs kann es sich u. a. um eine Headunit handeln.
-
Eine nächste Weiterbildung besteht darin, dass anhand der übertragenen Daten Fahrassistenzfunktionen, Komfortfunktionen und/oder Steuerfunktionen des Fahrzeugs durchgeführt werden.
-
Die oben genannte Aufgabe wird auch gelöst mittels einer Vorrichtung umfassend eine Verarbeitungseinheit, die derart eingerichtet ist, dass das hierin beschriebene Verfahren ausführbar ist.
-
Die Verarbeitungseinheit kann z. B. eine analoge oder digitale Verarbeitungseinheit sein, sie kann als ein Prozessor und/oder eine zumindest teilweise festverdrahtete Schaltungsanordnung ausgeführt sein, die derart eingerichtet ist, dass das Verfahren wie hierin beschrieben durchführbar ist.
-
Der Prozessor kann jede Art von Prozessor oder Rechner oder Computer mit entsprechend notwendiger Peripherie (Speicher, Input/Output-Schnittstellen, Ein-Ausgabe-Geräte, etc.) sein oder einen solchen umfassen. Weiterhin kann eine festverdrahtete Schaltungseinheit, z. B. ein FPGA oder ein ASIC oder eine sonstige integrierte Schaltung, vorgesehen sein.
-
So ist es eine Weiterbildung, dass die Vorrichtung ein Kamerasystem ist.
-
Das Kamerasystem weist z. B. eine Kamera mit Datenkomprimierung und Paketierung zum Anschluss an das paketorientierte Netzwerk auf.
-
Auch wird die oben genannte Aufgabe gelöst mittels eines Systems umfassend mindestens eine der hier beschriebenen Vorrichtungen, ein paketorientiertes Netzwerk und mindestens ein Steuergerät, wobei die mindestens eine Vorrichtung über das paketorientierte Netzwerk Daten an das mindestens eine Steuergerät überträgt.
-
Weiterhin wird die vorstehend genannte Aufgabe mittels eines Fahrzeugs umfassend mindestens eine solche Vorrichtung oder mindestens ein solches System gelöst.
-
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen dargestellt und erläutert.
-
Es zeigen:
-
1 ein schematisches Diagramm, das veranschaulicht, wie nacheinander Bilder (Frames) von einem Kamerasystem aufgenommen und bereitgestellt werden;
-
2 ein zeitliches Diagramm zur Veranschaulichung eines Funktionsprinzips des Kamerasystems;
-
3 ein schematisches Zeitdiagramm, das eine Übertragung von Bildsegmenten in einem Zeitmultiplexverfahren veranschaulicht;
-
4 ein Blockdiagramm, bei dem mehrere Kameras (auch bezeichnet als Kamerasysteme) in einem Fahrzeug über ein paketorientiertes Netzwerk mit einem Endgerät oder mit einer Headunit verbunden sind.
-
Eine Kamera bzw. ein Kamerasystem umfasst insbesondere einen zeilenbasierten Komprimierungsalgorithmus zur Bilddatenkompression beispielsweise gemäß dem H.264-Standard oder gemäß dem JPEG Standard.
-
Nachdem eine bestimmte Anzahl von Zeilen aus dem Bildsensor der Kamera ausgelesen wurde, beginnt der Encoder der Kamera, die Bildinformation zu enkodieren. Es ergeben sich demgemäß enkodierte Bildsegmente (Zeilen-Cluster). Ein Bildsegment umfasst eine bestimmte Anzahl von Bildpunktzeilen des CMOS Sensors (z. B. 4, 8, 16 oder 32 Bildzeilen). Alternativ kann eine Kamera mit einem CCD-Sensor eingesetzt werden. Auch hier werden die Zeilen der Reihe nach ausgelesen und verarbeitet. Weitere Bilderfassungseinheiten sind dem Fachmann bekannt.
-
Ein gesamtes Bild (Frame) umfasst mehrere Bildsegmente (Zeilen-Cluster).
-
Beim Enkodieren der Bilddaten kann eine Datenratenkontrolle eingesetzt werden (z. B. die Datenratenkontrolle des H.264-Standards), damit die enkodierten Bildsegmente in etwa die gleichen Datengrößen haben und somit eine ähnliche Übertragungszeit benötigen.
-
Danach wird das enkodierte Bildsegment (Zeilen-Cluster) paketiert und über das Netzwerk versendet. Vorzugsweise kann ein Ethernet mit mindestens einem Switch verwendet werden und/oder die Bildsegmente können über IP Multicast versendet werden.
-
Die an das Netzwerk angeschlossenen Kamerasysteme können miteinander synchronisiert werden. Hierfür kann z. B. das Precision Time Protocol (PTP basierend auf IEEE1588) eingesetzt werden. Somit haben die angeschlossenen Kamerasysteme die gleiche Zeitbasis. Die Bilderfassungssensoren (CMOS Sensoren) in den Kameras können anhand dieser Zeitbasis synchronisiert werden.
-
1 zeigt ein schematisches Diagramm, das veranschaulicht, wie nacheinander Bilder (Frames) von einem Kamerasystem aufgenommen und bereitgestellt werden.
-
Ein Bild 1 umfasst 480 Zeilen von Bildpunkten, wobei die Zeilen nacheinander von dem Bildsensor ausgelesen, also erfasst, transformiert und bereitgestellt (z. B. übertragen) werden. Die Erfassung benötigt eine Zeitdauer 101 und die Transformation und Bereitstellung erfordert eine Zeitdauer 102. Somit ergibt sich zum Auslesen einer Bildzeile (einschließlich der Transformation und dem Bereitstellen) eine Zeitdauer aus der Summe der Zeiten 101 und 102. Dies gilt entsprechend für alle Zeilen.
-
Je 16 Zeilen von Bildpunkten entsprechen einem Bildsegment (Zeilen-Cluster); damit sind für die 480 Zeilen von Bildpunkten insgesamt 30 Bildsegmente vorgesehen. Weiterhin ist in 1 eine Zeitdauer für das Bildsegment 1 angedeutet, also die Zeit, die benötigt wird, bis alle Zeilen des Bildsegments 1 bereitgestellt bzw. übertragen wurden.
-
Gemäß diesem Schema werden der Reihe nach die Bildsegmente des Bilds 1, dann die Bildsegmente des Bilds 2 usw. ausgelesen und bereitgestellt.
-
2 zeigt ein zeitliches Diagramm zur Veranschaulichung eines Funktionsprinzips des Kamerasystems. Pro Bild (Frame) werden die Bildsegmente der Reihe nach von der Kamera erfasst (siehe 1), jedes Bildsegment wird von dem Kamerasystem enkodiert nachdem es vollständig erfasst wurde und das enkodierte Bildsegment wird übertragen nachdem es vollständig enkodiert wurde.
-
Der hier vorgeschlagene Ansatz ermöglicht es nun, dass Kamerasysteme zeitversetzt Datenpakete umfassend von diesen Kameras erfasste und enkodierte Bildsegmente über ein Netzwerk z. B. an ein Steuergerät übertragen, so dass das Steuergerät frühzeitig Bildinformationen von mehreren Kamerasystemen erhält. Damit wird eine Blockierung des Empfangs weiterer Bilddaten durch die Übertragung eines Kamerasystems wirksam verhindert und erreicht, dass das Steuergerät mit der Auswertung der erhaltenen Bildinformationen bereits beginnen kann. Damit ist es möglich, ohne deutlichen Zeitverzug (z. B. nahezu in Echtzeit) Fahrassistenzsysteme, die Bildinformationen mehrerer Kameras benötigen, zu betreiben.
-
Dies wird z. B. erreicht, indem die Kamerasysteme in einem Multiplexverfahren Teilinformationen ihrer Bilddaten, z. B. die erwähnten Bildsegmente, über das Netzwerk an das Steuergerät übermitteln. Bei dem Multiplexverfahren kann es sich um ein Zeitmultiplexverfahren (z. B. TDMA oder ein vergleichbares Multiplexverfahren) handeln.
-
Sind die Kamerasysteme miteinander synchronisiert, so kann die gemeinsame Zeitbasis für das Zeitmultiplexverfahren genutzt werden.
-
3 zeigt ein schematisches Zeitdiagramm, das eine Übertragung von Bildsegmenten in einem Zeitmultiplexverfahren veranschaulicht.
-
Die Bilder 1, 2 werden nacheinander übertragen, wobei pro Bild eine Zeit 301 zur Belichtung verwendet wird. Nach der Belichtung werden die Bildsegmente 1 bis 30 (dafür werden die Zeitdauern 302 bis 304 benötigt) der hier beispielhaft vorgesehenen fünf Kameras übertragen, wobei zunächst der Reihe nach die Bildsegmente 1 der Kameras 1 bis 5, dann die Bildsegmente 2 der Kameras 1 bis 5, etc. bis zu den Bildsegmenten 30 der Kameras 1 bis 5 übertragen werden. Entsprechend wird das nächste Bild übertragen.
-
Insofern hat die Steuereinheit bereits nach Ablauf der Zeit 302 alle Bilddaten der Bildsegmente 1 aller fünf Kameras erhalten und kann entsprechend mit der Verarbeitung beginnen.
-
Somit wird wirkungsvoll verhindert, dass für die Dauer der Bildübertragung einer einzelnen Kamera die Bildübertragungen aller anderen Kameras blockiert sind.
-
Vorzugsweise entspricht die Zeitdauer (302 bis 304), um die die Kameras ihre Bildsegmente zeitversetzt versenden, mindestens der Zeit, die eine Kamera benötigt, um die Bildzeilen auszulesen, zu enkodieren und zu versenden.
-
Alternativ ist es möglich, dass ein Token von Kamera zu Kamera weitergegeben wird, wobei diejenige Kamera, die den Token besitzt, Daten übertragen kann. Weiterhin kann vorgeben sein, dass eine Kamera den Token nur für eine bestimmte Zeit oder für eine bestimmte Menge von zu übertragenen Daten besitzen darf und danach weitergeben muss; beispielsweise kann der Token der Kamera die Übertragung der Bilddaten eines Bildsegments erlauben bevor der Token weitergereicht wird.
-
Entsprechend ist es möglich, statt des hier beispielhaft genannten Bildsegments andere Einheiten zu übertragen, z. B. einen beliebigen Teil des Bildes oder mehrere Bildsegmente.
-
Durch die Verwendung des Tokens kann eine weitere Synchronisation der Kamerasysteme entfallen.
-
In dem Steuergerät werden die eingehenden Bildsegmente gesammelt, den Kamerasystemen zugeordnet, dekodiert und weiterverarbeitet.
-
Je nach Anwendung ist es von Vorteil, dass die Daten in dem Netzwerk unterschiedlich priorisiert sein können. So kann erreicht werden, dass wichtige Daten betreffend z. B. die Fahrsicherheit Vorrang haben gegenüber Daten, die z. B. eine Komfortfunktion betreffen und/oder deren verzögerte Übertragung unkritisch ist.
-
Weiterhin sei erwähnt, dass anstelle der hier beschriebenen Bilddaten auch andere Daten in einem (ggf. priorisierten) Multiplexverfahren übertragen werden können. Beispielsweise können neben den Bilddaten auch Audiodaten, Signalisierungsinformation, Programminformation, Steuerdaten, etc. einzeln oder in Kombination miteinander z. B. in dem Zeitmultiplexverfahren übertragen werden. Dabei können – wie angedeutet – die einzelnen Daten unterschiedlich priorisiert sein und somit Vorrang gegenüber anderen Daten haben.
-
Auch ist es möglich, dass das Netzwerk, das Steuergerät und/oder die Datenquelle (z. B. das Kamerasystem) einen Puffer aufweist, in dem Daten zwischengespeichert werden bevor diese an den Adressaten übertragen werden. Eine derartige Zwischenspeicherung kann z. B. vorteilhaft sein, wenn das Netzwerk vorübergehend mit anderem (ggf. höher priorisiertem) Datenverkehr belegt ist.
-
Das vorgeschlagene Multiplexverfahren unterscheidet sich von einem Multiplexverfahren auf einer Bitübertragungsschicht insbesondere auch dadurch, dass vorliegend die Applikation selbst die Verteilung der gemultiplexten Daten steuert. Insofern betrifft die hier vorgeschlagene Lösung auch ein logisches TDMA auf Applikationsebene.
-
4 zeigt ein Blockdiagramm, bei dem mehrere Kameras 401 bis 404 (auch bezeichnet als Kamerasysteme) in einem Fahrzeug über ein paketorientiertes Netzwerk 405 mit einem Endgerät 406 oder mit einer Headunit 407 verbunden sind.
-
Jede Kamera 401 bis 404 umfasst eine Einheit zur Bildaufnahme, ein Mittel zur Digitalisierung, eine Einheit zur Bildverarbeitung, eine Einheit zur Bildkomprimierung und eine Paketiereinheit. Die Kamera 401 bis 404 kann Bilddaten aufnehmen, diese geeignet aufbereiten und über das paketorientierte Netzwerk 405 bereitstellen. Diese bereitgestellten Bilddaten können von dem Endgerät 406 und/oder von der Headunit 407 empfangen und entsprechend weiterverarbeitet werden.
-
Das Endgerät 406 sowie die Headunit 407 weisen beispielhaft eine Anwendung auf, die Bilddaten benötigt. Die erhaltenen Bilddaten werden mittels einer Einheit zur Depaketierung und einer Einheit zur Dekomprimierung verarbeitet. Das Endgerät 406 sowie die Headunit 407 können unterschiedliche Fahrassistenzfunktionen wahrnehmen und unterschiedliche Bilddaten von unterschiedlichen Kameras auswerten.
-
Der vorgeschlagene Ansatz hat u. a. den Vorteil, dass durch die zeitliche Synchronisierung der einzelnen Videoströme zueinander die Gesamtlatenzzeit in einem Steuergerät, das mehrere Bilder parallel dekodiert und verarbeitet, deutlich reduziert werden kann.
-
Auch ist es von Vorteil, dass durch die zeitliche Synchronisierung der einzelnen Videoströme zueinander Paketverluste reduziert werden können.
-
Ein Encodier-Algorithmus (basierend auf einem H.264 oder einem JPEG-Standard) erzeugt pro Rahmen (Frame) mehrere sogenannte NAL (Network Abstraction Layer) Einheiten, auch bezeichnet als ”NAL Units”. Diese NAL Units werden als Dateneinheiten basierend auf Bildzeilen generiert, die aus einem Bilderfassungssensor einer Kamera ausgelesen werden. Die NAL Units haben in etwa die gleiche Größe, d. h. enthalten in etwa gleich viele Daten.
-
Allgemein erfolgt also bei jeder Kamera (siehe z. B. Bezugszeichen 401 bis 404 in 4) des Fahrzeugs eine Erfassung der Bilddaten und eine Zusammenfassung der Bilddaten in Blöcken vorgegebener Größe. Diese Blöcke werden über das (z. B. paketorientierte) Netzwerk 405 gemäß 4 zu dem Endgerät 406 oder der Headunit 407 übertragen und dort verarbeitet. Das Netzwerk 405 weist hierfür beispielsweise mindestens einen Switch auf, der sequentiell in vorgegebenen Zeitrahmen die Datenpakete von den unterschiedlichen Kameras 401 bis 404 weiterleitet. Hierbei ist es von Vorteil, wenn die Datenpakete diesen vorgegebenen Zeitrahmen nicht überschreiten, da es ansonsten zu Datenverlusten kommen kann, weil außerhalb des für die Kamera vorgesehenen Zeitrahmens keine Weiterleitung der Datenpakete für diese Kamera garantiert ist.
-
Somit kann, wie vorstehend bereits ausgeführt wurde, beim Enkodieren der Bilddaten eine Datenratenkontrolle erfolgen, so dass die enkodierten Bildsegmente in etwa die gleichen Datengrößen haben und somit eine ähnliche Übertragungszeit benötigen.
-
Beispielsweise kann bei dem Enkodieren eine maximale Größe eines Datenpakets, z. B. einer zu enkodierenden Makroblockzeile, eines zu enkodierenden Makroblocks und/oder einer zu enkodierenden NAL-Unit, begrenzt werden. So kann z. B. ein Kompressionsgrad beim Enkodieren der Bilddaten so angepasst werden, dass das Datenpaket eine vorgegebene maximale Datengröße nicht überschreitet. Damit ist sichergestellt, dass die Datengröße in den für die Kamera vorgesehenen Zeitrahmen passt und keine Information betreffend die kodierten Bilddaten in dem Netzwerk verloren gehen.
-
Es gibt unterschiedliche Varianten, die eine maximale Größe des Datenpakets auf der Seite des Bilderfassungssystems gewährleisten:
- 1). Beispielsweise kann das Datenpaket mehrere Blöcke (z. B. Makroblöcke oder beliebige Bilddatenblöcke) aufweisen, die separat enkodiert werden. Beim Enkodieren der Blöcke kann die Kompression derart angepasst werden, dass die maximale Größe des Datenpakets nicht überschritten wird. Weist beispielsweise ein Block einen hohen Informationsgehalt auf, so dass selbst bei starker Kompression noch einen beträchtlichen Anteil des Datenpakets durch diesen Block belegt wird, kann bei anderen Blöcken des Datenpakets die Kompression entsprechend erhöht werden, damit insgesamt die enkodierten Bilddaten in das Datenpaket passen.
- 2) Auch ist es möglich, dass das Enkodieren gepuffert für eine bestimmte Anzahl von Blöcken erfolgt, so dass in Rückschau auf die bereits enkodierten Blöcke und/oder unter Berücksichtigung des noch zur Verfügung stehenden Speicherplatzes in dem Datenpaket die Kompression der gepufferten Blöcke angepasst werden kann.
- 3) Ferner ist es möglich, dass parallel die Blöcke mindestens zweimal mit unterschiedlicher Kompression enkodiert werden und diejenigen enkodierten Blöcke verwendet werden, die die Größe des Datenpakets am besten ausnutzen. Dies stellt eine gute Bildqualität und gleichzeitig ein Einhalten der maximalen Größe des Datenpakets sicher. Beispielsweise können hierfür mindestens zwei Enkodiereinheiten vorgesehen sein, die parallel mit unterschiedlicher Kompression die Bilddaten verarbeiten.
-
Somit wird erreicht, dass von dem Bilderfassungssystem Datenpakete bereitgestellt werden, die eine vorgegebene Paketgröße nicht überschreiten und dass die Datenpakete in für das jeweilige Bilderfassungssystem bereitgestellte Zeitrahmen passen. So können die bereitgestellten Datenpakete über das Netzwerk vollständig zu ihren Empfängern übertragen werden.
-
Weiterhin kann in einem Datenpaket z. B. eine flexible Anzahl an Makroblöcken enkodiert werden. Vorzugsweise werden hierfür Bildzeilen (z. B. ein ganzzahliges Vielfaches von 16 Bildzeilen) eingelesen. Beim Enkodieren wird die maximal zulässige Größe des Datenpakets eingehalten, wobei das Datenpaket beispielsweise mehrere der genannten NAL Units aufweisen kann. So kann das enkodierte Bildsegment (NAL Unit) paketiert und über das Netzwerk versendet werden.
-
Beispielsweise wird als Netzwerk ein Ethernet eingesetzt. Auch ist es eine Option, dass die Datenpakete per Multicast (an mehrere Empfänger), z. B. per UDP Multicast versendet werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Standards H.264 [0003]
- H.264-Standard [0056]
- H.264-Standards [0059]
- IEEE1588 [0061]
- H.264 [0088]