DE102018129975A1 - Codierung von Lidar-Signalen zur Vermeidung von Störungen - Google Patents

Codierung von Lidar-Signalen zur Vermeidung von Störungen Download PDF

Info

Publication number
DE102018129975A1
DE102018129975A1 DE102018129975.3A DE102018129975A DE102018129975A1 DE 102018129975 A1 DE102018129975 A1 DE 102018129975A1 DE 102018129975 A DE102018129975 A DE 102018129975A DE 102018129975 A1 DE102018129975 A1 DE 102018129975A1
Authority
DE
Germany
Prior art keywords
light beam
pulses
logic
beam pulses
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018129975.3A
Other languages
English (en)
Inventor
Wei Xu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102018129975A1 publication Critical patent/DE102018129975A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • G01S17/32Systems determining position data of a target for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated
    • G01S17/34Systems determining position data of a target for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/487Extracting wanted echo signals, e.g. pulse detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • G01S17/10Systems determining position data of a target for measuring distance only using transmission of interrupted, pulse-modulated waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4804Auxiliary means for detecting or identifying lidar signals or the like, e.g. laser illuminators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/483Details of pulse systems
    • G01S7/484Transmitters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Signal Processing (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Es werden Verfahren und Vorrichtungen beschrieben, die sich auf die Codierung von Lichtdetektions-und-Entfernungsmess(LIDAR)-Signalen zur Vermeidung von Störungen beziehen. Gemäß einer Ausführungsform codiert eine Codierlogik mehrere Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt. Ein Speicher speichert Codierinformationen, die einen Typ der auf die mehreren Lichtstrahlpulse anzuwendenden Codierung angeben. Jeder der mehreren Lichtstrahlpulse umfasst einen oder mehrere Teilpulse. Die Codierlogik kann eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen zur Codierung der mehreren Lichtstrahlpulse veranlassen. Andere Ausführungsformen sind auch offenbart und beansprucht.

Description

  • GEBIET
  • Die vorliegende Offenbarung betrifft allgemein das Gebiet der Elektronik. Insbesondere betrifft eine Ausführungsform die Codierung von Lichtdetektions-und-Entfernungsmess(LIDAR)-Signalen zur Vermeidung von Störungen.
  • HINTERGRUND
  • Das autonome Fahren verspricht eine Welt, in der ein Fahrzeug seine Fahrgäste mit höchster Sicherheit und bei einem minimalen menschlichen Eingriff von Punkt A zu Punkt B transportieren kann.
  • Zur Erreichung dieser Ziele können viele Sensoren verwendet werden. LIDAR ist einer der wichtigsten dieser Sensoren, teilweise weil LIDAR die Sicherheit für autonom fahrende Fahrzeuge gewährleisten kann. Insbesondere kann LIDAR durch die Verwendung von Licht in Form eines gepulsten Lasers Entfernungen genau messen.
  • Demgemäß können Verbesserungen an LIDAR-Anwendungen den Fortschritt des autonomen Fahrens erheblich begünstigen.
  • Figurenliste
  • Die detaillierte Beschreibung wird mit Bezug auf die anliegenden Figuren bereitgestellt. In den Figuren identifizieren die am weitesten links gelegenen Stellen einer Bezugszahl die Figur, in der die Bezugszahl zuerst auftritt. Die Verwendung der gleichen Bezugszahlen in verschiedenen Figuren gibt ähnliche oder identische Bestandteile an. Es zeigen:
    • 1 ein Diagramm autonom fahrender Fahrzeuge gemäß einer Ausführungsform,
    • 2 ein Blockdiagramm eines LIDAR-Systems gemäß einer Ausführungsform,
    • 3 die Codierung von LIDAR-Signalen mit einem Frequenzsprung gemäß einer Ausführungsform,
    • 4 die Codierung von LIDAR-Signalen mit einer Pulsbreitencodierung gemäß einer Ausführungsform,
    • 5 die Codierung von LIDAR-Signalen mit einer Frequenz- und Pulsbreitencodierung gemäß einer Ausführungsform,
    • 6 ein Flussdiagramm eines Verfahrens zum Codieren von LIDAR-Signalen gemäß einer Ausführungsform,
    • 7 ein Flussdiagramm eines Verfahrens zum Codieren reflektierter LIDAR-Signale gemäß einer Ausführungsform,
    • die 8 und 9 Blockdiagramme von Ausführungsformen von Rechensystemen, die gemäß verschiedenen hier erörterten Ausführungsformen verwendet werden können,
    • die 10 und 11 verschiedene Komponenten von Prozessoren gemäß einigen Ausführungsformen,
    • 12 einen Maschinenlernsoftwarestapel gemäß einer Ausführungsform und
    • 13 das Training und den Einsatz eines tiefen neuronalen Netzes.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis verschiedener Ausführungsformen bereitzustellen. Verschiedene Ausführungsformen können jedoch ohne die spezifischen Einzelheiten verwirklicht werden. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht detailliert beschrieben, um die bestimmten Ausführungsformen nicht unklar zu machen. Ferner können verschiedene Aspekte von Ausführungsformen unter Verwendung verschiedener Mittel in der Art integrierter Halbleiterschaltungen („Hardware“), computerlesbarer Befehle, die zu einem oder mehreren Programmen („Software“) organisiert sind, oder einer Kombination von Hardware und Software ausgeführt werden. Für die Zwecke dieser Offenbarung soll ein Bezug auf eine „Logik“ entweder Hardware, Software, Firmware oder eine Kombination davon bedeuten.
  • Wie vorstehend erwähnt wurde, verspricht das autonome Fahren eine sicherere Welt. Operationen autonomer Fahrzeuge hängen stark von Sensoren ab. LIDAR ist einer der wichtigsten Sensoren, um die Sicherheit für das autonome Fahren zu gewährleisten. Gegenwärtig fährt in den meisten Testfällen nur ein Fahrzeug auf der Straße mit LIDAR. Wenn mehrere autonome Fahrzeuge mit LIDAR nahe beieinander fahren, ist es jedoch möglich, dass ihre LIDAR-Signale einander stören und eine falsche Reaktion/Erkennung hervorrufen. Dies könnte zu einem kritischen Sicherheitsproblem führen, beispielsweise wenn ein Objekt falsch erkannt wird und/oder der Ort eines Objekts inkorrekt erkannt wird. Zusätzlich können Hacker möglicherweise in das System eindringen und einen Laseremitter verwenden, um ein Objekt auf der Straße zu simulieren, beispielsweise um einen Wagen oder ein anderes großes Objekt zu simulieren, wodurch das autonome Fahrzeug veranlasst wird, anzuhalten oder seine Richtung zu ändern, wenn die Straße tatsächlich frei ist.
  • Zu diesem Zweck betreffen einige Ausführungsformen die Codierung von LIDAR-Signalen zur Vermeidung von Interferenz. Gemäß einer Ausführungsform kann das Codiermuster der LIDAR-Signale dynamisch geändert werden, beispielsweise automatisch und/oder auf der Grundlage einer Auswahl (die beispielsweise entsprechend einer oder mehreren Benutzerpräferenzen bereitgestellt wird). Gemäß einigen Ausführungsformen können ein Frequenzsprung, eine Pulsbreitenvariation, eine Wellenlängenmodifizierung, eine Amplitudenmodifizierung, eine Phasenverschiebung oder Kombinationen davon verwendet werden, um die Codierung zu verbessern. Eine Decodierung kann durch eine mit einem LIDAR-Empfänger gekoppelte Logik ausgeführt werden, wie hier weiter erörtert wird.
  • Gemäß einer Ausführungsform ist die für das Codieren und/oder Decodieren der LIDAR-Pulse/-Signale verwendete Logik an einem Fahrzeug angebracht oder auf andere Weise physisch damit gekoppelt. Wie hier erörtert wird, bezieht sich ein „Fahrzeug“ im Allgemeinen auf eine Transportvorrichtung, die autonom betrieben werden kann (mit einem geringen oder keinem Eingriff durch eine Person/einen Fahrer) in der Art eines Automobils, eines Lastwagens, eines Motorrads, eines Flugzeugs, eines Helikopters, eines Boots/Schiffs usw., unabhängig davon, ob es sich bei dem Fahrzeug um ein Personenfahrzeug oder ein kommerzielles Fahrzeug handelt, und ungeachtet des zur Bewegung des Fahrzeugs verwendeten Antriebsquellentyps.
  • 1 zeigt ein Diagramm autonom fahrender Fahrzeuge gemäß einer Ausführungsform. Wie dargestellt ist, können mehrere Fahrzeuge 102 mit LIDAR 104 innerhalb derselben Umgebung/desselben Gebiets fahren, so dass ihre LIDAR-Signale einander stören können und möglicherweise eine falsche Reaktion/Erkennung hervorrufen können. In diesem Szenario können sich Fahrzeuge ohne LIDAR 106 in derselben Umgebung/in demselben Gebiet befinden. Die mögliche Störung könnte zu einem kritischen Sicherheitsproblem führen, beispielsweise wenn ein Objekt falsch erkannt wird und/oder der Ort eines Objekts inkorrekt erkannt wird. Zusätzlich können Hacker möglicherweise in das System eindringen und einen Laseremitter 108 verwenden, um ein Objekt auf der Straße zu simulieren, beispielsweise um einen Wagen oder ein anderes großes Objekt zu simulieren, wodurch das autonome Fahrzeug veranlasst wird, anzuhalten oder seine Richtung zu ändern, wenn die Straße tatsächlich frei ist.
  • Wie hier erörtert wird, betrifft ein „Laser“ im Allgemeinen elektromagnetische Strahlung, die räumlich und zeitlich kohärent ist. Wenngleich einige Ausführungsformen mit Bezug auf Laserstrahlen erörtert werden, können auch andere Typen elektromagnetischer Strahlen, die in der Lage sind, Entfernungen oder Hindernisse zu erkennen, wie Ultraschall-, Infrarot- oder andere Strahlentypen, verwendet werden.
  • Wie hier ferner erörtert wird (beispielsweise 2 - 13), kann Logik verwendet werden, um die LIDAR-Signale zu codieren/zu decodieren, um ein solches Störpotential zu vermeiden (oder die Möglichkeit seines Auftretens zumindest teilweise zu verringern). Dies würde wiederum die Sicherheit für das autonome Fahren erhöhen. LIDAR verwendet Lichtstrahlen in Form eines gepulsten Lasers für die Messung von Entfernungen. Gemäß einer Ausführungsform werden diese Laserpulse codiert, bevor die LIDAR-Vorrichtung die Pulse emittiert. Auf der LIDAR-Empfängerseite werden die erfassten Reflexionen anhand der Codierinformationen geprüft und abgeglichen. Nur abgeglichene codierte Signale werden vom System akzeptiert, beispielsweise um zu gewährleisten, dass es keine falsche Erkennung gibt, die einem erfassten Objekt entspricht. Dieser Ansatz vermeidet eine Störung von anderen Fahrzeugen/Vorrichtungen, die möglicherweise störende Signale/Strahlen emittieren.
  • 2 zeigt ein Blockdiagramm eines LIDAR-Systems 200 gemäß einer Ausführungsform. Das System 200 weist einen LIDAR-Sender 202 zum Erzeugen und Aussenden eines LIDAR-Strahls und einen LIDAR-Empfänger 204 zum Empfangen/Erfassen einer Reflexion eines LIDAR-Strahls auf. Gemäß einer Ausführungsform liegen die Strahlen in Form eines gepulsten Lasers vor, um den Abstand zwischen einem Objekt und dem LIDAR-Empfänger 204 auf der Grundlage der Erkennung der Reflexion des Strahls zu messen.
  • Der LIDAR-Sender 202 weist eine Codierlogik 206 (beispielsweise zum Bewirken der Codierung des LIDAR-Strahls), eine oder mehrere Lichtquellen 208 (beispielsweise zum Erzeugen eines Laserstrahls), optional eine oder mehrere Linsen 210 (beispielsweise zum Einstellen des von der einen oder den mehreren Laserquellen 208 erzeugten Lichtstrahls), einen Modulator 212 (beispielsweise zum Modulieren des erzeugten Lichtstrahls) und optional eine oder mehrere Linsen 214 (beispielsweise zum Einstellen des Lichtstrahls vor dem Aussenden des Strahls zu einem Objekt) auf. Die Codierlogik 206 verwendet einen Frequenzsprung, eine Pulsbreitenvariation, eine Wellenlängenänderung, eine Amplitudeneinstellung, eine Phasenverschiebung oder Kombinationen davon zur Codierung des Lichtstrahls, beispielsweise zur Erhöhung der Sicherheit und/oder zum Vermeiden (oder zumindest zum teilweisen Verringern der Auftrittswahrscheinlichkeit) von Signalstörungen. Die eine oder die mehreren Lichtquellen 208 können verschiedene Typen von Laserlichtquellen in der Art einer gepulsten Diodenlaserquelle, einer ungekühlten Faserlaserquelle, eines Festkörperlasers, eines Flüssigkristalllasers, eines Farbstofflasers, eines Gaslasers usw. aufweisen. Gemäß einigen Ausführungsformen können auch ein oder mehrere optische Filter (nicht dargestellt) bereitgestellt sein (in der Nähe der optionalen Linsen 210 und/oder 214 (oder sogar darin eingebettet)), beispielsweise zur Filterung von Lichtstrahlen entsprechend Umgebungseigenschaften (beispielsweise ein oder mehrere Filter zum Gewährleisten des korrekten Betriebs in hellen/sonnigen Umgebungen und/oder zum Ermöglichen, dass Lichtstrahlen weiter laufen).
  • Die Codierlogik 206 kann die Lichtquellen 208 veranlassen, einen Strahl mit unterschiedlichen Eigenschaften (beispielsweise Frequenz, Amplitude, Pulsbreite, Wellenlänge, Phase oder Kombinationen davon) zu erzeugen, wodurch die Codierung von LIDAR-Signalen verbessert werden kann. Der Modulator 212 kann den von der einen oder den mehreren Quellen erzeugten Lichtstrahl modulieren, um die Strahlphase, die Strahlfrequenz, die Strahlamplitude, die Strahlpolarisation oder Kombinationen davon zu modulieren. Gemäß einer Ausführungsform moduliert der Modulator 212 den Lichtstrahl auf der Grundlage zumindest einer Eingabe von der Codierlogik 206. Ferner kann der Modulator 212 gemäß einigen Ausführungsformen ein elektrooptischer Modulator (beispielsweise einschließlich eines elektrooptischen Lithiumniobatkristall-Modulators, eines elektrooptischen Flüssigkristallmodulators und dergleichen) sein.
  • Der LIDAR-Empfänger 204 weist eine oder mehrere optionale Linsen 216 (beispielsweise zum Einstellen der von einem Objekt empfangenen Lichtreflexion), eine Detektorlogik 218 (beispielsweise zum Erfassen der LIDAR-Strahlreflexion), einen Demodulator 222 (beispielsweise zum Demodulieren der erzeugten Lichtstrahlreflexion) und eine Decodierlogik 220 (beispielsweise zum Bewirken einer Decodierung des erfassten Reflexionsstrahls und zum Feststellen, ob der erfasste Reflexionsstrahl mit dem codierten LIDAR-Strahl auf der Grundlage von Codierinformationen übereinstimmt oder diesem auf andere Weise entspricht) auf. Die Decodierlogik 220 kann mit dem Detektor 218 und/oder dem Demodulator 222 kommunizieren, um festzustellen, ob der reflektierte Strahl codiert ist und, falls dies der Fall ist, ob der codierte Reflexionsstrahl mit dem ausgesendeten codierten LIDAR-Strahl übereinstimmt oder diesem auf andere Weise entspricht.
  • Wie in 2 dargestellt ist, kann die Codierlogik 206 Codierinformationen (beispielsweise Informationen in Bezug auf Änderungen der Amplitude, der Frequenz, der Pulsbreite, der Wellenlänge, der Phase oder Kombinationen davon) zur Decodierlogik 220 senden, um die Erfassung codierter Reflexionsstrahlen zu ermöglichen und anhand der verwendeten Codierung festzustellen, ob ein reflektierter Strahl einem ausgesendeten Strahl entspricht. Wenngleich die Codierlogik 206 und die Decodierlogik 220 in 2 als getrennte Logik dargestellt sind, kombinieren eine oder mehrere Ausführungsformen diese Logiken zur selben Logik. Gemäß einer Ausführungsform weisen die Codierlogik 206 und/oder die Decodierlogik 220 einen oder mehrere Prozessoren in der Art jener, die hier mit Bezug auf die 8 - 11 erörtert sind, auf. Auch können die Codierlogik 206 und/oder die Decodierlogik 220 ein Maschinenlernen/Deep Learning verwenden, um neuronale Netze für schnellere Codier-/Decodieroperationen sowie zum Erkennen komplizierterer Codier-/Decodierszenarien einzusetzen.
  • 3 zeigt das Codieren von LIDAR-Signalen mit einem Frequenzsprung gemäß einer Ausführungsform. Wie dargestellt ist, weist der LIDAR-Strahl mehrere Pulse (beispielsweise Puls 1 bis Puls m) auf. Jeder Puls kann mehrere kürzere Teilpulse mit veränderlicher Frequenz (F1 bis Fn) aufweisen. Überdies geschieht gemäß der Ausführungsform aus 3 die Codierung durch Ändern der Frequenz des LIDAR-Laserstrahls. Das LIDAR-System kann kontinuierlich Laserpulse emittieren und von Objekten innerhalb der Sichtlinie des LIDAR-Systems reflektierte Pulse empfangen, um die Entfernung zu diesen Objekten zu erfassen. Die Frequenzänderung der kürzeren Pulse kann dynamisch geschehen, und der Empfänger akzeptiert nur ein reflektiertes Signal mit dem gleichen Frequenzmuster als gültig. Das Frequenzänderungsmuster kann aus einer Liste vordefinierter Muster ausgewählt werden, oder ein oder mehrere Benutzer/laufwerke können ein Muster auf der Grundlage von Präferenzen definieren.
  • 4 zeigt die Codierung von LIDAR-Signalen mit einer Pulsbreitencodierung gemäß einer Ausführungsform. Wie dargestellt ist, weist der LIDAR-Strahl mehrere Pulse (beispielsweise Puls 1 bis Puls m) auf. Jeder Puls kann mehrere kürzere Teilpulse mit veränderlicher Breite (W1 bis Wn) aufweisen. Wenngleich einige Figuren die gleiche Indexbezeichnung verwenden können (beispielsweise „n“ oder „m“), um einige Komponenten zu bezeichnen, sollen diese Indexbezeichnungen nicht einschränkend sein und bezeichnen nicht immer den gleichen Wert. Das LIDAR-System kann kontinuierlich Laserpulse emittieren und von Objekten innerhalb der Sichtlinie des LIDAR-Systems reflektierte Pulse empfangen, um die Entfernung zu diesen Objekten zu erfassen. Die Breitenänderung der kürzeren Pulse kann dynamisch geschehen, und der Empfänger akzeptiert nur ein reflektiertes Signal mit dem gleichen Breitenmuster als gültig. Das Wellenlängen- oder Pulsbreiten-Änderungsmuster kann aus einer Liste vordefinierter Muster ausgewählt werden, oder ein oder mehrere Benutzer/Fahrer können ein Muster auf der Grundlage von Präferenzen definieren.
  • 5 zeigt die Codierung von LIDAR-Signalen mit einer Frequenz- und Pulsbreitencodierung gemäß einer Ausführungsform. Wie dargestellt ist, weist der LIDAR-Strahl mehrere Pulse (beispielsweise Puls 1 bis Puls m) auf. Jeder Puls kann mehrere kürzere Teilpulse mit veränderlicher Frequenz und Breite (FW1 bis FWn) aufweisen. Das LIDAR-System kann kontinuierlich Laserpulse emittieren und von Objekten innerhalb der Sichtlinie des LIDAR-Systems reflektierte Pulse empfangen, um die Entfernung zu diesen Objekten zu erfassen. Die Frequenz- und Breitenänderung der kürzeren Pulse kann dynamisch geschehen, und der Empfänger akzeptiert nur ein reflektiertes Signal mit dem gleichen Frequenzbreitenmuster als gültig. Das Pulsfrequenzbreiten-Änderungsmuster kann aus einer Liste vordefinierter Muster ausgewählt werden, oder ein oder mehrere Benutzer/Fahrer können ein Muster auf der Grundlage von Präferenzen definieren.
  • Wie zuvor erwähnt wurde, kann die Codierung auch auf der Grundlage von Phasen- oder Amplitudenänderungen ausgeführt werden, wie mit Bezug auf die anhand der 3 - 5 erörterten Frequenz- und Breitenänderungen erörtert wurde. Auch kann eine beliebige Kombination von Phasen-, Amplituden-, Frequenz- oder Breitenänderungen gemäß einigen Ausführungsformen verwendet werden, einschließlich einer Änderung von mehr als einem dieser Faktoren für die Reihe kürzerer Pulse. Beispielsweise kann ein erster kürzerer Puls eine Frequenz F1 und eine Breite W3 verwenden, während ein zweiter kürzerer Puls in demselben Puls die Frequenz F4 und W5 verwenden kann usw. Ferner kann jede der Lichtquellen 208 aus 2 gemäß einigen Ausführungsformen einen Strahl mit einer anderen Frequenz, Wellenlänge, Amplitude und/oder Phase emittieren.
  • Gemäß einer Ausführungsform können die hier erörterten Codier-/Decodiervorrichtungen mit einer IoT-Vorrichtung gekoppelt werden oder darin aufgenommen werden. Überdies bezieht sich eine „IoT“-Vorrichtung im Allgemeinen auf eine Vorrichtung, die eine elektronische Verarbeitungsschaltungsanordnung (in der Art eines oder mehrerer Prozessoren/Kerne, einer PLA (programmierbares Logik-Array), eines feldprogrammierbaren Gate-Arrays (FPGA), eines SoC, eines ASIC (anwendungsspezifische integrierte Schaltung) usw.), einen Speicher, (beispielsweise zum Speichern von Software oder Firmware), einen oder mehrere Sensoren (oder andernfalls mit einem oder mehreren Sensoren in der Art einer Kamera, eines Bewegungsdetektors usw. gekoppelt ist) und Netzverbindbarkeit aufweist, um zu ermöglichen, dass die IoT-Vorrichtung Daten sammelt und/oder austauscht. IoT-Vorrichtungen können billiger als traditionelle Rechenvorrichtungen sein, um ihre Verbreitung an fernen Orten zu ermöglichen. IoT-Vorrichtungen können auch die Kosten durch die Verwendung existierender Infrastruktur (in der Art des Internets, eines Mobilfunk-/Drahtlosnetzes (der dritten Generation (3G), der vierten Generation (4G) oder der fünften Generation (5G) usw.) verringern. Allgemeiner kann eine IoT-Vorrichtung eine oder mehrere Komponenten in der Art der mit Bezug auf 1 und die folgenden Figuren erörterten aufweisen.
  • Überdies können hier erörterte Informationen (in der Art der Codierinformationen, Muster/Benutzerpräferenzen usw.) in einem der hier erörterten Speichertypen (einschließlich eines flüchtigen oder nichtflüchtigen Speichers) gespeichert werden. Auch können diese Informationen an einer oder mehreren Stellen in der Art eines oder mehrerer Fahrzeuge, der Cloud usw. gespeichert werden.
  • 6 zeigt ein Flussdiagramm eines Verfahrens 600 zum Codieren von LIDAR-Signalen gemäß einer Ausführungsform. Eine oder mehrere Operationen des Verfahrens 600 können durch Logik (beispielsweise die Logik 206) und/oder eine oder mehrere hier mit Bezug auf die 1 bis 13 erörterte Komponenten (in der Art eines Prozessors, einer GPU usw.) ausgeführt werden.
  • Mit Bezug auf die 1 - 6 sei bemerkt, dass in Operation 602 festgestellt wird, ob LIDAR-Pulse codiert werden sollten (beispielsweise auf der Grundlage einer Benutzer/Fahrer/Besitzer-Eingabe). In Operation 604 wird festgestellt, welcher Codiertyp oder welche Codiertypen anzuwenden sind (beispielsweise aus den vorstehend erwähnten Optionen Frequenz, Amplitude, Breite, Phase oder Kombinationen davon ausgewählt). Abhängig vom ausgewählten Typ der Codieroperation 604 veranlassen die Operationen 606 - 608 die eine oder die mehreren Lichtquellen 208 und/oder den Modulator 210, den Strahl zu modifizieren. In Operation 612 werden die Codierinformationen zum LIDAR-Empfänger 204 übermittelt.
  • 7 zeigt ein Flussdiagramm eines Verfahrens 700 zum Decodieren reflektierter LIDAR-Signale gemäß einer Ausführungsform. Eine oder mehrere Operationen des Verfahrens 700 können durch Logik (beispielsweise die Logik 218 - 222) und/oder eine oder mehrere hier mit Bezug auf die 1 bis 13 erörterte Komponenten (in der Art eines Prozessors, einer GPU usw.) ausgeführt werden.
  • Mit Bezug auf die 1 - 7 sei bemerkt, dass in Operation 702 (beispielsweise durch die Logik 218) von einem Objekt reflektierte LIDAR-Pulse erfasst werden. In Operation 704 wird festgestellt, ob die erfassten Pulse codiert sind (beispielsweise durch die Logik 218 und/oder 220). Abhängig von der Feststellung in Operation 704 decodieren die Operationen 706 und 708 die reflektierten Pulse entsprechend übermittelten Codierinformationen oder verarbeiten die Reflexionen einfach ohne Berücksichtigung der Codiertypen.
  • Ferner können einige Ausführungsformen in Rechenvorrichtungen angewendet werden, die einen oder mehrere Prozessoren aufweisen (beispielsweise mit einem oder mehreren Prozessorkernen), wie jene, die mit Bezug auf die 1 bis 13 erörtert wurden, einschließlich beispielsweise Rechenvorrichtungen mit einem kleinen Formfaktor oder mobiler Rechenvorrichtungen, beispielsweise einer IoT-Vorrichtung, einer M2M-Vorrichtung, eines Smartphones, eines Tablets, eines UMPC (ultramobiler Personalcomputer), eines Laptopcomputers, einer Ultrabook™-Rechenvorrichtung, tragbarer Vorrichtungen (in der Art einer Smartwatch, Smartglasses usw.), 2-in-1-Systeme usw. Auch werden einige Ausführungsformen in Rechenvorrichtungen, die einen Kühllüfter aufweisen, sowie in lüfterlosen Rechenvorrichtungen angewendet.
  • 8 zeigt ein Blockdiagram einer SOC-Baugruppe gemäß einer Ausführungsform. Wie in 8 dargestellt ist, weist das SOC 802 einen oder mehrere Zentralverarbeitungseinheit(CPU)-Kerne 820, einen oder mehrere Graphikverarbeitungseinheit(GPU)-Kerne 830, eine Ein-/Ausgabe(E/A)-Schnittstelle 840 und eine Speichersteuereinrichtung 842 auf. Verschiedene Komponenten der SOC-Baugruppe 802 können mit einer Zwischenverbindung oder einem Bus gekoppelt werden, wie hier mit Bezug auf die anderen Figuren erörtert. Auch kann die SOC-Baugruppe 802 mehr oder weniger Komponenten aufweisen, wie jene, die hier mit Bezug auf die anderen Figuren erörtert wurden. Ferner kann jede Komponente der SOC-Baugruppe 820 eine oder mehrere andere Komponenten aufweisen, wie hier beispielsweise mit Bezug auf die anderen Figuren erörtert wurde. Gemäß einer Ausführungsform ist die SOC-Baugruppe 802 (und ihre Komponenten) auf einem oder mehreren Integrierte-Schaltung(IC)-Dies bereitgestellt, die beispielsweise in eine einzige Halbleitervorrichtung eingebaut sind.
  • Wie in 8 dargestellt ist, ist die SOC-Baugruppe 802 über die Speichersteuereinrichtung 842 mit einem Speicher 860 gekoppelt. Gemäß einer Ausführungsform kann der Speicher 860 (oder ein Teil davon) auf der SOC-Baugruppe 802 integriert sein.
  • Die E/A-Schnittstelle 840 kann beispielsweise über eine Zwischenverbindung und/oder einen Bus, wie hier mit Bezug auf andere Figuren erörtert, mit einer oder mehreren E/A-Vorrichtungen 870 verbunden werden. Die eine oder die mehreren E/A-Vorrichtungen 870 können eines oder mehrere von einer Tastatur, einer Maus, einem Touchpad, einer Anzeige, einer Bild-/Videoaufnahmevorrichtung (in der Art einer Kamera oder eines Camcorders/Videorecorders), einem Touchscreen, einem Lautsprecher oder dergleichen aufweisen.
  • 9 ist ein Blockdiagramm eines Verarbeitungssystems 900 gemäß einer Ausführungsform. Gemäß verschiedenen Ausführungsformen weist das System 900 einen oder mehrere Prozessoren 902 und einen oder mehrere Graphikprozessoren 908 auf und kann ein Einzelprozessor-Desktopsystem, ein Mehrprozessor-Arbeitsstationssystem oder ein Serversystem mit einer großen Anzahl von Prozessoren 902 oder Prozessorkernen 907 sein. Gemäß einer Ausführungsform ist das System 900 eine Verarbeitungsplattform, die in eine integrierte System-on-a-chip(SoC oder SOC)-Schaltung zur Verwendung in mobilen, handgehaltenen oder eingebetteten Vorrichtungen aufgenommen ist.
  • Eine Ausführungsform des Systems 900 kann eine serverbasierte Spielplattform, eine Spielkonsole, einschließlich einer Spiel- und Medienkonsole, einer mobilen Spielkonsole, einer handgehaltenen Spielkonsole oder einer Online-Spielkonsole aufweisen oder darin aufgenommen sein. Gemäß einigen Ausführungsformen ist das System 900 ein Mobiltelefon, ein Smartphone, eine Tablet-Rechenvorrichtung oder eine mobile Internetvorrichtung. Das Datenverarbeitungssystem 900 kann auch eine tragbare Vorrichtung in der Art einer tragbaren Smartwatch-Vorrichtung, einer Smart-Eyewear-Vorrichtung, einer Augmented-Reality-Vorrichtung oder einer Virtual-Reality-Vorrichtung aufweisen, damit koppeln oder darin integriert sein. Gemäß einigen Ausführungsformen ist das Datenverarbeitungssystem 900 eine Fernseh- oder Settopbox-Vorrichtung mit einem oder mehreren Prozessoren 902 und einer Graphikschnittstelle, die durch einen oder mehrere Graphikprozessoren 908 erzeugt wird.
  • Gemäß einigen Ausführungsformen weisen der eine oder die mehreren Prozessoren 902 jeweils einen oder mehrere Prozessorkerne 907 zum Verarbeiten von Befehlen auf, die, wenn sie ausgeführt werden, Operationen für System- und Benutzersoftware ausführen. Gemäß einigen Ausführungsformen ist jeder von dem einen oder den mehreren Prozessorkernen 907 dafür ausgelegt, einen spezifischen Befehlssatz 909 zu verarbeiten. Gemäß einigen Ausführungsformen kann der Befehlssatz 909 eine Komplexer-Befehlssatz-Berechnung(CISC), eine Reduzierter-Befehlssatz-Berechnung(RISC) oder eine Berechnung durch ein sehr langes Befehlswort (VLIW) erleichtern. Mehrere Prozessorkerne 907 können jeweils einen anderen Befehlssatz 909 verarbeiten, der Befehle zur Erleichterung der Emulation anderer Befehlssätze aufweisen kann. Der Prozessorkern 907 kann auch andere Verarbeitungsvorrichtungen in der Art eines digitalen Signalprozessors (DSP) aufweisen.
  • Gemäß einigen Ausführungsformen weist der Prozessor 902 einen Cache-Speicher 904 auf. Abhängig von der Architektur, kann der Prozessor 902 einen einzigen internen Cache oder mehrere Ebenen eines internen Cache aufweisen. Gemäß einigen Ausführungsformen wird der Cache-Speicher zwischen verschiedenen Komponenten des Prozessors 902 geteilt. Gemäß einigen Ausführungsformen verwendet der Prozessor 902 auch einen externen Cache (beispielsweise einen Level-3(L3)-Cache oder einen Last-Level-Cache (LLC)) (nicht dargestellt), der unter Verwendung bekannter Cache-Kohärenztechniken zwischen den Prozessorkernen 907 geteilt werden kann. Eine Registerdatei 906 ist zusätzlich in den Prozessor 902 aufgenommen, welche verschiedene Typen von Registern zum Speichern verschiedener Datentypen (beispielsweise Ganzzahlregister, Gleitkommaregister, Statusregister und ein Befehlszeigerregister) aufweisen kann. Einige Register können Register für allgemeine Zwecke sein, während andere Register für den Entwurf des Prozessors 902 spezifisch sein können.
  • Gemäß einigen Ausführungsformen ist der Prozessor 902 mit einem Prozessorbus 910 gekoppelt, um Kommunikationssignale in der Art von Adress-, Daten- oder Steuersignalen zwischen dem Prozessor 902 und anderen Komponenten im System 900 zu übertragen. Gemäß einer Ausführungsform verwendet das System 900 eine beispielhafte „Hub“-Systemarchitektur, welche einen Speichersteuereinrichtungs-Hub 916 und einen Ein-/Ausgabe(E/A)-Steuereinrichtungs-Hub 930 aufweist. Ein Speichersteuereinrichtungs-Hub 916 erleichtert die Kommunikation zwischen einer Speichervorrichtung und anderen Komponenten des Systems 900, während ein E/A-Steuereinrichtungs-Hub (ICH) 930 Verbindungen zu E/A-Vorrichtungen über einen lokalen E/A-Bus bereitstellt. Gemäß einer Ausführungsform ist die Logik des Speichersteuereinrichtungs-Hubs 916 in den Prozessor integriert.
  • Eine Speichervorrichtung 920 kann eine Dynamischer-Direktzugriffsspeicher(DRAM)-Vorrichtung, eine Statischer-Direktzugriffsspeicher(SRAM)-Vorrichtung, eine Flash-Speichervorrichtung, eine Phasenänderungsspeichervorrichtung oder eine andere Speichervorrichtung mit einer geeigneten Funktionsweise, um als Prozessspeicher zu dienen, sein. Gemäß einer Ausführungsform kann die Speichervorrichtung 920 als Systemspeicher für das System 900 zum Speichern von Daten 922 und Befehlen 921 zur Verwendung, wenn der eine oder die mehreren Prozessoren 902 eine Anwendung oder einen Prozess ausführen, arbeiten. Der Speichersteuereinrichtungs-Hub 916 koppelt auch mit einem optionalen externen Graphikprozessor 912, der mit dem einen oder den mehreren Graphikprozessoren 908 in den Prozessoren 902 kommunizieren kann, um Graphik- und Medienoperationen auszuführen.
  • Gemäß einigen Ausführungsformen ermöglicht der ICH 930 Peripheriegeräten, sich über einen schnellen E/A-Bus mit der Speichervorrichtung 920 und dem Prozessor 902 zu verbinden. Die E/A-Peripheriegeräte umfassen beispielsweise eine Audiosteuereinrichtung 946, eine Firmware-Schnittstelle 928, einen Drahtlos-Transceiver 926 (beispielsweise WiFi, Bluetooth), eine Datenspeichervorrichtung 924 (beispielsweise ein Festplattenlaufwerk, einen Flash-Speicher usw.) und eine Legacy-E/A-Steuereinrichtung 940 zur Kopplung von Legacy (beispielsweise Personal System 2 (PS/2))-Vorrichtungen mit dem System. Eine oder mehrere Universeller-serieller-Bus(USB)-Steuereinrichtungen 942 verbinden Eingabevorrichtungen in der Art von Tastatur-und-Maus-Kombinationen 944. Eine Netzsteuereinrichtung 934 kann auch mit dem ICH 930 koppeln. Gemäß einigen Ausführungsformen koppelt eine Hochleistungs-Netzsteuereinrichtung (nicht dargestellt) mit dem Prozessorbus 910. Es sei bemerkt, dass das dargestellte System 900 als Beispiel dient und nicht einschränkend ist, weil auch andere Typen von Datenverarbeitungssystemen, die anders konfiguriert sind, verwendet werden können. Beispielsweise kann der E/A-Steuereinrichtungs-Hub 930 in den einen oder die mehreren Prozessoren 902 oder den Speichersteuereinrichtungs-Hub 916 integriert sein und kann der E/A-Steuereinrichtungs-Hub 930 in einen diskreten externen Graphikprozessor in der Art des externen Graphikprozessors 912 integriert sein.
  • 10 ist ein Blockdiagramm einer Ausführungsform eines Prozessors 1000 mit einem oder mehreren Prozessorkernen 1002A bis 1002N, einer integrierten Speichersteuereinrichtung 1014 und einem integrierten Graphikprozessor 1008. Jene Elemente aus 10, welche die gleichen Bezugszahlen (oder Namen) wie die Elemente aus einer anderen hier angegebenen Figur aufweisen, können in ähnlicher Weise wie hier an anderer Stelle beschrieben arbeiten oder funktionieren, wobei jedoch keine Einschränkung darauf besteht. Der Prozessor 1000 kann zusätzliche Kerne bis zum zusätzlichen Kern 1002N und diesen einschließend aufweisen, wie durch die gestrichelten Kästchen dargestellt ist. Jeder der Prozessorkerne 1002A bis 1002N weist eine oder mehrere interne Cache-Einheiten 1004A bis 1004N auf. Gemäß einigen Ausführungsformen hat jeder Prozessorkern auch Zugang zu einer oder mehreren geteilten Cache-Einheiten 1006.
  • Die internen Cache-Einheiten 1004A bis 1004N und die geteilten Cache-Einheiten 1006 repräsentieren eine Cache-Speicherhierarchie innerhalb des Prozessors 1000. Die Cache-Speicherhierarchie kann wenigstens eine Ebene des Befehls- und Daten-Caches innerhalb jedes Prozessorkerns und eine oder mehrere Ebenen eines geteilten Mid-Level-Caches aufweisen, wie Level 2 (L2), Level 3 (L3), Level 4 (L4) oder andere Cache-Ebenen, wobei die höchste Cache-Ebene vor dem externen Speicher als LLC klassifiziert ist. Gemäß einigen Ausführungsformen hält eine Cache-Kohärenzlogik die Kohärenz zwischen den verschiedenen Cache-Einheiten 1006 und 1004A bis 1004N aufrecht.
  • Gemäß einigen Ausführungsformen kann der Prozessor 1000 auch einen Satz aus einer oder mehreren Bussteuereinheiten 1016 und einem Systemagentenkern 1010 aufweisen. Die eine oder die mehreren Bussteuereinheiten 1016 verwalten einen Satz von Peripheriebussen in der Art eines oder mehrerer Peripheriekomponenten-Zwischenverbindungsbusse (beispielsweise PCI, PCI-Express). Der Systemagentenkern 1010 stellt eine Verwaltungsfunktionalität für die verschiedenen Prozessorkomponenten bereit. Gemäß einigen Ausführungsformen weist der Systemagentenkern 1010 eine oder mehrere integrierte Speichersteuereinrichtungen 1014 zum Verwalten des Zugriffs auf verschiedene externe Speichervorrichtungen (nicht dargestellt) auf.
  • Gemäß einigen Ausführungsformen weisen ein oder mehrere der Prozessorkerne 1002A bis 1002N Unterstützung für ein gleichzeitiges Multi-Threading auf. Gemäß dieser Ausführungsform weist der Systemagentenkern 1010 Komponenten zum Koordinieren und Betreiben der Kerne 1002A bis 1002N während einer Multi-Thread-Verarbeitung auf. Der Systemagentenkern 1010 kann zusätzlich eine Stromversorgungs-Steuereinheit (PCU) aufweisen, die Logik und Komponenten zum Regulieren des Stromversorgungszustands der Prozessorkerne 1002A bis 1002N und des Graphikprozessors 1008 aufweist.
  • Gemäß einigen Ausführungsformen weist der Prozessor 1000 zusätzlich einen Graphikprozessor 1008 zum Ausführen von Graphikverarbeitungsoperationen auf. Gemäß einigen Ausführungsformen koppelt der Graphikprozessor 1008 mit dem Satz geteilter Cache-Einheiten 1006 und dem Systemagentenkern 1010, einschließlich der einen oder der mehreren integrierten Speichersteuereinrichtungen 1014. Gemäß einigen Ausführungsformen ist eine Anzeigesteuereinrichtung 1011 mit dem Graphikprozessor 1008 gekoppelt, um die Graphikprozessorausgabe an eine oder mehrere angeschlossene Anzeigen zu steuern. Gemäß einigen Ausführungsformen kann die Anzeigesteuereinrichtung 1011 ein über zumindest eine Zwischenverbindung mit dem Graphikprozessor gekoppeltes getrenntes Modul sein oder in den Graphikprozessor 1008 oder den Systemagentenkern 1010 integriert sein.
  • Gemäß einigen Ausführungsformen wird eine ringbasierte Zwischenverbindungseinheit 1012 zur Kopplung der internen Komponenten des Prozessors 1000 verwendet. Es kann jedoch auch eine alternative Zwischenverbindungseinheit in der Art einer Punkt-zu-Punkt-Zwischenverbindung, einer geschalteten Zwischenverbindung oder einer anderen Technik, einschließlich auf dem Fachgebiet wohlbekannter Techniken, verwendet werden. Gemäß einigen Ausführungsformen koppelt der Graphikprozessor 1008 über eine E/A-Strecke 1013 mit der Ringzwischenverbindung 1012.
  • Die beispielhafte E/A-Strecke 1013 repräsentiert wenigstens eine von mehreren Spielarten von E/A-Zwischenverbindungen, einschließlich einer Auf-der-Baugruppe-E/A-Zwischenverbindung, wodurch die Kommunikation zwischen verschiedenen Prozessorkomponenten und einem eingebetteten Hochleistungsspeichermodul 1018 in der Art eines eDRAM (oder eingebetteten DRAM)-Moduls erleichtert wird. Gemäß einigen Ausführungsformen verwenden jeder der Prozessorkerne 1002 bis 1002N und der Graphikprozessor 1008 eingebettete Speichermodule 1018 als geteilten Last-Level-Cache.
  • Gemäß einigen Ausführungsformen sind die Prozessorkerne 1002A bis 1002N homogene Kerne, welche die gleiche Befehlssatzarchitektur ausführen. Gemäß einer anderen Ausführungsform sind die Prozessorkerne 1002A bis 1002N in Bezug auf die Befehlssatzarchitektur (ISA) heterogen, wobei ein oder mehrere der Prozessorkerne 1002A bis 1002N einen ersten Befehlssatz ausführen, während wenigstens einer der anderen Kerne einen Teilsatz des ersten Befehlssatzes oder einen anderen Befehlssatz ausführt. Gemäß einer Ausführungsform sind die Prozessorkerne 1002A bis 1002N in Bezug auf die Mikroarchitektur heterogen, wobei ein oder mehrere Kerne mit einem höheren Stromverbrauch mit einem oder mehreren Leistungskernen mit einem geringeren Stromverbrauch koppeln. Zusätzlich kann der Prozessor 1000 auf einem oder mehreren Chips oder als eine integrierte SoC-Schaltung mit den erläuterten Komponenten zusätzlich zu anderen Komponenten implementiert werden.
  • 11 ist ein Blockdiagramm eines Graphikprozessors 1100, wobei es sich um eine diskrete Graphikverarbeitungseinheit oder um einen mit mehreren Verarbeitungskernen integrierten Graphikprozessor handeln kann. Gemäß einigen Ausführungsformen kommuniziert der Graphikprozessor über eine speicherabgebildete E/A-Schnittstelle mit Registern auf dem Graphikprozessor, wobei Befehle in den Prozessorspeicher gegeben werden. Gemäß einigen Ausführungsformen weist der Graphikprozessor 1100 eine Speicherschnittstelle 1114 zum Zugreifen auf den Speicher auf. Die Speicherschnittstelle 1114 kann eine Schnittstelle zum lokalen Speicher, zu einem oder mehreren internen Cache-Speichern, zu einem oder mehreren geteilten externen Cache-Speichern und/oder zum Systemspeicher sein.
  • Gemäß einigen Ausführungsformen weist der Graphikprozessor 1100 auch eine Anzeigesteuereinrichtung 1102 zum Steuern von an eine Anzeigevorrichtung 1120 ausgegebenen Anzeigedaten auf. Die Anzeigesteuereinrichtung 1102 weist Hardware für eine oder mehrere Überlagerungsebenen für die Anzeige und die Zusammensetzung mehrerer Ebenen von Video- oder Benutzerschnittstellenelementen auf. Gemäß einigen Ausführungsformen weist der Graphikprozessor 1100 eine Videocodecmaschine 1106 zum Codieren, Decodieren oder Transcodieren von Medien zu, von oder zwischen einem oder mehreren Mediencodierformaten, einschließlich Moving-Picture-Experts-Group(MPEG)-Formaten in der Art von MPEG-2, Advanced-Video-Coding(AVC)-Formaten in der Art von H.264/MPEG-4 AVC sowie von Society-of-Motion-Picture-&-Television-Engineers(SMPTE)-421M/VC-1- und Joint-Photographic-Experts-Group(JPEG)-Formaten in der Art von JPEG und Motion-JPEG(MJPEG)-Formaten, jedoch ohne Einschränkung auf diese, auf.
  • Gemäß einigen Ausführungsformen weist der Graphikprozessor 1100 eine Blockbildübertragungs(BLIT)-Maschine 1104 zum Ausführen zweidimensionaler (2D) Rastergraphikgeneratoroperationen einschließlich beispielsweise Bitgrenzen-Blockübertragungen, auf. Gemäß einer Ausführungsform werden jedoch 11D-Graphikoperationen unter Verwendung einer oder mehrerer Komponenten der Graphikverarbeitungsmaschine (GPE) 1110 ausgeführt. Gemäß einigen Ausführungsformen ist die Graphikverarbeitungsmaschine 1110 eine Rechenmaschine zur Ausführung von Graphikoperationen einschließlich dreidimensionaler (3D) Graphikoperationen und Medienoperationen.
  • Gemäß einigen Ausführungsformen weist die GPE 1110 eine 3D-Pipeline 1112 zur Ausführung von 3D-Operationen in der Art des Renderns dreidimensionaler Bilder und Szenen unter Verwendung von Verarbeitungsfunktonen, die auf primitive 3D-Formen (beispielsweise Rechteck, Dreieck usw.) wirken, auf. Die 3D-Pipeline 1112 weist programmierbare und Festfunktionselemente auf, die verschiedene Aufgaben innerhalb des Elements ausführen und/oder Ausführungs-Threads für ein 3D/Medien-Untersystem 1115 herbeiführen. Wenngleich die 3D-Pipeline 1112 zur Ausführung von Medienoperationen verwendet werden kann, weist eine Ausführungsform der GPE 1110 auch eine Medienpipeline 1116 auf, die spezifisch zur Ausführung von Medienoperationen in der Art einer Videonachbearbeitung und einer Bildverbesserung verwendet wird.
  • Gemäß einigen Ausführungsformen weist die Medienpipeline 1116 Festfunktions- oder programmierbare Logikeinheiten zur Ausführung einer oder mehrerer spezialisierter Medienoperationen in der Art einer Videodecodierbeschleunigung, eines Video-Deinterlacing und einer Videocodierbeschleunigung an Stelle der Videocodecmaschine 1106 oder für diese auf. Gemäß einigen Ausführungsformen weist die Medienpipeline 1116 zusätzlich eine Threadhervorbringungseinheit zur Hervorbringung von Threads zur Ausführung auf dem 3D/Medienuntersystem 1115 auf. Die hervorgebrachten Threads führen Berechnungen für die Medienoperationen auf einer oder mehreren Graphikausführungseinheiten, die im 3D/Medienuntersystem 1115 enthalten sind, aus.
  • Gemäß einigen Ausführungsformen weist das 3D/Medienuntersystem 1115 Logik zum Ausführen von der 3D-Pipeline 1112 und der Medienpipeline 1116 hervorgebrachter Threads auf. Gemäß einer Ausführungsform senden die Pipelines Threadausführungsanforderungen zum 3D/Medienuntersystem 1115, welches eine Threadabfertigungslogik zum Behandeln und Abfertigen verschiedener Anforderungen für verfügbare Threadausführungsressourcen aufweist. Die Ausführungsressourcen weisen ein Feld von Graphikausführungseinheiten zur Verarbeitung der 3D- und Medien-Threads auf. Gemäß einigen Ausführungsformen weist das 3D/Medienuntersystem 1115 einen oder mehrere interne Cache-Speicher für Thread-Befehle und Daten auf. Gemäß einigen Ausführungsformen weist das Untersystem auch einen geteilten Speicher einschließlich Register und eines adressierbaren Speichers auf, um Daten zwischen Threads zu teilen und ausgegebene Daten zu speichern.
  • 12 ist ein verallgemeinertes Diagramm eines Maschinenlernsoftwarestapels 1200. Eine Maschinenlernanwendung 1202 kann dafür ausgelegt werden, ein neuronales Netz oder andere ähnliche überwachte Maschinenlerntechniken unter Verwendung eines Trainingsdatensatzes zu trainieren oder ein trainiertes tiefes neuronales Netz zur Implementation maschineller Intelligenz zu verwenden. Wenngleich eine oder mehrere Ausführungsformen hier mit Bezug auf umfangreiche tiefe Lernimplementationen erörtert werden, sind die Ausführungsformen überdies nicht auf solche Implementationen beschränkt, und es kann jeder beliebige überwachte Maschinenlernalgorithmus verwendet werden, wie Bayessches Netz (auch als Bayes-Netz bezeichnet), Random Forest, logistische Regression, SVM (Stützvektormaschine), neuronales Netz, tiefes neuronales Netz oder Kombinationen davon. Die Maschinenlernanwendung 1202 kann Trainings- und Ableitungsfunktionalität für ein neuronales Netz und/oder spezialisierte Software, die zum Trainieren eines neuronalen Netzes vor dem Einsatz verwendet werden kann, aufweisen. Die Maschinenlernanwendung 1202 kann einen beliebigen Typ maschineller Intelligenz implementieren, einschließlich Bilderkennung, Abbildung und Lokalisierung, autonomer Navigation, Sprachsynthese, medizinischer Bildgebung oder Sprachübersetzung.
  • Die Hardwarebeschleunigung für die Maschinenlernanwendung 1202 kann durch ein Maschinenlernframework 1204 ermöglicht werden. Das Maschinenlernframework 1204 kann eine Bibliothek von Maschinenlern-Grundbausteinen bereitstellen. Maschinenlern-Grundbausteine sind grundlegende Operationen, die von Maschinenlernalgorithmen gemeinsam ausgeführt werden. Ohne das Maschinenlernframework 1204 müssten Entwickler von Maschinenlernalgorithmen die Hauptrechenlogik in Zusammenhang mit dem Maschinenlernalgorithmus erzeugen und optimieren und dann die Rechenlogik neu optimieren, wenn neue Parallelprozessoren entwickelt werden. Stattdessen kann die Maschinenlernanwendung dafür ausgelegt werden, die erforderlichen Berechnungen unter Verwendung der vom Maschinenlernframework 1204 bereitgestellten Grundbausteine auszuführen. Beispielhafte Grundbausteine umfassen Tensorfaltungen, Aktivierungsfunktionen und Pooling, wobei es sich um Rechenoperationen handelt, die während des Trainings eines faltenden neuronalen Netzes (CNN) ausgeführt werden. Das Maschinenlernframework 1204 kann auch Grundbausteine zur Implementation grundlegender Unterprogramme für lineare Algebra, die von vielen Maschinenlernalgorithmen ausgeführt werden, wie Matrix- und Vektoroperationen, bereitstellen.
  • Das Maschinenlernframework 1204 kann von der Maschinenlernanwendung 1202 empfangene Eingangsdaten verarbeiten und die geeignete Eingabe für ein Rechenframework 1206 erzeugen. Das Rechenframework 1206 kann die vom GPGPU-Treiber 1208 bereitgestellten zugrunde liegenden Befehle abstrahieren, um es dem Maschinenlernframework 1204 zu ermöglichen, die Hardwarebeschleunigung durch die GPGPU-Hardware 1210 auszunutzen, ohne dass das Maschinenlernframework 1204 eingehende Kenntnisse über die Architektur der GPGPU-Hardware 1210 haben müsste. Zusätzlich kann das Rechenframework 1206 eine Hardwarebeschleunigung für das Maschinenlernframework 1204 über eine Vielzahl von Typen und Generationen der GPGPU-Hardware 1210 ermöglichen.
  • Die von hier beschriebenen Ausführungsformen bereitgestellte Rechenarchitektur kann dafür ausgelegt werden, die Parallelverarbeitungstypen auszuführen, die für das Training und den Einsatz neuronaler Netze für das Maschinenlernen besonders geeignet sind. Ein neuronales Netz kann als ein Netz von Funktionen mit einer Graphbeziehung verallgemeinert werden. Wie auf dem Fachgebiet bekannt ist, gibt es eine Vielzahl von Implementationstypen neuronaler Netze, die beim Maschinenlernen verwendet werden. Ein beispielhafter Typ eines neuronalen Netzes ist ein Feedforward-Netz, wie zuvor beschrieben wurde.
  • Ein zweiter beispielhafter Typ eines neuronalen Netzes ist das faltende neuronale Netz (CNN). Ein CNN ist ein spezialisiertes neuronales Feedforward-Netz zur Verarbeitung von Daten mit einer bekannten gitterartigen Topologie in der Art von Bilddaten. Dementsprechend werden CNN üblicherweise zur Berechnung von Sicht- und Bilderkennungsanwendungen verwendet, sie werden jedoch auch für andere Mustererkennungstypen in der Art der Sprachverarbeitung verwendet. Die Knoten in der CNN-Eingangsschicht sind zu einem Satz von „Filtern“ (Merkmalsdetektoren, die von den in der Netzhaut vorgefundenen rezeptiven Feldern inspiriert sind) organisiert, und die Ausgabe jedes Filtersatzes wird an Knoten in nachfolgenden Schichten des Netzes weitergeleitet. Die Berechnungen für ein CNN umfassen die Anwendung der mathematischen Faltungsoperation auf jedes Filter zur Erzeugung der Ausgabe dieses Filters. Die Faltung ist eine spezialisierte Art einer mathematischen Operation, die von zwei Funktionen ausgeführt wird, um eine dritte Funktion zu erzeugen, die eine modifizierte Version einer der beiden Originalfunktionen ist. Bei der Terminologie faltender Netze kann die erste Funktion der Faltung als Eingabe bezeichnet werden, während die zweite Funktion als Faltungskern bezeichnet werden kann. Die Ausgabe kann als Merkmalskarte bezeichnet werden. Beispielsweise kann die Eingabe in eine Faltungsschicht ein mehrdimensionales Datenfeld sein, wodurch die verschiedenen Farbkomponenten eines Eingangsbilds definiert werden. Der Faltungskern kann ein mehrdimensionales Parameterfeld sein, wobei die Parameter durch den Trainingsprozess für das neuronale Netz angepasst werden.
  • Rekurrente neuronale Netze (RNN) sind eine Familie neuronaler Feedforward-Netze mit Rückkopplungsverbindungen zwischen Schichten. RNN ermöglichen die Modulierung sequenzieller Daten durch Teilen von Parameterdaten zwischen verschiedenen Teilen des neuronalen Netzes. Die Architektur eines RNN weist Zyklen auf. Die Zyklen repräsentieren den Einfluss eines gegenwärtigen Werts einer Variable auf ihren eigenen Wert zu einer künftigen Zeit, weil zumindest ein Teil der Ausgangsdaten vom RNN als Rückkopplung zur Verarbeitung einer nachfolgenden Eingabe in einer Sequenz verwendet wird. Dieses Merkmal macht RNN infolge der variablen Natur, in der Sprachdaten zusammengesetzt sein können, für die Sprachverarbeitung besonders nützlich.
  • Die hier beschriebenen Figuren präsentieren beispielhafte Feedforward-CNN- und RNN-Netze und beschreiben einen allgemeinen Prozess für das Training bzw. den Einsatz dieser jeweiligen Netztypen. Es ist zu verstehen, dass diese Beschreibungen für eine spezifische hier beschriebene Ausführungsform beispielhaft und nicht einschränkend sind und dass die erläuterten Konzepte allgemein auf tiefe neuronale Netze und Maschinenlerntechniken allgemein angewendet werden können.
  • Die vorstehend beschriebenen beispielhaften neuronalen Netze können zur Ausführung eines tiefen Lernens verwendet werden. Das tiefe Lernen ist ein Maschinenlernen unter Verwendung tiefer neuronaler Netze. Die beim tiefen Lernen verwendeten tiefen neuronalen Netze sind aus mehreren verborgenen Schichten zusammengesetzte künstliche neuronale Netze im Gegensatz zu flachen neuronalen Netzen, die nur eine einzige verborgene Schicht aufweisen. Tiefere neuronale Netze sind im Allgemeinen im Training rechenaufwendiger. Die zusätzlichen verborgenen Schichten des Netzes ermöglichen jedoch eine mehrstufige Mustererkennung, die gegenüber flachen Maschinenlerntechniken zu einem verringerten Ausgangsfehler führt.
  • Beim tiefen Lernen verwendete tiefe neuronale Netze weisen typischerweise ein vorgeschaltetes Netz zur Ausführung einer Merkmalserkennung auf, das mit einem nachgeschalteten Netz gekoppelt ist, welches ein mathematisches Modell repräsentiert, das auf der Grundlage der dem Modell bereitgestellten Merkmalsrepräsentation Operationen ausführen kann (beispielsweise Objektklassifizierung, Spracherkennung usw.). Das tiefe Lernen ermöglicht die Ausführung eines Maschinenlernens, ohne dass für das Modell von Hand eine Merkmalsbearbeitung ausgeführt werden müsste. Stattdessen können tiefe neuronale Netze Merkmale auf der Grundlage einer statistischen Struktur oder Korrelation innerhalb der Eingangsdaten lernen. Die erlernten Merkmale können einem mathematischen Modell bereitgestellt werden, das erkannte Merkmale auf eine Ausgabe abbilden kann. Das vom Netz verwendete mathematische Modell ist im Allgemeinen für die spezifische auszuführende Aufgabe spezialisiert, und es werden verschiedene Modelle verwendet, um verschiedene Aufgaben auszuführen.
  • Sobald das neuronale Netz strukturiert wurde, kann ein Lernmodell auf das Netz angewendet werden, um es für die Ausführung spezifischer Aufgaben zu trainieren. Das Lernmodell beschreibt, wie die Gewichte innerhalb des Modells einzustellen sind, um den Ausgangsfehler des Netzes zu verringern. Die Rückpropagierung von Fehlern ist ein übliches Verfahren, das für das Training neuronaler Netze verwendet wird. Ein Eingangsvektor wird dem Netz zur Verarbeitung präsentiert. Die Ausgabe des Netzes wird unter Verwendung einer Verlustfunktion mit der gewünschten Ausgabe verglichen, und ein Fehlerwert wird für jedes der Neuronen in der Ausgangsschicht berechnet. Die Fehlerwerte werden dann rückpropagiert, bis jedes Neuron einen zugeordneten Fehlerwert aufweist, der in etwa seinen Beitrag zur ursprünglichen Ausgabe repräsentiert. Das Netz kann dann von diesen Fehlern unter Verwendung eines Algorithmus in der Art eines stochastischen Gradient-Descent-Algorithmus lernen, um die Gewichte des neuronalen Netzes zu aktualisieren.
  • 13 zeigt das Training und den Einsatz eines tiefen neuronalen Netzes. Sobald ein gegebenes Netz für eine Aufgabe strukturiert wurde, wird das neuronale Netz unter Verwendung eines Trainingsdatensatzes 1302 trainiert. Es wurden verschiedene Trainingsframeworks entwickelt, um eine Hardwarebeschleunigung des Trainingsprozesses zu ermöglichen. Beispielsweise kann das Maschinenlernframework 1204 aus 12 als ein Trainingsframework 1304 ausgelegt werden. Das Trainingsframework 1304 kann in ein untrainiertes neuronales Netz 1306 eingreifen und ermöglichen, dass das untrainierte neuronale Netz unter Verwendung der hier beschriebenen Parallelverarbeitungsressourcen zur Erzeugung eines trainierten neuronalen Netzes 1308 trainiert wird. Zur Einleitung des Trainingsprozesses können die Anfangsgewichte zufällig oder durch Vortrainieren unter Verwendung eines Deep-Belief-Netzes gewählt werden. Der Trainingszyklus kann dann überwacht oder unüberwacht ausgeführt werden.
  • Das überwachte Lernen ist ein Lernverfahren, bei dem das Training als vermittelter Vorgang ausgeführt wird, beispielsweise wenn der Trainingsdatensatz 1302 eine mit der gewünschten Ausgabe für die Eingabe gepaarte Eingabe aufweist oder wenn der Trainingsdatensatz eine Eingabe mit einer bekannten Ausgabe aufweist und die Ausgabe des neuronalen Netzes von Hand eingestuft wird. Das Netz verarbeitet die Eingaben und vergleicht die sich ergebenden Ausgaben mit einem Satz erwarteter oder gewünschter Ausgaben. Fehler werden dann durch das System rückpropagiert. Das Trainingsframework 1304 kann einstellen, um die Gewichte, welche das untrainierte neuronale Netz 1306 steuern, einzustellen. Das Trainingsframework 1304 kann Werkzeuge bereitstellen, um zu überwachen, wie gut das untrainierte neuronale Netz 1306 gegen ein Modell konvergiert, das für die Erzeugung korrekter Antworten auf der Grundlage bekannter Eingangsdaten geeignet ist. Der Trainingsprozess geschieht wiederholt, während die Gewichte des Netzes eingestellt werden, um die vom neuronalen Netz erzeugte Ausgabe zu verfeinern. Der Trainingsprozess kann fortgesetzt werden, bis das neuronale Netz eine statistisch gewünschte Genauigkeit in Zusammenhang mit einem trainierten neuronalen Netz 1308 erreicht. Das trainierte neuronale Netz 1308 kann dann eingesetzt werden, um eine Anzahl von Maschinenlernoperationen zu implementieren.
  • Das nicht überwachte Lernen ist ein Lernverfahren, bei dem das Netz versucht, sich unter Verwendung nicht markierter Daten zu trainieren. Demgemäß weist der Trainingsdatensatz 1302 für das nicht überwachte Lernen Eingangsdaten ohne zugehörige Ausgangsdaten auf. Das untrainierte neuronale Netz 1306 kann Gruppierungen innerhalb der nicht markierten Eingabe lernen und feststellen, wie sich einzelne Eingaben auf den Gesamtdatensatz beziehen. Das nicht überwachte Training kann für die Erzeugung einer selbstorganisierenden Karte verwendet werden, wobei es sich um einen Typ eines trainierten neuronalen Netzes 1307 handelt, das in der Lage ist, Operationen auszuführen, die für die Verringerung der Dimensionalität von Daten nützlich sind. Das nicht überwachte Training kann auch für die Ausführung einer Anomaliedetektion verwendet werden, welche die Erkennung von Datenpunkten in einem Eingangsdatensatz ermöglicht, die von den normalen Mustern der Daten abweichen.
  • Variationen des überwachten und nicht überwachten Trainings können auch verwendet werden. Das halbüberwachte Lernen ist eine Technik, bei der der Trainingsdatensatz 1302 eine Mischung markierter und nicht markierter Daten derselben Verteilung aufweist. Das inkrementelle Lernen ist eine Variante des überwachten Lernens, wobei die Eingangsdaten kontinuierlich verwendet werden, um das Modell weiter zu trainieren. Das inkrementelle Lernen ermöglicht es, dass sich das trainierte neuronale Netz 1308 an die neuen Daten 1312 anpasst, ohne das Wissen zu vergessen, das während des anfänglichen Trainings in das Netz aufgenommen wurde.
  • Ob überwacht oder nicht überwacht, kann der Trainingsprozess für besonders tiefe neuronale Netze für einen einzigen Rechenknoten zu rechenintensiv sein. An Stelle der Verwendung eines einzigen Rechenknotens kann ein verteiltes Netz von Rechenknoten verwendet werden, um den Trainingsprozess zu beschleunigen.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Beispiel 1 weist eine Vorrichtung auf, welche Folgendes umfasst: eine Codierlogik zum Codieren mehrerer Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt und einen mit der Codierlogik gekoppelten Speicher zum Speichern von Codierinformationen, die einen Typ der auf die mehreren Lichtstrahlpulse anzuwendenden Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die Codierlogik eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen veranlassen soll, um die mehreren Lichtstrahlpulse zu codieren. Beispiel 2 weist die Vorrichtung nach Beispiel 1 auf, wobei die mehreren Lichtstrahlpulse Lichtdetektions-und-Entfernungsmess(LIDAR)-Pulse umfassen. Beispiel 3 weist die Vorrichtung nach Beispiel 1 auf, wobei die Modifikation eine Änderung einer oder mehrerer der Folgenden umfasst: Frequenz, Breite, Phase oder Amplitude des wenigstens einen von dem einen oder den mehreren Teilpulsen. Beispiel 4 weist die Vorrichtung nach Beispiel 1 auf, wobei die Codierlogik die Modifikation durch einen Modulator oder die wenigstens eine Lichtquelle hervorrufen soll. Beispiel 5 weist die Vorrichtung nach Beispiel 4 auf, wobei der Modulator einen elektrooptischen Modulator umfasst. Beispiel 6 weist die Vorrichtung nach Beispiel 5 auf, wobei der elektrooptische Modulator einen elektrischen Lithiumniobatkristallmodulator oder einen elektrooptischen Flüssigkristallmodulator umfasst. Beispiel 7 weist die Vorrichtung nach Beispiel 1 auf, wobei die wenigstens eine Lichtquelle Folgendes umfasst: eine gepulste Diodenlaserquelle, eine ungekühlte Faserlaserquelle, eine Festkörperlaserquelle, eine Flüssigkristall-Laserquelle, eine Farbstofflaserquelle oder eine Gaslaserquelle. Beispiel 8 weist die Vorrichtung nach Beispiel 1 auf, welche ferner mehrere Lichtquellen umfasst, wobei jede der mehreren Lichtquellen einen anderen Lichtstrahltyp emittieren soll. Beispiel 9 weist die Vorrichtung nach Beispiel 8 auf, wobei der andere Lichtstrahltyp einen Lichtstrahl mit einer anderen Frequenz, Phase, Amplitude, Wellenlänge oder Kombinationen davon umfasst. Beispiel 10 weist die Vorrichtung nach Beispiel 1 auf, wobei die wenigstens eine Lichtquelle einen Laserstrahl erzeugen soll. Beispiel 11 weist die Vorrichtung nach Beispiel 1 auf, wobei die Decodierlogik auf die gespeicherten Codierinformationen zugreifen soll, um die Decodierung von Reflexionen der mehreren Lichtstrahlpulse zu erleichtern. Beispiel 12 weist die Vorrichtung nach Beispiel 1 auf, wobei die Codierlogik die mehreren Lichtstrahlpulse auf der Grundlage zumindest teilweise des Maschinenlernens oder tiefen Lernens codieren soll. Beispiel 13 weist die Vorrichtung nach Beispiel 1 auf, wobei eine Internet-der-Dinge(IoT)-Vorrichtung oder ein Fahrzeug die Codierlogik oder den Speicher umfasst. Beispiel 14 weist die Vorrichtung nach Beispiel 1 auf, wobei ein Prozessor mit einem oder mehreren Prozessorkernen die Codierlogik umfasst. Beispiel 15 weist die Vorrichtung nach Beispiel 1 auf, wobei eine einzige integrierte Vorrichtung eines oder mehrere der Folgenden umfasst: einen Prozessor, die Codierlogik und den Speicher.
  • Beispiel 16 weist eine Vorrichtung auf, welche Folgendes umfasst: eine Decodierlogik zum Decodieren mehrerer Lichtstrahlpulse auf der Grundlage von Codierinformationen, die einen Typ der auf die mehreren Lichtstrahlpulse angewendeten Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die Decodierlogik eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen erkennen soll, um die mehreren Lichtstrahlpulse zu decodieren. Beispiel 17 weist die Vorrichtung nach Beispiel 16 auf, welche eine Logik zur Angabe, ob der wenigstens eine von dem einen oder den mehreren Teilpulsen authentisch ist, ansprechend auf den Vergleich der Modifikation mit den Codierinformationen umfasst. Beispiel 18 weist die Vorrichtung nach Beispiel 16 auf, wobei die Modifikation eine Änderung einer oder mehrerer der Folgenden umfasst: Frequenz, Breite, Phase oder Amplitude des wenigstens einen von dem einen oder den mehreren Teilpulsen. Beispiel 19 weist die Vorrichtung nach Beispiel 16 auf, wobei die mehreren Lichtstrahlpulse Lichtdetektions-und-Entfernungsmess(LIDAR)-Pulse umfassen. Beispiel 20 weist die Vorrichtung nach Beispiel 16 auf, welche ferner einen Speicher zum Speichern der Codierinformationen umfasst. Beispiel 21 weist die Vorrichtung nach Beispiel 16 auf, wobei die Codierlogik die Codierinformationen bereitstellen soll. Beispiel 22 weist die Vorrichtung nach Beispiel 16 auf, wobei die Decodierlogik die Modifikation auf der Grundlage einer Angabe von einem Demodulator oder einem Detektor erkennen soll.
  • Beispiel 23 weist ein Rechensystem auf, welches Folgendes umfasst: einen Prozessor mit einem oder mehreren Prozessorkernen, einen mit dem Prozessor gekoppelten Speicher zum Speichern eines oder mehrerer Codierinformationen entsprechender Datenbits und Logik zum Verarbeiten mehrerer Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt oder zum Verarbeiten mehrerer Lichtstrahlpulse auf der Grundlage der Codierinformationen, wobei die Codierinformationen einen Typ der auf die mehreren Lichtstrahlpulse angewendeten Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die mehreren Lichtstrahlpulse Lichtdetektions- und-Entfernungsmess(LIDAR)-Pulse umfassen. Beispiel 24 weist das Rechensystem nach Beispiel 23 auf, wobei die Logik eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen zur Codierung der mehreren Lichtstrahlpulse veranlassen soll. Beispiel 25 weist das Rechensystem nach Beispiel 23 auf, wobei die Logik eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen zur Decodierung der mehreren Lichtstrahlpulse erkennen soll. Beispiel 26 weist das Rechensystem nach Beispiel 24 auf, wobei die Modifikation eine Änderung einer oder mehrerer der Folgenden umfasst: Frequenz, Breite, Phase oder Amplitude des wenigstens einen von dem einen oder den mehreren Teilpulsen. Beispiel 27 weist das Rechensystem nach Beispiel 24 auf, wobei die Logik die Modifikation durch einen Modulator oder die wenigstens eine Lichtquelle veranlassen soll. Beispiel 28 weist das Rechensystem nach Beispiel 23 auf, wobei die wenigstens eine Lichtquelle Folgendes umfasst: eine gepulste Diodenlaserquelle, eine ungekühlte Faserlaserquelle, eine Festkörperlaserquelle, eine Flüssigkristall-Laserquelle, eine Farbstofflaserquelle oder eine Gaslaserquelle. Beispiel 29 weist das Rechensystem nach Beispiel 23 auf, welches ferner mehrere Lichtquellen umfasst, wobei jede der mehreren Lichtquellen einen anderen Typ eines Lichtstrahls emittieren soll. Beispiel 30 weist das Rechensystem nach Beispiel 23 auf, wobei die wenigstens eine Lichtquelle einen Laserstrahl erzeugen soll. Beispiel 31 weist das Rechensystem nach Beispiel 25 auf, wobei die Logik auf die gespeicherten Codierinformationen zugreifen soll, um die Decodierung von Reflexionen der mehreren Lichtstrahlpulse zu erleichtern. Beispiel 32 weist das Rechensystem nach Beispiel 23 auf, wobei der Prozessor die Logik umfasst. Beispiel 33 weist das Rechensystem nach Beispiel 23 auf, wobei eine einzige integrierte Vorrichtung eines oder mehrere der Folgenden umfasst: den Prozessor, die Logik und den Speicher.
  • Beispiel 34 weist ein Verfahren auf, welches Folgendes umfasst: Verarbeiten mehrerer Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt oder Verarbeiten mehrerer Lichtstrahlpulse auf der Grundlage der Codierinformationen, wobei die Codierinformationen einen Typ der auf die mehreren Lichtstrahlpulse angewendeten Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die mehreren Lichtstrahlpulse Lichtdetektions- und-Entfernungsmess(LIDAR)-Pulse umfassen. Beispiel 35 weist das Verfahren nach Beispiel 34 auf, wobei ferner eine Modifikation an wenigstens einem von dem einen oder den mehreren Teilpulsen veranlasst wird, um die mehreren Lichtstrahlpulse zu codieren. Beispiel 36 weist das Verfahren nach Beispiel 34 auf, wobei ferner eine Modifikation an wenigstens einem von dem einen oder den mehreren Teilpulsen erkannt wird, um die mehreren Lichtstrahlpulse zu decodieren.
  • Beispiel 37 weist ein oder mehrere computerlesbare Medien auf, die einen oder mehrere Befehle umfassen, die, wenn sie auf wenigstens einem Prozessor ausgeführt werden, den wenigstens einen Prozessor konfigurieren, eine oder mehrere der folgenden Operationen auszuführen: Verarbeiten mehrerer Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt oder Verarbeiten mehrerer Lichtstrahlpulse auf der Grundlage der Codierinformationen, wobei die Codierinformationen einen Typ der auf die mehreren Lichtstrahlpulse angewendeten Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die mehreren Lichtstrahlpulse Lichtdetektions- und-Entfernungsmess(LIDAR)-Pulse umfassen. Beispiel 38 weist das computerlesbare Medium nach Beispiel 37 auf, das ferner einen oder mehrere Befehle umfasst, die, wenn sie auf dem wenigstens einen Prozessor ausgeführt werden, den wenigstens einen Prozessor konfigurieren, eine oder mehrere Operationen auszuführen, um eine Modifikation an wenigstens einem von dem einen oder den mehreren Teilpulsen zu veranlassen, um die mehreren Lichtstrahlpulse zu codieren. Beispiel 39 weist das computerlesbare Medium nach Beispiel 37 auf, das ferner einen oder mehrere Befehle umfasst, die, wenn sie auf dem wenigstens einen Prozessor ausgeführt werden, den wenigstens einen Prozessor konfigurieren, eine oder mehrere Operationen auszuführen, um die Erkennung einer Modifikation an wenigstens einem von dem einen oder den mehreren Teilpulsen zu veranlassen, um die mehreren Lichtstrahlpulse zu decodieren.
  • Beispiel 40 weist eine Vorrichtung auf, welche Mittel zum Ausführen eines Verfahrens nach einem der vorhergehenden Beispiele umfasst. Beispiel 41 umfasst einen maschinenlesbaren Speicher, der maschinenlesbare Befehle aufweist, die, wenn sie ausgeführt werden, ein Verfahren implementieren oder eine Vorrichtung nach einem der vorhergehenden Beispiele verwirklichen.
  • Gemäß verschiedenen Ausführungsformen können die hier erörterten Operationen, beispielsweise in Bezug auf 1 und die folgenden Figuren, als Hardware (beispielsweise Logikschaltungsanordnung), Software, Firmware oder Kombinationen davon implementiert werden, die als Computerprogrammprodukt bereitgestellt werden können, beispielsweise einschließlich eines physischen (beispielsweise nichtflüchtigen) maschinenlesbaren oder computerlesbaren Mediums, worauf Befehle (oder Softwareprozeduren) gespeichert werden, die zur Programmierung eines Computers zur Ausführung eines hier erörterten Prozesses verwendet werden. Das maschinenlesbare Medium kann eine Speichervorrichtung in der Art jener, die mit Bezug auf 1 und die folgenden Figuren erörtert wurden, aufweisen.
  • Zusätzlich können solche computerlesbaren Medien als Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem fernen Computer (beispielsweise einem Server) zu einem anfordernden Computer (beispielsweise einem Client) durch Datensignale, die in einer Trägerwelle oder einem anderen Ausbreitungsmedium bereitgestellt sind, über eine Kommunikationsstrecke (beispielsweise einen Bus, ein Modem oder eine Netzverbindung) übertragen werden kann.
  • Ein in der Patentschrift gegebener Verweis auf „eine einzige Ausführungsform“ oder „eine Ausführungsform“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur und/oder eine bestimmte Eigenschaft, die in Zusammenhang mit der Ausführungsform beschrieben wurde, in wenigstens eine Implementation aufgenommen werden kann. Die Auftrittsstellen des Ausdrucks „gemäß einer Ausführungsform“ an verschiedenen Stellen in der Patentschrift können sich alle auf dieselbe Ausführungsform beziehen, oder dies kann nicht der Fall sein.
  • Auch können in der Beschreibung und den Ansprüchen die Begriffe „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen verwendet werden. Gemäß einigen Ausführungsformen kann „verbunden“ verwendet werden, um anzugeben, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen können, jedoch noch miteinander zusammenwirken oder interagieren können.
  • Demgemäß ist, wenngleich Ausführungsformen in einem für Strukturmerkmale und/oder methodologische Schritte spezifischen Sprachgebrauch beschrieben wurden, zu verstehen, dass der beanspruchte Gegenstand nicht auf die spezifischen beschriebenen Merkmale oder Schritte beschränkt sein kann. Vielmehr sind die spezifischen Merkmale und Schritte als Musterformen für die Implementation des beanspruchten Gegenstands offenbart.

Claims (25)

  1. Vorrichtung, welche Folgendes umfasst: eine Codierlogik zum Codieren mehrerer Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt und einen mit der Codierlogik gekoppelten Speicher zum Speichern von Codierinformationen, die einen Typ der auf die mehreren Lichtstrahlpulse anzuwendenden Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die Codierlogik eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen veranlassen soll, um die mehreren Lichtstrahlpulse zu codieren.
  2. Vorrichtung nach Anspruch 1, wobei die mehreren Lichtstrahlpulse Lichtdetektions-und-Entfernungsmess-(LIDAR)-Pulse umfassen.
  3. Vorrichtung nach Anspruch 1, wobei die Modifikation eine Änderung einer oder mehrerer der Folgenden umfasst: Frequenz, Breite, Phase oder Amplitude des wenigstens einen von dem einen oder den mehreren Teilpulsen.
  4. Vorrichtung nach Anspruch 1, wobei die Codierlogik die Modifikation durch einen Modulator oder die wenigstens eine Lichtquelle hervorrufen soll.
  5. Vorrichtung nach Anspruch 4, wobei der Modulator einen elektrooptischen Modulator umfasst.
  6. Vorrichtung nach Anspruch 5, wobei der elektrooptische Modulator einen elektrooptischen Lithiumniobatkristallmodulator oder einen elektrooptischen Flüssigkristallmodulator umfasst.
  7. Vorrichtung nach Anspruch 1, wobei die wenigstens eine Lichtquelle Folgendes umfasst: eine gepulste Diodenlaserquelle, eine ungekühlte Faserlaserquelle, eine Festkörperlaserquelle, eine Flüssigkristall-Laserquelle, eine Farbstofflaserquelle oder eine Gaslaserquelle.
  8. Vorrichtung nach Anspruch 1, welche ferner mehrere Lichtquellen umfasst, wobei jede der mehreren Lichtquellen einen anderen Lichtstrahltyp emittieren soll.
  9. Vorrichtung nach Anspruch 8, wobei der andere Lichtstrahltyp einen Lichtstrahl mit einer anderen Frequenz, Phase, Amplitude, Wellenlänge oder Kombinationen davon umfasst.
  10. Vorrichtung nach Anspruch 1, wobei die wenigstens eine Lichtquelle einen Laserstrahl erzeugen soll.
  11. Vorrichtung nach Anspruch 1, wobei die Decodierlogik auf die gespeicherten Codierinformationen zugreifen soll, um die Decodierung von Reflexionen der mehreren Lichtstrahlpulse zu erleichtern.
  12. Vorrichtung nach Anspruch 1, wobei die Codierlogik die mehreren Lichtstrahlpulse auf der Grundlage zumindest teilweise des Maschinenlernens oder Deep Learnings codieren soll.
  13. Vorrichtung nach Anspruch 1, wobei eine Internet-der-Dinge(IoT)-Vorrichtung oder ein Fahrzeug die Codierlogik oder den Speicher umfasst.
  14. Vorrichtung nach Anspruch 1, wobei ein Prozessor mit einem oder mehreren Prozessorkernen die Codierlogik umfasst.
  15. Vorrichtung nach Anspruch 1, wobei eine einzige integrierte Vorrichtung eines oder mehrere der Folgenden umfasst: einen Prozessor, die Codierlogik und den Speicher.
  16. Vorrichtung, welche Folgendes umfasst: eine Decodierlogik zum Decodieren mehrerer Lichtstrahlpulse auf der Grundlage von Codierinformationen, die einen Typ der auf die mehreren Lichtstrahlpulse angewendeten Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die Decodierlogik eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen erkennen soll, um die mehreren Lichtstrahlpulse zu decodieren.
  17. Vorrichtung nach Anspruch 16, welche eine Logik zur Angabe, ob der wenigstens eine von dem einen oder den mehreren Teilpulsen authentisch ist, ansprechend auf den Vergleich der Modifikation mit den Codierinformationen umfasst.
  18. Vorrichtung nach Anspruch 16, wobei die Modifikation eine Änderung einer oder mehrerer der Folgenden umfasst: Frequenz, Breite, Phase oder Amplitude des wenigstens einen von dem einen oder den mehreren Teilpulsen.
  19. Vorrichtung nach Anspruch 16, wobei die mehreren Lichtstrahlpulse Lichtdetektions-und-Entfernungsmess-(LIDAR)-Pulse umfassen oder wobei die Codierlogik die Codierinformationen bereitstellen soll oder wobei die Decodierlogik die Modifikation auf der Grundlage einer Angabe von einem Demodulator oder einem Detektor erkennen soll.
  20. Vorrichtung nach Anspruch 16, welche ferner einen Speicher zum Speichern der Codierinformationen umfasst.
  21. Verfahren, welches Folgendes umfasst: Verarbeiten mehrerer Lichtstrahlpulse vor der Übertragung der mehreren Lichtstrahlpulse von wenigstens einer Lichtquelle zu einem Objekt oder Verarbeiten mehrerer Lichtstrahlpulse auf der Grundlage der Codierinformationen, wobei die Codierinformationen einen Typ der auf die mehreren Lichtstrahlpulse angewendeten Codierung angeben, wobei jeder der mehreren Lichtstrahlpulse einen oder mehrere Teilpulse umfasst, wobei die mehreren Lichtstrahlpulse Lichtdetektions-und-Entfernungsmess(LIDAR)-Pulse umfassen.
  22. Verfahren nach Anspruch 21, wobei ferner eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen veranlasst wird, um die mehreren Lichtstrahlpulse zu codieren.
  23. Verfahren nach Anspruch 21, wobei ferner eine Modifikation wenigstens eines von dem einen oder den mehreren Teilpulsen erkannt wird, um die mehreren Lichtstrahlpulse zu decodieren.
  24. Computerlesbares Medium, das einen oder mehrere Befehle umfasst, die, wenn sie auf einem Prozessor ausgeführt werden, den Prozessor konfigurieren, eine oder mehrere Operationen nach einem der Ansprüche 21 bis 23 auszuführen.
  25. Vorrichtung mit Mitteln zum Ausführen eines Verfahrens nach einem der Ansprüche 21 bis 23.
DE102018129975.3A 2017-12-27 2018-11-27 Codierung von Lidar-Signalen zur Vermeidung von Störungen Pending DE102018129975A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/855,479 US20190049583A1 (en) 2017-12-27 2017-12-27 Encoding lidar signals to avoid interference
US15/855,479 2017-12-27

Publications (1)

Publication Number Publication Date
DE102018129975A1 true DE102018129975A1 (de) 2019-06-27

Family

ID=65274892

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018129975.3A Pending DE102018129975A1 (de) 2017-12-27 2018-11-27 Codierung von Lidar-Signalen zur Vermeidung von Störungen

Country Status (3)

Country Link
US (1) US20190049583A1 (de)
CN (1) CN109975823A (de)
DE (1) DE102018129975A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796457B2 (en) 2018-06-26 2020-10-06 Intel Corporation Image-based compression of LIDAR sensor data with point re-ordering

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11353555B2 (en) 2017-11-01 2022-06-07 Luminar, Llc Detector quench circuit for lidar system comprising a discrete transistor to draw a quench current to enable a drop in a reverse bias voltage applied to an avalanche photodiode
EP3514574A1 (de) * 2018-01-19 2019-07-24 Koninklijke Philips N.V. Flugzeitbildgebungssystem für autonome bewegliche objekte
FR3079619B1 (fr) * 2018-04-03 2020-09-25 Arianegroup Sas Procede et systeme d'emission et de reception d'impulsions laser
KR102464863B1 (ko) * 2018-06-01 2022-11-09 탈레스 캐나다 아이엔씨 신경망을 사용하는 데이터 인코딩 및/또는 디코딩 시스템 및 방법
US11059478B2 (en) * 2018-10-10 2021-07-13 GM Global Technology Operations LLC System and method for autonomous control of a vehicle
US10735231B2 (en) * 2018-12-19 2020-08-04 International Business Machines Corporation Demodulating modulated signals with artificial neural networks
WO2021042382A1 (zh) * 2019-09-06 2021-03-11 深圳市速腾聚创科技有限公司 激光雷达测距方法、装置、计算机设备和存储介质
US11747474B2 (en) * 2019-11-18 2023-09-05 Shenzhen Mileseey Technology Co., Ltd. Systems and methods for laser distance measurement
CN111539413B (zh) * 2020-04-23 2022-09-13 南京理工大学 一种软边缘支持向量机仿生偏振光航向解算方法
US11757893B2 (en) 2021-03-11 2023-09-12 Bank Of America Corporation System and method for authorizing entity users based on augmented reality and LiDAR technology

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309531A (en) * 1992-11-12 1994-05-03 California Institute Of Technology Broad-band substrate-wave-coupled electro-optic modulator
WO2004047310A2 (en) * 2002-11-15 2004-06-03 Time Domain Corporation A system and method for processing signals in uwb communications
CN103227803A (zh) * 2012-01-30 2013-07-31 华为技术有限公司 一种物联网资源获取的方法、客户端和物联网资源装置
US9940697B2 (en) * 2016-04-15 2018-04-10 Gopro, Inc. Systems and methods for combined pipeline processing of panoramic images
US10673878B2 (en) * 2016-05-19 2020-06-02 International Business Machines Corporation Computer security apparatus
CN110573900A (zh) * 2017-01-05 2019-12-13 图达通爱尔兰有限公司 用于编码和译码LiDAR的方法和系统
US11294041B2 (en) * 2017-12-08 2022-04-05 Velodyne Lidar Usa, Inc. Systems and methods for improving detection of a return signal in a light ranging and detection system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796457B2 (en) 2018-06-26 2020-10-06 Intel Corporation Image-based compression of LIDAR sensor data with point re-ordering

Also Published As

Publication number Publication date
US20190049583A1 (en) 2019-02-14
CN109975823A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
DE102018129975A1 (de) Codierung von Lidar-Signalen zur Vermeidung von Störungen
JP7393512B2 (ja) ニューラルネットワークの分散学習および重み分配のためのシステム、および方法
US20190050729A1 (en) Deep learning solutions for safe, legal, and/or efficient autonomous driving
CN111950693A (zh) 使用衰减参数进行神经网络推理
DE102018132069A1 (de) Äquivariante Orientierungspunkt-Transformation für Orientierungspunkt-Lokalisierung
US10909842B2 (en) Use of self-driving vehicles and mapping for pedestrian defined crosswalks
DE102021126648A1 (de) Imitationstraining mittels synthetischen daten
DE112020003547T5 (de) Transfer Learning für neuronale Netzwerke
DE102021128292A1 (de) Skalierbare semantische bildsuche mit deep- template- matching
DE112019005671T5 (de) Bestimmen von assoziationen zwischen objekten und personen unter verwendung von maschinenlernmodellen
DE112020004107T5 (de) Inhaltsempfehlungen unter verwendung eines oder mehrerer neuronaler netze
DE102018124211A1 (de) Lernbasierte Kameraposenschätzung von Bildern einer Umgebung
DE112021002965T5 (de) Generierung von szenengraphen für unmarkierte daten
DE112020005020T5 (de) Stellungsbestimmung unter verwendung eines oder mehrerer neuronaler netze
US11119507B2 (en) Hardware accelerator for online estimation
US20240135174A1 (en) Data processing method, and neural network model training method and apparatus
DE102021132069A1 (de) Grafikverarbeitungseinheiten zur erkennung von betrug mittels neuronaler netze
DE102021205690A1 (de) Trainieren neuronaler Netze mit begrenzten Daten unter Verwendung invertierbarer Augmentationsoperatoren
US10845407B2 (en) Scalable infield scan coverage for multi-chip module for functional safety mission application
DE102023101265A1 (de) Objekterfassung bei Bildstromverarbeitung unter Verwendung von optischem Fluss mit dynamischen Regionen von Interesse
DE102022113244A1 (de) Gemeinsame Form- und Erscheinungsbildoptimierung durch Topologieabtastung
DE102018114799A1 (de) Halbüberwachtes lernen zur orientierungspunktlokalisierung
DE102021128286A1 (de) Adaptives abtasten mit einer zielabtastrate
DE102023103798A1 (de) Automatische fehlervorhersage in rechenzentren
US20220383073A1 (en) Domain adaptation using domain-adversarial learning in synthetic data systems and applications