-
INANSPRUCHNAHME DER PRIORITÄT
-
Diese Anmeldung beansprucht den Vorteil und die Priorität der
US-Anmeldung mit dem Aktenzeichen 15/941,303 , eingereicht am 30. März 2018 mit dem Titel „Emotional adaptive Fahr-Policies für automatisiert fahrende Fahrzeuge“ und deren gesamte Inhalte hierin durch Bezugnahme aufgenommen sind.
-
Gebiet
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf das Gebiet der Elektronik. Genauer bezieht sich ein Ausführungsbeispiel auf Automobilsysteme und autonomes und/oder maschinenunterstütztes Fahren.
-
HINTERGRUND
-
Eine grundlegende Einschränkung der bestehenden automatisierten Fahrzeugsysteme besteht darin, dass es ihnen an einer angemessenen Überwachung und am Verständnis der Reaktionen einer Person auf die betrieblichen Entscheidungen des Fahrzeugs mangelt. Die Branche des autonomen Fahrens steht unter anderem vor der Herausforderung, Vertrauen zwischen den Fahrzeuginsassen und den Systemen der künstlichen Intelligenz, die das Fahrzeug steuern, herzustellen und aufrechtzuerhalten. Ein grundsätzliches Problem bei der Akzeptanz von autonomen Fahrsystemen ist, dass zwischen den Insassen in einem Fahrzeug eine Vertrauenslücke besteht. Viele Menschen haben vollstes Vertrauen in die automatisierten Fahrfähigkeiten des Fahrzeugs bis hin zu einem Punkt des Übervertrauens (über die Systemgrenzen hinaus), während andere dem System unter keinen Umständen vertrauen. Dementsprechend können Systeme und Verfahren, die den emotionalen Zustand eines oder mehrerer Insassen in den Entscheidungsfindungsprozess eines autonomen Fahrsystems einbeziehen, von Nutzen sein.
-
Figurenliste
-
Die detaillierte Beschreibung wird unter Bezugnahme auf die beiliegenden Figuren beschrieben. In den Figuren identifiziert das linke Zeichen oder die linken Zeichen eines Bezugszeichens die Figur, in der das Bezugszeichen zuerst erscheint. Die Verwendung derselben Bezugszeichen in unterschiedlichen Figuren zeigt ähnliche oder identische Elemente an.
- 1A ist ein Diagramm zur Veranschaulichung von Elementen eines Systems, das in der Lage ist, emotionale adaptive Policies für automatisiert fahrende Fahrzeuge gemäß einiger Beispiele zu implementieren.
- 1B, 1C, 1D und 1E sind Diagramme, die emotionale Antworten auf verschiedene Stimuli gemäß einiger Beispiele darstellen.
- 2A, 2B und 2C sind schematische Darstellungen von Systemen, die in der Lage sind, emotionale adaptive Policies für automatisiert fahrende Fahrzeuge gemäß einigen Beispielen zu implementieren.
- 3 ist ein Flussdiagramm, das Operationen in einem Verfahren zur Implementierung emotional adaptiver Policies für automatisiert fahrende Fahrzeuge gemäß einiger Beispiele darstellt.
- 4 ist ein Flussdiagramm, das Operationen in einem Verfahren zur Implementierung emotional adaptiver Policies für automatisiert fahrende Fahrzeuge gemäß einiger Beispiele darstellt.
- 5A, 5B, 5C und 5D sind Diagramme, die Fahrmanöver gemäß einiger Beispiele darstellen.
- 6 stellt ein Blockdiagramm eines System-auf-Chip- (SOC; system on chip) Package gemäß einem Ausführungsbeispiel dar.
- 7 ist ein Blockdiagramm eines Verarbeitungssystems gemäß einem Ausführungsbeispiel.
- 8 ist ein Blockdiagramm eines Prozessors mit einem oder mehreren Prozessorkernen, einer integrierten Speichersteuerung und einem integrierten Grafikprozessor gemäß einem oder mehreren Ausführungsbeispielen.
- 9 ist ein Blockdiagramm eines Grafikprozessors, der eine diskrete Grafikverarbeitungseinheit sein kann, oder ein Grafikprozessor sein kann, der mit einer Mehrzahl von Verarbeitungskernen gemäß einem oder mehreren Ausführungsbeispielen integriert ist.
- 10 stellt die Architektur eines Systems eines Netzwerks gemäß einem oder mehreren Ausführungsbeispielen dar.
- 11 stellt beispielhafte Komponenten einer drahtlosen Kommunikationsvorrichtung gemäß einem oder mehreren Ausführungsbeispielen dar.
- 12 ist ein verallgemeinertes Diagramm eines Maschinellen-Lernen-Software-Stapels gemäß einem oder mehreren Ausführungsbeispielen.
- 13 stellt das Training und den Einsatz eines tiefen neuronalen Netzes gemäß einem oder mehreren Ausführungsbeispielen dar.
-
Detaillierte Beschreibung
-
In der folgenden Beschreibung werden zahlreiche spezifische Details ausgeführt, um ein tiefgreifendes Verständnis verschiedener Ausführungsbeispiele bereitzustellen. Dennoch können verschiedene Ausführungsbeispiele ohne die spezifischen Details ausgeführt werden. In anderen Fällen wurden bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht detailliert dargestellt oder beschrieben, um die bestimmten Ausführungsbeispiele nicht zu verunklaren. Ferner können verschiedene Aspekte von Ausführungsbeispielen unter Verwendung von verschiedenen Mitteln ausgeführt werden, wie beispielsweise integrierte Halbleiterschaltungen („Hardware“), computerlesbare Befehle, die in einem oder mehreren Programmen („Software“) organisiert sind, oder eine Kombination aus Hardware und Software. Für die Zwecke dieser Offenlegung bedeutet der Bezug auf „Logik“ entweder Hardware, Software, Firmware oder eine Kombination davon.
-
Wie voranstehend beschrieben, besteht eine grundlegende Einschränkung der bestehenden automatisierten Fahrzeugsysteme darin, dass es ihnen an einer angemessenen Überwachung und am Verständnis der Reaktionen einer Person auf die betrieblichen Entscheidungen des Fahrzeugs mangelt. Der hierin beschriebene Gegenstand versucht, Emotionsverständnis anzuwenden, um den Begrenzungen der vorangehend angeführten Anstrengungen gerecht zu werden, die darauf abzielen, ein emotional bewusstes autonomes System bereitzustellen, das die Auswirkungen berücksichtigt, die verschiedene autonome Fahrentscheidungen auf den emotionalen Komfort der Insassen haben können, und das Mechanismen zum Lernen aufweist und um diese Reaktionen in Schutz- und Sicherheitsziele einzubringen, sodass sie mit den Anforderungen und Reaktionen der Insassen übereinstimmen.
-
Bei verschiedenen Aspekten stellt der hierin beschriebene Gegenstand Techniken zur Messung, Überwachung und Modellierung des emotionalen Zustands der Insassen sowie Mechanismen zur Anpassung verschiedener Fahr-Policies eines automatisierten Fahrzeugs bereit, um sich an den Komfort der Insassen basierend zumindest teilweise auf der Echtzeit-Eingabe eines emotionalen Zustandsmodells eines Insassen anzupassen. Es werden verschiedene Techniken beschrieben, um mit der Verwendung eines multimodalen Ansatzes den emotionalen Zustand der Insassen in einem Fahrzeug zu schätzen. Messungen des emotionalen Zustands von Insassen können in einen autonomen Fahrsystembetriebsmechanismus integriert werden. Außerdem werden verschiedene Beispiele von Fahr-Policy-Mechanismen, eine regelbasierte Fahr-Policy und eine auf künstlicher Intelligenz basierte Fahr-Policy unter Verwendung von bestärkendem Lernen beschrieben. Die hierin beschriebenen Integrationskonzepte können auf andere autonome Systementwürfe ausgedehnt werden.
-
Bezugnehmend auf 1A kann bei einigen Beispielen ein multimodales affektives System zum Verstehen 100 einen physiologischen Kanal 110, einen Videokanal 120 und einen akustischen Kanal 130 umfassen. Das System 100 sammelt Analytik für einen oder mehrere Insassen in einem autonomen Fahrzeug und verfolgt sowohl individuelle Reaktionen als auch Reaktionen zwischen Personen in dem Fahrzeug. Das System 100 kann am Handgelenk getragene und an der Brust getragene Herzfrequenzsensoren sowie Echtzeit-Audio- und Videoerfassung durch mehrere Quellen umfassen. Jeder Kanal erfasst und verarbeitet Informationen, und die Informationen aus den Kanälen können sowohl auf Merkmalsebene als auch auf Ausgabeebene für eine effektive Klassifizierung kombiniert werden. Verschiedene Attribute der Kanäle 110, 120, 130 werden hierin beschrieben, aber es wird darauf hingewiesen, dass dies keine vollständige Liste von Sensoren ist, die verwendet werden könnten. Eine umfangreichere Liste umfasst irgendeinen physiologischen Sensor, der Beweise zum affektiven Zustand liefern könnte, umfassend zum Beispiel: EMG, EEG, Blutdruck, Cortisol, Atmung oder irgendeine physische Störung, die vom Fahrzeug selbst gemessen wird, wie Gleichgewicht, Körperdruck, Griffdruck auf dem Lenkrad oder Armlehne oder irgendein Griff oder Grip, Geschwindigkeit und Kraft der Beschleunigung oder Bremsung (im autonomen Fahrzeug der Stufe 4), etc. Informationen von irgendeinem Akustik- oder irgendeinem Spektrums- (infrarot bis ultraviolett und darüber hinaus) Lichtsensor könnten ebenfalls aufgenommen werden.
-
Bei dem System 100 können die verschiedenen Sensoren zeitsynchronisiert werden, um Informationen in der Kabine des Fahrzeugs zu sammeln. Bei einem Beispiel können physiologische Sensoren von den Insassen getragen werden und können mit einem Telefon synchronisiert werden, das wiederum drahtlos mit einem autonomen Fahrsystem für das Fahrzeug synchronisiert ist. Bei einem anderen Beispiel können die verschiedenen Sensoren eine direkte Kommunikationsverbindung mit dem autonomen Fahrsystem für das Fahrzeug einrichten.
-
Bezugnehmend auf die 1B und 1C sucht das System bei einigen Beispielen nach Anzeichen von Frustration und Erschrecken bei unseren Teilnehmern, sowohl individuell als auch kollektiv. 1B ist ein Graph, der den Grad der Frustration darstellt, der zum Beispiel auf Aspekten einer relativen Änderung der Herzfrequenz über einen längeren Zeitraum einer Fahrt im Fahrzeug basiert. Ein Beispiel für ein physiologisches Signal einer einzelnen Person, das isoliert analysiert wird und einen Anstieg des Erregungs-/Aktivierungslevels anzeigt, was ein Indikator für Frustration oder Stress ist. Bezugnehmend auf 1C können Erschreckungs- und Frustrationsindikatoren auch in vielen anderen physiologischen Kanälen gefunden werden, zum Beispiel in der galvanischen Hautreaktion (GSR; galvanic skin response).
-
Bezugnehmend auf 1D wird ein Beispiel einer GSR, ein über mehrere Insassen fusionierter Signalindikator eines Erschreckens, präsentiert. Wie in 1D angezeigt, stellt sich eine GSR-Erschreckungsreaktion nach einer Prime als ein starker Anstieg dar. In diesem Fall ist die gezeigte Prime eine mit „Mic“ bezeichnete Mikrofon-Klangausgabe und die Antwort wird an drei erfassten Positionen gezeigt, über die Hand und über den Fuß von sowohl den Zehen als auch von der Wurzel des Fußes. Es ist wahrscheinlicher, dass ein emotional wirkungsvolles Fahrereignis stattgefunden hat, wenn mehrere Insassen gleichzeitig Schreckreaktionen zeigen.
-
Ein Hinweis auf den emotionalen Zustand eines Insassen kann auch aus den akustischen Eigenschaften der Stimme des Insassen erkannt werden, zum Beispiel der relativen Lautstärke, Änderungen der Tonhöhe, der Sprechgeschwindigkeit etc. Bei einigen Beispielen können mehrere Stimmmerkmale verwendet werden, um stimmliche Eigenschaften zu quantifizieren, z.B. Energie, F0- oder Mel-Frequenz- (MFFC; mel-frequency coefficients) Koeffizienten. Bei einem Beispiel kann der SVM-Klassifizierer diese Merkmale verwenden, um akustische Eigenschaften mit hoher und niedriger Erregung zu erkennen, um daraus abzuleiten, wie „aufgeregt“ die Sprache ist, zum Beispiel ob die Person ein wenig wütend oder sehr wütend ist.
-
Bei einigen Beispielen kann das System einen Gefühl-Parameter umfassen. Zusätzlich zu den Informationen, die aus dem akustischen Signal der Sprache quantifiziert werden können, kann das System auch den Inhalt der Sprache (d.h. gesprochene Wörter) extrahieren. Wenn zum Beispiel das System Schimpfwörter oder einen Insassen erkennt, der zum Auto sagt: „Dummes Auto, du hättest fast diesen Pfosten getroffen!“, kann das System aus dem Ausdruck eine negative Stimmung ableiten. Umgekehrt, wenn zwei Menschen eine angenehme Unterhaltung führen, wie zum Beispiel „Ich freue mich wirklich darauf, nach Italien zu fahren. Wir waren letztes Jahr dort und es war großartig“, kann das System auf eine positive Stimmung ableiten. Das Gefühl kann verwendet werden, um zum Beispiel zwischen einer fröhlich aufgeregten Sprache und einer wütend aufgeregten Sprache zu unterscheiden.
-
Bei einigen Beispielen kombiniert das System die Informationen des emotionalen Kanals, um eine ganzheitliche Vorhersage des emotionalen Zustands eines Insassen zu erzeugen, und versucht abzuleiten, ob die emotionale Reaktion als Antwort auf eine fahrbezogene Situation und insbesondere auf eine vom Auto ausgeführte Aktion ist. Das System kann dann ein Zustandsmodell der emotionalen Zustände aufbauen.
-
Die Ausgabe des emotionalen Klassifizierers des Insassenzustands kann mehrere Dimensionen aufweisen. Bei einigen Beispielen nutzt das System mindestens vier, nämlich die Klassifikation des emotionalen Zustands ε {erschreckt, gestresst, frustriert, ...}, einen Vertrauenswert ε [0, 1], die Valenz des emotionalen Zustands ε [-1, 1], das Gefühl ε [-1,1] und die Erregung ε [0,1]. Dieser Insassenzustandsvektor wird als Eingabe für die Fahr-Policy-Maschine bereitgestellt.
-
2A, 2B und 2C sind schematische Darstellungen von Systemen, die in der Lage sind, emotional adaptive Policies für automatisiert fahrende Fahrzeuge gemäß einiger Beispiele zu implementieren. Bezug nehmend zuerst auf 2A umfasst in einem Beispiel ein System 200A eine kabineninterne Sensor-Suite 210, die einen oder mehrere Kamerasensor(en) 212, einen oder mehrere Mikrofonsensoren 214 und einen oder mehrere biometrische Sensoren 216, wie oben beschrieben, umfassen kann. Die Kamerasensor(en) 212 können visuelle Aspekte der kabineninternen Umgebung überwachen. Die Mikrofonsensor(en) 214 können akustische Aspekte der kabineninternen Umgebung überwachen. Die biometrische(n) Sensor(en) 216 können biometrische Daten von einem oder mehreren Insassen im Fahrzeug sammeln.
-
Das System 200A kann ferner eine Auswärts-Sensor-Suite 220 umfassen, die einen oder mehrere Kamerasensoren 222, einen oder mehrere LIDAR-Sensoren 224, einen oder mehrere RADAR-Sensoren 226, einen oder mehrere Trägheitsüberwachungs- (IMU; inertial monitoring unit) Sensoren 228 und einen oder mehrere globale Navigationssatellitensystem- (GNSS; global navigational satellite system) Sensoren 229 umfassen kann. Kamerasensor(en) 222, RADAR-Sensor(en) 224 und LIDAR-Sensor(en) 226 können einen oder mehrere Aspekte der äußeren Umgebung überwachen. IMU-Sensor(en) können die Bewegung des Fahrzeugs unter Verwendung von Trägheitsmessungen verfolgen. Die GNSS-Sensor(en) 229 können eine Position des Fahrzeugs unter Verwendung eines oder mehrerer Satelliten-basierter Positionssysteme überwachen.
-
Das System 200A kann ferner eine multimodale Emotionserkennungs-Maschine 230 umfassen, der einen Herzfrequenz-Emotionsklassifizierer 232, einen Audio-Emotionsklassifizierer 234, einen Semantik-Emotionsklassifizierer 236, einen Computer Vision (CV)-Emotionsklassifizierer 238 und ein multimodales Fusions- und Disambiguierungsmodul 239 umfassen kann. Die multimodale Emotionserkennungs-Maschine 230 empfängt als Eingaben die Ausgaben der verschiedenen Sensoren in der kabineninternen Sensor-Suite 210 und der Auswärts- Sensor-Suite 220. Der Herzfrequenz-Emotionsklassifizierer 232 kann Eingaben von einem oder mehreren biometrischen Sensor(en) empfangen, die die Herzfrequenz der Insassen im Fahrzeug überwachen, und kann Heuristiken auf die Herzfrequenz-Eingaben anwenden, um einen emotionalen Zustand der Insassen zu beurteilen. Der Audio-Emotionsklassifizierer 234 kann Eingaben von einem oder mehreren Mikrofonsensor(en) 214 empfangen und kann Heuristiken auf die Herzfrequenz-Eingaben anwenden, um einen emotionalen Zustand der Insassen zu beurteilen. Der Semantik-Emotionsklassifizierer 236 kann Eingaben von einem oder mehreren Mikrofonsensor(en) 214 empfangen, die Eingaben verarbeiten, um die Semantik der Audioeingabe zu ermitteln (z. B. unter Verwendung eines Stimmerkennungssystems), wie vorangehend beschrieben, und kann Heuristiken auf die Herzfrequenz-Eingaben anwenden, um einen emotionalen des einen oder der mehreren Insassen zu bewerten. Der CV-Emotionsklassifizierer 238 kann Eingaben von einem oder mehreren Kamerasensor(en) 214 empfangen und die Eingaben verarbeiten, um einen emotionalen Zustand von einem oder mehreren Insassen zu bewerten. Das multimodale Fusions- und Disambiguierungsmodul 239 kann die Ausgaben eines oder mehrerer der Klassifizierungsmodule kombinieren, um eine multimodale Schätzung des emotionalen Zustands von einem oder mehreren Insassen in dem Fahrzeug zu erzeugen.
-
Das System 200A kann ein multimodales Fahrzeugwahrnehmungs- und Lokalisierungsmodul 240 umfassen, das ein sensorbasiertes Objekterkennungsmodul 242, ein Sensorfusionsmodul 244 und ein Lokalisierungsmodul 246 umfassen kann. Das sensorbasierte Objekterkennungsmodul 242 kann Eingaben von einem oder mehreren Kamerasensor(en) 214 empfangen und die Eingaben verarbeiten, um ein oder mehrere Objekte in der das Fahrzeug umgebenden Umgebung zu erkennen. Das Lokalisierungsmodul 244 kann Eingaben von einem oder mehreren IMU-Sensor(en) und/oder GNSS-Sensor(en) empfangen und kann eine Position des Fahrzeugs bestimmen. Das Sensorfusionsmodul 246 kann den Zusammenschluss der Ausgaben des sensorbasierten Objekterkennungsmoduls und des Lokalisierungsmoduls kombinieren, um eine Position und einen Kontextzustand des Fahrzeugs zu erzeugen.
-
Das System 200A kann eine Fahr-Policy-Maschine 250A umfassen, die ein Semantik verstehendes Modul 252A, ein Trajektorie-Erzeugungs-Modul 254A und ein Trajektorie-Überwachungs-Modul 256A umfassen kann. Das Semantik verstehende Modul 252A kann Eingaben von dem Audio-Emotionsklassifizierer und/oder von dem Semantik-Emotionsklassifizierer empfangen. Das Trajektorie-Erzeugungs-Modul 254A kann Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts-Sensoreinheit 220, der multimodalen Emotionserkennungs-Maschine 230 und dem multimodalen Fahrzeugwahrnehmungs- und Lokalisierungsmodul 240 empfangen und kann eine Trajektorie für das Fahrzeug erzeugen. Das Trajektorie-Überwachungs-Modul 256A kann Eingaben von einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220 (z.B. die IMU-Sensor(en) und/oder die GNSS-Sensor(en) 229) empfangen, um die Trajektorie des Fahrzeugs sowie vom Fahrzeug-Betätigungssystem 280 zu überwachen.
-
Das System 200A kann ein Fahrzeug-Betätigungsmodul 280 umfassen, das ein Antriebsmodul 282, ein Bremsmodul 284, ein Lenkmodul 286 und ein Signalisierungsmodul 288 umfassen kann. Das Antriebsmodul 282 kann Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220 und der Fahr-Policy-Maschine 250A empfangen und passt den Antrieb des Fahrzeugs an. Das Bremsmodul 284 kann Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220 und der Fahr-Policy-Maschine 250A empfangen und passt das Bremsen des Fahrzeugs an. Das Lenkmodul 286 kann Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220 und der Fahr-Policy-Maschine 250A empfangen und die Lenkung des Fahrzeugs anpassen. Das Signalisierungsmodul 288 kann Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts-Sensor-Suite und der Fahr-Policy-Maschine 250A und passt das Signalisieren des Fahrzeugs an.
-
Somit umfasst das in 2A dargestellte System 200 sowohl interne als auch externe multimodale Sensoren, die von der Emotionserkennungs-Maschine und den Fahrzeugwahrnehmungs- und - lokalisierungsmodulen verwendet werden können, um den Autozustand und die Insassenzustände zu erzeugen, die in die Fahr-Policy-Maschine eingespeist werden, die die Zustandsfolge (Trajektorie) an die Niedrige-Ebene-Steuerung ausgibt, die das Fahrzeug betätigt.
-
In einem automatisierten Fahrzeug ist das Fahr-Policy-System dafür verantwortlich, den aktuellen Zustand des Fahrzeugs, die möglichen Handlungen, die zur Erreichung eines Ziels angewendet werden sollen, zu bewerten und die optimalen Kontrollrichtlinien zu bestimmen. Im Allgemeinen berücksichtigen Fahr-Policies einen Satz von Umweltbeobachtungen und Fahrzeugzuständen sowie einen Satz von Handlungen, die angewendet werden sollen. Das in 2A abgebildete System 200 erweitert die Umgebungsbeobachtung durch Bereitstellen einer fahrzeuginternen Umgebung zusätzlich zu der äußeren Umgebung und eines Insassen-Zustands zusätzlich zu dem Autozustand.
-
Ein weiteres Beispiel für ein System, das in der Lage ist, emotional adaptive Policies für automatisiert fahrende Fahrzeuge zu implementieren, ist in 2B abgebildet. Bezugnehmend auf 2B umfasst das System 200B bei einem Beispiel eine kabineninterne Sensor-Suite 210, eine Auswärts- Sensor-Suite 220, eine multimodale Emotionserkennungs-Maschine 230 und ein multimodales Fahrzeugwahrnehmungs- und -lokalisierungsmodul 240, die im Wesentlichen die gleichen sind wie die im Hinblick auf 2A beschriebenen. Somit werden der Klarheit und Kürze halber die Beschreibungen dieser Module nicht wiederholt.
-
Das System 200B kann eine Fahr-Policy-Maschine 250B umfassen, die sich in der Struktur von der in Hinblick auf 2A beschriebenen Fahr-Policy-Maschine 250A unterscheidet. Die Fahr-Policy-Maschine 250B kann ein Pfadmodul 252B, ein Trajektorie-Erzeugungs- und-Überwachungs-Modul 254B und Datenspeichereinheiten, umfassend Emotionsregeln 256B und Verkehrsregeln 258B, umfassen. Das Pfadplanungsmodul 252A kann Eingaben von dem multimodalen Fahrzeugwahrnehmungs- und Lokalisierungsmodul 240 empfangen, um einen Pfad zu bestimmen, dem das Fahrzeug folgen soll. Das Trajektorie-Erzeugungs- und -Überwachungs-Modul 254B kann Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220, der multimodalen Emotionserkennungs-Maschine 230 und dem multimodalen Fahrzeugwahrnehmungs- und Lokalisierungsmodul 240, der Datenspeichereinheit, umfassend Emotionsregeln 256B, und der Datenspeichereinheit, umfassend Verkehrsregeln 258B, empfangen und kann eine Trajektorie für das Fahrzeug erzeugen und überwachen.
-
Das System 200B kann ein Fahrzeug-Betätigungsmodul 280B umfassen, das ein Antriebsmodul 282, ein Bremsmodul 284, ein Lenkmodul 286 und ein Signalsierungsmodul 288 umfassen kann, die im Wesentlichen die gleichen wie die im Hinblick auf 2A beschriebenen sind. Somit werden der Klarheit und Kürze halber die Beschreibungen dieser Module nicht wiederholt.
-
Das Fahrzeug-Betätigungsmodul 280B kann ein Trajektorie-Entwicklungs-Modul 289 umfassen, das Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220 und dem Trajektorie-Erzeugungs- und Überwachungs-Modul 254B empfangen und die Trajektorie des Fahrzeugs anpasst.
-
Das Verkehrsregeln-Modul 258B kann ein Wissensbasis-System umfassen, umfassend Verkehrsregeln, wie zum Beispiel die zulässige Höchstgeschwindigkeit auf dem Straßenabschnitt und das Vorfahrtsverhalten. Das Emotionsregeln-Modul 256 kann auch ein Wissensbasis-System umfassen, das Abbildungen emotionaler Zustände umfasst, z.B. Verringerung des Beschleunigungsdeltas, wenn ein Insasse erschrickt, oder Erhöhung der Geschwindigkeit, wenn der Benutzer frustriert ist und die Geschwindigkeit niedrig ist. Die meisten dieser Regeln können als Inferenzen vom Typ WENN (X) DANN (Y) definiert werden.
-
Das Trajektorie-Erzeugungs- und Überwachungs-Modul 254B arbeitet somit als Inferenzmaschine. Das Modul 254B führt Recherchen in beiden Wissensbasen durch, passt die geeigneten Regeln basierend auf Auto- und Insassenzuständen an, filtert sie und stellt den Trajektorieplan zusammen, der die Pfadplanung und die dynamischen Ausführungswerte umfasst. Das Ergebnis der Pfadplanung wird an die Verkehrsregeln angepasst und ist ausgebildet, um die emotionalen Reaktionen der Insassen zu berücksichtigen und die fahrzeugkinematischen Einschränkungen im Hinblick auf Komfort zu optimieren.
-
3 ist ein Flussdiagramm, das Operationen in einem Verfahren zur Implementierung emotional adaptiver Policies für automatisiert fahrende Fahrzeuge gemäß einiger Beispiele darstellt. Bei einigen Beispielen können die in 3 abgebildeten Operationen durch Komponenten der Fahr-Policy-Maschine 250A oder der Fahr-Policy-Maschine 250B allein oder in Kombination mit anderen Komponenten der in 2A-2B abgebildeten Systeme 200A, 200B implementiert werden.
-
Bezugnehmend auf 3 werden bei Operation 310 Lokalisierungsdaten z.B. vom Lokalisierungsmodul 244 abgerufen. Bei Operation 312 werden Informationen über ein oder mehrere Hindernisse abgerufen, z.B. vom sensorbasierten Objekterkennungsmodul 242. Bei Operation 314, Informationen über die Straße(n), auf der (denen) sich das Fahrzeug bewegt, z.B. von den verschiedenen Sensoren in der Auswärts- Sensor-Suite 220 allein oder in Kombination mit externen Quellen, z.B. Abbildungs-Ressourcen.
-
Bei Operation 316 wird ein Betrag von freiem Raum, der das Fahrzeug umgibt, basierend auf den Hindernisinformationen und den Straßeninformationen geschätzt. Bei Operation 318 wird bestimmt, ob die gegenwärtige Trajektorie akzeptabel ist. Wenn bei Operation 318 die aktuelle Trajektorie nicht akzeptabel ist, geht die Steuerung zu den Operationen und die Verkehrsregeln werden z.B. aus der Verkehrsregeln-Datenspeichereinheit 258B erhalten. Gleichzeitig werden bei Operation 326 die Insassen-Zustandsregeln erhalten, z.B. aus der Emotionsregeln-Datenspeichereinheit 256B. Bei Operation 324 wird eine Trajektorie berechnet (z.B. in dem Trajektorie-Erzeugungs-Modul 254A oder in dem Trajektorie-Erzeugungs- und Überwachungs-Modul 254B) unter Verwendung der Pfadeingabe von Operation 320, der Verkehrsregeln von Operation 322 und der Insassenregeln von Operation 326.
-
Die in Operation erzeugte Trajektorie kann weitergeleitet werden. Bei Operation 328 wird die in Operation 324 bestimmte Trajektorie verwendet, um ein oder mehrere Manöver für das Fahrzeug auszuführen. Zum Beispiel kann die Trajektorie an das Fahrzeug-Betätigungsmodul 280A oder 280B weitergegeben werden, das wiederum einen oder mehrere Aktuatoren aktivieren kann, um das Manöver abzuschließen.
-
Bei Operation 330 wird die Trajektorie des Fahrzeugs überwacht (z.B. in dem Trajektorie-Überwachungs-Modul 256A oder im Trajektorie-Erzeugungs- und Überwachungs-Modul 254B). Wenn bei Operation 332 das Ziel des Manövers erreicht ist, geht die Steuerung zu Operation 334 und das Manöver endet. Wenn im Gegensatz dazu bei Operation 332 das Ziel nicht erreicht wird, geht die Steuerung zu Operation 336, wo festgestellt wird, ob die Trajektorie frei ist. Wenn die Trajektorie nicht frei ist, geht die Steuerung zurück zu Operation 318. Wenn im Gegensatz dazu bei Operation 336 die Trajektorie frei ist, geht die Steuerung zu Operation 338, wo bestimmt wird, ob eine Veränderung in dem emotionalen Zustand eines Insassen aufgetreten ist.
-
Wenn bei Operation 338 keine Veränderung des emotionalen Zustands des Insassens vorliegt, geht die Steuerung zu Operation 328 zurück, und das Manöver wird weiter ausgeführt. Wenn im Gegensatz dazu bei Operation 338 eine Änderung des emotionalen Zustands des Insassens vorliegt, geht die Steuerung zu Operation 324, und eine neue Trajektorie wird wie vorangehend beschrieben berechnet.
-
Somit definieren die Operationen 318-338 eine Schleife gemäß derer die Trajektorie eines Fahrzeugs basierend auf einer Anzahl von Eingaben, umfassend, aber nicht beschränkt auf, Eingaben im Hinblick auf den emotionalen Zustand der Insassen, modifiziert und überwacht werden kann.
-
Formal kann dieses System wie folgt ausgedrückt werden: Es wird angenommen, dass das Fahrzeug in einem Arbeitsraum Wε R2 arbeitet.
-
Zu einem bestimmten Zeitpunkt in Zeit und Raum umfasst dieser das Fahrzeug umgebende Arbeitsraum eine Anzahl von Hindernissen (Fahrzeugen) / Begrenzungen (Fahrbahnmarkierungen), nämlich woi das „i-te“ solcher Hindernisse / Einschränkungen. Somit ist der befahrbare Raum (hindernisfreier Arbeitsraum) definiert als Wfree = w - U(woi).
-
Das Pfadplanungsproblem wird durch ein Tupel dargestellt, bestehend aus einem Anfangspunkt X
init einem Endpunkt, X
goal und dem befahrbaren Raum zwischen diesen Punkten w
free . Pfadplanung ist definiert als Prozess φ, in dem eine gegebene Funktion δ : [0, T] → w, wobei der Anfangspunkt δ (0) = X
init und der letzte Punkt δ (T) = X
goal , Pfadplanung φ ist ein kontinuierlicher Prozess, bei dem δ (t) ε w
free . Daraus wird eine formale Definition des Pfads abgeleitet:
-
Da im freien Raum mehrere Pfade vorliegen können, die die Start- und Endpunkte kommunizieren, wird die optimale Pfadplanung durch eine Kostenfunktion C:P-> ℕ0 definiert, wobei P den Satz aller möglichen Pfade bezeichnet. Optimale Pfadplanung ist definiert als ein Prozess φ', der die vorherige Kostenfunktion verwendet, um die Lösung auf die optimale Lösung δ' zu beschränken so dass C(p') = min (C(P)). Der Hauptparameter der Kostenfunktion ist normalerweise der kürzeste Pfad, da es Kraftstoff/Energie spart, aber andere Parameter können auch hinzugefügt werden, um den Weg zu bestimmten Parametern zu optimieren.
-
Die Trajektorieplanung wendet kinematische Einschränkungen auf φ' in einer Kombination von Polynomen an, die die Zeit durchquert x(t) = ƒ(x(t), u(t)). Wo x(t) den sich entwickelnden Fahrzeugzustand entlang des Pfads bestimmt und u(t) die Steuerparameter bestimmt, die im Laufe der Zeit angewendet werden. Die Steuerparameter für ein fahrendes Fahrzeug können auf 2 Freiheitsgrade (DOF; degrees of freedom) reduziert werden, um Quer- und Längsabweichungen des Fahrzeugs durch Eingabe im Hinblick auf den Lenkradwinkel Δθ und die Geschwindigkeit Δυ (als Ergebnis von Brems-/Gaspedaleingaben) zu steuern. Bei der Fahr-Policy wird die Ausgabe durch 3 Komponenten beeinflusst: die Ausgabe zum nächsten Wegpunkt im Pfadplan (G), die Ausgabebeschränkungen, die durch den emotionalen Zustand (E) gegeben sind, und die Ausgabebeschränkungen, die durch Verkehrsregeln (R) gegeben sind:
wo ΔT ein Skalar für das Zeitfenster, in dem die Ausgabe angewendet wird, ist, sind k
g, k
e and k
rGewichte, die der Bedingung (k
g + k
e + k
r = 1). folgen. Bei den Zeitfenstern, in denen der emotionale Zustand neutral ist k
e = 0 und jeweils null bleibt, wenn gegen keine Verkehrsregeln (z.B. Geschwindigkeitsbegrenzung) verstoßen wird. Bei irgendwelchen anderen Fällen wenden E(s) und R(s) die korrigierenden Deltas auf Δθ und Δυ an bis sich die Fahrzeug- und Insassenzustände wieder innerhalb des optimalen Parameterbereichs befinden.
-
Die Implementierung der Fahrzeugsteuerung kann den gemischt-ganzzahlige lineare Optimierungs- (MILP; Mixed-Integer Linear Programming) oder proportional ganzzahlige Ableitungs- (PID; Proportional Integral-Derivative) Methoden mit den vorangehend beschriebenen parametrischen Zusätzen folgen. Das System kann auch mit zunehmenden Freiheitsgraden basierend auf anderen anderer Steuerparametern erweitert werden, um komplexe Manöver in Zeit und 3D-Raum durchzuführen.
-
Bestärkendes Lernen von einer emotional bewussten Fahr-Policy
-
Eine andere Implementierung von Fahr-Policies kann bioinspirierten Algorithmen folgen, die aus der Nachahmung biologischer Verhaltensweisen stammen, um die Pfad- und Trajektorieplanung zu lösen. Diese lassen sich unterteilen in evolutionäre Algorithmen, die stochastische Suchansätze verwenden, die die natürliche Evolution und soziales Verhalten imitieren (d. h. genetische Algorithmen, Ameisenkolonie-Optimierung und Partikelschwarm-Optimierung), und neuronale Netze-Algorithmen, die das Verhalten des Gehirns nachahmen. Der neuronale Netz-Ansatz ist in der Robotik- und autonomen Fahren-Community auf besonderes Interesse gestoßen, insbesondere durch die erfolgreiche Anwendung von Tief-Lern-Techniken auf die Wahrnehmungs - Entscheidungs - Aktuation - Pipeline. Innerhalb des tiefen Lernens gibt es mehrere Ansätze, wie beispielsweise überwachtes Lernen, bei dem der Fahr-Policy direkt eine Sequenz unabhängiger Beispiele von korrekten Vorhersagen, die unter unterschiedlichen Umständen zu treffen sind, präsentiert wird, Imitationslernen, bei dem der Fahr-Policy Demonstrationen von Handlungen einer guten Strategie, die in gegebenen Situationen zu befolgen ist, bereitgestellt wird, und Verstärkungslernen (RL; Reinforcement Learning), bei dem die Fahr-Policy den Raum möglicher Strategien erkundet und Rückmeldungen über das Ergebnis der Entscheidungen erhält, die getroffen wurden, um eine „gute“ - oder idealerweise optimale - Strategie (d. h. Strategie oder Steuerung) abzuleiten.
-
Hierin werden Beispiele eines System beschrieben, das sich kontinuierlich an den emotionalen Zustand eines bestimmten Insassen anpasst, unter Verwendung eines auf verstärkendem Lernen basierenden Fahr-Policy-Systems, das durch ein emotionales Zustandsbewusstsein verbessert wird. Unter den unterschiedlichen Algorithmen, die in RL zur Verfügung stehen, wird hierin eine Implementierung unter Verwendung einer Asynchronous Advantage Actor-Critic (A3C) beschrieben. Das System wird in 2C auf einer hohen Ebene beschrieben.
-
Bezugnehmend auf 2C umfasst das System 200C bei einem Beispiel eine kabineninterne Sensor-Suite 210, eine Auswärts- Sensor-Suite 220, eine multimodale Emotionserkennungs-Maschine 230 und ein multimodales Fahrzeugwahrnehmungs- und -lokalisierungsmodul 240, die im Wesentlichen die gleichen sind wie die im Hinblick auf 2A beschriebenen. Somit werden der Klarheit und Kürze halber die Beschreibungen dieser Module nicht wiederholt.
-
Das System 200C kann eine Fahr-Policy-Maschine 250C umfassen, basierend auf verstärktem Lernen (RL), die sich in der Struktur von der im Hinblick auf 2A beschriebenen Fahr-Policy-Maschine 250A unterscheidet. Die Fahr-Policy-Maschine 250C kann ein globales AC3-Netzwerk 252C umfassen, das wiederum eine Eingabeschicht 254C, eine globale Netzwerkschicht 256C, eine Fahr-Policy-Schicht 258C, Werte 260C, und einen oder mehrere AC3-Agenten 262C umfasst.
-
Bei dieser Implementierung empfängt die RL-basierte Fahr-Policy-Maschine 250C als Eingabe den Autozustand und die Insassenzustände. Das globale A3C Netzwerk 252C kopiert diese Eingabe an die einzelnen A3C-Agenten 262C, die Multithreading in verfügbaren Prozessorkernen ausführen, wobei die Anzahl der Agenten N-1 Anzahl der Kerne des Systems betragen kann. Jeder Agent 262C erfährt die Umgebungseingabe und erzeugt einen Wert und die Ergebnisse der Policyverluste, die in das globale A3C-Netzwerk 252C aggregiert (gelernt) werden, das dann das Endergebnis in Form der optimalen Fahr-Policy-Aktion produziert. Diese Trajektorie wird zur Ausführung an die Fahrzeug-Betätigung weitergegeben.
-
Das System 200C kann ein Fahrzeug-Betätigungsmodul 280B umfassen, das ein Antriebsmodul 282, ein Bremsmodul 284, ein Lenkmodul 286 und ein Signalisierungsmodul 288 umfassen kann, die im Wesentlichen die gleichen wie die im Hinblick auf 2A beschriebenen sind. Somit werden der Klarheit und Kürze halber die Beschreibungen dieser Module nicht wiederholt.
-
Das Fahrzeug-Betätigungsmodul 280C kann ein Trajektorie-Entwicklungs-Modul 289 umfassen, das Eingaben von einem oder mehreren der Sensoren in der kabineninternen Sensor-Suite 210, einem oder mehreren der Sensoren in der Auswärts- Sensor-Suite 220 und die RL-basierte Fahr-Policy-Maschine 250C empfangen kann und die Trajektorie des Fahrzeugs anpasst.
-
Ein Beispiel für den Entscheidungsfindungs- und adaptiven Lernprozess auf der RL-basierten Fahr-Policy-Maschine ist im Diagrammablauf in 4 detailliert dargestellt. Bezugnehmend auf 4 erhält die Fahr-Policy-Maschine 250C Autozustands-Informationen (Operation 410) und Insassenzustands-Informationen (Operation 412) umfassend Umgebungszustände und initialisiert (Operation 414) die globalen A3C-Netzwerkparameter, die gemeinschaftlich verwendete Parametervektoren und den Ereignishorizont umfassen (d.h. wie weit voraus plant das Fahrzeug die Auswirkungen der Handlungen). Wenn bei Operation 416 die Fahr-Policy berücksichtigt, dass das Fahrzeug das Fahr-Policy-Manöver nicht abgeschlossen hat, erzeugt der globale A3C Netzwerk-Agent 262C dann (Operation 418) A3C-Arbeiter gemäß der verfügbaren Anzahl von Verarbeitungskernen (N) in einer Multithreading-Weise.
-
Die Umgebungseingabe wird auf die einzelnen A3C-Arbeiter 420A, 420B usw. kopiert, wodurch ein Policy-Netzwerk initialisiert wird. Bei einem Beispiel kann eine A3C-Netzwerktopologie eine Eingabeschicht 450, eine vollständig verbundene Schicht 452, ein Langes-Kurzzeitgedächtnis-(LSTM; long-short term memory) Modul 454, Fahr-Policies 456 und Werte 458 umfassen. Bei einigen Beispielen etabliert dieses Netzwerk Erkundungsparameter und ergreift die entsprechenden zukünftigen Handlung, misst die erwartete(n) Belohnung(en) und aktualisiert die Policy für so viele Handlungen, wie der Ereignishorizont spezifiziert. Zu diesem Zeitpunkt berechnet der AC3-Arbeiter 420A, 420B die kumulativen Belohnungen: den Wertverlust, den Verlust der Policy und die Entropie der Policy zum Erhalten von Lerngradienten (Operation 434). Die Gradienten jedes Arbeiters 420A, 420B werden an das globale Netzwerk weitergeleitet, das die Netzwerkparameter aktualisiert, nachdem es parallel von allen Erfahrungen der Arbeiter 420A, 420B gelernt hat, und die beste globale Aktion (d.h. Trajektorie) durchführt. Dieser Lernprozess ermöglicht eine kontinuierliche Aktualisierung bei der Berechnung der besten Fahrzeughandlung in einer Funktion, die den Fahrzeugzustand und den Insassenzustand auf die Fahrzeugbetätigung abbildet, die im Laufe der Zeit für die Trajektorie und Belohnungen des emotionalen Zustands der Insassen optimiert wird.
-
Bei Operation 440 werden die Ergebnisse der A3C-Arbeiter 420A, 420B aggregiert und bei Operation 442 wird eine Policy aktualisiert und ein Wert erzeugt (Operation 444), und bei Operation 446 wird das Manöver ausgeführt.
-
Funktionell wird das System wie folgt ausgedrückt. Angesichts eines Autoinsassenzustands s ε S und eine Fahraktion α ε A kann eine Funktion definiert werden, die die Zustände der Autoinsassen auf die Fahrhandlungen abbildet. Diese Funktion kann als eine Fahr-Policy π(s) = P (at|st). bezeichnet werden. Bei jedem Zeitschritt t nimmt das Fahrzeug einen Zustand St wahr und wählt eine Handlung at aus einem Satz von möglichen Handlungen A gemäß der Policy π aus. Im Gegenzug empfängt der Agent den nächsten Zustand St+1 und eine skalare Belohnung γt. Der Prozess wird so lange fortgesetzt, bis das Fahrzeug den Endzustand oder den Ereignishorizont H erreicht (d.h. die Zeitspanne, in der die Policy in die Zukunft blickt, um eine kumulative Belohnung zu berechnen).
-
Die Belohnung kann als gewichtete Summe von Termen berechnet werden: z.B. positiv gewichtete Geschwindigkeit (
υt in km/h), zurückgelegte Entfernung zum Ziel (dt in km) und emotionale Zustandsvalenz (evalt ε [-1,1]), und negativ gewichtete Entfernung zum vorderen Objekt (ct), Überlappung mit dem linken Seitenstreifen (
stε[0,1]), Überlappung mit der gegenüberliegenden Fahrbahn (ot ε [0,1]) und emotionale Zustandserregung (earot):
-
Es wird darauf hingewiesen, dass die Belohnungsfunktion komplexer sein könnte und weitere Kriterien hinzugefügt werden könnten. Die Werte der Koeffizienten k können auch geändert werden, um die Lernpräferenzen zu modifizieren. Die kumulative Belohnung wird definiert als:
wobei γ der Rabattfaktor über die Zeitschritte h und ε (0,1]. ist.
-
Das Ziel der Fahr-Policy-Maschine ist es, eine optimierte Fahr-Policy π*als diejenige zu finden, die die erwartete Rückgabe R maximiert. In diesem Fall bedeutet dies, dass das Fahrzeug dorthin gelangt, wo es hin soll, wobei der Insasse eine positive emotionale Erfahrung erlebt. A3C ist ein Algorithmus, der Policy sucht, so dass er die Policy π(a
t| s
t; θ) direkt parametrisiert und die Parameter θ aktualisiert, indem er einen Gradientenanstieg auf R durchführt und eine gelernte Grundlinie, die dem Rückgabewert aus der folgenden Richtlinie π entspricht, vom Zustand s subtrahiert. Diese Subtraktion ist in A3C als Vorteil Ad der Handlung
at im Zustand bekannt und kann wie folgt ausgedrückt werden:
-
Weil R eine Schätzung von Q(at; st) ist und die Grundlinie eine Schätzung von V(at; st). ist.
-
Am Ende des Ereignishorizonts berechnet der Algorithmus den Wertverlust V
L als:
und den Policy-Verlust als:
mit dem letzte Parameter als die Shannon-Entropie (Streuung der Handlungswahrscheinlichkeiten) und der Parameter β, der die Stärke der Entropie-Regulierung reguliert.
-
Nach diesem Prozess aktualisiert der Algorithmus das Netz unter Verwendung der von der Umgebung bereitgestellten Informationen. Mit der Zeit erhält der Agent immer genauere Kenntnisse über die Umgebung, auf deren Grundlage die Policy des Agenten schließlich zur optimalen Politik π *. konvergiert. A3C Algorithmus-Multithreads, die das Erzeugen paralleler Aktoren erleben, können die zukünftigen unterschiedlichen Handlungen vorhersagen und daraus eine kumulative Erfahrung lernen.
-
Der hierin beschriebene Gegenstand ist ein Beispiel für die Anwendung des verstärkten Lernens zum Aufbau einer kontinuierlich angepassten Fahr-Policy zur Optimierung der Steuerungseingabe auf den emotionalen Zustand oder das Wohlbefinden des Fahrers. Andere RL-Algorithmen könnten mit ähnlichen Ergebnissen angewandt werden und andere Techniken des maschinellen Lernens könnten für ähnliche Zwecke eingesetzt werden, wie beispielsweise Imitationslernen oder überwachtes Lernen.
-
Die zuvor beschriebene Implementierung kann während automatisierter oder kooperativer Fahrumgebungen angewendet werden, um die Reaktion und das Verhalten des Fahrzeugs auf Straßenereignisse anzupassen. 5A, 5B, 5C und 5D sind Diagramme, die Fahrmanöver gemäß einiger Beispiele darstellen. Bezugnehmend auf 5A stellt diese eine Überhohlsituation dar, in der ein kurzer Abstand zum Vordermann (di) zu einer Stresssituation führt. 5B stellt ein optimiertes Überhohlverhalten basierend auf dem emotionalen Zustand mit größerem Abstand zum Vordermann und flüssigerem Spurwechsel dar. 5C stellt eine einfache Fahrspurfolge-Fahr-Policy in städtischen Szenarien dar. Aufgrund der niedrigen Fahrzeuggeschwindigkeit erzeugt dieses Szenario Frustration. 5D stellt eine aktualisierte Fahr-Policy dar, bei der die Durchschnittsgeschwindigkeit erhöht wird, indem mehrere Spurwechsel zum Überholen langsamerer Fahrzeuge zugelassen werden.
-
6 stellt ein Blockdiagramm eines System-auf-Chip- (SOC; system on chip) Package gemäß einem Ausführungsbeispiel dar. Wie in 6 dargestellt, umfasst das SOC 602 einen oder mehrere Zentrale-Verarbeitungseinheit- (CPU; Central Processing Unit) Kerne 620, einen oder mehrere Grafikverarbeitungseinheit- (GPU; Graphics Processor Unit) Kerne 630, eine Eingabe-/Ausgabe-(I/O; Input/Output) Schnittstelle 640 und eine Speichersteuerung 642. Verschiedene Komponenten des SOC-Packages 602 können mit einer Verbindung oder einem Bus gekoppelt sein, wie beispielsweise hierin unter Bezugnahme auf die anderen Figuren erörtert. Das SOC-Package 602 kann auch mehr oder weniger Komponenten umfassen, wie beispielsweise die hierin unter Bezugnahme auf die anderen Figuren erörterten. Ferner kann jede Komponente des SOC-Packages 620 eine oder mehrere andere Komponenten umfassen, z. B. wie unter Bezugnahme auf die anderen Figuren hierin erörtert. Bei einem Ausführungsbeispiel wird das SOC-Package 602 (und seine Komponenten) auf einem oder mehreren integrierten Schaltungs- (IC) Dies bereitgestellt, die z.B. in ein einzelnes Halbleiterbauelement gepackaget sind.
-
Wie in 6 dargestellt, ist das SOC-Package 602 über die Speichersteuerung 642 mit einem Speicher 660 gekoppelt. Bei einem Ausführungsbeispiel kann der Speicher 660 (oder ein Abschnitt desselben) auf dem SOC-Package 602 integriert sein.
-
Die I/O-Schnittstelle 640 kann mit einer oder mehreren I/O-Vorrichtungen 670 gekoppelt sein, z. B. über eine Verbindung und/oder einen Bus, wie beispielsweise hierin unter Bezugnahme auf andere Figuren erörtert. Die I/O-Vorrichtung(en) 670 können eines oder mehrere umfassen von einer Tastatur, einer Maus, einem Touchpad, einer Anzeige, einer Bild-/Video-Erfassungsvorrichtung (wie beispielsweise einer Kamera oder einem Camcorder/Videorecorder), einem Touchscreen, einem Lautsprecher oder Ähnlichem.
-
7 ist ein Blockdiagramm eines Verarbeitungssystems 700 gemäß einem Ausführungsbeispiel. Bei verschiedenen Ausführungsbeispielen umfasst das System 700 einen oder mehrere Prozessoren 702 und einen oder mehrere Grafikprozessoren 708 und kann ein Ein-Prozessor-Desktop-System, ein Multiprozessor-Arbeitsstations-System oder ein Server-System, umfassend eine große Anzahl von Prozessoren 702 oder Prozessorkernen 707, sein. Bei einem Ausführungsbeispiel ist das System 700 eine Verarbeitungsplattform, die in eine integrierten System-auf-Chip (SoC oder SOC) -Schaltung zur Verwendung in mobilen, handgehaltenen oder eingebetteten Vorrichtungen integriert ist.
-
Ein Ausführungsbeispiel des Systems 700 kann eine serverbasierte Spielplattform, eine Spielkonsole, umfassend eine Spiel- und Medienkonsole, eine mobile Spielkonsole, eine handgehaltene-Spielkonsole oder eine Online-Spielkonsole umfassen oder in eine solche integriert sein. Bei einigen Ausführungsbeispielen ist das System 700 ein Mobiltelefon, ein Smartphone, eine Tablet-Rechenvorrichtung oder eine mobile Internetvorrichtung. Das Datenverarbeitungssystem 700 kann auch eine tragbare Vorrichtung umfassen, mit einer solchen gekoppelt oder in eine solche integriert sein, wie beispielsweise eine tragbare Smart Watch-Vorrichtung, eine Vorrichtung einer intelligenten Brille, eine Augmented-Reality-Vorrichtung oder eine Virtual-Reality-Vorrichtung. Bei einigen Ausführungsbeispielen ist das Datenverarbeitungssystem 700 ein Fernsehgerät oder ein Set-Top-Box-Gerät mit einem oder mehreren Prozessoren 702 und einer grafischen Schnittstelle, die von einem oder mehreren Grafikprozessoren 708 erzeugt wird.
-
Bei einigen Ausführungsbeispielen umfassen der eine oder die mehreren Prozessoren 702 jeweils einen oder mehrere Prozessorkerne 707 zur Verarbeitung von Befehle, die bei ihrer Ausführung Operationen für System- und Benutzersoftware ausführen. Bei einigen Ausführungsbeispielen ist jeder des einen oder der mehreren Prozessorkerne 707 für die Verarbeitung eines bestimmten Befehlssatzes 709 ausgebildet. Bei einigen Ausführungsbeispielen kann der Befehlssatz 709 die Berechnung komplexer Befehlssätze (CISC; Complex Instruction Set Computing,), die Berechnung reduzierter Befehlssätze (RISC; Reduced Instruction Set Computing) oder die Berechnung über ein sehr langes Befehlswort (VLIW; Very Long Instruction Word) ermöglichen. Mehrere Prozessorkerne 707 können jeweils einen unterschiedlichen Befehlssatz 709 verarbeiten, der Befehle umfassen kann, um die Emulation anderer Befehlssätze zu ermöglichen. Der Prozessorkern 707 kann auch andere Verarbeitungsvorrichtungen umfassen, wie beispielsweise einen Digitalsignalprozessor (DSP; digital signal prozessor).
-
Bei einigen Ausführungsbeispielen umfasst der Prozessor 702 einen Cache-Speicher 704. Abhängig von der Architektur kann der Prozessor 702 einen einzelnen internen Cache oder mehrere Ebenen eines internen Caches umfassen. Bei einigen Ausführungsbeispielen wird der Cache-Speicher von verschiedenen Komponenten des Prozessors 702 gemeinschaftlich verwendet. Bei einigen Ausführungsbeispielen verwendet der Prozessor 702 auch einen externen Cache (z.B. einen Level-3 (L3)-Cache oder Last Level Cache (LLC)) (nicht gezeigt), die von den Prozessorkernen 907 unter Verwendung bekannter Cache-Kohärenztechniken gemeinschaftlich verwendet werden können. Im Prozessor 702 ist zusätzlich eine Registerdatei 706 umfasst, die unterschiedliche Arten von Registern zur Speicherung unterschiedlicher Datentypen umfassen kann (z.B. Ganzzahlregister, Fließkommaregister, Statusregister und ein Befehlszeigerregister). Einige Register können Allzweckregister sein, während andere Register spezifisch für den Entwurf des Prozessors 702 sein können.
-
Bei einigen Ausführungsbeispielen sind ein oder mehrere Prozessor(en) 702 mit einem oder mehreren Schnittstellenbus(en) 710 gekoppelt, um Kommunikationssignale wie Adress-, Daten- oder Steuersignale zwischen Prozessor 702 und anderen Komponenten im System zu übertragen. Der Schnittstellenbus 710 kann bei einem Ausführungsbeispiel ein Prozessorbus sein, wie beispielsweise eine Version des Direkte Medienschnittstelle- (DMI; Direct Media Interface) Busses. Prozessorbusse sind jedoch nicht auf den DMI-Bus beschränkt und können einen oder mehrere Peripheral Component Interconnect Busse (z.B. PCI, PCI Express), Speicherbusse oder andere Arten von Schnittstellenbussen umfassen. Bei einem Ausführungsbeispiel umfassen die Prozessor(en) 702 eine integrierte Speichersteuerung 716 und einen Plattformsteuerungshub 730. Die Speichersteuerung 716 ermöglicht die Kommunikation zwischen einer Speichervorrichtung und anderen Komponenten des Systems 700, während der Plattformsteuerungshub (PCH) 730 Verbindungen zu I/O-Vorrichtungen über einen lokalen I/O-Bus bereitstellt.
-
Die Speichervorrichtung 720 kann eine dynamische Direktzugriffsspeicher- (DRAM; Dynamic Random Access Memory) Vorrichtung, eine statische Direktzugriffsspeicher- (SRAM; Static Random Access Memory) Vorrichtung, eine Flash-Speichervorrichtung, eine Phasenänderungsspeicher-Vorrichtung oder eine andere Speichervorrichtung sein, umfassend geeignete Performance, um als Prozessspeicher zu dienen. Bei einem Ausführungsbeispiel kann die Speichervorrichtung 720 als Systemspeicher für das System 700 arbeiten, um Daten 722 und Befehle 721 zu speichern, die verwendet werden, wenn der eine oder die mehreren Prozessoren 702 eine Anwendung oder einen Prozess ausführen. Der Speichersteuerungshub 716 ist ebenfalls mit einem optionalen externen Grafikprozessor 712 gekoppelt, der mit dem einem oder den mehreren Grafikprozessoren 708 in Prozessoren 702 kommunizieren kann, um Grafik- und Medienoperationen durchzuführen. Bei einigen Ausführungsbeispielen kann sich eine Anzeigevorrichtung 711 mit den Prozessor(en) 702 verbinden. Die Anzeigevorrichtung 711 kann eine oder mehrere von einer internen Anzeigevorrichtung sein, wie eine mobile elektronische Vorrichtung oder ein Laptop oder eine externe Anzeigevorrichtung, das über eine Anzeigeschnittstelle (z.B. DisplayPort, etc.) angeschlossen ist. Bei einem Ausführungsbeispiel kann die Anzeigevorrichtung 711 ein Head Mounted Display (HMD) sein, wie beispielsweise eine stereoskopische Anzeigevorrichtung für die Verwendung in Virtual Reality (VR)- oder Augmented Reality (AR)-Anwendungen.
-
Bei einigen Ausführungsbeispielen ermöglicht es der Plattformsteuerungshub 730 Peripherievorrichtungen, sich mit der Speichervorrichtung 720 und dem Prozessor 702 über einen Hochgeschwindigkeits-I/O-Bus zu verbinden. Die I/O-Peripherievorrichtungen umfassen, sind aber nicht beschränkt auf, eine Audio-Steuerung 746, eine Netz-Steuerung 734, eine Firmware-Schnittstelle 728, einen drahtlosen Sendeempfänger 726, Berührungssensoren 725, eine Datenspeicherungsvorrichtung 724 (z.B. Festplatte, Flash-Speicher etc.). Die Datenspeicherungsvorrichtung 724 kann über eine Speicherungsschnittstelle (z.B. SATA) oder über einen Peripheriebus, wie beispielsweise einen Peripheral Component Interconnect Bus (z.B. PCI, PCI Express) verbinden. Die Berührungssensoren 725 können Touchscreen-Sensoren, Drucksensoren oder Fingerabdrucksensoren umfassen. Der drahtlose Sendeempfänger 726 kann ein Wi-Fi-Sendeempfänger, ein Bluetooth-Sendeempfänger oder ein mobile Netze-Sendeempfänger wie beispielsweise ein 3G-, 4G- oder Long Term Evolution (LTE)-Sendeempfänger sein. Die Firmware-Schnittstelle 728 ermöglicht die Kommunikation mit der System-Firmware und kann zum Beispiel eine Vereinheitlichte erweiterbare Firmware-Schnittstelle (UEFI; unified extensible firmware interface) sein. Die Netzwerksteuerung 734 kann eine Netzwerkverbindung zu einem verdrahteten Netz ermöglichen. Bei einigen Ausführungsbeispielen koppelt eine Hochperformance-Netzwerksteuerung (nicht gezeigt) mit dem Schnittstellenbus 710. Die Audio-Steuerung 746 ist bei einem Ausführungsbeispiel eine hochauflösende Mehrkanal-Audio-Steuerung. Bei einem Ausführungsbeispiel umfasst das System 700 eine optionale Legacy-I/O-Steuerung 740 zum Koppeln von Legacy- (z.B. Personal System 2 (PS/2)) Vorrichtungen mit dem System. Der Plattformsteuerungshub 730 kann auch mit einem oder mehreren universellen seriellen Bus- (USB; Universal Serial Bus) Steuerungen 742 verbinden, um Eingabegeräte, wie Kombinationen aus Tastatur und Maus 743, eine Kamera 744 oder andere USB-Eingabegeräte, zu verbinden.
-
8 ist ein Blockdiagramm eines Ausführungsbeispiels eines Prozessors 800 mit einem oder mehreren Prozessorkernen 802A bis 802N, einer integrierten Speichersteuerung 814 und einem integrierten Grafikprozessor 808. Diejenigen Elemente von 8 mit den gleichen Bezugszeichen (oder Namen) wie die Elemente von irgendeiner anderen Figur hierin können auf irgendeine Weise arbeiten oder funktionieren, die der anderswo hierin Beschriebenen ähnlich ist, diese aber nicht darauf begrenzt sind. Der Prozessor 800 kann zusätzliche Kerne bis zu und umfassend den zusätzlichen Kern 802N umfassen, der durch die gestrichelt eingefassten Kästchen dargestellt wird. Jeder der Prozessorkerne 802A bis 802N umfasst eine oder mehrere interne Cache-Einheiten 804A bis 804N. Bei einigen Ausführungsbeispielen weist jeder Prozessorkern auch Zugriff auf eine oder mehrere gemeinschaftlich verwendete Cache-Einheiten 806 auf.
-
Die internen Cache-Einheiten 804A bis 804N und die gemeinschaftlich verwendeten Cache-Einheiten 806 stellen eine Cache-Speicherhierarchie innerhalb des Prozessors 800 dar. Die Cache-Speicherhierarchie kann zumindest eine Befehls- und Daten-Cache-Ebene innerhalb jedes Prozessorkerns und eine oder mehrere Ebenen von gemeinschaftlich verwendetem Cache der mittleren Ebene umfassen, wie beispielsweise eine Ebene 2 (L2), Ebene 3 (L3), Ebene 4 (L4) oder andere Cache-Ebenen, wobei die höchste Cache-Ebene vor dem externen Speicher als die LLC klassifiziert wird. Bei einigen Ausführungsbeispielen behält die Cache-Kohärenzlogik die Kohärenz zwischen den verschiedenen Cache-Einheiten 806 und 804A bis 804N bei.
-
Bei einigen Ausführungsbeispielen kann der Prozessor 800 auch einen Satz von einer oder mehreren Bussteuerungs-Einheiten 816 und einen Systemagentenkern 810 umfassen. Die eine oder die mehreren Bussteuerungs-Einheiten 816 verwalten einen Satz von Peripheriebussen, wie beispielsweise einen oder mehrere Peripheral Component Interconnect Busse (z.B. PCI, PCI Express). Der Systemagentkern 810 stellt Verwaltungsfunktionalität für die verschiedenen Prozessorkomponenten bereit. Bei einigen Ausführungsbeispielen umfasst der Systemagentenkern 810 eine oder mehrere integrierte Speichersteuerungen 814 zur Verwaltung des Zugriffs auf verschiedene externe Speichervorrichtungen (nicht gezeigt).
-
Bei einigen Ausführungsbeispielen umfassen einer oder mehrere der Prozessorkerne 802A bis 802N Unterstützung für gleichzeitiges Multithreading. Bei einem solchen Ausführungsbeispiel umfasst der Systemagentenkern 810 Komponenten zur Koordinierung und zum Betrieb der Kerne 802A bis 802N während der multi-threaded-Verarbeitung. Der Systemagentenkern 810 kann zusätzlich eine Leistungssteuereinheit (PCU; power control unit) umfassen, die Logik und Komponenten zur Regelung des Leistungszustands der Prozessorkerne 802A bis 802N und des Grafikprozessors 808 umfasst.
-
Bei einigen Ausführungsbeispielen umfasst der Prozessor 800 zusätzlich den Grafikprozessor 808 zur Ausführung von Grafikverarbeitungsoperationen. Bei einigen Ausführungsbeispielen koppelt der Grafikprozessor 808 mit dem Satz gemeinschaftlich verwendeter Cache-Einheiten 806 und dem Systemagentenkern 810, umfassend die eine oder die mehreren integrierten Speichersteuerungen 814. Bei einigen Ausführungsbeispielen ist eine Anzeige-Steuerung 811 mit dem Grafikprozessor 808 gekoppelt, um die Grafikprozessorausgabe an eine oder mehrere gekoppelte Anzeigen zu treiben. Bei einigen Ausführungsbeispielen kann die Anzeige-Steuerung 811 ein getrenntes Modul sein, das über zumindest eine Verbindung mit dem Grafikprozessor gekoppelt ist, oder kann innerhalb des Grafikprozessors 808 oder des Systemagentenkerns 810 integriert sein.
-
Bei einigen Ausführungsbeispielen wird eine ringbasierte Verbindungseinheit 812 verwendet, um die internen Komponenten des Prozessors 800 zu koppeln. Es kann jedoch eine alternative Verbindungseinheit verwendet werden, wie beispielsweise eine Punkt-zu-Punkt-Verbindung, eine verschaltete Verbindung oder andere Techniken, umfassend im Stand der Technik wohlbekannte Techniken. Bei einigen Ausführungsbeispielen koppelt der Grafikprozessor 808 über eine I/O-Verknüpfung 813 mit der Ringverbindung 812.
-
Die beispielhafte I/O-Verknüpfung 813 stellt zumindest eine von mehreren Varianten von I/O-Verbindungen dar, umfassend eine I/O-Verbindung auf Package, die die Kommunikation zwischen verschiedenen Prozessorkomponenten und einem eingebettetem Hochperformance-Speichermodul 818 ermöglicht, wie beispielsweise ein eDRAM- (oder eingebettetes DRAM-) Modul. Bei einigen Ausführungsbeispielen verwendet jeder der Prozessorkerne 802 bis 802N und der Grafikprozessor 808 eingebettete Speichermodule 818 als einen gemeinschaftlich verwendeten Letzte-Ebene-Cache (Last Level Cache).
-
Bei einigen Ausführungsbeispielen sind die Prozessorkerne 802A bis 802N homogene Kerne, die die gleiche Befehlssatzarchitektur ausführen. Bei einem anderen Ausführungsbeispiel sind die Prozessorkerne 802A bis 802N in Bezug auf die Befehlssatzarchitektur (ISA; instruction set architecture) heterogen, wobei einer oder mehrere der Prozessorkerne 802A bis 802N einen ersten Befehlssatz ausführen, während zumindest einer der anderen Kerne eine Teilmenge des ersten Befehlssatzes oder einen anderen Befehlssatz ausführt. Bei einem Ausführungsbeispiel sind die Prozessorkerne 802A bis 802N in Bezug auf die Mikroarchitektur heterogen, wobei einer oder mehrere Kerne, aufweisend einen relativ höheren Leistungsverbrauch, mit einem oder mehreren Leistungskernen koppeln, die einen niedrigeren Leistungsverbrauch aufweisen. Zusätzlich kann der Prozessor 800 auf einem oder mehreren Chips oder als eine SoC-integrierte Schaltung, umfassend die abgebildeten Komponenten, zusätzlich zu anderen Komponenten implementiert werden.
-
9 ist ein Blockdiagramm eines Grafikprozessors 900, der eine diskrete Grafikverarbeitungseinheit sein kann, oder ein Grafikprozessor sein kann, der mit einer Mehrzahl von Verarbeitungskernen integriert ist. Bei einigen Ausführungsbeispielen kommuniziert der Grafikprozessor über eine speicherabgebildete I/O-Schnittstelle mit Registern auf dem Grafikprozessor und mit Befehlen, die in den Prozessorspeicher platziert werden. Bei einigen Ausführungsbeispielen umfasst der Grafikprozessor 900 eine Speicherschnittstelle 914 für den Speicherzugriff. Die Speicherschnittstelle 914 kann eine Schnittstelle zum lokalen Speicher, zu einem oder mehreren internen Caches, zu einem oder mehreren gemeinschaftlich verwendeten externen Caches und/oder zum Systemspeicher sein.
-
Bei einigen Ausführungsbeispielen umfasst der Grafikprozessor 900 auch eine Anzeige-Steuerung 1102 zum Treiben der Anzeige-Ausgabedaten an eine Anzeigevorrichtung 920. Die Anzeige-Steuerung 902 umfasst Hardware für eine oder mehrere Überdeckungs-Ebenen für die Anzeige und Zusammensetzung mehrerer Schichten von Video- oder Benutzerschnittstellenelementen. Bei einigen Ausführungsbeispielen umfasst der Grafikprozessor 900 eine Videocodec-Engine 906 zum Kodieren, Dekodieren oder Transkodieren von Medien in, von oder zwischen einem oder mehreren Medienkodierungsformaten, umfassend, aber nicht beschränkt auf Expertengruppe für bewegte Bilder- (MPEG; Moving Picture Experts Group) Formate wie MPEG-2, Advanced Video Coding (AVC)- Formate wie beispielsweise H.264/MPEG-4 AVC, sowie der Society of Motion Picture & Television Engineers (SMPTE) 421M/VC-1 und Joint Photographic Experts Group (JPEG) Formate wie JPEG und Motion JPEG (MJPEG) Formate.
-
Bei einigen Ausführungsbeispielen umfasst der Grafikprozessor 900 eine Block-Bild-Übertragungs- (block image transfer; (BLIT) Engine 904, um zweidimensionale (2D) Rasterisierer-Operationen durchzuführen, umfassend zum Beispiel Bit-Grenzen-Block-Übertragungen (Bit-Boundary Block Transfers). Bei einem Ausführungsbeispiel werden jedoch 11D-Grafikoperationen unter Verwendung einer oder mehreren Komponenten der Graphikverarbeitungs-Maschine (GPE; graphics processing engine) 910 durchgeführt. Bei einigen Ausführungsbeispielen ist die Grafikverarbeitungs-Maschine 910 eine Rechenmaschine zur Durchführung von Grafikoperationen, umfassend dreidimensionale (3D) Grafikoperationen und Medienoperationen.
-
Bei einigen Ausführungsbeispielen umfasst GPE 910 eine 3D-Pipeline 912 zur Durchführung von 3D-Operationen, wie beispielsweise das Aufbereiten dreidimensionaler Bilder und Szenen unter Verwendung von Verarbeitungsfunktionen, die auf 3D-Primitivformen (z.B. Rechteck, Dreieck usw.) wirken. Die 3D-Pipeline 912 umfasst programmierbare und feste Funktionselemente, die verschiedene Aufgaben innerhalb des Elements ausführen und/oder Ausführungs-Threads zu einem 3D-/Medien-Teilsystem 915 erzeugen. Während die 3D-Pipeline 912 zur Durchführung von Medienoperationen verwendet werden kann, umfasst ein Ausführungsbeispiel von GPE 910 auch eine Medienpipeline 916, die speziell zur Durchführung von Medienoperationen wie beispielsweise Video-Nachbearbeitung und Bildverbesserung verwendet wird.
-
Bei einigen Ausführungsbeispielen umfasst die Medienpipeline 916 feste Funktions- oder programmierbare Logikeinheiten zur Durchführung einer oder mehrerer spezialisierter Medienoperationen, wie beispielsweise Beschleunigung der Video-Dekodierung, Video-Zeilenentflechtung und Beschleunigung der Video-Kodierung anstelle von oder im Namen der Video-Codec-Maschine 906. Bei einigen Ausführungsbeispielen umfasst die Medienpipeline 916 zusätzlich eine Thread-Erzeugungseinheit zum Erzeugen von Threads für die Ausführung auf dem 3D-/Medien-Teilsystem 915. Die erzeugten Threads führen Berechnungen für die Medienoperationen auf einer oder mehreren Grafikausführungseinheiten durch, die im 3D-/Medien-Teilsystem 915 umfasst sind.
-
Bei einigen Ausführungsbeispielen umfasst das 3D-/Medien-Teilsystem 915 Logik zur Ausführung von Threads, die von der 3D-Pipeline 912 und der Medien-Pipeline 916 erzeugt werden. Bei einem Ausführungsbeispiel senden die Pipelines Thread-Ausführungsanforderungen an das 3D-/Medien-Teilsystem 915, das eine Thread-Abfertigungslogik zur Vermittlung und Abfertigung der verschiedenen Anforderungen an verfügbare Thread-Ausführungsressourcen umfasst. Die Ausführungsressourcen umfassen ein Array von Grafikausführungseinheiten zur Verarbeitung der 3D- und Medien-Threads. Bei einigen Ausführungsbeispielen umfasst das 3D-/Medien-Teilsystem 915 einen oder mehrere interne Caches für Thread-Befehle und Daten. Bei einigen Ausführungsbeispielen umfasst das Teilsystem auch gemeinschaftlich verwendeten Speicher, umfassend Register und adressierbarem Speicher, um Daten zwischen Threads gemeinschaftlich zu verwenden und Ausgabedaten zu speichern.
-
10 stellt gemäß einigen Ausführungsbeispielen eine Architektur eines Systems 1000 eines Netzwerks dar. Das System 1000 wird umfassend ein Nutzerendgerät (UE; user equipment) 1001 und ein UE 1002 gezeigt. Die UEs 1001 und 1002 werden als Smartphones dargestellt (z.B. handgehaltene mobile Rechenvorrichtungen mit Touchscreen, die mit einem oder mehreren zellulären Netzen verbunden werden können), können aber auch irgendeine mobile oder nichtmobile Rechenvorrichtung umfassen, wie beispielsweise persönliche Daten-Assistenten (PDAs; Personal Data Assistants), Pager, Laptop-Computer, Desktop-Computer, drahtlose Handgeräte, Kraftfahrzeuge oder Kraftfahrzeugsysteme oder irgendeine Rechenvorrichtung umfassend eine drahtlose Kommunikationsschnittstelle.
-
Bei einigen Ausführungsbeispielen kann irgendeiner der UEs 1001 und 1002 ein Internet der Dinge (IoT; Internet of Things)-UE umfassen, das eine Netzwerkzugriffsschicht umfassen kann, die für IoT-Anwendungen mit niedriger Leistung entworfen ist, die kurzlebige UE-Verbindungen nutzen. Ein IoT-UE kann Technologien wie beispielsweise Machine-to-Machine (M2M) oder Machine-Type Communications (MTC) für den Datenaustausch mit einem/r MTC-Server oder - Vorrichtung über ein öffentliches terrestrisches Mobilfunknetz (PLMN; public land mobile network), Näherungsdienste (ProSe; Proximity-Based Service) oder Vorrichtung-zu-Vorrichtung (D2D; device-to-device)-Kommunikation, Sensornetzwerke oder IoT-Netze nutzen. Der M2M- oder MTC-Datenaustausch kann ein maschineninitiierter Datenaustausch sein. Ein IoT-Netz beschreibt sich verbindende IoT UEs, die eindeutig identifizierbare eingebettete Rechenvorrichtungen (innerhalb der Internet-Infrastruktur) umfassen können, mit kurzlebigen Verbindungen. Die IoT UEs können Hintergrundanwendungen ausführen (z.B. Keepalive-Nachrichten, Statusaktualisierungen etc.), um die Verbindungen des IoT-Netzwerks zu ermöglichen.
-
Die UEs 1001 und 1002 können ausgebildet sein, dass sie sich z.B. mit einem Funkzugriffsnetzwerk (RAN; radio access network) 1010 kommunikativ koppeln - das RAN 1010 kann zum Beispiel ein weiterentwickeltes Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN), ein NextGenRAN (NG RAN) oder eine andere Art von RAN sein. Die UEs 1001 und 1002 nutzen jeweils die Verbindungen 1003 und 1004, von denen jede eine physikalische Kommunikationsschnittstelle oder -schicht umfasst nachfolgend detailliert erörtert); bei diesem Beispiel sind die Verbindungen 1003 und 1004 als eine Luftschnittstelle dargestellt, um kommunikatives Koppeln zu ermöglichen, und können mit zellulären Kommunikationsprotokollen, wie beispielsweise einem Global System for Mobile Communications (GSM)-Protokoll, einem Code-Division Multiple Access (CDMA)-Netzwerkprotokoll, einem Push-to-Talk (PTT)-Protokoll, einem PTT-over-Cellular (POC)-Protokoll, einem Universal Mobile Telecommunications System (UMTS)-Protokoll, einem 3GPP Long Term Evolution (LTE)-Protokoll, einem Protokoll der fünften Generation (5G), einem New Radio (NR)-Protokoll und Ähnliches konsistent sein.
-
Bei diesem Ausführungsbeispiel können die UEs 1001 und 1002 ferner direkt Kommunikationsdaten über eine ProSe-Schnittstelle 1005 austauschen. Die ProSe-Schnittstelle 1005 kann alternativ als Sidelink-Schnittstelle bezeichnet werden, die einen oder mehrere logische Kanäle umfasst, umfassend, aber nicht beschränkt auf einen Physical Sidelink Control Channel (PSCCH), einen Physical Sidelink Shared Channel (PSSCH), einen Physical Sidelink Discovery Channel (PSDCH) und einen Physical Sidelink Broadcast Channel (PSBCH).
-
Das UE 1002 wird gezeigt als ausgebildet zum Zugreifen auf einen Zugriffspunkt (AP; access point) 1006 über Verbindung 1007. Die Verbindung 1007 kann eine lokale drahtlose Verbindung umfassen, wie beispielsweise eine Verbindung, die mit irgendeinem IEEE 802.11-Protokoll konsistent ist, wobei der AP 1006 einen WiFi®-Router (Wireless Fidelity Router) umfassen würde. Bei diesem Beispiel wird der AP 1006 als mit dem Internet verbunden gezeigt, ohne mit dem Kernnetzwerk des drahtlosen Systems verbunden zu sein (nachfolgend detaillierter beschrieben).
-
Das RAN 1010 kann einen oder mehrere Zugangsknoten umfassen, die die Verbindungen 1003 und 1004 ermöglichen. Diese Zugangsknoten (Ans; access nodes) können als Basisstationen (Bss; base stations), NodeBs, entwickelter NodeBs (eNBs), Next Generation NodeBs (gNB), RAN-Knoten und so weiter bezeichnet werden und können Bodenstationen (z. B. terrestrische Zugriffspunkte) oder Satellitenstationen umfassen, die eine Abdeckung innerhalb eines geografischen Bereichs (z. B. einer Zelle) bereitstellen. Das RAN 1010 kann einen oder mehrere RAN-Knoten zum Bereitstellen von Makrozellen, z.B. Makro-RAN-Knoten 1011, und einen oder mehrere RAN-Knoten zum Bereitstellen von Femtozellen oder Pikozellen (z. B. Zellen mit kleineren Abdeckungsbereichen, geringerer Nutzerkapazität oder höherer Bandbreite im Vergleich zu Makrozellen), z.B. RAN-Knoten 1012 mit niedriger Leistung (LP; low power), umfassen.
-
Irgendeiner der RAN-Knoten 1011 und 1012 kann das Luftschnittstellenprotokoll beenden und kann der erste Kontaktpunkt für die UEs 1001 und 1002 sein. Bei einigen Ausführungsbeispielen kann irgendeiner der RAN Knoten 1011 und 1012 verschiedene logische Funktionen für das RAN 1010 erfüllen, umfassend, aber nicht beschränkt auf Funknetzwerksteuerung- (RNC; radio network controller) Funktionen, wie beispielsweise Funkträgerverwaltung, dynamische Uplink- und Downlink-Funkressourcenverwaltung und Datenpaketplanung sowie Mobilitätsverwaltung.
-
Gemäß einigen Ausführungsbeispielen können die UEs 1001 und 1002 ausgebildet sein, um unter Verwendung von Orthogonalen Frequenzmultiplexverfahrens- (OFDM; Orthogonal Frequency-Division Multiplexing) Kommunikationssignalen miteinander oder mit irgendeinem der RAN-Knoten 1011 und 1012 über einen Multiträger-Kommunikationskanal in Übereinstimmung mit verschiedenen Kommunikationstechniken kommunizieren, wie beispielsweise, aber nicht beschränkt auf, eine Orthogonalfrequenzmultiplexzugriff- (OFDMA; Access) Kommunikationstechnik (z.B. für Downlink-Kommunikationen) oder eine Einzelträger-Frequenzmultiplexzugriff (SC-FDMA; Single Carrier Frequency Division Multiple Access)-Kommunikationstechnik (z.B. für Uplink- und ProSe- oder Sidelink-Kommunikationen), obwohl der Rahmen der Ausführungsbeispiele diesbezüglich nicht eingeschränkt ist. Die OFDM-Signale können eine Mehrzahl von orthogonalen Teilträgern umfassen.
-
Bei einigen Ausführungsbeispielen kann ein Downlink-Ressourcengitter für Downlink-Übertragungen von irgendeinem der RAN-Knoten 1011 und 1012 zu den UEs 1001 und 1002 verwendet werden, während Uplink-Übertragungen ähnliche Techniken nutzen können. Das Gitter kann ein Zeit-Frequenz-Gitter sein, das Ressourcengitter oder Zeit-Frequenz-Ressourcengitter genannt wird, was die physische Ressource im Downlink in jedem Slot ist. Eine derartige Zeit-Frequenz-Ebenendarstellung ist gängige Praxis für OFDM-Systeme, wodurch eine Funkressourcenzuweisung intuitiv wird. Jede Spalte und jede Zeile des Ressourcengitters entsprechen jeweils einem OFDM-Symbol und einem OFDM-Teilträger. Die Dauer des Ressourcengitters in dem Zeitbereich entspricht einem Slot in einem Funkrahmen. Die kleinste Zeit-Frequenz-Einheit in einem Ressourcengitter ist als ein Ressourcenelement angegeben. Jedes Ressourcengitter umfasst eine Anzahl von Ressourcenblöcken, die die Abbildung bestimmter physischer Kanäle auf Ressourcenelemente beschreiben. Jeder Ressourcenblock umfasst eine Sammlung von Ressourcenelementen; in dem Frequenzbereich, die kann die kleinsten Mengen von Ressourcen darstellen, die derzeit zugeordnet werden können. Es gibt mehrere unterschiedliche physische Downlink-Kanäle, die unter Nutzung derartiger Ressourcenblöcke übertragen werden.
-
Der Physical Downlink Shared Channel (PDSCH) kann Benutzerdaten und Signalisierung höherer Schicht an die UEs 1001 und 1002 übertragen. Der Physical Downlink Control Channel (PDSCH) kann unter anderem Informationen über das Transportformat und Ressourcenzuordnungen bezogen auf den PDSCH-Kanal tragen. Er kann ebenso die UEs 1001 und 1002 über das Transportformat, die Ressourcenzuordnung und H ARQ (Hybrid automatic repeat request)-Informationen im Zusammenhang mit dem gemeinschaftlich verwendeten Uplink-Kanal informieren. Typischerweise kann die Downlink-Zeitplanung (Zuweisung von Steuerungs- und gemeinschaftlich verwendeten Kanalressourcenblöcken an das UE 102 innerhalb einer Zelle) an irgendeinem der RAN-Knoten 1011 und 1012 basierend auf Kanalqualitätsinformationen durchgeführt werden, die von irgendeinem der UEs 1001 und 1002 zurückgeführt werden. Die Downlink-Ressourcenzuweisungsinformationen können auf dem PDCCH gesendet werden, der für jeden der UEs 1001 und 1002 verwendet (z. B. zugewiesen) wird.
-
Der PDCCH kann Steuerungskanalelemente (CCEs; Control Channel Elements) verwenden, um die Steuerinformationen zu übermitteln. Bevor sie auf Ressourcenelemente abgebildet werden, werden die komplexwertigen Symbole des PDCCH zunächst in Quadrupel organisiert, die dann unter Verwendung eines Teilblock-Interleavers zur Ratenanpassung permutiert werden können. Jeder PDCCH kann unter Nutzung von einem oder mehreren dieser CCEs übertragen werden, wobei jedes CCE neun Sätzen von vier physischen Ressourcenelementen entsprechen kann, die als Ressourcenelementgruppen (REGs; resource element groups) bekannt sind. Jeder REG können vier Quadraturphasenumtastungs- (QPSK; Quadrature Phase Shift Keying) Symbole zugeordnet werden. Der PDCCH kann unter Verwendung von einem oder mehreren CCEs übertragen werden, abhängig von der Größe der Downlink-Steuerungsinformationen (DCI; downlink control information) und der Kanalbedingung. Es können vier oder mehr unterschiedliche PDCCH-Formate in LTE mit unterschiedlicher Anzahl von CCEs definiert sein (z.B. Aggregationsebene, L=1, 2, 4 oder 8).
-
Einige Ausführungsbeispiele können Konzepte für die Ressourcenzuweisung für Steuerungskanalinformationen verwenden, die eine Erweiterung der oben beschriebenen Konzepte darstellen. Zum Beispiel können einige Ausführungsbeispiele einen Enhanced Physical Downlink Control Channel (EPDCCH) nutzen, der PDSCH-Ressourcen zur Überwachung von Steuerinformationen verwendet. Der EPDCCH kann unter Verwendung von einem oder mehreren der Enhanced Control Channel Elements (ECCEs) übertragen werden. Ähnlich wie oben kann jedes ECCE neun Sätzen von vier physischen Ressourcenelementen entsprechen, die als Enhanced Resource Element Groups (EREGs) bezeichnet werden. Ein ECCE kann in einigen Situationen eine andere Anzahl von EREGs aufweisen.
-
Das RAN 1010 wird gezeigt als kommunikativ gekoppelt mit einem Kernnetzwerk (CN; core network) 1020 - über eine SI-Schnittstelle 1013. Bei Ausführungsbeispielen kann das CN 1020 ein Evolved Packet Core (EPC)-Netz, ein NextGen Packet-Core- (NPC) Netz oder eine andere Art von CN sein. Bei diesem Ausführungsbeispiel ist die S1-Schnittstelle 1013 in zwei Teile aufgeteilt: die S1-U-Schnittstelle 1014, die Verkehrsdaten zwischen den RAN-Knoten 1011 und 1012 und dem bedienenden Gateway (S-GW; serving gateway) 1022 trägt, und die S1-Mobilitätsverwaltungsentität- (MME; mobility management entity) Schnittstelle 1015, die eine Signalisierungsschnittstelle zwischen den RAN-Knoten 1011 und 1012 und MMEs 1021 darstellt.
-
Bei diesem Ausführungsbeispiel umfasst das CN 1020 die MMEs 1021, das S-GW 1022, das Paketdatennetzwerk (PDN; Packet Data Network)-Gateway (P-GW) 1023 und einen Home Subscriber Server (HSS) 1024. Die MMEs 1021 können bezüglich ihrer Funktion ähnlich zu der Steuerebene von bisherigen bedienenden GPRS (General Packet Radio Service)-Trägerknoten (SGSN; Serving GPRS Support Node) sein. Die MMEs 1021 können Mobilitätsaspekte in einem Zugriff verwalten, wie beispielsweise eine Gateway-Auswahl und eine Verwaltung einer Nachführbereichsliste. Der HSS 1024 kann eine Datenbank für Netzwerknutzer umfassen, umfassend abonnementbezogener Informationen zur Unterstützung der Handhabung von Kommunikationssitzungen durch die Netzbetreiber. Das CN 1020 kann einen oder mehrere HSSs 1024 umfassen, abhängig von der Anzahl der Mobilfunkteilnehmer, der Kapazität der Ausrüstung, der Organisation des Netzwerkes etc. Zum Beispiel kann der HSS 1024 Unterstützung für Routing/Roaming, Authentifizierung, Autorisierung, Namens-/Adressauflösung, Standortabhängigkeiten etc. bereitstellen.
-
Das S-GW 1022 kann die S1 Schnittstelle 1013 hin zu dem RAN 1010 beenden und routet Datenpakete zwischen dem RAN 1010 und dem CN 1020. Zusätzlich kann der S-GW 1022 ein lokaler Mobilitätsankerpunkt für Inter-RAN-Knotenübergaben sein und kann auch einen Anker für Inter-3GPP-Mobilität bereitstellen. Weitere Zuständigkeiten können das legale Abfangen, Gebühren und die Durchsetzung einiger Policies umfassen.
-
Das P-GW 1023 kann eine SGi-Schnittstelle hin zu einem PDN terminieren. Das P-GW 1023 kann Datenpakete zwischen dem EPC-Netz 1023 und externen Netzwerken, wie beispielsweise einem Netz, umfassend den Anwendungsserver 1030 (alternativ als Anwendungsfunktion (AF; application function) bezeichnet), über eine Internet-Protokoll (IP; Internet Protocol)-Schnittstelle 1025 weiterleiten. Im Allgemeinen kann der Anwendungsserver 1030 ein Element sein, das Anwendungen anbietet, die IP-Trägerressourcen mit dem Kernnetz nutzen (z.B. UMTS Packet Services (PS)-Domäne, LTE PS-Datendienste usw.). Bei diesem Ausführungsbeispiel wird das P-GW 1023 als kommunikativ mit einem Anwendungsserver 1030 über eine IP-Kommunikationsschnittstelle 1025 gekoppelt gezeigt. Der Anwendungsserver 1030 kann auch ausgebildet sein, um einen oder mehrere Kommunikationsdienste (z. B. Voice-over-Internet Protocol (VoIP)-Sitzungen, PTT-Sitzungen, Gruppenkommunikationssitzungen, soziale Netzwerkdienste etc.) für die UEs 1001 und 1002 über das CN 1020 zu unterstützen.
-
Das P-GW 1023 kann ferner ein Knoten für die Durchsetzung von Policies und Berechnung von Datensammlungen sein. Policy and Charging Enforcement Function (PCRF) 1026 ist das Policy- und Gebührensteuerungselement des CN 1020. In einem Nicht-Roaming-Szenario kann eine einzelne PCRF im öffentlichen terrestrischen Heim-Mobilfunknetz (Home Public Land Mobile Network; HPLMN) vorliegen, zugeordnet zu der Sitzung des Internet Protocol Connectivity Access Network (IP-CAN) eines UEs. In einem Roaming-Szenario mit lokalem Ausbruch von Verkehr können zwei PCRFs der IP-CAN-Sitzung eines UEs zugeordnet sein: eine Home PCRF (H-PCRF) innerhalb eines HPLMN und eine Visited PCRF (V-PCRF) innerhalb eines Visited Public Land Mobile Network (VPLMN). Die PCRF 1026 kann mit dem Anwendungsserver 1030 kommunikativ über das P-GW 1023 gekoppelt sein. Der Anwendungsserver 1030 kann der PCRF 1026 mitteilen, dass sie einen neuen Service-Flow anzeigen soll und die geeigneten Quality of Service (QoS) und Berechnungsparameter auswählen soll. Die PCRF 1026 kann diese Regel in eine Policy and Charging Enforcement Function (PCEF) (nicht gezeigt) mit der geeigneten Verkehrsflussvorlage (TFT; traffic flow template) und QoS Class of Identifier (QCI) bereitstellen, die die QoS und Berechnung, wie durch den Anwendungsserver 1030 spezifiziert, startet.
-
11 stellt beispielhafte Komponenten einer Vorrichtung gemäß einigen Ausführungsbeispielen dar. Bei einigen Ausführungsbeispielen kann die Vorrichtung 1100 eine Anwendungsschaltungsanordnung 1102, eine Basisband-Schaltungsanordnung 1104, eine Radiofrequenz- (RF; Radio Frequency) Schaltungsanordnung 1106, eine Front-End-Modul (FEM)-Schaltungsanordnung 1108, eine oder mehrere Antennen, und eine Leistungsverwaltungs-Schaltungsanordnung (PMC; power management circuitry) 1112, die zumindest wie gezeigt miteinander gekoppelt sind, umfassen. Die Komponenten der dargestellten Vorrichtung 1100 können in einem UE- oder einem RAN-Knoten umfasst sein. Bei einigen Ausführungsbeispielen kann die Vorrichtung 1100 weniger Elemente umfassen (z.B. verwendet ein RAN-Knoten möglicherweise nicht die Anwendungsschaltungsanordnung 1102 und umfasst stattdessen eine/n Prozessor/Steuerung zur Verarbeitung der IP-Daten, empfangen von einem EPC). Bei einigen Ausführungsbeispielen kann die Vorrichtung 1100 zusätzliche Elemente wie z.B. Speicher/Speicherungsvorrichtung, Anzeige, Kamera, Sensor oder Input/Output (I/O)-Schnittstelle umfassen. Bei anderen Ausführungsbeispielen können die nachfolgend beschriebenen Komponenten in mehr als einer Vorrichtung umfasst sein (z.B. können die genannten Schaltungsanordnungen getrennt in mehr als einer Vorrichtung für Cloud-RAN (C-RAN)-Implementierungen umfasst sein).
-
Die Anwendungsschaltungsanordnung 1102 kann einen oder mehrere Anwendungsprozessoren umfassen. Zum Beispiel kann die Anwendungsschaltungsanordnung 1102 eine Schaltungsanordnung umfassen wie beispielsweise, aber nicht beschränkt auf einen oder mehrere Einzelkern- oder Multikern-Prozessoren. Der oder die Prozessor(en) können irgendeine Kombination von Allzweckprozessoren und dedizierten Prozessoren (z. B. Graphikprozessoren, Anwendungsprozessoren, etc.) umfassen. Die Prozessoren können mit einem/r Speicher/Speicherungsvorrichtung gekoppelt sein oder können dasselbe umfassen und können ausgebildet sein, Befehle auszuführen, die in dem/r Speicher/Speicherungsvorrichtung gespeichert sind, um zu ermöglichen, dass verschiedene Anwendungen oder Betriebssysteme auf der elektronischen Vorrichtung 1100 betrieben werden können. Bei einigen Ausführungsbeispielen können Prozessoren der Anwendungsschaltungsanordnung 1102 IP-Datenpakete verarbeiten, empfangen von einem EPC.
-
Die Basisband-Schaltungsanordnung 1104 kann eine Schaltungsanordnung umfassen wie beispielsweise, aber nicht beschränkt auf einen oder mehrere Einzelkern- oder Multikern-Prozessoren. Die Basisband-Schaltungsanordnung 1104 kann einen oder mehrere Basisbandprozessoren oder eine Steuerlogik umfassen, um Basisbandsignale, die von einem Empfangssignalpfad der RF-Schaltungsanordnung 1106 empfangen werden, zu verarbeiten und um Basisbandsignale für einen Sendesignalpfad der RF-Schaltungsanordnung 1106 zu erzeugen. Die Basisband-Verarbeitungsschaltungsanordnung 1104 kann über eine Schnittstelle mit der Anwendungsschaltungsanordnung 1102 verbunden sein, zur Erzeugung und Verarbeitung der Basisbandsignale und zum Steuern von Operationen der RF-Schaltungsanordnung 1106. Zum Beispiel kann bei einigen Ausführungsbeispielen die Basisband-Schaltungsanordnung 1104 einen Basisbandprozessor 1104A der dritten Generation (3G), einen Basisbandprozessor 1104B der vierten Generation (4G), einen Basisbandprozessor 1104C der fünften Generation (5G) oder andere Basisbandprozessor(en) 1104D für andere existierende Generationen, Generationen in Entwicklung oder Generationen, die zukünftig entwickelt werden (z. B. zweite Generation (2G), sechste Generation (6G), etc.), umfassen. Die Basisband-Schaltungsanordnung 1104 (z.B. einer oder mehrere von Basisbandprozessoren 1104A-D) kann verschiedene Funksteuerungsfunktionen bedienen, die eine Kommunikation mit einem oder mehreren Funknetzen über die RF-Schaltungsanordnung 1106 ermöglichen. Bei anderen Ausführungsbeispielen kann ein Teil oder die gesamte Funktionalität der Basisbandprozessoren 1104A-D in Modulen umfasst sein, die im Speicher 1104G gespeichert sind und über eine Zentrale Verarbeitungseinheit (CPU; central processing unit) 1104E ausgeführt werden. Die Funksteuerfunktionen können Signalmodulation/demodulation, Kodierung/Dekodierung, Radiofrequenzverschiebung etc. umfassen, sind aber nicht darauf beschränkt. Bei einigen Ausführungsbeispielen kann die Modulations-/Demodulationsschaltungsanordnung der Basisbandschaltungsanordnung 1104 eine Fast-Fourier-Transformation (FFT), Vorcodierung oder Konstellationsabbilden/rückabbilden-Funktionalität umfassen. Bei einigen Ausführungsbeispielen kann eine Kodierungs-/Dekodierungs-Schaltungsanordnung der Basisband-Schaltungsanordnung 1104 eine Faltung, Tail-Biting Faltung, Turbo, Viterbi, oder Low Density Parity Check (LDPC, Niedrigdichteparitätsprüfung) Kodierer/Dekodierer-Funktionalität umfassen. Ausführungsbeispiele der Modulation/Demodulation und Kodierer/Dekodierer-Funktionalität sind nicht auf diese Beispiele beschränkt und können andere geeignete Funktionalität bei anderen Ausführungsbeispielen umfassen.
-
Bei einigen Ausführungsbeispielen kann die Basisband-Schaltungsanordnung 1104 einen oder mehrere Audio-Digitale Signalprozessor(en) (DSP; digital signal processor(s)) 1104F umfassen. Die Audio-DSP(s) 1104F können Elemente zur Komprimierung/Dekomprimierung und Echounterdrückung umfassen und können andere geeignete Verarbeitungselemente bei anderen Ausführungsbeispielen umfassen. Komponenten der Basisband-Schaltungsanordnung können in geeigneter Weise in einem einzelnen Chip, einem einzelnen Chipsatz kombiniert sein oder bei einigen Ausführungsbeispielen auf einer selben Schaltungsplatine angeordnet sein. Bei einigen Ausführungsbeispielen können einige oder alle zugehörigen Komponenten der Basisband-Schaltungsanordnung 1104 und der Anwendungsschaltungsanordnung 1102 zusammen implementiert sein, wie beispielsweise auf einem System auf einem Chip (SOC).
-
Bei einigen Ausführungsbeispielen kann die Basisband-Schaltungsanordnung 1104 eine Kommunikation bereitstellen, die mit einer oder mehreren Funktechnologien kompatibel ist. Zum Beispiel kann bei einigen Ausführungsbeispielen die Basisband-Schaltungsanordnung 1104 eine Kommunikation mit einem Evolved Universal Terrestrial Radio Access Network (EUTRAN) oder anderen drahtlosen Großstadt-Netzen (WMAN; Wireless Metropolitan Area Networks), einem drahtlosen lokalen Netz (WLAN; Wireless Local Area Network), einem drahtlosen persönlichen Netz (WPAN; Wireless Personal Area Network) unterstützen. Ausführungsbeispiele, bei denen die Basisband-Schaltungsanordnung 1104 ausgebildet ist, um Funkkommunikationen von mehr als einem drahtlosen Protokoll zu unterstützen, können als Multi-Mode-Basisband-Schaltungsanordnung bezeichnet werden.
-
Die RF-Schaltungsanordnung 1106 kann eine Kommunikation mit drahtlosen Netzen unter Verwendung von modulierter, elektromagnetischer Strahlung durch ein nicht festes Medium ermöglichen. Bei verschiedenen Ausführungsbeispielen kann die RF-Schaltungsanordnung 1106 Schalter, Filter, Verstärker, etc. umfassen, um die Kommunikation mit dem drahtlosen Netz zu ermöglichen. Die RF-Schaltungsanordnung 1106 kann einen Empfangssignalpfad umfassen, der eine Schaltungsanordnung umfassen kann, um von der FEM-Schaltungsanordnung 1108 empfangene RF-Signale abwärts zu wandeln und Basisband-Signale an die Basisband-Schaltungsanordnung 1104 bereitzustellen. Die RF-Schaltungsanordnung 1106 kann ebenso einen Sendesignalpfad umfassen, der eine Schaltungsanordnung umfassen kann, um von der Basisband-Schaltungsanordnung 1104 bereitgestellte Basisband-Signale aufwärts zu wandeln und RF-Ausgabesignale an die FEM-Schaltungsanordnung 1108 zum Senden bereitzustellen.
-
Bei einigen Ausführungsbeispielen kann der Empfangssignalpfad der RF-Schaltungsanordnung 1106 eine Mischer-Schaltungsanordnung 1106a, eine Verstärkerschaltungsanordnung 1106b und eine Filter-Schaltungsanordnung 1106c umfassen. Bei einigen Ausführungsbeispielen kann der Sendesignalpfad der RF-Schaltungsanordnung 1106 die Filter-Schaltungsanordnung 1106c und die Mischer-Schaltungsanordnung 1106a umfassen. Die RF-Schaltungsanordnung 1106 kann auch eine Synthesizer-Schaltungsanordnung 1106d umfassen, um eine Frequenz zur Verwendung durch die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads und des Sendesignalpfads zu synthetisieren. Bei einigen Ausführungsbeispielen kann die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads ausgebildet sein, um von der FEM-Schaltungsanordnung 1108 empfangene RF-Signale abwärts zu wandeln, basierend auf der synthetisierten Frequenz, die durch die Synthesizer-Schaltungsanordnung 1106d bereitgestellt ist. Die Verstärkerschaltungsanordnung 1106b kann ausgebildet sein, um die abwärtsgewandelten Signale zu verstärken und die Filter-Schaltungsanordnung 1106c kann ein Tiefpassfilter (LPF; low-pass filter) oder ein Bandpassfilter (BPF; band-pass filter) sein, die ausgebildet sind, um unerwünschte Signale von den abwärtsgewandelten Signalen zu entfernen, um Ausgabebasisbandsignale zu erzeugen. Ausgabebasisbandsignale können zur weiteren Verarbeitung an die Basisband-Schaltungsanordnung 1104 bereitgestellt werden. Bei einigen Ausführungsbeispielen können die Ausgabebasisbandsignale Null-Frequenz-Basisbandsignale sein, obwohl dies keine Anforderung ist. Bei einigen Ausführungsbeispielen kann die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads passive Mischer umfassen, obwohl der Rahmen der Ausführungsbeispiele diesbezüglich nicht eingeschränkt ist.
-
Bei einigen Ausführungsbeispielen kann die Mischer-Schaltungsanordnung 1106a des Sendesignalpfads ausgebildet sein, um Eingabebasisbandsignale aufwärts zu wandeln, die auf der synthetisierten Frequenz basieren, die durch die Synthesizer-Schaltungsanordnung 1106d bereitgestellt wird, um RF-Ausgabesignale für die FEM-Schaltungsanordnung 1108 zu erzeugen. Die Basisbandsignale können durch die Basisband-Schaltungsanordnung 1104 bereitgestellt werden und können durch die Filter-Schaltungsanordnung 1106c gefiltert werden.
-
Bei einigen Ausführungsbeispielen können die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads und die Mischer-Schaltungsanordnung 1106a des Sendesignalpfads zwei oder mehr Mischer umfassen und können jeweils für Quadratur-Abwärtswandlung und Aufwärtswandlung angeordnet sein. Bei einigen Ausführungsbeispielen können die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads und die Mischer-Schaltungsanordnung 1106a des Sendesignalpfads zwei oder mehr Mischer umfassen und können für Bildunterdrückung (z. B. Hartley Image Rejection) angeordnet sein. Bei einigen Ausführungsbeispielen können die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads und die Mischer-Schaltungsanordnung 1106a jeweils für direkte Abwärtswandlung und direkte Aufwärtswandlung angeordnet sein. Bei einigen Ausführungsbeispielen können die Mischer-Schaltungsanordnung 1106a des Empfangssignalpfads und die Mischer-Schaltungsanordnung 1106a des Sendesignalpfads für superheterodynen Betrieb ausgebildet sein.
-
Bei einigen Ausführungsbeispielen können die Ausgabebasisbandsignale und die Eingabebasisbandsignale analoge Basisbandsignale sein, obwohl der Rahmen der Ausführungsbeispiele diesbezüglich nicht eingeschränkt ist. Bei einigen alternativen Ausführungsbeispielen können die Ausgabebasisbandsignale und die Eingabebasisbandsignale digitale Basisbandsignale sein. Bei diesen alternativen Ausführungsbeispielen kann die RF-Schaltungsanordnung 1106 eine Analog-Digital-Wandler (ADC, Analog-to-Digital Converter) und eine Digital-Analog-Wandler (DAC, Digital-to-Analog Converter) -Schaltungsanordnung umfassen und die Basisband-Schaltungsanordnung 1104 kann eine digitale Basisband-Schnittstelle umfassen, um mit der RF-Schaltungsanordnung 1106 zu kommunizieren.
-
Bei einigen zweimodigen Ausführungsbeispielen kann eine separate Funk-IC-Schaltungsanordnung bereitgestellt sein, um Signale für jedes Spektrum zu verarbeiten, obwohl der Rahmen der Ausführungsbeispiele diesbezüglich nicht eingeschränkt ist.
-
Bei einigen Ausführungsbeispielen kann die Synthesizer-Schaltungsanordnung 1106d ein fraktionaler N-Synthesizer oder ein fraktionaler N/N+1-Synthesizer sein, obwohl der Rahmen der Ausführungsbeispiele diesbezüglich nicht eingeschränkt ist, da andere Typen von Frequenzsynthesizern geeignet sein können. Zum Beispiel kann die Synthesizer-Schaltungsanordnung 1106d ein Delta-Sigma-Synthesizer, ein Frequenzvervielfacher oder ein Synthesizer, der eine Phasenregelschleife mit einem Frequenzteiler umfasst, sein.
-
Die Synthesizer-Schaltungsanordnung 1106d kann ausgebildet sein, um eine Ausgabefrequenz zur Verwendung durch die Mischer-Schaltungsanordnung 1106a der RF-Schaltungsanordnung 1106 zu synthetisieren basierend auf einer Frequenzeingabe und einer Teilersteuereingabe. Bei einigen Ausführungsbeispielen kann die Synthesizer-Schaltungsanordnung 1106d ein fraktionaler N/N+1-Synthesizer sein.
-
Bei einigen Ausführungsbeispielen kann eine Frequenzeingabe durch einen spannungsgesteuerten Oszillator (VCO; Voltage Controlled Oscillator) bereitgestellt werden, obwohl dies keine Anforderung ist. Eine Teilersteuerungseingabe kann entweder durch die Basisband-Schaltungsanordnung 1104 oder durch den Anwendungsprozessor 1102 bereitgestellt werden, abhängig von der erwünschten Ausgabefrequenz. Bei einigen Ausführungsbeispielen kann eine Teilersteuereingabe (z. B. N) aus einer Nachschlagtabelle basierend auf einem durch den Anwendungsprozessor 1102 angezeigten Kanal bestimmt werden.
-
Die Synthesizer-Schaltungsanordnung 1106d der RF-Schaltungsanordnung 1106 kann einen Teiler, eine Verzögerungsregelschleife (DLL, Delay-Locked Loop), einen Multiplexer und einen Phasenakkumulator umfassen. Bei einigen Ausführungsbeispielen kann der Teiler ein Dual-Modulus-Teiler (DMD, Dual Modulus Divider) sein und der Phasenakkumulator kann ein Digital-Phasen-Akkumulator (DPA, Digital Phase Accumulator) sein. Bei einigen Ausführungsbeispielen kann der DMD ausgebildet sein, um das Eingabesignal durch entweder N oder N+1 (z. B. basierend auf einem Ausführen) zu teilen, um ein fraktionales Teilungsverhältnis bereitzustellen. Bei einigen Ausführungsbeispielen kann die DLL einen Satz von kaskadierten, abstimmbaren Verzögerungselementen, einen Phasendetektor, eine Ladepumpe und einen D-Typ-Flipflop umfassen. Bei diesen Ausführungsbeispielen können die Verzögerungselemente ausgebildet sein, um eine VCO-Periode in Nd gleiche Phasenpakete auseinanderzubrechen, wobei Nd die Anzahl von Verzögerungselementen in der Verzögerungsleitung ist. Auf diese Weise stellt die DLL eine negative Rückmeldung bereit, um dabei zu helfen, sicherzustellen, dass die Gesamtverzögerung durch die Verzögerungsleitung ein VCO-Zyklus ist.
-
Bei einigen Ausführungsbeispielen kann die Synthesizer-Schaltungsanordnung 1106d ausgebildet sein, um eine Trägerfrequenz als die Ausgabefrequenz zu erzeugen, während bei anderen Ausführungsbeispielen die Ausgabefrequenz ein Mehrfaches der Trägerfrequenz (z. B. zweimal die Trägerfrequenz, viermal die Trägerfrequenz) sein kann und in Verbindung mit einem Quadraturgenerator und einer Teiler-Schaltungsanordnung verwendet wird, um mehrere Signale bei der Trägerfrequenz mit mehreren unterschiedlichen Phasen in Hinblick zueinander zu erzeugen. Bei einigen Ausführungsbeispielen kann die Ausgabefrequenz eine LO-Frequenz (fLO) sein. Bei einigen Ausführungsbeispielen kann die RF-Schaltungsanordnung 1106 einen IQ/Polar-Wandler umfassen.
-
Die FEM-Schaltungsanordnung 1108 kann einen Empfangssignalpfad umfassen, der eine Schaltungsanordnung umfassen kann, die ausgebildet ist, um auf RF-Signalen zu arbeiten, die von einer oder mehreren Antennen 1110 empfangen werden, um die empfangenen Signale zu verstärken und die verstärkten Versionen der empfangenen Signale an die RF-Schaltungsanordnung 1106 zur weiteren Verarbeitung bereitzustellen. Die FEM-Schaltungsanordnung 1108 kann auch einen Sendesignalpfad umfassen, der eine Schaltungsanordnung umfassen kann, die ausgebildet ist, um Signale zum Senden zu verstärken, die von der RF-Schaltungsanordnung 1106 zum Senden durch eine oder mehrere der einen oder der mehreren Antennen 1110 bereitgestellt werden. Bei verschiedenen Ausführungsbeispielen kann die Verstärkung durch die Sende- oder Empfangssignalpfade nur in der RF-Schaltungsanordnung 1106, nur in der FEM 1108 oder sowohl in der RF-Schaltungsanordnung 1106 als auch in der FEM 1108 erfolgen.
-
Bei einigen Ausführungsbeispielen kann die FEM-Schaltungsanordnung 1108 einen TX/RX-Schalter umfassen, um zwischen Sendemodus- und Empfangsmodus-Betrieb zu schalten. Die FEM-Schaltungsanordnung kann einen Empfangssignalpfad und einen Sendesignalpfad umfassen. Der Empfangssignalpfad der FEM-Schaltungsanordnung kann einen LNA umfassen, um empfangene RF-Signale zu verstärken und um die verstärkten empfangenen RF-Signale als eine Ausgabe (z. B. an die RF-Schaltungsanordnung 1106) bereitzustellen. Der Sendesignalpfad der FEM-Schaltungsanordnung 1108 kann einen Leistungsverstärker (PA) umfassen, um Eingabe-RF-Signale (z. B. durch die RF-Schaltungsanordnung 1106 bereitgestellt) zu verstärken, und einen oder mehrere Filter, um RF-Signale zum nachfolgenden Senden (z. B. durch eine oder mehrere der einen oder mehreren Antennen 1110) zu erzeugen.
-
Bei einigen Ausführungsbeispielen kann die PMC 1112 die Leistung verwalten, die der Basisband-Schaltungsanordnung bereitgestellt wird. Insbesondere kann die PMC 1112 die Auswahl der Leistungsquelle, die Spannungsskalierung, die Batterieladung oder die DC/DC-Wandlung steuern. Die PMC 1112 kann oft umfasst sein, wenn die Vorrichtung 1100 in der Lage ist, von einer Batterie mit Leistung versorgt zu werden, zum Beispiel, wenn die Vorrichtung in einem UE umfasst ist. Die PMC 1112 kann den Leistungsumwandlungswirkungsgrad erhöhen, während sie die wünschenswerte Implementierungsgröße und Wärmeableitungseigenschaften bereitstellt.
-
Während 11 die PMC 1112 nur als mit der Basisbandschaltungsanordnung 1104 gekoppelt zeigt. Jedoch kann die PMC 1112 bei anderen Ausführungsbeispielen zusätzlich oder alternativ mit anderen Komponenten, wie beispielsweise, aber nicht beschränkt auf, die Anwendungsschaltungsanordnung 1102, RF-Schaltungsanordnung 1106 oder der FEM 1108, gekoppelt sein und ähnliche Leistungsverwaltungsoperationen durchführen.
-
Bei einigen Ausführungsbeispielen kann die PMC 1112 verschiedene Leistungssparmechanismen der Vorrichtung 1100 steuern oder anderweitig Teil davon sein. Wenn sich die Vorrichtung 1100 beispielsweise in einem RRC_Connected-Zustand befindet, in dem sie noch mit dem RAN-Knoten verbunden ist, da sie erwartet, in Kürze Datenverkehr zu empfangen, kann sie nach einer Zeit der Inaktivität in einen Zustand eintreten, der als diskontinuierlicher Empfangsmodus (DRX; Discontinuous Reception Mode) bezeichnet wird. Während dieses Zustands kann sich die Vorrichtung 1100 für kurze Zeitintervalle abschalten und so Leistung sparen.
-
Wenn über einen längeren Zeitraum keine Datenverkehrsaktivität stattfindet, kann die Vorrichtung 1100 in einen RRC_Idle-Zustand übergehen, in dem es die Verbindung zum Netz unterbricht und keine Operationen wie beispielweise Kanalqualitätsrückmeldung, Übergabe etc. durchführt. Die Vorrichtung 1100 geht in einen sehr niedrigen Leistungszustand über und führt Paging durch, wo es wieder periodisch aufwacht, um auf das Netz zu hören, und sich dann wieder abschaltet. Die Vorrichtung 1100 empfängt in diesem Zustand möglicherweise keine Daten, um Daten zu empfangen, muss es in den Zustand RRC_Connected zurückkehren.
-
Ein zusätzlicher Leistungssparmodus kann es einer Vorrichtung erlauben, gegenüber dem Netz für Perioden länger als ein Paging-Intervall (von Sekunden bis zu einigen Stunden) nicht verfügbar zu sein. Während dieser Zeit ist die Vorrichtung für das Netz völlig unerreichbar und kann sich komplett abschalten. Irgendwelche während dieser Zeit gesendeten Daten verursachen eine große Verzögerung, und es wird davon ausgegangen, dass die Verzögerung akzeptabel ist.
-
Prozessoren der Anwendungsschaltungsanordnung 1102 und Prozessoren der Basisbandschaltungsanordnung 1104 können zur Ausführung von Elementen einer oder mehrerer Instanzen eines Protokollstapels verwendet werden. Zum Beispiel können Prozessoren der Basisbandschaltungsanordnung 1104 allein oder in Kombination verwendet werden, um Schicht-3-, Schicht-2- oder Schicht-1-Funktionalität auszuführen, während Prozessoren der Anwendungsschaltungsanordnung 1104 Daten (z.B. Paketdaten), die von diesen Schichten empfangen werden, nutzen können und ferner Schicht-4-Funktionalität (z.B. Transmission Communication Protocol-(TCP) und User Datagram Protocol- (UDP) Schichten) ausführen. Wie hierin bezeichnet, kann Schicht 3 eine Radio Resource Control (RRC)-Schicht umfassen, nachfolgend detaillierter beschrieben. Wie hierin bezeichnet, kann Schicht 2 eine Medium Access Control (MAC)-Schicht, eine Radio Link Control (RLC)-Schicht und eine Packet Data Convergence Protocol (PDCP)-Schicht umfassen, nachfolgend detaillierter beschrieben. Wie hierin bezeichnet, kann Schicht 1 eine physikalische Schicht (PHY) eines UE/RAN-Knotens umfassen, nachfolgend detaillierter beschrieben.
-
12 ist ein verallgemeinertes Diagramm eines Maschinelles-Lernen-Softwarestapels 1200. Eine Maschinelles-Lernen-Anwendung 1202 kann ausgebildet sein, um ein neuronales Netz unter Verwendung eines Trainingsdatensatzes zu trainieren oder ein trainiertes tiefes neuronales Netz zur Implementierung maschineller Intelligenz zu verwenden. Die Maschinelles-Lernen-Anwendung 1202 kann Trainings- und Inferenzfunktionalität für ein neuronales Netz und/oder spezialisierte Software umfassen, mit der ein neuronales Netz vor dem Einsatz trainiert werden kann. Die Maschinelles-Lernen-Anwendung 1202 kann irgendeine Art von maschineller Intelligenz implementieren, umfassend, aber nicht beschränkt auf Bilderkennung, Abbildung und Lokalisierung, autonome Navigation, Sprachsynthese, medizinische Bildgebung oder Sprachübersetzung.
-
Die Hardware-Beschleunigung für die Maschinelles-Lernen-Anwendung 1202 kann über einen Maschinelles-Lernen-Rahmen 1204 ermöglicht werden. Der Maschinelles-Lernen-Rahmen 1204 kann eine Bibliothek von Maschinelles-Lernen-Primitiven bereitstellen. Maschinelles-Lernen-Primitive sind Basis-Operationen, die gemeinhin von Maschinelles-Lernen Algorithmen ausgeführt werden. Ohne den Maschinelles-Lernen-Rahmen 1204 wäre es erforderlich, dass die Entwickler von Maschinelles-Lernen Algorithmen Hauptrechenlogik erzeugen und optimieren, zugeordnet zu dem Maschinelles-Lernen-Algorithmus, dann die Rechenlogik erneut optimieren, wenn neue Parallelprozessoren entwickelt werden. Stattdessen kann die Maschinelles-Lernen Anwendung ausgebildet sein, um die erforderlichen Berechnungen unter Verwendung der Primitive durchzuführen, die von dem Maschinelles-Lernen-Rahmen 1204 bereitgestellt werden. Beispielhafte Primitive umfassen Tensorfaltungen, Aktivierungsfunktionen und Pooling, welche Rechenoperationen sind, die beim Training eines faltenden neuronalen Netzes (CNN; convolutional neural network) durchgeführt werden. Der Maschinelles-Lernen-Rahmen 1204 kann auch Primitive zur Implementierung von linearen Basis-Algebra-Teilprogrammen bereitstellen, die von vielen Maschinelles-Lernen-Algorithmen, wie beispielsweise Matrix- und Vektoroperationen, ausgeführt werden.
-
Der Maschinelles-Lernen-Rahmen 1204 kann die von der Maschinelles-Lernen-Anwendung 1202 erhaltenen Eingabedaten verarbeiten und die entsprechenden Eingaben für einen Rechenrahmen 1206 erzeugen. Der Rechenrahmen 1206 kann die dem GPGPU-Treiber 1208 zugrundeliegenden Befehle abstrahieren, um es dem Maschinelles-Lernen-Rahmen 1204 zu ermöglichen, die Vorteile der Hardwarebeschleunigung über die GPGPU-Hardware 1210 zu nutzen, ohne dass der Maschinelles-Lernen-Rahmen 1204 über intime Kenntnisse der Architektur der GPGPU-Hardware 1210 verfügen muss. Zusätzlich kann der Rechenrahmen 1206 die Hardwarebeschleunigung für den Maschinelles-Lernen-Rahmen 1204 über eine Vielzahl von Arten und Generationen der GPGPU-Hardware 1210 ermöglichen.
-
Die Rechenarchitektur, bereitgestellt von den hierin beschriebenen Ausführungsbeispielen, kann ausgebildet sein, um die Arten der Parallelverarbeitung durchzuführen, die sich besonders für das Training und den Einsatz neuronaler Netze für maschinelles Lernen eignen. Ein neuronales Netz kann als ein Netz von Funktionen verallgemeinert werden, aufweisend eine Graphbeziehung. Wie im Stand der Technik bekannt ist, gibt es eine Vielzahl von Arten von Implementierungen neuronaler Netze, die beim maschinellen Lernen verwendet werden. Eine beispielhafte Art eines neuronalen Netzes ist das Feedforward-Netz, wie vorangehend beschrieben.
-
Eine zweite beispielhafte Art eines neuronalen Netzes ist das faltende neuronale Netz (CNN). Ein CNN ist ein spezialisiertes neuronales Feedforward Netz für die Verarbeitung von Daten mit einer bekannten, gitterartigen Topologie, wie beispielsweise Bilddaten. Dementsprechend werden CNNs häufig für Anwendungen der Computervision und der Bilderkennung verwendet, aber sie können auch für andere Arten der Mustererkennung wie beispielsweise Sprach- und Sprachenverarbeitung eingesetzt werden. Die Knoten in der CNN-Eingabeschicht sind in einem Satz von „Filtern“ (Merkmal-Detektoren, die von den empfänglichen Feldern in der Netzhaut inspiriert sind) organisiert, und die Ausgabe jedes Filtersatzes wird an Knoten in aufeinanderfolgenden Schichten des Netzes weitergeleitet. Die Berechnungen für ein CNN umfassen die Anwendung der mathematischen Faltungsoperation auf jeden Filter, um die Ausgabe dieses Filters zu erzeugen. Die Faltung ist eine spezielle Art von mathematischer Operation, die von zwei Funktionen ausgeführt wird, um eine dritte Funktion zu erzeugen, die eine modifizierte Version einer der beiden ursprünglichen Funktionen ist. In der Faltungsnetzterminologie kann die erste Funktion zur Faltung als die Eingabe bezeichnet werden, während die zweite Funktion als der Faltungskern bezeichnet werden kann. Die Ausgabe kann als Merkmalsabbildung bezeichnet werden. Zum Beispiel kann die Eingabe in eine Faltungsschicht ein mehrdimensionales Array von Daten sein, das die verschiedenen Farbkomponenten eines Eingabebildes definiert. Der Faltungskern kann ein mehrdimensionales Array von Parametern sein, wobei die Parameter durch den Trainingsprozess für das neuronale Netz angepasst werden.
-
Rekurrente neuronale Netze (RNNs; recurrent neural networks) sind eine Familie von Feedforward neuronalen Netzen, die Rückkopplungsverbindungen zwischen Schichten umfassen. RNNs ermöglichen die Modellierung aufeinanderfolgender Daten durch das gemeinschaftliche Verwenden von Parameterdaten über unterschiedlichen Teilen des neuronalen Netzes. Die Architektur für ein RNN umfasst Zyklen. Die Zyklen stellen den Einfluss eines gegenwärtigen Wertes einer Variablen auf ihren eigenen Wert zu einem zukünftigen Zeitpunkt dar, da zumindest ein Abschnitt der Ausgabedaten von dem RNN als Rückmeldung für die Verarbeitung nachfolgender Eingaben in einer Sequenz verwendet wird. Dieses Merkmal macht RNNs aufgrund des variablen Wesens, in der Sprachdaten zusammengestellt werden können, besonders nützlich für die Sprachverarbeitung.
-
Die hierin beschriebenen Figuren stellen beispielhaft Feedforward-, CNN- und RNN-Netze dar und beschreiben einen allgemeinen Prozess für das jeweilige Training und den Einsatz jeder dieser Arten von Netzen. Es wird darauf hingewiesen, dass diese Beschreibungen beispielhaft und nicht einschränkend für irgendein hierin beschriebenes spezifisches Ausführungsbeispiel sind und dass die dargestellten Konzepte allgemein auf tiefe neuronale Netze und Maschinelles-Lernen-Techniken im Allgemeinen angewandt werden können.
-
Die vorangehend beschriebenen beispielhaften neuronalen Netze können zur Ausführung von tiefem Lernen verwendet werden. Tiefes Lernen ist maschinelles Lernen unter Verwendung tiefer neuronaler Netze. Die tiefen neuronalen Netze, verwendet beim tiefen Lernen, sind künstliche neuronale Netze, die aus mehreren verborgenen Schichten zusammengesetzt sind, im Gegensatz zu flachen neuronalen Netzen, die nur eine einzelne verborgene Schicht umfassen. Tiefere neuronale Netze sind im Allgemeinen rechenintensiver zu trainieren. Die zusätzlichen verborgenen Schichten des Netzes ermöglichen jedoch eine mehrstufige Mustererkennung, die im Vergleich zu flachen Maschinelles-Lernen-Techniken zu einem reduzierten Ausgabefehler führt.
-
Tiefe neuronale Netze, die beim tiefen Lernen verwendet werden, umfassen üblicherweise ein Front-End-Netz zur Durchführung der Merkmalserkennung, gekoppelt mit einem Back-End-Netz, das ein mathematisches Modell darstellt, das Operationen (z.B. Objektklassifizierung, Spracherkennung etc.) basierend auf der dem Modell bereitgestellten Merkmalsdarstellung durchführen kann. Tiefes Lernen ermöglicht es, dass maschinelles Lernen ausgeführt wird, ohne dass für das Modell handwerkliches Merkmals-Engineering durchgeführt werden muss. Stattdessen können tiefe neuronale Netze Merkmale basierend auf der statistischen Struktur oder Korrelation innerhalb der Eingabedaten lernen. Die gelernten Merkmale können einem mathematischen Modell bereitgestellt werden, das detektierte Merkmale auf eine Ausgabe abbilden kann. Das mathematische Modell, das vom Netz verwendet wird, ist im Allgemeinen für die spezifische Aufgabe, die zu erfüllen ist, spezialisiert, und es werden verschiedene Modelle zur Erfüllung unterschiedlicher Aufgaben verwendet.
-
Sobald das neuronale Netz strukturiert ist, kann ein Lernmodell auf das Netz angewendet werden, um das Netz für die Ausführung bestimmter Aufgaben zu trainieren. Das Lernmodell beschreibt, wie die Gewichte innerhalb des Modells angepasst werden können, um den Ausgabefehler des Netzes zu reduzieren. Rückpropagierung von Fehlern ist ein gängiges Verfahren zum Training neuronaler Netze. Ein Eingabevektor wird dem Netz zur Verarbeitung vorgelegt. Die Ausgabe des Netzes wird mit der gewünschten Ausgabe unter Verwendung einer Verlustfunktion verglichen, und für jedes der Neuronen in der Ausgabeschicht wird ein Fehlerwert berechnet. Die Fehlerwerte werden dann rückwärts propagiert, bis jedes Neuron einen zugeordneten Fehlerwert aufweist, der ungefähr seinen Beitrag zur ursprünglichen Ausgabe darstellt. Das Netz kann dann aus diesen Fehlern unter Verwendung eine Algorithmus, wie beispielsweise des stochastischen Gradientenabstiegsalgorithmus, lernen, um die Gewichte des neuronalen Netzes zu aktualisieren.
-
13 stellt Training und Einsatz eines tiefen neuronalen Netzes dar. Sobald ein gegebenes Netz für eine Aufgabe strukturiert wurde, wird das neuronale Netz unter Verwendung eines Trainingsdatensatzes 1302 trainiert. Verschiedene Trainingsrahmen wurden entwickelt, um eine Hardware-Beschleunigung des Trainingsprozesses zu ermöglichen. Zum Beispiel kann der Maschinelles-Lernen-Rahmen 1204 von 12 als Trainingsrahmen 1304 ausgebildet sein. Der Trainingsrahmen 1304 kann sich in ein untrainiertes neuronales Netz 1306 einklinken und es ermöglichen, dass das untrainierte neuronale Netz unter Verwendung der hierin beschriebenen Parallelverarbeitungsressourcen trainiert wird, um ein trainiertes neuronales Netz 1308 zu erzeugen. Zum Starten des Trainingsprozesses können die Anfangsgewichte zufällig oder durch ein Vortraining unter Verwendung eines Deep Believe-Netzes ausgewählt werden. Der Trainingszyklus wird dann entweder beaufsichtigt oder unbeaufsichtigt durchgeführt.
-
Beaufsichtigtes Lernen ist eine Lernmethode, bei der das Training als eine vermittelte Operation durchgeführt wird, wie beispielsweise wenn der Trainingsdatensatz 1302 eine Eingabe gepaart mit der gewünschten Ausgabe für die Eingabe umfasst, oder wobei der Trainingsdatensatz eine Eingabe mit bekannter Ausgabe umfasst und die Ausgabe des neuronalen Netzes manuell gradiert wird. Das Netz verarbeitet die Eingaben und vergleicht die resultierenden Ausgaben mit einem Satz von erwarteten oder gewünschten Ausgaben. Fehler werden dann zurück durch das System weitergeleitet. Der Trainingsrahmen 1304 kann so eingestellt werden, dass die Gewichte, die das untrainierte neuronale Netz 1306 steuern, angepasst werden können. Der Trainingsrahmen 1304 kann Werkzeuge bereitstellen, um zu überwachen, wie gut das untrainierte neuronale Netz 1306 zu einem Modell konvergiert, das geeignet ist, basierend auf bekannten Eingabedaten korrekte Antworten zu erzeugen. Der Trainingsprozess tritt wiederholt auf, während die Gewichte des Netzes angepasst werden, um die vom neuronalen Netz erzeugte Ausgabe zu verfeinern. Der Trainingsprozess kann fortgesetzt werden, bis das neuronale Netz eine statistisch erwünschte Genauigkeit zugeordnet zu einem trainierten neuronalen Netz 1308 erreicht. Das trainierte neuronale Netz 1308 kann dann zur Implementierung irgendeiner Anzahl von Maschinelles-Lernen-Operationen eingesetzt werden.
-
Unbeaufsichtigtes Lernen ist eine Lernmethode, bei der das Netz versucht, sich unter Verwendung von ungekennzeichneten Daten selbst zu trainieren. Somit umfasst der Trainingsdatensatz 1302 für unbeaufsichtigtes Lernen Eingabedaten ohne irgendwelche zugeordneten Ausgabedaten. Das untrainierte neuronale Netz 1306 kann Gruppierungen innerhalb der ungekennzeichneten Eingabe lernen und kann bestimmen, wie individuelle Eingaben mit dem Gesamtdatensatz in Beziehung stehen. Unbeaufsichtigtes Training kann verwendet werden, um eine selbstorganisierende Karte zu erzeugen, die eine Art trainiertes neuronales Netz 1307 ist, das in der Lage ist, Operationen durchzuführen, die zur Reduzierung der Dimensionalität von Daten nützlich sind. Unbeaufsichtigtes Training kann auch verwendet werden, um eine Anomalieerkennung durchzuführen, was die Identifizierung von Datenpunkten in einem Eingabedatensatz ermöglicht, die von den normalen Mustern der Daten abweichen.
-
Es können auch Variationen von beaufsichtigtem und unbeaufsichtigtem Training verwendet werden. Teilüberwachtes Lernen ist eine Technik, bei der der Trainingsdatensatz 1302 eine Mischung aus gekennzeichneten und ungekennzeichneten Daten der gleichen Verteilung umfasst. Inkrementelles Lernen ist eine Variante des überwachten Lernens, bei der Eingabedaten durchgehend verwendet werden, um das Model weiter zu trainieren. Inkrementelles Lernen ermöglicht es dem trainierten neuronalen Netz 1308, sich an die neuen Daten 1312 anzupassen, ohne dabei das Wissen zu vergessen, das während des ursprünglichen Trainings innerhalb des Netzwerks instilliert wurde.
-
Ob beaufsichtigt oder unbeaufsichtigt, der Trainingsprozess für besonders tiefe neuronale Netze kann für einen einzelnen Rechenknoten zu rechenintensiv sein. Anstelle des Verwendens eines einzelnen Rechenknotens kann ein verteiltes Netzwerk von Rechenknoten verwendet werden, um den Trainingsprozess zu beschleunigen.
-
Die folgenden Beispiele beziehen sich auf weitere Ausführungsbeispiele.
- Beispiel 1 ist ein System für emotional adaptive Fahr-Policies für automatisiert fahrende Fahrzeuge, umfassend eine erste Mehrzahl von Sensoren zum Detektieren von Umgebungsinformationen bezogen auf zumindest einen Insassen in einem Fahrzeug; und eine Steuerung, kommunikativ gekoppelt mit der Mehrzahl von Sensoren und umfassend eine Verarbeitungsschaltungsanordnung, zum Empfangen von Umgebungsinformationen von der ersten Mehrzahl von Sensoren; Bestimmen eines emotionalen Zustands von dem zumindest einen Insassen aus den Umgebungsinformationen; und Implementieren einer Fahr-Policy basierend zumindest teilweise auf dem emotionalen Zustand des zumindest einen Insassen.
- Beispiel 2 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Mehrzahl von Sensoren zumindest einen aus einem Kamerasensor, einem Mikrofonsensor oder einem biometrischen Sensor umfasst.
- Beispiel 3 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Steuerung eine Verarbeitungsschaltungsanordnung zum Implementieren eines Herzfrequenz-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Eingabe, die die Herzfrequenz des zumindest einen Insassen repräsentiert, umfasst; eines Audio-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Eingabe, die eine Audio-Eingabe des zumindest einen Insassen repräsentiert; eines Semantik-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Eingabe, die Semantik einer Audio-Ausgabe des zumindest einen Insassen repräsentiert; und eines Computer-Vision-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Ausgabe des Kamerasensors.
- Beispiel 4 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, ferner umfassend eine zweite Mehrzahl von Sensoren zum Detektieren von Kontextinformationen bezogen auf die Umgebung, die das Fahrzeug umgibt, wobei die Mehrzahl von Sensoren zumindest einen aus einem Videosensor, einem RADAR-Sensor, einem LIDAR-Sensor, einem inertiale Messeinheit-(IMU) Sensor und einem Globales Navigationssatellitensystem- (GNSS) Sensor umfasst.
- Beispiel 5 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Steuerung eine Verarbeitungsschaltungsanordnung zum Implementieren eines sensorbasierten Objekterkennungsmoduls zum Identifizieren eines oder mehrerer Objekte nahe zum Fahrzeug basierend auf Eingaben von der zweiten Mehrzahl von Sensoren; und eines Lokalisierungsmoduls zum Bestimmen einer Position des Fahrzeugs basierend auf Eingaben von zumindest einem des IMU-Sensors oder des GNSS-Sensors umfasst.
- Beispiel 6 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, ferner umfassend eine Verarbeitungsschaltungsanordnung zum Implementieren einer Fahr-Policy-Maschine zum Erzeugen einer Trajektorie für das Fahrzeug.
- Beispiel 7 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine ein Semantik verstehendes Modul; ein Trajektorie-Erzeugungs-Modul; und ein Trajektorie-Überwachungs-Modul umfasst.
- Beispiel 8 kann den Gegenstand von einem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine eine Datenspeichereinheit, umfassend Emotionsregeln: eine Datenspeichereinheit, umfassend Verkehrsregeln; ein Modul zur Pfadplanung; und ein Modul, das eine Trajektorie erzeugt und überwacht, umfasst.
- Beispiel 9 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine Logik ausführt, zumindest teilweise umfassend Hardware-Logik, zum Bestimmen einer aktuellen Trajektorie für das Fahrzeug; Erzeugen einer aktualisierten Trajektorie für das Fahrzeug basierend zumindest teilweise auf einem emotionalen Zustand des zumindest einen Insassen; Ausführen eines Manövers basierend auf der aktualisierten Trajektorie; und Verändern der aktualisierten Trajektorie als Antwort auf eine Veränderung des emotionalen Zustands des zumindest einen Insassen.
- Beispiel 10 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei Fahr-Policy-Maschine ein neuronales Netzmodell, programmiert, um eine Belohnungsfunktion basierend zumindest teilweise auf dem emotionalen Zustand des zumindest einen Insassen zu maximieren, umfasst.
- Beispiel 11 ist ein Fahrzeugsteuerungssystem, umfassend eine erste Mehrzahl von Sensoren zum Detektieren von Umgebungsinformationen bezogen auf zumindest einen Insassen in einem Fahrzeug; und eine Steuerung, kommunikativ gekoppelt mit der Mehrzahl von Sensoren und umfassend eine Verarbeitungsschaltungsanordnung zum Empfangen der Umgebungsinformationen von der ersten Mehrzahl von Sensoren; Bestimmen eines emotionalen Zustands von dem zumindest einen Insassen aus den Umgebungsinformationen; und Implementieren einer Fahr-Policy basierend zumindest teilweise auf dem emotionalen Zustand des zumindest einen Insassen; und ein Fahrzeug-Betätigungsmodul umfassend eine Mehrzahl von Aktuatoren zum Ausführen der Fahr-Policy.
- Beispiel 12 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Mehrzahl von Sensoren zumindest einen aus einem Kamerasensor, einem Mikrofonsensor oder einem biometrischen Sensor umfasst.
- Beispiel 13 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Steuerung eine Verarbeitungsschaltungsanordnung zum Implementieren: eines Herzfrequenz-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Eingabe, die die Herzfrequenz des zumindest einen Insassen repräsentiert, umfasst; eines Audio-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Eingabe, die eine Audio-Ausgabe des zumindest einen Insassen repräsentiert; eines Semantik-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Eingabe, die Semantik einer Audio-Ausgabe des zumindest einen Insassen repräsentiert; und eines Computer-Vision-Emotion-Klassifizierers zum Bestimmen des emotionalen Zustands des zumindest einen Insassen von einer Ausgabe des Kamerasensors.
- Beispiel 14 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, ferner umfassend eine zweite Mehrzahl von Sensoren zum Detektieren von Kontextinformationen bezogen auf die Umgebung, die das Fahrzeug umgibt, wobei die Mehrzahl von Sensoren zumindest einen aus einem Videosensor, einem RADAR-Sensor, einem LIDAR-Sensor, einem inertiale Messeinheit-(IMU) Sensor und einem Globales Navigationssatellitensystem- (GNSS) Sensor umfasst.
- Beispiel 15 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Steuerung eine Verarbeitungsschaltungsanordnung zum Implementieren eines sensorbasierten Objekterkennungsmoduls zum Identifizieren eines oder mehrerer Objekte nahe zum Fahrzeug basierend auf Eingaben von der zweiten Mehrzahl von Sensoren; und eines Lokalisierungsmoduls zum Bestimmen einer Position des Fahrzeugs basierend auf Eingaben von zumindest einem des IMU-Sensors oder des GNSS-Sensors umfasst.
- Beispiel 16 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, ferner umfassend eine Verarbeitungsschaltungsanordnung zum Implementieren einer Fahr-Policy-Maschine zum Erzeugen einer Trajektorie für das Fahrzeug.
- Beispiel 17 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine ein Semantik verstehendes Modul; ein Trajektorie-Erzeugungs-Modul; und ein Trajektorie-Überwachungs-Modul umfasst.
- Beispiel 18 kann den Gegenstand von einem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine eine Datenspeichereinheit, umfassend Emotionsregeln; eine Datenspeichereinheit, umfassend Verkehrsregeln; ein Modul zur Pfadplanung; und ein Modul, das eine Trajektorie erzeugt und überwacht, umfasst.
- Beispiel 19 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine Logik ausführt, zumindest teilweise umfassend Hardware-Logik, zum Bestimmen einer aktuellen Trajektorie für das Fahrzeug; Erzeugen einer aktualisierten Trajektorie für das Fahrzeug basierend zumindest teilweise auf einem emotionalen Zustand des zumindest einen Insassen; Ausführen eines Manövers basierend auf der aktualisierten Trajektorie; und Verändern der aktualisierten Trajektorie als Antwort auf eine Veränderung des emotionalen Zustands des zumindest einen Insassen.
- Beispiel 20 kann den Gegenstand von irgendeinem vorangehenden Anspruch umfassen, wobei die Fahr-Policy-Maschine ein neuronales Netzmodell, programmiert, um eine Belohnungsfunktion basierend zumindest teilweise auf dem emotionalen Zustand des zumindest einen Insassen zu maximieren, umfasst.
-
Bei verschiedenen Ausführungsbeispielen können die hierin beschriebenen Operationen, z.B. Bezug nehmend auf die hierin beschriebenen Figuren, als Hardware (z.B. logische Schaltungsanordnung), Software, Firmware, oder Kombinationen derselben implementiert sein, welche als ein Computerprogrammprodukt bereitgestellt sein können, z.B. umfassend ein greifbares (z.B. nichtflüchtiges) maschinenlesbares oder computerlesbares Medium, auf dem Befehle gespeichert sind (oder Software-Prozeduren), die verwendet werden, um einen Computer zu programmieren, um einen hierin erörterten Prozess auszuführen. Das maschinenlesbare Medium kann eine Speicherungsvorrichtung umfassen, wie beispielsweise die im Hinblick auf die vorliegenden Figuren erörterten.
-
Zusätzlich kann ein solches computerlesbares Medium als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z.B. einem Server) zu einem anfordernden Computer (z.B. einem Client) mittels Datensignalen, die in einer Trägerwelle oder einem anderen Ausbreitungsmedium über eine Kommunikationsverknüpfung (z.B. einen Bus, ein Modem oder eine Netzwerkverbindung) übertragen werden kann.
-
In der Beschreibung bedeutet ein Bezug auf „ein einzelnes Ausführungsbeispiel“ oder „ein Ausführungsbeispiel“, dass ein bestimmtes Merkmal, eine bestimmte Struktur und/oder Charakteristik, das/die in Verbindung mit dem Ausführungsbeispiel beschrieben ist, bei zumindest einer Implementierung umfasst sein kann. Somit kann sich das Auftreten des Ausdrucks „bei einem Ausführungsbeispiel“ an verschiedenen Stellen in der Beschreibung auf das gleiche Ausführungsbeispiel beziehen oder nicht.
-
Ebenfalls können in der Beschreibung und in den Ansprüchen die Begriffe „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen verwendet werden. Bei bestimmten Ausführungsbeispielen kann „verbunden“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander sind. „Gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt sind. „Gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente möglicherweise nicht in direktem Kontakt miteinander sind, jedoch weiter miteinander zusammenarbeiten oder interagieren können.
-
Obwohl die Ausführungsbeispiele in einer Sprache beschrieben wurden, die spezifisch für strukturelle Merkmale und/oder methodische Schritte ist, wird darauf hingewiesen, dass der beanspruchte Gegenstand möglicherweise nicht auf die spezifischen, beschriebenen Merkmale oder Schritte beschränkt ist. Stattdessen sind die spezifischen Merkmale und Schritte als Beispielformen der Implementierung des beanspruchten Gegenstandes offenbart.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-