Simultaneous audio output resulting from priority arbitration
The arbitration manager in vehicles optimizes audio output by prioritizing applications and modifying channels to enable simultaneous playback, addressing resource and compatibility challenges for enhanced audio performance.
Patent Information
- Application Number
- JP2025008476
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-02
- Filing Date
- 2025-01-21
- Publication Date
- 2025-10-15
- Estimated Expiration
- 2045-01-21
AI Technical Summary
Existing audio output devices in vehicles face limitations in simultaneously processing multiple audio streams due to resource constraints and compatibility issues with various applications, leading to conflicts and suboptimal playback.
An arbitration manager determines the priority among applications and enables simultaneous audio output by checking vehicle resources and modifying speaker channels to accommodate multiple audio streams, ensuring compatibility and efficient use of available resources.
The solution allows for simultaneous audio playback from multiple applications, overcoming resource constraints and compatibility issues, thereby enhancing the audio experience in vehicles.
Smart Images

Figure 2025157114000001_ABST
Abstract
Description
[Background technology]
[0001] An audio output device, such as a speaker or speaker system, installed in a vehicle is used by multiple applications. Some applications are non-flutter applications that generate a continuous audio stream from the radio, pre-recorded physical media, the Internet, etc. Some applications are flutter applications that generate intermittent audio data related to navigation, warnings, etc. At any given time, multiple applications may be sending requests for output by the audio output device or a video output device, such as a touchscreen. [Brief explanation of the drawings]
[0002] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying figures. It should be noted that, according to standard industry practice, various features have not been drawn to scale. In fact, the dimensions of various features may be arbitrarily increased or decreased for clarity of illustration.
[0003] [Figure 1] FIG. 1 is a schematic diagram of simultaneous audio output resulting from priority arbitration, according to at least some embodiments of the subject disclosure. [Figure 2] FIG. 2 is an information flow regarding simultaneous audio outputs resulting from priority arbitration, according to at least some embodiments of the subject disclosure. [Figure 3] FIG. 3 is an operational flow for simultaneous audio output resulting from priority arbitration, according to at least some embodiments of the subject disclosure. [Figure 4] FIG. 4 is an operational flow for obtaining concurrent audio output requirement information and determining whether the requirements are satisfied, according to at least some embodiments of the subject disclosure. [Figure 5]FIG. 5 is an operational flow for implementing simultaneous audio output according to at least some embodiments of the subject disclosure. [Figure 6] FIG. 6 is a block diagram of a hardware configuration for simultaneous audio output due to priority arbitration, according to at least some embodiments of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0004] The following disclosure provides numerous different embodiments or examples for implementing different features of the provided subject matter. To simplify the disclosure, specific examples of components, values, operations, materials, arrangements, or the like are set forth below. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, or the like are contemplated. In addition, the disclosure may repeat reference numerals and / or characters in various examples. This repetition is for the purposes of simplicity and clarity and does not, in itself, dictate a relationship between the various embodiments and / or configurations described.
[0005] In some vehicles known to the inventor, output devices are limited, and therefore, requests by applications to output to output devices are processed through mediation rules. In such vehicles, an arbitration manager determines the priority among applications based on mediation rules stored in a mediation library regarding screen output, basic sound output, and interrupt sound output, and resolves conflicts between applications. The arbitration manager sends the determination result to each application via the application manager.
[0006] In at least some embodiments described herein, rather than simply selecting one of the applications to utilize all output devices, the application manager determines whether simultaneous output is possible, and in response to determining that the conditions for simultaneous output are met, the application manager enables one application's audio transmission to the vehicle's front speakers simultaneously with another application's audio transmission to the vehicle's rear speakers.
[0007] Although some vehicles, e.g., RSE (Rear Seat Entertainment) compliant vehicle models, support simultaneous output of different audio streams between front and rear speakers, not all combinations of audio streams meet the conditions for simultaneous playback. For example, internal computing resource constraints limit the head unit's capacity to decode multiple audio streams. Also, certain applications, e.g., smartphone applications, require the use of a head unit interface, but some head unit interfaces do not support two application interfaces.
[0008] In at least some embodiments, the application manager or arbitration manager is configured to check the specifications of any vehicle equipment used for audio, such as the available resources and capabilities of the head unit, amplifiers, speakers, and any other in-vehicle equipment. In at least some embodiments, the application manager or arbitration manager is configured to determine which applications should send audio, such as basic audio, interrupt audio, emergency call audio, etc., through which speakers in the vehicle in response to any changes to the vehicle's audio playback conditions.
[0009] In at least some embodiments, an application sends a request for audio arbitration to an interface provided by an application manager or arbitration manager in response to generation of audio data, and performs audio playback according to the arbitration result determined by the application manager or arbitration manager. In at least some embodiments, audio arbitration allows an application to play audio without considering the specifications of any vehicle equipment used for audio.
[0010] In at least some embodiments, audio arbitration begins while the head unit has already configured the amplifier to output audio from a first audio-generating application to all speakers. In at least some embodiments, audio arbitration is triggered when the head unit receives a request to output audio from a second audio-generating application. In at least some embodiments, the head unit determines whether simultaneous playback is possible by reading information from each application to check, for example, whether sufficient display resources exist to provide an interface for both applications, whether sufficient decoding resources, particularly memory, exist to decode both audio streams, whether any privacy or security restrictions prevent simultaneous playback, etc. In at least some embodiments, the head unit, in response to determining that simultaneous playback is possible, instructs the amplifier to modify the first channel to remove the front speaker input or the rear speaker input. In at least some embodiments, the head unit then instructs the amplifier to reserve a second channel for the removed speaker input. In at least some embodiments, the head unit, in response to reserving the second channel, instructs the second application to enable audio transmission.
[0011] 1 is a schematic diagram of a system for simultaneous audio output due to priority arbitration, according to at least some embodiments of the subject disclosure. In at least some embodiments, the system is in an automobile or other vehicle. The schematic diagram includes a head unit 100, an amplifier 110, front speakers 117, and rear speakers 118.
[0012] The head unit 100 is connected to an amplifier 110. The head unit 100 includes a controller 102 and storage 104. In at least some embodiments, the head unit 100 is configured to manage and control the operation of an audio system for a vehicle. In at least some embodiments, the head unit 100 is a device that provides a user interface for the audio system. In at least some embodiments, the head unit 100 includes a display, buttons, a touchscreen, etc. In at least some embodiments, the head unit 100 is associated with a car stereo system. In at least some embodiments, the head unit 100 is configured to play media content.
[0013] The controller 102 is included in the head unit 100. In at least some embodiments, the controller 102 is configured to control the operation of the head unit 100. In at least some embodiments, the controller 102 is configured to manage priority arbitration for simultaneous audio outputs. In at least some embodiments, the controller 102 includes a microcontroller, microprocessor, or other logic-based circuitry. In at least some embodiments, the controller 102 is configured to execute software instructions.
[0014] Storage 104 is included in head unit 100. In at least some embodiments, storage 104 is configured to store data. In at least some embodiments, storage 104 is configured to store information representing resource requirements for each application. In at least some embodiments, storage 104 is configured to store user preference information. In at least some embodiments, storage 104 includes a memory device such as RAM, ROM, or flash memory. In at least some embodiments, storage 104 is a hard disk drive or solid state drive. In at least some embodiments, storage 104 is configured to store programs such as applications and operating systems executable by controller 102.
[0015] Amplifier 110 is connected to head unit 100. Amplifier 110 includes a first channel 112, a second channel 113, and an interconnect 115. In at least some embodiments, amplifier 110 is configured to amplify an audio signal. In at least some embodiments, amplifier 110 is configured to drive a speaker. In at least some embodiments, amplifier 110 is configured to modify a channel to add or remove a speaker input. In at least some embodiments, amplifier 110 is configured to modify first channel 112 to remove one of a front speaker input or a rear speaker input. In at least some embodiments, amplifier 110 includes components such as transistors, capacitors, and resistors. In at least some embodiments, amplifier 110 is a stand-alone device. In at least some embodiments, amplifier 110 is integrated into head unit 100. In at least some embodiments, amplifier 110 includes a digital signal processor.
[0016] A first channel 112 is included in amplifier 110 and is connected to interconnect 115. In at least some embodiments, first channel 112 is configured to relay an audio signal. In at least some embodiments, first channel 112 is configured to be associated with a first application for output to a speaker. In at least some embodiments, first channel 112 includes circuitry for signal transmission. In at least some embodiments, first channel 112 is a software component, such as a computational resource reservation. In at least some embodiments, first channel 112 has at least one of an audio bit rate, a sampling rate, a buffer size, or an equalizer setting corresponding to the application. In at least some embodiments, first channel 112 is configured to provide audio content to a speaker, such as front speaker 117 or rear speaker 118.
[0017] The second channel 113 is included in the amplifier 110 and is connected to the interconnect 115. In at least some embodiments, the second channel 113 is configured to relay an audio signal. In at least some embodiments, the second channel 113 is configured to be associated with a second application for output to a speaker. In at least some embodiments, the second channel 113 includes circuitry for signal transmission. In at least some embodiments, the second channel 113 is a software component, such as a computational resource reservation. In at least some embodiments, the second channel 113 has at least one of an audio bit rate, a sampling rate, a buffer size, or an equalizer setting corresponding to the application. In at least some embodiments, the second channel 113 is configured to provide audio content to a speaker, such as a front speaker 117 or a rear speaker 118.
[0018] Interconnect 115 is included in amplifier 110 and is connected to first channel 112, second channel 113, front speaker 117, and rear speaker 118. In at least some embodiments, interconnect 115 is configured to connect various channels and speakers of an audio system. In at least some embodiments, interconnect 115 is configured to route audio signals between the channels and speakers. In at least some embodiments, interconnect 115 includes wiring or other types of signal paths. In at least some embodiments, interconnect 115 is part of the internal circuitry of amplifier 110. In at least some embodiments, interconnect 115 is configured to facilitate signal transmission.
[0019] Front speakers 117 are connected to interconnect 115. In at least some embodiments, front speakers 117 are configured to output audio. In at least some embodiments, front speakers 117 are configured to output audio from a first application. In at least some embodiments, front speakers 117 include components such as a diaphragm, a voice coil, and a magnet. In at least some embodiments, front speakers 117 include at least one of a tweeter, a mid-range speaker, or a woofer. In at least some embodiments, front speakers 117 are configured to reproduce sound based on an audio signal.
[0020] Rear speakers 118 are connected to interconnect 115. In at least some embodiments, rear speakers 118 are configured to output audio. In at least some embodiments, rear speakers 118 are configured to output audio from a second application. In at least some embodiments, rear speakers 118 include components such as a diaphragm, a voice coil, and a magnet. In at least some embodiments, rear speakers 118 include at least one of a tweeter, a mid-range speaker, or a woofer. In at least some embodiments, rear speakers 118 are configured to reproduce sound based on an audio signal.
[0021] 2 is an information flow regarding simultaneous audio output due to priority arbitration, according to at least some embodiments of the subject disclosure. The information flow is between an application manager 220, a first application 222, a second application 224, and an amplifier 226. In at least some embodiments, information flows between the applications over a network, such as an Ethernet network, a controller area network (CAN), etc.
[0022] In at least some embodiments, application manager 220 is configured to manage multiple applications. In at least some embodiments, application manager 220 is configured to obtain resource requirements from the applications and instruct the amplifier based on the obtained information. In at least some embodiments, application manager 220 includes a software component that manages the execution of applications. In at least some embodiments, application manager 220 is part of an operating system of a head unit, e.g., head unit 100 of FIG. 1. In at least some embodiments, application manager 220 resides in storage, e.g., storage 104 of FIG. 1, and is executed by a controller, e.g., controller 102 of FIG. 1. In at least some embodiments, application manager 220 is configured to mute or unmute audio output from speakers. In at least some embodiments, application manager 220 is configured to instruct amplifier 226 to associate channels with applications, modify audio output to switch between applications, etc. In at least some embodiments, application manager 220 is configured to manage the execution of applications and allocate resources.
[0023] In at least some embodiments, the first application 222 is configured to provide audio output. In at least some embodiments, the first application 222 is configured to output audio and provide resource requirements to the application manager 220. In at least some embodiments, the first application 222 includes software components that generate an audio signal, process the audio signal, and generate a user interface. In at least some embodiments, the first application 222 resides in storage, e.g., storage 104 of FIG. 1 , and is executed by a controller, e.g., controller 102 of FIG. 1 . In at least some embodiments, the first application 222 resides in and is executed by an ECU. In at least some embodiments, the first application 222 resides in and is executed by a smartphone that wirelessly communicates with a network. In at least some embodiments, the first application 222 is a radio application, a music streaming application, a navigation application, an emergency response application, or the like. In at least some embodiments, the first application 222 is a flutter or flutter-free application. In at least some embodiments, the first application 222 is configured to play radio broadcasts or other audio content.
[0024] In at least some embodiments, second application 224 is configured to provide audio output. In at least some embodiments, second application 224 is configured to output audio upon receiving an enable command from application manager 220. In at least some embodiments, second application 224 includes software components that generate audio signals, process the audio signals, and generate a user interface. In at least some embodiments, second application 224 resides in storage, e.g., storage 104 of FIG. 1 , and is executed by a controller, e.g., controller 102 of FIG. 1 . In at least some embodiments, second application 224 resides in and is executed by an ECU. In at least some embodiments, second application 224 resides in and is executed by a smartphone that wirelessly communicates with a network. In at least some embodiments, second application 224 is a radio application, a music streaming application, a navigation application, an emergency response application, or the like. In at least some embodiments, first application 222 is a flutter or flutter-free application. In at least some embodiments, the second application 224 is configured to play music or other audio content.
[0025] In at least some embodiments, the amplifier 226 is configured to amplify the audio signal. In at least some embodiments, the amplifier 226 is configured to modify the channel and associate the channel with an application upon receiving instructions from the application manager 220. In at least some embodiments, the amplifier 226 includes a hardware component that amplifies the audio signal. In at least some embodiments, the amplifier 226 is a standalone device or is incorporated into a head unit, such as the head unit 100 of FIG. 1 . In at least some embodiments, the amplifier 226 is configured to increase the amplitude of the audio signal before transmitting the audio signal to a speaker. In at least some embodiments, the amplifier 226 is configured to convert audio data received from the head unit into an audio signal before amplifying the audio signal. In at least some embodiments, the amplifier 226 receives instructions and audio transmissions through a digital interface. In at least some embodiments, the amplifier 226 is configured to drive speakers, such as the front speakers 117 and rear speakers 118 of FIG. 1 .
[0026] Prior to the information flow of FIG. 2, the application manager 220 has already associated the first channel of the amplifier with the first application 222 for output to the front speaker input and the rear speaker input.
[0027] At S230, the second application 224 sends an output request to the application manager 220. In at least some embodiments, the application manager 220 receives a request to output audio from the second application. In at least some embodiments, the application manager 220 processes the output request and determines the required action. In at least some embodiments, the output request is a signal or a data packet. In at least some embodiments, the output request includes information about the type of audio to be output, such as the audio bit rate, sampling rate, etc. In at least some embodiments, the second application 224 sends the output request in response to the second application receiving an instruction to start outputting audio. In at least some embodiments, the second application 224 sends the output request in response to a user action, such as pressing a play button.
[0028] At S232, the application manager 220 sends a resource requirement request to the first application 222. In at least some embodiments, the application manager 220 obtains information representing resource requirements for each application. In at least some embodiments, the first application 222 processes the resource requirement request and provides the necessary information. In at least some embodiments, the resource requirement request is a signal or a data packet. In at least some embodiments, the resource requirement request includes a request for information regarding resources needed by the first application 222. In at least some embodiments, the resource requirement request is made to determine whether the head unit has sufficient resources for simultaneous audio output. In at least some embodiments, the application manager 220 sends the resource requirement request in response to receiving an audio output request from the second application 224.
[0029] At S233, the application manager 220 sends a resource requirement request to the second application 224. In at least some embodiments, the second application 224 processes the resource requirement request and provides the necessary information. In at least some embodiments, the resource requirement request is a signal or a data packet. In at least some embodiments, the resource requirement request includes a request for information about resources needed by the second application 224. In at least some embodiments, the resource requirement request is made to determine whether the head unit has sufficient resources for simultaneous audio output. In at least some embodiments, the application manager 220 sends the resource requirement request in response to receiving an audio output request from the second application 224.
[0030] At S234, the first application 222 sends a resource requirement response to the application manager 220. In at least some embodiments, the application manager 220 receives the resource requirement response and uses it to determine whether the system has sufficient resources for simultaneous audio output. In at least some embodiments, the resource requirement response is a signal or a data packet. In at least some embodiments, the resource requirement response includes information about the resources needed by the first application 222. In at least some embodiments, the resource requirement response is sent to inform the application manager 220 about the resources needed by the first application 222. In at least some embodiments, the first application 222 sends the resource requirement response in response to receiving the resource requirement request from the application manager 220.
[0031] At S235, the second application 224 sends a resource requirement response to the application manager 220. In at least some embodiments, the application manager 220 receives the resource requirement response and uses it to determine whether the system has sufficient resources for simultaneous audio output. In at least some embodiments, the resource requirement response is a signal or a data packet. In at least some embodiments, the resource requirement response includes information about the resources needed by the second application 224. In at least some embodiments, the resource requirement response is sent to inform the application manager 220 about the resources needed by the second application. In at least some embodiments, the second application 224 sends the resource requirement response in response to receiving the resource requirement request from the application manager 220.
[0032] At S237, the application manager 220 sends the modification command to the amplifier 226. In at least some embodiments, the application manager 220 instructs the amplifier 226 to modify the first channel to remove one of the front speaker input or the rear speaker input. In at least some embodiments, the amplifier 226 processes the modification command and modifies the first channel accordingly. In at least some embodiments, the modification command is a signal or a data packet. In at least some embodiments, the modification command includes information on how to modify the first channel. In at least some embodiments, the application manager 220 sends the modification command in response to determining that the head unit has sufficient resources for simultaneous audio output.
[0033] At S238, the application manager 220 sends an association command to the amplifier 226. In at least some embodiments, the application manager 220 instructs the amplifier 226 to associate the second channel with the second application 224 for output to one of the front speaker inputs or the rear speaker inputs removed from the first channel. In at least some embodiments, the amplifier 226 processes the association command to associate the second channel with the second application 224. In at least some embodiments, the association command is a signal or a data packet. In at least some embodiments, the association command includes information on how to associate the second channel with the second application 224. In at least some embodiments, the association command is sent to enable the second application 224 to output audio through the second channel. In at least some embodiments, the application manager 220 sends the association command in response to determining that the head unit has sufficient resources for simultaneous audio output.
[0034] At S239, the application manager 220 sends an enable command to the second application 224. In at least some embodiments, the application manager 220 commands the second application 224 to enable audio transmission. In at least some embodiments, the second application 224 processes the enable command and begins transmitting audio. In at least some embodiments, the enable command is a signal or a data packet. In at least some embodiments, the enable command is sent to cause the second application 224 to begin audio output. In at least some embodiments, the application manager 220 sends the enable command in response to associating the second channel with the second application 224.
[0035] In at least some embodiments, at least some of the transmissions by the application manager 220 are performed by an arbitration manager.
[0036] 3 is an operational flow for simultaneous audio output resulting from priority arbitration, according to at least some embodiments of the subject disclosure. The operational flow provides a method for simultaneous audio output resulting from priority arbitration. In at least some embodiments, the method is performed by a controller of a head unit, such as controller 102 of head unit 100 of FIG. 1 or controller 602 of head unit 600 of FIG. 6.
[0037] At S340, a receiving section of the controller receives an audio output request. In at least some embodiments, the receiving section receives a request to output audio from a second application while front and rear speakers in communication with the amplifiers output audio from the first application. In at least some embodiments, the receiving section receives the audio output request in response to a user action. In at least some embodiments, the receiving section receives the audio output request from an arbitration manager. In at least some embodiments, the receiving section receives the audio output request from an ECU over a CAN. In at least some embodiments, the audio output request identifies the second application. In at least some embodiments, the operational flow is triggered when the receiving section receives an audio output request from the second application while one or more speakers output audio from the first application.
[0038] At S341, a mute section of the controller mutes the audio output. In at least some embodiments, the mute section mutes the audio output in response to receiving an audio output request. In at least some embodiments, the mute section mutes the audio output. In at least some embodiments, the mute section mutes the audio output to prevent interference with the audio output from the first application. In at least some embodiments, the mute section suppresses audio transmission from the first application. In at least some embodiments, the mute section suppresses audio transmission to an amplifier. In at least some embodiments, the mute section instructs the amplifier to set a speaker volume to zero. In at least some embodiments, muting the audio output includes at least one of suppressing audio transmission from the first application, suppressing audio transmission to an amplifier, or instructing the amplifier to set a speaker volume to zero.
[0039] At S343, a determination section of the controller obtains simultaneous audio output requirement information. In at least some embodiments, the determination section obtains information representing resource requirements for each application. In at least some embodiments, the determination section causes each of the first application and the second application to provide the resource requirement information. In at least some embodiments, the determination section obtains the simultaneous audio output requirement information and determines whether the requirements for simultaneous audio output are met.
[0040] At S344, the decision section determines whether the requirements are met. In at least some embodiments, the decision section determines whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output. In at least some embodiments, the decision section determines whether the requirements are met to ensure that the head unit and amplifier have sufficient computational resources to process audio signals for each application in a timely manner. If the decision section determines that the requirements are met, then the operational flow proceeds to simultaneous audio output implementation at S346. If the decision section determines that the requirements are not met, then the operational flow ends.
[0041] At S346, the implementation section of the controller implements simultaneous audio output. In at least some embodiments, the implementation section instructs the amplifier to modify the speaker input of the channel to associate the speaker input with another channel. In at least some embodiments, the implementation section enables audio transmission. In at least some embodiments, the implementation section implements simultaneous audio output to enable the first and second applications to output audio simultaneously. In at least some embodiments, the implementation section implements simultaneous audio output in response to the determining section determining that the requirements are met.
[0042] At S348, the implementation section determines whether the second application is transmitting audio. In at least some embodiments, the implementation section determines whether the second application is transmitting audio to verify that the audio enable command was successfully received by the second application. In at least some embodiments, the implementation section determines whether the second application is transmitting audio in response to instructing the second application to enable audio transmission. If the implementation section determines that the second application is transmitting audio, then the operational flow proceeds to unmute at S349. If the implementation section determines that the second application is not transmitting audio, then the operational flow returns to the simultaneous audio output implementation at S346.
[0043] At S349, the mute section unmutes the audio output. In at least some embodiments, the mute section unmutes the audio output in response to determining that the second application is sending audio data. In at least some embodiments, the mute section unmutes the audio output to allow audio from the second application to be heard. In at least some embodiments, the mute section unmutes the audio output. In at least some embodiments, the mute section unmutes the audio output to complete the process of implementing simultaneous audio output. In at least some embodiments, the mute section unmutes the audio output in response to the implementation section determining that the second application is sending audio data.
[0044] 4 is an operational flow for obtaining simultaneous audio output requirement information and determining whether the requirements are satisfied, according to at least some embodiments of the subject disclosure. The operational flow provides a method for obtaining simultaneous audio output requirement information, such as operating at S343 of FIG. 3, and determining whether the requirements are satisfied, such as operating at operation S344 of FIG. 3. In at least some embodiments, the method is performed by a determination section of a controller in a head unit, for example, controller 102 of head unit 100 of FIG. 1 or controller 602 of head unit 600 of FIG. 6.
[0045] At S450, the determination section obtains resource requirement information. In at least some embodiments, the determination section obtains information representing resource requirements for each of the first application and the second application. In at least some embodiments, the determination section obtains the resource requirement information to determine whether the head unit and the amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output. In at least some embodiments, the determination section obtains the resource requirement information in response to receiving a request to output audio from the second application. In at least some embodiments, the resource requirements include interface resource requirements and decoding resource requirements. In at least some embodiments, the decoding resource requirements include hardware decoder requirements. In at least some embodiments, the interface resource requirements include touchscreen requirements. In at least some embodiments, the interface resource requirements include front speaker requirements. In at least some embodiments, the resource requirements include one of privacy requirements or security requirements.
[0046] At S452, a decision section determines whether sufficient resources exist. In at least some embodiments, the decision section determines whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output. If the decision section determines that sufficient resources exist, then the operational flow proceeds to obtaining user preference information at S454. If the decision section determines that sufficient resources do not exist, then the operational flow ends.
[0047] At S454, the determination section obtains user preference information. In at least some embodiments, the determination section obtains the user preference information to determine whether the user preference information prohibits simultaneous audio output. In at least some embodiments, the determination section obtains the user preference information in response to determining that sufficient resources exist.
[0048] At S456, the decision section determines whether simultaneous output is permitted. In at least some embodiments, the decision section determines whether user preference information prohibits simultaneous audio output. In response to the decision section determining that simultaneous output is permitted, the operational flow proceeds to a simultaneous audio output implementation, for example, the operation at S346 of FIG. 3. In response to the decision section determining that simultaneous output is not permitted, the operational flow ends.
[0049] 5 is an operational flow for implementing simultaneous audio output according to at least some embodiments of the subject disclosure. The operational flow provides a method for implementing simultaneous audio output, such as the operation at S346 of FIG. 3. In at least some embodiments, the method is performed by an implementation section of a controller in a head unit, such as controller 102 of head unit 100 of FIG. 1 or controller 602 of head unit 600 of FIG. 6.
[0050] At S560, the implementation section instructs the amplifier to modify the first channel. In at least some embodiments, the implementation section instructs the amplifier to modify the first channel to remove one of the front speaker inputs or the rear speaker inputs. In at least some embodiments, the implementation section instructs the amplifier to modify the first channel to remove one of the front speaker inputs or the rear speaker inputs in response to determining that the head unit and the amplifier have sufficient resources for simultaneous audio output. In at least some embodiments, the implementation section causes the amplifier to modify the first channel accordingly. In at least some embodiments, the implementation section instructs the amplifier to modify the first channel in response to determining that the system has sufficient resources for simultaneous audio output.
[0051] At S563, the implementation section instructs the amplifier to associate a second channel. In at least some embodiments, the implementation section instructs the amplifier to associate the second channel with a second application for output to one of the front speaker inputs or the rear speaker inputs removed from the first channel. In at least some embodiments, the implementation section causes the amplifier to associate the second channel with the second application. In at least some embodiments, the implementation section causes the second channel to associate with the second application to enable the second application to output audio through the second channel. In at least some embodiments, the implementation section instructs the amplifier to associate the second channel in response to the amplifier modifying the first channel. In at least some embodiments, the second channel has at least one of an audio bit rate, a sampling rate, a buffer size, or an equalizer setting corresponding to the second application as a result of the instruction.
[0052] At S566, the implementation section instructs the second application to enable audio transmission. In at least some embodiments, the implementation section causes the second application to begin transmitting audio. In at least some embodiments, the implementation section enables audio output from the second application to output audio simultaneously with the first application. In at least some embodiments, the implementation section instructs the second application to enable audio transmission in response to the amplifier associating the second channel with the second application.
[0053] FIG. 6 is a block diagram of a hardware configuration for simultaneous audio output due to priority arbitration, according to at least some embodiments of the present invention.
[0054] A preferred hardware configuration includes a head unit 600 that communicates with input devices 608, either directly or through a network 607, and through network 607, with an ECU 619 and a smartphone 616. In at least some embodiments, network 607 is an Ethernet network, a CAN, or any other wired or wireless network, or a combination thereof. In at least some embodiments, head unit 600 is a computer or other computing device that receives input or commands from input devices 608. In at least some embodiments, head unit 600 is integrated into input devices 608. In at least some embodiments, head unit 600 is a computer system that executes computer-readable instructions to perform operations related to simultaneous audio outputs resulting from priority arbitration.
[0055] The head unit 600 includes a controller 602, a storage unit 604, an input / output interface 606, and a communication interface 609. In at least some embodiments, the controller 602 includes a processor or programmable circuit that executes instructions to cause the processor or programmable circuit to perform operations in accordance with the instructions. In at least some embodiments, the controller 602 includes analog or digital programmable circuitry, or any combination thereof. In at least some embodiments, the controller 602 includes physically separate storage or circuitry that communicates through communications. In at least some embodiments, the storage unit 604 includes a non-volatile computer-readable medium capable of storing executable and non-executable data accessed by the controller 602 during execution of instructions. The communication interface 609 sends and receives data from a network 607. The input / output interface 606 connects to various input and output units, such as input devices 608 via parallel ports, serial ports, keyboard ports, mouse ports, monitor ports, and the like, to accept commands and present information. In some embodiments, the storage unit 604 is external to the head unit 600 .
[0056] The controller 602 includes a receiving section 670, a muting section 672, a determining section 674, and an implementing section 676. The storage unit 604 includes determining parameters 680, channel associations 682, and modification parameters 684.
[0057] The receiving section 670 is circuitry or instructions of the controller 602 configured to receive an audio output request. In at least some embodiments, the receiving section 670 is configured to receive a request to output audio from a second application while the front and rear speakers in communication with the amplifiers output audio from a first application. In at least some embodiments, the receiving section 670 utilizes information in the storage unit 604, such as the channel associations 682. In at least some embodiments, the receiving section 670 includes subsections for performing additional functions as described in the flowcharts above. In at least some embodiments, such subsections are referenced by names associated with the corresponding functions.
[0058] Mute section 672 is circuitry or instructions in controller 602 configured to mute and unmute audio output. In at least some embodiments, mute section 672 is configured to mute audio output in response to receiving a request, and to unmute audio output in response to determining that a second application is transmitting audio data. In at least some embodiments, mute section 672 utilizes information in storage unit 604, such as channel associations 682 and modification parameters 684. In at least some embodiments, mute section 672 includes subsections for performing additional functions as described in the flowcharts above. In at least some embodiments, such subsections are referenced by names associated with the corresponding functions.
[0059] The determination section 674 is circuitry or instructions of the controller 602 configured to determine whether the simultaneous audio output requirements are met. In at least some embodiments, the determination section 674 is configured to determine whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output. In at least some embodiments, the mute section 672 utilizes information in the storage unit 604, such as the modification parameters 684. In at least some embodiments, the determination section 674 includes subsections for performing additional functions as described in the flowcharts above. In at least some embodiments, such subsections are referenced by names associated with the corresponding functions.
[0060] The implementation section 676 is circuitry or instructions of the controller 602 configured to implement simultaneous audio output. In at least some embodiments, the implementation section 676 is configured, in response to determining that the head unit and amplifier have sufficient resources for simultaneous audio output, to instruct the amplifier to modify a first channel to remove one of the front speaker inputs or the rear speaker inputs, to instruct the amplifier to associate a second channel with a second application for output to the one of the front speaker inputs or the rear speaker inputs removed from the first channel, and to instruct the second application to enable audio transmission. In at least some embodiments, the implementation section 676 utilizes information in the storage unit 604, such as the determination parameters 680. In at least some embodiments, the determination section 674 includes subsections for performing additional functions as described in the flowcharts above. In at least some embodiments, such subsections are referenced by names associated with the corresponding functions.
[0061] In at least some embodiments, the apparatus is a separate device capable of processing logical functions to perform the operations herein. In at least some embodiments, the controller and storage unit need not be entirely separate devices, and in some embodiments, share circuitry or one or more computer-readable media. In at least some embodiments, the storage unit includes a hard drive that stores both computer-executable instructions and data accessed by the controller, and the controller includes a central processing unit (CPU) and RAM combination, where the computer-executable instructions are copyable in whole or in part for execution by the CPU during performance of the operations herein.
[0062] In at least some embodiments where the device is a computer, programs installed on the computer can cause the computer to function as or perform operations associated with the device embodiments described herein, and in at least some embodiments, such programs are executable by a processor to cause the computer to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
[0063] At least some embodiments are described with reference to flowcharts and block diagrams, where the blocks represent (1) steps in a process in which an operation is performed or (2) sections of a controller responsible for performing an operation. In at least some embodiments, particular steps and sections are implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable medium, and / or a processor provided with computer-readable instructions (programs) stored on a computer-readable medium. In at least some embodiments, dedicated circuitry includes digital and / or analog hardware circuitry, including integrated circuits (ICs) and / or discrete circuits. In at least some embodiments, programmable circuitry includes reconfigurable hardware circuitry, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc., comprising logical AND, OR, XOR, NAND, NOR, and other logic operations, flip-flops, registers, memory elements, etc.
[0064] In at least some embodiments, a computer-readable storage medium comprises a tangible device capable of holding and storing instructions for use by an instruction execution device. In some embodiments, a computer-readable storage medium includes, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or a ridge-in-a-groove structure having instructions recorded thereon, and any suitable combination thereof. Computer-readable media as used herein should not be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0065] In at least some embodiments, the computer-readable program instructions described herein can be downloaded to each computing / processing device from a computer-readable storage medium or can be downloaded to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. In at least some embodiments, the network includes copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. In at least some embodiments, a network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.
[0066] In at least some embodiments, the computer-readable program instructions for performing the operations described above are either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, or the like, and traditional procedural programming languages such as the "C" programming language or similar programming languages. In at least some embodiments, the computer-readable program instructions execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In at least some embodiments, in the latter scenario, the remote computer is connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or is connected to an external computer (e.g., over the Internet using an Internet Service Provider). In at least some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) executes computer-readable program instructions by utilizing state information in the computer-readable program instructions to individualize the electronic circuitry to perform aspects of the present invention.
[0067] Although embodiments of the present invention have been described, the scope of any claimed subject matter is not limited to the above-described embodiments. Those skilled in the art will understand that various modifications and improvements to the above-described embodiments are possible. Those skilled in the art will also understand from the claims that additional embodiments incorporating such modifications or improvements are within the scope of the present invention.
[0068] Unless an order is indicated by "before," "before," or the like, and unless output from a previous process is used in a later process, the operations, procedures, steps, and stages of each process performed by the apparatus, system, program, and method described in the claims, embodiments, or figures may be performed in any order. Even when a claim, embodiment, or figure describes a process flow using phrases such as "first" or "then," such description does not necessarily imply that the process must be performed in the order described.
[0069] In at least some embodiments, simultaneous audio output resulting from priority arbitration is achieved by receiving a request to output audio from a second application while front and rear speakers in communication with the amplifier output audio from a first application; obtaining, for each of the first and second applications, information representing resource requirements; determining whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output; instructing the amplifier to modify a first channel to remove one of the front speaker inputs or the rear speaker inputs in response to determining that the head unit and amplifier have sufficient resources for simultaneous audio output; instructing the amplifier to associate a second channel with the second application for output to the one of the front speaker inputs or the rear speaker inputs removed from the first channel; and instructing the second application to enable audio transmission. In at least some embodiments, the resource requirements include interface resource requirements and decoding resource requirements. In at least some embodiments, the decoding resource requirements include hardware decoder requirements. In at least some embodiments, the interface resource requirement includes a touchscreen requirement. In at least some embodiments, the interface resource requirement includes a front speaker requirement. In at least some embodiments, the resource requirement includes one of a privacy requirement or a security requirement. In at least some embodiments, the simultaneous audio output resulting from the priority arbitration is further performed by obtaining user preference information and determining whether the user preference information prohibits simultaneous audio output. In at least some embodiments, the simultaneous audio output resulting from the priority arbitration is further performed by muting the audio output in response to receiving a request and unmuting the audio output in response to determining that the second application is transmitting audio data.In at least some embodiments, the second channel has at least one of an audio bit rate, a sampling rate, a buffer size, or an equalizer setting corresponding to the second application.
[0070] In at least some embodiments, the simultaneous audio output resulting from priority arbitration is performed by a device that includes a processor that executes instructions in accordance with the above operations, or a controller that includes circuitry configured to perform the above operations.
[0071] The foregoing outlines features of some embodiments so that those skilled in the art may more fully appreciate aspects of the present disclosure. Those skilled in the art should appreciate that this disclosure may readily be used as a basis for designing or modifying other processes and structures to carry out the same purposes and / or achieve the same advantages as the embodiments incorporated herein. Those skilled in the art should also appreciate that such equivalent structures do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations can be made therein without departing from the spirit and scope of the present disclosure.
Claims
1. 1. A computer program product for causing at least one processor to perform operations, said operations comprising: receiving a request to output audio from a second application while front and rear speakers in communication with the amplifier output audio from a first application; obtaining information indicative of resource requirements for each of the first application and the second application; determining whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output; In response to determining that the head unit and the amplifier have sufficient resources for simultaneous audio output, instructing the amplifier to modify a first channel to remove one of a front speaker input or a rear speaker input; instructing the amplifier to associate a second channel with the second application for output to the one of the front speaker input or the rear speaker input removed from the first channel; instructing the second application to enable audio transmission; a computer program comprising:
2. The computer program product of claim 1 , wherein the resource requirements include an interface resource requirement and a decoding resource requirement.
3. The computer program product of claim 2 , wherein the decoding resource requirements include hardware decoder requirements.
4. The computer program product of claim 2 or 3, wherein the interface resource requirements include touchscreen requirements.
5. The computer program product of claim 2 or 3, wherein the interface resource requirements include front speaker requirements.
6. The computer program product of claim 1 or 2, wherein the resource requirements include one of a privacy requirement or a security requirement.
7. The operation is Obtaining user preference information; determining whether the user preference information prohibits simultaneous audio output; 3. The computer program of claim 1, further comprising:
8. The operation is muting the audio output in response to receiving said request; unmuting the audio output in response to determining that the second application is transmitting audio data; and 3. The computer program of claim 1, further comprising:
9. 3. The computer program product of claim 1, wherein the second channel has at least one of an audio bit rate, a sampling rate, a buffer size, or an equalizer setting corresponding to the second application.
10. 1. A processor-implemented method comprising: receiving a request to output audio from a second application while front and rear speakers in communication with the amplifier output audio from a first application; obtaining information indicative of resource requirements for each of the first application and the second application; determining whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output; In response to determining that the head unit and the amplifier have sufficient resources for simultaneous audio output, instructing the amplifier to modify a first channel to remove one of a front speaker input or a rear speaker input; instructing the amplifier to associate a second channel with the second application for output to the one of the front speaker input or the rear speaker input removed from the first channel; instructing the second application to enable audio transmission; A method comprising:
11. The method of claim 10 , wherein the resource requirements include interface resource requirements and decoding resource requirements.
12. The method of claim 11 , wherein the decoding resource requirements include hardware decoder requirements.
13. The method of claim 11 or 12, wherein the interface resource requirements include touchscreen requirements.
14. The method of claim 11 or 12, wherein the interface resource requirements include front speaker requirements.
15. The method of claim 10 or 11, wherein the resource requirements include one of a privacy requirement or a security requirement.
16. Obtaining user preference information; determining whether the user preference information prohibits simultaneous audio output; 12. The method of claim 10 or 11, further comprising:
17. muting the audio output in response to receiving said request; unmuting the audio output in response to determining that the second application is transmitting audio data; and 12. The method of claim 10 or 11, further comprising:
18. 12. The method of claim 10 or 11, wherein the second channel has at least one of an audio bit rate, a sampling rate, a buffer size, or an equalizer setting corresponding to the second application.
19. 1. A device comprising a controller including circuitry configured to perform operations, the operations comprising: receiving a request to output audio from a second application while front and rear speakers in communication with the amplifier output audio from a first application; obtaining information indicative of resource requirements for each of the first application and the second application; determining whether the head unit and amplifier have sufficient resources to meet the resource requirements of each application for simultaneous audio output; In response to determining that the head unit and the amplifier have sufficient resources for simultaneous audio output, instructing the amplifier to modify a first channel to remove one of a front speaker input or a rear speaker input; instructing the amplifier to associate a second channel with the second application for output to the one of the front speaker input or the rear speaker input removed from the first channel; instructing the second application to enable audio transmission; Including, the device.
20. The device of claim 19 , wherein the resource requirements include an interface resource requirement and a decoding resource requirement.
Citation Information
Patent Citations
Composite tone output device
JP1997081366A
Voice synthesizer and computer program
JP2004021169A
Sound field controller
JP2009232011A
Content output control device, output control method, and output control program
WO2022202124A1