DE102016113431B4 - System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübertragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät - Google Patents

System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübertragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät Download PDF

Info

Publication number
DE102016113431B4
DE102016113431B4 DE102016113431.7A DE102016113431A DE102016113431B4 DE 102016113431 B4 DE102016113431 B4 DE 102016113431B4 DE 102016113431 A DE102016113431 A DE 102016113431A DE 102016113431 B4 DE102016113431 B4 DE 102016113431B4
Authority
DE
Germany
Prior art keywords
host device
portable system
data content
index
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102016113431.7A
Other languages
English (en)
Other versions
DE102016113431A1 (de
Inventor
Fan Bai
Dan Shan
Leonard Nieman
Donald K. Grimm
Karen Juzswik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102016113431A1 publication Critical patent/DE102016113431A1/de
Application granted granted Critical
Publication of DE102016113431B4 publication Critical patent/DE102016113431B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4112Peripherals receiving signals from specially adapted client devices having fewer capabilities than the client, e.g. thin client having less processing power or no tuning capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)

Abstract

Tragbares System (110), das ereignisbasierte Synchronisation für Echtzeit-Videostreaming ermöglicht, aufweisend:eine Verarbeitungs-Hardwareeinheit (114); undein nicht-temporäres Speichergerät, aufweisend einen computerausführbaren Code, der bei seiner Ausführung durch die Verarbeitungs-Hardwareeinheit (114) die Verarbeitungs-Hardwareeinheit (114) zum Durchführen von Operationen veranlasst, aufweisend:Empfangen, von einer Videoquelle, einer Quellenvideodatei oder eines virtualisierten Quellenvideos;Unterteilen der Quellenvideodatei oder des virtualisierten Quellenvideos in eine Vielzahl von Bildkomponenten, wodurch ein Dateninhaltspaket hervorgebracht wird;Erzeugen eines Metaindexpakets, aufweisend eine Vielzahl von Indexkomponenten, wobei jede Indexkomponente einem jeweiligen einer Bildkomponente der gleichen Größe entspricht; undSenden des Dateninhaltspakets und des Metaindexpakets an ein Host-Gerät (150) zum sequenziellen Veröffentlichen der Bildkomponenten gemäß einer Reihenfolge des Metaindexpakets zur Echtzeit-Anzeigewiedergabe von Streamingvideo entsprechend der Quellenvideodatei oder des virtualisierten Quellenvideos über das Host-Gerät (150) undeiner Anzeigekomponente (174),worin die Operationen des Erzeugens und Sendens in Wiederholungen für aufeinanderfolgende Paare aus Dateninhaltspaketen und Metaindexpaketen gemäß einem Schreib-Zeitgebungsalgorithmus durchgeführt werden, aufweisend, als Variable bei dem Festlegen, wann ein neues Dateninhaltspaket und das Metaindexpaket zu schreiben und zu senden ist, eine Menge eines unmittelbar vorhergehenden Dateninhaltspakets, das am Host-Gerät (150) gelesen wird,worin C0die Menge an unmittelbar vorgehendem Dateninhaltspaket bezeichnet, bevor es am Host-Gerät (150) gelesen wird, worin der Schreib-Zeitgebungsalgorithmus wie folgt dargestellt wird:(a) wird das unvermittelbar vorhergehende Dateninhaltspaket am Host-Gerät (150) gelesen, ist eine Variable eines nicht gelesenen Abschnittes (U) C0;(b) ansonsten, U=U-1; und(c) Wiederhole (a) und (b) solange, bis (F1)C0< U < (F2)C0, und schreibe zu dieser Zeit das neue Dateninhaltspaket und das Metaindexpaket;F1ist eine erste Bruchzahl größer als 0 und kleiner als 1; undF2ist eine zweite Bruchzahl größer als F1und kleiner als 1.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft im Allgemeinen die synchronisierte Übertragung von Medieninhalt zwischen Geräten und insbesondere das Synchronisieren der Übertragung und Echtzeit-Anzeigewiedergabe von Medien wie beispielsweise Videostreams von einem Peripheriegerät wie einem Plug-in-Massenspeichersystem an ein Host-Gerät, wie beispielsweise einer Head-Unit eines Automobilfahrzeuges.
  • HINTERGRUND
  • Die meisten modernen Automobilfahrzeuge werden von den Erstausrüstern (OEM) mit Infotainment-Einheiten ausgestattet, die Medien unter anderem visuelle Medien darstellen können. Die Einheiten können über das Internet beispielsweise mittels einer auf der Einheit laufenden Audioanwendung empfangenen Audio-Inhalt und beispielsweise von einer Digital Video Disc (DVD) empfangenen Video-Inhalt darstellen. Während viele Einheiten auch visuelle Medien, wie beispielsweise von einer fernen Quelle empfangene Navigations- und Wetterinformationen, darstellen können, ist das Darstellen von einer fernen Quelle empfangenem Video-Inhalt nach wie vor eine Herausforderung.
  • Andere Anzeigegeräte oder Komponenten, wie beispielsweise Fernseh- oder Computerbildschirme können Videodaten mit einer hohen Durchsatzleistung oder über eine Schnittstelle mit hoher Übertragungsgeschwindigkeit, wie beispielsweise einer High-Definition-Multimedia- Schnittstelle (HDMI) oder einem Video Graphics Array (VGA) Port, empfangen. (HDMI ist eine eingetragene Handelsmarke der HDMI Licensing, LLC, of Sunnyvale, Kalifornien). Es wurden digitale Medienrouter zum Einrichten einer Steckverbindung in diese Ports mit hoher Übertragungsgeschwindigkeit (High-Transfer-Rate-Ports) entwickelt, so dass dem Anzeigegerät Videodaten zur Verfügung gestellt werden können.
  • Die meisten Host-Geräte, wie beispielsweise alte bereits sich im Umlauf befindliche Fahrzeuge, weisen solche Schnittstellen mit hoher Übertragungsgeschwindigkeit nicht auf. Moderne Fahrzeuge weisen zunehmend einen Peripherie-Port wie beispielsweise einen USB-Anschluss auf oder einen Drahtlosempfänger zur Verwendung für die Übertragung nur empfangenen Daten mit geringer Übertragungsgeschwindigkeit vom einem mobilen Endgerät, wie einem Smartphone.
  • Das effiziente und effektive Übertragen von Videodaten mittels einer Verbindung mit niedriger Übertragungsgeschwindigkeit, wie einem USB, stellt nach wie vor eine Herausforderung dar. Das Streamen von Videodaten erfordert herkömmlicherweise höhere Datengeschwindigkeiten. Obgleich HDMI-Daten 10 Gbps übersteigen können, übersteigen USB-Daten für gewöhnlich nicht ungefähr 4 Gbps.
  • Zu den Hindernissen für ein effizientes und effektives Übertragen von Videodaten von einer fernen Quelle an ein lokales Gerät zur Anzeige gehören auch Beschränkungen am lokalen Gerät, wie beispielsweise Beschränkungen hinsichtlich der alten Software und/oder Hardware am lokalen Gerät. Oftmals weisen die mobilen Endgeräte keine Videokarte auf und/oder die Fahrzeuge haben keine Grafik verarbeitende Software auf. Ferner wird beispielsweise USB Video Class (UVC) entweder nicht von handelsüblichen Android- ® Geräten oder vorherrschenden Infotainment-Systemen unterstützt. (ANDROID ist eine eingetragene Handelsmarke von Google, Inc., of Mountain View, Kalifornien)
  • Ein weiteres Hindernis für die Übertragung von Videodaten von einer fernen Quelle an eine lokale Anzeige sind die hohen Hard- und Softwarekosten, die zur zeitlichen Synchronisierung der Übertragungen zwischen Geräten zur Vermeidung von Lese-/Schreibkonflikten erforderlich sind.
  • In US 2014/0270161 A1 A1 wird ein Verfahren und ein System zum sicheren Speichern und Abrufen von Live-Off-Disk-Medienprogrammen beschrieben. Ereignisse beschreiben Mediensegmente, von denen jedes mit einem anderen Schlüssel verschlüsselt ist, um über DLNA- (Digital Living Network Alliance) oder HTTP-Live-Streaming-Protokolle auf ein Remote-Gerät gestreamt zu werden. Mediensegmente und Kennungen zum Verwalten des Speicherns und Abrufens solcher Mediensegmente sind mit Live-Streaming-Datenstrukturen kompatibel, sodass Datenströme nicht erneut verschlüsselt werden müssen.
  • US 2007/0015486 A1 offenbart ein Integrationssystem für Multimedia-Geräte. Ein oder mehrere After-Market-Audio- oder Videogeräte, wie z. B. ein CD-Player, ein CD-Wechsler, ein digitales Mediengerät (z. B. MP3-Player, MP4-Player, WMV-Player, Apple iPod, ein tragbares Media Center oder ein anderes Gerät), Satellitenempfänger (z. B., XM- oder Sirius-Empfänger), DAB-Empfänger, Videogerät (z. B. DVD-Player), Mobiltelefon oder ein anderes Gerät oder andere Kombinationen davon sind zur Verwendung in ein vorhandenes OEM- oder After-Market-Autoradio- oder Videosystem integriert, wobei Steuerungsbefehle an der Auto-Stereoanlage oder am Videosystem ausgegeben werden können, und Daten vom After-Market-Gerät an der Auto-Stereoanlage oder am Videosystem angezeigt werden können. Steuerbefehle, die am Autoradio oder am Videosystem generiert werden, werden empfangen, verarbeitet, in ein vom After-Market-Gerät erkennbares Format konvertiert und zur Ausführung an das After-Market-Gerät gesendet. Informationen von dem After-Market-Gerät werden in ein Format konvertiert, das von der Auto-Stereoanlage oder dem Video-System erkannt wird, und zur Anzeige an die Auto-Stereoanlage oder das Video-System gesendet wird.
  • KURZDARSTELLUNG
  • Es besteht ein Bedarf an einer Anordnung zum Übertragen von Hochgeschwindigkeit-Videostreams auf effiziente und synchronisierte Weise zwischen miteinander verbundenen Geräten mit niedriger Latenz und ohne kostenintensive Komponenten zur zeitlichen Synchronisierung.
  • Es besteht ein ferner ein Bedarf an Systemen, die Hochgeschwindigkeit-Videostreams, wie beispielsweise Video zum Streamen an einem empfangenden Gerät, mittels einer Verbindung mit relativ niedriger Übertragungsgeschwindigkeit, wie beispielsweise einer USB-Verbindung, übertragen können.
  • Es ist die Aufgabe der Erfindung, ein tragbares System und ein Host-System anzugeben, bei denen Videostreams zuverlässig auch über Datenverbindungen mit niedriger Übertragungsgeschwindigkeit übertragen werden können.
  • Die Lösung der Aufgabe erfolgt durch ein tragbares System mit den Merkmalen des Anspruchs 1 und durch ein Host-System mit den Merkmalen des Anspruchs 5.
  • Die vorliegende Technologie löst diese sowie weitere Herausforderungen in Bezug auf die Übertragung von Medien mit hoher Durchsatzleistung von einer Quelle wie einem fernen Anwendungsserver an ein Ziel-Host-Gerät, wie einer Head-Unit eines Automobilfahrzeuges.
  • Die vorliegende Technologie verarbeitet Daten mit einem Dateiformat, und das Ergebnis ist eine neuartige Methode zum Streamen von Video und Audioinhalt. Zu den jederzeit verarbeiteten Daten gehören ein Volumen an Standbildern. Die Anordnung mit Standbildern, die das Volumen, z. B. Tausende von Standbildern beinhaltet, ermöglicht die Bereitstellung von Hochgeschwindigkeits-Streamen von Video mit niedriger Latenz. Der Prozess beinhaltet das Leeren eines Zwischenspeichers (Cache). Die Implementierung beinhaltet die Verwendung eines Plug-in-Massenspeichersystems, wie den Einsatz eines USB-Mass-Storage-Class (USB-MSC)-Protokolls.
  • Die Offenbarung stellt Systeme zum Synchronisieren der Übertragung und Echtzeit-Anzeige von Medien mit hoher Durchsatzleistung, wie beispielsweise Streaming-Video zwischen einem Peripheriegerät, wie einem Plug-in-Massenspeichersystem und einem Ziel-Host-Gerät, bereit. Die Medien werden in einem neuartigen ereignisbasierten Verfahren synchronisiert, das das Erfordernis nach kostenintensiven taktbasierten Komponenten zur Synchronisation beseitigt.
  • In einem Aspekt betrifft die vorliegende Offenbarung ein tragbares System aufweisend eine Verarbeitungs-Hardwareeinheit und ein nicht-temporäres Speichergerät aufweisend einen computerausführbaren Code, der bei seiner Ausführung durch die Hardware-Verarbeitungseinheit, die Hardware-Verarbeitungseinheit zum Durchführen verschiedener Operationen der aktuellen Technologie veranlasst. Das tragbare System kann exemplarisch mit Begriffen, wie beispielsweise Peripherie-, Travelsystem, mobiles System oder mobiles Begleitsystem, tragbares Gerät o. ä., bezeichnet werden.
  • Das tragbare System ist so konfiguriert, dass es ein Quellen-Streamingvideo, z. B. eine Videodatei von einer Videoquelle, wie einer fernen Videoquelle (z. B. Server), empfängt und das Quellen-Streamingvideo in eine Vielzahl von Bildkomponenten gleicher oder ungleicher Größe unterteilt. Ein daraus resultierendes Datenpaket wird in dem System ,wie beispielsweise auf einem darauf befindlichen Bildspeicher (Framebuffer) davon, gespeichert. Der Bildspeicher kann zum Beispiel eine übertragene Videoquelle, wie in Form eines Dateninhaltspakets, vorliegen.
  • Das tragbare System ist des Weiteren so konfiguriert, dass es ein Metaindexpaket aufweisend eine Vielzahl von Indexkomponenten erzeugt, wobei jede Indexkomponente einer jeweiligen der Bildkomponenten gleicher oder ungleicher Größe entspricht. Das tragbare System ist ferner so konfiguriert, dass es das Metaindexpaket in dem nicht-temporären Speichergerät speichert. Die Operationen umfassen ferner das Senden des Dateninhaltspakets und des Metaindexpakets an das Host-Gerät zum sequenziellen Veröffentlichen der Bildkomponenten in Übereinstimmung mit einem Befehl des Metaindexpakets, zur Anzeige-Wiedergabe von Streamingvideo entsprechend dem Quellen-Streamingvideo mittels des Host-Gerätes und eines Anzeigegerätes. Diese Anordnung, die die Übertragung und Echtzeit-Anzeige des Dateninhaltspakets und des ihm entsprechenden Metaindexpakets beinhaltet, kann als mehrstufige Anordnung bezeichnet werden.
  • In einigen Ausführungsformen sind das tragbare System und das Host-Gerät für eine bidirektionale Datenübertragung zwischen ihnen konfiguriert. Anweisungen oder Daten zwischen den beiden können mittels eines Vorwärtskanals vom tragbaren System zum Host-Gerät und mittels eines Rückwärtskanals vom Host-Gerät zurück zum tragbaren System gesendet werden. Anweisungen oder Daten können so konfiguriert sein, dass sie beispielsweise eine Einstellung oder eine Funktion des empfangenden Gerätes oder Systems ändern. Bei einigen Implementierungen sind das tragbare System, das Host-Gerät und der die beiden verbindende Datenübertragungskanal so konfiguriert, dass sie gleichzeitige bidirektionale Datenübertragungen ermöglichen. Bei verschiedenen Ausführungsformen ist die Konfiguration so angeordnet, dass die Datenübertragungen gemäß eines Zeitmultiplex-Kanalzugriffverfahrens (TDMA, Time Division Multiple Access) durchgeführt werden können.
  • Bei einigen Ausführungsformen beinhaltet das tragbare System eine Human Machine Interface (HMI), wie beispielsweise eine Taste oder ein Mikrophon. Das tragbare System ist so konfiguriert, dass es über die HMI-Schnittstelle eine Benutzereingabe empfängt und jedwede einer Reihe verschiedener von Aktionen, unter anderem, Einrichten einer Benutzerpräferenz, Ändern einer vorher eingerichteten Präferenz und Erzeugen einer Anweisung zum Senden an das Host-Gerät auslöst.
  • Bei verschiedenen Ausführungsformen weisen das tragbare System und das Host-Gerät einen computerausführbaren Code in Form einer dynamischen Programmiersprache auf, um Interaktionen zwischen dem tragbaren System und dem Host-Gerät zu ermöglichen.
  • Das tragbare System verwendet in einigen Ausführungsformen einen Zwischenspeicher der ersten Ebene zum Speichern der gebildeten Bilderkomponenten. Der erwähnte Bilderspeicher (Framebuffer) kann beispielsweise Bestandteil des Zwischenspeichers der ersten Ebene sein.
  • Bei einigen Ausführungsformen ist das Host-System für eine Implementierung als Bestandteil eines Transportfahrzeugs, wie beispielsweise eines Automobils, aufweisend einen Datenübertragungsanschluss und ein erwähntes Anzeigebildschirmgerät konfiguriert. Das tragbare System kann in diesem Fall ein Datenübertragungsprotokoll für Massenspeicher (z. B. ein USB-MSC-Protokoll) zur Verwendung zwischen dem tragbaren System und einer Verarbeitungs-Hardwareeinheit des Host-Gerätes aufweisen. Eine Anweisung vom Host-Gerät an das tragbare System kann so konfiguriert sein, dass sie Operationen am tragbaren System auf eine Weise beeinflusst, mit der das Quellenvideo zum Bilden von indexierten Bildkomponenten unterteilt wird.
  • Nachstehend werden sich weitere Aspekte der vorliegenden Erfindung teilweise ohne Weiteres erschließen und teilweise explizit erwähnt.
  • Figurenliste
    • 1 veranschaulicht schematisch eine Umgebung, in der die vorliegende Technologie implementiert ist, die ein tragbares System und ein Host-Gerät beinhaltet.
    • 2 veranschaulicht Operationen eines Algorithmus, der am tragbaren System von 1 programmiert ist.
    • 3 veranschaulicht Operationen eines Algorithmus, der am Host-Gerät von 1 programmiert ist.
    • 4 veranschaulicht schematisch einen kreisförmigen Prozess einer Bildspeicherübertragung und einer Echtzeit-Anzeige, synchronisiert durch eine mehrstufige ereignisbasierte Anordnung.
    • 5 veranschaulicht eine alternative Ansicht der Anordnung von 4 auf eine Weise, mit der die kreisförmige Natur der Anordnung hervorgehoben wird.
    • 6 zeigt eine Übersichtsdarstellung, die eine ereignisbasierte Zeitgebung zeigt, bei der kreisförmige Dateien geschrieben und gelesen werden.
    • 7 zeigt einen Graphen, der der Übersichtsdarstellung von 6 entspricht und zeigt eine Menge, um die die aufeinanderfolgende kreisförmige Dateien im Laufe der Zeit gelesen werden, bevor eine nächste Datei geschrieben wird.
  • Die Figuren sind nicht unbedingt maßstabsgerecht, und einige Merkmale können vergrößert oder verkleinert dargestellt sein, um Einzelheiten von bestimmten Komponenten darzustellen. In einigen Fällen wurden im Sinne eines besseren Verständnisses der vorliegenden Offenbarung gut bekannte Komponenten, Systeme, Materialien oder Verfahren nicht ausführlich beschrieben.
  • In den Figuren werden gleiche Bezugszahlen zum Verweis auf gleiche Merkmale verwendet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie dies erforderlich ist, werden hierin ausführliche Ausführungsformen der vorliegenden Offenbarung offenbart. Bei den offenbarten Ausführungsformen handelt es sich lediglich um Beispiele, die in verschiedenen alternativen Formen und Kombinationen davon ausgeführt sein können. In ihrer hierin verwendeten Form beziehen sich beispielsweise beispielhafte und ähnliche Begriffe in erhöhtem Maße auf Ausführungsformen, die als eine Veranschaulichung, ein Typ, Moder oder Muster dienen.
  • Folglich sind die hierin offenbarten aufbau- und funktionsspezifischen Details nicht als Beschränkungen zu verstehen, sondern lediglich als Darstellungsgrundlage für die Ansprüche sowie als repräsentative Grundlage, um den Fachleuten die Art und Weise der Nutzung der vorliegenden Offenbarung zu vermitteln.
  • Obgleich die vorliegende Technologie hierin vorwiegend im Zusammenhang mit Automobilen beschrieben wird, ist die Technologie nicht auf Automobile beschränkt. Die Konzepte können in einer großen Reihe verschiedener Anwendungen wie beispielsweise im Zusammenhang mit Luft- und Seefahrzeugen sowie Industrien außerhalb des Transportwesens, wie beispielsweise mit Fernsehgeräten, verwendet werden.
  • Zu weiteren Nicht-Automobilimplementierungen können Plug-in-Peer-to-Peer, oder netzwerkangeschlossene Speichervorrichtungen (NAS) gehören.
  • Figur 1 - Technologieumgebung
  • 1 veranschaulicht schematisch eine Anordnung oder Umgebung 100 in der die vorliegende Technologie implementiert ist. Die Umgebung 100 beinhaltet eine tragbare Vorrichtung, ein solches System oder Gerät 110 und eine Host-Vorrichtung, ein solches System oder Gerät 150. Zum besseren Verständnis und nicht als Einschränkung wird die tragbare Vorrichtung 110 hierin vorwiegend als tragbares System und die Host-Vorrichtung 150 als Host-Gerät bezeichnet. In einigen Ausführungsformen handelt es sich bei dem tragbaren System und dem Host-Gerät 110, 150 um ein konsolidiertes System 100.
  • Das tragbare System 110 kann eine Reihe verschiedener Formen annehmen und auf vielerlei Weise bezeichnet werden, wie beispielsweise als Peripheriegerät, Peripheriesystem, tragbares Peripheriegerät, Peripheriegerät, mobiles System, tragbares System und tragbares Massenspeichersystem.
  • Das tragbare System 110 kann auf der Grundlage von beispielsweise einer vorhandenen Plug-in-Konfiguration und/oder dadurch, dass es mobil ist, tragbar sein, indem es beispielsweise zur Drahtloskommunikation konfiguriert ist und problemlos von einem Nutzer umhergetragen werden kann. Das tragbare System 110 kann ein Dongle oder ein mobiles Datenübertragungsgerät, wie beispielsweise ein Smartphone, nur um einige Beispiele zu nennen, beinhalten.
  • Obgleich Verbindungen zwischen allen Komponenten des tragbaren Systems 110 und des Host-Gerätes 150 in 1 dargestellt sind, können die Komponenten auf jede beliebige Art und Weise miteinander interagieren, um die Systemfunktionen auszuführen.
  • Das tragbare System 110 beinhaltet ein nicht-temporäres Hardware-Speichergerät 112. Das Hardware-Speichergerät 112 kann mit anderen Begriffen, wie beispielsweise Speicher, oder computerlesbares Medium, bezeichnet werden und kann beispielsweise ein flüchtiges Medium, nichtflüchtiges Medium, entnehmbares Medium und nichtentnehmabres Medium beinhalten. Der Begriff Hardware-Speichergerät und seine Varianten beziehen sich in der in der Spezifikation und den Ansprüchen verwendeten Form auf materielle oder nichttemporäre, computerlesbare Speichergeräte. Die Komponente wird hierin vorwiegend als Hardware-Speichergerät 112 oder einfach kurz als Speichergerät 112 bezeichnet.
  • In einigen Ausführungsformen beinhaltet das Speichergerät 112 flüchtige und/oder nichtflüchtige, entnehmbare und/oder nichtentnehmbare Medien, wie beispielsweise Arbeitsspeicher (RAM), Nur-Lese-Speicher (ROM), elektrisch löschbare Nur-Lese-Speicher (EEPROM), Solid-Speicher oder andere Speichertechnologie, CD-ROM, DVD, BLU-RAY oder andere optische Plattenspeicher, Magnetband, Magnetplattenspeicher oder andere magnetische Speichergeräte.
  • Das tragbare System 110 beinhaltet ferner eine Verarbeitungs-Hardwareeinheit 114, die mit dem Hardware-Speichergerät 112 über eine Datenübertragungsverbindung 116, wie beispielsweise einen Computerbus, verbunden oder verbindbar ist.
  • Die Verarbeitungs-Hardwareeinheit 114 kann auch durch andere Begriffe, wie beispielsweise Computerprozessor, einfach Prozessor, Verarbeitungs-Hardwareeinheit, Verarbeitungs-Hardwaregerät, Verarbeitungs-Hardwaresystem, Verarbeitungseinheit, Verarbeitungsgerät o. ä., bezeichnet werden.
  • Der Prozessor 114 kann aus mehreren Prozessoren gebildet sein oder diese beinhalten, die verteilte Prozessoren oder Parallelprozessoren in einer einzelnen Maschine oder mehreren Maschinen beinhalten können. Der Prozessor 114 kann eine Multicore-Einheit sein oder diese beinhalten, wie beispielsweise eine Multicore-Digital Signalprozessor (DSP) Einheit oder eine Multicore-Grafigverarbeitungseinheit (GPU).
  • Der Prozessor 114 kann zur Unterstützung einer virtuellen Verarbeitungsumgebung verwendet werden. Der Prozessor 114 könnte eine Zustandsmaschine, eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierbare Gate-Anordnung (PGA) aufweisend ein Field PGA (FPGA), DSP, GPU oder eine Zustandsmaschine beinhalten. Verweise hierin auf Prozessoren, die einen Code oder Anweisungen zum Durchführen von Operationen, Maßnahmen, Aufgaben, Funktionen, Schritten, oder Ähnlichem ausführen, können den Prozessor 114 beinhalten, der die Operationen direkt und/oder dadurch durchführt, dass er einem anderen Gerät oder einer anderen Komponente das Durchführen der Operationen ermöglicht, diese dazu anweist und/oder mit im ihr/ihr dafür kooperiert.
  • Das tragbare System 110 weist in verschiedenen Ausführungsformen einen oder mehrere komplementierende Mediencodec-Komponenten, wie beispielsweise eine HardwareKomponente und eine Software-Komponente auf, die in der Verarbeitung zu verwenden sind. Die Hardware- oder Verarbeitungkomponente kann Teil des Verarbeitungsgerätes 114 sein.
  • Das Hardware-Speichergerät 112 beinhaltet computerausführbare Anweisungen oder einen solchen Code 118. Das Hardware-Speichergerät 112 speichert in verschiedenen Ausführungsformen wenigstens einige der empfangenen und/oder erzeugten und in der Verarbeitung zu verwendenden Daten in einer dateibasierten Anordnung entsprechend dem darin gespeicherten Code. Wird beispielsweise ein FPGA verwendet, kann das Hardware-Speichergerät 112 Konfigurationsdateien aufweisen, die zur Verarbeitung durch die FPGA konfiguriert sind.
  • Der computerausführbare Code 118 ist vom Prozessor so ausführbar 114, dass der Prozessor dazu 114 und demzufolge das tragbare System dazu veranlasst wird 110, jegliche Kombination der hierin in Bezug auf das tragbare System beschriebenen Funktion auszuführen.
  • Das Hardware-Speichergerät 112 beinhaltet sonstige Code- oder Datenstrukturen, wie beispielsweise ein Dateiteilsystem 120 und eine Bildspeicher-Erfassungskomponente 122.
  • Wie erwähnt, weist das tragbare System 110 in verschiedenen Ausführungsformen eine oder mehrere komplementierende Mediencodec-Komponenten, wie beispielsweise eine Verarbeitungs- oder Hardwarekomponente und eine Softwarekomponente, die in der Verarbeitung zu verwenden ist, auf. Die Software-Mediencodec-Komponente wird durch die Bezugszahl 124 gekennzeichnet.
  • Wie dies ebenfalls erwähnt wurde, kann ein Bildspeicher eine übertragene Videoquelle, wie beispielsweise in Form eines Dateninhaltspakets, sein, das von der Bildspeicher-Erfassungskomponente 122 erfasst wird.
  • Das Dateiteilsystem 120 kann einen Zwischenspeicher der ersten Ebene und in einigen Implementierungen auch einen Zwischenspeicher der zweiten Ebene beinhalten.
  • In einigen Ausführungsformen beinhaltet das Hardware-Speichergerät 112 den Code einer dynamischen Programmiersprache 125, wie beispielsweise JavaScript, Java oder eine C/C++-Programmiersprache. Das Host-Gerät 150 weist dieselbe Programmiersprache auf, die in 1 durch Bezugszahl 164 gekennzeichnet ist. Die Komponenten 164 des Host-Gerätes 150 beinhaltet in einigen Ausführungsformen einen Anwendungs-Framework, wie beispielsweise die erwähnte Medienanwendung und/oder einen Anwendungs-Manager zum Verwalten von Operationen der Medienanwendung am Host-Gerät 150.
  • Der Code der Programmiersprache kann die Einstellungen für Datenübertragungen zwischen dem tragbaren System 110 und dem Host-Gerät 150 festlegen, wie beispielsweise Parameter von einer oder mehreren Anwendungsprogrammschnittstellen (APIs), über die das tragbare System 110 und das Gerät 150 kommunizieren.
  • Das tragbare System 110 beinhaltet in einigen Ausführungen wenigstens eine Human-Machine-Schnittstellen- (HMI) Komponente 126. Für Implementierungen, bei denen die Schnittstellenkomponente 126 die Benutzereingabe in den Prozessor 114 und die Ausgabe vom Prozessor 114 an den Nutzer ermöglicht, kann die Schnittstellenkomponente 126 als Eingabe-/Ausgabe (I/O) Komponente bezeichnet werden. Im beispielhaften Sinne kann die Schnittstellenkomponente 126 einen Sensor beinhalten oder an diesen angeschlossen sein, um Benutzereingaben zu empfangen, und sie kann eine visuelle oder auditive Anzeige, wie beispielsweise ein Licht, eine Digitalanzeige oder einen Tonerzeuger zum Kommunizieren von Ausgaben an den Benutzer, beinhalten oder daran angeschlossen sein.
  • Die Schnittstellenkomponente 126 ist mit dem Prozessor 114 zum Weiterleiten von Benutzereingaben verbunden, die als entsprechende Signale an den Prozessor empfangen werden. Die Schnittstellenkomponente 126 ist auf eine Reihe verschiedener Art und Weise konfiguriert, um Benutzereingaben zu empfangen. In verschiedenen Ausführungsformen beinhaltet die Schnittstellenkomponente126 wenigstens einen Sensor, der so konfiguriert ist, dass er Benutzereingaben erfasst, die beispielsweise über eine Berührung, einen hörbaren Klang oder eine berührungslose Bewegung oder eine Geste bereitgestellt werden.
  • Eine Touchsensor-Schnittstellenkomponente kann ein mechanisches Betätigungselement zum Übersetzen einer mechanischen Bewegung des Bewegens eines Teils, wie beispielsweise einen mechanischen Knopf oder eine Taste, in ein elektrisches oder digitales Signal beinhalten. Der Touchsensor kann auch ein berührungsempfindliches Pad oder einen solchen Bildschirm, wie beispielsweise einen Oberflächenkapazitätssensor, beinhalten.
  • Zum Erfassen von Gesten kann die Schnittstellenkomponente 126 exemplarisch einen projizierten Kapazitätssenor, ein Infrarotlaster-Teilsystem, eine Radarteilsystem oder ein Kamerateilsystem beinhalten oder einsetzen.
  • Die Schnittstellenkomponente 126 kann zum Beeinflussen von Funktionen und Einstellungen oder Parametern von einem oder beiden des tragbaren Systems 110 und des Host-Gerätes 150 ausgehend von der Benutzereingabe verwendet werden. Signale oder Mitteilungen, die den durch die Schnittstellenkomponente 126 empfangenen Eingaben entsprechen, werden an den Prozessor 114 übertragen, der den Code (z. B. Code 118) des Hardware-Speichergeräts 112 ausführt oder eine Funktion am tragbaren System 110 einstellt oder ändert. Empfangene Eingaben können auch die Erzeugung einer Kommunikation, wie beispielsweise einer Anweisung oder einer Mitteilung für das Host-Gerät150 und Senden der Kommunikation an das Host-Gerät 150 zum Einstellen oder Ändern einer Funktion des Gerätes 150, auslösen.
  • Das tragbare System 110 ist in einigen Ausführungsformen so konfiguriert, dass es die Verbindung zum Host-Gerät 150 über harte oder verdrahtete Verbindung 129 herstellt. Solch eine Verbindung wird hierin vorrangig als verdrahtete Verbindung im nicht beschränkenden Sinne bezeichnet. Die Verbindung kann Komponenten verbindende Drähte, wie beispielsweise eine beschriebene USB-Plug-and-Port beinhalten.
  • Bei einigen anderen Ausführungsformen ist die Verbindung mit Verbindungen gemäß Anordnungen mit höherer Durchsatzleistung, wie beispielsweise unter Einsatz eines n HDMI Anschlusses oder eines VGA-Anschlusses konfiguriert.
  • In einer bestimmten Ausführungsform ist das tragbare System 110 als ein Dongle konfiguriert, indem es ein Datenkommunikations-Plug 128 zum Verbinden mit einem übereinstimmenden Datenkommunikationsanschluss 168 des Host-Gerätes 150 aufweist, wie dies in 1 dargestellt ist. Wie erläutert, handelt es sich in einigen Ausführungsformen bei dem tragbaren System 110 um ein tragbares Massenspeichersystem. Das tragbare System 110 ist in verschiedenen Ausführungsformen so konfiguriert, dass es einen beliebigen oder mehrere Typen von Computeranweisungen, mit denen es programmiert sein kann, für dynamische Operationen betreibt und/oder die es möglicherweise zur dynamischen Verarbeitung am System 110 empfängt.
  • Ein beispielhafter Datenkommunikations-Plug 128 ist ein USB-Plug zum Anschluss an einen USB-Anschluss des Host-Gerätes 150.
  • In einigen Ausführungsformen ist das tragbare System 110 zur Drahtloskommunikation mit dem Host-Gerät 150 und/oder einem System 132 extern zum tragbaren System 110, wie beispielsweise einem fernen Netzwerk oder einer solchen Datenbank, konfiguriert. Ein drahtloses Eingabe- oder Eingabe-/Ausgabe (I/O) Gerät, zum Beispiel ein Transceiver, oder einfach ein Transmitter wird durch die Bezugszahl 130 in 1 gekennzeichnet. Drahtloskommunikationen mit dem Host-Gerät 150 und dem externen System 132 werden jeweils durch die Bezugszahlen 131, 133 gekennzeichnet.
  • Das Drahtlosgerät 130 kann mit einem beliebigen einer großen Reihe verschiedener Netzwerke unter anderem Zellularkommunikationsnetzwerken, Satellitennetzwerken und lokalen Netzwerken, zum Beispiel straßenseitige Infrastruktur oder andere lokale Drahtlos-Transceiver, Signalleuchten oder Hotspots kommunizieren. Das Drahtlosgerät 130 kann ferner mit Near-Field-Communication- (NFC) Geräten zum Unterstützen von Funktionen, wie mobiler Zahlungsverarbeitung oder Kommunikations-Setup/Handover-Funktionen, oder jeglichen anderen Einsatzszenarien kommunizieren, die durch NFC ermöglicht werden. Das Drahtlosgerät 130 kann beispielsweise ein Funkmodem zur Kommunikation mit Zellularkommunikationsnetzwerken aufweisen.
  • Demgemäß kann das ferne System 132 in verschiedenen Ausführungsformen ein beliebiges von Zellularkommunikationsnetzwerken, straßenseitiger Infrastruktur oder anderen lokalen Netzwerken zum Erreichen von Zielorten, wie das Internet und ferne Server, aufweisen. Der ferne Server kann Bestandteil eines Kundendienst-Centers oder eines solchen Systems, wie beispielsweise das OnStar®-System, sein oder dadurch betrieben werden (ONSTAR ist eine eingetragene Handelsmarke von Onstar LLC of Detroit, Michigan).
  • Nachstehend werden weitere Merkmale und Funktionen des tragbaren Systems 110 im Zusammenhang mit dem Algorithmus von 2 beschrieben.
  • Das Host-Gerät 150 ist in einigen Ausführungsformen Bestandteil eines größeren Systems 151, wie beispielsweise eines Automobils.
  • Wie dies dargestellt ist, beinhaltet das Host-Gerät 150 ein Hardware-Speichergerät 152. Das Hardware-Speichergerät 152 kann mit anderen Begriffen, wie beispielsweise Speicher oder computerlesbares Medium, bezeichnet werden und kann beispielsweise ein flüchtiges Medium, nichtflüchtiges Medium, entnehmbares Medium und nichtentnehmabres Medium beinhalten. Der Begriff Hardware-Speichergerät und seine Varianten beziehen sich in der in der Spezifikation und den Ansprüchen verwendeten Form auf materielle oder nichttemporäre, computerlesbare Speichergeräte. Die Komponente wird hierin vorwiegend als Hardware-Speichergerät 152 oder einfach kurz als Speichergerät 152 bezeichnet.
  • In einigen Ausführungsformen beinhaltet das Speichergerät flüchtige und/oder nichtflüchtige, entnehmbare und/oder nichtentnehmbare Medien, wie beispielsweise Arbeitsspeicher (RAM), Nur-Lese-Speicher (ROM), elektrisch löschbare Nur-Lese-Speicher (EEPROM), Solid-Speicher oder andere Speichertechnologie, CD ROM, DVD, BLU-RAY oder andere optische Plattenspeicher, Magnetband, Magnetplattenspeicher oder andere magnetische Speichergeräte.
  • Das Host-Gerät 150 beinhaltet ferner einen eingebetteten Computerprozessor 154, der mit dem Speichergerät 152 mittels einer Datenübertragungsverbindung 156, wie beispielsweise einem Computerbus, verbunden oder verbindbar ist.
  • Der Prozessor 154 kann auch durch andere Begriffe, wie beispielsweise Verarbeitungs-Hardwareeinheit, Verarbeitungs-Hardwaregerät, Verarbeitungs-Hardwaresystem, Verarbeitungseinheit, Verarbeitungsgerät o. ä., bezeichnet werden.
  • Der Prozessor 154 kann aus mehreren Prozessoren gebildet sein oder diese beinhalten, die verteilte Prozessoren oder Parallelprozessoren in einer einzelnen Maschine oder mehreren Maschinen beinhalten können. Der Prozessor 154 kann eine Multicore-Einheit sein oder diese beinhalten, wie beispielsweise eine Multicore-Digital Signalprozessor (DSP) Einheit oder eine Multicore-Grafigverarbeitungseinheit (GPU).
  • Der Prozessor 154 kann zur Unterstützung einer virtuellen Verarbeitungsumgebung verwendet werden. Der Prozessor 154 könnte eine Zustandsmaschine, eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierbare Gate-Anordnung (PGA) beinhaltend ein Field PGA (FPGA), DSP, GPU oder eine Zustandsmaschine beinhalten. Verweise hierin einen auf einen Prozessor, die einen Code oder Anweisungen zum Durchführen von Operationen, Maßnahmen, Aufgaben, Funktionen, Schritten, oder Ähnlichem ausführen, können den Prozessor 154 beinhalten, der die Operationen direkt und/oder dadurch durchführt, dass er einem anderen Gerät oder einer anderen Komponente das Durchführen der Operationen ermöglicht, diese dazu anweist und/oder mit im ihr/ihr dafür kooperiert.
  • Das Hardware-Speichergerät 152 beinhaltet computerausführbare Anweisungen oder einen solchen Code 158. Das Hardware-Speichergerät 152 speichert in verschiedenen Ausführungsformen wenigstens einige der empfangenen und/oder erzeugten und in der Verarbeitung zu verwendenden Daten in einer dateibasierten Anordnung entsprechend dem darin gespeicherten Code. Wird beispielsweise ein FPGA verwendet, kann das Hardware-Speichergerät 112 Konfigurationsdateien aufweisen, die zur Verarbeitung durch die FPGA konfiguriert sind.
  • Das Speichergerät 152 beinhaltet computerausführbare Anweisungen oder einen solchen Code 158. Der computerausführbare Code 158 ist vom Prozessor 154 so ausführbar, dass der Prozessor und demzufolge das Host-Gerät 150 dazu veranlasst wird, jegliche Kombination der hierin in Bezug auf das tragbare System 150 beschriebenen Funktion durchzuführen.
  • Das Host-Gerät 150 beinhaltet sonstige Code- oder Datenstrukturen wie beispielsweise ein Dateiteilsystem 160, einen Framework zu einer dynamischen Programmiersprachenanwendung 162, wie beispielsweise JavaScript, Java oder eine C/C++-Programmiersprache.
  • Das Dateiteilsystem 160 kann einen Zwischenspeicher der ersten Ebene und einen Zwischenspeicher der zweiten Ebene aufweisen. Das Dateiteilsystem 160 kann zum Speichern von Medien, wie beispielsweise Video- und Bilddateien, verwendet werden, bevor der Prozessor 154 die Datei(en) veröffentlicht.
  • Der Anwendungs-Framework der dynamischen Programmiersprache (zum Beispiel JavaScript, Java oder eine C/C++-Programmiersprache) 162 kann Bestandteil des Zwischenspeichers der zweiten Ebene sein. Die dynamische Programmiersprache wird zum Bearbeiten der vom tragbaren System 110 empfangenen Bilddaten verwendet. Der Programmiersprachencode kann die Einstellungen für die Datenübertragungen zwischen dem tragbaren System 110 und dem Host-Gerät 150, wie beispielsweise Parameter von einer oder mehreren APIs, festlegen.
  • Das Host-Gerät 150 beinhaltet oder steht in Kommunikation mit einer oder mehreren Schnittstellenkomponenten 172, wie beispielsweise einer HMI-Komponente. Für Implementierungen bei denen die Komponenten 172 die Benutzereingabe in den Prozessor 154 und die Ausgabe vom Prozessor 154 an den Nutzer ermöglichen, können die Komponenten als Eingabe-/Ausgabe- (I/O) Komponenten bezeichnet werden.
  • Für die Ausgabe können die Schnittstellenkomponenten 172 einen Anzeigebildschirm 174, der einfach als Anzeige oder Bildschirm bezeichnet werden kann, sowie eine Audioausgabe, wie ein Lautsprecher, beinhalten. In einer vorgesehenen Ausführungsform können die Schnittstellenkomponenten 172 Komponenten zum Bereitstellen von taktilen Ausgaben, wie beispielsweise eine von einem Nutzer (z. B. einen Fahrzeugfahrer) zu spürende Vibration, beispielsweise mittels eines Lenkrades oder Fahrzeugsitzes, beinhalten.
  • Die Schnittstellenkomponenten 172 sind auf eine Reihe verschiedener Arten konfiguriert, um Nutzereingaben zu empfangen. Die Schnittstellenkomponenten 172 können zur Eingabe in das Host-Gerät 150 beispielsweise eine mechanische oder elektromechanische Sensorvorrichtung wie beispielsweise einen berührungssensitiven Display, der durch die Bezugszahl 174 gekennzeichnet ist und/oder eine Audiovorrichtung 176, wie beispielsweise einen Audiosensor, zum Beispiel ein Mikrophon, beinhalten. Bei verschiedenen Implementierungen beinhalten die Schnittstellenkomponenten 172 wenigstens einen Sensor. Der Sensor ist so konfiguriert, dass er Nutzereingaben erkennt, die beispielsweise durch Berührung, hörbar und/oder durch berührungslose Bewegung durch den Nutzer, beispielsweise durch Gesten bereitgestellt werden.
  • Eine Schnittstellenkomponente eines Touchsensors kann einen mechanischen Sensor zum Übersetzen von mechanischer Bewegung eines sich bewegenden Teils, wie einer mechanischen Taste, in ein elektrisches oder digitales Signal beinhalten. Der Touchsensor kann ferner ein berührungsempfindliches Pad oder einen solchen Bildschirm, wie einen Oberflächenkapazitätssensor, beinhalten. Zum Erkennen von Gesten kann eine Schnittstellenkomponente 172 beispielsweise einen Sensor mit projizierter Kapazität, ein Infrarotlaser-Teilsystem, ein Radarteilsystem oder ein Kamerateilsystem verwenden.
  • Die Schnittstellenkomponente 172 kann zum Beeinflussen von Funktionen und Einstellungen oder Parametern von einem oder beiden des tragbaren Systems 110 und des Host-Gerätes 150 ausgehend von der Benutzereingabe verwendet werden. Signale oder Mitteilungen, die den durch die Schnittstellenkomponente 172 empfangenen Eingaben entsprechen, werden an den Prozessor 154 geleitet, der den Code (z. B. Code 152) des Speichergeräts 150 ausführt oder eine Funktion für das tragbare System 110 einstellt oder ändert oder eine Kommunikation für das tragbare System 110, wie beispielsweise eine Anweisung oder eine Mitteilung, erzeugt und die Kommunikation an das tragbare System zum Einstellen oder Ändern der Funktion des tragbaren Systems sendet 110.
  • Das Host-Gerät 150 ist in einigen Ausführungsformen so konfiguriert, dass es durch die besagte verdrahtete Verbindung 129 mit dem tragbaren System 110 verbunden ist. In einer bestimmten Ausführungsform ist das Host-Gerät 150 mit einem Datenkommunikationsanschluss 168 konfiguriert oder mit ihm verbunden, der mit dem Datenkommunikations-Plug 128 des tragbaren Systems 110 übereinstimmt, um mittels der verdrahteten Verbindung zu kommunizieren 129. Eine exemplarische Plug/Port-Anordnung ist der besagten USB-Anordnung bereitgestellt.
  • Gemäß Beschreibung ist die Verbindung in einigen anderen Ausführungsformen mit Verbindungen ausgerichtet an höheren Durchsatzleistungen, wie beispielsweise über die Verwendung eines n HDMI- Anschlusses oder eines VGA-Anschlusses, konfiguriert.
  • In einigen Ausführungsformen ist das Host-Gerät 150 für Drahtloskommunikationen 131 mit dem tragbaren System 110 konfiguriert. Ein drahtloses Eingabe-/Ausgabe (I/O) Gerät, zum Beispiel ein Transceiver, wird durch die Bezugszahl 170 in 1 gekennzeichnet. Der Prozessor 154, der den Code des Speichergeräts 152 ausführt, kann auf drahtlosem Weg Informationen, wie Mitteilungen oder paketierte Daten, von und an das tragbare System 110 und das ferne System 132 über das drahtlose Eingabe-/Ausgabe (I/O) Gerät 170 senden, wie dies jeweils durch die Bezugszahlen 131, 171 angegeben ist.
  • Nachstehend werden weitere Merkmale und Funktionen des Host-Gerätes 150 vorrangig im Zusammenhang mit dem Algorithmus von 3 beschrieben.
  • Figuren 2-5 - Algorithmen und Funktionen
  • Nachstehend werden die Algorithmen, mit denen die vorliegende Technologie implementiert wird, ausführlicher beschrieben. Die Algorithmen werden mittels Ablaufplänen als Verfahren 200, 300 in den 2 und 3 dargestellt.
  • 2 veranschaulicht Operationen eines am tragbaren System 110 von 1 programmierten Algorithmus. 3 veranschaulicht Operationen eines am Host-Gerät 150 von 1 programmierten Algorithmus. 4 zeigt auf schematische Weise eine kreisförmige Bildspeicheranordnung 400 zwischen den jeweiligen Dateiteilsystemen 120, 160 des tragbaren Systems 110 und des Host-Gerätes 150. Und 5 zeigt eine alternative Ansicht derselben Anordnung wie die von 4 auf eine Weise, die eine kreisförmige Beschaffenheit der Anordnung unterstreicht.
  • Es ist zu beachten, dass Operationen der Verfahren 200, 300 nicht notwendigerweise in einer bestimmten Reihenfolge dargestellt werden müssen und dass die Leistung einiger oder aller der Operationen auch in einer anderen Reihenfolge möglich und vorgesehen ist.
  • Die Operationen wurden im Sinne einer einfacheren Beschreibung und Veranschaulichung in der dargestellten Reihenfolge erläutert. Es können Operationen hinzugefügt, weggelassen und/oder gleichzeitig durchgeführt werden, ohne dass dabei vom Schutzumfang der angehängten Ansprüche abgewichen wird.
  • Es ist ferner zu beachten, dass die veranschaulichten Algorithmen 200, 300 jederzeit beendet werden können. In bestimmten Ausführungsformen werden einige oder alle Operationen dieses Prozesses und/oder im Wesentlichen äquivalente Operationen durch die Ausführung durch die hierin bereitgestellten Prozessoren 114, 154 des computerausführbaren Codes der Speichergeräte 112, 152 durchgeführt.
  • Operationen des tragbaren Systems - Figuren 2 und 4
  • Der Algorithmus 200 von 2 wird voranging aus der Perspektive des tragbaren Systems 110 von 1 beschrieben.
  • Der Algorithmus 200 beginnt 201 und der Ablauf führt geht zur ersten Operation 202 über, in der das tragbare System 110 d. h. der Prozessor 114 davon, der den in dem Systemspeicher gespeicherten Code ausführt 112, in Kommunikation mit dem Host-Gerät platziert 150 wird. Das Verbinden mit dem Host-Gerät 150 kann das Verbinden über Drahtverbindung 129 (z. B. Plug/Port und Drähte) oder drahtlos 131, wie dies vorstehend im Zusammenhang mit der Anordnung 100 von 1 beschrieben wurde, beinhalten. Exemplarische Host-Geräte 150 beinhalten eine Head-Unit oder einen an Bord integrierten Computer eines Transportfahrzeuges, wie beispielsweise eines Automobils.
  • Das tragbare System 110 ist in einigen Ausführungsformen zum Verbinden mit dem Host-Gerät 150 mittels Drahtverbindung konfiguriert, gekennzeichnet unter Bezugszahl 129 in 1 und auch unter Bezugszahl 203 in 2. Die entsprechende Aktivität des Host-Gerätes 150 für diese Interaktionen 202 wird nachstehend weiter im Zusammenhang mit 3 und insbesondere Block 302 von 3 beschrieben.
  • 4 zeigt Aspekte der jeweiligen Dateiteilsysteme 120, 160 des tragbaren Systems 110 und des Host-Gerätes 150.
  • Das tragbare System 110 ist in dieser bestimmten Ausführungsform als Dongle, wie beispielsweise durch Aufweisen eines Datenkommunikations-Plug 128 z. B. einen USB-Plug, zum Verbinden mit einem passenden Anschluss 168 des Host-Gerätes 150 konfiguriert. Für Datenübertragungen zwischen dem tragbaren System 110 und dem Host-Gerät 150 kann jeder in seinem jeweiligen Speichersystem 112, 512 ein Protokoll beinhalten, das mit dem Verbindungstyp betrieben werden kann. So kann mit dem Beispiel des USB-Plug/Port das Protokoll ein USB-Mass-Storage-Device-Class (MSC)-Protokoll zur Datenbearbeitung sein. Andere, weiter entwickelte USB- oder sonstige Protokolle, unter anderem Media Transfer Protocol (MTP) können ebenfalls unterstützt werden.
  • Das tragbare System 110 ist in einigen Ausführungsformen zur Verbindung mit dem Host-Gerät 150 mittels Drahtlosverbindung, gekennzeichnet durch Bezugszahl 131 in 1 und ebenfalls durch Bezugszahl 203 in 2 konfiguriert.
  • Das tragbare System 110, das über eine Datenübertragung mit dem Host-Gerät150 verbunden ist, führt einen Handshake-Prozess mit dem Host-Gerät 150 durch, der ebenfalls als durch Bezugszahl 203 in 2 gekennzeichnet erachtet werden kann.
  • Operation 202 richtet einen Kanal ein, über den Daten und Kommunikationen, wie beispielsweise Mitteilungen oder Anweisungen zwischen einem tragbaren System 110 und dem Host-Gerät, gemeinsam genutzt werden können 150.
  • Für Ausführungsformen, bei denen beide Geräte eine dynamische Programmiersprache, wie beispielsweise JavaScript verwenden, kann die Operation 202 eine Handshake-Routine zwischen dem tragbaren System 110 und dem Host-Gerät 150 unter Verwendung der dynamischen Programmiersprache beinhalten.
  • Der Ablauf geht weiter in Block 204 über, wo der Prozessor 114 z. B. über die Drahtloskommunikationskomponente 130 eine Quellmediendatei wie beispielsweise Streamingvideo von einer Quelle, wie beispielsweise einer fernen Videoquelle, empfängt. Die ferne Quelle kann einen Server eines Service-Centers oder eines solchen Systems, wie beispielsweise einen Server des OnStar®-Systems, beinhalten.
  • Unter Bezugsnahme auf 4 wird der Dateninhalt von einer Quelle, wie einem Bildspeicher 411, empfangen.
  • In verschiedenen Ausführungsformen wird die Quellmediendatei als eine virtuelle Datei, wie beispielsweise in Form eines Links oder eines mit einem Speicherort verknüpften Zeigers bezeichnet, der bestimmte entsprechende Mediendateien oder ein bestimmtes Teilsystem der Mediendateien enthält.
  • Obgleich die Technologie zur Übertragung und Anzeige-Wiedergabe in Echtzeit, zum Beispiel zur Wiedergabe der Anzeige oder zu Anzeigezwecken für verschiedene Typen von Mediendateien, unter anderem jene mit oder ohne Video und mit oder ohne Audio verwendet werden kann, handelt es sich bei dem hierin vorrangig beschriebenen Typ von Datei vorrangig um eine Videodatei, die eine graphische Ausgabe darstellt, oder Daten zum Ausgeben als eine entsprechende graphische Anzeige auf einem Anzeigebildschirm, die in verschiedenen Ausführungsformen Audio beinhaltet und auch nicht. Bezugnahmen in der vorliegenden Offenbarung auf Streamingvideo, Videodateien oder Ähnliches sollten für verschiedene Ausführungsformen auch als im Sinne des Verweises auf ähnliche Ausführungsformen verstanden werden, die jedwede verschiedene möglichen Mediendateitypen beinhalten.
  • Die Operation kann Empfangen der Medien, zum Beispiel der Datei, im Ganzen oder Empfangen separater Abschnitte gleichzeitig oder im Lauf der Zeit beinhalten.
  • In einer Ausführungsform ist vorgesehen, dass die Videodatei von einer lokalen Quelle, wie beispielsweise einem virtuellen Videolink, der mit dem Bildspeicher verbunden oder zum System, zum Beispiel dem Systemspeicher, zugehörig ist, mit dem Anzeigebildschirm verbunden ist. In Ausführungsformen handelt es sich bei einer primären, wenn nicht der einzigen Videoquelle, um den Bildspeicher.
  • Die lokale Quelle kann beispielsweise ein Smartphone oder ein anderes mobiles Gerät beinhalten, das entweder die Videodatei von einer fernen Quelle empfängt und sie an das tragbare System 110 weiterleitet, oder das Video an der lokalen Quelle gespeichert hat. Die Übertragung von der lokalen Quelle an ein solches tragbares System 110 kann verdrahtet oder drahtlos erfolgen.
  • In verschiedenen Ausführungsformen hat der Videostream eine Reihe verschiedener Formate, wie beispielsweise mpeg, .wmv, der .avi.
  • Der Ablauf kehrt zurück zu Block 206 in dem der Prozessor 114 den Quellenvideostream oder andere visuelle Mediendatei(en) in eine Vielzahl von indexierten Bildkomponenten, beispielsweise aufeinanderfolgend geordnete Bildkomponenten unterteilt. In verschiedenen Ausführungsformen können die Bildkomponenten eine Reihe verschiedener Formate, wie beispielsweise .jpeg, aufweisen.
  • Obgleich die Bildkomponenten für verschiedene Implementierungen die gleiche Größe aufweisen, haben in anderen Implementierungen nicht alle Bildkomponenten die gleiche Größe.
  • Wie dies erwähnt wurde, besitzt das tragbare System 110 bei einigen Ausführungsformen in dem Hardware-Speichergerät 112 einen Code einer dynamischen Programmiersprache 125, wie beispielsweise JavaScript, Java oder einer C/C++ -Programmiersprache. Die Sprache kann in Operationen des Systems 110 unter anderem Operationen der Bildverarbeitung, wie beispielsweise der vorliegenden Funktion des Unterteilens des Videostreams, beispielsweise der Videodatei, in aufeinanderfolgende Bildkomponenten verwendet werden.
  • Die Bildkomponenten können zusammen als ein Dateninhaltspaket bezeichnet werden.
  • Die Anzahl (N) von Bildkomponenten kann eine beliebige aus einem breiten Bereich sein. Lediglich im Sinne eines Beispiels kann die Anzahl (N) im Bereich von 2500 bis ungefähr 3500 liegen. In vorgesehenen Ausführungsformen ist die Anzahl (N) weniger als 2500 oder mehr als 3500.
  • In verschiedenen Ausführungsformen speichert in Block 208 der Prozessor 114 das Dateninhaltspaket 412 (4, 5) auf einen Abschnitt des Speichers 112 in dem tragbaren System 110, wie beispielsweise auf einem kreisförmigen Zwischenspeicher, der in 5 durch Bezugszahl 412 gekennzeichnet ist. In diesem Fall kann der Bildspeicher 122 eher als lokale Inhaltsquelle als ein Zielort agieren.
  • Es wird erneut Bezug auf 4 genommen, worin der Dateninhalt durch Bezugszahl 412 gekennzeichnet wird, und die Bestandteil bildenden Bildkomponenten mit den Bezugszahlen 4131-413N bezeichnet werden. Das Paket 412 wird in einem Zwischenspeicher der ersten Ebene des tragbaren Systems gespeichert 110. 5 zeigt dieselbe Anordnung, wie die von 4, in einem anderen Format, das die Aspekte der kreisförmigen Datei der Anordnung hervorhebt.
  • In einer vorgesehenen Ausführungsform speichert der Prozessor 114 in Block 208 das Dateninhaltspaket 412 (4, 5) in den Bildspeicher (Framebuffer) oder die Bildspeichererfassungskomponente, die in 1 durch Bezugszahl 122 gekennzeichnet wird. In diesem alternativen Fall handelt der Bildspeicher 122 eher als ein Zwischenspeicher oder lokaler Zielort, bevor die Daten weiter verarbeitet und an das Host-Gerät übertragen werden.
  • In Block 210 erzeugt der Prozessor 114 ein Metaindexpaket 414 (4 und 5) aufweisend eine Vielzahl von Metaindexkomponenten 4151-415N . Jede Metaindexkomponente 415 entspricht einer jeweiligen von Bildkomponenten 413. Jede Metaindexkomponente 415 ist so konfiguriert, dass sie auf seine entsprechende Bildkomponente verweist oder zeigt 413. Die erste Metaindexkomponente 4151 zeigt auf oder verweist auf die erste Bildkomponente 4131 , die zweite Metaindexkomponente 4152 zeigt auf die zweite Bildkomponente 4132 und so weiter. Die Metaindexkomponenten 415 entsprechen demzufolge der Anzahl (N) der Bildkomponenten 413.
  • Die Metaindexkomponenten 415 können die gleichen oder ähnliche Strukturen derer von Verzeichniseinträgen, wie denen einer Dateizuordnungstabelle (FAT), sein.
  • In Block 212 speichert der Prozessor 114 den Metaindex 414 in dem tragbaren System 110. Der Metaindex 414 wird ferner in dem Zwischenspeicher der ersten Ebene des tragbaren Systems 110 gespeichert.
  • Wie erwähnt können Operationen des Verfahrens 200 auf jede beliebige Reihenfolge durchgeführt, und Operationen können in einem einzelnen Schritt zusammengefasst oder in mehrere Schritte unterteilt werden. Hinsichtlich der erzeugenden Operationen 206, 210 und der speichernden Operationen 208, 212 können beispielsweise die erzeugenden Operationen und/oder die speichernden Operationen in jeweils einzelnen Schritten durchgeführt werden. Das tragbare System 110 kann das Dateninhaltspaket 412 und das Metaindexpaket 414 in das Hardware-Speichergerät 112 beispielsweise in einer einzelnen Operation speichern. Und die Pakete 412, 414 können Bestandteil desselben Paketes, Streams oder derselben Datei sein, die separat in dem Host-Gerät 150 gespeichert oder an dieses übertragen werden.
  • In einigen Ausführungsformen beinhalten die Operationen eine oder mehrere Echtzeitanpassungsfunktionen, die durch die Bezugszahl 213 in den 2 und 307 in 3 angezeigt werden. In der Operation in Block 213 passt der Prozessor, 114 der den Systemcode ausführt, eine Verknüpfungsbeziehung zwischen dem Dateninhaltspaket und dem Metaindexpaket an oder bearbeitet diese in Echtzeit am Host-System. Das Host-Gerät 150 kann eine ähnliche Echtzeitanpassung in Block 307 zusätzlich zu oder anstelle von einer solchen Anpassung am tragbaren System 110 in Block 213 durchführen.
  • Als Beispiel dafür, was die Anpassungsfunktion beinhalten kann, kann die Anpassung einen bestimmten Bildinhalt verändern, der zu einem bestimmten Metaindex gehört. Um zu bestimmen, wie die Verknüpfung angepasst werden muss, kann der Prozessor 114 als Eingaben seinen lokalen Takt und die lokale Kopie der physischen Adresse des Videostreams verwenden. Durch diese Vorgehensweise wird statischer Inhalt, der beispielsweise durch ein USB-Massenspeicherprotokoll dargestellt wird, dynamisch, und es wird ein Echtzeit-Videostreamen über das USB-Massenspeicherprotokoll realisiert. Zu den Vorteilen dieser Bearbeitung gehören die Wiedergabe von dynamischer Bildschirmausgabe ohne dass ausgefeilte Klassen von USB-Geräten erforderlich sind. Dementsprechend kann der Prozess auf eine viel größere Bandbreite an Geräten mit grundlegenden USB-Massenspeicherkapazitäten angewendet werden.
  • In Block 214 sendet der Prozessor 114 das Dateninhaltspaket 412 und das entsprechende Metaindexpaket 414 an das Host-Gerät 150. Die Übertragung wird durch die Bezugszahl 215 in 2 gekennzeichnet. Nachstehend wird die entsprechende Aktivität des Host-Gerätes im Zusammenhang mit 3 und insbesondere in Block 304 dort beschrieben.
  • Das Dateninhaltspaket 412 und das entsprechende Metaindexpaket 414 können im Zuge einer einzelnen Kommunikation oder Datenübertragung oder im Zuge von mehr als einer Kommunikation oder Datenübertragung gesendet werden. Der Mechanismus wird hierin mitunter als Paket, Stream, Datei oder Ähnliches bezeichnet, obgleich er mehr als ein Paket oder Ähnliches beinhalten kann.
  • In einer Ausführungsform wird jedes Paar aus Bildkomponente und Metaindexkomponente durch den Prozessor 114 einzeln in separaten Übertragungen an das Host-Gerät 150 anstelle von Paketen 412, 414 mit Paaren aus anderen Bildkomponenten und Metaindexkomponenten gesendet. Diese Ausführungsform kann im Sinne eines Beispiels als eine Anordnung oder ein Verwalten mit einzelner Bilddatei bezeichnet werden.
  • In einer vorgesehenen Ausführungsform ist das tragbare System 110 so konfiguriert, dass es in Echtzeit bestimmt, welche kreisförmige Dateianordnung und Einzeldateianordnung verwendet werden soll. Diese Art von Bestimmung kann mittels einer Reihe verschiedener Begriffe, wie beispielsweise dynamisch, Echtzeit oder adaptiv, beispielsweise dynamische Auswahl von zwischenspeichernden Algorithmen oder Verfahren, bezeichnet werden. Variablen zur Bestimmung können beispielsweise eine oder mehrere Eigenschaften der Medien, beispielsweise Video, das zur Verarbeitung (z. B. Unterteilen, Speichern und Senden) empfangen werden, beinhalten. Die Variable kann auch eine Identifikation einer relevanten Anwendung, die auf dem Host-Gerät 150 läuft, um das resultierende Video zu veröffentlichen, eine Kategorie, zu der die Anwendung gehört, ein Typ von Anwendung oder Ähnliches beinhalten.
  • Diese Anordnungen (einschließlich der Anordnung mit kreisförmigen Dateien und Einzeldateien), die die Übertragung von einer oder mehreren Komponenten an Dateninhalt zu einer Zeit und einer oder mehreren entsprechenden Komponenten an Metaindex beinhalten, können als mehrstufige Anordnung bezeichnet werden, wobei die Merkmale des Metaindexes eine erste Stufe darstellt, die einer zweiten Stufe von Bilddatenmerkmalen entspricht.
  • Das/die Paket(e) ist/sind konfiguriert und werden zum sequenziellen Veröffentlichen der Bildkomponenten in Übereinstimmung mit einer Reihenfolge des Metaindexpakets an das Host-Gerät 150 gesendet. Das Host-Gerät 150 veröffentlicht die Bildkomponenten zur Anzeigewiedergabe von Streamingvideo entsprechend dem ursprünglichen Quellenvideostream über das Host-Gerät 150 und einem Anzeigegerät 174.
  • Durch diese Anordnung aus Senden eines Metaindex 414 aus Metaindexkomponenten 415 entsprechend einer Reihenfolge von Bildkomponenten 413 eines Dateninhaltspakets 412 zur sequenziellen Anzeigewiedergabe der Bildkomponenten 413 gemäß den Indexkomponenten 415 wird ein effizienter und effektiver Typ von Synchronisierung bereitgestellt, der keine synchronisierten Takte erfordert.
  • Die Verarbeitung oder das Lesen einer jeden Bildkomponente wird durch das Lesen der ersten der entsprechenden Metaindexkomponente ausgelöst. Jede nächste Indexkomponente (z. B. 4152 ) wird nach der Verarbeitung einer vorherigen Bildkomponente (z. B.4131) gelesen und zeigt auf den Prozessor 154 zum Lesen seiner entsprechenden Bildkomponente (z. B. 4132 ). Die Synchronisierung kann als ereignisbasierte Synchronisierung bezeichnet werden, bei der keine der Bildkomponenten außer der Reihe bearbeitet werden. Die ereignisbasierte Synchronisierung beseitigt das Erfordernis nach kostenintensiven Takt- oder Zeitsynchronisationskomponenten.
  • Die Synchronisierung kann auch als verteilte Gerätesynchronisierung bezeichnet werden, da sie Funktionen von beiden Geräten, die zusammenarbeiten, beinhaltet: das Erzeugen und Senden der Index-/Datenpakete gemäß der vorliegenden Technologie am tragbaren System 110, und das Empfangen und die geordnete Anzeige Wiedergabe der Pakete am Host-Gerät 150.
  • Der Prozess 200 oder Abschnitte davon kann beispielsweise im Zusammenhang mit einem neuen Stream oder einer Datei, die zu einem neuen Video gehört oder mit nachfolgenden Abschnitten desselben Videos wiederholt werden, die zum Erzeugen der ersten Bildkomponenten und der Metaindexkomponenten verwendet werden. Die sich anschließenden Operationen würden das Vorbereiten eines zweiten Dateninhaltspakets und des entsprechenden Metaindexpakets auf die für die ersten Pakete vorstehend beschriebene Art und Weise beinhalten.
  • Wie dies gekennzeichnet ist, können das tragbare System 110 und das Host-Gerät 150 ferner zur gleichzeitigen bidirektionalen Datenübertragung konfiguriert sein. Die Zwei-Wege-Datenübertragungen können in einigen Implementierungen gleichzeitig durchgeführt werden. Gemäß Beschreibung ist bei verschiedenen Ausführungsformen die Konfiguration so angeordnet, dass sie die Datenübertragungen gemäß TDMA-Kanalzugriffsverfahren ermöglicht.
  • Jedes des tragbaren Systems 110 und des Host-Gerätes 150 kann auch für Multiplexing, inverses Multiplexing und Ähnliches konfiguriert sein, um die effiziente und effektive Übertragung und Echtzeitanzeige von Daten einer verhältnismäßig hohen Durchsatzleistung zwischen ihnen zu ermöglichen.
  • Die Übertragung 215 von vorherigen Operationen 214 kann so verstanden werden, dass sie über einen ersten, beziehungsweise Vorwärtskanal, der bidirektionalen Anordnung durchgeführt wird, über den Daten vom tragbaren System 110 und das Host-Gerät gesendet werden 150.
  • In Operation 216 erzeugt, identifiziert (z. B. ruft ab), empfängt das tragbare System 110 oder bezieht auf andere Weise Anweisungen oder Mitteilungen, wie beispielsweise Befehle oder Anforderungen zum Ändern einer Einstellung oder einer Funktion. Für Anweisungen zum Anpassen einer Einstellung oder einer Funktion des tragbaren Systems 110 führt der Prozessor 114 die Anweisung aus. Für Anweisungen zum Anpassen einer Einstellung oder einer Funktion des Host-Gerätes 150 sendet der Prozessor 114 die Anweisung oder Mitteilung an das Host-Gerät 150. Die Operation ist in 2 durch die Bezugszahl 216 gekennzeichnet, wobei der Datenübertragungskanal und die Datenübertragung durch 217 gekennzeichnet sind.
  • In Ausführungsformen erfasst das Verarbeitungs-Hardwaregerät 154 des Host-Gerätes 150, das beispielsweise die dynamische Programmiersprache ausführt 164, ferner auch Nutzereingaben, beispielsweise Berührungen, Gesten und Sprache, die über eine Machine-User-Schnittstelle 172, empfangen werden, übersetzt diese in Datenstreams, beispielsweise Byte-Streams, und sendet diese beispielsweise über die Verbindung 129 oder 131 an das tragbare System 110.
  • In verschiedenen Ausführungsformen empfängt der Prozessor 114 beispielsweise über die Drahtlosdatenübertragungskomponente 130 eine Kommunikation, wie beispielsweise eine Anweisung oder eine Mitteilung, vom Host-Gerät 150. Die Operation ist in 2 auch durch Bezugszahl 216 gekennzeichnet, wobei der Datenübertragungskanal und die Kommunikation durch 217 gekennzeichnet sind. Die Übertragung 217 ist ein Beispiel für eine Datenübertragung über einen zweiten, beziehungsweise Rückwärtskanal, der bidirektionalen Anordnung. Auf dem Rückwärtskanal durchgeführte Datenübertragungen können durch eine Nutzereingabe in das tragbare System 110 initiiert werden, was jedoch nicht in jeder Implementierung der Fall sein muss.
  • Datenübertragungen 217 vom Host-Gerät 150 können eine Reihe verschiedener Formen annehmen, wie beispielsweise als Konfiguration ausgebildet sein, bei der eine Funktion, ein Parameter oder eine Einstellung des tragbaren Systems 110 angezeigt wird. Die Datenübertragung 217 kann eine Weise anzeigen, mit der die Funktion, der Parameter oder die Einstellung am tragbaren System 110 eingerichtet wird oder mit der eine solch vorher eingerichtete am tragbaren System 110 geändert wird.
  • In verschiedenen Ausführungsformen kann das tragbare System 110 beispielsweise durch Einstellungen oder Nutzerpräferenzen personalisiert werden. Diese können am tragbaren System 110 durch jedwede einer Reihe verschiedener Verfahren, unter anderem durch das Host-Gerät 150, einen Personalcomputer (nicht dargestellt), ein Mobiltelefon oder Ähnliches programmiert werden. In einigen Ausführungsformen werden standardmäßige Einstellungen oder Präferenzen bereitgestellt, ehe irgendeine Personalisierung durchgeführt wird. Die Einstellungen oder Präferenzen zur Personalisierung können jedwede der hierin beschriebenen, wie beispielsweise eine Art und Weise beinhalten, mit der eingehendes Video verarbeitet wird, beispielsweise eine Größe von Bildschnipseln gleicher Größe, eine Geschwindigkeit oder Qualität zum Lesen oder Schreiben, die andere Prozesse beeinflussen kann (beispielsweise zur Verfügung stellen von Bandbreite für einen VOIP-Anruf) oder Video-View-Erfahrung, wie beispielsweise Wiedergabequalitäten am Host-Gerät 150.
  • Obgleich die Einstellung andere Formen annehmen kann, ohne dabei vom Schutzumfang der vorliegenden Technologie abzuweichen, wird in einer Ausführungsform die Einstellung aus einer Gruppe bestehend aus einer Qualität der Bildkomponenten und einer Wiedergabeeinstellung ausgewählt. Exemplarische Bildqualitätseigenschaften beinhalten einen Grad an Zoom, Helligkeit oder Kontrast.
  • Die Wiedergabeeigenschaften können ein Merkmal sein, das die Geschwindigkeit oder Richtung beeinflusst, in die die wiedergegebene Videoanzeige wiedergegeben wird bzw. ob sie überhaupt wiedergegeben wird. Die Wiedergabeeigenschaften können beispielsweise Schnellvorlauf, Rücklauf, Pause, Stopp, Wiedergabe, oder eine Geschwindigkeit einer Videowiedergabe sein. In verschiedenen Ausführungsformen beeinflusst das Wiedergabemerkmal eine Art und Weise, in der Dateninhaltspakete über das tragbare System 110 an das Host-Gerät 150 gesendet werden.
  • In Block 218 wird eine Nutzereingabe am Prozessor 114 des tragbaren Systems 110 über eine oder mehrere Nutzereingaben oder I/O-Schnittstellen 126 (1) empfangen. Wie dies erwähnt wurde, beinhaltet das tragbare System 110 in einigen Ausführungsformen wenigstens eine HMI-Komponente 126, wie beispielsweise eine Taste, einen Knopf, ein berührungsempfindliches Pad (z. B. Kapazitätspad) oder ein Mikrophon, die zum Erkennen von Nutzereingaben konfiguriert sind, die über Berührung, Ton und/oder durch eine berührungslose Bewegung, beispielsweise über eine Geste bereitgestellt werden.
  • Die Schnittstellenkomponente 126 kann zum Beeinflussen solcher Funktionen oder Einstellungen oder Parameter des einen oder der beiden tragbaren Systeme 110 und des Host-Gerätes 150 auf der Grundlage von Nutzereingaben verwendet werden.
  • Auf diese Weise kann der Prozessor 114, der den Code des Hardware-Speichergerätes 112 ausführt, wenigstens eine Anweisung oder Mitteilung erzeugen oder identifizieren. Die Anweisung kann eine Reihe verschiedener Formen annehmen, beispielsweise so konfiguriert sein, dass sie eine Funktion, einen Parameter oder eine Einstellung des tragbaren Systems 110 anzeigt oder dass sie eine Funktion, einen Parameter oder eine Einstellung des Host-Gerätes 150 anzeigt. Diese Anweisung kann ferner eine Art und Weise anzeigen, mit der eine Funktion, ein Parameter oder eine Einstellung des tragbaren Systems 110 eingerichtet wird oder eine solche vorher eingerichtete Funktion, solch ein Parameter oder solch eine Einstellung geändert wird.
  • Der Prozess 200 von 2 kann enden 219, oder ein beliebiger Abschnitt davon kann wiederholt werden.
  • Operationen des Host-Gerät-Systems - Figur 3 und 4
  • Der Algorithmus 300 von 3 wird voranging aus der Perspektive des Host-Systems oder des Host-Gerätes 150 von 1 beschrieben. Wie beschrieben, kann das Gerät 150 eine Head-Unit oder einen an Bord integrierten Computer eines Transportfahrzeuges, wie beispielsweise einem Automobil, beinhalten oder Bestandteil der Genannten sein.
  • Das Host-Gerät 150 kann über eine Draht- oder Drahtlosverbindung mit dem tragbaren System verbunden sein 110.
  • Der Algorithmus 300 starrtet 301 und der Prozessablauf begibt sich zu der ersten Operation 302 in der das Host-Gerät 150, d. h. der Prozessor 154 davon, der den im Speichergerät gespeicherten Code ausführt 152, in Kommunikation mit dem tragbaren System platziert wird 110. Das Verbinden mit dem tragbaren System 110 kann das Verbinden über eine Draht- oder Drahtlosverbindung beinhalten 129, 131, wie dargestellt.
  • Die Verbindung von Block 302 kann einen Handshake-Prozess zwischen dem Host-Gerät 150 und dem tragbaren System 110 beinhalten, der ebenfalls als durch Bezugszahl 203 in den 2 und 3gekennzeichnet erachtet werden kann. Der Prozess unter Operation 302 richtet einen Kanal ein, über den Daten und Kommunikationen, wie beispielsweise Mitteilungen oder Anweisungen, zwischen dem tragbaren System 110 und dem Host-Gerät 150 gemeinsam genutzt werden können.
  • Bei Ausführungsformen werden während dieses Handshake-Prozesses Metaindexkomponenten 415 auch auf der Grundlage von beispielsweise USB-Mass-Storage-Device-Protokollen ausgetauscht.
  • Für Ausführungsformen, bei denen beide Geräte eine dynamische Programmiersprache, wie beispielsweise JavaScript, Java oder eine C/C++-Programmiersprache verwenden, kann die Operation 302 eine Handshake-Routine zwischen dem tragbaren System 110 und dem Host-Gerät 150 unter Verwendung der dynamischen Programmiersprache beinhalten.
  • Der Prozessablauf geht über in Block 304, wo der Prozessor 154 vom tragbaren System 110 das Dateninhaltspaket 412 und das entsprechende Metaindexpaket 414, dargestellt in den 4 und 5, empfängt. Die Übertragung wird vorstehend im Zusammenhang mit der dazugehörigen Operation des tragbaren Systems 214 von 2 beschrieben und durch Bezugszahl 215 gekennzeichnet.
  • Der Empfang 304 von Kommunikationen kann entlang des Vorwärtskanals der besagten bidirektionalen Anordnung durchgeführt werden, über den Kommunikationen in beide Richtungen zwischen dem tragbaren System 110 und dem Host-Gerät 150, mitunter in einigen Implementierungen auch gleichzeitig, gesendet werden können.
  • Wie erwähnt, können das Dateninhaltspaket 412 und das entsprechende Metaindexpaket 414 im Zuge einer einzelnen Kommunikation oder Datenübertragung oder im Zuge von mehr als einer Kommunikation oder Datenübertragungen gesendet werden. Der Mechanismus wird hierin mitunter als Paket, Stream, Datei oder Ähnliches bezeichnet, obgleich er mehr als ein Paket oder Ähnliches beinhalten kann.
  • In einer weiteren vorstehend in Bezug auf 2, erwähnten Ausführungsform wird jedes Paar aus Bildkomponente und Metaindexkomponente durch den Prozessor 154 einzeln in separaten Übertragungen vom tragbaren System 110 anstelle von Paketen mit anderen Paaren aus anderen Bildkomponenten und Metaindexkomponenten empfangen. Diese Ausführungsform kann im Sinne eines Beispiels als eine Anordnung oder ein Verwalten mit einzelner Bilddatei bezeichnet werden.
  • Erneut kann diese Anordnung, die die Übertragung einer oder mehrerer Komponenten (z. B. Komponenten 413) von Dateninhalt (412) in einem zu einem Zeitpunkt und einer oder mehrerer entsprechender Komponenten (z. B. Komponenten 415) aus Metaindex (414) umfasst, als mehrstufige Anordnung bezeichnet werden, bei es sich bei den Metaindexmerkmalen um eine erste Stufe handelt, die den Bilddatenmerkmalen der zweiten Stufe entsprechen.
  • Die Übertragung kann über Draht- oder Drahtlosverbindung durchgeführt werden, die schematisch durch die Bezugszahlen 129 und 131 in 1 und durch Bezugszahl 416 in den 4 und 5 gekennzeichnet sind.
  • In Block 306 speichert der Prozessor 154 das Dateninhaltspaket 412 und das Indexpaket 414, die in einem Speicherabschnitt empfangen wurden 152, am Host-Gerät 150, wie beispielsweise in dem Speicher 152, der zum Anwendungs-Framework der dynamischen Programmiersprache (z. B. JavaScript, Java oder eine C/C++-Programmiersprache) gehört 162. Das Dateninhaltspaket 412, dessen Bestandteil bildende Teile Datenschnipsel, beispielsweise Bildkomponenten sind 413, und das Indexpaket 414 und seine Bestandteil bildenden Indexkomponenten 415 werden in 4 jeweils durch die Bezugszahlen 452, 453, 454 und455 gekennzeichnet, um den neuen Ort (Dateiteilsystem 160) der Daten anzuzeigen, obgleich es sich bei dem Inhalt und Index um denselben handeln kann wie dem, der vom Dateiteilsystem 120 bis zum Dateiteilsystem empfangen wurde 160.
  • Die Speicherkomponente, die einen Anwendungs-Framework für eine dynamische Programmiersprache, wie beispielsweise JavaScript, Java oder eine C/C++-Programmiersprache, beinhaltet, gekennzeichnet mit 162 in 1, wird durch einen Zwischenspeicher der zweiten Ebene in 456 in 4 angezeigt.
  • Unter weiterer Bezugnahme auf die beschriebene mehrstufige Anordnung kann das Speichern 306 das Speichern des Dateninhaltspakets 412 und des Metaindexpakets 414 auf einen Zwischenspeicher der ersten Ebene 152, wie beispielsweise einen Zwischenspeicher der ersten Ebene des Dateiteilsystems 160, beinhalten.
  • Wie beschrieben können die Operationen eine oder mehrere EchtzeitAnpassungsfunktionen, gekennzeichnet durch Bezugszahl 307 in 3 und 213 in 2 beinhalten. In der Operation in Block 213 passt der Prozessor 114, der den Systemcode ausführt, die Verknüpfungsbeziehung zwischen dem Dateninhaltspaket und dem Metaindexpaket in Echtzeit am Host-System an. Das Host-Gerät 150 kann eine ähnliche Echtzeit-Anpassung in Block 307 zusätzlich zu oder anstelle von solch einer Anpassung am tragbaren System 110 durchführen. Die Funktionen von Block 307 können wie die sein, die vorstehend im Zusammenhang mit Block 213 beschrieben wurden.
  • Gemäß Beschreibung können die Operationen des Verfahrens 300 in jeder beliebigen Reihenfolge durchgeführt werden, und Operationen können zu einem einzigen Schritt zusammengefasst oder in mehrere Schritte unterteilt werden. Hinsichtlich der Speicheroperation 306 kann das Speichern beispielsweise in einem oder jeweiligen einzelnen Schritten entsprechend einem jeden Paket (Daten und Index) durchgeführt werden. Das Host-Gerät 150 kann das Dateninhaltspaket 452 und das Metaindexpaket 454 in dem Speichergerät 152, beispielsweise in einer einzigen Operation speichern. Und die Pakete 452, 454 können Bestandteil desselben Paketes, Streams oder der Datei sein, oder separat an das Host-Gerät 150 durch das tragbare System 110 übertragen werden.
  • Der Prozessablauf geht in Block 308 über, wo der Prozessor 154 die Medien des empfangenen Datenpaketes 412 zur Kommunikation an einen Nutzer, beispielsweise einen Fahrzeuginsassen, als ein Video, das mit der Quellenvideodatei übereinstimmt oder virtualisiertes Quellenvideo, das vom tragbaren System empfangen wird, 110 (Operation 204), veröffentlicht.
  • Wie beschrieben, hat das Host-Gerät 150 in einigen Ausführungsformen in seinem Speichergerät 152 den Code einer dynamischen Programmiersprache 164, wie beispielsweise JavaScript, Java oder einer C/C++-Programmiersprache, gespeichert. Die Sprache beinhaltet in einigen Implementierungen einen Anwendungs-Framework für bildbearbeitende Funktionen des Host-Gerätes 150. Der Programmiersprachencode kann die Einstellungen für Datenübertragungen zwischen dem tragbaren System 110 und dem Host-Gerät 150, wie beispielsweise Parameter einer oder mehrerer APIs, und/oder die Art und Weise einstellen, mit der Bilddateien am Host-Gerät 150 zum Wiedergeben der Anzeige des resultierenden Videos zum Veröffentlichen gegenüber dem Nutzer verarbeitet werden.
  • Wie beschrieben, empfängt in einigen Ausführungsformen das Verarbeitungs-Hardwaregerät 154, das die dynamische Programmiersprache 164 ausführt, auch die Nutzereingabedaten, die vom tragbaren Prozessor 114, der die hier gespeicherte dynamische Programmiersprache ausführt, 125 gesendet werden.
  • Die Sprache kann in Operationen des Host-Gerätes 150, unter anderem bei der Bildbearbeitung, beispielsweise Lesen und Anzeigewiedergabeoperationen verwendet werden.
  • Das Veröffentlichen von Video unter Operation 308 umfasst das Wiedergeben der Daten der Bildkomponenten 4531-N entsprechend einer Reihenfolge der Mertaindexkomponenten 4551-N des entsprechenden Metaindexpakets 454.
  • Demgemäß beinhalten in Ausführungsformen die Operationen:
    • - Daten, die zum tragbaren System gestreamt werden,110beispielsweise Streamingvideo, wird am tragbaren System empfangen 110, wie beispielsweise aus dem Bildspeicher 411;
    • - Bildkomponenten 4131-N , die dem empfangenen Streamingvideo entsprechen, werden am tragbaren System auf das tragbare Dateiteilsystem 120 geschrieben, womit Datenpakete 412 erhalten werden, die Bildkomponenten werden auf jeweilige Zeiger (Schreibzeiger PW, die auch durch P1 bezeichnet werden können) des Metaindexpakets 414; geschrieben.
    • - Indexkomponenten 415 werden am tragbaren System auf das tragbare Dateiteilsystem 120 geschrieben, um Zeiger auf jeweilige Datenkomponenten 413 zu beinhalten, womit das Metaindexpaket 414 erhalten wird,
    • - Die Dateninhaltspakete und Metaindexpakete 412, 414 werden an das Datenteilsystem des Host-Gerätes 160 am Host-Gerät 150 gesendet, wodurch die Dateninhalts- und Indexpakete 452, 454 erhalten werden, die jeweils aus den Bildkomponenten 453 und den Indexkomponenten 455, bestehen; und
    • - die Bildkomponenten 453 werden aufeinanderfolgend, einzeln entsprechend den jeweiligen Zeigern (Lesezeiger PR, die auch als P2 gekennzeichnet werden können) in dem entsprechenden Index gelesen 454.
  • Diese Funktionen können reihum durchgeführt werden. Die Konfiguration der vorliegenden Technologie stellt sicher, dass der Schreibzeiger (PW, oder P1) stets einen Schritt vor dem Lesezeiger liegt (PR, oder P2) - d. h. sicherstellt, dass P1 immer gleich P2-1 ist.
  • Wenn P1>P2, dann sind die Bilder, die am Host-Gerät (durch Index 454 dort) gelesen werden, nicht gültig, wenn P1=P2, gäbe es eine Lese-/Schreibkonflikt, und wenn P1<P2 (z. B. P1<<P2), gäbe es eine große Latenz beim Videostreamen.
  • Um die beschriebene Lese-/Schreibanordnung zu erzielen (P1=P2-1), erfordern herkömmliche Systeme relativ kostenintensive und entsprechende Software für die genaue Zeitsynchronisation zwischen dem Host-Gerät und dem tragbaren System Jede Frequenzverschiebung zwischen den Takten der zwei Vorrichtungen (Host-Gerät und tragbares System) würde sich so lange akkumulieren, bis P2-P1 nicht mehr 1 entspricht. Die ereignisgesteuerte Konfiguration der vorliegenden Technologie erreicht das erwünschte Ergebnis auf viel effizientere Weise.
  • Wie beschrieben, stellt diese Anordnung, unter anderem das Empfangen eines Metaindexes aus Metaindexkompoenten entsprechend der Reihenfolge von Bildkomponenten zur sequenziellen Anzeigewiedergabe, eine effiziente und effektive Form der Synchronisation ohne das Erfordernis einer kostenintensiven Taktsynchronisierung bereit. Die Verarbeitung einer jeden Bildkomponente 413 kann durch das Lesen der entsprechenden Indexkomponente ausgelöst werden 415. Jede nächste Komponente (beispielsweise 4152 ) wird nach dem Verarbeiten einer vorherigen Bildkomponente gelesen (beispielsweise 4131 ) und zeigt dem Prozessor 154 an, seine entsprechende Bildkomponente (beispielsweise 4132 ) zu lesen. Die Synchronisation kann als ereignisbasierte Synchronisation bezeichnet werden, bei der keine der Bildkomponenten außerhalb der Reihenfolge bearbeitet werden. Die ereignisbasierte Synchronisation umgeht die Notwendigkeit von kostenintensiven Komponenten zur Zeit- oder Taktsynchronisation.
  • Das resultierende Video wird mittels Draht- oder Drahtlosverbindung an eine Ausgabe 172, wie beispielsweise eine Anzeige oder einen Bildschirm eines übergeordneten Systems 174 151, wie beispielsweise ein Fahrzeug, gesendet. Die Übertragung wird durch die Bezugszahl 309 in 3 gekennzeichnet.
  • In Block 310, erzeugt das Host-Gerät 150 identifiziert (z. B. ruf ab), empfängt oder bezieht anderweitig Anweisungen oder Mitteilungen, wie beispielsweise Befehle oder Anfragen zum Ändern einer Einstellung oder einer Funktion. Hinsichtlich der Anweisungen zum Anpassen einer Einstellung oder einer Funktion des Host-Gerätes 150 führt der Prozessor 154 die Anweisung aus. Hinsichtlich der Anweisungen zum Anpassen einer Einstellung oder einer Funktion des tragbaren Systems 110 sendet der Prozessor154 die Anweisung oder Mitteilung an das tragbare System 110, wie dies durch Pfad 217 angezeigt ist.
  • In einer Implementierung wird wenigstens eine Kommunikation, anders als die, die Dateninhaltspakete 412 und die entsprechenden Metaindexpakete 414 senden, gemeinsam vom tragbaren System 110 und dem Host-Gerät 150 genutzt.
  • In verschiedenen Ausführungsformen sendet der Prozessor, 154 eine Kommunikation an das tragbare System 110, wie beispielsweise eine Anweisung oder eine Mitteilung vom Host-Gerät150. Diese möglichen Übertragungen werden durch Bezugszahl 217 in den 2 und 3 gekennzeichnet.
  • Bei Ausführungsformen, die bidirektionale Datenübertragungen ermöglichen, werden Kommunikationen oder Daten (beispielsweise Bild/Indexpakete) vom tragbaren System 110 entlang eines Vorwärtskanals der Verbindung zum Host-Gerät 150 und vom Prozessor 154 an das tragbare System gesendete Kommunikationen 110 werden entlang eines Rückwärtskanals gesendet.
  • Kommunikationen 217 vom tragbaren System 110 an das Host-Gerät 150 können eine Reihe verschiedener Formen annehmen, beispielsweise so konfiguriert sein, dass sie eine Funktion, einen Parameter oder eine Einstellung des Host-Gerätes anzeigen 150. Die Kommunikation 217 kann ferner eine Art und Weise anzeigen, mit der die Funktion, der Parameter oder die Einstellung eingerichtet werden soll, oder solch eine vorher eingerichtete am Host-Gerät 150 geändert werden soll.
  • Obgleich die Einstellung andere Formen annehmen kann, ohne dabei vom Schutzumfang der vorliegenden Technologie abzuweichen, wird in einer Ausführungsform die Einstellung aus einer Gruppe bestehend aus einer Qualität der Bildkomponenten und einer Wiedergabeeinstellung ausgewählt. Exemplarische Bildqualitätseigenschaften beinhalten einen Grad an Zoom, Helligkeit oder Kontrast. Die Wiedergabeeigenschaften können ein Merkmal sein, das die Geschwindigkeit oder Richtung beeinflusst, in der die wiedergegebene Videoanzeige abgespielt oder ob sie überhaupt abgespielt wird. Die Wiedergabeeigenschaften können beispielsweise Schneller Vorlauf, Rücklauf, Pause, Stopp, Wiedergabe oder eine Geschwindigkeit einer Videowiedergabe sein.
  • Die Erzeugung von Kommunikationen 217 vom Host-Gerät 150 an das tragbare System 110 kann durch eine Nutzereingabe in ein Eingabegerät 172 ausgelöst werden. Die Eingabe kann beispielsweise eine Touch-Eingabe an einem berührungssensitiven Bildschirm 174 und/oder eine Audioeingabe in ein Fahrzeugmikrophon 176 sein.
  • Kommunikationen 217 vom Host-Gerät 150 an das tragbare System 110 können eine Reihe verschiedener Formen annehmen, beispielsweise so konfiguriert sein, dass sie eine Funktion, einen Parameter oder eine Einstellung des tragbaren Systems 110 anzeigen. Die Kommunikation 217 kann ferner eine Art und Weise anzeigen, mit der eine Funktion, ein Parameter oder eine Einstellung am tragbaren System 110 eingerichtet werden soll, oder solch eine vorher eingerichtete am tragbaren System 110 geändert werden soll.
  • Obgleich eine Einstellung am tragbaren System 110, die von einer Kommunikation217 vom Host-Gerät 150 beeinflusst ist, andere Formen annehmen kann, ohne dabei vom Schutzumfang der vorliegenden Technologie abzuweichen, wird die Kommunikation 217 in einer Ausführungsform so konfiguriert, dass sie eine Art und Weise beeinflusst, mit der das tragbare System 110 jegliche seiner beschriebenen Funktionen ausführt, wie beispielsweise die Art und Weise, mit der das tragbare System 110 den Quellenvideostream in Bildkomponenten 413 unterteilt oder das Metaindexpaket 414 erzeugt.
  • Der Prozess 300 kann enden 313, oder jegliche Abschnitte davon können wiederholt werden, wie beispielsweise im Zusammenhang mit einem neuen Video oder Medien oder mit sich anschließenden Abschnitten desselben Videos , das zum Erzeugen der ersten Bildkomponenten 413 und Indexkomponenten 415 am tragbaren System 110 verwendet wurde.
  • Figuren 6 und 7
  • 6 zeigt einen zeitlichen Ablaufplan 600 der eine Zeitachse602 beinhaltet, die eine ereignisbasierte Zeitgebung anzeigt, durch die kreisförmige Dateien (beispielsweise jedes Paar aus Dateninhaltspaket 412/und entsprechendem Metaindexpaket 414 P) gelesen und geschrieben werden. 7 zeigt einen entsprechenden Graphen 700 der eine Menge anzeigt, um die aufeinanderfolgende kreisförmige Dateien im Verlauf der Zeit gelesen werden, bevor eine nächste Datei geschrieben wird.
  • Die Lehren aus den 6 und 7 zeigen zusammen eine Art und Weise, auf die Übertragungen der kreisförmigen Dateien 412 und ihre Lesungen ereignisbasiert synchronisiert werden, anstelle eine kostenintensive Anordnung aus Taktsynchronisierung zu verwenden.
  • Der Ablaufplan 600 zeigt oberhalb der Linie 602 Funktionen des tragbaren Systems 110 gemäß Kennzeichnung durch Klammer 604 und Funktionen des Host-Gerätes 150, beispielsweise eine Head-Unit eines Fahrzeuges, unterhalb der Linie 602, gemäß Kennzeichnung durch Klammer 606.
  • In dem Abschnitt des Host-Gerätes 606 zeigt der Ablaufplan 600 eine Vielzahl von kreisförmigen Startpunkten 608, 610, 612, 614, an denen das Host-Gerät 150 das Lesen der jeweiligen kreisförmigen Dateien beginnt. Demgemäß wird zwischen jedem Startpunkt eine entsprechende kreisförmige Datei, wie beispielsweise die durch die Klammer 616 als gelesen angezeigte zwischen den letzten zwei Startpunkten 612, 614, ausgerufen.
  • In verschiedenen Ausführungsformen übernimmt, wenn die kreisförmigen Dateien geschrieben werden, wenigstens ein Algorithmus die Steuerung der Schreibvorgänge gemäß dem Lesestatus einer unmittelbar vorgehenden kreisförmigen Datei. In einer der Ausführungsformen gewährleistet der Algorithmus Folgendes durch einen ersten „für“-Pfad:
    • für jedes T2 (618 in 6):
      • Wenn das Host-Gerät 150 eine Anforderung zum Lesen von Daten (beispielsweise ein USB-Paket) an das tragbare System sendet 110, dann U=C0;
      • ansonsten (beispielsweise tritt Lesen nicht auf), dann U=U-1 (d. h. U wird um 1 verringert).
      • [Thread 1]
  • Und durch einen entsprechenden zweiten „obgleich“-Pfad:
    • Obgleich es wahr ist:
      • Erfassungsrahmen (beispielsweise Bildkomponenten); und wenn ¼C0 < U < ¾C0, kreisförmige Datei schreiben,
      • [Thread 2]
    wobei C0 die anfängliche, vollständige kreisförmige Datei darstellt 412, bevor sie am dem Host-Gerät gelesen wird 150. Wurde ein Viertel der kreisförmigen Datei 412 am Host-Gerät gelesen 150, dann wäre die an diesem Punkt verbleibende Menge der kreisförmigen Datei 412 ¾C0, und so weiter.
  • Die dargestellten Bruchzahlen sind lediglich beispielhafte Werte. Die Bruchzahlen können auch andere Werte größer 0 und kleiner 1 annehmen. In der Praxis können die Werte auch auf andere, beispielsweise durch Techniker eingestellt werden. Die Einstellung kann unter Anwendung eines Kalibrierprozesses, wie beispielsweise einem, bei dem Feedback von einer Test- oder der tatsächlichen Operation der Anordnung 100, oder einer Komponente davon zum Einstellen von einem oder mehreren Werten verarbeitet wird, vorgenommen werden.
  • Die erste konditionale (wenn-) Routine des ersten Thread [Thread 1] kann Bestandteil des Host-Gerätes 150, das die kreisförmige Datei liest, sein, worin das Gerät 150 die Daten, wie beispielsweise die vom tragbaren System 110, in Form eines USB Massenspeichergerätes, das beispielsweise ein Paket, wie ein USB-Paket, zum Initiieren des Lesens sendet. Durch Empfangen der Anforderung vom Host-Gerät 150 bestimmt das tragbare System 110, dass das Lesen aufgetreten ist oder auftreten wird und kann dadurch eine Lesezeit für die Datei festlegen.
  • Der Graph 700 zeigt eine Zeitachse 702 entlang der x-Achse und entlang der y-Achse, eine Menge an nicht-gelesenem Abschnitt der kreisförmigen Datei (412 in den 4 und 5), die mit U gekennzeichnet sein können. Der Graph 700 ruft fünf (5) primäre Werte aus U:
    • (1) a niedrigster Wert, U=0, auf der x-Achse;
    • (2) ein höchster Wert 706 auf der y-Achse 704, oder U=C0,
    • (3) ein Dreiviertel-Wert 708, oder U= ¾C0;
    • (4) ein halbierter Wert 710, oder U=½C0); und
    • (5) ein Viertel-Wert 712, oder U= ¼ C0 .
  • Bei den dargestellten Brüchen handelt es sich lediglich um Beispiele. Die Brüche können Werte größer als 0 und kleiner als 1 aufweisen. In der Praxis können die Werte auch auf andere, beispielsweise durch Techniker eingestellt werden. Die Einstellung kann unter Anwendung eines Kalibrierprozesses, wie beispielsweise einem, bei dem Feedback von einer Test- oder der tatsächlichen Operation der Anordnung 100 oder einer Komponente davon, zum Einstellen von einem oder mehreren Werten verarbeitet wird.
  • Die Linie 701 zeigt die Menge an kreisförmiger Datei, die durch die Lesevorgänge am Host-Gerät 150 von angrenzenden kreisförmigen Dateien übrig geblieben sind. Der vollständige Inhalt einer jeden kreisförmigen Datei hat einen Anfangsmaximalwert, wobei die Linie 701 in jedem Abschnitt entsprechend den jeweiligen Lesevorgängen der kreisförmigen Dateien bei dem höchsten Wert U 706, oder CO beginnt. Mit jedem Lesen einer kreisförmigen Datei verringert sich der Wert des Ungelesenen, oder der Wert U im Verlauf der Zeit, wie dies durch seinen nach unten verlaufenden Abschnitt der Linie 701 dargestellt ist.
  • In dem dargestellten Beispiel ist die Linie 701 nicht perfekt symmetrisch (beispielsweise weist sie einen Knick unterhalb der x-Achse einmal auf). Dies rührt daher, dass Intervalle zwischen aufeinanderfolgenden Lesevorgängen (dargestellt durch Bezugszahl 616 in 6) im Lauf der Zeit variieren können. Dies wäre vorrangig auf die Nicht-Echtzeit-Natur der programmierbaren Sprachen, wie JavaScript, zurückzuführen. Diese Eigenschaft fügt Phasenverschiebung zwischen den Takten des tragbaren Systems 110 und des Host- 150 hinzu. Ferner bringt jedes beliebige verteilte System eine innewohnende Frequenzverschiebung mit sich. Sowohl geringfügige Frequenz- als auch Phasenverschiebung werden in der vorliegenden Technologie toleriert, sie werden schließlich durch den Algorithmus verursacht oder absorbiert, Nachweis hierzu bildet beispielsweise die vorstehende Operation des ersten Thread [Thread 1].
  • Es werden neue kreisförmige Dateien, die beispielsweise am tragbaren System 110 erzeugt werden, geschrieben und gemäß den Threads [Thread 1], [Thread 2] die vorstehend im Zusammenhang mit 6. beschrieben wurden, an das Host-Gerät150 gesendet. Dementsprechend wird eine neue kreisförmige Datei geschrieben, wenn eine unmittelbar vorherige kreisförmige Datei ungefähr bis zur Hälfte gelesen wurde 710 - in einer Ausführungsform findet das Schreiben einer nächsten kreisförmigen Datei statt, wenn der ungelesene Abschnitt (oder der gelesene Abschnitt) der kreisförmigen Datei zwischen drei Vierteln 708 und einem Viertel 712 der ursprünglichen kreisförmigen Datei (Co) liegt.
  • Auf diese Weise wird jeweils eine kreisförmige Datei zu einem Zeitpunkt gesendet und eine nächste kreisförmige Datei wird am Host-Gerät 150 zu dem Zeitpunkt empfangen, an dem das Host-Gerät das Lesen der unmittelbar vorhergehenden kreisförmigen Datei abschließt. Und die nächste kreisförmige Datei kann gelesen werden, beginnend mit einer ersten Bildkomponente (beispielsweise 4131 ) einer nächsten kreisförmigen Datei 412F , unmittelbar nachdem eine abschließende Bildkomponente (beispielsweise 413N ) der unmittelbar vorhergehenden kreisförmigen Datei 412F-1 gelesen wird.
  • Ausgewählte Vorteile der Vorliegenden Technologie
  • Vorstehend werden viele Vorteile und Nutzen der vorliegenden Technologie beschrieben. Der vorliegende Abschnitt hebt einige dieser noch einmal hervor und verweist auf weitere. Die Vorteile werden exemplarisch angeführt und sind nicht als im die Vorteile der vorliegenden Technologie erschöpfenden Sinne zu verstehen.
  • Die Technologie ermöglicht die Übertragung und Echtzeit-Anzeige von Videodaten auf eine effiziente und synchronisierte Weise zwischen miteinander verbundenen Geräten, ohne dass kostenintensive Zeitsychronisierungsverfahren erforderlich sind. Die Synchronisierung ist anstelle einer synchronisierten Zeitgebung ereignisbasiert.
  • Die beschriebenen Systeme und Algorithmen können zur Übertragung von Hochgeschwindigkeits-Videostreams über Verbindungen mit relativ niedrigen Datenübertragungsgeschwindigkeiten, wie beispielsweise einer USB-Verbindung, verwendet werden.
  • Die vorliegende Technologie löst wenigstens auf diese Arten bisherige Herausforderungen bei dem Übertragen und Anzeigen von Medien mit hoher Durchsatzleistung in Echtzeit von einer Quelle wie beispielsweise wie einem fernen Server an ein Zielort-Host-Gerät, wie beispielsweise eine Head-Unit eines Automobils, ohne dass eine kostenintensive Zeitsynchronisoierungs-Software oder Hardware und ohne dass relativ kostenintensive High-End-Drahtlos-Datenübertragungen und Grafikverarbeitungs-Hardware am Host-Gerät erforderlich sind.
  • Die tragbaren Systeme ermöglichen das Streaming von Videodaten an einem vorab existierenden Host-Gerät, wie beispielsweise als ein bestehender, an Bord eines Fahrzeuges integrierter Computer, in einem alten oder im Verkehr befindlichen Fahrzeug, beispielsweise einem bereits auf dem Markt befindlichen Fahrzeug.
  • Als ein weiterer Vorteil können die Fähigkeiten weiter unter Verwendung eines tragbaren Systems bereitgestellt werden, bei dem größtenteils oder vollständig Teile enthalten sind, die bereits problemlos verfügbar und kostengünstig sind.
  • Schlussfolgerung
  • Hierin werden verschiedene Ausführungsformen der vorliegenden Offenbarung offenbart. Die offenbarten Ausführungsformen sind lediglich Beispiele, die in verschiedenen alternativen Formen und Kombinationen davon ausgebildet werden können.
  • Die vorstehend beschriebenen Ausführungsformen sind lediglich exemplarische Veranschaulichungen von Implementierungen, die für ein leichtes Verstehen der Grundgedanken der Offenbarung angeführt werden. An den vorstehend beschriebenen Ausführungsformen können Abweichungen, Modifizierungen und Kombination vorgenommen werden, ohne dabei vom Schutzumfang der Ansprüche abzuweichen. Alle solchen Änderungen, Modifizierungen und Kombinationen sind über die folgenden Ansprüche hierin in dem Schutzumfang dieser Offenbarung enthalten.

Claims (8)

  1. Tragbares System (110), das ereignisbasierte Synchronisation für Echtzeit-Videostreaming ermöglicht, aufweisend: eine Verarbeitungs-Hardwareeinheit (114); und ein nicht-temporäres Speichergerät, aufweisend einen computerausführbaren Code, der bei seiner Ausführung durch die Verarbeitungs-Hardwareeinheit (114) die Verarbeitungs-Hardwareeinheit (114) zum Durchführen von Operationen veranlasst, aufweisend: Empfangen, von einer Videoquelle, einer Quellenvideodatei oder eines virtualisierten Quellenvideos; Unterteilen der Quellenvideodatei oder des virtualisierten Quellenvideos in eine Vielzahl von Bildkomponenten, wodurch ein Dateninhaltspaket hervorgebracht wird; Erzeugen eines Metaindexpakets, aufweisend eine Vielzahl von Indexkomponenten, wobei jede Indexkomponente einem jeweiligen einer Bildkomponente der gleichen Größe entspricht; und Senden des Dateninhaltspakets und des Metaindexpakets an ein Host-Gerät (150) zum sequenziellen Veröffentlichen der Bildkomponenten gemäß einer Reihenfolge des Metaindexpakets zur Echtzeit-Anzeigewiedergabe von Streamingvideo entsprechend der Quellenvideodatei oder des virtualisierten Quellenvideos über das Host-Gerät (150) und einer Anzeigekomponente (174), worin die Operationen des Erzeugens und Sendens in Wiederholungen für aufeinanderfolgende Paare aus Dateninhaltspaketen und Metaindexpaketen gemäß einem Schreib-Zeitgebungsalgorithmus durchgeführt werden, aufweisend, als Variable bei dem Festlegen, wann ein neues Dateninhaltspaket und das Metaindexpaket zu schreiben und zu senden ist, eine Menge eines unmittelbar vorhergehenden Dateninhaltspakets, das am Host-Gerät (150) gelesen wird, worin C0 die Menge an unmittelbar vorgehendem Dateninhaltspaket bezeichnet, bevor es am Host-Gerät (150) gelesen wird, worin der Schreib-Zeitgebungsalgorithmus wie folgt dargestellt wird: (a) wird das unvermittelbar vorhergehende Dateninhaltspaket am Host-Gerät (150) gelesen, ist eine Variable eines nicht gelesenen Abschnittes (U) C0; (b) ansonsten, U=U-1; und (c) Wiederhole (a) und (b) solange, bis (F1)C0 < U < (F2)C0, und schreibe zu dieser Zeit das neue Dateninhaltspaket und das Metaindexpaket; F1 ist eine erste Bruchzahl größer als 0 und kleiner als 1; und F2 ist eine zweite Bruchzahl größer als F1 und kleiner als 1.
  2. Tragbares System (110) nach Anspruch 1, worin die Operationen ferner aufweisen: Empfangen einer vom Host-Gerät (150) gesendeten Anweisung; und Ändern einer Einstellung am tragbaren System (110) gemäß der Anweisung.
  3. Tragbares System (110) nach Anspruch 1, ferner aufweisend eine Human-Machine-Schnittstelle, die mit der Verarbeitungs-Hardwareeinheit (114) verbunden ist, worin die Operationen ferner aufweisen: Empfangen eines Nutzereingabesignals über die Human-Machine-Schnittstelle; und Durchführen, ausgehend vom Nutzereingabesignal, von wenigstens einer Systemprogrammierungsroutine, die aus einer Gruppe bestehend aus den Folgenden ausgewählt wird: Einrichten einer Einstellung und Speichern der Einstellung auf das nichttemporäre Speichergerät; und Ändern einer vorher am tragbaren System (110) gespeicherten Einstellung.
  4. Tragbares System (110) nach Anspruch 1, worin: das Host-Gerät (150) Bestandteil eines Automobils ist, das einen Universal Serial Bus (USB) aufweist; das tragbare System (110) einen entsprechenden USB-Stecker für das Einsetzen in das Automobil aufweist; und der computerausführbare Code einen USB-Mass-Storage-Device-Class-Protokoll zur Datenverarbeitung zur Verwendung beim Senden des Dateninhaltspakets und des Metaindexpakets an das tragbare System (110) aufweist und ferner das USB Mass-Storage-Device-Class Datenbearbeitungsprotokoll aufweist.
  5. Host-System (100), das ereignisbasierte Synchronisierung zum Echtzeit-Videostreaming ermöglicht, aufweisend: ein Host-Gerät (150) mit einer Verarbeitungs-Hardwareeinheit (154); und ein nicht-temporäres Speichergerät (152), aufweisend einen computerausführbaren Code, der bei seiner Ausführung durch die Verarbeitungs-Hardwareeinheit (154) die Verarbeitungs-Hardwareeinheit (154) zum Durchführen von Operationen veranlasst, die aufweisen: Empfangen, von einem tragbaren System (110), eines Dateninhaltspakets, aufweisend Bildkomponenten gleicher Größe, die auf der Grundlage einer Quellenvideodatei oder eines virtualisierten Quellenvideos am tragbaren System (110) erzeugt wurden; Empfangen, vom tragbaren System (110), eines Metaindexpakets, aufweisend eine Vielzahl von Indexkomponenten, wobei jede Indexkomponente einer jeweiligen der Bildkomponenten gleicher Größe entspricht; und sequenzielles Veröffentlichen der Bildkomponenten in Echtzeit, an eine Anzeigekomponente (174) in Datenübertragung mit der Verarbeitungs-Hardwareeinheit (154), gemäß einer Reihenfolge der Indexkomponenten zur Anzeigewiedergabe von Streamingvideo entsprechend der Quellenvideodatei oder des virtualisierten Quellenvideos, worin die Operationen des Erzeugens und Sendens in Wiederholungen für aufeinanderfolgende Paare aus Dateninhaltspaketen und Metaindexpaketen gemäß einem Schreib-Zeitgebungsalgorithmus durchgeführt werden, aufweisend, als Variable bei dem Festlegen, wann ein neues Dateninhaltspaket und das Metaindexpaket zu schreiben und zu senden ist, eine Menge eines unmittelbar vorhergehenden Dateninhaltspakets, das am Host-Gerät (150) gelesen wird, worin C0 eine Menge an unmittelbar vorgehendem Dateninhaltspaket bezeichnet, bevor es am Host-Gerät (150) gelesen wird, worin der Schreib-Zeitgebungsalgorithmus wie folgt dargestellt wird: (a) wird das unvermittelbar vorhergehende Dateninhaltspaket am Host-Gerät (150) gelesen, ist eine Variable eines nicht gelesenen Abschnittes (U) Co; (b) ansonsten, U=U-1; und (c) Wiederhole (a) und (b) solange, bis (F1)C0 < U < (F2)C0, und schreibe zu dieser Zeit das neue Dateninhaltspaket und das Metaindexpaket; F1 ist eine erste Bruchzahl größer als 0 und kleiner als 1; und F2 ist eine zweite Bruchzahl größer als F1 und kleiner als 1.
  6. Host-System nach Anspruch 5, ferner aufweisend oder kommunikativ verbunden mit, eine/einer Human-Machine-Schnittstelle, die mit der Verarbeitungs-Hardwareeinheit (154) verbunden ist, worin die Operationen des Weiteren aufweisen: Empfangen, über die Human-Machine-Schnittstelle, eines Nutzereingabesignals; und Senden, in Reaktion auf das Nutzereingabesignal, einer Anweisung an das tragbare System (110).
  7. Host-System nach Anspruch 6, worin die gesendete Anweisung so konfiguriert ist, dass sie am tragbaren System (110) eine Funktion initiiert, die aus einer Gruppe ausgewählt wird, bestehend aus: Einrichten einer Nutzer-Personalisierungseinstellung und Speichern der Nutzer-Personalisierungseinstellung auf dem tragbaren System (110); Ändern einer auf dem tragbaren System (110) gespeicherten Nutzer-Personalisierungseinstellung; und Ändern einer funktionalen Eigenschaft des tragbaren Systems (110).
  8. Host-System nach Anspruch 7, worin die funktionale Eigenschaft aus einer Gruppe bestehend aus einer Qualität der Bildkomponenten und eines Wiedergabemerkmals, das eine Art und Weise betrifft, ausgewählt wird, wie die Dateninhaltspakete dem Host-System bereitgestellt werden.
DE102016113431.7A 2015-07-24 2016-07-20 System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübertragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät Active DE102016113431B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/808,166 2015-07-24
US14/808,166 US9877064B2 (en) 2015-07-24 2015-07-24 Systems and methods for efficient event-based synchronization in media file transfer and real-time display rendering between a peripheral system and a host device

Publications (2)

Publication Number Publication Date
DE102016113431A1 DE102016113431A1 (de) 2017-01-26
DE102016113431B4 true DE102016113431B4 (de) 2021-09-16

Family

ID=57738959

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016113431.7A Active DE102016113431B4 (de) 2015-07-24 2016-07-20 System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübertragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät

Country Status (3)

Country Link
US (1) US9877064B2 (de)
CN (1) CN106375819B (de)
DE (1) DE102016113431B4 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635724B2 (en) * 2015-01-30 2020-04-28 International Business Machines Corporation Analysis of data utilization
US10430665B2 (en) 2017-09-07 2019-10-01 GM Global Technology Operations LLC Video communications methods using network packet segmentation and unequal protection protocols, and wireless devices and vehicles that utilize such methods
US11006184B2 (en) * 2018-05-16 2021-05-11 Quantum Radius Corporation Enhanced distribution image system
CN109927865B (zh) * 2019-01-04 2021-05-07 北京安广信息技术有限责任公司 水下机械的一种从外部驾驶控制的作业方法
US11503384B2 (en) * 2020-11-03 2022-11-15 Hytto Pte. Ltd. Methods and systems for creating patterns for an adult entertainment device
WO2021155491A1 (en) * 2020-02-04 2021-08-12 Qualcomm Incorporated Data transfer with media transfer protocol (mtp) over universal serial bus (usb)
CN112203130B (zh) * 2020-09-09 2022-09-16 广州汽车集团股份有限公司 一种车载信息娱乐终端及其多屏交互显示方法、汽车
US12010461B2 (en) 2022-06-24 2024-06-11 GM Global Technology Operations LLC Multimedia system for a scalable infotainment system of a motor vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070015486A1 (en) 2002-12-11 2007-01-18 Ira Marlowe Multimedia device integration system
US20140270161A1 (en) 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for secure storage and retrieval of live off disk media programs

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269120B1 (en) * 1998-03-23 2001-07-31 International Business Machines Corporation Method of precise buffer management for MPEG video splicing
US6272553B2 (en) 1998-11-20 2001-08-07 Sprint Communications Company, L.P. Multi-services communications device
US20040123327A1 (en) 2002-12-19 2004-06-24 Tsang Fai Ma Method and system for managing multimedia settings
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
WO2008078798A1 (ja) 2006-12-27 2008-07-03 Kyocera Corporation 通信システム、無線通信端末、通信方法、無線通信方法、無線通信装置、およびその制御方法
US20080167128A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Television Viewing on Gaming Consoles
WO2009073806A2 (en) 2007-12-05 2009-06-11 Johnson Controls Technology Company Vehicle user interface systems and methods
US8902967B2 (en) 2010-03-31 2014-12-02 Citrix Systems, Inc. Systems and methods for distributed media stream transcoding and sharing
US8682637B2 (en) * 2010-04-23 2014-03-25 Salesforce.Com, Inc. System, method and computer program product for comparing results of performing a plurality of operations with results of simulating the plurality of operations
US8301733B2 (en) 2010-06-30 2012-10-30 Unicorn Media, Inc. Dynamic chunking for delivery instances
KR101677638B1 (ko) 2010-09-29 2016-11-18 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US9336117B2 (en) 2010-11-09 2016-05-10 Vmware, Inc. Remote display performance measurement triggered by application display upgrade
US9332292B2 (en) * 2012-08-15 2016-05-03 Verizon Patent And Licensing Inc. Media playlists with selective media expiration
US9191725B2 (en) * 2013-03-15 2015-11-17 Arris Technology, Inc. Method and apparatus for streaming video
US8953452B2 (en) * 2013-05-16 2015-02-10 Cisco Technology, Inc. Enhancing performance of rapid channel changes and other playback positioning changes in adaptive streaming
US9113039B2 (en) * 2013-09-20 2015-08-18 Intel Corporation Wireless sharing of content between computing devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070015486A1 (en) 2002-12-11 2007-01-18 Ira Marlowe Multimedia device integration system
US20140270161A1 (en) 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for secure storage and retrieval of live off disk media programs

Also Published As

Publication number Publication date
CN106375819A (zh) 2017-02-01
US9877064B2 (en) 2018-01-23
US20170026674A1 (en) 2017-01-26
DE102016113431A1 (de) 2017-01-26
CN106375819B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
DE102016113431B4 (de) System und Verfahren zur ereignisbasierten Synchronisierung bei der Mediendateiübertragung und Anzeigewiedergabe zwischen einem Peripheriesystem und einem Host-Gerät
DE102015204991B4 (de) Verfahren und Vorrichtung zum Steuern eines Audio/Video-Bridging-Datenstroms für ein Fahrzeugethernet
DE102016113764A1 (de) Dynamische bildschirmreplikation und display-darstellung in echtzeit basierend auf medienanwendungseigenschaften
DE102017222222A1 (de) Haupteinheit eines Fahrzeugs, Fahrzeug mit derselben und Verfahren zum Steuern eines Fahrzeugs
DE102015104344A1 (de) System und verfahren für ein fahrzeugsystem mit einem hochgeschwindigkeitsnetz
US20170026684A1 (en) Communications between a peripheral system and a host device in efficient event-based synchronization of media transfer for real-time display rendering
DE102014220001A1 (de) Autonome Fahrzeugmediensteuerung
WO2002085021A2 (de) Verfahren zum abspielen von multimediadaten mit einem unterhaltungsgerät
DE102014100183B4 (de) Verfahren und Vorrichtung zum Verwenden eines separaten Rückwärtskanals für Benutzereingaben bei der Replizierung der Anzeige eines mobilen Geräts
DE112013007509T5 (de) Verfahren, Einrichtung und System zum Auswählen von Audio-Video-Daten zum Streamen
US9395948B2 (en) Screen display control system and screen display control method
DE102017127428B4 (de) Verfahren und Vorrichtung zum Wiedergeben von Inhalten basierend auf einer Präsentationszeit im Fahrzeugnetzwerk
US20170026694A1 (en) Adaptive selection amongst alternative framebuffering algorithms in efficient event-based synchronization of media transfer for real-time display rendering
DE102018126418A1 (de) Ergänzung zur host-geräte-funktionalität basierend auf tragbaren systemressourcen
DE60223054T2 (de) Verbesserungen bezüglich der inhaltsauswahl
DE102010003248A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Netzwerk eines Fahrzeugs
DE102017209327A1 (de) Verfahren zur Datenübertragung in einem Fahrzeug-Kommunikationsnetzwerk, Fahrzeug-Kommunikationsnetzwerk, Teilnehmer und Fahrzeug
EP3386207A1 (de) Verfahren zum betrieb eines datenverarbeitungssystems zur bereitstellung eines interaktiven videoinhalts
DE10062514B4 (de) Verfahren und Vorrichtung zum Steuern der Übertragung und Wiedergabe von digitalen Signalen
DE102016111865A1 (de) Integrieren von Audioinhalt mit zusätzlichem digitalem Inhalt
DE102014118221A1 (de) Verfahren und Vorrichtung zum Bereitstellen benutzerauswählbarer Voreinstelloptionen und dazugehöriger Daten für ein fahrzeugintegriertes Computersystem
DE102005052207A1 (de) Verfahren zum Übertragen von einem Datenstrom von einer Datenquelle zu einer Datensenke sowie Datensenkengerät, Datenquellgerät und Gerät zur Durchführung des Verfahrens
DE112014002003T5 (de) Informationswiedergabesystem, Informationswiedergabeverfahren, Informationswiedergabevorrichtung und Zugriffsanalysevorrichtung
EP2402202A2 (de) Verfahren zum Betrieb eines wenigstens eine Information an einen Fahrer ausgebende und/oder Informationen von einem Fahrer entgegennehmende Funktionalität aufweisenden Fahrzeugsystem eines Kraftfahzeuges
EP3371026B1 (de) Verfahren und vorrichtung zur kopplung von elektronischen geräten mit einem kraftfahrzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE

Representative=s name: MANITZ, FINSTERWALD & PARTNER GBR, DE

Representative=s name: MANITZ FINSTERWALD PATENTANWAELTE PARTMBB, DE

R082 Change of representative

Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE

Representative=s name: MANITZ, FINSTERWALD & PARTNER GBR, DE

Representative=s name: MANITZ FINSTERWALD PATENTANWAELTE PARTMBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final