Limitations of Multi-User Experience for Vehicle Operating Systems

A single-instance vehicle operating system allows multiple user profiles to access vehicle functions with tailored restrictions, improving user experience and safety by minimizing driver distraction through occupant zone and display type-specific controls.

JP2025530663APending Publication Date: 2025-09-17GOOGLE LLC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2025508762
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-15
Filing Date
2023-08-10
Publication Date
2025-09-17

AI Technical Summary

Technical Problem

Existing vehicle operating systems limit access to a single user profile, restricting the user experience for multiple occupants and potentially distracting the driver due to unnecessary content restrictions applied uniformly across all users.

Method used

A single-instance vehicle operating system enables concurrent access for multiple user profiles, allowing tailored user experience restrictions based on occupant zones and display types, thereby enhancing collaboration and safety by minimizing driver distraction.

Benefits of technology

The system provides a better user experience for all occupants by allowing personalized interaction with vehicle functions while ensuring the driver's safety by applying fine-grained user experience restrictions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025530663000001_ABST
    Figure 2025530663000001_ABST
Patent Text Reader

Abstract

A computing device including a memory configured to store an instance of a vehicle operating system ("VOS"), where the instance of the vehicle operating system facilitates concurrent access by multiple user profiles, and a processing circuit configured to execute the instance of the VOS. The VOS may authorize multiple user profiles to interface with the instance of the vehicle operating system via multiple displays communicatively coupled to a vehicle head unit and determine an occupant zone identifier based on which of the multiple displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles. The VOS may also obtain user experience restrictions for each of the multiple user profiles based on the occupant zone identifier and restrict content in accordance with the user experience restrictions via multiple user interfaces presented across the multiple displays by the single instance of the VOS.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to U.S. Provisional Application No. 63 / 371,445, filed August 15, 2022, entitled "CONTEXT AWARE SAFETY FEATURES FOR VEHICLE OPERATING SYSTEMS," and U.S. Provisional Application No. 63 / 371,451, filed August 15, 2022, entitled "SINGLE-INSTANCE MULTI-USER SUPPORT FOR VEHICLE OPERATING SYSTEMS," each of which is incorporated by reference as if set forth in its entirety herein. [Background technology]

[0002] A vehicle head unit (sometimes referred to as an infotainment system) may be configured to run a vehicle operating system to facilitate entertainment (e.g., music, video, images, etc.), information, navigation, and voice communications, as well as control of vehicle systems, such as a heating, ventilation, and air conditioning (HVAC) system, a lighting system, and a seat control system (including heating and / or cooling, seat adjustments, etc.), to provide a few examples. The vehicle operating system may allow 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 an instance of the vehicle operating system may support multiple user profiles, the instance of the vehicle operating system may allow only a single user profile of the multiple user profiles to access (or, in other words, "log in") the instance of the vehicle operating system. The instance of the vehicle operating system may limit access to a single user profile so that the vehicle operator is not distracted by the activities of other user profiles while operating the vehicle. Summary of the Invention

[0003] In general, various aspects of the technologies described in this disclosure are directed to a single instance of a vehicle operating system that provides simultaneous multi-user support. The single instance of a vehicle operating system described in this disclosure may allow multiple user profiles to access the single instance of the vehicle operating system, rather than limiting access to the single instance of the vehicle operating system to a single user profile. Vehicles are increasingly integrating displays into the vehicle cabin, allowing more users to securely interface with the vehicle operating system without distracting the vehicle operator (because, in some examples, displays for rear-seat passengers may be located behind the operator, who has limited or no direct line of sight to these displays). Thus, multiple users associated with multiple user profiles can access the vehicle operating system and interact with the vehicle to control various functions provided through the vehicle head unit, such as entertainment, information, navigation, and voice communications, as well as various vehicle systems (which may depend, to some extent, on the locations of the multiple users within the vehicle).

[0004] The multiple users may also interface with the vehicle operating system to collaboratively coordinate activities among the multiple users, such as sharing content among the multiple users, viewing content that other users are viewing, controlling audio playback among the multiple users (e.g., changing audio playback volume, adjusting playlists, etc.), messaging among the multiple users, coordinating navigation routes by the multiple users, etc. In some examples, the multiple users may direct such content sharing using gestures, such as swipe gestures, pinch gestures, and tap gestures, which may enable intuitive control of sharing among the multiple users.

[0005] As a result, various aspects of the technology described in this disclosure may promote a better user experience when traveling in a vehicle while protecting against safety concerns due to distraction to the vehicle operator. By allowing multiple user profiles to access the vehicle operating system, the vehicle operating system may allow preferences specific to each individual user profile to be applied and tailor the user experience accordingly. The vehicle operating system may also enable multiple users to collaborate on activities (such as those described above) that may enhance the user experience while traveling in the vehicle. If an additional display (which may be separate from the main display of the vehicle head unit) could be located in the cabin where the vehicle operator cannot directly view the content being presented, the vehicle operating system may enable expanded access privileges to the content while limiting the potential for distraction to the operator.

[0006] Additionally, various aspects of the technology may enable a single vehicle operating system to define different user experience restrictions per occupant zone, and potentially per display type (e.g., virtual or physical display). Each occupant zone may be associated with an occupant zone identifier that identifies a particular occupant zone among multiple occupant zones (e.g., driver occupant zone, front passenger occupant zone, rear seat passenger occupant zone, etc.). Different user experience restrictions may be defined for each occupant zone identifier and potentially for display type (in this case, a passenger virtual display, such as a front passenger virtual display, that shares the same underlying physical display used for the driver occupant virtual display may be subject to looser user experience restrictions compared to the driver occupant zone, as an example). Allowing different user experience restrictions allows occupants (other than the driver) to safely interact with a single operating system without distracting the driver while driving (or other operating states, such as idle and stopped).

[0007] In this regard, different occupants of a vehicle may be assigned different user experience restrictions based not only on the occupant zone identifier associated with each of the multiple displays, but potentially also on the display type (e.g., virtual or physical) and potentially on the operating state (e.g., parked, idle, or operating). Incorporating these different identifiers, display types, and vehicle states may enable fine-grained control of presented applications (which may be non-distraction-optimized applications and distraction-optimized applications) or other user interfaces via a user interface presented by a single operating system. Such fine-grained control of user experience restrictions may enable a better user experience depending on the occupant zone, display type, and possible vehicle state, and may better prevent distractions for the driver of the vehicle. Thus, the techniques described in this disclosure may improve the user experience for occupants of a vehicle implementing various aspects of the techniques described in this disclosure, and may potentially provide a safer operating experience for the driver by preventing distractions that may result in incorrect operation of the vehicle.

[0008] In one example, the disclosure describes a method including executing, by a vehicle head unit, an instance of a vehicle operating system, the vehicle operating system instance facilitating concurrent access by multiple user profiles, the method further including authorizing, by the vehicle operating system instance, the multiple user profiles to interface with the instance of the vehicle operating system; and presenting, by the vehicle operating system instance, multiple user interfaces across multiple displays communicatively coupled to the vehicle head unit, each of the multiple user interfaces being associated with one or more of the multiple user profiles, the method further including interfacing with multiple users associated with one or more of the multiple user profiles via the multiple user interfaces 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.

[0009] In another example, the disclosure describes a computing device including a memory configured to store an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the computing device further including one or more processors executing the instance of the vehicle operating system, the instance of the vehicle operating system configured to authorize the multiple user profiles to interface with the instance of the vehicle operating system and to present multiple user interfaces across multiple displays communicatively coupled to a vehicle head unit, each of the multiple user interfaces being associated with one or more of the multiple user profiles, the multiple user interfaces being configured to interface with multiple users associated with one or more of the multiple user profiles to enable multiple users to interface with the instance of the vehicle operating system for the purpose of controlling functionality associated with the vehicle head unit.

[0010] In another example, the 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, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, and through the execution of a first instance of the vehicle operating system, authorizing the multiple user profiles to interface with the instance of the vehicle operating system, and through the execution of the first instance of the vehicle operating system, presenting a plurality of user interfaces across a plurality of displays communicatively coupled to a vehicle head unit, each of the plurality of user interfaces being associated with one or more of the plurality of user profiles, and interfacing with a plurality of users associated with one or more of the plurality of user profiles via the plurality of user interfaces to enable a plurality of users to interface with the instance of the vehicle operating system for the purpose of controlling functionality associated with the vehicle head unit.

[0011] In another example, the disclosure describes a computing device including means for executing an instance of a vehicle operating system, the vehicle operating system instance facilitating concurrent access by multiple user profiles, the computing device further including means for authorizing the multiple user profiles to interface with the vehicle operating system instance and means for presenting multiple user interfaces across multiple displays communicatively coupled to a vehicle head unit, each of the multiple user interfaces being associated with one or more of the multiple user profiles, the computing device further including means for interfacing with multiple users associated with one or more of the multiple user profiles to enable the multiple users to interface with the vehicle operating system instance for purposes of controlling functionality associated with the vehicle head unit via the multiple user interfaces.

[0012] In another example, the disclosure describes a method including executing, by a vehicle head unit included in a vehicle, an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles, the method further including authorizing, by the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system via multiple displays communicatively coupled to the vehicle head unit, and determining one or more occupant zone identifiers based on which of the multiple displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles, wherein each of the one or more occupant zone identifiers identifies an occupant zone of the vehicle with which each of the multiple user profiles is associated, the method further including obtaining, for each of the multiple user profiles, user experience restrictions that limit content displayed via each of the multiple displays for each of the multiple user profiles based on the one or more occupant zone identifiers, the user experience restrictions limiting content displayed via each of the multiple displays for each of the multiple user profiles, the method further including limiting content consumed by at least one of the multiple user profiles in accordance with the user experience restrictions via the multiple user interfaces presented across the multiple displays by the single instance of the vehicle operating system.

[0013] In another example, the disclosure describes a computing device including a memory configured to store an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the computing device further including a processing circuit configured to execute the instance of the vehicle operating system, the instance of the vehicle operating system configured to authorize multiple user profiles to interface with the instance of the vehicle operating system via multiple displays communicatively coupled to a vehicle head unit, determine one or more occupant zone identifiers based on which of the multiple displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the multiple user profiles is associated, obtain, for each of the multiple user profiles, user experience restrictions that limit content displayed via each of the multiple displays for each of the multiple user profiles based on the one or more occupant zone identifiers, and limit content consumed by at least one of the multiple user profiles in accordance with the user experience restrictions via the multiple user interfaces presented across the multiple displays by the single instance of the vehicle operating system.

[0014] In another example, the 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, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, authorize the multiple user profiles to interface with the instance of the vehicle operating system through execution of a first instance of the vehicle operating system, determine one or more occupant zone identifiers based on which of a plurality of displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the multiple user profiles is associated, obtain, for each of the multiple user profiles, user experience restrictions based on the one or more occupant zone identifiers, limiting content displayed via each of a plurality of displays for each of the multiple user profiles, and limiting content consumed by at least one of the multiple user profiles in accordance with the user experience restrictions via a plurality of user interfaces presented across the multiple displays by the single instance of the vehicle operating system.

[0015] In another example, the disclosure describes an apparatus including means for executing an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the apparatus further including means for authorizing the multiple user profiles to interface with the instance of the vehicle operating system via multiple displays communicatively coupled to a vehicle head unit, and means for determining one or more occupant zone identifiers based on which of the multiple displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the multiple user profiles is associated, the apparatus further including means for obtaining, for each of the multiple user profiles, user experience restrictions based on the one or more occupant zone identifiers, the user experience restrictions limiting content displayed via each of the multiple displays for each of the multiple user profiles, the apparatus further including means for limiting content consumed by at least one of the multiple user profiles via multiple user interfaces presented across the multiple displays by the single instance of the vehicle operating system in accordance with the user experience restrictions.

[0016] 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 and drawings, and from the claims. [Brief explanation of the drawings]

[0017] [Figure 1] FIG. 1 is a block diagram illustrating an example computing system configured to provide a single-instance multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure. [Figure 2]FIG. 1 illustrates an example vehicle including 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. [Figure 3] 1A-1C illustrate different interaction models with multiple displays, including interactions occurring via a single-instance multi-user model and a multi-instance multi-user model, in accordance with the vehicle operating system technology described in this disclosure. [Figure 4] FIG. 1 illustrates an exemplary vehicle including 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. [Figure 5] FIG. 1 illustrates audio control in a single-instance multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure. [Figure 6] FIG. 1 illustrates audio control in a single-instance multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure. [Figure 7] 2 is a flowchart illustrating an example operation of the computing system shown in FIG. 1 when executing a vehicle operating system configured to perform various aspects of the techniques described in this disclosure. [Figure 8] 2 is a block diagram illustrating the VOS shown in FIG. 1 in providing multi-user experience restrictions in accordance with various aspects of the techniques described in this disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0018] 1 is a block diagram illustrating an exemplary computing system configured to provide a single-instance, multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure. As illustrated in the example of FIG. 1, computing system 100 includes computing device 102. Although described with respect to a vehicle, computing system 100 may be utilized in a variety of contexts, including a standalone computing system (including a laptop computer, a desktop computer, a workstation, etc.), a gaming system, a mobile phone (including a so-called "smart phone"), a media system (including a streaming media system), an audio / visual (A / V) receiver, a television (including a so-called "smart television"), a smart speaker, a smart watch, a thermostat (including a so-called "smart thermostat"), smart glasses, or any other computing system.

[0019] In any event, computing device 102 is an example of a vehicle computing device, such as a vehicle head unit. Figure 1 shows only one particular example of computing device 102; many other examples of computing device 102 may be used in other cases, and may include a subset of the components included in exemplary computing device 102, or may include additional components not shown in Figure 1.

[0020] 1, computing device 102 includes presence-aware display 112, one or more processors 140, one or more communication units 142, one or more input components 144, one or more output components 146, one or more storage devices 148, and a communication channel 149. Communication channel 149 may interconnect (physically, communicatively, and / or operatively) each of components 112, 140, 142, 146, and / or 148 for communication therebetween, thereby enabling components 112, 140, 142, 146, and 148 to communicate with one another. In some examples, communication channel 149 may include a system bus, a network connection, one or more inter-process communication data structures, or any other component for communicating data (also referred to as information). Although shown as including components 112, 140, 142, 146, and 148, computing device 102 (sometimes referred to as “main computing device 102”) may include other components or fewer components than those shown, and such components may be included in other control units, such as a telematic control unit (TCU).

[0021] One or more communication units 142 of computing device 102 may communicate with external devices by transmitting and / or receiving data. For example, computing device 102 may use one or more of communication units 142 to transmit and / or receive radio signals over a wireless network, such as a cellular wireless network. In some examples, communication unit 142 may transmit and / or receive satellite signals over a satellite network, such as a Global Positioning System (GPS) network. Examples of communication units 142 include network interface cards (e.g., Ethernet cards), optical transceivers, radio frequency transceivers, GPS receivers, or any other type of device capable of transmitting and / or receiving information. Other examples of communication units 142 may include controller area networks (operating via a CAN-CAN bus), shortwave radios (e.g., NFC, BLUETOOTH (including BLE)), GPS, 3G, 4G, 5G, and WIFI radios found in mobile devices, universal serial bus (USB) controllers, etc.

[0022] One or more input components 144 of computing device 102 may receive input. Examples of input include tactile input, audio input, kinematic input, optical input, etc., to name just a few. The input devices 144 of computing device 102, in one example, include a mouse, keyboard, touchpad, voice response system, video camera, buttons, scroll wheels, dials, control pad, microphone (or, in other words, audio capture device), or any other type of device for detecting input from a human or machine. The input component 144 may include a camera. In some examples, the input component 144 may be a presence-aware input device, which may include a presence-aware screen, a touch-sensitive screen, etc., and may be separate from the presence-aware display 112.

[0023] One or more output components 146 of computing device 102 may generate output. Examples of output include haptic output, audio output, and video output. The output components 146 of computing device 102, in some examples, include a presence-sensing screen (which may be separate from the presence-sensing display 112), a sound card, a video graphics adapter card, speakers, a liquid crystal display (LCD), an organic light-emitting diode (OLED), or any other type of device for generating tactile, audio, and / or visual output to a human or machine.

[0024] In some examples, the presence-sensing display 112 of the computing device 102 may include functionality of the input component 144 and / or the output component 146. In the example of FIG. 1, the presence-sensing display 112 may include a presence-sensing input (PSI) component 104 ("PSI component 104"), such as a presence-sensing screen or a touch-sensitive screen. In some examples, the presence-sensing input component 104 can detect objects on and / or near the presence-sensing input component. As an example of a range, the presence-sensing input component 104 can detect an object, such as a finger or stylus, within two inches of the presence-sensing input component 104. The presence-sensing input component 104 can determine the location (e.g., (x, y) coordinates) of the presence-sensing input component at which the object is detected. In another example range, the presence-sensing input component 104 can detect an object two inches or less from the presence-sensing input component 104, although other ranges are also possible. The presence-sensing input component 104 may use capacitive, inductive, and / or optical recognition techniques to determine the location of the presence-sensing input component 104 selected by the user's finger.

[0025] In some examples, the presence-aware display 112 may also provide output to the user using tactile, audio, and / or video stimuli, as described with respect to the output component 146. For example, the presence-aware display 112 may include a display component 103 that displays a graphical user interface. The display component 103 may be any type of output component that provides visual output, as described with respect to the output component 146. While the presence-aware display 112 is shown as an integrated component of the computing device 102, in some examples, the presence-aware display 112 may be an external component that shares a data or information path with other components of the computing device 102 to send and / or receive inputs and outputs. For example, the presence-aware display 112 may be an embedded component of the computing device 102 that is located within and physically connected to the external packaging of the computing device 102 (e.g., an in-vehicle screen mounted on the dashboard of a vehicle). In other examples, the presence-aware display 112 may be an external component of the computing device 102 (e.g., a monitor, projector, etc. that shares a wired and / or wireless data path with the vehicle's electronic control unit) located outside of and physically separated from the packaging of the computing device 102. In some examples, the presence-aware display 112, when located outside of and physically separated from the packaging of the computing device 102, may be implemented by two separate components: a presence-aware input component 104 for receiving input and a display component 103 for providing output.

[0026] One or more storage devices 148 within the computing device 102 may store information for processing during operation of the computing device 102 (e.g., the computing device 102 may store data accessed by operating systems (OS) 160A and 160B while executing on the computing device 102). As shown in the example of FIG. 1, the one or more storage devices 148 may store a first instance of operating system 160A (OS160A) and a second instance of operating system 160B (OS160B). In some examples, the storage component 148 is intended to be temporary storage, and long-term retention is not the primary purpose of the storage component 148. The storage device 148 of the computing device 102 may be configured for short-term storage of information as volatile memory; therefore, the stored content may not be retained when power is turned off. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art.

[0027] Storage device 148, in some examples, also includes one or more computer-readable storage media. Storage device 148, in some examples, includes one or more non-transitory computer-readable storage media. Storage device 148 may generally be configured to store larger amounts of information than can be stored by volatile memory. Storage device 148 may further be configured for long-term storage of information as non-volatile memory space, where information may be retained even after power on / off cycles. Examples of non-volatile memory include magnetic hard disks, optical disks, flash memory, or forms of electrically programmable memory (EPROM) and electrically erasable programmable memory (EEPROM). Storage device 148 may store program instructions and / or information (e.g., data) associated with OS 160A and / or 160B. Storage device 148 may include memory (not shown for ease of illustration) configured to store data or other information associated with OS 160A and OS 160B.

[0028] One or more processors 140 may perform functions and / or execute instructions associated with computing device 102. Examples of processors 140 include an application processor, a display controller, an auxiliary processor, one or more sensor hubs, and any other hardware configured to function as a processor, processing unit, processing device, controller area network (operating via a CAN-CAN bus), or other processing circuitry. OS 160A and / or OS 160B may be operable (or, in other words, executed) by processor 140 to perform various actions, operations, or functions of computing device 102.

[0029] That is, OS 160A and / or OS 160B may form executable bytecodes that, when executed, cause processor 140 to perform particular operations (and thereby cause computing device 102 to be a particular-purpose computer) in accordance with various aspects of the techniques described herein. For example, processor 140 of computing device 102 may retrieve and execute instructions stored by storage device 148 and attributed to OS 160A and / or 160B that cause processor 140 to perform operations described herein. When executed by processor 140, these instructions may cause computing device 102 to store information within storage device 148.

[0030] As noted above, computing system 100 may be integrated within or otherwise included within a vehicle, which may include one or more of a bicycle, tricycle, unicycle, motorcycle, automobile, agricultural machinery (e.g., tractor, combine, etc.), construction machinery (dump truck, crane, etc.), military vehicle or equipment (tank, weapon, etc.), truck, semi-tractor (or alternatively semi-trailer), aviation equipment (e.g., airplane), nautical equipment (e.g., boat, carrier, submarine, etc.), or any other type of vehicle.

[0031] Computing device 102 (which, as noted above, may be referred to as vehicle head unit 102, and sometimes also as infotainment system 102) may be configured to run vehicle operating systems such as one or more of OS 160A and 160B (which may consequently also be referred to as vehicle OS 160A-VOS 160A- and VOS 160B) that facilitate control to provide entertainment (e.g., music, video, images, etc.), information, navigation, and voice communications, 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 adjustments, etc.), to name a few. In some examples, the vehicle operating system allows only a single user profile at a time to access a particular instance of the vehicle operating system, where the single user profile is typically the operator of the vehicle.

[0032] This vehicle operating system may be referred to as a single-instance, single-user vehicle operating system. That is, the single instance of the vehicle operating system allows only a single user profile to access the single instance of the vehicle operating system and may require a user profile switch in which the single user profile is replaced with another single user profile. In this regard, at any given time, only a single user profile may access the single instance of the vehicle operating system.

[0033] To allow for multiple simultaneous user profiles, processor 140 may run other instances of the vehicle operating system, which may require additional and / or more powerful processors (which are typically more expensive). However, enabling efficient communication between both instances of the vehicle operating system may be difficult, and as a result, users associated with multiple user profiles may not be able to share content with each other, thereby limiting the user experience.

[0034] Thus, if a vehicle operating system instance supports multiple user profiles, the vehicle operating system instance may allow only a single user profile of the multiple user profiles to access (or, in other words, "log in") the vehicle operating system instance. The vehicle operating system instance may limit access to a single user profile so that a vehicle operator is not distracted by the activities of other user profiles while operating the vehicle.

[0035] Additionally, a vehicle operating system instance may restrict content for various reasons, including safety to prevent driver distraction (e.g., based on the vehicle's operating state, such as driving, idling, and parked), privacy and security (e.g., through user profile restrictions, which may include age-based restrictions, content type restrictions, personal information security, etc.). By allowing only a single user profile of multiple user profiles to access a vehicle operating system instance, the vehicle operating system instance may restrict content for other occupants of the vehicle interfacing with one or more displays that may or may not induce distraction while operating the vehicle (e.g., rear seat passenger displays may be unnecessarily restricted by restrictions set for a single user profile typically associated with the driver, not the rear seat passengers). These potentially unnecessary restrictions may degrade the user experience provided to other occupants not actively operating the vehicle, thereby potentially unnecessarily impacting the user experience provided by a single instance of the vehicle operating system.

[0036] The foregoing restrictions can be considered less granular in the sense that, rather than applying unique restrictions based on which display each of multiple user profiles interfaces with, such restrictions apply only to a single user profile that is currently authorized to interact with the vehicle operating system. As vehicles incorporate larger displays, a single physical display may present two or more virtual displays (e.g., a single physical dashboard display for a front passenger may include two or more virtual displays: one or more for the front driver, or in other words, an operator occupant zone, and one or more virtual displays for the front passenger occupant zone).

[0037] In a single instance of a vehicle operating system, restrictions for a single user profile may be defined solely based on physical display port number, thereby applying restrictions to a single physical dashboard display even if that display spans multiple occupant zones and displays multiple virtual displays. Thus, the lack of restrictions on virtual displays results in less granularity of restrictions, which can further degrade the user experience (e.g., a front passenger may be restricted by restrictions set for a front operator occupant zone, even if displaying content in the front passenger occupant zone is not distracting enough to warrant such a restriction for the vehicle operator).

[0038] According to various aspects of the techniques described in this disclosure, computing system 100 may execute a single instance of a vehicle operating system, such as VOS 160A and / or 160B (“VOS 160”), that provides simultaneous multi-user support. The single instance of VOS 160 described in this disclosure may allow multiple user profiles to access the single instance of VOS 160, rather than limiting access to a single user profile for the single instance of VOS 160. Vehicles are increasingly integrating displays into the vehicle cabin, such as supporting presence displays 150A-150N (“supporting presence displays 150,” which may also be referred to as “displays 150”), allowing more users to safely interface with VOS 160 without distracting the vehicle operator (because, in some examples, displays for rear-seat passengers may be located behind the operator, who may have limited visibility to or no direct line of sight to these displays 150). As such, multiple users associated with multiple user profiles can access VOS 160 and interact with computing device 102 to control various functions provided through computing device 102, such as entertainment, information, navigation, and voice communications, as well as various vehicle systems (which may depend to some extent on the locations of the multiple users within the vehicle).

[0039] Users may also interface with VOS 160 to collaboratively coordinate activities among multiple users, such as sharing content among multiple users, viewing content viewed by other users among multiple users, controlling audio playback among multiple users (e.g., changing audio playback volume, adjusting playlists, etc.), messaging among multiple users, coordinating navigation paths by multiple users, etc. In some examples, multiple users may direct such content sharing using gestures, such as swipe gestures, pinch gestures, and tap gestures, which may enable intuitive control of sharing among multiple users.

[0040] 1, the computing device 102 can interface with a display 150, which can be similar to or substantially similar to the presence-aware display 112. However, rather than being integrated into the computing device 102 like the presence-aware display 112, the display 150 can be communicatively coupled (wired or wirelessly) to the computing device 102, integrated into the overall cabin of the vehicle, or separate from the vehicle. That is, the display 150 can also represent, in some examples, a tablet, a smartphone, a laptop, a portable gaming device, a portable video device, or any other device capable of interfacing with the computing device 102 to present a user interface associated with the VOS 160 (and / or applications executing in an application space presented by the VOS 160, which may be separate from the privileged kernel space in which the VOS 160 executes to facilitate interaction between applications and underlying hardware, such as units 112 and 140-148).

[0041] In either case, processor 140 may execute an instance of a vehicle operating system, such as VOS 160A or VOS 160B, which facilitates concurrent access by multiple user profiles, shown in the example of FIG. 1 , as user profiles (UPs) 161A-161N ("UP 161") in VOS 160A and UPs 163A-163N ("UP 163") in VOS 160B. UPs 161 / 163 may each define a set of access rights (or, in other words, privileges), preferences (e.g., for user interfaces, VOS 160 settings, etc.), and other user-specific configuration data or information. While UPs 161 / 163 may each be associated with different users, UPs 161 and 163 may contain user profiles for the same user. For example, UPs 161A and 163A may be associated with the same user.

[0042] Processor 140, as an example, can execute VOS 160A and authorize multiple user profiles of UP 161 to interface with VOS 160A. To authorize multiple user profiles of UP 161, each of the users may register with VOS 160A by entering a username (associated with a given one of UPs 161) and a password to log in to VOS 160A. Alternatively, any other method of logging in to VOS 160A may be enabled, such as scanning a quick response (QR) code with a smartphone camera, entering a personal identification number (PIN), a biometric process (e.g., fingerprint scan, retina scan, etc.), facial recognition, or any other method for registering a given user profile of UP 161 with VOS 160A. VOS 160A can compare the entered information with authorization information stored in UP 161 to authorize (or, in other words, approve) each of the multiple user profiles of UP 161 to interface with VOS 160A.

[0043] Although discussed with respect to authorization, the VOS 160A may also enable a guest user profile (as one of the UPs 161) in which authorization is provided without requiring any approval. In this regard, the guest user profile may provide a limited experience (compared to an authorized UP 161) in terms of maintaining preferences, applications, etc. across different sessions, but may still enable the functionality described below with respect to sharing content, etc., between multiple UPs 161.

[0044] In either case, VOS 160A may present multiple user interfaces on multiple displays (such as display 112 and one or more of display 150) communicatively coupled to computing device 102. VOS 160A may present a user interface specific to each of the authorized UPs that maintains preferences for the authorized UPs of UP 161, such as application organization, user interface subject matter, various VOS 160A settings (e.g., related to notifications, accessibility, display configuration such as brightness, resolution, orientation, and any other type of OS settings). In either case, each of the multiple user interfaces is associated with one or more of UPs 161.

[0045] VOS 160A may then interface with multiple users associated with multiple UPs of UP 161 via multiple user interfaces to enable multiple users to interface with VOS 160A to control functionality associated with computing device 102. This functionality may include controlling navigation, modifying content playback, changing user interface settings, controlling HVAC settings, sharing content between UPs 161, and other functionality described in more detail below.

[0046] In some examples, processor 140 may represent a high-processing-power processor (which may be referred to as “processor 140A”) and a low-processing-power processor (which may be referred to as “processor 140B”). In some examples, processor 140 may represent a processor with variable processing power having two or more different operating voltages, with higher processing power enabled at a higher voltage and lower processing power enabled at a lower voltage. In this manner, a single processor may represent both processor 140A and processor 140B and may facilitate power conservation by switching between different processing modes (e.g., high processing mode and low processing mode). Processor 140A may provide additional processor cores compared to processor 140B (or, if a single processor switches processing modes, additional cores are enabled in the high processing mode compared to the low processing mode).

[0047] Processor 140A may execute VOS 160A, while processor 140B may execute VOS 160B. Processor 140A may execute VOS 160A for tasks requiring higher processing, such as gaming, video conferencing, navigation, and other processor-intensive tasks / applications. Processor 140B may execute VOS 160B for tasks requiring lower processing, such as streaming audio, telephony, displaying images, text messaging, or other less processor-intensive tasks / applications.

[0048] In some examples, processor 140A can execute VOS 160A at the same time that processor 140B executes VOS 160B. When VOS 160A and 160B execute simultaneously, VOS 160A can present an interface through which VOS 160B can communicate with VOS 160A to facilitate various functions of computing device 102. This interface can represent an application programming interface that VOS 160B can invoke to facilitate inter-VOS communication between VOS 160A and VOS 160B to cooperatively facilitate support for functions provided by computing device 102.

[0049] Utilizing processors of different processing power may facilitate energy consumption. Additionally, installing a high-power processor 140 capable of handling all of the functionality supported by the computing device 102 may be cost-constraining, while a lower-power (and / or potentially less powerful) processor 140 may allow a manufacturer to upgrade over time to add additional processors with higher processing power. By providing a framework for inter-VOS communication, a manufacturer may be able to upgrade over time without having to configure a separate inter-VOS communication interface that facilitates access to the functionality of the computing device 102, as described in more detail below.

[0050] As further shown in the example of FIG. 1 , computing device 102 may also interface with supporting audio capture devices 152A-152N (“supporting audio capture devices 152” or “audio capture devices 152”). Each of audio capture devices 152 may represent a microphone or other transducer configured to capture audio data representative of a sound field. Supporting audio capture devices 152 may also be referred to as “microphones 152.” In some examples, audio capture devices 152 may be integrated throughout one or more zones of a cabin of a vehicle that includes computing device 102. These zones may include an operator zone, one or more front passenger zones, and one or more rear passenger zones. As described in more detail below, these microphones 152 may capture (or, in other words, record, detect, or otherwise sense) audio data that VOS 160 may use to adjust audio playback and support additional functionality provided by computing device 102.

[0051] In this way, various aspects of the technique promote a better user experience while traveling in a vehicle, while protecting safety concerns related to vehicle operator distraction. By allowing multiple UPs 161 / 163 to access VOS 160A / 160B, VOS 160A / 160B may tailor the user experience to each individual UP of UP 161 / 163 and apply preferences specific to each individual UP. VOS 160A / 160B systems may also enable multiple users to coordinate activities (as described above), enhancing the user experience while traveling in a vehicle. Given that additional display 150 (which may be separate from the main display (e.g., presence-aware display 112) of vehicle head unit 102) may be located in the cabin where the vehicle operator cannot directly view the displayed content, VOS 160A / 160B may potentially limit operator distraction while allowing expanded privileges regarding content access.

[0052] Additionally, various aspects of the technology may enable the VOS 160 to define different user experience restrictions per occupant zone (OZ) and possibly per display type (DT, e.g., virtual or physical display type). Each occupant zone may be associated with an occupant zone identifier (OZID) 165A-165N (“OZID165”) and / or OZID167A-167N (“OZID167”) that identifies a particular occupant zone among multiple occupant zones (e.g., driver occupant zone, front passenger occupant zone, rear passenger occupant zone, etc.). VOS 160 can define different user experience restrictions for each occupant zone identifier, and possibly for display type 171A-171N and / or display type 173A-173N (“DT171 / 173,” where passenger virtual displays, such as front passenger virtual displays that share the same underlying physical display used for the driver occupant virtual displays, may be subject to less stringent user experience restrictions compared to the driver occupant zone, as an example.) Allowing different user experience restrictions allows occupants (other than the driver) to safely interact with a single operating system without distracting the driver while driving (or other operating states of the vehicle, such as idle and stopped).

[0053] During operation, VOS 160 can determine one or more of OZIDs 165 / 167 based on which of multiple displays (e.g., display component 103, additional display 150, etc.) each of UPs 161 / 163 interfaced with when authorizing each of UPs 161 / 163. Each of OZIDs 165 / 167 can identify an occupant zone of the vehicle with which each of UPs 161 / 163 is associated. Thus, each of UPs 161 / 163 can be associated with one or more OZIDs 165 / 167, which can enable VOS 160 to obtain user experience (UX) restrictions (UXRs) specific to a given occupant zone of the vehicle. That is, VOS 160 can maintain a UXR mapping that defines an assignment of UXRs to each of UPs 161 / 163 based on OZIDs 165 / 167. When attempting to authorize one or more of the UPs 161 / 163, the VOS 160 may register each of the one or more UPs 161 / 163, possibly along with a DT 171 / 173, with a given OZID 165 / 167 in the UXR mapping. The VOS 160 may assign a UXR for each application executed by the VOS 160 and updated based on the vehicle's operating state, as described in more detail below.

[0054] VOS 160 may then limit the content consumed by at least one of UPs 161 / 163 according to the UXR defined for each of UPs 161 / 163 via multiple user interfaces presented across multiple displays (e.g., display component 103, additional display 150, etc.). As a result, VOS 160 may tailor the UXR for a particular UP 161 / 163 based on the display's location (whether virtual or physical, as the case may be, defined by DT 171 / 173) within the vehicle (as defined by OZID 165 / 167), which may adapt to the vehicle's operating conditions and potentially maintain safety (through limiting distraction to the vehicle operator) while also potentially improving the user experience for other occupants of the vehicle who are not operating the vehicle.

[0055] In this regard, different occupants of a vehicle may be assigned different user experience restrictions (as represented by UPs 161 / 163) based not only on the OZIDs 165 / 167 associated with each of the multiple displays, but potentially also on the display type (e.g., virtual or physical) and operating state (e.g., parked, idle, or operating). Incorporating these different identifiers, display types, and vehicle states may enable fine-grained control of presented applications (which may be non-distraction-optimized applications and distraction-optimized applications) or other user interfaces via a user interface presented by a single operating system. Such fine-grained control of user experience restrictions may enable a better user experience depending on the occupant zone, display type, and possible vehicle state, and may better prevent distractions for the driver of the vehicle. Thus, the techniques described in this disclosure may improve the user experience for occupants of a vehicle implementing various aspects of the techniques described in this disclosure, and may potentially provide a safer operating experience for the driver by preventing distractions that may result in incorrect operation of the vehicle.

[0056] 2 is a diagram illustrating an example vehicle including 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 FIG. 2, the interior (sometimes referred to as the “cabin”) of a vehicle 200 may include a computing system in the form of a vehicle head unit 202, which represents an example of a computing device 102.

[0057] 2, the vehicle head unit 202 is integrated into a generally central portion (e.g., a center console) of the front dashboard 220. The vehicle head unit 202 includes a display 212 that may represent an example of a presence-aware display 112. The display 212 may be displaced onto the front dashboard 220 of the vehicle 200. The display 212 may represent a single physical display that supports the presentation of multiple virtual displays 213A and 213B. The display 212 may present a virtual display 213A in a driver occupancy zone and a virtual display 213B in a front passenger occupancy zone.

[0058] Vehicle 200 may also include (in this example, physical) displays 250A and 250B, which may represent the example of display 150 described above with respect to Figure 1. Displays 250A and 250B are integrated into the rear passenger compartment of the cabin (i.e., the front seat headrests in the example of Figure 2) on both the operator side (display 250A) and the passenger side (display 250B). Although the example of Figure 2 describes physical displays 250A and 250B, displays 250A and / or 250B may represent virtual displays.

[0059] As described above, VOS 160A may interface with a first user (a front passenger) via a first user interface (e.g., presented by virtual display 213B) associated with a first user profile (e.g., UP 161A) to interact with content presented by a second user interface (e.g., presented by display 250B) associated with a second user profile (e.g., UP 161B) of one or more of UPs 161. In some examples, VOS 160A may interface with the first user to one or more of viewing or initiating playback of content presented by the second user interface in the first user interface.

[0060] VOS 160A can also interface with the first user to control audio playback through the second user interface presented by display 250B. VOS 160A can interface with the first user via the first user interface presented by display 213B to change the volume of audio associated with audio playback through the second user interface presented by display 250B.

[0061] VOS 160A may also interface with a first user (e.g., a rear passenger on the operator's side) to enable the first user and a second user to collaboratively interact with content presented by a second user interface presented by display 250B. In this example, VOS 160A may interface with the first user to enable the first user and the second user to collaboratively contribute to audio playback by the second user interface (e.g., by collaborating on building an audio playlist). VOS 160A may also interface with the first user to enable the first user and the second user to collaboratively contribute to a multi-user activity presented by the second user interface, as another example, such a multi-user activity may include a navigation activity, where both the first user and the second user contribute to navigation of vehicle 200, including a multi-player video game presented by vehicle head unit 202 and / or the second user interface.

[0062] Although shown as multiple physical displays 212 / 250, various aspects of the technology may operate with respect to a single physical display (or multiple physical displays) having separate, logically separated displays (or so-called virtual displays 213A and / or 213B). That is, the single physical display 212 / 250 may be logically split (e.g., via software) to appear (from the perspective of an instance of VOS 160) as two separate physical displays. In this regard, the single physical display may represent multiple different displays, with displays 212 / 250 each representing a logically separate virtual display.

[0063] In this regard, various aspects of the technology described herein may enable a number of different use cases, including the following: Parents want to see what their children are watching. Parents or drivers want to control the volume of the child display. If two or more passengers want to contribute to some shared playlist. When two or more passengers want to interact with the same content (e.g. multi-game players). The following use cases can be enabled when the technology allows: · Mirror displays content when running Android Auto. Allows drivers and passengers to mirror display content. Driver or passenger can have inputs (such as key, rotary, d-pad, or touch events) sent to the other passenger's display.

[0064] In other words, various aspects of the techniques described herein may address issues related to enabling mobile apps to interact with each other (in the same or different apps) simultaneously among multiple users on a single Android instance. As such, these techniques may enable backseat operator interaction to add a waypoint to navigation and / or operator interaction to backseat passengers (e.g., children) to play a video.

[0065] VOS 160A may also interface with a first user (a front passenger) of the plurality of users via a first user interface associated with UP 161A to share content presented by the first user interface with a second user interface of the plurality of user interfaces associated with UP 161B. For example, VOS 160A may receive a gesture at a first user interface, illustratively presented by display 213A, indicating that content presented by the first user interface is to be shared with a second user interface, illustratively presented by display 250B. The gesture may include one or more of a swipe gesture, a pinch gesture, a tap gesture, or any other gesture associated with use of a presence-aware display such as display 213A.

[0066] In some instances, VOS 160A may be configured to present an animation in the first user interface indicating the start of the shared content. Additionally or alternatively, VOS 160A can play audio indicating the start of the shared content. In some examples, VOS 160A can play spatialized audio that reflects the position of the first user interface relative to the position of the second user interface when playing the audio indicating the start of the shared content.

[0067] In this regard, various aspects of the technology may use advanced user interface techniques to make cross-display interactions, such as screen sharing, more immersive. Based on the positional relationships between vehicle passenger zones, the technology may enable: · Using gestures (swipes, clicks, etc.) to send content from one display to another. · Use animation to visualize interactions. Use spatial audio to indicate where content is moving to make it more immersive.

[0068] Additionally, VOS 160A may determine one or more OZIDs 165 / 167 based on which UP 161 / 163 was used to authenticate or otherwise approve an interaction with VOS 160A via one or more of the displays (virtual displays 213A and / or 213B—sometimes referred to as “virtual displays 213” and / or displays 250A and / or 250B, “physical displays 250”). VOS 160A may assign virtual display 213A to OZID 165A (as an example) that includes a value of zero (0), identifying a driver occupant zone, and assign virtual display 213B to OZID 165B (as another example) that includes a value of one, identifying a front passenger occupant zone.

[0069] The VOS 160A, in some examples, may also identify a display type 171 / 173 (possibly as a Boolean value) indicating whether each display for which the UPs 161 / 163 have been granted authorization to access the VOS 160A is a physical display or a virtual display (or, in other words, a virtual display 213 presented through at least one physical display 212). The VOS 160A may utilize the OZIDs 165 / 167 along with the DTs 171 / 173 to distinguish between virtual displays 213 presented via the same physical display 212 in order to appropriately assign UXRs to the UPs 161 / 163. The VOS 160A may also use the OZIDs 165 / 167 and possibly the DTs 171 / 173 to distinguish between displays 212, virtual displays 213, and physical displays 250, and assign UXRs to the UPs 161 / 163 based on one or more of the OZIDs 165 / 167 and the DTs 171 / 173.

[0070] VOS 160A may further determine the UXR based on the type of application executed by VOS 160A and then presented via each one of displays 212, 213, and / or 250. That is, in some examples, various applications executed in the application space presented by VOS 160A may be distraction-optimized (“DO,” meaning that such applications are optimized to reduce distraction and may thereby run in a more restricted UXR compared to non-DO applications. For example, DO applications (which may be optimized for vehicle computing systems such as vehicle head unit 202) may limit the type of content presented or may have an improved interface to reduce distraction compared to non-DO applications (which may be optimized for other computing platforms such as laptops, smartphones, gaming systems, smart glasses, augmented / virtual / mixed reality systems, smartwatches, etc.). VOS 160A may allow DO applications to run in a restricted UXR while limiting or preventing non-DO applications from running in the same restricted UXR.

[0071] VOS 160A may also determine the operational state of vehicle 200 (potentially via VOS 160B). The operational state of vehicle 200 may refer to various operating conditions under which VOS 160A may present various interfaces via displays 212 / 213 / 250. Such operating conditions may include, for example, a driving state, an idle state, a parked state, etc. VOS 160A may register each UP 161 / 163 via an API and provide the determined OZID 165 / 167 for each UP 161 / 163, possibly along with a DT 171 / 173. Upon registering each UP 161 / 163, VOS 160A may monitor the type of application running for each UP 161 / 163 along with the state of vehicle 200 operation and update the UXR in response to changes in the type of application and the operational state of vehicle 200.

[0072] The VOS 160A can continuously or periodically update the UXR assigned to each UP 161 / 163 in response to changes in operating conditions and / or application types. The VOS 160A can assign different UXRs based on, for example, driving, idling, and parked conditions. The UXR for the driving condition may be more restrictive than the UXR for the idling condition (because distraction during an idle condition is less of a safety concern compared to a driving condition), whereas the UXR for the idle condition may be more restrictive than the UXR while parked (again, because distraction during a parked condition is less of a safety concern compared to an idle condition).

[0073] 3 is a diagram illustrating different interaction models with multiple displays, including interactions that occur via a single-instance multi-user model and a multi-instance multi-user model, in accordance with the vehicle operating system technology described in this disclosure. As discussed in this disclosure, vehicle displays such as displays 212 and 250 are evolving from an operator-centric to a whole-vehicle experience, allowing occupants to have: · Personalized experiences during your commute. · A collaborative experience for enjoying family travel. · Shared experiences in ride-sharing environments.

[0074] Automotive manufacturers (OEMs) may recognize these needs and are building cars that provide these experiences to users. These are no longer considered the ultimate experience, but rather desirable vehicle values.

[0075] In this regard, users may seek simultaneous experiences across displays for a seamless and immersive experience, such as: Navigation - Add stops for the driver on an ongoing journey from the display. Entertainment - Play and control videos or let kids play games in the backseat to keep them entertained and engaged. Users – access personalized apps, content, and data for entertainment and / or productivity purposes. Personalization - Control your own seat settings, HVAC controls, and alerts for your seat.

[0076] Based on the prediction of user behavior, OEMs consider the following user interaction models. There are three types of interaction models (shown in the example in Figure 3): 1. The In-Vehicle Infotainment (IVI) display is the primary controller for Front Seat Entertainment (FSE) and Rear Seat Entertainment (RSE) content.

[0077] a. FSE and RSE have minimal controls - audio, play / pause, on / off. 2. IVI screen is mirrored across FSE / RSE and passenger display has no content or control selectable. 3. Content can be shared on all screens, with each screen having its own individual controls.

[0078] In a multi-display scenario, the following user personas exist: Driver Interact with the cluster and IVI screens for driving, and with other screens in the car. Front seat passengers o Assisting drivers with navigation and passenger content using FSE. Rear seat passengers o Interact with the RSE for content, control and navigation suggestions to the driver. · guest o You are temporarily in your car and would like to access some apps on the passenger display.

[0079] FIG. 4 illustrates an exemplary vehicle including 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 FIG. 4, vehicle 400 may represent an example of vehicle 200 (shown in FIG. 2) in which vehicle head unit 202 may enable privacy and sharing among different audio zones 404A-404D (“audio zones 404”) within vehicle 400. Audio zone 404A may represent a front seat operator side zone (also referred to as “front operator zone 404A”). Audio zone 404B may represent a front seat passenger side zone (also referred to as “front seat zone 404B”). Audio zone 404C may represent an operator side rear passenger zone, and audio zone 404D may represent a passenger side rear passenger zone.

[0080] In each of audio zones 404, vehicle 200 may include a respective one of audio capture devices 452A-452D (“audio capture device 452”) and a respective one of speakers 454A-454D (“speaker 454”). Audio capture device 452 may represent an example of audio capture device 152. Both audio capture device 452 and speaker 454 may represent transducers capable of converting sound pressure into electrical signals representative of a sound field, in the example of audio capture device 452, and converting electrical signals representative of a sound field into corresponding electrical signals representative of a sound field, in the example of speaker 454.

[0081] While each of the audio zones 404 has been described as having a single audio capture device 452 and a single speaker 454, each of the audio zones 404 may include more or fewer audio capture devices 452 and more or fewer speakers 454. Additionally, while described as being transducers, any type of device capable of capturing audio data (converted from electrical signals captured by the audio capture devices 452) and reproducing a sound field from the electrical signals (converted from the audio data) may be utilized in one or more of the audio zones 404. Additionally, while the example of FIG. 4 shows four audio zones 404, the vehicle 400 may include more or fewer audio zones 404.

[0082] In either case, VOS 160A can interface with multiple users to control audio playback within one or more of the cabin zones 404 of the vehicle 400 that includes the vehicle head unit 202. VOS 160A may, for example, interface with multiple users to control the volume of audio in a single of the cabin zones 404. As another example, VOS 160A can interface with multiple users to control the focus of audio playback in at least one of the cabin zones 404.

[0083] As such, various aspects of the technology may provide a central audio control service for all users (e.g., driver and / or passengers) to simultaneously control audio settings (e.g., volume up / down, mute, unmute, or any other control). To facilitate this control, VOS 160A may provide a service to manage audio controls (e.g., volume, mute, settings, ducking, pause, etc.) to provide: · Independently manage control for each user's audio zone. · Manage the focus of other users in different zones. - Taking into account current safety limitations. · In doing so, take into account the current user's role (driver, passenger, disabled, back seat occupant).

[0084] Additionally, one or more of the audio capture devices 452 may capture audio data representing the sound field in each of the one or more zones 404 (other names for the audio zones 404). Based on the audio data representing the sound field occurring in each of the zones 404, the VOS 160A may determine that a first user of multiple users in a first zone (e.g., zone 404C) of the one or more zones is speaking in an attempt to vocally interface with the vehicle head unit 202. The VOS 160A may adjust audio playback in the zones 404 based on the audio data representing the sound field occurring in each of the zones 404.

[0085] With respect to adjusting the audio playback, VOS 160A can determine a noise level based on audio data representing the sound field occurring in each of zones 404. VOS 160A can then adjust the audio playback in one or more of zones 404 based on the noise level.

[0086] In this regard, various aspects of the techniques may address ways to enable multi-MIC support for VOS 160A. VOS 160A can use audio data captured by audio capture device 452 to determine and / or perform the following: Uses the microphone to know which user is speaking and adjusts volume control by recognizing the user. · Map with the display being used. Providing better assistant responses to the (speaking) user. Detecting the noise level for each user (around each user's area) and performing necessary audio modifications to the audio playback for comfortable audio listening. It also combines each user's audio information to determine the noise level inside the car and make changes to the speakers for a better listening experience.

[0087] 5 and 6 illustrate audio control in a single-instance, multi-user vehicle operating system in accordance with various aspects of the technology described in this disclosure. In some examples, the vehicle operating system is limited in scope in that it can only send audio from one zone to another for that particular application unique identifier (UID). Various aspects of the technology described in this disclosure enable zones 404 to share audio within the cabin with the following purposes: Share media audio from passengers to the main cabin. · Provide a mechanism for passengers not in the main cabin to request audio playback in the main zone (e.g., operator zone 404A). Provide a mechanism for the driver to allow audio playback in the main zone. · Provides a mechanism for sharing audio focus between two different zones. · Disable non-owner volume control in cabin from controlling volume.

[0088] For example, a passenger listening to media in a rear seat entertainment (RSE) zone (e.g., one of zones 404C or 404D) may send the audio to the main cabin so that everyone in the car can hear the audio. When a rear seat RSE passenger chooses to send audio to the main cabin, the operator (or main cabin user) still maintains control over allowing audio play and retains control over volume and other audio settings.

[0089] FIG. 5 shows a schematic diagram that provides an overview of the current audio architecture. Audio zones 404 are defined in the configuration and are used to set up audio routing for each audio zone 404. Each audio zone 404 is defined as a collection of volume groups, each group containing a set of devices that are controlled for volume changes in the volume group. Each device can have different audio contexts routed to it. The vehicle audio service can define a set of audio mixes using the routing information for each audio zone, and the VOS 160A can be used to configure the audio routing for each of the zones 404.

[0090] Referring now to Figure 6, a configuration setup between a vehicle audio service and a vehicle occupant zone service is shown. For audio, the vehicle audio service may read a mapping of audio zones (audioZoneId) to occupant zone IDs (occupantZoneId) from the configuration. This information may be sent to the vehicle occupant zone service at initialization to set up the occupant zone configuration. The occupant zone service may maintain information about the occupant zone configuration and display port mapping, which may be read from different configuration information.

[0091] The car audio service may register a VehicleOccupantZoneCallback with the occupant zone service. VOS 160A may trigger this service when any of the following changes occur in the vehicle occupant zone: Display activation. · Changing the audio configuration. · Occupant Zone User Allocation. · Passenger boarding. Passenger disembarkation.

[0092] When the audio service receives the onOccupantZoneConfigChanged signal from the callback, the audio service of VOS 160A can do the following to automatically assign the user to the corresponding audio zone: Unload the previous user's settings. Remove previous user audio policy routing. Load new user audio settings. Set up audio policy routing for new users. Reset audio focus mapping for new users.

[0093] The audio service of VOS 160A can use the audio focus mapping to determine where incoming focus requests should be assigned.

[0094] In order for passengers to be able to send audio to the main cabin, a few things need to happen. · Handling focus requests in the main cabin. Routing passenger audio to the main cabin. Audio routing can occur once the focus request has been successfully changed from the occupant's own audio zone in vehicle 400. If audio playback has not yet begun, the focus process automatically requests focus in the main cabin zone according to rules already set regarding audio usage priority (e.g., audio for media is denied by an ongoing call).

[0095] Passengers should be able to request that audio be sent to the main cabin, and a prompt will pop up for the driver to accept. Alternatively, the driver may enable automatic permission for passengers to play audio. If accepted, the audio focus request can be forwarded to the main cabin as needed and playback can begin. If not accepted, the passenger can be prompted with a message.

[0096] Since one goal of the feature is to play media for passengers in the main cabin, passenger focus requests can be restricted to media only. Focus requests for other sounds (e.g., alarms, calls, notifications, etc.) should be restricted to only the passenger's respective zone. For a media focus request, the logic could be: Sends temporary focus loss to passenger media app. Request focus for Main Cabin passenger media apps. If the focus request is granted, send the focus gain. If not allowed due to higher priority sounds (emergencies, phone calls), o Set the focus request as a deferred focus.

[0097] · Focus is given once a higher priority focus is completed. o Alternative: Return focus to the user zone.

[0098] For passengers where User ID is used, a possible driver for audio routing may be User ID Device Affinity Routing, which can also be used to send passenger audio to the main cabin, as follows: Identify your main cabin media device (preferably a separate, high-quality device). Reset passenger device affinity to share cabin media devices.

[0099] Additionally, multi-zone audio (MZA) can facilitate audio playback by various users, all playing audio in each individual audio zone 404. This may allow main cabin users to play media or any other sound, while rear entertainment system users also play media in their respective zones. This potentially allows OEMs to design complex audio infotainment systems that allow each occupant to customize their own experience within the vehicle 400.

[0100] Example use cases include: · In the car, the driver can play music while rear seat passengers can play their own music / media. Rear seat passengers can control the volume of their own music without affecting the driver's music playback. First-party music apps launched in the rear seats will be able to play sound in the rear seats without any modifications.

[0101] One mechanism used for MZA is based on dynamic audio policies, specifically UID / user ID-based routing. This allows audio policies to define routing based on audio attribute usage, UID, or user ID. This allows applications or services to take advantage of the automatic routing of audio configured by dynamic audio policies. However, APIs exist that can be used to route audio outside of the assigned audio device. This has some impact on the vehicle, for example, because applications can send audio to specific zones without user permission. User A's rear seat entertainment (RSE) application sends audio directly to the driver user's output device in the main cabin. User A's RSE application sends audio directly to a different RSE output device assigned to User B. This can raise some driver safety concerns due to unwanted audio being played in the main cabin and distracting the main driver.

[0102] One possible goal of this aspect of the technology is to not only allow current dynamic audio policies to continue to function, but also to allow users (and their respective applications / services) to be restricted from playing audio outside of their assigned set of zones, regardless of the mechanism used to select the audio playback device. A potential benefit for users in cars is that they can listen to audio in their cars in a private and consistent manner.

[0103] Dynamic audio policies may provide a mechanism to configure the devices a user can use for automatic routing via the Audio Policy API. This Audio Policy API may be used or extended to restrict applications using audio routing from routing audio outside the limits of the audio policy user's quota to a set of preferred devices. This potentially limits "forced" routing of devices defined within the audio policy.

[0104] 7 is a flowchart illustrating an example operation of the computing system shown in FIG. 1 when executing a vehicle operating system configured to perform various aspects of the techniques described in this disclosure. As described above, one or more processors 140 of computing device 102 may execute an instance of a vehicle operating system, such as VOS 160A or VOS 160B, which facilitates concurrent access by multiple user profiles (UPs) 161A-161N ("UP 161") in VOS 160A and UPs 163A-163N ("UP 163") in VOS 160B (700), shown in the example of FIG. 1.

[0105] Processor 140, as one example, can execute VOS 160A and authorize multiple user profiles of UP 161 to interface with VOS 160A (702). VOS 160A can present multiple user interfaces on multiple displays (e.g., display 112 and one or more of display 150) communicatively coupled to computing device 102 (704). VOS 160A can then interface with multiple users associated with multiple UPs of UP 161 via the multiple user interfaces, allowing the multiple users to interface with VOS 160A to control functionality associated with computing device 102 (706). This functionality can include controlling navigation, changing content playback, changing user interface settings, controlling HVAC settings, sharing content between UPs 161, and other functionality described above.

[0106] 8 is a block diagram illustrating the VOS shown in FIG. 1 when providing multi-user experience restrictions in accordance with various aspects of the techniques described in this disclosure. In the example of FIG. 8, VOS 860 may represent an example of VOS 160A and / or VOS 160B shown in the example of FIG. 1. As noted above, VOS 860 may operate in a kernel space that provides higher privileges (e.g., access rights, dedicated memory, etc.) to the kernel space, hosting application space 879 with lower privileges to mitigate access by applications, including distraction optimization (DO) application 880 ("DO application 880," not shown in the example of FIG. 1, but which may be stored on storage device 148).

[0107] 1, VOS 860 includes a UXR manager 882, a UXR manager service 884, an operational state server 886, a vehicle characteristics service 888, and a vehicle package manager service 890. UXR manager 882 may represent a software module (executed by underlying hardware, such as waking processor 140, processor 140) that manages the UXRs for registered applications (registered via the APIs described above, which may be APIs exposed by UXR manager 882). DO application 880 may call the API to obtain the current UXR of the DO application 880, while also registering a listening service of the DO application 880 to receive updates or replacements for the UXR.

[0108] UXR manager service 884 may represent a service running within VOS 860 that manages UXR map 883 based on various characteristics or updates related to the operational state of a vehicle, such as UP 161 / 163, DT 171 / 173, vehicle 200 shown in the example of FIG. 2 (such operational states may include driving state, idling state, parked state, speed changes, etc.), and type of application (assumed to be distraction optimized in this example). Operational state service 886 may represent a service of VOS 860 that identifies the operational state of vehicle 200. Vehicle characteristic service 888 may represent a service that identifies various characteristics of vehicle 200 (e.g., current speed, occupant seat belt status, location, mirror configuration, seat configuration, etc.). The vehicle package manager service 890 may represent a service responsible for managing the UXR of applications throughout the duration of approval for the UP 161 / 163 to access or otherwise interface with the VOS 860, including the DO application 880, on a display-by-display basis (whether virtual or physical).

[0109] A UP 161 / 163 may initially be authorized to access the VOS 860 in the manner described above, and thereafter or during authorization, the VOS 860 may determine the OZID 165 / 167 and possibly the DT 171 / 173 (if a virtual display exists or was created by the UP 161 / 163) for each UP 161 / 163 authorized to access the VOS 860. More specifically, the UXR manager service 884 may map a particular UP 161 / 163 to one or more of the OZID 165 / 167 and possibly the DT 171 / 173, creating a UXR map 883 (which may be updated via the UXR manager 882).

[0110] The UXR manager service 884 may interface with an operating status service 886 to obtain the current operating status of the vehicle 200. The UXR manager service 884 may also interface with a vehicle characteristics service 888 to obtain vehicle characteristics (e.g., speed change). The UXR manager service 884 may determine the UXR of the DO application 880 based on the OZID 165 / 167 and possibly the DT 171 / 173, the operating status, and the vehicle characteristics. The UXR manager service 884 may provide the determined UXR to a vehicle package manager service 890, which performs activity blocking (e.g., restricting content from being consumed via one or more of multiple displays).

[0111] Via the listening service, DO applications 880 can receive the UXR and adapt their presentation of content to conform to the UXR provided via the listening service. Rather than adapting their presentation of content to conform to the UXR provided via the listening service, non-DO applications can continue to present content without adhering to the provided UXR, at which point vehicle package manager service 890 can perform activity blocking (or, in other words, content restriction) to ensure that the non-DO applications remain in conformance with the determined UXR.

[0112] The UXR manager service 884 can update the UXR map 883 to specify the set of UXRs determined for each OZID 165 / 167 and possible DT 171 / 173. The UXR map 883 can associate (or, in other words, map) operating states (such as driving, idle, and parked) with a set of restrictions that limit the presentation of a dial pad (e.g., for initiating a phone or video call), the presentation of a keyboard (e.g., for searching, web browsing, text messaging, etc.), the presentation of video or other content, and / or complete restriction (in which case no content is presented, or at least the content specified above as a dial pad, keyboard, and video can be presented). Any changes to the UXR map 883 can trigger a listening service to issue an interrupt or other flag or mechanism to notify the DO application 880 of the UXR update and / or change.

[0113] Given that UXR map 883 may be specified for OZID 165 / 167 with granularity per display (whether virtual or physical), UXR map 883 may enable a different UXR for each display communicatively coupled to VOS 860. Thus, VOS 860 may assign display 250A with a different UXR than display 250B, even though both displays 250A and 250B are rear passenger displays where distraction is generally not considered a safety concern in terms of distracting an operator seated in the front driver occupancy zone of vehicle 200. In instances where content is shared, or where there is a cooperative relationship between different occupancy zones as described above, individual UXR may be implemented for each occupancy zone, potentially resulting in a different user experience appropriate to the determined level of distraction of an operator seated in the front operator occupancy zone of the vehicle.

[0114] As discussed above with respect to occupant zone identifiers, VOS 860 may continue to rely on physical ports for physical displays that do not enable the creation or support of virtual displays. That is, VOS 860 may maintain backward compatibility to identify displays based on the physical port (or virtual port for wireless physical displays) through which the physical display is communicatively coupled to vehicle head unit 202 and / or VOS 860. In other words, VOS 860 may support extensions where OZID 165 / 167 and possible DT 171 / 173 are used to uniquely identify both physical and virtual displays, but VOS 860 may continue to support physical port identifiers to uniquely identify physical displays to maintain backward compatibility.

[0115] 9 is a flowchart illustrating an example operation of the VOS shown in the example of FIG. 8 in performing various aspects of the techniques described in this disclosure. A vehicle head unit, such as the vehicle head unit 102 and / or 202 shown in the examples of FIGS. 1 and / or 2, can execute an instance of a vehicle operating system (e.g., vehicle operating system 860), which may facilitate concurrent access by multiple user profiles (900). The VOS 860 may authorize multiple UPs 161 / 163 to interface with the VOS 160 via multiple displays (e.g., display 212, virtual displays 213A / 213B, physical displays 250A / 250B) to interface with the VOS 860 via multiple displays 212 / 213 / 250 communicatively coupled to the vehicle's head unit 102 / 202 (902).

[0116] The VOS 860 may determine one or more OZIDs 165 / 167 to authorize each of the UPs 161 / 163 based on which of the multiple displays 212 / 213 / 250 each of the UPs 161 / 163 is interfaced with (904). The VOS 860 may obtain user experience restrictions (UXRs) based on the OZIDs 165 / 167 and for each of the UPs 165 / 167 that restrict content presented via each of the displays 212 / 213 / 250 for each of the UPs 161 / 163 (906). The VOS 860 may then restrict content consumed by at least one of the UPs 161 / 163 via multiple user interfaces presented across the multiple displays 212 / 213 / 250 by the VOS 860 and in accordance with the UXRs (908).

[0117] In this way, the techniques described above may enable the following example: Example 1. A method comprising: executing, by a vehicle head unit, an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles; the method further comprising: authorizing, by the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system; and 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 being associated with one or more of the multiple user profiles; the method further comprising interfacing, via the multiple user interfaces, with multiple users associated with one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for the purpose of controlling functionality associated with the vehicle head unit.

[0118] Example 2. The method of Example 1, wherein the instance of a vehicle operating system includes a first instance of the vehicle operating system, and the method further includes executing a second instance of the vehicle operating system, the first instance of the vehicle operating system including an interface for communicating with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.

[0119] Example 3. The method of Example 2, wherein the vehicle head unit includes a high processing power processor that executes the first instance of the vehicle operating system, and the vehicle head unit includes a low processing power processor that executes the second instance of the vehicle operating system, the high processing power processor providing more processing power than the low processing power processor.

[0120] Example 4. The method of any combination of Examples 1-3, wherein the plurality of displays are arranged around a cabin of a vehicle including the vehicle head unit.

[0121] Example 5. The method of any combination of Examples 1-4, wherein the plurality of displays includes two or more of: a first display integrated into an operator side of a front dashboard of a cabin of a vehicle including 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 within a rear passenger compartment of the cabin.

[0122] Example 6. The method of any combination of Examples 1-5, wherein the plurality of displays includes one or more computing devices associated with at least one of the plurality of users who is an occupant of a vehicle including the vehicle head unit.

[0123] Example 7. The method of any combination of Examples 1-6, wherein interfacing with the plurality of users associated with the one or more of the plurality of user profiles includes interfacing with the plurality of users to control audio playback within one or more zones of a cabin of a vehicle including the vehicle head unit.

[0124] 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.

[0125] Example 9. The method of any combination of Examples 7 and 8, wherein interfacing with the plurality of users to control the audio playback includes interfacing with the plurality of users to control audio volume in a single zone of the one or more zones of the cabin.

[0126] Example 10. The method of any combination of Examples 7-9, wherein interfacing with the plurality of users to control the audio playback includes interfacing with the plurality of users to control focus of audio playback in at least one of the one or more zones of the cabin.

[0127] 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 the sound field of each of the one or more zones.

[0128] Example 12. The method of Example 11, further comprising determining, based on the audio data representing the sound field occurring in each of the one or more zones, that a first user of the plurality of users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit.

[0129] Example 13. The method of any combination of Examples 11 and 12, further comprising adjusting audio playback in the one or more zones based on the audio data representing the sound field occurring in each of the one or more zones.

[0130] Example 14. The method of Example 13, wherein adjusting the audio playback includes determining a noise level based on the audio data representing the sound field occurring in each of the one or more zones, and adjusting the audio playback in the one or more zones based on the noise level.

[0131] Example 15. The method of any combination of Examples 1-14, wherein interfacing with the plurality of users associated with the one or more of the plurality of user profiles includes interfacing a first user of the plurality of users via a first user interface of the plurality of user interfaces associated with a first user profile of the plurality of user profiles to interact with content presented by a second user interface of the plurality of user interfaces associated with a second user profile of the plurality of user profiles.

[0132] Example 16. The method of Example 15, wherein interfacing with the first user includes interfacing with the first user at the first user interface to one or more of viewing or initiating playback of the content presented by the second user interface.

[0133] Example 17. The method of any combination of Examples 15 and 16, wherein interfacing with the first user of the plurality of users includes interfacing with the first user to control audio playback by the second user interface.

[0134] Example 18. The method of Example 17, wherein interfacing with the first user to control the audio playback includes interfacing with the first user via the first user interface to change a volume of audio associated with the audio playback by the second user interface.

[0135] Example 19. The method of any combination of Examples 15-18, wherein interfacing with the first user includes interfacing with the first user to enable the first user and the second user to collaboratively interact with the content presented by the second user interface.

[0136] Example 20. The method of Example 19, wherein interfacing with the first user to enable the first user and the second user to collaboratively interact with the content includes interfacing with the first user to enable the first user and the second user to collaboratively contribute to the audio playback by the second user interface.

[0137] 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 collaboratively interact with the content includes interfacing with the first user to enable the first user and the second user to collaboratively contribute to a multi-user activity presented by the second user interface.

[0138] Example 22. The method of example 21, wherein the multi-user activity includes a navigation activity in which both the first user and the second user contribute to the navigation of a vehicle that includes the vehicle head unit.

[0139] Example 23. The method of any combination of Examples 21 and 22, wherein the multi-user activity includes a multi-player video game presented by the second user interface.

[0140] Example 24. The method of any combination of Examples 1-23, wherein interfacing with the plurality of users associated with the one or more of the plurality of user profiles includes interfacing a first user of the plurality of users via a first user interface of the plurality of user interfaces associated with a first user profile of the plurality of user profiles with a second user interface of the plurality of user interfaces associated with a second user profile of the plurality of user profiles to share content presented by the first user interface.

[0141] Example 25. The method of Example 24, wherein interfacing with the first user includes receiving a gesture at the first user interface indicating that the content presented by the first user interface is to be shared with the second user interface.

[0142] 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.

[0143] Example 27. The method of any combination of Examples 24-26, further comprising presenting, via the first user interface, an animation indicating the start of the content being shared.

[0144] Example 28. The method of any combination of Examples 24-27, further comprising playing audio indicating the start of the content being shared.

[0145] Example 29. The method of Example 28, wherein playing the audio includes playing spatialized audio to reflect a position of the first user interface relative to a position of the second user interface.

[0146] Example 30. A computing device comprising: a memory configured to store an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the computing device further comprising one or more processors executing the instance of the vehicle operating system, the instance of the vehicle operating system configured to authorize the multiple user profiles to interface with the instance of the vehicle operating system and to 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 configured to interface with multiple users associated with one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system for the purpose of controlling functionality associated with the vehicle head unit.

[0147] Example 31. The computing device of Example 30, wherein the instance of a vehicle operating system includes a first instance of the vehicle operating system, and 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 for communicating with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.

[0148] Example 32. The computing device of example 31, wherein the one or more processors include a high processing power processor that executes the first instance of the vehicle operating system, and the one or more processors include a low processing power processor that executes the second instance of the vehicle operating system, the high processing power processor providing more processing power than the low processing power processor.

[0149] Example 33. The computing device of any combination of Examples 30-32, wherein the plurality of displays are arranged around a cabin of a vehicle including the vehicle head unit.

[0150] Example 34. The computing device of any combination of Examples 30-33, wherein the plurality of displays includes two or more of: a first display integrated into an operator side of a front dashboard of a cabin of a vehicle including 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 within a rear passenger compartment of the cabin.

[0151] Example 35. The computing device of any combination of Examples 30-34, wherein the plurality of displays includes one or more computing devices associated with at least one of the plurality of users who is an occupant of a vehicle including the vehicle head unit.

[0152] Example 36. The computing device of any combination of Examples 30-35, wherein the plurality of user interfaces are configured to interface with the plurality of users to control audio playback within one or more zones of a cabin of a vehicle including the vehicle head unit.

[0153] 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.

[0154] Example 38. The computing device of any combination of Examples 36 and 37, wherein the plurality of user interfaces are configured to interface with the plurality of users to control audio volume in a single zone of the one or more zones of the cabin.

[0155] Example 39. The computing device of any combination of Examples 36-38, wherein the plurality of user interfaces are configured to interface with the plurality of users to control focus of audio playback in at least one of the one or more zones of the cabin.

[0156] 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 the sound field of each of the one or more zones.

[0157] 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 representing the sound field occurring in each of the one or more zones, that a first user of the plurality of users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit.

[0158] 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 audio playback for the one or more zones based on the audio data representing the sound field occurring in each of the one or more zones.

[0159] Example 43. The computing device of Example 42, wherein the instance of the vehicle operating system is further configured to determine a noise level based on the audio data representing the sound field occurring in each of the one or more zones, and adjust the audio playback in the one or more zones based on the noise level.

[0160] Example 44. The computing device of any combination of Examples 30-43, wherein a first user interface of the plurality of user interfaces associated with a first user profile of the plurality of user profiles is configured to interface with a first user of the plurality of users to interact with content presented by a second user interface of the plurality of user interfaces associated with a second user profile of the plurality of user profiles.

[0161] Example 45. The computing device of Example 44, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of user profiles is configured to interface with the first user to one or more of viewing or initiating playback of the content presented by the second user interface on the first user interface.

[0162] Example 46. A computing device described in any combination of Examples 44 and 45, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of user profiles is configured to interface with the first user to control audio playback by the second user interface.

[0163] Example 47. The computing device of Example 46, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of user profiles is configured to interface with the first user to change, via the first user interface, a volume of audio associated with audio playback by the second user interface.

[0164] Example 48. A computing device described in any combination of Examples 44 and 45, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of user profiles is configured to interface with the first user to enable the first user and the second user to collaboratively interact with the content presented by the second user interface.

[0165] Example 49. The computing device of Example 48, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of 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.

[0166] Example 50. A computing device described in any combination of Examples 48 and 49, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of user profiles is configured to interface with the first user to enable the first user and the second user to collaboratively contribute to a multi-user activity presented by the second user interface.

[0167] Example 51. The computing device of example 50, wherein the multi-user activity includes a navigation activity in which both the first user and the second user contribute to the navigation of a vehicle including the vehicle head unit.

[0168] Example 52. The computing device of any combination of Examples 50 and 51, wherein the multi-user activity includes a multiplayer video game presented by the second user interface.

[0169] Example 53. The computing device of any combination of Examples 30-52, wherein the first user interface of the plurality of user interfaces associated with a first user profile of the plurality of user profiles is configured to interface with a first user of the plurality of users to share content presented by the first user interface with a second user interface of the plurality of user interfaces associated with a second user profile of the plurality of user profiles.

[0170] Example 54. The computing device of Example 53, wherein the first user interface of the plurality of user interfaces associated with the first user profile of the plurality of user profiles is configured to receive a gesture indicating that the content presented by the first user interface is to be shared with the second user interface.

[0171] 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.

[0172] 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 the start of the content being shared.

[0173] Example 57. The computing device of any combination of Examples 53-56, wherein the first user interface is further configured to play audio indicating the start of the content being shared.

[0174] 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.

[0175] 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, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, and through execution of the first instance of the vehicle operating system, authorize the multiple user profiles to interface with the instance of the vehicle operating system, and through execution of the first instance of the vehicle operating system, 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, and interface with multiple users associated with one or more of the multiple user profiles via the multiple user interfaces to enable the multiple users to interface with the instance of the vehicle operating system for the purpose of controlling functionality associated with the vehicle head unit.

[0176] Example 1A. A method including executing, by a vehicle head unit included in a vehicle, an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the method further including authorizing, by the instance of the vehicle operating system, the multiple user profiles to interface with the instance of the vehicle operating system via multiple displays communicatively coupled to the vehicle head unit, and determining one or more occupant zone identifiers to authorize each of the multiple user profiles based on which of the multiple displays each of the multiple user profiles interfaced with, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the multiple user profiles is associated, the method further including obtaining, for each of the multiple user profiles, user experience restrictions that limit content displayed via each of the multiple displays for each of the multiple user profiles based on the one or more occupant zone identifiers, the user experience restrictions limiting the content displayed via each of the multiple displays for each of the multiple user profiles, the method further including limiting the content consumed by at least one of the multiple user profiles in accordance with the user experience restrictions via multiple user interfaces presented across the multiple displays by the single instance of the vehicle operating system.

[0177] Example 2A. The method of Example 1A, further comprising determining a display type for each of the plurality of displays, the display type indicating that at least one of the plurality of displays is a virtual display presented by at least one physical display of the plurality of displays.

[0178] Example 3A. The method of Example A2, wherein the at least one virtual display is presented simultaneously with other virtual displays of the plurality of displays via the at least one physical display.

[0179] Example 4A. The method of Example 2A or 3A, further comprising obtaining an operational state of the vehicle, wherein obtaining the user experience limit comprises obtaining the user experience limit based on the occupant zone identifier, the display type, and the operational state.

[0180] Example 5A. The method of Example 4A, wherein obtaining the operating state includes obtaining one of a driving state, an idle state, and a parked state, and obtaining the user experience limit includes obtaining a first user experience limit based on the driving state, obtaining a second user experience limit based on the idle state, and obtaining a third user experience limit based on the parked state, wherein the first user experience limit is more restrictive than the second user experience limit, and the second user experience limit is more restrictive than the third user experience limit.

[0181] Example 6A. The method of Examples 1A-5A, further including receiving, via an application programming interface, a registration of the user experience restrictions for the occupant zone identifier, and updating the user experience restrictions of at least one client application based on the registration of the user experience restrictions.

[0182] Example 7A. The method of Example 6A, wherein the at least one client application includes a non-distraction optimized application, and the user experience limits for the non-distraction optimized application are more restrictive than the user experience limits for a distraction optimized application.

[0183] Example 8A. The method of Examples 1A-7A, wherein the instance of a vehicle operating system includes a first instance of the vehicle operating system, and the method further includes executing a second instance of the vehicle operating system, the first instance of the vehicle operating system including an interface for communicating with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.

[0184] Example 9A. The method of Examples 1A-8A, wherein the plurality of displays are arranged around a cabin of the vehicle, including the vehicle head unit.

[0185] Example 10A. The method of Examples 1A-9A, wherein the plurality of displays includes two or more of: a first display integrated into an operator side of a front dashboard of a cabin of the vehicle containing 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 within a rear passenger compartment of the cabin.

[0186] Example 11A. The method of Examples 1A-10A, wherein the occupant zone includes one of a front operator zone, a front passenger zone, an operator side rear passenger zone, and a passenger side rear passenger zone.

[0187] Example 12A. A computing device including: a memory configured to store an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the computing device further including processing circuitry configured to execute the instance of the vehicle operating system, the instance of the vehicle operating system configured to authorize the multiple user profiles to interface with the instance of the vehicle operating system via a plurality of displays communicatively coupled to the vehicle head unit; determine one or more occupant zone identifiers based on which of the multiple displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the multiple user profiles is associated; obtain, for each of the multiple user profiles, user experience restrictions that limit content displayed via each of the multiple displays for each of the multiple user profiles based on the one or more occupant zone identifiers; and limit the content consumed by at least one of the multiple user profiles in accordance with the user experience restrictions via a plurality of user interfaces presented across the multiple displays by the single instance of the vehicle operating system.

[0188] Example 13A. The computing device of Example 12A, wherein the vehicle operating system is further configured to determine a display type for each of the plurality of displays, the display type indicating that at least one of the plurality of displays is a virtual display presented by at least one physical display of the plurality of displays.

[0189] Example 14A. The computing device of Example 13A, wherein the at least one virtual display is presented simultaneously with other virtual displays of the plurality of displays via the at least one physical display.

[0190] Example 15A. The computing device of Example 13A or 15A, wherein the vehicle operating system is further configured to obtain an operational state of the vehicle, and wherein the vehicle operating system is configured to obtain the user experience limit based on the occupant zone identifier, the display type, and the operational state.

[0191] Example 16A. The computing device of Example 15A, wherein the vehicle operating system is configured to obtain one of a driving state, an idle state, and a parked state, and wherein the vehicle operating system is configured to obtain one or more of a first user experience limit based on the driving state, a second user experience limit based on the idle state, and a third user experience limit based on the parked state, wherein the first user experience limit is more restrictive than the second user experience limit, and the second user experience limit is more restrictive than the third user experience limit.

[0192] Example 17A. The computing device of Examples 12A-16A, wherein the vehicle operating system is further configured to receive, via an application programming interface, a registration of the user experience restrictions for the occupant zone identifier, and update the user experience restrictions of at least one client application based on the registration of the user experience restrictions.

[0193] Example 18A. The computing device of Example 17A, wherein the at least one client application includes a non-distraction optimized application, and wherein the user experience limits for the non-distraction optimized application are more restrictive than the user experience limits for a distraction optimized application.

[0194] Example 19A: The computing device of Examples 12A-18A, wherein the instance of a vehicle operating system includes a first instance of the vehicle operating system, and the processing circuitry is 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 for communicating with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.

[0195] Example 20A. 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, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, authorize the multiple user profiles to interface with the instance of the vehicle operating system through execution of the first instance of the vehicle operating system, determine one or more occupant zone identifiers based on which of the multiple displays each of the multiple user profiles interfaced with to authorize each of the multiple user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the multiple user profiles is associated, obtain, for each of the multiple user profiles, user experience restrictions that limit content displayed via each of the multiple displays for each of the multiple user profiles based on the one or more occupant zone identifiers, and limit the content consumed by at least one of the multiple user profiles via multiple user interfaces presented across the multiple displays by the single instance of the vehicle operating system in accordance with the user experience restrictions.

[0196] In one or more examples, the functions described may be implemented in hardware, software, firmware, or a combination thereof. If implemented in software, the functions may be stored on or transmitted as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which correspond to tangible media such as data storage media, or communication media, including any medium that facilitates transfer of a computer program from one place to another, for example, according to a communications protocol. In this manner, computer-readable media may generally correspond to (1) tangible computer-readable storage media that is non-transitory, or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. A computer program product may include computer-readable media.

[0197] By way of example, and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage 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 referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included within the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transitory media; instead, these media are intended to cover non-transitory, tangible storage media. Disks and discs that may be used include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, Ultra Blu-ray discs, etc. Disks typically reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0198] The 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 structures or any other structure suitable for implementing the described techniques. Furthermore, in some aspects, the described functionality may be provided in dedicated hardware and / or software modules. The techniques may also be implemented entirely in one or more circuits or logic elements.

[0199] The techniques of this disclosure may be implemented in a variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC), or a set of ICs (e.g., a chipset). While various components, modules, or units are described in this disclosure to highlight functional aspects of devices configured to implement the disclosed techniques, they do not necessarily require realization by different hardware units. Rather, as described above, the various units may be combined into a hardware unit or provided by a collection of interoperable hardware units, including one or more processors as described above, in combination with appropriate software and / or firmware.

[0200] Various examples have been described. These and other examples are within the scope of the following claims.

Claims

1. 1. A method comprising: executing, by a vehicle head unit included in the vehicle, an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the method further comprising: authorizing, by the instance of the vehicle operating system, the plurality of user profiles to interface with the instance of the vehicle operating system via a plurality of displays communicatively coupled to the vehicle head unit; determining one or more occupant zone identifiers based on which of the plurality of displays each of the plurality of user profiles interfaced with to approve each of the plurality of user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the plurality of user profiles is associated, the method further comprising: obtaining, based on the one or more occupant zone identifiers and for each of the plurality of user profiles, user experience restrictions that restrict content presented via each of the plurality of displays for each of the plurality of user profiles; and restricting the content consumed by at least one of the plurality of user profiles in accordance with the user experience restrictions via a plurality of user interfaces presented across the plurality of displays by the single instance of the vehicle operating system.

2. 10. The method of claim 1, further comprising determining a display type for each of the plurality of displays, the display type indicating that at least one of the plurality of displays is a virtual display presented by at least one physical display of the plurality of displays.

3. The method of claim 2 , wherein the at least one virtual display is presented simultaneously with other virtual displays of the plurality of displays via the at least one physical display.

4. 3. The method of claim 2, further comprising obtaining an operational state of the vehicle, wherein obtaining the user experience limit comprises obtaining the user experience limit based on the occupant zone identifier, the display type, and the operational state.

5. acquiring the operating state includes acquiring one of a driving state, an idle state, and a stopped state; obtaining the user experience limit includes one of obtaining a first user experience limit based on the driving state, obtaining a second user experience limit based on the idle state, and obtaining a third user experience limit based on the stopped state; the first user experience restriction is more restrictive than the second user experience restriction; The method of claim 4 , wherein the second user experience restriction is more restrictive than the third user experience restriction.

6. receiving, via an application programming interface and for the occupant zone identifier, a registration of the user experience restrictions; The method of claim 1 , further comprising: updating the user experience limits of at least one client application based on the registration of the user experience limits.

7. the at least one client application includes a non-distraction optimized application; The method of claim 6 , wherein the user experience limit for the non-distraction optimized application is more restrictive than the user experience limit for a distraction optimized application.

8. the instance of a vehicle operating system includes a first instance of the vehicle operating system; The method further includes executing a second instance of the vehicle operating system; 2. The method of claim 1, wherein the first instance of the vehicle operating system includes an interface for communicating with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.

9. The method of claim 1 , wherein the plurality of displays are arranged around a cabin of the vehicle including the vehicle head unit.

10. The plurality of displays include: a first display integrated into an operator side of a front dashboard of a cabin of the vehicle containing the vehicle head unit; a second display integrated into the center console of the front dashboard; a third display integrated into the passenger side of the front dashboard; and and a fourth display integrated within a rear passenger compartment of the cabin.

11. The method of claim 1 , wherein the occupant zone comprises one of a front operator zone, a front passenger zone, an operator side rear passenger zone, and a passenger side rear passenger zone.

12. 1. A computing device comprising: a memory configured to store an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the computing device further comprising: a processing circuit configured to execute the instance of the vehicle operating system; The instance of the vehicle operating system: authorizing the plurality of user profiles to interface with the instance of the vehicle operating system via a plurality of displays communicatively coupled to the vehicle head unit; determining one or more occupant zone identifiers based on which of the plurality of displays each of the plurality of user profiles interfaced with to approve each of the plurality of user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the plurality of user profiles is associated; obtaining, based on the one or more occupant zone identifiers and for each of the plurality of user profiles, user experience restrictions that restrict content presented via each of the plurality of displays for each of the plurality of user profiles; a computing device configured to limit the content consumed by at least one of the plurality of user profiles in accordance with the user experience restrictions via a plurality of user interfaces presented across the plurality of displays by the single instance of the vehicle operating system.

13. 13. The computing device of claim 12, wherein the vehicle operating system is further configured to determine a display type for each of the plurality of displays, the display type indicating that at least one of the plurality of displays is a virtual display presented by at least one physical display of the plurality of displays.

14. The computing device of claim 13 , wherein the at least one virtual display is presented simultaneously with other virtual displays of the plurality of displays via the at least one physical display.

15. The vehicle operating system is further configured to obtain an operating state of the vehicle; The computing device of claim 13 , wherein the vehicle operating system is configured to obtain the user experience limit based on the occupant zone identifier, the display type, and the operating state.

16. the vehicle operating system is configured to obtain one of a driving state, an idle state, and a stopped state; the vehicle operating system is configured to obtain one or more of a first user experience limit based on the driving state, a second user experience limit based on the idle state, and a third user experience limit based on the stopped state; the first user experience restriction is more restrictive than the second user experience restriction; The computing device of claim 15 , wherein the second user experience restriction is more restrictive than the third user experience restriction.

17. The vehicle operating system receiving, via an application programming interface and for the occupant zone identifier, a registration of the user experience restrictions; The computing device of claim 12 , further configured to update the user experience limits of at least one client application based on the registration of the user experience limits.

18. the at least one client application includes a non-distraction optimized application; 20. The computing device of claim 17, wherein the user experience limit for the non-distraction optimized application is more restrictive than the user experience limit for a distraction optimized application.

19. the instance of a vehicle operating system includes a first instance of the vehicle operating system; the processing circuitry is further configured to execute a second instance of the vehicle operating system; 13. The computing device of claim 12, wherein the first instance of the vehicle operating system includes an interface for communicating with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.

20. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to: and executing an instance of a vehicle operating system, the instance of the vehicle operating system facilitating concurrent access by multiple user profiles, the instructions further directing the one or more processors to: authorizing the plurality of user profiles to interface with the instance of the vehicle operating system through execution of the first instance of the vehicle operating system; and determining one or more occupant zone identifiers based on which of the plurality of displays each of the plurality of user profiles interfaced with to acknowledge each of the plurality of user profiles, each of the one or more occupant zone identifiers identifying an occupant zone of the vehicle with which each of the plurality of user profiles is associated, the instructions further causing the one or more processors to: obtaining, based on the one or more occupant zone identifiers and for each of the plurality of user profiles, user experience restrictions that restrict content presented via each of the plurality of displays for each of the plurality of user profiles; A non-transitory computer-readable storage medium that limits the content consumed by at least one of the plurality of user profiles in accordance with the user experience restrictions via a plurality of user interfaces presented across the plurality of displays by the single instance of the vehicle operating system.

Citation Information

Patent Citations

  • Display system utilizing agent character display

    JP2006335231A

  • Vehicle-mounted electronic equipment control system

    JP2007118626A

  • Vehicle-mounted device and output device

    JP2008173996A

  • Scaling virtual machine instances

    JP2015529918A

  • Presentation of and interaction with audiovisual content in vehicles

    JP2017507399A