DE102022116850B3 - Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle - Google Patents

Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle Download PDF

Info

Publication number
DE102022116850B3
DE102022116850B3 DE102022116850.6A DE102022116850A DE102022116850B3 DE 102022116850 B3 DE102022116850 B3 DE 102022116850B3 DE 102022116850 A DE102022116850 A DE 102022116850A DE 102022116850 B3 DE102022116850 B3 DE 102022116850B3
Authority
DE
Germany
Prior art keywords
signal
dsp
processing
implementation
signal data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102022116850.6A
Other languages
German (de)
Inventor
Tom-Fabian Frey
Hans-Georg Gruber
Denis Perechnev
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.)
Cariad SE
Original Assignee
Cariad SE
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 Cariad SE filed Critical Cariad SE
Priority to DE102022116850.6A priority Critical patent/DE102022116850B3/en
Application granted granted Critical
Publication of DE102022116850B3 publication Critical patent/DE102022116850B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben einer Prozessorschaltung (17), wobei die Prozessorschaltung (17) als Rechenressourcen einen digitalen Signalprozessor, DSP, zum Prozessieren zumindest eines Signaldatenstroms (18) und zumindest einen Zusatzprozessor (21) für graphische Rechenoperationen, GPU, und/oder für auf maschinelles Lernen bezogene Rechenoperationen, NPU, aufweist, wobei Signaldaten (15) des jeweiligen Signaldatenstroms (18) jeweils nacheinander in unterschiedlichen Verarbeitungsmodulen (23), die zu einer Signalflusskette (22) gekoppelt sind, verarbeitet werden und die durch die Signalflusskette (22) verarbeiteten Signaldaten (15) für eine Echtzeit-Signalausgabe (14) durch ein Signalausgabemodul (24) des DSP an eine Ausgabeeinheit (11) ausgegeben werden. Die Erfindung sieht vor, dass eine jeweilige Implementierung (23') eines oder einiger oder jedes der Verarbeitungsmodule (23) jeweils in dem zumindest einen Zusatzprozessor (21) bereitgestellt ist und die jeweilige Signalflusskette (22) in dem auf dem DSP betriebenen Signalausgabemodul (24) endet.The invention relates to a method for operating a processor circuit (17), wherein the processor circuit (17) has, as computing resources, a digital signal processor, DSP, for processing at least one signal data stream (18) and at least one additional processor (21) for graphical computing operations, GPU, and/or or for machine learning-related computing operations, NPU, wherein signal data (15) of the respective signal data stream (18) are processed one after the other in different processing modules (23), which are coupled to form a signal flow chain (22), and which are processed by the signal flow chain ( 22) processed signal data (15) for real-time signal output (14) are output to an output unit (11) by a signal output module (24) of the DSP. The invention provides that a respective implementation (23') of one or some or each of the processing modules (23) is provided in the at least one additional processor (21) and the respective signal flow chain (22) in the signal output module (24) operated on the DSP ) ends.

Description

Die Erfindung betrifft ein Verfahren zum Betreiben einer Prozessorschaltung, um mittels mehrerer unterschiedlicher Verarbeitungsmodule einer Signalflusskette Signaldaten eines Signaldatenstroms zu verarbeiten. Ein solcher Signaldatenstrom kann beispielsweise Audiodaten als Signaldaten enthalten, die für eine Audio-Ausgabe über ein Lautsprechersystem vorverarbeitet oder aufbereitet werden müssen, beispielsweise mittels eines oder mehrerer Filter, um z.B. eine mehrkanalige Audioausgabe zu erzeugen. Die Erfindung umfasst auch ein Steuergerät für ein Kraftfahrzeug, in welchem eine Prozessorschaltung zum Durchführen des Verfahrens bereitgestellt ist. Schließlich umfasst die Erfindung auch ein Kraftfahrzeug mit zumindest einem solchen Steuergerät.The invention relates to a method for operating a processor circuit in order to process signal data of a signal data stream using several different processing modules of a signal flow chain. Such a signal data stream can, for example, contain audio data as signal data that must be preprocessed or prepared for audio output via a loudspeaker system, for example by means of one or more filters, for example to generate a multi-channel audio output. The invention also includes a control device for a motor vehicle, in which a processor circuit for carrying out the method is provided. Finally, the invention also includes a motor vehicle with at least one such control device.

Die Bearbeitung eines Signaldatenstroms in einem Kraftfahrzeug erfordert es, dass einzelne Pakete oder Rahmen (Frames) von Signaldaten des Signaldatenstroms Echtzeitfähig verarbeitet werden, also die Verarbeitung der Signaldaten derart schnell erfolgt, dass die Signaldaten verarbeitet sind, damit sie zur Erfüllung einer Echtzeitbedingung bereitstehen. Die Echtzeitbedingung kann z.B. durch eine vorgegebene Ausgabedatenrate gegeben sein. Beispielsweise kann bei der Verarbeitung eines Audiodatenstroms vorgesehen sein, Audiodaten aus einer Audioquelle, beispielsweise einem Internet-Podcast oder einem InternetRadio, Audiodaten zu verarbeiten, um sie für die Ausgabe über ein mehrkanaliges Lautsprechersystem im Kraftfahrzeug aufzubereiten, indem beispielsweise Audiofilter zum Kompensieren von unterwünschten Verzerrungen der einzelnen Lautsprechern auf die Audiodaten angewendet werden. Der jeweilige aktuelle Rahmen aus Audiodaten muss fertig bearbeitet sein, bevor der nächste Rahmen eintrifft, damit es zu keinem Rückstau kommt. Des Weiteren muss die Verarbeitung der Audiodaten derart schnell erfolgen, dass die verarbeiteten Signaldaten mit der vorgesehenen Wiedergaberate oder Abspielrate ausgegeben werden können, ohne dass hierbei ein zwischengeschalteter Datenpuffer an der Ausgabeseite leer läuft (Buffer underrun) und/oder ein eingangs vorgeschalteter Eingangspuffer überläuft (Buffer overrun). Eine zu große Auslastung des verwendeten Prozessors kann die Echtzeitfähigkeit beeinträchtigen.The processing of a signal data stream in a motor vehicle requires that individual packets or frames of signal data of the signal data stream be processed in a real-time manner, i.e. the signal data is processed so quickly that the signal data is processed so that it is ready to fulfill a real-time condition. The real-time condition can be given, for example, by a predetermined output data rate. For example, when processing an audio data stream, it can be provided to process audio data from an audio source, for example an Internet podcast or an Internet radio, in order to prepare it for output via a multi-channel loudspeaker system in the motor vehicle, for example by using audio filters to compensate for undesirable distortions individual speakers can be applied to the audio data. The current frame of audio data must be processed before the next frame arrives so that there is no backlog. Furthermore, the audio data must be processed so quickly that the processed signal data can be output at the intended playback rate or playback rate without an intermediate data buffer on the output side running empty (buffer underrun) and/or an upstream input buffer overflowing (buffer overrun). Excessive utilization of the processor used can impair real-time capability.

Die Verarbeitung eines Signaldatenstroms kann hierzu auf mehrere Verarbeitungsmodule aufgeteilt sein, von denen jedes einen Verarbeitungsschritt oder einige der insgesamt notwendigen Verarbeitungsschritte für die Verarbeitung der Signaldaten durchführt. Ein solches Verarbeitungsmodul ist eine Software. Durch Hintereinanderschalten oder Koppeln von Verarbeitungsmodulen zu einer Signalverarbeitungskette oder Signalflusskette kann die Art der Verarbeitung oder die auf die Signaldaten angewendeten Verarbeitungsschritte konfiguriert werden. Je länger die Signalflusskette ist, desto größer ist die Auslastung des verwendeten Prozessors.For this purpose, the processing of a signal data stream can be divided into several processing modules, each of which carries out one processing step or some of the overall necessary processing steps for processing the signal data. Such a processing module is software. By cascading or coupling processing modules into a signal processing chain or signal flow chain, the type of processing or processing steps applied to the signal data can be configured. The longer the signal flow chain, the greater the load on the processor used.

Für die Verarbeitung eines Signaldatenstroms kann in einer Prozessorschaltung ein spezialisierter Mikroprozessor, ein so genannter DSP (Digital Signal Processor) bereitgestellt sein. Für andere Aufgaben in einer Prozessorschaltung können weitere Zusatzprozessoren vorgesehen sein. Beispielsweise kann für grafische Rechenoperationen eine GPU (Graphical processing unit) und/oder für Rechenoperationen betreffend das maschinelle Lernen eine NPU (Neural processing unit) bereitgestellt sein.A specialized microprocessor, a so-called DSP (Digital Signal Processor), can be provided in a processor circuit for processing a signal data stream. Additional additional processors can be provided for other tasks in a processor circuit. For example, a GPU (Graphical processing unit) can be provided for graphical computing operations and/or an NPU (Neural processing unit) can be provided for computing operations relating to machine learning.

Eine NPU ist beispielsweise in der WO 2021 / 045676 A1 beschrieben. Eine Anbindung einer CPU (Central Processing Unit) an mehrere solcher NPUs kann gemäß dieser Veröffentlichung über eine Schaltungsmatrix erfolgen. Signale zwischen den NPUs und der CPU können über einen Cash-Speicher ausgetauscht werden.An NPU is described, for example, in WO 2021/045676 A1. According to this publication, a CPU (Central Processing Unit) can be connected to several such NPUs via a circuit matrix. Signals between the NPUs and the CPU can be exchanged via cash memory.

Aus der US 2020 / 0082263 A1 ist bekannt, die Daten für den Betrieb mehrerer NPUs durch einen Workload-Manager auf die unterschiedlichen NPUs aufzuteilen. From US 2020 / 0082263 A1 it is known that the data for the operation of several NPUs can be divided among the different NPUs by a workload manager.

Das Verteilen von Prozessierungstasks für Datenströme auf mehrere Prozessoren ist aus der US 2022 / 0 035 684 A1 , der US 2019 / 0 171 965 A1 und der US 2021 / 0 041 555 A1 bekannt.Distributing processing tasks for data streams across multiple processors is out of the question US 2022 / 0 035 684 A1 , the US 2019 / 0 171 965 A1 and the US 2021 / 0 041 555 A1 known.

Des Weiteren zeigt die US 2012/0265522 A1 ein Verfahren zum Koordinieren der Verarbeitung und der Netzwerk Kommunikation einer Audio-Kommunikation, indem insbesondere die Zeitdauer der Audio-Frames angepasst wird.Furthermore, the shows US 2012/0265522 A1 a method for coordinating the processing and network communication of an audio communication, in particular by adjusting the duration of the audio frames.

Der Erfindung liegt die Aufgabe zugrunde, in einer Prozessorschaltung, insbesondere einer Prozessorschaltung eines Steuergeräts eines Kraftfahrzeugs, die echtzeitfähige Verarbeitung eines Signaldatenstroms durch einen DSP (Digitalen Signalprozessor) zu unterstützen, um zum Beispiel eine vorgegebene Ausgabedatenrate einzuhalten.The invention is based on the object of supporting the real-time processing of a signal data stream by a DSP (digital signal processor) in a processor circuit, in particular a processor circuit of a control unit of a motor vehicle, in order, for example, to maintain a predetermined output data rate.

Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterentwicklungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Fig. beschrieben.The task is solved by the subject matter of the independent patent claims. Advantageous further developments of the invention are described in the dependent claims, the following description and the figures.

Als eine Lösung umfasst die Erfindung ein Verfahren zum Betreiben einer Prozessorschaltung. Eine solche Prozessorschaltung kann beispielsweise durch ein sogenanntes SoC (System on Chip) und/oder durch eine Schaltungsplatine oder einen Verbund mehrerer Schaltungsplatinen mit jeweils zumindest einem Mikroprozessor realisiert sein. Die Prozessorschaltung stellt Rechenressourcen oder Computing-Ressourcen bereit. Das Verfahren geht davon aus, dass als Rechenressourcen ein digitaler Signalprozessor, DSP, zum Prozessieren zumindest eines Signaldatenstroms sowie zumindest ein Zusatzprozessor z.B. für graphische Rechenoperationen, GPU (Graphical processing unit), und/oder zumindest ein Zusatzprozessor z.B. für auf maschinelles Lernen bezogene Rechenoperationen, NPU (Neural processing unit), vorgesehen oder bereitgestellt ist.As a solution, the invention includes a method for operating a processor circuit. Such a processor circuit can, for example, be provided by a so-called SoC (System on Chip) and/or which can be realized by a circuit board or a combination of several circuit boards, each with at least one microprocessor. The processor circuit provides computing resources or computing resources. The method assumes that the computing resources are a digital signal processor, DSP, for processing at least one signal data stream and at least one additional processor, for example for graphical computing operations, GPU (Graphical processing unit), and/or at least one additional processor, for example for computing operations related to machine learning, NPU (Neural processing unit), is provided or provided.

Die Signaldaten des jeweiligen Signaldatenstroms werden jeweils nacheinander mittels unterschiedlicher Verarbeitungsmodule verarbeitet. Hierzu sind die Verarbeitungsmodule zu einer Signalverarbeitungskette oder Signalflusskette gekoppelt, das heißt innerhalb der Signalflusskette werden die Ausgabedaten (Output Daten) eines Verarbeitungsmoduls als Eingabedaten (Input Daten) des nachgeschalteten Verarbeitungsmoduls verwendet. Ein Verarbeitungsmodul kann jeweils durch eine Software oder einen Programmcode realisiert sein. Insgesamt ergibt sich somit ein Signalfluss (signal flow) der Signaldaten des Signaldatenstroms durch die Signalflusskette, wobei jedes Verarbeitungsmodul die Signaldaten durch jeweils programmierte Verarbeitungsschritte verarbeiten kann. Das Koppeln der Verarbeitungsmodule zur Signalverarbeitungskette kann mittels Datenpuffern erfolgen, welche als sogenannte Queues oder FIFO-Puffer betrieben werden können, um z.B. jeweils zwei unmittelbar hintereinander zu koppelnde Verarbeitungsmodule für den Austausch von Daten zu koppeln (Übergabedaten vom ersten/vorgeschalteten zum zweiten/nachgeschalteten Verarbeitungsmodul).The signal data of the respective signal data stream are processed one after the other using different processing modules. For this purpose, the processing modules are coupled to a signal processing chain or signal flow chain, that is, within the signal flow chain, the output data of a processing module is used as input data of the downstream processing module. A processing module can be implemented by software or program code. Overall, this results in a signal flow of the signal data of the signal data stream through the signal flow chain, with each processing module being able to process the signal data using respectively programmed processing steps. The processing modules can be coupled to the signal processing chain using data buffers, which can be operated as so-called queues or FIFO buffers, for example to couple two processing modules that are to be coupled directly one behind the other for the exchange of data (transfer data from the first/upstream to the second/downstream processing module ).

Die durch die Signalflusskette verarbeiteten Signaldaten werden für eine Echtzeit-Signalausgabe (also unter Erfüllung einer Echtzeitbedingung) durch ein Signalausgabemodul des DSP an eine Ausgabeeinheit ausgegeben. Der DSP ist also am Ende der Signalflusskette vorgesehen und dafür ausgestaltet, die verarbeiteten Signaldaten unter Echtzeitbedingungen, also z.B. mit einer vorgegebenen Datenrate, beispielsweise mit einer vorgegebenen Abspielgeschwindigkeit oder Wiedergabegeschwindigkeit, auszugeben. Bei dem Signaldatenstrom kann es sich beispielsweise um einen Videostrom mit Videodaten als Signaldaten handeln, die dann für eine Echtzeit-Signalausgabe beispielsweise mit 25 Bildern pro Sekunde oder 30 Bildern pro Sekunde ausgegeben werden müssen. Der Signaldatenstrom kann ein Audiodatenstrom sein, dessen Audiodaten dann beispielsweise mit einer Wiedergabequalität oder Wiedergabegeschwindigkeit von 44,1 Kilohertz bei 16 Bit pro Sample oder Signalwert, wiedergegeben werden können (so genannte CD-Qualität). Somit muss am Ende der Signalflusskette in dem Signalausgabemodul sichergestellt sein, dass dort stets verarbeitete Signaldaten mit einer Datenrate oder in Datengruppen oder in Rahmen (Frames) bereitstehen, die derart schnell aktualisiert oder nachgeführt werden, dass die Echtzeit-Signalausgabe sichergestellt ist. Umfasst die Signalflusskette hierbei eine Vielzahl von Verarbeitungsmodulen, sodass die Rechenleistung der Rechenressource „DSP“ auf die mehreren Verarbeitungsmodule aufgeteilt werden müsste, so kann dies zu einer Überlastung oder zumindest zu einer Auslastung des DSP oberhalb von 80 Prozent und insbesondere oberhalb 90 Prozent der maximalen Rechenleistung führen und es kann zu einer Verletzung der Echtzeitbedingung kommen.The signal data processed by the signal flow chain is output to an output unit for real-time signal output (i.e., satisfying a real-time condition) by a signal output module of the DSP. The DSP is therefore provided at the end of the signal flow chain and is designed to output the processed signal data under real-time conditions, for example at a predetermined data rate, for example at a predetermined playback speed or playback speed. The signal data stream can be, for example, a video stream with video data as signal data, which then has to be output for real-time signal output, for example at 25 frames per second or 30 frames per second. The signal data stream can be an audio data stream, the audio data of which can then be played back, for example, with a playback quality or playback speed of 44.1 kilohertz at 16 bits per sample or signal value (so-called CD quality). It must therefore be ensured at the end of the signal flow chain in the signal output module that processed signal data is always available there at a data rate or in data groups or in frames that are updated or tracked so quickly that real-time signal output is ensured. If the signal flow chain includes a large number of processing modules, so that the computing power of the “DSP” computing resource would have to be divided among the several processing modules, this can lead to an overload or at least a utilization of the DSP above 80 percent and in particular above 90 percent of the maximum computing power and the real-time condition may be violated.

Um dem entgegenzuwirken, ist bei dem Verfahren erfindungsgemäß vorgesehen, dass eine jeweilige Instanz oder Implementierung eines oder einiger oder jedes der Verarbeitungsmodule für die Signalflusskette jeweils in dem zumindest einen Zusatzprozessor, also in der zumindest einen GPU und/oder in der zumindest einen NPU, bereitgestellt ist und die jeweilige Signalflusskette in dem auf dem DSP betriebenen Signalausgabemodul endet oder die von ihr verarbeiteten Signaldaten an das Ausgabemodul übergibt oder mit dem Ausgabemodul gekoppelt ist. Mit anderen Worten müssen nicht alle Verarbeitungsmodule auch auf dem DSP implementiert sein. Es kann eine jeweilige Implementierung eines Verarbeitungsmoduls auf einem der Zusatzmodule vorgesehen sein. Eine „Implementierung“ meint hierbei eine Software oder ein Programmmodul, das die Funktionalität des Verarbeitungsmoduls auf dem jeweiligen Zusatzprozessor realisiert, also angepassten oder gültigen Programmcode oder Binärcode umfasst, der diese Funktionalität auf der Grundlage der Hardware oder des integrierten Schaltkreises des Zusatzprozessor realisiert. Somit kann eine Implementierung für eine GPU anderen Programmcode umfassen als eine funktionsgleiche Implementierung auf einer NPU. Ein Verarbeitungsmodul ist also insbesondere die Funktionalität, während die Implementierung die praktische Umsetzung der Funktionalität auf einer gegebenen Hardware des jeweiligen Prozessors darstellt.In order to counteract this, the method according to the invention provides that a respective instance or implementation of one or some or each of the processing modules for the signal flow chain is provided in the at least one additional processor, that is to say in the at least one GPU and/or in the at least one NPU and the respective signal flow chain ends in the signal output module operated on the DSP or transfers the signal data processed by it to the output module or is coupled to the output module. In other words, not all processing modules need to be implemented on the DSP. A respective implementation of a processing module can be provided on one of the additional modules. An “implementation” here means software or a program module that implements the functionality of the processing module on the respective additional processor, i.e. includes adapted or valid program code or binary code that implements this functionality on the basis of the hardware or the integrated circuit of the additional processor. Thus, an implementation for a GPU may include different program code than a functionally identical implementation on an NPU. A processing module is therefore in particular the functionality, while the implementation represents the practical implementation of the functionality on a given hardware of the respective processor.

Durch die Erfindung ergibt sich der Vorteil, dass in einer Prozessorschaltung eine Signalflusskette über mehrere Rechenressourcen hinweg, also den DSP und den zumindest einen Zusatzprozessor hinweg, konfiguriert oder gebildet oder ausgestaltet werden kann. Somit kann die Rechenlast in dem DSP verringert werden und dadurch gefördert werden, dass ausreichend Rechenleistung für die Ausführung oder den Betrieb des Signalausgabemoduls auf dem DSP bereitsteht, welche es unter einer vorgegebenen Echtzeitbedingung oder eine Echtzeit-Signalausgabe der verarbeiteten Signaldaten vornehmen kann, die es aus dem Ende der Signalflusskette empfängt.The invention results in the advantage that a signal flow chain can be configured or formed or designed in a processor circuit across several computing resources, i.e. the DSP and the at least one additional processor. Thus, the computing load in the DSP can be reduced and promoted by providing sufficient computing power for the execution or operation of the signal output module on the DSP, which it requires under a given real-time condition or a real-time Signal output of the processed signal data that it receives from the end of the signal flow chain.

Die Erfindung stellt eine adaptive oder auslastungsabhängige Gestaltung der Signalflusskette bereit. Hierzu ist eines oder sind einige oder jedes der Verarbeitungsmodule jeweils mehrfach implementiert oder bereitgestellt, indem von dem jeweiligen Verarbeitungsmodul jeweils sowohl eine Implementierung im DSP selbst als auch die jeweilige bereits beschriebene Implementierung in zumindest einer übrigen der Rechenressourcen, also in zumindest einem Zusatzprozessor, bereitgestellt ist. Da es sich jeweils um eine „Implementierung“ handelt, ist hiermit gemeint, dass für die jeweilige Hardware (DSP, GPU, NPU) der Programmcode entsprechend für das Ausführen oder Bereitstellen derselben Funktionalität auf der jeweiligen Hardware des Zusatzprozessors oder des DSPs angepasst oder lauffähig ist. Muss nun ein Signaldatenstrom (signal data stream) verarbeitet werden, um verarbeitete Signaldaten für die Echtzeit-Signalausgabe zu erhalten, also beispielsweise um eine Wiedergabe eines Musikdatenstroms oder Audiodatenstroms zu ermöglichen, wird die hierzu benötigte Signalflusskette durch ein Schedulermodul dynamisch oder adaptiv zusammengesetzt oder konfiguriert. Dies bedeutet, dass für das Verarbeiten des jeweiligen Signaldatenstroms die benötigte Signalflusskette (sie kann für jeden Signalverarbeitungsstrom beispielsweise durch Konfigurationsdaten vorgegeben sein) durch das Schedulermodul mittels einer Zuordnungsroutine adaptiv konfiguriert wird, indem bei dem jeweiligen Verarbeitungsmodul ausgewählt wird, ob dessen Implementierung im DSP oder dessen (funktionsgleiche) Implementierung in einer anderen der Rechenressourcen (also auf der GPU oder der NPU) für die zu konfigurierende Signalflusskette verwendet wird. Die Signalflusskette kann also dynamisch für jeden Signaldatenstrom erstellt oder zusammengesetzt oder konfiguriert werden. Dies wird durch das Schedulermodul, also ein weiteres Programmmodul oder eine weitere Software, durchgeführt.The invention provides an adaptive or load-dependent design of the signal flow chain. For this purpose, one or some or each of the processing modules is implemented or provided multiple times, in that the respective processing module provides both an implementation in the DSP itself and the respective implementation already described in at least one of the remaining computing resources, i.e. in at least one additional processor . Since each is an “implementation”, this means that the program code is adapted or executable for the respective hardware (DSP, GPU, NPU) to execute or provide the same functionality on the respective hardware of the additional processor or the DSP . If a signal data stream now needs to be processed in order to obtain processed signal data for real-time signal output, for example in order to enable playback of a music data stream or audio data stream, the signal flow chain required for this is dynamically or adaptively assembled or configured by a scheduler module. This means that for processing the respective signal data stream, the required signal flow chain (it can be specified for each signal processing stream, for example by configuration data) is adaptively configured by the scheduler module using an assignment routine by selecting in the respective processing module whether its implementation in the DSP or its (functionally identical) implementation in another of the computing resources (i.e. on the GPU or the NPU) is used for the signal flow chain to be configured. The signal flow chain can therefore be created or assembled or configured dynamically for each signal data stream. This is carried out by the scheduler module, i.e. another program module or software.

Die von dem Schedulermodul ausgeführte Zuordnungsroutine umfasst, dass das Auswählen der jeweiligen Implementierung (also auf dem DSP oder einem Zusatzprozessor) in Abhängigkeit von Kenndaten der zumindest einen Implementierung selbst und/oder in Abhängigkeit von Auslastungsdaten zumindest einer der Rechenressourcen erfolgt. Mit anderen Worten wird diejenige Implementierung genutzt, die sich gemäß den Kenndaten und/oder gemäß den Auslastungsdaten im Sinne eines vorgegebenen Optimierungskriteriums als geeignet erweist, beispielsweise die prozentuale Auslastung auf dem DSP oder die Auslastung der Prozessorschaltung insgesamt minimiert oder unter einem vorbestimmten Schwellenwert hält. Mit „Auslastung“ können hierbei beispielsweise die so genannten Load und/oder die Speicherbelegung bewertet werden. Hierdurch ergibt sich der Vorteil, dass eine Signalflusskette oder mehrere Signalflussketten dynamisch an den aktuellen Zustand oder die aktuelle Auslastung der Prozessorschaltung konfiguriert oder gestaltet werden können. Es kann eine Signalflusskette oder es können beispielsweise vom selben Datentyp zeitlich nacheinander mehrere Signalflussketten gebildet werden, wenn beispielsweise zeitlich nacheinander unterschiedliche Medienwiedergaben beispielsweise unterschiedliche Musikwiedergaben (MP3-Wiedergabe zum Beispiel) und/oder zeitlich nacheinander unterschiedliche Videodatenströme angezeigt oder ausgegeben werden müssen. Für jeden Signaldatenstrom kann eine eigene Signalflusskette durch Konfigurationsdaten definiert sein.The assignment routine executed by the scheduler module includes that the selection of the respective implementation (i.e. on the DSP or an additional processor) takes place depending on characteristics of the at least one implementation itself and / or depending on utilization data of at least one of the computing resources. In other words, the implementation is used which proves to be suitable according to the characteristics and/or according to the utilization data in the sense of a predetermined optimization criterion, for example the percentage utilization on the DSP or the utilization of the processor circuit as a whole is minimized or keeps it below a predetermined threshold value. For example, “utilization” can be used to evaluate the so-called load and/or memory usage. This results in the advantage that a signal flow chain or several signal flow chains can be dynamically configured or designed to the current state or the current load of the processor circuit. A signal flow chain or, for example, several signal flow chains of the same data type can be formed one after the other if, for example, different media playbacks, for example different music playbacks (MP3 playback, for example) and/or different video data streams, one after the other, have to be displayed or output. A separate signal flow chain can be defined by configuration data for each signal data stream.

Des Weiteren ist gemäß der Erfindung als Signaldatenstrom in der beschriebenen Weise ein Audiodatenstrom vorgesehen und die Ausgabeeinheit sieht eine Lautsprecherwidergabe der prozessierten Signaldaten vor. Wird hierbei eine mehrkanalige Lautsprecherwidergabe, beispielsweise Stereo und/oder 5.1 vorgesehen, so erweisen sich die beschriebenen kurzen Rahmenlängen oder die kleine Rahmengrößen für die Rahmen des Signalausgabemoduls dahingehend als vorteilhaft, dass durch ein Signalausgabemodul mehrere Kanäle mit den verarbeiteten Signaldaten abwechselnd oder nacheinander mit zugeordeten Rahmen versorgt werden können, ohne dass es hierdurch zu einer Unterversorgung oder einem so genannten Under-run kommt, das heißt prozessierte Signalausgabedaten in einem Wiedergabekanal oder Audiokanal fehlen.Furthermore, according to the invention, an audio data stream is provided as a signal data stream in the manner described and the output unit provides loudspeaker playback of the processed signal data. If multi-channel loudspeaker playback, for example stereo and/or 5.1, is provided, the described short frame lengths or the small frame sizes for the frames of the signal output module prove to be advantageous in that a signal output module provides several channels with the processed signal data alternately or one after the other with assigned frames can be supplied without this resulting in an undersupply or a so-called under-run, i.e. processed signal output data is missing in a playback channel or audio channel.

Die Erfindung umfasst auch Weiterbildungen, durch die sich zusätzliche Vorteile ergeben.The invention also includes further developments that result in additional advantages.

Gemäß einer Weiterentwicklung wird durch das Schedulermodul gemäß der Zuordnungsroutine bei der Auswahl der jeweiligen Implementierung der zumindest eine Zusatzprozessor bevorzugt, das heißt es wird eine Auslagerung vom DSP weg oder aus dem DSP heraus bevorzugt. Eine Auswahl einer Implementierung auf dem DSP erfolgt nur für den Fall, dass anhand der Auslastungsdaten für den DSP und/oder den zumindest einen Zusatzprozessor erkannt wird, dass dieser jeweils einen vorbestimmten Auslastungszustand aufweist, also beispielsweise eine Auslastung oder seine Load oder seine Speicherbelegung kleiner als ein vorbestimmter Schwellenwert ist. Somit wird die Reaktionsschnelligkeit des DPSs auf neue Rechenlast oder auf eine Stoß-Rechenlast vergrößert oder optimiert oder maximiert.According to a further development, the at least one additional processor is preferred by the scheduler module according to the assignment routine when selecting the respective implementation, that is to say an outsourcing away from or out of the DSP is preferred. An implementation on the DSP is only selected in the event that it is recognized based on the utilization data for the DSP and/or the at least one additional processor that it has a predetermined utilization state, for example a utilization or its load or its memory occupancy is smaller than is a predetermined threshold value. Thus, the speed of reaction of the DPS to new computing load or to a surge computing load is increased or optimized or maximized.

Wie bereits ausgeführt, kann gemäß einer Weiterentwicklung als Kenndaten einer Implementierung deren benötigte Puffergröße für Eingabedaten und/oder für Ausgabedaten herangezogen werden, um den Speicherbedarf beim Aktivieren oder Betreiben der Implementierung mit der aktuellen Speicherbelegung in der jeweiligen Rechenressourcen ins Verhältnis setzen zu können und eine Speicherbelegung bei Aktivierung der Implementierung voraussagen zu können.As already stated, according to further development, the characteristics of an implementation tion whose required buffer size for input data and/or for output data is used in order to be able to relate the memory requirement when activating or operating the implementation to the current memory usage in the respective computing resources and to be able to predict memory usage when activating the implementation.

Zusätzlich oder alternativ dazu können die Auslastungsdaten einen Grad einer Echtzeitfähigkeit und/oder eine durch die Rechenressource voraussichtlich bewirkte Latenz (Verzögerung durch das jeweilige Verarbeitungsmodul) angeben. Somit kann also beispielsweise angegeben werden, dass ein Betrieb der Implementierung auf einer der Rechenressourcen eine Latenz in der Verarbeitung des Signaldatenstroms in einem Bereich von 5 Millisekunden bis 100 Millisekunden bewirkt. Dies kann dann zu einem Vergleich mit einer anderen Implementierung herangezogen werden, wobei hierbei bevorzugt dann die schnellste Implementierung, also die mit der geringsten Latenz oder der größten Echtzeitfähigkeit ausgewählt wird.Additionally or alternatively, the utilization data may indicate a degree of real-time capability and/or a latency likely to be caused by the computing resource (delay caused by the respective processing module). Thus, for example, it can be stated that operating the implementation on one of the computing resources causes a latency in the processing of the signal data stream in a range of 5 milliseconds to 100 milliseconds. This can then be used for a comparison with another implementation, in which case the fastest implementation, i.e. the one with the lowest latency or the greatest real-time capability, is preferably selected.

Wie bereits ausgeführt, sieht die Signalflusskette das Hintereinander-Koppeln der Verarbeitungsmodule vor, das heißt der jeweiligen Implementierung der Verarbeitungsmodule. Eine Weiterentwicklung sieht hierbei vor, dass die jeweilige Implementierung zumindest zwei der Verarbeitungsmodule, die in der Signalflusskette unmittelbar hintereinander geschaltet betrieben werden, sodass also die Ausgabedaten der vorgeschalteten Implementierung die Eingabedaten der nachgeschalteten Implementierung darstellen, für den Fall, dass diese beiden Implementierungen auf unterschiedlichen der Rechenressourcen ausgeführt werden, die Daten, die von der vorgeschalteten Implementierung in die nachgeschaltete Implementierung übertragen werden müssen, mittels eines jeweiligen Datenpuffers (Buffer) austauschen. Mit anderen Worten können die Implementierungen dahingehend entkoppelt betrieben werden oder arbeiten, als dass durch den Datenpuffer, also einen Datenspeicher zum Zwischenspeichern der zu übertragenden oder auszutauschenden Daten, aufnehmen und abgeben kann. Hierdurch ergibt sich der Vorteil, dass keine vollständige oder byteweise Synchronität in der Verarbeitung durch die beiden Implementierungen notwendig ist.As already stated, the signal flow chain provides for the serial coupling of the processing modules, that is, the respective implementation of the processing modules. A further development here provides that the respective implementation has at least two of the processing modules, which are operated in direct succession in the signal flow chain, so that the output data of the upstream implementation represents the input data of the downstream implementation, in the event that these two implementations are on different Computing resources are executed, which exchange data that has to be transferred from the upstream implementation to the downstream implementation using a respective data buffer. In other words, the implementations can be operated or work decoupled in such a way that they can receive and deliver data through the data buffer, i.e. a data memory for temporarily storing the data to be transmitted or exchanged. This has the advantage that complete or byte-by-byte synchrony in processing by the two implementations is not necessary.

Insbesondere ist es gemäß einer Weiterentwicklung vorgesehen, dass dieser Datenpuffer mittels eines Shared-Memory-Speicherbereichs bereitgestellt wird. Hierdurch ist es nicht notwendig, die Daten umzukopieren von einem Ausgabepuffer der vorgeschalteten Implementierung in einen Eingabepuffer der nachgeschalteten Implementierung. Hierbei stellt ein und derselbe Shared-Memory-Speicherbereich einen gemeinsamen Datenpuffer dar, sodass kein Umkopieren notwendig ist.In particular, according to a further development, it is provided that this data buffer is provided by means of a shared memory storage area. This means that it is not necessary to copy the data from an output buffer of the upstream implementation into an input buffer of the downstream implementation. Here, one and the same shared memory storage area represents a common data buffer, so that no copying is necessary.

Wie bereits ausgeführt, können innerhalb des Signaldatenstroms die Signaldaten in Datenpakete oder Rahmen (Frames) zusammengefasst sein, die durch das jeweilige Verarbeitungsmodul und durch das Signalausgabemodul jeweils am Stück oder als eine Einheit, eben als so genannter Rahmen oder Frame, verarbeitet werden. Je größer ein solcher Rahmen ist, desto größer kann auch die Latenz eines Verarbeitungsmoduls ergeben, da stets zunächst die Signaldaten zum Bilden eines vollständigen Rahmens verarbeitet worden sein müssen, bevor die Ausgabe oder Weitergabe durch das Verarbeitungsmodul erfolgen kann. Hierbei ist insbesondere vorgesehen, dass eine Rahmengröße der jeweiligen Implementierung in dem jeweiligen Zusatzprozessor größer ist als eine Rahmengröße in dem Signalausgabemodul. Insbesondere kann das Signalausgabemodul die kleinste Rahmengröße in der Signalflusskette aufweisen. Diese Konstellation hat sich als besonders vorteilhaft zur Sicherstellung der Echtzeitfähigkeit bei der Echtzeit-Signalausgabe erwiesen, während durch größere Rahmen oder größere Werte für die Rahmengröße in dem zumindest einen Zusatzprozessor ein effizienter Betrieb der jeweiligen Implementierung in den Zusatzprozessor ermöglicht ist.As already stated, within the signal data stream, the signal data can be summarized in data packets or frames, which are processed by the respective processing module and by the signal output module in one piece or as a unit, as a so-called frame or frame. The larger such a frame is, the greater the latency of a processing module can be, since the signal data must always first have been processed to form a complete frame before output or forwarding can take place by the processing module. In particular, it is provided that a frame size of the respective implementation in the respective additional processor is larger than a frame size in the signal output module. In particular, the signal output module can have the smallest frame size in the signal flow chain. This constellation has proven to be particularly advantageous for ensuring real-time capability in real-time signal output, while larger frames or larger values for the frame size in the at least one additional processor enable efficient operation of the respective implementation in the additional processor.

Das beschriebene Schedulermodul, welches die Kopplung der Implementierungen durch Konfigurieren des Signalflusskette bewirkt, ist gemäß einer Weiterentwicklung durch einen integrierten Schaltkreis einer CPU der Prozessorschaltung betrieben, das heißt der Hauptprozessorschaltung oder Central processing unit in der Prozessorschaltung. Somit wird von der CPU aus durch das Schedulermodul ein Zusammenwirken oder eine Konfiguration der Signalflusskette über den DPS und den zumindest einen Zusatzprozessor hinweg kontrolliert oder gesteuert. Die Nutzung der CPU weist den Vorteil auf, dass ein Zuteilen der Signaldaten zu den einzelnen Rechenressourcen von der CPU aus und damit von der zentralen Steuerschaltung in einer Prozessorschaltung mit Zugriff auf die Controller der Datenspeicher erfolgen kann. Das Koppeln der Implementierungen kann erfolgen, indem durch das Schedulermodul einstellt, in aus welchem Datenpuffer welche Implementierung Eingabedaten einlesen soll und in welchen Datenpuffer welche Implementierung die von ihr prozessierten Signaldaten ausgeben soll. Hierdurch ergibt sich das Zusammenwirken als Signalflusskette. Ein Datenpuffen kann als sogenannter Double-Buffer konfiguriert sein. Durch Anpassen der Rahmengröße und/oder Puffergröße können unterschiedliche Latenzen und/oder Verarbeitungsgeschwindigkeiten der gekoppelten Verarbeitungsmodule kompensiert werden.The scheduler module described, which effects the coupling of the implementations by configuring the signal flow chain, is operated according to a further development by an integrated circuit of a CPU of the processor circuit, that is to say the main processor circuit or central processing unit in the processor circuit. An interaction or a configuration of the signal flow chain via the DPS and the at least one additional processor is thus controlled or controlled from the CPU by the scheduler module. The use of the CPU has the advantage that the signal data can be allocated to the individual computing resources from the CPU and thus from the central control circuit in a processor circuit with access to the controller of the data memory. The implementations can be coupled by the scheduler module setting into which data buffer which implementation should read input data and into which data buffer which implementation should output the signal data it processes. This results in the interaction as a signal flow chain. Data buffering can be configured as a so-called double buffer. By adjusting the frame size and/or buffer size, different latencies and/or processing speeds of the coupled processing modules can be compensated for.

Wie bereits ausgeführt, ist gemäß einer Ausgestaltung bevorzugt vorgesehen, dass die Rechenressourcen und die CPU auf einem System-on-Chip, SoC, bereitgestellt werden. Hierdurch ergibt sich der zusätzliche Vorteil, dass Datenübertragungswege innerhalb einer integrierten Schaltung implementiert sind und somit entsprechend kurze Übertragungswege und/oder große Übertragungsfrequenzen ermöglicht sind.As already stated, according to one embodiment it is preferably provided that the computing resources and the CPU are provided on a system-on-chip, SoC. This results in the additional advantage that data transmission paths are implemented within an integrated circuit and thus correspondingly short transmission paths and/or high transmission frequencies are possible.

Als Verarbeitungsmodule, die mehrfach implementiert sind, also auch Implementierungen in dem zumindest einen Zusatzprozessor aufweisen, sind gemäß einer Ausgestaltung zumindest ein Signalfilter und/oder zumindest ein Lautsprechermanagement und/oder zumindest eine Nutzereingabeverarbeitung (beispielsweise zum Einstellen der Lautstärke und/oder eines Hall-Effekts) vorgesehen.According to one embodiment, processing modules that are implemented multiple times, i.e. also have implementations in which at least one additional processor, are at least one signal filter and/or at least one loudspeaker management and/or at least one user input processing (for example for adjusting the volume and/or a hall effect ) intended.

Für Anwendungsfälle oder Anwendungssituationen, die sich bei dem Verfahren ergeben können und die hier nicht explizit beschrieben sind, kann vorgesehen sein, dass gemäß dem Verfahren eine Fehlermeldung und/oder eine Aufforderung zur Eingabe einer Nutzerrückmeldung ausgegeben und/oder eine Standardeinstellung und/oder ein vorbestimmter Initialzustand eingestellt wird.For use cases or application situations that may arise with the method and that are not explicitly described here, it can be provided that an error message and/or a request to enter user feedback and/or a standard setting and/or a predetermined one can be issued according to the method Initial state is set.

Um das beschriebene Verfahren in einem Kraftfahrzeug durchzuführen, ist gemäß einer weiteren Lösung der Erfindung ein Steuergerät für ein Kraftfahrzeug vorgesehen, dass die beschriebene Prozessorschaltung aufweist, die den DSP und zumindest einen Zusatzprozessor aufweist, wobei die Prozessorschaltung dazu eingerichtet ist, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Hierzu sind die entsprechenden Implementierungen zumindest eines Verarbeitungsmoduls sowie das beschriebene Signalausgabemodul und bevorzugt auch ein Schedulermodul vorgesehen.In order to carry out the method described in a motor vehicle, according to a further solution of the invention, a control device for a motor vehicle is provided that has the processor circuit described, which has the DSP and at least one additional processor, the processor circuit being set up to provide an embodiment of the method according to the invention to carry out. For this purpose, the corresponding implementations of at least one processing module as well as the signal output module described and preferably also a scheduler module are provided.

Als weitere Lösung umfasst die Erfindung auch das sich ergebende Kraftfahrzeug mit zumindest einem Steuergerät gemäß einer Ausführungsform des erfindungsgemäßen Steuergeräts, wobei das jeweilige Steuergerät mit einer jeweiligen Ausgabeeinheit zum Ausgeben eines prozessierten oder verarbeiteten Signaldatenstroms des jeweiligen Steuergeräts gekoppelt ist. So kann beispielsweise als Signaldatenstrom ein Audiodatenstrom einerseits und/oder ein Videodatenstrom andererseits durch jeweils ein solches Steuergerät prozessiert werden. Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.As a further solution, the invention also includes the resulting motor vehicle with at least one control device according to an embodiment of the control device according to the invention, wherein the respective control device is coupled to a respective output unit for outputting a processed or processed signal data stream of the respective control device. For example, as a signal data stream, an audio data stream on the one hand and/or a video data stream on the other hand can be processed by such a control device. The motor vehicle according to the invention is preferably designed as a motor vehicle, in particular as a passenger car or truck, or as a passenger bus or motorcycle.

Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.The invention also includes the combinations of the features of the described embodiments. The invention therefore also includes implementations that each have a combination of the features of several of the described embodiments, provided that the embodiments have not been described as mutually exclusive.

Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:

  • 1 eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Kraftfahrzeugs gemäß einer ersten Ausgestaltung; und
  • 2 eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Kraftfahrzeugs gemäß einer zweiten Ausgestaltung.
Examples of embodiments of the invention are described below. This shows:
  • 1 a schematic representation of an embodiment of the motor vehicle according to the invention according to a first embodiment; and
  • 2 a schematic representation of an embodiment of the motor vehicle according to the invention according to a second embodiment.

Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.The exemplary embodiments explained below are preferred embodiments of the invention. In the exemplary embodiments, the described components of the embodiments each represent individual features of the invention that are to be considered independently of one another and which also further develop the invention independently of one another. Therefore, the disclosure is intended to include combinations of the features of the embodiments other than those shown. Furthermore, the described embodiments can also be supplemented by further features of the invention that have already been described.

In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.In the figures, the same reference numerals designate functionally identical elements.

1 zeigt ein Beispiel mit einem GPU als Zusatzprozessor. In einem Kraftfahrzeug 10 kann eine Ausgabeeinheit 11 bereitgestellt sein, bei der es sich beispielsweise um eine Audiowiedergabeeinheit, insbesondere eine mehrkanalige Audiowiedergabeeinheit in Kanälen K, also eine Musikanlage oder ein Soundsystem des Kraftfahrzeugs 10 handeln kann. Dargestellt ist, wie durch die Ausgabeeinheit 11 mittels mehrerer Lautsprecher 12 in beispielsweise einer Fahrkabine 13 des Kraftfahrzeugs 10 eine Echtzeit-Signalausgabe 14 eines Audiosignals erfolgen kann. die Lautsprecher 12 können dabei in Bezug auf einen Zeitversatz oder eine Phase und/oder eine frequenzabhängige Lautstärkeanpassung (Equalizing) aufeinander abgestimmt sein, sodass für die Echtzeit-Signalausgabe 14 zugrunde liegende Signaldaten 15 verarbeitet werden müssen, damit hierdurch verarbeitete Signaldaten 16 bereitstehen, mittels welchen die Ansteuerung der Lautsprecher 12 für die Echtzeit-Signalausgabe durch die Ausgabeeinheit 11 erfolgen kann. Die Verarbeitung der Signaldaten 15 zu den verarbeiteten Signaldaten 16 kann in dem Kraftfahrzeug 10 durch eine Prozessorschaltung 17 durchgeführt werden. Für eine kontinuierliche Echtzeit-Signalausgabe 14 sind die Signaldaten 15 hierbei insbesondere als ein Signaldatenstrom 18, also beispielsweise ein Audiodatenstrom, bereitgestellt, der beispielsweise aus einer fahrzeugexternen Datenquelle, beispielsweise einem Internetradio oder einem Streaming-Dienst und/oder aus einem Datenspeicher wie beispielsweise einer CD (Compact disc) und/oder einem MP3-Datenspeicher, entnommen oder ausgelesen werden kann. Die Signaldaten 15 des Signaldatenstroms 18 können dabei jeweils als Rahmen oder Frames 19, also paketweise oder abschnittsweise eingelesen und durch die Prozessorschaltung 17 verarbeitet werden. Die Prozessorschaltung 17 kann für das Erzeugen der verarbeiteten Signaldaten 16 einen DSP aufweisen. Die Prozessorschaltung 17 kann des Weiteren eine CPU aufweisen, durch welche ein Schedulermodul 20 ausgeführt werden kann. die Prozessorschaltung 17 kann des Weiteren einen Zusatzprozessor oder zumindest einen Zusatzprozessor 21 aufweisen, bei dem es sich in dem vorliegenden Beispiel um eine GPU handeln kann. 1 shows an example with a GPU as an additional processor. An output unit 11 can be provided in a motor vehicle 10, which can be, for example, an audio playback unit, in particular a multi-channel audio playback unit in channels K, that is to say a music system or a sound system of the motor vehicle 10. It is shown how a real-time signal output 14 of an audio signal can be carried out by the output unit 11 using a plurality of loudspeakers 12 in, for example, a driving cabin 13 of the motor vehicle 10. The loudspeakers 12 can be coordinated with one another in terms of a time offset or a phase and / or a frequency-dependent volume adjustment (equalizing), so that for the real-time signal output 14 underlying signal data 15 must be processed so that processed signal data 16 are available, by means of which the loudspeakers 12 for real-time signal output can be controlled by the output unit 11. The processing of the signal data 15 to the processed signal data 16 can be carried out in the motor vehicle 10 by a processor circuit 17. For a conti Numerous real-time signal output 14, the signal data 15 are provided in particular as a signal data stream 18, for example an audio data stream, which comes, for example, from a data source external to the vehicle, for example an Internet radio or a streaming service and / or from a data storage such as a CD (Compact disc) and/or an MP3 data storage device, can be removed or read out. The signal data 15 of the signal data stream 18 can be read in as frames or frames 19, i.e. in packets or sections, and processed by the processor circuit 17. The processor circuit 17 may have a DSP for generating the processed signal data 16. The processor circuit 17 may further comprise a CPU through which a scheduler module 20 can be executed. The processor circuit 17 can further have an additional processor or at least one additional processor 21, which in the present example can be a GPU.

Für die Signalverarbeitung der Signaldaten 15 des Signaldatenstroms 18 kann in dem DSP eine Signalflusskette 22 konfiguriert sein, durch welche eine Verknüpfung und/oder Reihenfolge von Verarbeitungsmodulen 23 sowie einem am Ende der Signalflusskette 22 für die Ausgabe der verarbeiteten Signaldaten 16 an die Ausgabeeinheit 11 vorgesehene Signalausgabemodul 24 definiert oder konfiguriert sein. Bei dem Signalausgabemodul 24 kann es sich um eine echtzeitfähige Steuerung für die mehrkanalige Signalausgabe der verarbeiteten Signaldaten 16 an die Ausgabeeinheit handeln, sodass für den Betrieb oder die Ermöglichung der Echtzeit-Signalausgabe 14 die Verarbeitung von Signaldaten durch das Signalausgabemodul 24 mit einer Rahmengröße 25 erfolgen muss, die kleiner als ein vorbestimmter Höchstwert sein muss, beispielsweise kleiner als ein Äquivalent von 100 Millisekunden oder 50 Millisekunden, um nur Beispiele zu nennen. Dagegen können die Verarbeitungsmodule 23 größere Rahmen verarbeiten und daher eine Rahmengröße 25 verarbeiten, die größer als die Rahmengröße 25 für das Signalausgabemodul 24 ist. Je kleiner die Rahmengröße 25 ist, desto größer ist die Prozessorlast in dem DSP. Das Signalausgabemodul 24 muss für die kontinuierliche Echtzeit-Signalausgabe 14 die verarbeiteten Signaldaten 16 in einer Ausgabeschleife oder Loop 26 zyklisch ausführen oder betreiben. Um diese Loop 26 zuverlässig oder durchgehend ausführen zu können, auch wenn die Rahmengröße 25 des Signalausgabemoduls 24 kleiner als der notwendige Schwellenwert ist, kann vorgesehen sein, dass durch das Schedulermodul 20 der CPU die Verarbeitungsmodule 23 der Signalflusskette 22 aus dem DSP ausgelagert werden. Hierzu kann zu dem jeweiligen Verarbeitungsmodul 23 eine Implementierung von dessen Funktionalität oder eine Implementierung des Signalausgabemoduls, also eine jeweilige Implementierung 23`, auf der GPU oder allgemein auf einem Zusatzprozessor 21 bereitgestellt sein. Durch das Schedulermodul 20 kann dann beim Konfigurieren der Signalflusskette 22 festgelegt werden, welche Implementierungen 23' in welcher Reihenfolge verknüpft werden, sodass hierdurch Ausgabedaten einer vorgeschalteten Implementierung 23 die Eingabedaten einer nachgeschalteten Implementierung 23` in der Signalflusskette 22 entspricht. Eine Verknüpfung der Implementierung 23` kann durch zwischengeschaltete Datenpuffer 27 realisiert werden. Das Resultat der Signalflusskette, also die verarbeiteten Signaldaten aus dem Zusatzprozessor 21, die am Ende einer Berechnungspipeline 30 (Compute-Pipeline) der dort verknüpften oder betriebenen Implementierungen 23' bereitstehen und als zu übertragende Daten an den DSP für die Echtzeit-Signalausgabe 14 durch das Signalausgabemodul 24 bereitgestellt werden müssen, können über einen Datenpuffer 31 zwischen dem Zusatzprozessor 21 und dem DSP ausgetauscht werden. Der Datenpuffer 31 kann auf der Grundlage eines Shared-Memory-Speicherbereichs in einem Arbeitsspeicher 32 der Prozessorschaltung 17 realisiert sein, wodurch ein Umkopieren oder Übertragen von dem Zusatzprozessor 21 zu dem DSP in einem Schritt erfolgen kann, da beide Prozessoren (Zusatzprozessor 21 und DSP) auf denselben Datenpuffer 31 zugreifen können.For the signal processing of the signal data 15 of the signal data stream 18, a signal flow chain 22 can be configured in the DSP, through which a link and / or sequence of processing modules 23 and a signal output module provided at the end of the signal flow chain 22 for the output of the processed signal data 16 to the output unit 11 24 be defined or configured. The signal output module 24 can be a real-time capable controller for the multi-channel signal output of the processed signal data 16 to the output unit, so that in order to operate or enable the real-time signal output 14, the signal data must be processed by the signal output module 24 with a frame size of 25 , which must be less than a predetermined maximum value, for example less than an equivalent of 100 milliseconds or 50 milliseconds, to give examples. In contrast, the processing modules 23 can process larger frames and therefore process a frame size 25 that is larger than the frame size 25 for the signal output module 24. The smaller the frame size 25, the greater the processor load in the DSP. The signal output module 24 must cyclically execute or operate the processed signal data 16 in an output loop 26 for the continuous real-time signal output 14. In order to be able to execute this loop 26 reliably or continuously, even if the frame size 25 of the signal output module 24 is smaller than the necessary threshold value, it can be provided that the processing modules 23 of the signal flow chain 22 are outsourced from the DSP by the scheduler module 20 of the CPU. For this purpose, an implementation of its functionality or an implementation of the signal output module, i.e. a respective implementation 23 ', can be provided for the respective processing module 23 on the GPU or generally on an additional processor 21. When configuring the signal flow chain 22, the scheduler module 20 can then determine which implementations 23' are linked in which order, so that output data of an upstream implementation 23 corresponds to the input data of a downstream implementation 23' in the signal flow chain 22. The implementation 23' can be linked using intermediate data buffers 27. The result of the signal flow chain, i.e. the processed signal data from the additional processor 21, which is available at the end of a calculation pipeline 30 (compute pipeline) of the implementations 23 'linked or operated there and as data to be transmitted to the DSP for the real-time signal output 14 by the Signal output module 24 must be provided can be exchanged between the additional processor 21 and the DSP via a data buffer 31. The data buffer 31 can be implemented on the basis of a shared memory storage area in a working memory 32 of the processor circuit 17, whereby copying or transferring from the additional processor 21 to the DSP can take place in one step, since both processors (additional processor 21 and DSP) can access the same data buffer 31.

Die so aus dem Zusatzprozessor 21 zu dem DSP übertragenen und verarbeiteten Daten können dann durch die Loop 26 des Signalausgabemoduls 24 mit der Rahmengröße 25 des Signalausgabemoduls 24 beispielsweise in Ausgabepuffer 33 geschrieben werden, die die notwendige Rahmengröße 25 für die Echtzeit-Signalausgabe 14 aufweisen. Somit kann die mehrkanalige Ausgabe der verarbeiteten Signaldaten 16 an die Ausgabeeinheit 11 ohne Unterbrechung oder Störung der Echtzeitfähigkeit in dem DSP sichergestellt werden. Eine Überlastung des DSP durch den Betrieb zu vieler Verarbeitungsmodule 23 kann vermieden werden, indem Implementierungen 23' der Verarbeitungsmodule 23 durch das Schedulermodul 20 auf den zumindest einen Zusatzprozessor 21 ausgelagert oder dort betrieben werden können. Das Schedulermodul 20 kann hierzu beispielsweise auch eine Auslastung des DSP und/oder des zumindest einen Zusatzprozessors 21 überwachen und entscheiden oder daraufhin zuordnen, welche Implementierungen 23' verknüpft werden, um die Signalflusskette 22 für die Verarbeitung eines konkreten vorgegebenen Signaldatenstroms 18 durchzuführen.The data thus transferred and processed from the additional processor 21 to the DSP can then be written by the loop 26 of the signal output module 24 with the frame size 25 of the signal output module 24, for example, into output buffers 33, which have the necessary frame size 25 for the real-time signal output 14. Thus, the multi-channel output of the processed signal data 16 to the output unit 11 can be ensured without interrupting or disturbing the real-time capability in the DSP. Overloading the DSP due to the operation of too many processing modules 23 can be avoided by allowing implementations 23' of the processing modules 23 to be outsourced or operated there by the scheduler module 20 to the at least one additional processor 21. For this purpose, the scheduler module 20 can, for example, also monitor the utilization of the DSP and/or the at least one additional processor 21 and decide or then assign which implementations 23' are linked in order to carry out the signal flow chain 22 for processing a specific predetermined signal data stream 18.

Die Prozessorschaltung 17 kann als Zusatzprozessor zusätzlich oder alternativ zu der GPU gemäß 2 eine Neural processing unit NPU aufweisen, die in der Lage sein kann, mehrere Berechnungspipelines 30 parallel oder gleichzeitig zu betreiben. Somit kann beispielsweise für die unterschiedlichen Signalkanäle eine kanalindividuelle oder kanalspezifische Verarbeitung parallel implementiert oder durchgeführt werden.The processor circuit 17 can be used as an additional processor in addition to or as an alternative to the GPU 2 a neural processing unit NPU which may be able to operate multiple calculation pipelines 30 in parallel or simultaneously. Thus, for example, channel-specific or channel-specific processing can be implemented or carried out in parallel for the different signal channels.

Die Audio-DSP-Verarbeitungsinsel des DSPs verarbeitet einen Signalfluss. Der Signalfluss kann einige Abschnitte (z. B. Lautsprechermanagement) enthalten, die zeitkritisch sind (niedrige Latenz) und daher eine geringe Größe des Audio-Datenpuffers haben können, und andere Abschnitte, die weniger zeitkritisch sind (z. B. Entertainment-Eingang) und eine größere Puffergröße haben können. The DSP's audio DSP processing island processes a signal flow. The signal flow may contain some sections (e.g. speaker management) that are time-critical (low latency) and therefore may have a small audio data buffer size, and other sections that are less time-critical (e.g. entertainment input) and can have a larger buffer size.

Gekoppelte Verarbeitungsmodule (z. B. die Lautsprecherverwaltung) können eine große Anzahl von Audiofiltern enthalten, was eine große Rechenleistung erfordern kann.Coupled processing modules (e.g. speaker management) may contain a large number of audio filters, which may require large computing power.

Die Signaldaten für jede Signalverarbeitung und die daraus resultierenden Signaldaten können zwischen den Prozessoren (Zusatzprozessor und DSP) über einen gemeinsamen Speicher ausgetauscht werden.The signal data for each signal processing and the resulting signal data can be exchanged between the processors (auxiliary processor and DSP) via a shared memory.

Zur Laufzeit wird jeder dieser Abschnitte in Verarbeitungsaufgaben oder Prozesse aufgeteilt. Das Schedulermodul (CPU-Scheduler-Arbiter) verteilt diese Aufgaben / Prozesse, abhängig von der Puffergröße, der Art der Operation und/oder dem Systemzustand, bevorzugt entweder an die DSP- oder an eine der NPU-Compute Pipelines oder GPU-Pipelines, um so viel Rechenleistung wie möglich von der DSP- auf die NPU-Compute Pipelines oder GPU-Pipelines zu verlagern.At runtime, each of these sections is divided into processing tasks or processes. The scheduler module (CPU scheduler arbiter) distributes these tasks/processes, depending on the buffer size, the type of operation and/or the system state, preferably either to the DSP or to one of the NPU compute pipelines or GPU pipelines to shift as much computing power as possible from the DSP to the NPU compute pipelines or GPU pipelines.

Der CPU-Scheduler-Arbiter arbeitet somit mit dem DSP einerseits und der GPU und/oder der NPU andererseits zusammen.The CPU scheduler arbiter thus works with the DSP on the one hand and the GPU and/or the NPU on the other.

Vorteile ergeben sich somit durch:

  1. 1. Die Nutzung der internen NPU / GPU eines SoCs (System on Chip) als Co-Prozessor / Zusatzprozessor.
  2. 2. Die Planung und Verteilung der Aufgaben / Prozesse an die effizienteste Ressource (DSP bzw. Zusatzprozessor).
Advantages result from:
  1. 1. The use of the internal NPU / GPU of a SoC (System on Chip) as a co-processor / additional processor.
  2. 2. The planning and distribution of tasks/processes to the most efficient resource (DSP or additional processor).

Die interne NPU / GPU eines SoCs kann somit als Verarbeitungsinsel für die Audioverarbeitung genutzt werden. Sie wird mit den DSP-Kernen des SoCs so kombiniert, dass der DSP-Ressourcenverbrauch insgesamt minimal ist.The internal NPU / GPU of a SoC can therefore be used as a processing island for audio processing. It is combined with the SoC's DSP cores in such a way that overall DSP resource consumption is minimal.

So können mehr DSP-Ressourcen für Funktionen mit geringer Latenz wie die Unterdrückung von Straßengeräuschen verwendet werden.This allows more DSP resources to be used for low latency functions such as road noise cancellation.

Insgesamt zeigen die Beispiele, wie ein Scheduling für die Verteilung von Prozessen auf unterschiedliche Prozessoren bereitgestellt werden kann.Overall, the examples show how scheduling can be provided for distributing processes to different processors.

Claims (10)

Verfahren zum Betreiben einer Prozessorschaltung (17), wobei die Prozessorschaltung (17) als Rechenressourcen einen digitalen Signalprozessor, DSP, zum Prozessieren zumindest eines Signaldatenstroms (18) und zumindest einen Zusatzprozessor (21) für graphische Rechenoperationen, GPU, und/oder für auf maschinelles Lernen bezogene Rechenoperationen, NPU, aufweist, wobei Signaldaten (15) des jeweiligen Signaldatenstroms (18) jeweils nacheinander in unterschiedlichen Verarbeitungsmodulen (23), die zu einer Signalflusskette (22) gekoppelt sind, verarbeitet werden und die durch die Signalflusskette (22) verarbeiteten Signaldaten (15) für eine Echtzeit-Signalausgabe (14) durch ein Signalausgabemodul (24) des DSP an eine Ausgabeeinheit (11) ausgegeben werden, wobei eine jeweilige Implementierung (23') eines oder einiger oder jedes der Verarbeitungsmodule (23) jeweils in dem zumindest einen Zusatzprozessor (21) bereitgestellt ist und die jeweilige Signalflusskette (22) in dem auf dem DSP betriebenen Signalausgabemodul (24) endet, dadurch gekennzeichnet, dass der Signaldatenstrom (18) ein Audiodatenstrom ist und die Ausgabeeinheit (11) eine Lautsprecherwidergabe der prozessierten Signaldaten (15) vorsieht und für die Verarbeitung des Signaldatenstroms in der Prozessorschaltung der DSP als ein spezialisierter Mikroprozessor bereitgestellt ist, für andere Aufgaben in der Prozessorschaltung der zumindest eine Zusatzprozessor vorgesehen ist, wobei eines oder einige oder jedes der Verarbeitungsmodule (23) jeweils mehrfach implementiert ist, indem von dem jeweiligen Verarbeitungsmodul (23) jeweils sowohl eine Implementierung (23') im DSP als auch die jeweilige Implementierung (23') in zumindest einer übrigen der Rechenressourcen bereitgestellt ist, und jeweils die für das Verarbeiten des Signaldatenstroms (18) vorgesehene Signalflusskette (22) durch ein Schedulermodul (20) mittels einer Zuordnungsroutine dahingehend konfiguriert wird, dass pro mehrfach implementiertem Verarbeitungsmodul (23) ausgewählt wird, ob die Implementierung (23') im DSP oder die Implementierung (23') in einer anderen der Rechenressourcen für die Signalflusskette (22) verwendet wird, wobei die Zuordnungsroutine umfasst, dass das Auswählen der jeweiligen Instanz in Abhängigkeit von Kenndaten der zumindest einen Implementierung (23') und Auslastungsdaten zumindest einer der Rechenressourcen erfolgt und bei der Auswahl der jeweiligen Implementierung der zumindest eine Zusatzprozessor bevorzugt wird, das heißt es wird eine Auslagerung vom DSP weg oder aus dem DSP heraus bevorzugt.Method for operating a processor circuit (17), wherein the processor circuit (17) has, as computing resources, a digital signal processor, DSP, for processing at least one signal data stream (18) and at least one additional processor (21) for graphical computing operations, GPU, and/or for mechanical Learning-related arithmetic operations, NPU, wherein signal data (15) of the respective signal data stream (18) are processed one after the other in different processing modules (23), which are coupled to a signal flow chain (22), and the signal data processed by the signal flow chain (22). (15) for real-time signal output (14) are output by a signal output module (24) of the DSP to an output unit (11), with a respective implementation (23 ') of one or some or each of the processing modules (23) in the at least an additional processor (21) is provided and the respective signal flow chain (22) ends in the signal output module (24) operated on the DSP, characterized in that the signal data stream (18) is an audio data stream and the output unit (11) provides a loudspeaker reproduction of the processed signal data ( 15) provides and is provided as a specialized microprocessor for processing the signal data stream in the processor circuit of the DSP, for other tasks in the processor circuit the at least one additional processor is provided, one or some or each of the processing modules (23) being implemented multiple times, in that the respective processing module (23) provides both an implementation (23') in the DSP and the respective implementation (23') in at least one of the remaining computing resources, and in each case the signal flow chain (18) provided for processing the signal data stream (18) is provided. 22) is configured by a scheduler module (20) using an assignment routine in such a way that for each multiple implemented processing module (23) it is selected whether the implementation (23') in the DSP or the implementation (23') in another of the computing resources for the signal flow chain (22) is used, wherein the assignment routine includes that the respective instance is selected depending on characteristics of the at least one implementation (23 ') and utilization data of at least one of the computing resources and when selecting the respective implementation of the at least one additional processor is preferred, that is, outsourcing away from or out of the DSP is preferred. Verfahren nach Anspruch 1, wobei als Kenndaten eine von der Implementierung (23') benötigte Puffergröße und/oder die Auslastungsdaten einen Grad einer Echtzeitfähigkeit und/oder eine durch die Rechenressource voraussichtlich bewirkte Latenz.Procedure according to Claim 1 , whereby as characteristic data a buffer size required by the implementation (23 ') and / or the utilization data a degree of real-time capability and / or a latency likely to be caused by the computing resource. Verfahren nach einem der vorhergehenden Ansprüche, wobei die jeweilige Implementierung (23') zumindest zwei der Verarbeitungsmodule (23), die in der Signalflusskette (22) unmittelbar hintereinander geschaltet betrieben werden und die auf unterschiedlichen der Rechenressourcen ausgeführt werden, Daten mittels eines jeweiligen Pufferspeichers (31) austauschen.Method according to one of the preceding claims, wherein the respective implementation (23 ') of at least two of the processing modules (23), which are operated in direct succession in the signal flow chain (22) and which are executed on different computing resources, data by means of a respective buffer memory ( 31) exchange. Verfahren nach Anspruch 3, wobei der Pufferspeicher (31) mittels eines Shared-Memory-Speicherbereichs bereitgestellt wird.Procedure according to Claim 3 , wherein the buffer memory (31) is provided by means of a shared memory storage area. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Signaldaten (15) durch die jeweilige Instanz und durch das Signalausgabemodul (24) jeweils als Rahmen (Frames (19)) zusammengefasst verarbeitet werden und eine Rahmengröße (25) der jeweiligen Implementierung (23') in dem jeweiligen Zusatzprozessor (21) größer ist als eine Rahmengröße (25) in dem Signalausgabemodul (24).Method according to one of the preceding claims, wherein the signal data (15) are processed collectively as frames (19) by the respective instance and by the signal output module (24) and a frame size (25) of the respective implementation (23 ') in the respective additional processor (21) is larger than a frame size (25) in the signal output module (24). Verfahren nach einem der vorhergehenden Ansprüche, wobei das Schedulermodul (20) durch einen integrierten Schaltkreis einer CPU der Prozessorschaltung (17) betrieben wird.Method according to one of the preceding claims, wherein the scheduler module (20) is operated by an integrated circuit of a CPU of the processor circuit (17). Verfahren nach Anspruch 5, wobei die CPU und der DSP und der zumindest eine Zusatzprozessor (21) gemeinsam mittels eines System-on-Chip, SoC, bereitgestellt werden.Procedure according to Claim 5 , wherein the CPU and the DSP and the at least one additional processor (21) are provided together by means of a system-on-chip, SoC. Verfahren nach einem der vorhergehenden Ansprüche, wobei das zumindest eine mehrfach implementierte Verarbeitungsmodul (23) zumindest eines der folgenden umfasst: • ein Signalfilter, • ein Lautsprechermanagement, • eine Nutzereingabeverarbeitung.Method according to one of the preceding claims, wherein the at least one multiply implemented processing module (23) comprises at least one of the following: • a signal filter, • loudspeaker management, • user input processing. Steuergerät für ein Kraftfahrzeug (10), wobei das Steuergerät eine Prozessorschaltung (17) aufweist, die einen DSP und zumindest einen Zusatzprozessor (21) aufweist, wobei die Prozessorschaltung (17) dazu eingerichtet ist, ein Verfahren nach einem der vorhergehenden Ansprüche durchzuführen.Control device for a motor vehicle (10), the control device having a processor circuit (17) which has a DSP and at least one additional processor (21), the processor circuit (17) being set up to carry out a method according to one of the preceding claims. Kraftfahrzeug (10) aufweisend zumindest ein Steuergerät nach Anspruch 9, wobei das jeweilige Steuergerät mit einer jeweiligen Ausgabeeinheit (11) zum Ausgeben eines prozessierten Signaldatenstroms (18) des Steuergeräts gekoppelt ist.Motor vehicle (10) having at least one control device Claim 9 , wherein the respective control device is coupled to a respective output unit (11) for outputting a processed signal data stream (18) of the control device.
DE102022116850.6A 2022-07-06 2022-07-06 Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle Active DE102022116850B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022116850.6A DE102022116850B3 (en) 2022-07-06 2022-07-06 Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022116850.6A DE102022116850B3 (en) 2022-07-06 2022-07-06 Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle

Publications (1)

Publication Number Publication Date
DE102022116850B3 true DE102022116850B3 (en) 2024-01-04

Family

ID=89167813

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022116850.6A Active DE102022116850B3 (en) 2022-07-06 2022-07-06 Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle

Country Status (1)

Country Link
DE (1) DE102022116850B3 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120265522A1 (en) 2011-04-15 2012-10-18 Jan Fex Time Scaling of Audio Frames to Adapt Audio Processing to Communications Network Timing
US20190171965A1 (en) 2017-12-01 2019-06-06 Deepwave Digital, Inc. Artificial intelligence radio transceiver
US20210041555A1 (en) 2017-10-20 2021-02-11 Texas Instruments Incorporated System and method for camera radar fusion
US20220035684A1 (en) 2020-08-03 2022-02-03 Nvidia Corporation Dynamic load balancing of operations for real-time deep learning analytics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120265522A1 (en) 2011-04-15 2012-10-18 Jan Fex Time Scaling of Audio Frames to Adapt Audio Processing to Communications Network Timing
US20210041555A1 (en) 2017-10-20 2021-02-11 Texas Instruments Incorporated System and method for camera radar fusion
US20190171965A1 (en) 2017-12-01 2019-06-06 Deepwave Digital, Inc. Artificial intelligence radio transceiver
US20220035684A1 (en) 2020-08-03 2022-02-03 Nvidia Corporation Dynamic load balancing of operations for real-time deep learning analytics

Similar Documents

Publication Publication Date Title
DE112009000834B4 (en) Express virtual channels in a packet-switched on-chip connection network
DE60223394T2 (en) METHOD AND DEVICE FOR ASSIGNING REQUIREMENTS FOR A DYNAMIC DIRECT ACCESS MEMORY DEVICE
EP0108969B1 (en) Dma control unit for data transmission between a data transmitter and a data receiver
WO2004047385A2 (en) Gateway unit for connecting sub-networks in vehicles
DE102007038964A1 (en) Network device e.g. switch, for processing network data, has data switching module provided with input terminals and arranged to implement data switching for input data from each input terminal corresponding to priority and to send data
EP1784737B1 (en) Communications module comprising a communications interface element, and communications interface element
DE102006055512A1 (en) Multiprocessor gateway
DE112012005572B4 (en) Balancing the bandwidth of requestors using a shared storage system
EP2678979B1 (en) Motor vehicle having a flexray bus
DE102022116850B3 (en) Method and control device for operating a processor circuit for processing a signal data stream and motor vehicle
DE112012006873B4 (en) Distributed input/output control system, distributed input/output control method and master station and slave station for distributed input/output control system
DE102011007603A1 (en) Method and apparatus for processing data elements with minimal latency
DE60226167T2 (en) COMPUTER SYSTEM I / O NODE
DE10245667B4 (en) Feedback compensator in an acoustic amplification system, hearing aid, method for feedback compensation and application of the method in a hearing aid
DE102011116987B4 (en) Merging data for Bluetooth devices
DE102018125090A1 (en) Data processing method and programmable logic controller
DE4424674C2 (en) Signal suppression device
DE102006032343B4 (en) Semiconductor memory interface
DE602004005820T2 (en) PROCESSOR ARRAY
EP0340301B1 (en) Digital adaptive transform coding process
WO2007000431A1 (en) Fault-tolerant system for data transmission in a passenger aircraft
EP3746864B1 (en) Radio frequency stimulator system
DE102018200555B4 (en) Vehicle electronics unit with a physical network interface and a plurality of virtual network interfaces having virtual machines and data communication methods between the virtual machines and the network interface to a local vehicle network of a vehicle
EP2820553B1 (en) Coupling device and method for dynamically allocating usb endpoints of a usb interface, and exchange trading system terminal with coupling device
DE112007003199T5 (en) Device and method for managing audio messages in a vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division