A computing device comprising a memory and one or more processors may be configured to implement various aspects of the techniques. The memory may store an instance of a vehicle operating system, where the instance of the vehicle operating system facilitates concurrent access by multiple user profiles. Tire one or more processors may execute the instance of the vehicle operating system, which is configured to authorize the multiple user profiles to interface with the instance of the vehicle operating system; and present multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles. The multiple user interfaces may interface with multiple users associated with the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system and control functionality associated with the vehicle head unit.
Legal claims defining the scope of protection, as filed with the USPTO.
executing, by a vehicle head unit, an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorizing, by the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; presenting, by the instance of the vehicle operating system, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and interfacing, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system to control functionality associated with the vehicle head unit. . A method comprising:
claim 1 wherein the instance of a vehicle operating system comprises a first instance of the vehicle operating system, wherein the method further comprises executing a second instance of the vehicle operating system, and wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles. . The method of,
claim 2 wherein the vehicle head unit includes a high processing capacity processor that executes the first instance of the vehicle operating system, wherein the vehicle head unit includes a low processing capacity processor that executes the second instance of the vehicle operating system, and wherein the high processing capacity processor provides more processing capacity than the low processing capacity processor. . The method of,
claim 1 . The method of, wherein the multiple displays are displaced about a cabin of a vehicle that includes the vehicle head unit.
claim 1 a first display integrated into an operator side of a front dashboard of a cabin of a vehicle that includes the vehicle head unit; a second display integrated into a center console of the front dashboard; a third display integrated into a passenger side of the front dashboard; and a fourth display integrated into a rear passenger compartment of the cabin. . The method of, wherein the multiple displays includes two or more of:
claim 1 . The method of, wherein the multiple displays include one or more computing devices associated with at least one of the multiple users that is a passenger of a vehicle that includes the vehicle head unit.
claim 1 . The method of, wherein interfacing with the multiple users associated with the one or more of the multiple user profiles includes interfacing with the multiple users to control audio playback within one or more zones of a cabin of a vehicle that includes the vehicle head unit.
claim 7 . The method of, wherein the one or more zones of the cabin include one or more of a front operator zone, a front passenger zone, an operator-side rear passenger zone, and a passenger-side rear passenger zone.
claim 7 . The method of, wherein interfacing with the multiple users to control the audio playback includes interfacing with the multiple users to control audio volume in a single one of the one or more zones of the cabin.
claim 7 . The method of, wherein interfacing with the multiple users to control the audio playback includes interfacing with the multiple users to control a focus of audio playback in at least one of the one or more zones of the cabin.
claim 7 . The method of, further comprising capturing, by one or more audio capture devices communicatively coupled to the vehicle head unit, audio data representative of a soundfield at each of the one or more zones.
claim 11 . The method of, further comprising determining, based on the audio data representative of the soundfield occurring at each of the one or more zones, that a first user of the multiple users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit.
claim 11 . The method of, further comprising adjusting, based on the audio data representative of the soundfield occurring at each of the one or more zones, audio playback at the one or more zones.
claim 13 determining, based on the audio data representative of the soundfield occurring at each of the one or more zones, a noise level; and adjusting, based on the noise level, the audio playback at the one or more zones. . The method of, wherein adjusting the audio playback includes:
claim 1 . The method of, wherein interfacing with the multiple users associated with the one or more of the multiple user profiles includes interfacing, via a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles, with a first user of the multiple users to interact with content presented by a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles.
claim 1 . The method of, wherein interfacing with the multiple users associated with the one or more of the multiple user profiles includes interfacing, via a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles, with a first user of the multiple users to share content presented by the first user interface with a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles.
a memory configured to store an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; one or more processors configured to execute the instance of the vehicle operating system, wherein the instance of the vehicle operating system is configured to: authorize the multiple user profiles to interface with the instance of the vehicle operating system; and present multiple user interfaces across multiple displays communicatively coupled to the computing device, each of the multiple user interfaces associated with one or more of the multiple user profiles, wherein the multiple user interfaces are configured to interface with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system to control functionality associated with the computing device. . A computing device comprising:
claim 17 wherein the instance of a vehicle operating system comprises a first instance of the vehicle operating system, wherein the one or more processors are further configured to execute a second instance of the vehicle operating system, and wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles. . The computing device of,
claim 18 wherein the one or more processors include a high processing capacity processor that executes the first instance of the vehicle operating system, wherein one or more processors include a low processing capacity processor that executes the second instance of the vehicle operating system, and wherein the high processing capacity processor provides more processing capacity than the low processing capacity processor. . The computing device of,
execute an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorize, via execution of the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; present, via execution of the instance of the vehicle operating system, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and interface, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system to control functionality associated with the vehicle head unit. . A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors of a vehicle head unit to:
Complete technical specification and implementation details from the patent document.
This application claims priority to U.S. Provisional Application Ser. No. 63/371,445, entitled “CONTEXT AWARE SAFETY FEATURES FOR VEHICLE OPERATING SYSTEMS,” filed Aug. 15, 2022, and U.S. Provisional Application Ser. No. 63/371,451, entitled “SINGLE-INSTANCE MULTI-USER SUPPORT FOR VEHICLE OPERATING SYSTEMS,” filed Aug. 15, 2022, each of which is incorporated by reference as if set out in their respective entireties herein.
A vehicle head unit (which may be referred to as an infotainment system) may be configured to execute a vehicle operating system to facilitate control of, to provide a few examples, entertainment (such as music, video, images, etc.), information, navigation, and voice calls, as well as vehicle systems, such as heating, ventilation, and air conditioning (HVAC) systems, lighting systems, and seat control systems (including heating and/or cooling, seat adjustment, etc.). Vehicle operating systems may enable a single user profile to access a given instance of the vehicle operating system, where the single user profile is typically the operator of the vehicle. While the instance of the vehicle operating system may support multiple user profiles, the instance of the vehicle operating system may only allow a single user profile of the multiple user profiles to access (or in other words “log into”) the instance of the vehicle operating system. The instance of the vehicle operating system may limit access to a single user profile to ensure that the operator of the vehicle does not become distracted by other user profile behavior while operating the vehicle.
In general, various aspects of the techniques set forth in this disclosure are directed to a single instance of a vehicle operating system that provides concurrent multi-user support. Rather than limit access to a single user profile for the single instance of the vehicle operating system, a single instance of the vehicle operating system described in this disclosure may allow multiple user profiles to access the single instance of the vehicle operating system. As vehicles have begun integrating increasingly more displays in a cabin of the vehicle, more users may safely interface with the vehicle operating system without distracting an operator of the vehicle (considering that in some examples, the operator either has limited view of these displays or has no direct view of these displays, which may be disposed behind the operator for rear seat passengers). As such, multiple users associated with multiple user profiles may access the vehicle operating systems and interact with the vehicle to control various functionality provided via the vehicle head unit, such as entertainment, information, navigation, and voice calls as well as various vehicle systems (which may be, to some extent, dependent on the multiple user locations within the vehicle).
The multiple users may also interface with the vehicle operating system to jointly coordinate activities among the multiple users, such as sharing content between the multiple users, reviewing content viewed by other users of the multiple users, control audio playback between the multiple users (such as change audio playback volume, coordinate on playlists, etc.), messaging between the multiple users, collaborating by the multiple users jointly on navigation directions, and the like. In some instances, the multiple users may use gestures, such as a swipe gesture, a pinch gesture, and a tap gesture, to indicate sharing of such content, which may allow for intuitive control of sharing between the multiple users.
As a result, various aspects of the techniques described in this disclosure may facilitate a better user experience when traveling in the vehicle while still preserving safety concerns with distracting the operator of the vehicle. As a result of permitting multiple user profiles to access the vehicle operating system, the vehicle operating system may tailor the user experience to each individual user profile allowing for preferences to be applied that are specific to each individual user profile. The vehicle operating system may also allow the multiple users to coordinate on activities (as noted above) that may improve the user experience while traveling in the vehicle. Given that the additional displays (which may be separate from a main display of the vehicle head unit) may be located in the cabin where the operator of the vehicle cannot directly see the content being presented, the vehicle operating system may permit increased permissions in terms of access to content while also potentially limiting any distractions to the operator.
In one example, this disclosure describes a method comprising: executing, by a vehicle head unit, an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorizing, by the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; presenting, by the instance of the vehicle operating system, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and interfacing, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit.
In another example, this disclosure describes a computing device comprising: a memory configured to store an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; one or more processors to execute the instance of the vehicle operating system, wherein the instance of the vehicle operating system is configured to: authorize the multiple user profiles to interface with the instance of the vehicle operating system; and present multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles, wherein the multiple user interfaces are configured to interface with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit.
In another example, this disclosure describes a non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to: execute an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorize, via execution of the first instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; present, via execution of the first instance of the vehicle operating system, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and interface, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit.
In another example, this disclosure describes a computing device comprising: means for executing an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; means for authorizing the multiple user profiles to interface with the instance of the vehicle operating system; means for presenting multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and means for interfacing, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit.
The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims.
1 FIG. 1 FIG. 100 102 100 is a block diagram illustrating an example computing system that is configured to provide a single-instance, multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure. As shown in the example of, a computing systemincludes a computing device. Although described with respect to a vehicle, the computing systemmay be utilized in different contexts, including standalone computing systems (including laptop computers, desktop computers, workstations and the like), gaming systems, cellular telephones (including so-called “smartphones”), media systems (including streaming media systems), audio/visual (A/V) receivers, televisions (including so-called “smart televisions”), smart speakers, smart watches, thermostats (including so-called “smart thermostats”), smart glasses, or any other computing system.
102 102 102 102 1 FIG. 1 FIG. In any event, computing deviceis an example of vehicle computing device, such as a vehicle head unit.illustrates only one particular example of computing device, and many other examples of computing devicemay be used in other instances and may include a subset of the components included in example computing deviceor may include additional components not shown in.
1 FIG. 102 112 140 142 144 146 148 149 149 112 140 142 146 148 112 140 142 146 148 149 112 140 142 146 148 102 As shown in the example of, computing deviceincludes presence-sensitive display, one or more processors, one or more communication units, one or more input components, one or more output components, and one or more storage devices, and communication channels. Communication channelsmay interconnect each of the components,,,, and/orfor inter-component communications (physically, communicatively, and/or operatively) and thereby allow components,,,, andto communicate with one another. In some examples, communication channelsmay include a system bus, a network connection, one or more inter-process communication data structures, or any other components for communicating data (also referred to as information). Although shown as including components,,,, and, main computing devicemay include other components or less components than those shown, where such components may be included in other control units such as a telematic control unit (TCU).
142 102 102 142 142 142 142 One or more communication unitsof computing devicemay communicate with external devices by transmitting and/or receiving data. For example, computing devicemay use one or more of communication unitsto transmit and/or receive radio signals on a radio network such as a cellular radio network. In some examples, communication unitsmay transmit and/or receive satellite signals on a satellite network such as a Global Positioning System (GPS) network. Examples of communication unitsinclude a network interface card (e.g. an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and/or receive information. Other examples of communication unitsmay include short wave radios (e.g., NFC, BLUETOOTH (including BLE)), GPS, 3G, 4G, 5G, and WIFI radios found in mobile devices as well as Universal Serial Bus (USB) controllers and the like.
144 102 144 102 144 144 112 One or more input componentsof computing devicemay receive input. Examples of input are tactile, audio, kinetic, and optical input, to name only a few examples. Input componentsof computing deviceinclude, in one example, a mouse, keyboard, touchpad, voice responsive system, video camera, buttons, scroll wheel, dial, control pad, a microphone (or, in other words, an audio capture device), or any other type of device for detecting input from a human or machine. Input componentsmay include cameras. In some examples, input componentmay be a presence-sensitive input component, which may include a presence-sensitive screen, touch-sensitive screen, etc. separate from presence-sensitive display.
146 102 146 102 112 One or more output componentsof computing devicemay generate output. Examples of output are tactile, audio, and video output. Output componentsof computing device, in some examples, include a presence-sensitive screen (possibly separate from presence-sensitive display), sound card, video graphics adapter card, speaker, cathode ray tube (CRT) monitor, liquid crystal display (LCD), organic light emitting diode (OLED), or any other type of device for generating tactile, audio and/or visual output to a human or machine.
112 102 144 146 112 104 104 104 104 104 104 104 104 104 104 1 FIG. In some examples, presence-sensitive displayof computing devicemay include functionality of input componentand/or output components. In the example of, presence-sensitive displaymay include a presence-sensitive input (PSI) component(“PSI component”), such as a presence-sensitive screen or touch-sensitive screen. In some examples, presence-sensitive input componentmay detect an object at and/or near the presence-sensitive input component. As one example range, presence-sensitive input componentmay detect an object, such as a finger or stylus that is within two inches or less of presence-sensitive input component. Presence-sensitive input componentmay determine a location (e.g., an (x, y) coordinate) of the presence-sensitive input component at which the object was detected. In another example range, presence-sensitive input componentmay detect an object two inches or less from presence-sensitive input componentand other ranges are also possible. Presence-sensitive input componentmay determine the location of presence-sensitive input componentselected by a user's finger using capacitive, inductive, and/or optical recognition techniques.
112 146 112 103 103 146 102 112 102 112 102 102 112 102 102 112 102 104 103 In some examples, presence-sensitive displaymay also provide output to a user using tactile, audio, or video stimuli as described with respect to output component. For instance, presence-sensitive displaymay include display componentthat displays a graphical user interface. Display componentmay be any type of output component that provides visual output, such as described with respect to output components. While illustrated as an integrated component of computing device, presence-sensitive displaymay, in some examples, be an external component that shares a data or information path with other components of computing devicefor transmitting and/or receiving input and output. For instance, presence-sensitive displaymay be a built-in component of computing devicelocated within and physically connected to the external packaging of computing device(e.g., an in-vehicle screen mounted in a dashboard of a vehicle). In another example, presence-sensitive displaymay be an external component of computing devicelocated outside and physically separated from the packaging of computing device(e.g., a monitor, a projector, etc. that shares a wired and/or wireless data path with a electronic control unit of the vehicle). In some examples, presence-sensitive display, when located outside of and physically separated from the packaging of computing device, may be implemented by two separate components: a presence-sensitive input componentfor receiving input and a display componentfor providing output.
148 102 102 102 160 160 102 148 160 160 160 160 148 148 148 102 1 FIG. One or more storage deviceswithin computing devicemay store information for processing during operation of computing device(e.g., computing devicemay store data accessed by operating system (OS)A and OSB during execution at computing device). As shown in the example of, one or more storage devicesmay store a first instance of an operating systemA (OSA) and a second instance of operating systemB (OSB). In some examples, storage componentis a temporary memory, meaning that a primary purpose of storage componentis not long-term storage. Storage devicesof computing devicemay be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
148 148 148 148 148 160 160 148 160 160 Storage devices, in some examples, also include one or more computer-readable storage media. Storage devicesin some examples include one or more non-transitory computer-readable storage mediums. Storage devicesmay be configured to store larger amounts of information than typically stored by volatile memory. Storage devicesmay further be configured for long-term storage of information as non-volatile memory space and retain information after power on/off cycles. Examples of non-volatile memories include magnetic hard discs, optical discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage devicesmay store program instructions and/or information (e.g., data) associated with OSA and/orB. Storage devicesmay include a memory configured to store data or other information (which is not shown for case of illustration purposes) associated with OSA and OSB.
140 102 140 160 160 140 102 160 160 140 102 140 102 148 140 160 160 140 102 148 One or more processorsmay implement functionality and/or execute instructions associated with computing device. Examples of processorsinclude application processors, display controllers, auxiliary processors, one or more sensor hubs, and any other hardware configure to function as a processor, a processing unit, or a processing device. OSA and/orB may be operable (or, in other words, executed) by processorsto perform various actions, operations, or functions of computing device. That is, OSA and/or OSB may form executable bytecode, which when executed, cause processorsto perform specific operations (and thereby causing computing deviceto become a specific-purpose computer by which to perform) in accordance with various aspects of the techniques described herein. For example, processorsof computing devicemay retrieve and execute instructions stored by storage devicesthat cause processorsto perform the operations described herein that are attributed to OSA and/orB. The instructions, when executed by processors, may cause computing deviceto store information within storage devices.
100 As described above, computing systemmay be integrated or otherwise included within a vehicle. The vehicle may include one or more of a bicycle, a tricycle, a unicycle, a motorcycle, an automobile, farm equipment (such as a tractor, combine, etc.), construction equipment (a dump truck, crane, etc.), military vehicle or equipment (a tank, armament, etc.), a truck, a semi-tractor (or, in other words, a semi-trailer), aviation equipment (such as a plane), nautical equipment (such as a boat, carrier, submarine, etc.), or any other type of vehicle.
102 102 102 160 160 160 160 160 Computing device(which may be, as noted above, referred to as vehicle head unitand also as an infotainment system) may be configured to execute a vehicle operating system, such as one or more of OSA andB (which as a result may also be referred to as vehicle OSA—VOSA—and VOSB), to facilitate control of, to provide a few examples, entertainment (such as music, video, images, etc.), information, navigation, and voice calls, as well as vehicle systems, such as heating, ventilation, and air conditioning (HVAC) systems, lighting systems, and seat control systems (including heating and/or cooling, scat adjustment, etc.). In some instances, vehicle operating systems may allow a single user profile to access a given instance of the vehicle operating system at once, where the single user profile is typically the operator of the vehicle.
This vehicle operating system may be referred to as a single-instance, single-user vehicle operating system. That is, a single instance of the vehicle operating system may only allow a single user profile to access the single instance of the vehicle operating system and require a user profile switch in which the single user profile is replaced with another single user profile. In this respect, only a single user profile can access a single instance of the vehicle operating system at any given time.
140 To enable multiple concurrent user profiles, processorsmay execute another instance of the vehicle operating system, which may require additional processors and/or higher processing capacity processors (which are typically more expensive). However, there may be difficulties in enabling efficient communication between both instances of the vehicle operating system such that users associated with the multiple user profiles are unable to share content between one another, thereby potentially limiting the user experience.
As such, while the instance of the vehicle operating system may support multiple user profiles, the instance of the vehicle operating system may only allow a single user profile of the multiple user profiles to access (or in other words “log into”) the instance of the vehicle operating system. The instance of the vehicle operating system may limit access to a single user profile to ensure that the operator of the vehicle does not become distracted by other user profile behavior while operating the vehicle.
100 160 160 160 160 160 160 150 150 150 150 160 150 150 160 102 102 In accordance with various aspects of the techniques described in this disclosure, computing systemmay implement a single instance of a vehicle operating system, such as VOSA and/orB (“VOS”), that provides concurrent multi-user support. Rather than limit access to a single user profile for the single instance of VOS, a single instance of the VOSdescribed in this disclosure may allow multiple user profiles to access the single instance of VOS. As vehicles have begun integrating increasingly more displays, such as supporting presence-sensitive displaysA-N (“supporting presence-sensitive displays,” which may also be referred to as “displays”) in a cabin of the vehicle, more users may safely interface with VOSwithout distracting an operator of the vehicle (considering that in some examples, the operator either has limited view of these displaysor has no direct view of these displays, which may be disposed behind the operator for rear seat passengers). As such, multiple users associated with multiple user profiles may access VOSand interact with computing deviceto control various functionality provided via computing device, such as entertainment, information, navigation, and voice calls as well as various vehicle systems (which may be, to some extent, dependent on the multiple user locations within the vehicle).
160 The multiple users may also interface with VOSto jointly coordinate activities among the multiple users, such as sharing content between the multiple users, reviewing content viewed by other users of the multiple users, control audio playback between the multiple users (such as change audio playback volume, coordinate on playlists, etc.), messaging between the multiple users, collaborating by the multiple users jointly on navigation directions, and the like. In some instances, the multiple users may use gestures, such as a swipe gesture, a pinch gesture, and a tap gesture, to indicate sharing of such content, which may allow for intuitive control of sharing between the multiple users.
102 150 112 102 112 150 102 150 102 160 160 160 112 140 148 1 FIG. In operation, computing devicemay, as shown in the example of, interface with displays, which may be similar to if not substantially similar to presence-sensitive display. However, rather than integrate into computing devicesimilar to presence-sensitive display, displaysmay be communicatively coupled (via wire or wirelessly) to computing deviceand integrated throughout the cabin of the vehicle or separate from the vehicle. That is, displaysmay also, in some instances, represent tablets, smartphones, laptops, portable gaming device, portable video devices, or any other device capable of interfacing with computing deviceto present a user interface associated with VOS(and/or applications executing in an application space presented by VOS, which may be separate from a privileged kernel space in which VOSexecutes to facilitate interactions between the applications and underlying hardware, such as units, and-).
140 160 160 160 160 161 161 161 160 163 163 163 160 161 163 160 161 163 161 163 161 163 1 FIG. In any event, processorsmay execute an instance of a vehicle operating system, such as VOSA or VOSB, wherein VOSA and/orB facilitates concurrent access by multiple user profiles that are shown in the example ofas user profiles (UP)A-N (“UP”) for VOSA and UPA-N (“UP”) for VOSB. UP/may each define a set of access rights (or in other words privileges), preferences (e.g., for user interfaces, VOSsettings, etc.), and other user-specific configuration data or information. UP/may each be associated with a different user, although UPand UPmay include user profiles for the same user. For example, UPA and UPA may be associated with the same user.
140 160 161 160 161 160 161 160 160 161 160 160 161 161 160 Processorsmay execute, as one example, VOSA and authorize multiple user profiles of UPto interface with VOSA. To authorize multiple user profiles of UP, each of the users may register with VOSA, entering a username (associated with a given one of UP) and a password to log into VOSA. Alternatively, any other way by which to log into VOSA may be enabled, such as scanning a quick response (QR) code with a camera of a smartphone, entering a personal identification number (PIN), performing a biometric process (e.g., a fingerprint scan, a retina scan, etc.), facial recognition or any other way by which to register a given user profile of Upswith VOSA. OSA may compare the entered information with authentication information stored to UPto authorize (or in other words authenticate) each of the multiple user profiles of UPto interface with VOSA.
160 161 161 161 While discussed with respect to authentication, VOSA may also allow guest user profiles (as one of UP) in which authorization is provided without requiring any authentication. In this respect, guest user profiles may provide a limited experience (compared to authenticated UP) in terms of maintaining preferences, applications, etc. across different sessions but still enable functionality described below with respect to sharing content between multiple UPand the like.
160 112 150 102 160 161 160 161 In any event, VOSA may present multiple user interfaces across multiple displays (such as displayand one or more of displays) communicatively coupled to computing device. VOSA may, for authenticated UP of UP, present the user interface specific for each of the authenticated UP that maintains preference in terms of application organization, user interface theme, various VOSA settings (e.g., regarding notifications, accessibility, display configuration in terms of brightness, resolution, orientation, and the like, and any other type of OS setting). In any event, each of the multiple user interfaces are associated with one or more of UP.
160 161 160 102 161 VOSA may next interface, via the multiple user interfaces, with multiple users associated with multiple UP of UPto enable the multiple users to interface with VOSA for purposes of controlling functionality associated with computing device. This functionality may include controlling navigation, changing content playback, changing user interface settings, controlling HVAC settings, sharing content between UP, and other functionality described below in more detail.
140 140 140 140 140 140 140 140 In some examples, processorsmay represent a high processing capacity processor (which may be referred to as “processorA”) and a low processing capacity processor (which may be referred to as “processorB”). In some instances, processormay represent a processor capable of variable processing capacity having two or more distinct operating voltages that enable, at high voltages, high processing capacity and, at low voltages, low processing capacity. In this sense a single processor may represent both processorA and processorB, switching between the different processing modes (e.g., high and low processing modes) to facilitate power conservation. ProcessorA may provide additional processor cores compared to processorB (or in the instance where a single processor switches between processing mode, enable additional cores in the high processing mode when compared to the low processing mode).
140 160 140 160 140 160 140 160 ProcessorA may execute VOSA, while processorB may execute VOSB. ProcessorA may execute VOSA for tasks that require higher processing, such as gaming, video conferencing, navigation, and other processor intensive tasks/applications. ProcessorB may execute VOSB for tasks that require lower processing, such as streaming audio, telephone calls, viewing images, text messaging, or other less processor intensive tasks/applications.
140 160 140 160 160 160 160 160 160 102 160 160 160 102 In some examples, processorA may execute VOSA concurrent to processorB executing VOSB. In instances of concurrent execution of VOSA andB, VOSA may present an interface by which VOSB may communicate with VOSA to facilitate various functionalities of computing device. This interface may represent an application programming interface that VOSB may invoke to facilitate inter-VOS communication between VOSA and VOSB to cooperatively facilitate support to functionality provided by computing device.
140 102 140 102 Utilizing different processing capacity processors may facilitate energy consumption. Further, it may be cost prohibitive to install high processing capacity processorcapable of all of the functionality supported by computing device, where a low processing capacity processormay allow the manufacturer to upgrade over time to add additional processors having high processing capacity (and/or possibly low processing capacity). Providing a framework for inter-VOS communication may allow for manufacturers to upgrade over time without having to configure a separate inter-VOS communication interface by which to facilitate access to the functionality of computing devicedescribed in more detail below.
1 FIG. 102 152 152 152 152 152 152 152 152 102 152 160 102 As further shown in the example of, computing devicemay also interface with supporting audio capture devicesA-N (“supporting audio capture devices” or “audio capture devices”). Audio capture devicesmay each represent a microphone or other transducer configured to capture audio data representative of a soundfield. Supporting audio capture devicesmay also be referred to as “microphones.” In some examples, audio capture devicesmay be integrated throughout one or more zones of the cabin of the vehicle that includes computing device. These zones may include an operator zone, one or more front passenger zones, and one or more rear passenger zones. As described below in more detail, these microphonesmay capture (or, in other words, record, detect or otherwise sense) audio data that VOSmay use to adjust audio playback as well as support additional functionality provided by computing device.
161 163 160 160 160 160 161 163 160 160 150 112 102 160 160 In this way, various aspects of the techniques may facilitate a better user experience when traveling in the vehicle while still preserving safety concerns with distracting the operator of the vehicle. As a result of permitting multiple UP/to access VOSA/B, VOSA/B may tailor the user experience to each individual UP of UP/allowing for preferences to be applied that are specific to each individual UP. VOSA/B system may also allow the multiple users to coordinate on activities (as noted above) that may improve the user experience while traveling in the vehicle. Given that additional displays(which may be separate from a main display, e.g., presence-sensitive display, of vehicle head unit) may be located in the cabin where the operator of the vehicle cannot directly see the content being presented, VOSA/B may permit increased permissions in terms of access to content while also potentially limiting any distractions to the operator.
2 FIG. 2 FIG. 200 202 102 is a diagram illustrating an example of a vehicle that includes a computing system configured to execute a vehicle operating system that operates in accordance with various aspects of the single-instance multi-user techniques described in this disclosure. As shown in the example of, an interior (which may be referred to as a “cabin”) of vehiclemay include a computing system in the form of vehicle head unit, which represents an example of computing device.
202 220 202 212 112 200 250 250 250 150 250 220 250 220 250 250 250 2 FIG. 1 FIG. 2 FIG. 2 FIG. Vehicle head unitis, in the example of, integrated into approximately a center portion (e.g., a center console) of a front dashboard. Vehicle head unitincludes a display, which may represent one example of presence-sensitive display. Vehiclemay also include displaysA,B, andC, which may represent examples of displaysdescribed above with respect to. DisplayA is integrated into a passenger side of the front dashboard. Although not shown in the example of, a display similar to displayA may be integrated into an operator side of front dashboard. DisplaysB andC are integrated into a rear passenger compartment of the cabin (i.e., in headrests of the front seats in the example of) on both the operator side (displayB) and a passenger side (display 250° C.).
160 250 161 250 161 161 160 As described above, VOSA may interface, via a first user interface (presented for example by displayA) associated with a first user profile (e.g., UPA), with a first user (a front passenger) to interact with content presented by a second user interface (e.g., presented for example by displayB) associated with a second user profile (e.g., UPB) of multiple UP. In some instances, VOSA may interfacing with the first user to one or more of view or initiate playback, at the first user interface, the content presented by the second user interface.
160 250 160 250 250 VOSA may also interface with the first user to control audio playback by the second user interface presented by displayB. VOSA may interface with the first user to, via the first user interface presented by displayA, change an audio volume associated with the audio playback by the second user interface presented by displayB.
160 250 160 160 200 202 VOSA may also interface with the first user to enable the first user and the second user (e.g., an operator-side rear passenger) to jointly interact with the content presented by the second user interface presented by displayB. In this example, VOSA may interface with the first user to enable the first user and the second user to jointly contribute to audio playback by the second user interface (such as by jointly collaborating on building an audio playlist). VOSA may also, as another example, interface with the first user to enable the first user and the second user to jointly contribute to a multi-user activity presented by the second user interface, where such multi-user activity may include a navigation activity in which both the first user and the second user contribute to navigation of vehiclethat includes vehicle head unitand/or a multi-player video game presented by the second user interface.
212 250 212 250 160 212 250 While shown as multiple physical displays/, various aspects of the techniques may operate with respect to a single physical display (or multiple physical displays) having separate logically separated displays (or so-called virtual displays). That is, a single physical display/may be logically split (e.g., via software) to represent two distinct physical displays (from the perspective of the instance of VOS). In this respect, a single physical display may represent multiple different displays and displays/may each represent a logically separate virtual display.
A parent would like to see what their children are watching; Parent or driver would like to control the volume from the children's displays; Two or more passengers may want to contribute to some shared playlist; and Two or more passengers may want to interact on the same content (like a multi-game player).The following use cases may be enabled given that the techniques allow for the following: Mirror displays contents when running on Android Auto; Allow drivers and passengers mirror their display contents; and Let driver or passenger send inputs, like (key, rotary, dpad, touch, etc events) to other's passenger displays. In this respect, various aspects of the techniques described herein may enable a number of different use cases, including the following:
In other words, various aspects of the techniques described herein may address problems associated with enabling mobile apps to interact with each other (same or different app) across concurrent multiple users on single Android instance. As such, the techniques may enable interaction from rear seat to operator for adding a stop in navigation and/or interaction from an operator to rear seat (such as a child) for playing video.
160 161 161 160 250 250 250 VOSA may also interface, via the first user interface associated with UPA, with a first user (front passenger) of the multiple users to share content presented by the first user interface with a second user interface of the multiple user interfaces associated with UPB. For example, VOSA may receive, at the first user interface presented as an example by displayA, a gesture that indicates the content presented by the first user interface is to be shared with the second user interface presented for example by displayB. The gesture may include one or more of a swipe gesture, a pinch gesture, a tap gesture, or any other gesture associated with using presence-sensitive displays, such as displayA.
160 160 160 VOSA may be configured to, in some instances, present, at the first user interface, an animation indicating initiation of the content being shared. In addition or alternatively, VOSA may play audio indicating initiation of the content being shared. In some examples, VOSA may, when playing audio indicating initiation of the content being shared, play spatialized audio to reflect a position of the first user interface relative to a position of the second user interface.
Sending content from one display to another using gesture (swipe, click, etc.); Visualizing the interaction using animation; and Using spatial audio to show where the content is moving to make it more immersive. In this respect, various aspects of the techniques may make cross-display interaction, such as sharing screens, more immersive using advanced user interface technologies. Based on the locational relationship between passenger zones in the vehicle, the techniques may enable the following:
3 FIG. 212 250 Personal curated experiences while commuting to work; Communal experiences to enjoy a family fun trip; and Shared experiences, while in an ride-sharing environment is a diagram illustrating different interaction models with multiple displays including interactions that occur via single instance multi-user models and multi-instance multi-user models in accordance with the vehicle operating system techniques described in this disclosure. As discussed in this disclosure, vehicle displays, such as displaysand, are evolving from operator centric to whole car experiences, where passengers can have the following:
Original equipment manufacturers (OEMs) may recognize these needs and are building cars to provide users with these experiences. These are no more seen as premium experiences but a value for a desirable vehicle.
Navigation—add stops to driver from their display for ongoing journey; Entertainment—Play and control video for kids in backseat or play games to keep them engaged & entertained; Users—Access their own curated apps, content and data for entertainment and/or productivity; and Personalization—Control my seat settings, HVAC control, alerts for my seat. In this respect, users may look for concurrent experiences across displays for a seamless and immersive experience, such as;
3 FIG. a. FSE and RSE have minimal controls—audio, play/pause, on/off etc. 1. In-vehicle infotainment (IVI) Display is the primary controller for content on front seat entertainment (FSE) and rear seat entertainment (RSE); 2. IVI Screen is mirrored across FSE/RSE, with passenger displays cannot select content or controls; and 3. Content can be shared across all the screens, with each screen having its own individual controls. OEMs are thinking about following user interaction models, based on anticipation of user behaviors. There are 3 types of interactions models (shown in the example of):
Interacting with cluster & IVI screens for driving and interacting with other screens in car Driver: Assisting to driver for navigation and passengers content using FSE Front seat passenger: Interacting with RSE for content, controls and suggestions to driver for navigation Rear seat passengers: Temporary riding in the car and wants to access some apps on passenger displays Guest: There are the following user personas for multi-display scenarios:
4 FIG. 4 FIG. 2 FIG. 400 200 202 404 404 404 400 404 404 404 404 404 404 is a diagram illustrating an example vehicle that includes a vehicle head unit configured to control audio content in accordance with various aspects of the single-instance multi-user vehicle operating system techniques described in this disclosure. In the example of, a vehiclemay represent an example of vehicle(shown in) in which a vehicle head unitmay enable privacy and sharing between different audio zonesA-D (“audio zones”) within vehicle. Audio zoneA may represent a front seat operator-side zone (also denoted a “front operator zoneA”). Audio zoneB may represent a front seat passenger-side zone (also denoted a “front passenger zoneB”). Audio zoneC may represent an operator-side rear passenger zone, while audio zoneD may represent a passenger-side rear passenger zone.
404 200 452 452 452 454 454 454 452 152 452 454 452 454 In each of audio zones, vehiclemay include a respective one of audio capture devicesA-D (“audio capture devices”) and a respective one of speakersA-D (“speakers”). Audio capture devicesmay represent examples of audio capture devices. Both audio capture devicesand speakersmay represent transducers capable of converting, in the instance of audio capture devices, sound pressure into electrical signals representative of a soundfield and, in the instance of speakers, electrical signals representative of a soundfield into the corresponding soundfield.
452 454 404 404 452 454 452 404 404 400 404 4 FIG. Although described as having a single one of audio capture devicesand a single one of speakersin each of audio zones, each of audio zonesmay include more or less audio capture devicesand more or less speakers. Further, while described as being transducers, any type of device capable of capturing audio data (transformed from the electrical signals captured by the audio capture devices) and reproducing a soundfield from electrical signals (transformed from audio data) may be utilized in one or more of audio zones. In addition, while four audio zonesare shown in the example of, vehiclemay include more or less audio zones.
160 404 400 202 160 404 160 404 In any event, VOSA may interface with the multiple users to control audio playback within one or more of zonesof a cabin of vehiclethat includes vehicle head unit. VOSA may, for example, interface with the multiple users to control audio volume in a single one of zonesof the cabin. As another example, VOSA may interface with the multiple users to control a focus of audio playback in at least one of zonesof the cabin.
160 Manage controls independently for each user in their respective audio zones; Manage focus for other users in separate zone; While taking into consideration current safety restrictions; and While taking into consideration current user roles (Driver, passenger, disable passenger, rear seat passenger). As such, various aspects of the techniques may provide a central service for audio controls concurrently for all users (e.g., driver and/or passengers) to control audio settings (volume up/down, mute, unmute, or any other control). To facilitate this control, VOSA may provide a service to manage audio controls (e.g., volume, mute, settings, ducking, interruptions, etc.) so as to provide the following:
452 404 404 160 404 404 202 160 404 404 In addition, one or more of audio capture devicesmay capture audio data representative of a soundfield at each of one or more zones(which is another way to refer to audio zones). VOSA may determine, based on the audio data representative of the soundfield occurring at each of zones, that a first user of the multiple users in a first zone (e.g., zoneC) of the one or more zones is speaking in an attempt to audibly interface with vehicle head unit. VOSA may adjust, based on the audio data representative of the soundfield occurring at each of zones, audio playback at zones.
160 404 160 404 In terms of adjusting audio playback, VOSA may determine, based on the audio data representative of the soundfield occurring at each of zones, a noise level. VOSA may next adjust, based on the noise level, the audio playback at one or more of zones.
160 160 452 Use mic to know which user is speaking, talking to adjust the volume controls by recognizing user; Map to display being used; Provide better assistant response for the (speaking) user; Detect noise level for each user (around their respective areas) and perform required audio changes for audio playback for comfortable audio listening; Also combine audio information for each user to determine noise levels in the car and apply changes to speaker for a better listening environment; In this respect, various aspects of the techniques may address how to enable multi-mic support for VOSA. VOSA may, using audio data captured by audio capture devices, determine and/or perform the following:
5 6 FIGS.and 404 Share media audio from passenger to the main cabin; 404 Provide a mechanism for passengers not in main cabin to request for audio playback to main zone (e.g., operator zoneA); Provide a mechanism for driver to allow audio playback in the main zone; Provide mechanism to share audio focus between two different zones; and Disable volume control from non cabin owner from controlling volume; are diagrams illustrating audio control in a single-instance, multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure. In some instances, vehicle operating systems have limited scope in that such vehicle operating systems can only send audio from one zone to another for that particular application unique identifier (UID). Various aspects of the techniques described in this disclosure enable zonesto share audio to the cabin with the following objectives:
404 404 For example, a passenger listening to media in the rear seat entertainment (RSE) zone (e.g., one of zonesC orD) may send audio to the main cabin to allow for everyone in the car to listen to audio. While the passenger in the back seat RSE would select to send audio to the main cabin, the operator (or main cabin user) would still maintain control of allowing the audio play, as well as retaining control of the volume and other audio settings.
5 FIG. 404 404 404 160 404 shows a high level overview of the current audio architecture. Audio zonesare defined in configuration are used to set up the audio routing for each audio zone. Each of audio zonesis defined as a collection of volume groups; each group contains a set of devices that are controlled on volume changes on the volume group. Each device can have different audio context's routed into the device. The vehicle audio service may use the routing information on each audio zone to define a set of audio mixes, which VOSA may use to configure the audio routing for each of zones.
6 FIG. Referring next to, a configuration set-up is shown between the vehicle audio service and vehicle occupant zone service. For audio, the vehicle audio service may read the audio zone (audioZoneId) to occupant zone Id (occupantZoneId) mapping from the configuration. This information may be sent to the car occupant zone service to set up the occupant zone configuration during initialization. Occupant zone service may maintain information about the occupant zone configuration and display port mapping, which may be read from the different configuration information.
160 Display activation; Audio Config changes; Occupant Zone user assignments; Passenger Start; and Passenger Stop. The car audio service may register a VehicleOccupantZoneCallback on the occupant zone service. VOSA may trigger this service when there are any of the following changes in the vehicle occupant zone:
160 Unloads previous user settings; Removes previous user audio policy routing; Loads audio settings for the new user; Set up audio policy routing for the new user; and Resets the audio focus mapping for the new user, When the audio service receives the onOccupantZoneConfigChanged signal from the callback, the audio service of VOSA may automatically assign the users to their corresponding audio zone as follows:
160 The audio service of VOSA may use the audio focus mapping to determine where the incoming focus request should be assigned.
Handle focus request in main cabin; and 400 Route passengers audio to the main CabinOnce the focus request has successfully changed from the passenger's own audio zone in vehicle, the audio routing can take place. For audio playback not yet started, the focus handling will automatically request focus in the main cabin zone with the rules already set with regards to audio usage priority (e.g., audio for media will be rejected by current phone call). To allow for the passenger to send audio to the main cabin there a couple of things that need to be in place:
The passenger should be able to request to send audio to the main cabin, a prompt would pop up for the driver to accept. Alternatively, the driver can enable an automatic allow for passengers to play audio. If accepted the audio focus request can be transferred to the main cabin, if needed, and the playback can commence. If not accepted the passenger can be prompted with a message.
Send transient focus loss to passengers media apps; Request Focus for passengers media app in main cabin; Send focus gain if focus request is granted; and Focus will be granted once higher priority focus is done; and Set focus request as delayed focus; Alternative: Send focus back to the users zone If not granted due to higher priority sound (emergency, phone call): Because one goal of the functionality is to play media from passengers in the main cabin, the focus request for the passenger can be restricted to media only. Focus requests for other sounds (e.g. alarm, call, notification, etc.) should remain in the passenger's respective zone. For the media focus request the logic could be as follow:
Find the main's cabin media device (preferably a separate high quality device); and Reset the passenger device affinitie's to share the cabin's media device. For passengers, where the user Id is used, a possible driver for audio routing may be the user id device affinity routing. This can still be utilized for sending the passengers audio to the main cabin as follows:
404 400 In addition, multi-zone audio (MZA) may facilitate playback of audio by various users, all playing audio on each individual audio zone. This may allow for users in the main cabin to play media or any other sounds, while users in a rear entertainment system also play media in their respective zones. This enables OEMs to potentially design complex audio infotainment systems where each passenger can tailor their own experience in vehicle.
In the car, the driver can play music while users in the backseat can have their own music/media played; Users in the backseat can control their music volume without affecting the music playback of the driver; First party music apps launched in the backseat can play sound in the backseat without any change. Example use cases include the following:
Rear seat entertainment (RSE) application from user A sending audio directly to the output device for the driver user in the main cabin. RSE application from user A sending audio directly to the output device for a different RSE assigned to user B.This may raise some concerns for the driver safety as the main driver could be distracted upon arrival of an unwanted audio in the main cabin. One mechanism used for MZA is based on the dynamic audio policy, in particular uses the UID/userId based routing. This may allow for the audio policy to define routing based on audio attribute usages, UID, or userId. This may allow for applications or services to leverage the automatic routing of audio as configured by the dynamic audio policy. However, there exist APIs that can be used to route audio outside of the assigned audio devices. This has some impact in the car as applications are able to send audio to a particular zone without the users permission for example:
One possible goal of this aspect of the techniques is to allow the current dynamic audio policy to continue working but also limit the playback of audio for users (and their respective application/services) to play audio outside of a set of assigned zones, irrespective of the mechanism used to select devices for audio playback. A potential benefit for the users in the car is that such users will be able to consistently listen to audio in the car in a private and consistent manner.
The dynamic audio policy may provide a mechanism to set devices that can be used by a user for automatic routing via an audio policy API. This audio policy API may either be used or extended to limit application using the audio routing relative to a set of preferred devices to route audio outside of the limits of the audio policy user assignment. This should potentially limit the “forced” routing for devices defined within the audio policy.
7 FIG. 1 FIG. 1 FIG. 140 102 160 160 160 160 161 161 161 160 163 163 163 160 700 is a flowchart illustrating example operation of the computing system shown inin executing a vehicle operating system configured to perform various aspects of the techniques described in this disclosure. As described above, one or more processorsof computing devicemay execute an instance of a vehicle operating system, such as VOSA or VOSB, wherein VOSA and/orB facilitates concurrent access by multiple user profiles that are shown in the example ofas user profiles (UP)A-N (“UP”) for VOSA and UPA-N (“UP”) for VOSB ().
140 160 161 160 702 160 112 150 102 704 160 161 160 102 706 161 Processorsmay execute, as one example, VOSA and authorize multiple user profiles of UPto interface with VOSA (). VOSA may present multiple user interfaces across multiple displays (such as displayand one or more of displays) communicatively coupled to computing device(). VOSA may next interface, via the multiple user interfaces, with multiple users associated with multiple UP of UPto enable the multiple users to interface with VOSA for purposes of controlling functionality associated with computing device(). This functionality may include controlling navigation, changing content playback, changing user interface settings, controlling HVAC settings, sharing content between UP, and other functionality described above.
Example 1. A method comprising: executing, by a vehicle head unit, an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorizing, by the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; presenting, by the instance of the vehicle operating system, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and interfacing, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit. Example 2. The method of example 1, wherein the instance of a vehicle operating system comprises a first instance of the vehicle operating system, wherein the method further comprises executing a second instance of the vehicle operating system, and wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles. Example 3. The method of example 2, wherein the vehicle head unit includes a high processing capacity processor that executes the first instance of the vehicle operating system, wherein the vehicle head unit includes a low processing capacity processor that executes the second instance of the vehicle operating system, and wherein the high processing capacity processor provides more processing capacity than the low processing capacity processor. Example 4. The method of any combination of examples 1-3, wherein the multiple displays are displaced about a cabin of a vehicle that includes the vehicle head unit. Example 5. The method of any combination of examples 1-4, wherein the multiple displays includes two or more of: a first display integrated into an operator side of a front dashboard of a cabin of a vehicle that includes the vehicle head unit; a second display integrated into a center console of the front dashboard; a third display integrated into a passenger side of the front dashboard; and a fourth display integrated into a rear passenger compartment of the cabin. Example 6. The method of any combination of examples 1-5, wherein the multiple displays include one or more computing devices associated with at least one of the multiple users that is a passenger of a vehicle that includes the vehicle head unit. Example 7. The method of any combination of examples 1-6, wherein interfacing with the multiple users associated with the one or more of the multiple user profiles includes interfacing with the multiple users to control audio playback within one or more zones of a cabin of a vehicle that includes the vehicle head unit. Example 8. The method of example 7, wherein the one or more zones of the cabin include one or more of a front operator zone, a front passenger zone, an operator-side rear passenger zone, and a passenger-side rear passenger zone. Example 9. The method of any combination of examples 7 and 8, wherein interfacing with the multiple users to control the audio playback includes interfacing with the multiple users to control audio volume in a single one of the one or more zones of the cabin. Example 10. The method of any combination of examples 7-9, wherein interfacing with the multiple users to control the audio playback includes interfacing with the multiple users to control a focus of audio playback in at least one of the one or more zones of the cabin. Example 11. The method of any combination of examples 7-10, further comprising capturing, by one or more audio capture devices communicatively coupled to the vehicle head unit, audio data representative of a soundfield at each of the one or more zones. Example 12. The method of example 11, further comprising determining, based on the audio data representative of the soundfield occurring at each of the one or more zones, that a first user of the multiple users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit. Example 13. The method of any combination of examples 11 and 12, further comprising adjusting, based on the audio data representative of the soundfield occurring at each of the one or more zones, audio playback at the one or more zones. Example 14. The method of example 13, wherein adjusting the audio playback includes: determining, based on the audio data representative of the soundfield occurring at each of the one or more zones, a noise level; and adjusting, based on the noise level, the audio playback at the one or more zones. Example 15. The method of any combination of examples 1-14, wherein interfacing with the multiple users associated with the one or more of the multiple user profiles includes interfacing, via a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles, with a first user of the multiple users to interact with content presented by a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles. Example 16. The method of example 15, wherein interfacing with the first user comprises interfacing with the first user to one or more of view or initiate playback, at the first user interface, the content presented by the second user interface. Example 17. The method of any combination of examples 15 and 16, wherein interfacing with the first user of the multiple users comprises interfacing with the first user to control audio playback by the second user interface. Example 18. The method of example 17, wherein interfacing with the first user to control the audio playback comprises interfacing with the first user to, via the first user interface, change an audio volume associated with the audio playback by the second user interface. Example 19. The method of any combination of examples 15-18, wherein interfacing with the first user comprises interfacing with the first user to enable the first user and the second user to jointly interact with the content presented by the second user interface. Example 20. The method of example 19, wherein interfacing with the first user to enable the first user and the second user to jointly interact with the content comprises interfacing with the first user to enable the first user and the second user to jointly contribute to audio playback by the second user interface. Example 21. The method of any combination of examples 19 and 20, wherein interfacing with the first user to enable the first user and the second user to jointly interact with the content comprises interfacing with the first user to enable the first user and the second user to jointly contribute to a multi-user activity presented by the second user interface. Example 22. The method of example 21, wherein the multi-user activity comprises a navigation activity in which both the first user and the second user contribute to navigation of a vehicle that includes the vehicle head unit. Example 23. The method of any combination of examples 21 and 22, wherein the multi-user activity comprises a multi-player video game presented by the second user interface. Example 24. The method of any combination of examples 1-23, wherein interfacing with the multiple users associated with the one or more of the multiple user profiles includes interfacing, via a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles, with a first user of the multiple users to share content presented by the first user interface with a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles. Example 25. The method of example 24, wherein interfacing with the first user comprises receiving, at the first user interface, a gesture that indicates the content presented by the first user interface is to be shared with the second user interface. Example 26. The method of example 25, wherein the gesture includes one or more of a swipe gesture, a pinch gesture, and a tap gesture. Example 27. The method of any combination of examples 24-26, further comprising presenting, by the first user interface, an animation indicating initiation of the content being shared. Example 28. The method of any combination of examples 24-27, further comprising playing audio indicating initiation of the content being shared. Example 29. The method of example 28, wherein playing the audio comprises playing spatialized audio to reflect a position of the first user interface relative to a position of the second user interface. Example 30. A computing device comprising: a memory configured to store an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; one or more processors to execute the instance of the vehicle operating system, wherein the instance of the vehicle operating system is configured to: authorize the multiple user profiles to interface with the instance of the vehicle operating system; and present multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles, wherein the multiple user interfaces are configured to interface with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit. Example 31. The computing device of example 30, wherein the instance of a vehicle operating system comprises a first instance of the vehicle operating system, wherein the one or more processors are further configured to execute a second instance of the vehicle operating system, and wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles. Example 32. The computing device of example 31, wherein the one or more processors include a high processing capacity processor that executes the first instance of the vehicle operating system, wherein one or more processors include a low processing capacity processor that executes the second instance of the vehicle operating system, and wherein the high processing capacity processor provides more processing capacity than the low processing capacity processor. Example 33. The computing device of any combination of examples 30-32, wherein the multiple displays are displaced about a cabin of a vehicle that includes the vehicle head unit. Example 34. The computing device of any combination of examples 30-33, wherein the multiple displays includes two or more of: a first display integrated into an operator side of a front dashboard of a cabin of a vehicle that includes the vehicle head unit; a second display integrated into a center console of the front dashboard; a third display integrated into a passenger side of the front dashboard; and a fourth display integrated into a rear passenger compartment of the cabin. Example 35. The computing device of any combination of examples 30-34, wherein the multiple displays include one or more computing devices associated with at least one of the multiple users that is a passenger of a vehicle that includes the vehicle head unit. Example 36. The computing device of any combination of examples 30-35, wherein the multiple user interfaces are configured to interface with the multiple users to control audio playback within one or more zones of a cabin of a vehicle that includes the vehicle head unit. Example 37. The computing device of example 36, wherein the one or more zones of the cabin include one or more of a front operator zone, a front passenger zone, an operator-side rear passenger zone, and a passenger-side rear passenger zone. Example 38. The computing device of any combination of examples 36 and 37, wherein the multiple user interfaces are configured to interface with the multiple users to control audio volume in a single one of the one or more zones of the cabin. Example 39. The computing device of any combination of examples 36-38, wherein the multiple user interfaces are configured to interface with the multiple users to control a focus of audio playback in at least one of the one or more zones of the cabin. Example 40. The computing device of any combination of examples 36-39, further comprising one or more audio capture devices configured to capture audio data representative of a soundfield at each of the one or more zones. Example 41. The computing device of example 40, wherein the instance of the vehicle operating system is further configured to determine, based on the audio data representative of the soundfield occurring at each of the one or more zones, that a first user of the multiple users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit. Example 42. The computing device of any combination of examples 40 and 41, wherein the instance of the vehicle operating system is further configured to adjust, based on the audio data representative of the soundfield occurring at each of the one or more zones, audio playback at the one or more zones. Example 43. The computing device of example 42, wherein the instance of the vehicle operating system is further configured to: determine, based on the audio data representative of the soundfield occurring at each of the one or more zones, a noise level; and adjust, based on the noise level, the audio playback at the one or more zones. Example 44. The computing device of any combination of examples 30-43, wherein a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles is configured to interface with a first user of the multiple users to interact with content presented by a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles. Example 45. The computing device of example 44, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to one or more of view or initiate playback, at the first user interface, the content presented by the second user interface. Example 46. The computing device of any combination of examples 44 and 45, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to control audio playback by the second user interface. Example 47. The computing device of example 46, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to, via the first user interface, change an audio volume associated with the audio playback by the second user interface. Example 48. The computing device of any combination of examples 44 and 45, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to enable the first user and the second user to jointly interact with the content presented by the second user interface. Example 49. The computing device of example 48, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to enable the first user and the second user to jointly contribute to audio playback by the second user interface. Example 50. The computing device of any combination of examples 48 and 49, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to enable the first user and the second user to jointly contribute to a multi-user activity presented by the second user interface. Example 51. The computing device of example 50, wherein the multi-user activity comprises a navigation activity in which both the first user and the second user contribute to navigation of a vehicle that includes the vehicle head unit. Example 52. The computing device of any combination of examples 50 and 51, wherein the multi-user activity comprises a multi-player video game presented by the second user interface. Example 53. The computing device of any combination of examples 30-52, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with a first user of the multiple users to share content presented by the first user interface with a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles. Example 54. The computing device of example 53, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to receive a gesture that indicates the content presented by the first user interface is to be shared with the second user interface. Example 55. The computing device of example 54, wherein the gesture includes one or more of a swipe gesture, a pinch gesture, and a tap gesture. Example 56. The computing device of any combination of examples 53-55, wherein the first user interface is further configured to present an animation indicating initiation of the content being shared. Example 57. The computing device of any combination of examples 53-56, wherein the first user interface is further configured to play audio indicating initiation of the content being shared. Example 58. The computing device of example 57, wherein the first user interface is configured to play spatialized audio to reflect a position of the first user interface relative to a position of the second user interface. Example 59. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to: execute an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorize, via execution of the first instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; present, via execution of the first instance of the vehicle operating system, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces associated with one or more of the multiple user profiles; and interface, via the multiple user interfaces, with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for purposes of controlling functionality associated with the vehicle head unit. In this way, the above described techniques may enable the following examples:
In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.
By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium, For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, ultra Blu-ray, etc. where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described. In addition, in some aspects, the functionality described may be provided within dedicated hardware and/or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.
The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and/or firmware.
Various examples have been described. These and other examples are within the scope of the following claims.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 10, 2023
April 23, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.