Single instance multi-user support for vehicle operating system
By implementing single instance multi-user support in the vehicle operating system, allowing multiple user profiles to access the vehicle operating system simultaneously, and presenting multiple user interfaces through multiple displays, the limitations of multi-user coordination and interaction in the prior art are solved, and a secure and interference-free user experience and functional control are achieved.
Patent Information
- Application Number
- CN202380059564.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-15
- Filing Date
- 2023-08-10
- Publication Date
- 2025-03-14
AI Technical Summary
Existing vehicle operating systems usually only support concurrent access to a single user profile, limiting the coordination and interaction of multiple users within the vehicle, especially in a multi-display environment, making it difficult to achieve a safe and interference-free user experience.
By implementing single instance multi-user support in the vehicle operating system, multiple user profiles are allowed to access the instance of the vehicle operating system simultaneously, multiple displays are used to present multiple user interfaces, and dock with multiple user profiles through the user interface to achieve control and coordination of the functions related to the vehicle host unit.
It realizes that multiple users in the vehicle safely interact with the vehicle operating system without interfering with the operator, improves the user experience when the vehicle is driving, allows the user experience to be customized according to each user profile, and supports content sharing and coordination activities among multiple users.
Smart Images

Figure CN119630550A_ABST
Abstract
Description
[0001] This application claims priority to U.S. Provisional Application Serial No. 63 / 371,445, filed on August 15, 2022, entitled “CONTEXT AWARE SAFETY FEATURES FOR VEHICLE OPERATING SYSTEMS,” and U.S. Provisional Application Serial No. 63 / 371,451, filed on August 15, 2022, entitled “SINGLE-INSTANCE MULTI-USER SUPPORT FOR VEHICLE OPERATING SYSTEMS,” each of which is hereby incorporated by reference in its entirety as if fully set forth herein. Background Art
[0002] A vehicle head unit (which may be referred to as an infotainment system) may be configured to execute a vehicle operating system to facilitate control of, to name a few, entertainment (such as music, video, images, etc.), information, navigation, and voice calls, as well as vehicle systems (such as heating, ventilation and air conditioning (HVAC) systems, lighting systems, and seat control systems (including heating and / or cooling, seat adjustment, etc.)). The vehicle operating system may enable a single user profile to access a given instance of the vehicle operating system, where the single user profile is typically the operator of the vehicle. Although an instance of a vehicle operating system may support multiple user profiles, the instance of the vehicle operating system may only allow a single user profile from the multiple user profiles to access (or in other words "log into") the instance of the vehicle operating system. An instance of the vehicle operating system may limit access to a single user profile to ensure that the operator of the vehicle is not distracted by the behavior of other user profiles when operating the vehicle. Summary of the invention
[0003] In general, various aspects of the technology described in the present disclosure relate to a single instance of a vehicle operating system that provides concurrent multi-user support. Rather than limiting access to a single user profile to a single instance of a vehicle operating system, a single instance of a vehicle operating system described in the present disclosure may allow multiple user profiles to access a single instance of the vehicle operating system. As vehicles have begun to integrate more and more displays in the passenger compartment of the vehicle, more users can safely interface with the vehicle operating system without interfering with the operator of the vehicle (given that in some examples, the operator has a limited view of these displays, or cannot directly see these displays, which may be located behind the operator for use by rear seat passengers). Therefore, multiple users associated with multiple user profiles can access the vehicle operating system and interact with the vehicle to control various functions provided via the vehicle head unit, such as entertainment, information, navigation and voice calls, as well as various vehicle systems (which may depend to some extent on the multiple user locations within the vehicle).
[0004] Multiple users may also interface with the vehicle operating system to jointly coordinate activities between the multiple users, such as sharing content between the multiple users, reviewing content viewed by other users of the multiple users, controlling audio playback between the multiple users (such as changing audio playback volume, coordinating playlists, etc.), passing messages between the multiple users, collaborating on navigation directions by the multiple users, etc. In some instances, the multiple users may use gestures (such as swipe gestures, pinch gestures, and tap gestures) to indicate sharing of such content, which may allow intuitive control of sharing between the multiple users.
[0005] Thus, various aspects of the technology described in this disclosure can facilitate a better user experience while the vehicle is in motion, while still maintaining safety concerns without disrupting the operator of the vehicle. Since multiple user profiles are allowed to access the vehicle operating system, the vehicle operating system can customize the user experience according to each individual user profile, allowing preferences specific to each individual user profile to be applied. The vehicle operating system can also allow multiple users to coordinate activities (as described above), which can improve the user experience while the vehicle is in motion. Given that an additional display (which can be separate from the main display of the vehicle's head unit) can be located in the passenger compartment of the vehicle where the operator cannot directly see the presented content, the vehicle operating system can allow increased access to content while also potentially limiting any disruption to the operator.
[0006] In one example, the present disclosure describes a method comprising: executing an instance of a vehicle operating system through a vehicle head unit, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorizing multiple user profiles to interface with the instance of the vehicle operating system through the instance of the vehicle operating system; presenting multiple user interfaces through the instance of the vehicle operating system 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; and 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 in order to control functions associated with the vehicle head unit.
[0007] In another example, the present disclosure describes a computing device comprising: a memory configured to store an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; one or more processors for executing the instance of the vehicle operating system, wherein the instance of the vehicle operating system is configured to: authorize multiple user profiles to interface with the instance of the vehicle operating system; and 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, wherein the multiple user interfaces are 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 to control functions associated with the vehicle head unit.
[0008] In another example, the present disclosure describes a non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to: execute an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorize multiple user profiles to interface with the instance of the vehicle operating system via execution of a first instance of the vehicle operating system; present multiple user interfaces across multiple displays communicatively coupled to a vehicle head unit via execution of the first instance of the vehicle operating system, each of the multiple user interfaces being 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 in order to control functions associated with the vehicle head unit.
[0009] In another example, the present disclosure describes a computing device comprising: components for executing an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; components for authorizing multiple user profiles to interface with the instance of the vehicle operating system; components 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; and components for interacting 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 to control functions associated with the vehicle head unit.
[0010] 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 DESCRIPTION OF THE DRAWINGS
[0011] Figure 1is 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.
[0012] Figure 2 is a diagram illustrating an example of a 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.
[0013] Figure 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 according to the vehicle operating system techniques described in this disclosure.
[0014] Figure 4 is a diagram illustrating an example 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.
[0015] Figure 5 and Figure 6 is a diagram illustrating audio control in a single-instance multi-user vehicle operating system in accordance with various aspects of the techniques described in this disclosure.
[0016] Figure 7 It is shown Figure 1 A flowchart of example operations of a computing system executing a vehicle operating system configured to perform various aspects of the techniques described in this disclosure is shown. DETAILED DESCRIPTION
[0017] Figure 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 1 As shown 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 used in different contexts, including stand-alone computing systems (including laptops, desktop computers, workstations, etc.), gaming systems, cellular phones (including so-called “smart phones”), media systems (including streaming media systems), audio / video (A / V) receivers, televisions (including so-called “smart TVs”), smart speakers, smart watches, thermostats (including so-called “smart thermostats”), smart glasses, or any other computing system.
[0018] Regardless, computing device 102 is an example of a vehicle computing device, such as a vehicle head unit. Figure 1Only one particular example of computing device 102 is shown, and many other examples of computing device 102 may be used in other instances and may include a subset of the components included in the example computing device 102, or may include Figure 1 Additional components not shown.
[0019] like Figure 1 As shown in the example of , the computing device 102 includes a presence-sensitive 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, and one or more storage devices 148 and a communication channel 149. The communication channel 149 can interconnect each of the components 112, 140, 142, 146, and / or 148 for inter-component communication (physically, communicatively, and / or operationally), and thereby allow the components 112, 140, 142, 146, and 148 to communicate with each other. In some examples, the communication channel 149 may include a system bus, a network connection, one or more inter-process communication data structures, or any other component for transmitting data (also referred to as information). Although shown as including components 112, 140, 142, 146, and 148, the host computing device 102 may include other components in addition to the components shown or fewer components than the components shown, where such components may be included in other control units such as a telematics control unit (TCU).
[0020] One or more communication units 142 of computing device 102 can communicate with external devices by sending and / or receiving data. For example, computing device 102 can use one or more of communication units 142 to send and / or receive radio signals on a radio network (such as a cellular radio network). In some examples, communication unit 142 can send and / or receive satellite signals on a satellite network (such as a global positioning system (GPS) network). Examples of communication unit 142 include a network interface card (e.g., an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and / or receive information. Other examples of communication unit 142 may include shortwave radios (e.g., NFC, BLUETOOTH (including BLE)), GPS, 3G, 4G, 5G, and WIFI radios, and universal serial bus (USB) controllers, etc., found in mobile devices.
[0021] One or more input components 144 of computing device 102 can receive input. Examples of input are tactile input, audio input, kinetic input, and optical input, to name a few. In one example, input component 144 of computing device 102 includes a mouse, keyboard, touchpad, voice response system, camera, button, scroll wheel, dial, control pad, microphone (or in other words, audio capture device), or any other type of device for detecting input from a human or machine. Input component 144 may include a camera. In some examples, input component 144 may be a presence-sensitive input component separate from presence-sensitive display 112, which may include a presence-sensitive screen, a touch-sensitive screen, etc.
[0022] One or more output components 146 of computing device 102 may generate output. Examples of output are tactile, audio, and video output. In some examples, output components 146 of computing device 102 include a presence-sensitive screen (possibly separate from presence-sensitive display 112), a sound card, a video graphics adapter card, a speaker, a cathode ray tube (CRT) monitor, 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.
[0023] In some examples, presence-sensitive display 112 of computing device 102 may include functionality of input component 144 and / or output component 146. Figure 1 In an example of , presence-sensitive display 112 may include presence-sensitive input (PSI) component 104 ("PSI component 104"), such as a presence-sensitive screen or a touch-sensitive screen. In some examples, presence-sensitive input component 104 may detect objects at and / or near the presence-sensitive input component. As an example range, presence-sensitive input component 104 may detect objects, such as a finger or stylus, within two inches or less of presence-sensitive input component 104. Presence-sensitive input component 104 may determine a location (e.g., (x, y) coordinates) of the presence-sensitive input component at which the object was detected. In another example range, presence-sensitive input component 104 may detect an object two inches or less from presence-sensitive input component 104, and other ranges are possible. Presence-sensitive input component 104 may use capacitive, inductive, and / or optical recognition techniques to determine the location of presence-sensitive input component 104 selected by a user's finger.
[0024] In some examples, presence-sensitive display 112 may also provide output to the user using tactile, audio, or video stimulation, as described with respect to output component 146. For example, presence-sensitive display 112 may include display component 103 that displays a graphical user interface. Display component 103 may be any type of output component that provides visual output, such as described with respect to output component 146. Although shown as an integrated component of computing device 102, presence-sensitive display 112 may be an external component that shares a data or information path with other components of computing device 102 to send and / or receive input and output in some examples. For example, presence-sensitive display 112 may be a built-in component of computing device 102 (e.g., an in-vehicle screen installed in a dashboard of a vehicle) that is located within and physically connected to an external package of computing device 102. In another example, presence-sensitive display 112 may be an external component of computing device 102 (e.g., a monitor, projector, etc. that shares a wired and / or wireless data path with an electronic control unit of a vehicle) that is located outside and physically separated from the package of computing device 102. In some examples, presence-sensitive display 112 , when located outside and physically separate from the packaging of computing device 102 , can be implemented by two separate components: presence-sensitive input component 104 for receiving input and display component 103 for providing output.
[0025] One or more storage devices 148 within computing device 102 may store information for processing during operation of computing device 102 (e.g., computing device 102 may store data accessed by operating system (OS) 160A and OS 160B during execution at computing device 102). Figure 1 As shown in the example of , one or more storage devices 148 can store a first instance of operating system 160A (OS 160A) and a second instance of operating system 160B (OS 160B). In some examples, storage component 148 is temporary storage, meaning that the primary purpose of storage component 148 is not long-term storage. Storage device 148 of computing device 102 can be configured as volatile memory for short-term storage of information, and therefore the stored contents are not retained when the computer is shut down. 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.
[0026] In some examples, storage device 148 also includes one or more computer-readable storage media. Storage device 148 includes one or more non-transitory computer-readable storage media in some examples. Storage device 148 can be configured to store a larger amount of information than is typically stored by volatile memory. Storage device 148 can be further configured as a non-volatile memory space for long-term storage of information and retain information after a power-on / power-off cycle. Examples of non-volatile memory include a magnetic hard disk, an optical disk, a flash memory, or a form of electrically programmable memory (EPROM) or electrically erasable and programmable (EEPROM) memory. Storage device 148 can store program instructions and / or information (e.g., data) associated with OS 160A and / or 160B. Storage device 148 may include a memory configured to store data or other information (not shown for ease of illustration) associated with OS 160A and OS 160B.
[0027] One or more processors 140 may implement functions associated with the computing device 102 and / or execute instructions associated with the computing device. Examples of processors 140 include application processors, display controllers, auxiliary processors, one or more sensor hubs, and any other hardware configured to function as a processor, processing unit, or processing device. OS 160A and / or 160B may be operated (or in other words, executed) by processor 140 to perform various actions, operations, or functions of computing device 102. That is, OS 160A and / or OS 160B may form executable bytecodes that, when executed, cause processor 140 to perform specific operations according to various aspects of the technology described herein (and thereby make computing device 102 a special-purpose computer for performing specific operations). For example, processor 140 of computing device 102 may retrieve and execute instructions stored by storage device 148 that cause processor 140 to perform operations attributed to OS 160A and / or 160B described herein. These instructions, when executed by processor 140 , may cause computing device 102 to store information in storage device 148 .
[0028] As described above, computing system 100 may be integrated or otherwise included in a vehicle. The vehicle may include one or more of the following: a bicycle, a tricycle, a unicycle, a motorcycle, an automobile, agricultural equipment (such as a tractor, a combine harvester, etc.), construction equipment (dump trucks, cranes, etc.), military vehicles or equipment (tanks, weaponry, etc.), a truck, a semi-trailer tractor (or in other words, a semitrailer), an aviation device (such as an airplane), a nautical device (such as a ship, a transport ship, a submarine, etc.), or any other type of vehicle.
[0029] Computing device 102 (which, as described above, may be referred to as vehicle head unit 102 as well as infotainment system 102) may be configured to execute a vehicle operating system, such as one or more of OS 160A and 160B (which may therefore also be referred to as vehicle OS 160A—VOS 160A—and VOS 160B), to facilitate control of, to name a few, entertainment (such as music, video, images, etc.), information, navigation, and voice calls, and vehicle systems (such as heating, ventilation, and air conditioning (HVAC) systems, lighting systems, and seat control systems (including heating and / or cooling, seat adjustment, etc.)). In some instances, the vehicle operating system may allow a single user profile to access a given instance of the vehicle operating system at once, where the single user profile is typically the operator of the vehicle.
[0030] The vehicle operating system may be referred to as a single-instance single-user vehicle operating system. That is, a single instance of the vehicle operating system may only allow a single user profile to access the single instance of the vehicle operating system and require a user profile switch in which the single user profile is replaced with another single user profile. In this regard, only a single user profile may access the single instance of the vehicle operating system at any given time.
[0031] To enable multiple concurrent user profiles, processor 140 may execute another instance of the vehicle operating system, which may require an additional processor and / or a processor with higher processing capacity (generally more expensive). However, it may be difficult to achieve efficient communication between the two instances of the vehicle operating system, making it impossible for users associated with multiple user profiles to share content with each other, thereby potentially limiting the user experience.
[0032] Thus, while an instance of a vehicle operating system may support multiple user profiles, the instance of the vehicle operating system may only allow a single user profile from the multiple user profiles to access (or in other words "log into") the instance of the vehicle operating system. The instance of the vehicle operating system may limit access to a single user profile to ensure that the operator of the vehicle is not distracted by the actions of other user profiles when operating the vehicle.
[0033] According to various aspects of the techniques described in this disclosure, computing system 100 may implement a single instance of a vehicle operating system, such as VOS 160A and / or 160B (“VOS 160”), that provides concurrent multi-user support. The single instance of VOS 160 described in this disclosure does not restrict access to the single instance of VOS 160 by a single user profile, but rather may allow multiple user profiles to access the single instance of VOS 160. As vehicles begin to integrate more and more displays, such as presence-sensitive enabled displays 150A-150N (“presence-sensitive enabled displays 150”, which may also be referred to as “displays 150”) in the passenger cabin of the vehicle, more users may safely interface with VOS 160 without interfering with the operator of the vehicle (given that in some examples, the operator has a limited view of these displays 150, or is unable to directly see these displays 150, which may be located behind the operator for use by rear seat passengers). Thus, multiple users associated with multiple user profiles can access VOS 160 and interact with computing device 102 to control various functions provided via computing device 102, such as entertainment, information, navigation, and voice calls, as well as various vehicle systems (which may depend to some extent on the multiple user locations within the vehicle).
[0034] Multiple users may also interface with the VOS 160 to jointly coordinate activities among the multiple users, such as sharing content among the multiple users, reviewing content viewed by other users of the multiple users, controlling audio playback among the multiple users (such as changing audio playback volume, coordinating playlists, etc.), passing messages among the multiple users, collaborating on navigation directions by the multiple users, etc. In some instances, the multiple users may use gestures (such as swipe gestures, pinch gestures, and tap gestures) to indicate sharing of such content, which may allow intuitive control of sharing among the multiple users.
[0035] In operation, Figure 1As shown in the example of , computing device 102 may be docked with display 150, which may be similar to (if not substantially similar to) presence-sensitive display 112. However, rather than being integrated into computing device 102 like presence-sensitive display 112, display 150 may be communicatively coupled to computing device 102 (via wire or wirelessly) and integrated throughout the passenger cabin of a vehicle or separate from the vehicle. That is, in some instances, display 150 may also represent a tablet computer, a smartphone, a laptop computer, a portable gaming device, a portable video device, or any other device capable of docking with computing device 102 to present a user interface associated with VOS 160 (and / or applications executed in an application space presented by VOS 160, which application space may be separate from a privileged kernel space in which VOS 160 executes to facilitate interaction between applications and underlying hardware (such as units 112 and 140-148)).
[0036] Regardless, processor 140 may execute an instance of a vehicle operating system, such as VOS 160A or VOS 160B, wherein VOS 160A and / or 160B facilitates concurrent access by multiple user profiles that are configured to communicate with each other at the same time. Figure 1 160A and UP 163A to 163N ("UP 163") of VOS 160B. UP 161 / 163 may each define a set of access rights (or in other words, privileges), preferences (e.g., for user interface, VOS 160 settings, etc.), and other user-specific configuration data or information. UP 161 / 163 may each be associated with a different user, but UP 161 and UP 163 may include a user profile of the same user. For example, UP 161A and UP 163A may be associated with the same user.
[0037] As an example, the processor 140 may execute the VOS 160A and authorize multiple user profiles of the UP 161 to interface with the VOS 160A. In order to authorize the multiple user profiles of the UP 161, each of the users may register with the VOS 160A, enter a username (associated with a given UP in the UP 161) and a password to log into the VOS 160A. Alternatively, any other means for logging into the VOS 160A may be enabled, such as scanning a quick response (QR) code using a smartphone's camera, entering a personal identification number (PIN), performing a biometric identification process (e.g., fingerprint scanning, retinal scanning, etc.), facial recognition, or any other means for registering a given user profile of the UP 161 with the VOS 160A. The OS 160A may compare the entered information with the authentication information stored to the UP 161 to authorize (or in other words, authenticate) each of the multiple user profiles of the UP 161 to interface with the VOS 160A.
[0038] Although discussed with respect to authentication, VOS 160A may also allow authorization to be provided in a guest user profile (as one of UP 161) without any authentication. In this regard, the guest user profile may provide a limited experience (compared to the authenticated UP 161) in terms of maintaining preferences, applications, etc. across different sessions, but still be able to implement the functionality described below with respect to sharing content between multiple UP 161, etc.
[0039] In any case, VOS 160A can present multiple user interfaces across multiple displays (such as display 112 and one or more of display 150) communicatively coupled to computing device 102. For authenticated UPs in UP 161, VOS 160A can present a user interface specific to each of the authenticated UPs, which maintains preferences in application organization, user interface themes, various VOS 160A settings (e.g., display configurations in terms of notifications, accessibility, brightness, resolution, orientation, etc., and any other type of OS settings). In any case, each of the multiple user interfaces is associated with one or more of UP 161.
[0040] Next, VOS 160A may interface with multiple users associated with multiple UPs in UP 161 via multiple user interfaces to enable multiple users to interface with VOS 160A to control functions associated with computing device 102. Such functions may include controlling navigation, changing content playback, changing user interface settings, controlling HVAC settings, sharing content between UPs 161, and other functions described in more detail below.
[0041] In some examples, processor 140 may represent a high processing capacity processor (which may be referred to as "processor 140A") and a low processing capacity processor (which may be referred to as "processor 140B"). In some instances, processor 140 may represent a processor with variable processing capacity, the processor having two or more different operating voltages, the processor implementing high processing capacity at the high voltage and low processing capacity at the low voltage. In this sense, a single processor may represent both processor 140A and processor 140B that switch between different processing modes (e.g., a high processing mode and a low processing mode) to facilitate power conservation. Processor 140A may provide additional processor cores compared to processor 140B (or in instances where a single processor switches between processing modes, additional cores are enabled in the high processing mode compared to the low processing mode).
[0042] 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, phone calls, viewing images, text messaging, or other tasks / applications that are less processor-intensive.
[0043] In some examples, processor 140A may execute VOS 160A concurrently with processor 140B executing VOS 160B. In instances of concurrent execution of VOS 160A and 160B, VOS 160A may present an interface that VOS 160B may use to communicate with VOS 160A to facilitate various functions of computing device 102. The interface may represent an application programming interface that VOS 160B may call to facilitate inter-VOS communication between VOS 160A and VOS 160B to collaboratively facilitate support for functions provided by computing device 102.
[0044] Utilizing processors of different processing capacities may facilitate reducing energy consumption. Further, installing a high processing capacity processor 140 with all the functionality supported by the computing device 102 may be cost-prohibitive, while a low processing capacity processor 140 may allow a manufacturer to upgrade over time to add additional processors with high processing capacity (and / or possibly low processing capacity). Providing a framework for inter-VOS communications may allow a manufacturer to upgrade over time without having to configure a separate inter-VOS communication interface for facilitating access to the functionality of the computing device 102 described in more detail below.
[0045] like Figure 1 As further shown in the example of , the computing device 102 can also be docked with supporting audio capture devices 152A to 152N ("supporting audio capture devices 152" or "audio capture devices 152"). The audio capture devices 152 can each represent a microphone or other transducer configured to capture audio data representing a sound field. The supporting audio capture devices 152 can also be referred to as "microphones 152". In some examples, the audio capture devices 152 can be integrated throughout one or more zones of the passenger cabin of the vehicle including the 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 can capture (or in other words, record, detect, or otherwise sense) audio data, which the VOS 160 can use to adjust audio playback and support additional functionality provided by the computing device 102.
[0046] In this way, various aspects of the technology can promote a better user experience while the vehicle is traveling, while still maintaining safety concerns without interfering with the operator of the vehicle. Since multiple UPs 161 / 163 are allowed to access the VOS 160A / 160B, the VOS 160A / 160B can customize the user experience according to each individual UP in the UP 161 / 163, allowing the application of preferences specific to each individual UP. The VOS 160A / 160B system can also allow multiple users to coordinate activities (as described above), which can improve the user experience while the vehicle is traveling. Given that the additional display 150 (which can be separated from the main display (e.g., presence-sensitive display 112) of the vehicle head unit 102) may be located in the passenger cabin, where the operator of the vehicle cannot directly see the presented content, the VOS 160A / 160B can allow increased access to content while also potentially limiting any interference to the operator.
[0047] Figure 2 is a diagram illustrating an example of a 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 the present disclosure. Figure 2 As shown in the example of , the interior of vehicle 200 (which may be referred to as the “cabin”) may include a computing system in the form of a vehicle head unit 202 , which represents an example of computing device 102 .
[0048] exist Figure 2In the example of FIG. 2 , the vehicle head unit 202 is integrated into a generally central portion of the front instrument panel 220 (e.g., a center console). The vehicle head unit 202 includes a display 212, which may represent an example of a presence-sensitive display 112. The vehicle 200 may also include displays 250A, 250B, and 250C, which may represent the above-mentioned Figure 1 The example of display 150 described above is shown as display 250A being integrated into the passenger side of front instrument panel 220. Figure 2 Not shown in the example of FIG. 2 , but a display similar to display 250A may be integrated into the operator side of the front instrument panel 220. Displays 250B and 250C are integrated into the rear passenger compartment of the cabin (i.e., in the Figure 2 In the example of FIG. 2 , on both the operator side (display 250B) and the passenger side (display 250C) of the front seat's headrest.
[0049] As described above, VOS 160A may interface with a first user (front passenger) via a first user interface (e.g., presented by display 250A) 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) in the plurality of UPs 161. In some instances, VOS 160A may interface with the first user to perform one or more of the following: view content presented by the second user interface at the first user interface or initiate playback of the content at the first user interface.
[0050] VOS 160A may also interface with the first user to control audio playback of a second user interface presented by display 250B. VOS 160A may interface with the first user to change the audio volume associated with audio playback of a second user interface presented by display 250B via the first user interface presented by display 250A.
[0051] The VOS 160A may also interface with the first user to enable the first user and a second user (e.g., an operator-side rear passenger) to jointly interact with content presented by a second user interface presented via the display 250B. In this example, the VOS 160A may interface with the first user to enable the first user and the second user to jointly facilitate audio playback of the second user interface (such as by jointly collaborating to build an audio playlist). As another example, the VOS 160A may also interface with the first user to enable the first user and the second user to jointly facilitate a multi-user activity presented by the second user interface, wherein such a multi-user activity may include a navigation activity in which both the first user and the second user facilitate navigation of a vehicle 200 that includes a vehicle head unit 202 and / or a multi-player video game presented by the second user interface.
[0052] Although illustrated 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). That is, a single physical display 212 / 250 may be logically split (e.g., via software) to represent two different physical displays (from the perspective of an instance of the VOS 160). In this regard, a single physical display may represent multiple different displays, and the displays 212 / 250 may each represent a logically separate virtual display.
[0053] In this regard, various aspects of the technology described herein may enable a number of different use cases, including the following: Parents want to know what their kids are watching; Parents or drivers wish to control the volume of the child display; Two or more passengers may want to contribute to a shared playlist; and Two or more passengers may want to interact with the same content (like multiple game players). The following use cases can be enabled given that the technology allows: Mirror display content when running on Android Auto; Allowing drivers and passengers to mirror their displays; and Allows the driver or passenger to send input (key, rotation, D-pad, touch, etc. events) to other passengers' displays.
[0054] In other words, various aspects of the technology described herein can solve problems associated with enabling mobile apps to interact with each other (same or different apps) across multiple concurrent users on a single Android instance. Thus, the technology can enable rear seat interaction with the operator to add a stop in navigation, and / or enable operator interaction with the rear seat (such as a child) to play a video.
[0055] VOS 160A may also interface with a first user (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 presented by display 250A, for example, indicating that content presented by the first user interface is to be shared with a second user interface presented by, for example, 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 using a presence-sensitive display such as display 250A.
[0056] In some instances, VOS 160A may be configured to present an initiating animation at the first user interface indicating that the content is being shared. Additionally or alternatively, VOS 160A may play initiating audio indicating that the content is being shared. In some examples, VOS 160A may play spatialized audio to reflect the position of the first user interface relative to the position of the second user interface when playing the initiating audio indicating that the content is being shared.
[0057] In this regard, various aspects of the technology can use advanced user interface technology to make cross-display interactions (such as shared screens) more immersive. Based on the positional relationship between passenger areas in the vehicle, the technology can achieve the following: Use gestures (swipe, tap, etc.) to send content from one display to another; Use animation to visualize interactions; and Use spatial audio to show where the content is moving to make it more immersive.
[0058] Figure 32 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 according to the vehicle operating system techniques described in this disclosure. As discussed in this disclosure, vehicle displays (such as displays 212 and 250) are evolving from operator-centric to a total car experience where passengers may have: a curated selection of personal experiences on the commute; Enjoy the collective experience of a fun family trip; and Shared experience in a ridesharing environment.
[0059] Original Equipment Manufacturers (OEMs) can identify these needs and are building vehicles to provide these experiences to users. These are no longer seen as premium experiences, but rather as the value of a desirable vehicle.
[0060] In this regard, users can seek concurrent experiences across displays for a seamless and immersive experience, such as: Navigation - add stops of the current journey to the driver's display; Entertainment - Play and control videos or games for children in the back seat to keep them engaged and entertained; Users - access their own curated apps, content, and data for entertainment and / or productivity; and Personalization - Control my seat settings, HVAC controls, my seat alerts.
[0061] OEMs are considering following a user interaction model based on expectations of user behavior. There are three types of interaction models (e.g. Figure 3 ) as shown in the example: 1. The in-vehicle infotainment (IVI) display is the primary controller for content on the front seat entertainment (FSE) and rear seat entertainment (RSE); a. FSE and RSE have minimal controls - audio, play / pause, on / off, etc. 2. IVI screens are mirrored across FSE / RSE, with no content selection or control available on the passenger display; and 3. Content can be shared across all screens, each with its own individual controls.
[0062] The following user roles exist in a multi-monitor scenario: Driver: Interact with the instrument cluster and IVI screens for driving and interact with other screens in the car Front seat passengers: Use FSE to assist drivers with navigation and passengers with content Rear seat passengers: Interact with RSE for content, control and navigation advice to the driver Visitors: Traveling temporarily in a car and want to access some apps on the passenger display
[0063] Figure 4 is a diagram illustrating an example 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 4 In the example of FIG. 1 , vehicle 400 may represent vehicle 200 (eg Figure 2 4B) where vehicle head unit 202 can enable privacy and sharing between different audio zones 404A through 404D ("audio zones 404") within vehicle 400. Audio zone 404A can represent the front seat operator side zone (also represented as "front operator zone 404A"). Audio zone 404B can represent the front seat passenger side zone (also represented as "front passenger zone 404B"). Audio zone 404C can represent the operator side rear passenger zone, and audio zone 404D can represent the passenger side rear passenger zone.
[0064] In each of the audio zones 404, the vehicle 200 may include a corresponding audio capture device in audio capture devices 452A to 452D ("audio capture devices 452") and a corresponding speaker in speakers 454A to 454D ("speakers 454"). The audio capture device 452 may represent an example of the audio capture device 152. Both the audio capture device 452 and the speaker 454 may represent a transducer that, in the example of the audio capture device 452, is capable of converting sound pressure into an electrical signal representing a sound field, and in the example of the speaker 454, is capable of converting the electrical signal representing a sound field into a corresponding sound field.
[0065] Although described as having a single audio capture device in the audio capture device 452 and a single speaker in the speaker 454 in each of the audio zones 404, each of the audio zones 404 may include more or fewer audio capture devices 452 and more or fewer speakers 454. Further, although described as transducers, any type of device capable of capturing audio data (transformed from electrical signals captured by the audio capture device 452) and reproducing a sound field from electrical signals (transformed from audio data) may be utilized in one or more of the audio zones 404. Additionally, although described as transducers, any type of device capable of capturing audio data (transformed from electrical signals captured by the audio capture device 452) and reproducing a sound field from electrical signals (transformed from audio data) may be utilized in one or more of the audio zones 404. Figure 4 Four audio zones 404 are shown in the example of FIG. 4 , but vehicle 400 may include more or fewer audio zones 404 .
[0066] Regardless, VOS 160A may interface with multiple users to control audio playback within one or more of zones 404 of a passenger cabin of vehicle 400 that includes vehicle head unit 202. For example, VOS 160A may interface with multiple users to control the volume in a single one of zones 404 of the passenger cabin. As another example, VOS 160A may interface with multiple users to control the focus of audio playback in at least one of zones 404 of the passenger cabin.
[0067] Thus, various aspects of the technology may provide a central service for audio control for all users (e.g., driver and / or passenger) concurrently to control audio settings (volume up / volume down, mute, unmute, or any other control). To facilitate such control, the VOS 160A may provide services for managing audio controls (e.g., volume, mute, settings, ducking, blackouts, etc.) to provide the following: Manage controls independently for each user in their respective audio zone; Manage other users' focus in a separate zone; Also taking into account current security constraints; and Also take into account the current user role (driver, passenger, disabled passenger, rear seat passenger).
[0068] Additionally, one or more of the audio capture devices 452 may capture audio data representing the sound field at each of the one or more zones 404 (which is another way of referring to the audio zones 404). The VOS 160A may determine, based on the audio data representing the sound field occurring at each of the zones 404, that a first user of a plurality of users in a first zone (e.g., zone 404C) of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit 202. The VOS 160A may adjust the audio playback at the zones 404 based on the audio data representing the sound field occurring at each of the zones 404.
[0069] In terms of adjusting audio playback, the VOS 160A may determine a noise level based on audio data representing the sound field present at each of the zones 404. The VOS 160A may then adjust audio playback at one or more of the zones 404 based on the noise level.
[0070] In this regard, various aspects of the technology may address how to implement multi-microphone support for the VOS 160A. The VOS 160A may use the audio data captured by the audio capture device 452 to determine and / or perform the following: Using microphones to understand which user is talking and speaking, so that volume controls can be adjusted by identifying the user; Map to the display being used; Provide better assistant responses for (speaking) users; Detecting the noise level around each user (their corresponding area) and performing the audio changes required for audio playback to achieve comfortable audio listening; It also combines each user’s audio information to determine the noise level in the car and applies changes to the speakers for a better listening environment;
[0071] Figure 5 and Figure 6 is a diagram illustrating 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 instances, the vehicle operating system is limited in scope in that such vehicle operating system 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 zone 404 to share audio to the cabin for the following purposes: Shared media audio from passengers to the main cabin; Providing a mechanism for passengers not in the main cabin to request that audio be played to the main zone (e.g., operator zone 404A); Provides a mechanism for drivers to allow audio to be played in the main zone; Provides a mechanism for sharing audio focus between two different zones; and Prohibit volume control by non-cabin owners;
[0072] For example, a passenger listening to media in a rear seat entertainment (RSE) zone (e.g., one of zones 404C or 404D) can send the audio to the main cabin to allow everyone in the car to listen to the audio. Although the passenger in the rear seat RSE would choose to send the audio to the main cabin, the operator (or main cabin user) would still maintain control over allowing the audio to play, as well as retaining control over the volume and other audio settings.
[0073] Figure 5 A high-level overview of the current audio architecture is shown. Audio zones 404 are defined in the configuration to set the audio routing for each audio zone 404. Each of the audio zones 404 is defined as a collection of volume groups; each group contains a set of devices that are controlled based on volume changes on the volume group. Each device can have different audio contexts routed into the device. The vehicle audio service can use the routing information for each audio zone to define a set of audio mixes that the VOS 160A can use to configure the audio routing for each of the zones 404.
[0074] Next reference Figure 6 , shows the configuration setup between the vehicle audio service and the vehicle occupant zone service. For audio, the vehicle audio service can read the audio zone (audioZoneId) to occupant zone Id (occupantZoneId) mapping from the configuration. This information can be sent to the car occupant zone service to set up the occupant zone configuration during initialization. The occupant zone service can maintain information about the occupant zone configuration and display port mapping, which can be read from different configuration information.
[0075] The Car Audio Service can register a VehicleOccupantZoneCallback on the Occupant Zone Service. The VOS 160A can trigger this service when any of the following changes occur in the vehicle occupant zone: Display activation; Audio configuration changes; Crew area user assignment; Passenger starts; and Passengers stop.
[0076] When the audio service receives the onOccupantZoneConfigChanged signal from the callback, the audio service of the VOS 160A may automatically assign the user to its corresponding audio zone as follows: Uninstall previous user settings; Remove the previous user audio policy routing; Load audio settings for new users; Set up audio policy routing for new users; and Reset audio focus mapping for new users.
[0077] The audio service of VOS 160A may use the audio focus map to determine where incoming focus requests should be assigned.
[0078] To allow passengers to send audio to the main cabin, the following needs to happen: Handling focus requests in the main cabin; and Routing passenger audio to the main cabin Audio routing can be performed once the focus request is successfully changed from the passenger's own audio zone in the vehicle 400. For audio playback that has not yet started, the focus handling will automatically request focus in the main cabin zone according to the rules set with the audio usage priority (e.g., a current phone call will reject media audio).
[0079] The passenger should be able to request that the audio be sent to the main cabin, and a prompt will pop up for the driver to accept. Alternatively, the driver can enable a function that automatically allows the passenger to play audio. If accepted, the audio focus request can be transferred to the main cabin (if necessary) and playback can begin. If not accepted, the passenger can be prompted with a message.
[0080] Because one goal of this function is to play media for passengers in the main cabin, a passenger's focus request can be limited to media only. Focus requests for other sounds (e.g., alarms, calls, notifications, etc.) should remain in the passenger's corresponding zone. For media focus requests, the logic can be as follows: Send instantaneous focus loss to the passenger media app; Request focus for a passenger media app in the main cabin; If the focus request is granted, sending a focus gain; and If not approved due to a higher priority sound (emergency, phone call), then: Set the focus request to delayed focus; A focus is approved once a higher priority focus is completed; and Alternative: Send focus back to the user area
[0081] For passengers where user Ids are used, a possible driver for audio routing could be user id device affinity routing. This can still be used to send passenger audio to the main cabin as follows: Locate the main cabin media device (preferably a separate high-quality device); and Reset passenger device affinity to share cabin media devices.
[0082] Additionally, multi-zone audio (MZA) can facilitate individual users playing audio, all on each individual audio zone 404. This can allow users in the main cabin to play media or any other sound, while users in the rear entertainment system also play media in their respective zones. This enables OEMs to potentially design complex audio infotainment systems where each passenger can customize their own experience in the vehicle 400.
[0083] Example use cases include the following: In a car, the driver can play music while rear seat users can play their own music / media; Rear seat users can control their music volume without affecting the driver's music; A first-party music app launched in the rear seat can play the sound in the rear seat without any changes.
[0084] One mechanism for MZA is based on dynamic audio policy, specifically using UID / userId based routing. This can allow audio policy to define routing based on audio attribute usage, UID or userId. This can allow an application or service to take advantage of automatic routing of audio configured through dynamic audio policy. However, there are APIs that can be used to route audio outside of the assigned audio device. This has some impact on the car, as applications can send audio to a specific zone without user permission, for example: A rear seat entertainment (RSE) application from user A sends audio directly to the output device of the driver user in the main cabin. The RSE application from user A sends the audio directly to the output device assigned to a different RSE of user B. This may cause some concern about driver safety as the primary driver may be disturbed when unwanted sounds occur in the primary cabin.
[0085] One possible goal of this aspect of the technology is to allow current dynamic audio policies to continue to work, but restrict audio playback for users (and their corresponding applications / services) to avoid playing audio outside a set of assigned zones, regardless of the mechanism used to select devices for audio playback. For users in cars, a potential benefit is that such users will be able to continue listening to audio in the car in a private and consistent manner.
[0086] Dynamic audio policies can provide a mechanism to set devices available to users for automatic routing via the audio policy API. The audio policy API can be used or extended to restrict applications from routing audio outside of audio policy user-assigned restrictions using audio routing relative to a set of preferred devices. This should potentially limit "forced" routing to devices defined within the audio policy.
[0087] Figure 7 It is shown Figure 1 The illustrated computing system executes a flow chart of an example operation of 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, wherein VOS 160A and / or 160B facilitates the operation of a vehicle operating system by a user in a vehicle. Figure 1 160A and UP 163A-163N ("UP 163") of VOS 160B are shown as concurrent access (700) by multiple user profiles.
[0088] As an example, processor 140 may execute VOS 160A and authorize multiple user profiles of UP 161 to interface with VOS 160A (702). VOS 160A may present multiple user interfaces across multiple displays (such as display 112 and one or more of display 150) communicatively coupled to computing device 102 (704). Next, VOS 160A may interface with multiple users associated with multiple UPs in UP 161 via multiple user interfaces to enable multiple users to interface with VOS 160A to control functions associated with computing device 102 (706). The functions may include controlling navigation, changing content playback, changing user interface settings, controlling HVAC settings, sharing content between UPs 161, and other functions described above.
[0089] In this manner, the above-described technology can implement the following examples.
[0090] Example 1. A method comprising: executing an instance of a vehicle operating system through a vehicle head unit, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorizing the multiple user profiles to interface with the instance of the vehicle operating system through the instance of the vehicle operating system; presenting multiple user interfaces through the instance of the vehicle operating system 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; and interfacing with multiple users associated with the 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 to control functions associated with the vehicle head unit.
[0091] Example 2. A method as described in Example 1, wherein the instance of the vehicle operating system includes a first instance of the vehicle operating system, wherein the method further includes executing a second instance of the vehicle operating system, and wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.
[0092] Example 3. A method as described in Example 2, wherein the vehicle head unit includes a high processing capacity processor that executes the first instance of the vehicle operating system, wherein the vehicle head unit includes a low processing capacity processor that executes the second instance of the vehicle operating system, and wherein the high processing capacity processor provides more processing capacity than the low processing capacity processor.
[0093] Example 4. The method of any combination of Examples 1 to 3, wherein the plurality of displays are displaced around a passenger cabin of a vehicle including the vehicle head unit.
[0094] Example 5. A method as described in any combination of Examples 1 to 4, wherein the multiple displays include two or more of the following: a first display, which is integrated into the operator side of the front dashboard of the passenger cabin of the vehicle including the vehicle head unit; a second display, which is integrated into the center console of the front dashboard; a third display, which is integrated into the passenger side of the front dashboard; and a fourth display, which is integrated into the rear passenger compartment of the passenger cabin.
[0095] Example 6. The method of any combination of Examples 1 to 5, wherein the plurality of displays includes one or more computing devices associated with at least one user of the plurality of users who is a passenger of a vehicle including the vehicle head unit.
[0096] Example 7. A method as described in any combination of Examples 1 to 6, wherein interfacing with the multiple users associated with one or more of the multiple user profiles includes: interfacing with the multiple users to control audio playback within one or more zones of a passenger cabin of a vehicle including the vehicle head unit.
[0097] 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.
[0098] Example 9. The method of any combination of Examples 7 and 8, wherein interfacing with the plurality of users to control the audio playback comprises interfacing with the plurality of users to control audio volume in a single zone of the one or more zones of the cabin.
[0099] Example 10. The method of any combination of Examples 7 to 9, wherein interfacing with the plurality of users to control the audio playback comprises interfacing with the plurality of users to control a focus of the audio playback in at least one of the one or more zones of the cabin.
[0100] Example 11. The method of any combination of Examples 7 to 10, further comprising: capturing audio data representative of the sound field at each of the one or more zones via one or more audio capture devices communicatively coupled to the vehicle head unit.
[0101] Example 12. The method of Example 11 further includes: determining, based on the audio data representing the sound field occurring at each of the one or more zones, that a first user of the multiple users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit.
[0102] Example 13. The method of any combination of Examples 11 and 12, further comprising adjusting audio playback at the one or more zones based on the audio data representing the sound field occurring at each of the one or more zones.
[0103] Example 14. A method as described in Example 13, wherein adjusting the audio playback includes: determining a noise level based on the audio data representing the sound field occurring at each of the one or more zones; and adjusting the audio playback at the one or more zones based on the noise level.
[0104] Example 15. A method as described in any combination of Examples 1 to 14, wherein interfacing with the multiple users associated with one or more of the multiple user profiles includes: interfacing with a first user of the multiple users via a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles to interact with content presented by a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles.
[0105] Example 16. The method of Example 15, wherein interfacing with the first user comprises interfacing with the first user to do one or more of: view content presented by the second user interface at the first user interface or initiate playback of the content.
[0106] Example 17. The method of any combination of Examples 15 and 16, wherein interfacing with the first user of the plurality of users comprises interfacing with the first user to control audio playback by the second user interface.
[0107] Example 18. The method of Example 17, wherein interfacing with the first user to control the audio playback comprises interfacing with the first user to change, via the first user interface, an audio volume associated with the audio playback by the second user interface.
[0108] Example 19. The method of any combination of Examples 15 to 18, wherein interfacing with the first user comprises interfacing with the first user to enable the first user and the second user to jointly interact with the content presented by the second user interface.
[0109] Example 20. The method of Example 19, wherein interfacing with the first user to enable the first user and the second user to jointly interact with the content includes: interfacing with the first user to enable the first user and the second user to jointly facilitate audio playback by the second user interface.
[0110] Example 21. A method as described in any combination of Examples 19 and 20, wherein interfacing with the first user to enable the first user and the second user to jointly interact with the content includes: interfacing with the first user to enable the first user and the second user to jointly facilitate a multi-user activity presented by the second user interface.
[0111] Example 22. The method of Example 21, wherein the multi-user activity comprises a navigation activity in which both the first user and the second user facilitate navigation of a vehicle including the vehicle head unit.
[0112] Example 23. The method of any combination of Examples 21 and 22, wherein the multi-user activity comprises a multi-player video game presented by the second user interface.
[0113] Example 24. A method as described in any combination of Examples 1 to 23, wherein docking with the multiple users associated with one or more of the multiple user profiles includes: docking with a first user of the multiple users via a first user interface associated with a first user profile of the multiple user profiles to share content presented by a second user interface associated with a second user profile of the multiple user profiles.
[0114] Example 25. The method of Example 24, wherein interfacing with the first user comprises 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.
[0115] Example 26. The method of Example 25, wherein the gesture comprises one or more of a swipe gesture, a pinch gesture, and a tap gesture.
[0116] Example 27. The method of any combination of Examples 24 to 26, further comprising: presenting, through the first user interface, an animation indicating initiation of the content being shared.
[0117] Example 28. The method of any combination of Examples 24 to 27, further comprising: playing initiated audio indicating that the content is shared.
[0118] Example 29. The method of Example 28, wherein playing the audio comprises playing spatialized audio to reflect a position of the first user interface relative to a position of the second user interface.
[0119] Example 30. A computing device comprising: a memory configured to store an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; one or more processors, the one or more processors for executing the instance of the vehicle operating system, wherein the instance of the vehicle operating system is configured to: authorize the multiple user profiles to interface with the instance of the vehicle operating system; and present multiple user interfaces across multiple displays communicatively coupled to a vehicle head unit, each of the multiple user interfaces being associated with one or more of the multiple user profiles, wherein the multiple user interfaces are configured to interface with multiple users associated with the one or more of the multiple user profiles to enable the multiple users to interface with the instance of the vehicle operating system to control functions associated with the vehicle head unit.
[0120] Example 31. A computing device as described in Example 30, wherein the instance of the vehicle operating system includes a first instance of the vehicle operating system, wherein the one or more processors are further configured to execute a second instance of the vehicle operating system, and wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.
[0121] Example 32. A computing device as described in Example 31, wherein the one or more processors include a high processing capacity processor that executes the first instance of the vehicle operating system, wherein the one or more processors include a low processing capacity processor that executes the second instance of the vehicle operating system, and wherein the high processing capacity processor provides more processing capacity than the low processing capacity processor.
[0122] Example 33. The computing device of any combination of Examples 30 to 32, wherein the plurality of displays are displaced around a passenger cabin of a vehicle including the vehicle head unit.
[0123] Example 34. A computing device as described in any combination of Examples 30 to 33, wherein the multiple displays include two or more of: a first display, the first display being integrated into an operator side of a front dashboard of a passenger cabin of a vehicle including the vehicle head unit; a second display, the second display being integrated into a center console of the front dashboard; a third display, the third display being integrated into a passenger side of the front dashboard; and a fourth display, the fourth display being integrated into a rear passenger compartment of the passenger cabin.
[0124] Example 35. A computing device as described in any combination of Examples 30 to 34, wherein the plurality of displays includes one or more computing devices associated with at least one user of the plurality of users who is a passenger in a vehicle including the vehicle head unit.
[0125] Example 36. The computing device of any combination of Examples 30 to 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 passenger cabin of a vehicle including the vehicle head unit.
[0126] 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.
[0127] 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.
[0128] Example 39. A computing device as described in any combination of Examples 36 to 38, wherein the plurality of user interfaces are configured to interface with the plurality of users to control a focus of audio playback in at least one of the one or more zones of the cabin.
[0129] Example 40. The computing device of any combination of Examples 36 to 39, further comprising: one or more audio capture devices configured to capture audio data representative of a sound field at each of the one or more zones.
[0130] Example 41. A computing device as described in Example 40, wherein the instance of the vehicle operating system is further configured to: determine, based on the audio data representing the sound field present at each of the one or more zones, that a first user of the multiple users in a first zone of the one or more zones is speaking in an attempt to audibly interface with the vehicle head unit.
[0131] Example 42. A computing device as described in any combination of Examples 40 and 41, wherein the instance of the vehicle operating system is further configured to adjust audio playback at the one or more zones based on the audio data representing the sound field occurring at each of the one or more zones.
[0132] Example 43. A computing device as described in 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 at each of the one or more zones; and adjust the audio playback at the one or more zones based on the noise level.
[0133] Example 44. A computing device as described in any combination of Examples 30 to 43, wherein a first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles is configured to interface with a first user of the multiple users to interact with content presented by a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles.
[0134] Example 45. A computing device as described in Example 44, wherein the first user interface among the multiple user interfaces associated with the first user profile among the multiple user profiles is configured to interface with the first user to perform one or more of the following: viewing content presented by the second user interface at the first user interface or initiating playback of the content.
[0135] Example 46. A computing device as described in any combination of Examples 44 and 45, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to control audio playback performed by the second user interface.
[0136] Example 47. A computing device as described in Example 46, wherein the first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles is configured to interface with the first user to change, via the first user interface, an audio volume associated with the audio playback performed by the second user interface.
[0137] Example 48. A computing device as described in any combination of Examples 44 and 45, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to enable the first user and the second user to jointly interact with the content presented by the second user interface.
[0138] Example 49. A computing device as described in Example 48, wherein the first user interface of the multiple user interfaces associated with a first user profile of the multiple user profiles is configured to interface with the first user to enable the first user and the second user to jointly facilitate audio playback performed by the second user interface.
[0139] Example 50. A computing device as described in any combination of Examples 48 and 49, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with the first user to enable the first user and the second user to jointly facilitate a multi-user activity presented by the second user interface.
[0140] Example 51. The computing device of Example 50, wherein the multi-user activity comprises a navigation activity in which both the first user and the second user facilitate navigation of a vehicle including the vehicle head unit.
[0141] Example 52. A computing device as described in any combination of Examples 50 and 51, wherein the multi-user activity includes a multi-player video game presented by the second user interface.
[0142] Example 53. A computing device as described in any combination of Examples 30 to 52, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to interface with a first user of the multiple users to share content presented by the first user interface with a second user interface of the multiple user interfaces associated with a second user profile of the multiple user profiles.
[0143] Example 54. A computing device as described in Example 53, wherein the first user interface of the multiple user interfaces associated with the first user profile of the multiple user profiles is configured to receive a gesture indicating that content presented by the first user interface is to be shared with the second user interface.
[0144] Example 55. The computing device of Example 54, wherein the gesture comprises one or more of a swipe gesture, a pinch gesture, and a tap gesture.
[0145] Example 56. The computing device of any combination of Examples 53 to 55, wherein the first user interface is further configured to present an animation indicating initiation of the content being shared.
[0146] Example 57. The computing device of any combination of Examples 53 to 56, wherein the first user interface is further configured to play initiated audio indicating that the content is being shared.
[0147] 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.
[0148] Example 59. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to: execute an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; authorize the multiple user profiles to interface with the instance of the vehicle operating system via execution of a first instance of the vehicle operating system; present multiple user interfaces across multiple displays communicatively coupled to a vehicle head unit via execution of the first instance of the vehicle operating system, each of the multiple user interfaces being associated with one or more of the multiple user profiles; and interface with multiple users associated with the 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 in order to control functions associated with the vehicle head unit.
[0149] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or sent through a computer-readable medium as one or more instructions or codes and executed by a hardware-based processing unit. A computer-readable medium may include a computer-readable storage medium corresponding to: a tangible medium, such as a data storage medium; or a communication medium, including, for example, any medium that facilitates the transfer of a computer program from one place to another according to a communication protocol. In this manner, a computer-readable medium may generally correspond to (1) a non-transitory tangible computer-readable storage medium or (2) a communication medium such as a signal or carrier wave. A data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for implementing the techniques described in the present disclosure. A computer program product may include a computer-readable medium.
[0150] By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, disk storage devices or other magnetic storage devices, flash memory, or any other medium that can be used to store the desired program code in the form of instructions or data structures and can be accessed by a computer. In addition, any connection is appropriately referred to as a computer-readable medium. For example, if a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) or wireless technologies such as infrared, radio and microwaves are used to send instructions from a website, server or other remote source, then the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio and microwaves are included in the definition of the medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carriers, signals or other temporary media, but rather relate to non-temporary tangible storage media. Disks and optical disks such as used include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks and blue optical disks, ultra blue light, etc., where disks usually reproduce data magnetically, and optical disks reproduce data optically with lasers. The combination of the above items should also be included in the scope of computer-readable media.
[0151] 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 circuit systems. Thus, the term "processor" as used may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Additionally, in some aspects, the described functionality may be provided within dedicated hardware and / or software modules. Furthermore, the techniques may be fully implemented in one or more circuits or logic elements.
[0152] The techniques of the present disclosure may be implemented in a variety of devices or apparatuses, including wireless handsets, integrated circuits (ICs), or a set of ICs (e.g., a chipset). Various components, modules, or units are described in the present disclosure to emphasize the functional aspects of a device configured to perform the disclosed techniques, but the components, modules, or units do not necessarily need to be implemented by different hardware units. Rather, as described above, the various units may be combined in 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.
[0153] Various examples have been described. These and other examples are within the scope of the following claims.
Claims
1. A method comprising: executing, by a vehicle head unit, an instance of a vehicle operating system, wherein said instance of said vehicle operating system facilitates concurrent access by a plurality of user profiles; authorizing, via the instance of the vehicle operating system, the plurality of user profiles to interface with the instance of the vehicle operating system; presenting, by the instance of the vehicle operating system, a plurality of user interfaces across a plurality of displays communicatively coupled to the vehicle head unit, each of the plurality of user interfaces being associated with one or more of the plurality of user profiles; as well as Interfacing with a plurality of users associated with the one or more of the plurality of user profiles via the plurality of user interfaces to enable the plurality of users to interface with the instance of the vehicle operating system to control functions associated with the vehicle head unit.
2. The method according to claim 1, wherein said instance of a vehicle operating system comprises a first instance of said vehicle operating system, wherein the method further comprises executing a second instance of the vehicle operating system, and Wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.
3. The method according to claim 2, wherein the vehicle head unit includes a high processing capacity processor executing the first instance of the vehicle operating system, wherein the vehicle head unit includes a low processing capacity processor executing the second instance of the vehicle operating system, and The high processing capacity processor provides more processing capacity than the low processing capacity processor.
4. The method of any one of claims 1 and 2, wherein the plurality of displays are displaced around a passenger cabin of a vehicle including the vehicle head unit.
5. The method of any one of claims 1 to 4, wherein the plurality of displays comprises two or more of: a first display integrated into an operator side of a front instrument panel of a passenger compartment of a vehicle including the vehicle head unit; a second display integrated into a center console of the front instrument panel; a third display integrated into the passenger side of the front instrument panel; as well as A fourth display is integrated into a rear passenger compartment of the cabin.
6. The method of any one of claims 1 to 5, wherein the plurality of displays includes one or more computing devices associated with at least one of the plurality of users that is a passenger in a vehicle that includes the vehicle head unit.
7. The method of any one of claims 1 to 6, wherein interfacing with the plurality of users associated with the one or more of the plurality of user profiles comprises: Interfacing with the plurality of users to control audio playback within one or more zones of a passenger cabin of a vehicle including the vehicle head unit.
8. The method of claim 7, wherein the one or more zones of the passenger 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.
9. The method of any one of claims 7 and 8, wherein interfacing with the plurality of users to control the audio playback comprises: Interfacing with the plurality of users to control audio volume in individual zones of the one or more zones of the cabin.
10. The method of any one of claims 7 to 9, wherein interfacing with the plurality of users to control the audio playback comprises: Interfacing with the plurality of users to control a focus of audio playback in at least one of the one or more zones of the cabin.
11. The method according to any one of claims 7 to 10, further comprising: Audio data representative of the sound field at each of the one or more zones is captured by one or more audio capture devices communicatively coupled to the vehicle head unit.
12. The method of claim 11, further comprising: A determination is made based on the audio data representing the sound field present at 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.
13. The method of any one of claims 11 and 12, further comprising: Audio playback at the one or more zones is adjusted based on the audio data representing the sound field occurring at each of the one or more zones.
14. The method of claim 13, wherein adjusting the audio playback comprises: determining a noise level based on the audio data representative of the sound field occurring at each of the one or more zones; as well as The audio playback at the one or more zones is adjusted based on the noise level.
15. The method of claim 1, wherein interfacing with the plurality of users associated with the one or more of the plurality of user profiles comprises: Interfacing with a first user among the multiple users via a first user interface among the multiple user interfaces associated with a first user profile among the multiple user profiles to interact with content presented by a second user interface among the multiple user interfaces associated with a second user profile among the multiple user profiles.
16. The method of claim 1, wherein interfacing with the plurality of users associated with the one or more of the plurality of user profiles comprises: Interfacing with a first user among the multiple users via a first user interface among the multiple user interfaces that is associated with a first user profile among the multiple user profiles to share content presented by the first user interface with a second user interface among the multiple user interfaces that is associated with a second user profile among the multiple user profiles.
17. A computing device comprising: a memory configured to store an instance of a vehicle operating system, wherein the instance of the vehicle operating system facilitates concurrent access by multiple user profiles; one or more processors configured to execute the instance of the vehicle operating system, wherein the instance of the vehicle operating system is configured to: authorizing the plurality of user profiles to interface with the instance of the vehicle operating system; and presenting a plurality of user interfaces across a plurality of displays communicatively coupled to the computing device, each of the plurality of user interfaces being associated with one or more of the plurality of user profiles, wherein the plurality of user interfaces are configured to interface with a plurality of users associated with the one or more of the plurality of user profiles to enable the plurality of users to interface with the instance of the vehicle operating system to control functionality associated with the computing device.
18. The computing device of claim 17, wherein said instance of a vehicle operating system comprises a first instance of said vehicle operating system, wherein the one or more processors are further configured to execute a second instance of the vehicle operating system, and Wherein the first instance of the vehicle operating system includes an interface by which to communicate with the second instance of the vehicle operating system to facilitate concurrent access by the multiple user profiles.
19. The computing device of claim 18, wherein the one or more processors include a high processing capacity processor executing the first instance of the vehicle operating system, wherein the one or more processors include a low processing capacity processor that executes the second instance of the vehicle operating system, and The high processing capacity processor provides more processing capacity than the low processing capacity processor.
20. A non-transitory computer readable storage medium having stored thereon instructions that, when executed, cause one or more processors of a vehicle head unit to: executing an instance of a vehicle operating system, wherein said instance of said vehicle operating system facilitates concurrent access by a plurality of user profiles; authorizing, via execution of the instance of the vehicle operating system, the plurality of user profiles to interface with the instance of the vehicle operating system; presenting, via execution of the instance of the vehicle operating system, a plurality of user interfaces across a plurality of displays communicatively coupled to the vehicle head unit, each of the plurality of user interfaces being associated with one or more of the plurality of user profiles; as well as Interfacing with a plurality of users associated with the one or more of the plurality of user profiles via the plurality of user interfaces to enable the plurality of users to interface with the instance of the vehicle operating system to control functions associated with the vehicle head unit.