BACKGROUND OF THE DISCLOSUREField of the DisclosureThe present disclosure relates to a signal processing device and a display apparatus for vehicles including the same, and more particularly to a signal processing device capable of rapidly and accurately processing touch input and a display apparatus for vehicles including the same.
Description of the Related ArtA vehicle is an apparatus that a driver moves in a desired direction. A representative example of the vehicle is a car.
Meanwhile, a display apparatus for vehicles is located in the vehicle for convenience of users who use the vehicle.
For example, a display is disposed in a cluster in order to display various kinds of information. Meanwhile, in order to display vehicle driving information, various displays, such as an audio video navigation (AVN) display, are located in the vehicle, in addition to the cluster.
In the case in which the number of displays in the display apparatus for vehicles is increased, however, signal processing for the displays is complicated.
Particularly, in response to touch input being performed in the state in which partially the same overlays are displayed on a plurality of displays, it is important to accurately process the touch input.
SUMMARYAn object of the present disclosure is to provide a signal processing device capable of rapidly and accurately processing touch input and a display apparatus for vehicles including the same.
Another object of the present disclosure is to provide a signal processing device capable of rapidly and accurately processing touch input even though the number of virtual machines is increased and a display apparatus for vehicles including the same.
A further object of the present disclosure is to provide a signal processing device capable of rapidly and accurately processing touch input even though operating systems of a plurality of virtual machines are different from each other and a display apparatus for vehicles including the same.
In accordance with an aspect of the present disclosure, the above and other objects can be accomplished by the provision of a signal processing device including a processor configured to perform signal processing for a display located in a vehicle, wherein the processor executes first to third virtual machines on a hypervisor in the processor, the second virtual machine is operated for a first display, the third virtual machine is operated for a second display, and the first virtual machine in the processor receives touch input to the first display or the second display and transmits information regarding the touch input to the second virtual machine or the third virtual machine.
Meanwhile, the touch input may not be input to the second virtual machine and the third virtual machine.
Meanwhile, the first virtual machine in the processor may include a physical device driver configured to receive the touch input, and each of the second virtual machine and the third virtual machine may include no physical device driver.
Meanwhile, the information regarding the touch input may include coordinate information of the touch input.
Meanwhile, in response to touch input corresponding to an overlay provided by the third virtual machine, among a plurality of overlays displayed on the first display, the first virtual machine in the processor may transmit the information regarding the touch input not to the second virtual machine but to the third virtual machine.
Meanwhile, in response to touch input corresponding to an overlay provided by the second virtual machine, among a plurality of overlays displayed on the first display, the first virtual machine in the processor may transmit the information regarding the touch input to the second virtual machine.
Meanwhile, in response to touch input corresponding to an overlay provided by the second virtual machine, among a plurality of overlays displayed on the second display, the first virtual machine in the processor may transmit the information regarding the touch input to the second virtual machine.
Meanwhile, in response to touch input corresponding to an overlay provided by the third virtual machine, among a plurality of overlays displayed on the second display, the first virtual machine in the processor may transmit the information regarding the touch input to the third virtual machine.
Meanwhile, the first virtual machine in the processor may detect an overlay corresponding to the touch input, and may transmit the information regarding the touch input to a virtual machine providing the detected overlay, which is one of the second virtual machine and the third virtual machine.
Meanwhile, the first virtual machine may be configured to store coordinate information of the touch input in a shared memory.
Meanwhile, the first virtual machine may transmit a buffer index regarding the shared memory to the second virtual machine or the third virtual machine, and the second virtual machine or the third virtual machine may read the coordinate information of the touch input written in the shared memory based on the received buffer index.
Meanwhile, the first virtual machine may include an input and output server interface, each of the second virtual machine and the third virtual machine may include an input and output client interface, the input and output server interface in the first virtual machine may be configured to store coordinate information of the touch input in the shared memory, and the input and output client interface in the second virtual machine or the third virtual machine may read the coordinate information of the touch input written in the shared memory.
Meanwhile, the first virtual machine may be configured to transmit a composite overlay generated by combining an overlay from the second virtual machine and at least one overlay from the third virtual machine with each other to the second virtual machine or the third virtual machine.
Meanwhile, in response to the information regarding the touch input corresponding to at least one overlay from the third virtual machine, the first virtual machine may be configured to transmit the information regarding the touch input to the third virtual machine, and the third virtual machine may change the at least one overlay based on the touch input and may be configured to display the changed overlay on the second display.
Meanwhile, the third virtual machine may transmit the changed overlay to the first virtual machine, and the first virtual machine may be configured to transmit the changed overlay to the second virtual machine.
Meanwhile, in response to the information regarding the touch input corresponding to operation of a hardware device in the vehicle while corresponding to at least one overlay from the third virtual machine, the first virtual machine may be configured to transmit the information regarding the touch input to the third virtual machine and may be configured to operate the hardware device in the vehicle based on the touch input.
Meanwhile, in response to the information regarding the touch input corresponding to an overlay from the second virtual machine, the first virtual machine may be configured to transmit the information regarding the touch input to the second virtual machine, and the second virtual machine may change the overlay based on the touch input and may be configured to display the changed overlay on the second display.
Meanwhile, the second virtual machine may transmit the changed overlay to the first virtual machine, and the first virtual machine may be configured to transmit the changed overlay to the third virtual machine.
Meanwhile, the processor may further execute a fourth virtual machine operated for a third display on the hypervisor in the processor, and the first virtual machine in the processor may receive touch input to any one of the first display to the third display and may transmit information regarding the received touch input to any one of the second virtual machine to the fourth virtual machine.
Meanwhile, the processor may further execute a legacy virtual machine configured to receive and process Ethernet data, and the first virtual machine may receive, process, and output vehicle sensor data, position information data, camera image data, audio data, or touch input data.
Meanwhile, the first virtual machine may receive and process wheel speed sensor data of the vehicle, and may transmit an overlay indicating the processed wheel speed sensor data or speed information corresponding to the processed wheel speed sensor data to at least one of the second virtual machine or the third virtual machine.
In accordance with another aspect of the present disclosure, there is provided a display apparatus for vehicles, the display apparatus including a first display, a second display, and a signal processing device including a processor configured to perform signal processing for the first display and the second display, wherein the processor executes first to third virtual machines on a hypervisor in the processor, the second virtual machine is operated for the first display, the third virtual machine is operated for the second display, and the first virtual machine in the processor receives touch input to the first display or the second display and transmits information regarding the touch input to the second virtual machine or the third virtual machine.
Effect of the DisclosureA signal processing device according to an embodiment of the present disclosure includes a processor configured to perform signal processing for a display located in a vehicle, wherein the processor executes first to third virtual machines on a hypervisor in the processor, the second virtual machine is operated for a first display, the third virtual machine is operated for a second display, and the first virtual machine in the processor receives touch input to the first display or the second display and transmits information regarding the touch input to the second virtual machine or the third virtual machine. Consequently, the touch input may be rapidly and accurately processed. In addition, the touch input may be rapidly and accurately processed even though the number of virtual machines that are driven is increased. Furthermore, the touch input may be rapidly and accurately processed even though operating systems of a plurality of virtual machines are different from each other.
Meanwhile, the touch input may not be input to the second virtual machine and the third virtual machine. Consequently, the touch input may be rapidly and accurately processed through the first virtual machine.
Meanwhile, the first virtual machine in the processor may include a physical device driver configured to receive the touch input, and each of the second virtual machine and the third virtual machine may include no physical device driver. Consequently, the touch input may be rapidly and accurately processed through the first virtual machine.
Meanwhile, the information regarding the touch input may include coordinate information of the touch input. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the third virtual machine, among a plurality of overlays displayed on the first display, the first virtual machine in the processor may transmit the information regarding the touch input not to the second virtual machine but to the third virtual machine. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the second virtual machine, among a plurality of overlays displayed on the first display, the first virtual machine in the processor may transmit the information regarding the touch input to the second virtual machine. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the second virtual machine, among a plurality of overlays displayed on the second display, the first virtual machine in the processor may transmit the information regarding the touch input to the second virtual machine. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the third virtual machine, among a plurality of overlays displayed on the second display, the first virtual machine in the processor may transmit the information regarding the touch input to the third virtual machine. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the first virtual machine in the processor may detect an overlay corresponding to the touch input, and may transmit the information regarding the touch input to a virtual machine providing the detected overlay, which is one of the second virtual machine and the third virtual machine. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the first virtual machine may be configured to store coordinate information of the touch input in a shared memory. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the first virtual machine may transmit a buffer index regarding the shared memory to the second virtual machine or the third virtual machine, and the second virtual machine or the third virtual machine may read the coordinate information of the touch input written in the shared memory based on the received buffer index. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the first virtual machine may include an input and output server interface, each of the second virtual machine and the third virtual machine may include an input and output client interface, the input and output server interface in the first virtual machine may be configured to store coordinate information of the touch input in the shared memory, and the input and output client interface in the second virtual machine or the third virtual machine may read the coordinate information of the touch input written in the shared memory. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the first virtual machine may be configured to transmit a composite overlay generated by combining an overlay from the second virtual machine and at least one overlay from the third virtual machine with each other to the second virtual machine or the third virtual machine. Consequently, a composite overlay using overlays of a plurality of virtual machines may be displayed.
Meanwhile, in response to the information regarding the touch input corresponding to at least one overlay from the third virtual machine, the first virtual machine may be configured to transmit the information regarding the touch input to the third virtual machine, and the third virtual machine may change the at least one overlay based on the touch input and may be configured to display the changed overlay on the second display. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, the third virtual machine may transmit the changed overlay to the first virtual machine, and the first virtual machine may be configured to transmit the changed overlay to the second virtual machine. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, in response to the information regarding the touch input corresponding to operation of a hardware device in the vehicle while corresponding to at least one overlay from the third virtual machine, the first virtual machine may be configured to transmit the information regarding the touch input to the third virtual machine and may be configured to operate the hardware device in the vehicle based on the touch input. Consequently, the operation of the hardware device corresponding to the touch input may be rapidly and accurately performed.
Meanwhile, in response to the information regarding the touch input corresponding to an overlay from the second virtual machine, the first virtual machine may be configured to transmit the information regarding the touch input to the second virtual machine, and the second virtual machine may change the overlay based on the touch input and may be configured to display the changed overlay on the second display. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, the second virtual machine may transmit the changed overlay to the first virtual machine, and the first virtual machine may be configured to transmit the changed overlay to the third virtual machine. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, the processor may further execute a fourth virtual machine operated for a third display on the hypervisor in the processor, and the first virtual machine in the processor may receive touch input to any one of the first display to the third display and may transmit information regarding the received touch input to any one of the second virtual machine to the fourth virtual machine. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the processor may further execute a legacy virtual machine configured to receive and process Ethernet data, and the first virtual machine may receive, process, and output vehicle sensor data, position information data, camera image data, audio data, or touch input data. Consequently, data processed only by the legacy virtual machine and data processed by the first virtual machine may be distinguished from each other, whereby data processing may be efficiently performed.
Meanwhile, the first virtual machine may receive and process wheel speed sensor data of the vehicle, and may transmit an overlay indicating the processed wheel speed sensor data or speed information corresponding to the processed wheel speed sensor data to at least one of the second virtual machine or the third virtual machine. Consequently, at least one virtual machine may share the wheel speed sensor data of the vehicle.
A display apparatus for vehicles according to an embodiment of the present disclosure includes a first display, a second display, and a signal processing device including a processor configured to perform signal processing for the first display and the second display, wherein the processor executes first to third virtual machines on a hypervisor in the processor, the second virtual machine is operated for the first display, the third virtual machine is operated for the second display, and the first virtual machine in the processor receives touch input to the first display or the second display and transmits information regarding the touch input to the second virtual machine or the third virtual machine. Consequently, the touch input may be rapidly and accurately processed. In addition, the touch input may be rapidly and accurately processed even though the number of virtual machines that are driven is increased. Furthermore, the touch input may be rapidly and accurately processed even though operating systems of a plurality of virtual machines are different from each other.
BRIEF DESCRIPTION OF THE DRAWINGSFIG.1A is a view showing an example of the exterior and interior of a vehicle;
FIG.1B is a view showing another example of the interior of the vehicle;
FIG.2 is a view showing the external appearance of a display apparatus for vehicles according to an embodiment of the present disclosure;
FIG.3 illustrates an example of an internal block diagram of the display apparatus for vehicles ofFIG.2;
FIG.4 is a view showing a system driven in a signal processing device related to the present disclosure;
FIG.5 is a view showing an example of a system driven in a signal processing device according to an embodiment of the present disclosure;
FIG.6 is a view showing another example of the system driven in the signal processing device according to the embodiment of the present disclosure;
FIG.7 is a view showing a further example of the system driven in the signal processing device according to the embodiment of the present disclosure;
FIGS.8 to9B are views referred to in the description ofFIG.5; and
FIGS.10A to15C are views referred to in the description ofFIGS.5 to7.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSHereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
With respect to constituent elements used in the following description, suffixes “module” and “unit” are given only in consideration of ease in preparation of the specification, and do not have or serve different meanings. Accordingly, the suffixes “module” and “unit” may be used interchangeably.
FIG.1A is a view showing an example of the exterior and interior of a vehicle.
Referring to the figure, thevehicle200 is moved by a plurality of wheels103FR,103FL,103RL, . . . rotated by a power source and asteering wheel150 configured to adjust an advancing direction of thevehicle200.
Meanwhile, thevehicle200 may be provided with acamera195 configured to acquire an image of the front of the vehicle.
Meanwhile, thevehicle200 may be further provided therein with a plurality ofdisplays180aand180bconfigured to display images and information.
InFIG.1A, acluster display180aand an audio video navigation (AVN)display180bare illustrated as the plurality ofdisplays180aand180b. In addition, a head up display (HUD) may also be used.
Meanwhile, the audio video navigation (AVN)display180bmay also be called a center information display.
The embodiment of the present disclosure proposes a scheme for adisplay apparatus100 for vehicles including a plurality ofdisplays180aand180bto divide data processing. This will be described with reference toFIG.12 and subsequent figures.
Meanwhile, thevehicle200 described in this specification may be a concept including all of a vehicle having an engine as a power source, a hybrid vehicle having an engine and an electric motor as a power source, and an electric vehicle having an electric motor as a power source.
FIG.1B is a view showing another example of the interior of the vehicle.
Referring to the figure, acluster display180a, an audio video navigation (AVN)display180b, rear seat entertainment displays180cand180d, and a rear-view mirror display (not shown) may be located in the vehicle.
The embodiment of the present disclosure proposes a scheme for adisplay apparatus100 for vehicles including a plurality ofdisplays180ato180dto rapidly and accurately process touch input. This will be described with reference toFIG.5 and subsequent figures.
FIG.2 is a view showing the external appearance of a display apparatus for vehicles according to an embodiment of the present disclosure.
Thedisplay apparatus100 for vehicles according to the embodiment of the present disclosure may include a plurality ofdisplays180aand180band asignal processing device170 configured to perform signal processing in order to display images and information on the plurality ofdisplays180aand180b.
Thefirst display180a, which is one of the plurality ofdisplays180aand180b, may be acluster display180aconfigured to display a driving state and operation information, and thesecond display180bmay be an audio video navigation (AVN)display180bconfigured to display vehicle driving information, a navigation map, various kinds of entertainment information, or an image.
Thesignal processing device170 may have aprocessor175 provided therein, and first to thirdvirtual machines520 to540 may be executed by ahypervisor505 in theprocessor175.
The secondvirtual machine530 may be operated for thefirst display180a, and the thirdvirtual machine540 may be operated for thesecond display180b.
Meanwhile, the firstvirtual machine520 in theprocessor175 may be configured to set a sharedmemory508 based on thehypervisor505 for transmission of the same data to the secondvirtual machine530 and the thirdvirtual machine540. Consequently, thefirst display180aand thesecond display180bin the vehicle may display the same information or the same images in a synchronized state.
Meanwhile, the firstvirtual machine520 in theprocessor175 shares at least some of data with the secondvirtual machine530 and the thirdvirtual machine540 for divided processing of data. Consequently, the plurality of virtual machines for the plurality of displays in the vehicle may divide and process data.
Meanwhile, the firstvirtual machine520 in theprocessor175 may receive and process wheel speed sensor data of the vehicle, and may transmit the processed wheel speed sensor data to at least one of the secondvirtual machine530 or the thirdvirtual machine540. Consequently, at least one virtual machine may share the wheel speed sensor data of the vehicle.
Meanwhile, thedisplay apparatus100 for vehicles according to the embodiment of the present disclosure may further include a rear seat entertainment (RSE)display180cconfigured to display driving state information, simple navigation information, various kinds of entertainment information, or an image.
Thesignal processing device170 may further execute a fourth virtual machine (not shown), in addition to the first to thirdvirtual machines520 to540, on thehypervisor505 in theprocessor175 to control theRSE display180c.
Consequently, it is possible to controlvarious displays180ato180cusing a singlesignal processing device170.
Meanwhile, some of the plurality ofdisplays180ato180cmay be operated based on a Linux Operating System (OS), and others may be operated based on a Web Operating System (OS).
In response to touch input to any one of thedisplays180aand180bor180ato180cconfigured to be operated under various operating systems, thesignal processing device170 according to the embodiment of the present disclosure may be configured to rapidly and accurately process the touch input.
Meanwhile,FIG.2 illustrates that avehicle speed indicator212aand an in-vehicle temperature indicator213aare displayed on thefirst display180a, ahome screen222 including a plurality of applications, avehicle speed indicator212b, and an in-vehicle temperature indicator213bis displayed on thesecond display180b, and ahome screen222bincluding a plurality of applications and an in-vehicle temperature indicator213cis displayed on thethird display180c.
FIG.3 illustrates an example of an internal block diagram of the display apparatus for vehicles according to the embodiment of the present disclosure.
Referring to the figure, thedisplay apparatus100 for vehicles according to the embodiment of the present disclosure may include aninput device110, acommunicator120, aninterface130, amemory140, asignal processing device170, a plurality ofdisplays180ato180c, anaudio output device185, and apower supply190.
Theinput device110 may include a physical button or pad for button input or touch input.
Meanwhile, theinput device110 may include a touch sensor (not shown) configured to sense touch input to thedisplays180a,180b, and180c.
Meanwhile, theinput device110 may include a microphone (not shown) for user voice input.
Thecommunicator120 may wirelessly exchange data with amobile terminal800 or aserver900.
In particular, thecommunicator120 may wirelessly exchange data with a mobile terminal of a vehicle driver. Any of various data communication schemes, such as Bluetooth, Wi-Fi, WIFI Direct, and APIX, may be used as a wireless data communication scheme.
Thecommunicator120 may receive weather information and road traffic situation information, such as transport protocol expert group (TPEG) information, from themobile terminal800 or theserver900. To this end, thecommunicator120 may include a mobile communication module (not shown).
Theinterface130 may receive sensor information from an electronic control unit (ECU)770 or asensor device760, and may transmit the received information to thesignal processing device170.
Here, the sensor information may include at least one of vehicle direction information, vehicle position information (global positioning system (GPS) information), vehicle angle information, vehicle velocity information, vehicle acceleration information, vehicle inclination information, vehicle forward/backward movement information, battery information, fuel information, tire information, vehicle lamp information, in-vehicle temperature information, and in-vehicle humidity information.
The sensor information may be acquired from a heading sensor, a yaw sensor, a gyro sensor, a position sensor, a vehicle forward/backward movement sensor, a wheel sensor, a vehicle velocity sensor, a car body inclination sensor, a battery sensor, a fuel sensor, a tire sensor, a steering-wheel-rotation-based steering sensor, an in-vehicle temperature sensor, or an in-vehicle humidity sensor. Meanwhile, the position module may include a GPS module configured to receive GPS information.
Meanwhile, theinterface130 may receive front-of-vehicle image data, side-of-vehicle image data, rear-of-vehicle image data, and obstacle-around-vehicle distance information from acamera195 or lidar (not shown), and may transmit the received information to thesignal processing device170.
Thememory140 may store various data necessary for overall operation of thedisplay apparatus100 for vehicles, such as programs for processing or control of thesignal processing device170.
For example, thememory140 may store data about the hypervisor and first to third virtual machines executed by the hypervisor in theprocessor175.
Meanwhile, thememory140 may be provided in thesignal processing device170. At this time, a sharedmemory508, a description of which will follow, may be provided in thesignal processing device170.
Theaudio output device185 may convert an electrical signal from thesignal processing device170 into an audio signal, and may output the audio signal. To this end, theaudio output device185 may include a speaker.
Thepower supply190 may supply power necessary to operate components under control of thesignal processing device170. In particular, thepower supply190 may receive power from a battery in the vehicle.
Thesignal processing device170 may control overall operation of each device in thedisplay apparatus100 for vehicles.
For example, thesignal processing device170 may include aprocessor175 configured to perform signal processing for thedisplays180aand180b.
Theprocessor175 may execute the first to thirdvirtual machines520 to540 on the hypervisor505 (seeFIG.5) in theprocessor175.
Meanwhile, theprocessor175 may further execute a legacy virtual machine configured to receive and process Ethernet data. For example, as shown inFIG.5, the legacyvirtual machine510 may be executed by the firstvirtual machine520 in theprocessor175.
Among the first to thirdvirtual machines520 to540 (seeFIG.5), the firstvirtual machine520 may be called a server virtual machine, and the second and thirdvirtual machines530 and540 may be called guest virtual machines.
The secondvirtual machine530 may be operated for thefirst display180a, and the thirdvirtual machine540 may be operated for thesecond display180b.
For example, the firstvirtual machine520 in theprocessor175 may receive, process, and output vehicle sensor data, position information data, camera image data, audio data, or touch input data. Data processed only by a legacy virtual machine and data processed by the firstvirtual machine520 may be distinguished from each other, whereby data processing may be efficiently performed. In particular, the firstvirtual machine520 may process most of the data, whereby 1:N data sharing may be achieved.
As another example, the firstvirtual machine520 may directly receive and process CAN communication data, audio data, radio data, USB data, and wireless communication data for the second and thirdvirtual machines530 and540.
The firstvirtual machine520 may transmit the processed data to the second and thirdvirtual machines530 and540.
Consequently, only the firstvirtual machine520, among the first to thirdvirtual machines520 to540, may receive communication data and external input data, and may perform signal processing, whereby load in signal processing by the other virtual machines may be reduced and 1:N data communication may be achieved, and therefore synchronization at the time of data sharing may be achieved.
Meanwhile, the firstvirtual machine520 writes some of data in a first shared memory (not shown) so as to be transmitted to the secondvirtual machine530, and writes some other of data in the first shared memory (not shown) so as to be transmitted to the thirdvirtual machine540. The secondvirtual machine530 and the thirdvirtual machine540 are configured to process the received data, and write the processed data in a second shared memory (not shown). Consequently, touch input may be rapidly and accurately processed.
At this time, data may be any one of image data, audio data, navigation data, and voice recognition data.
Meanwhile, the firstvirtual machine520 may process some other of data, and may be configured to write the processed data in the second shared memory (not shown). That is, the firstvirtual machine520 may perform data processing in addition to the secondvirtual machine530 and the thirdvirtual machine540.
Meanwhile, in response to a fourthvirtual machine550 configured to be operated for thethird display180cbeing executed in theprocessor175, the firstvirtual machine520 may write some other of data in the first shared memory (not shown), and the fourthvirtual machine550 may process the received data and may be configured to write the processed data in the second shared memory (not shown).
Meanwhile, the firstvirtual machine520 may generate command queues for distributed processing of data in the secondvirtual machine530 and the thirdvirtual machine540. Consequently, the plurality of virtual machines may divide and process data.
Meanwhile, in response to the secondvirtual machine530 and the thirdvirtual machine540 sharing the same data, the firstvirtual machine520 in theprocessor175 may generate one command queue. Consequently, the same data may be synchronized and shared.
Meanwhile, the firstvirtual machine520 may generate command queues corresponding to the number of virtual machines for distributed processing of data.
Meanwhile, the firstvirtual machine520 may be configured to transmit at least some of data to at least one of the secondvirtual machine530 or the thirdvirtual machine540 for distributed processing of data.
For example, the firstvirtual machine520 may allocate the first shared memory (not shown) for transmitting at least some of data to at least one of the secondvirtual machine530 or the thirdvirtual machine540, and image data processed by the secondvirtual machine530 or the thirdvirtual machine540 may be written in the second shared memory (not shown).
Meanwhile, the firstvirtual machine520 may be configured to write data in the sharedmemory508, whereby the secondvirtual machine530 and the thirdvirtual machine540 share the same data.
For example, the firstvirtual machine520 may be configured to write radio data or wireless communication data in the sharedmemory508, whereby the secondvirtual machine530 and the thirdvirtual machine540 share the same data. Consequently, 1:N data sharing may be achieved.
Eventually, the firstvirtual machine520 may process most of the data, whereby 1:N data sharing may be achieved.
Meanwhile, the firstvirtual machine520 in theprocessor175 may be configured to set the sharedmemory508 based on thehypervisor505 in order to transmit the same data to the secondvirtual machine530 and the thirdvirtual machine540.
That is, the firstvirtual machine520 in theprocessor175 may transmit the same data to the secondvirtual machine530 and the thirdvirtual machine540 in a synchronized state using the sharedmemory508 based on thehypervisor505. Consequently, the plurality ofdisplays180aand180bin the vehicle may display the same images in a synchronized state.
Meanwhile, thesignal processing device170 may process various signals, such as an audio signal, an image signal, and a data signal. To this end, thesignal processing device170 may be implemented in the form of a system on chip (SOC).
FIG.4 is a view showing a system driven in a signal processing device related to the present disclosure.
Referring to the figure,FIG.4 is a view illustrating that virtual machines are used for thecluster display180aand theAVN display180b.
Thesystem400 driven in the signal processing device ofFIG.4 illustrates that a clustervirtual machine430 and an AVNvirtual machine440 are executed through ahypervisor405 in theprocessor175.
Meanwhile, thesystem400 driven in the signal processing device ofFIG.4 illustrates that a legacyvirtual machine410 is also executed on thehypervisor405 in theprocessor175.
The legacyvirtual machine410 may include aninterface412 for data communication with thememory140 and aninterface413 for Ethernet communication.
Meanwhile, the clustervirtual machine430 may include aninterface431 for CAN communication, aninterface432 for communication with theinterface412 of the legacyvirtual machine410, and aninterface433 for communication with theinterface413 of the legacyvirtual machine410.
Meanwhile, the AVNvirtual machine440 may include an interface441 for input and output of audio data, radio data, USB data, and wireless communication data, aninterface442 for communication with theinterface412 of the legacyvirtual machine410, and an interface443 for communication with theinterface413 of the legacyvirtual machine410.
In thesystem400, there is a disadvantage in that CAN communication data are input and output only in the clustervirtual machine430, whereby the CAN communication data cannot be utilized in the AVNvirtual machine440.
Also, in thesystem400 ofFIG.4, there is a disadvantage in that audio data, radio data, USB data, and wireless communication data are input and output only in the AVNvirtual machine440, whereby these data cannot be utilized in the clustervirtual machine430.
Meanwhile, there is a disadvantage in that the clustervirtual machine430 and the AVNvirtual machine440 must include theinterfaces431 and432 and theinterfaces441 and442, respectively, for memory data and Ethernet communication data input and output in the legacyvirtual machine410.
Therefore, the present disclosure proposes a scheme for improving the system ofFIG.4. That is, unlikeFIG.4, virtual machines are classified into a server virtual machine and guest virtual machines for inputting and outputting various memory data and communication data not in the guest virtual machines but in the server virtual machine. This will be described with reference toFIG.5 and subsequent figures.
FIG.5 is a view showing an example of a system driven in a signal processing device according to an embodiment of the present disclosure.
Referring to the figure, thesystem500 ofFIG.5 illustrates that the firstvirtual machine520, which is a server virtual machine, the secondvirtual machine530, which is a guest virtual machine, and the thirdvirtual machine540, which is a guest virtual machine, are executed on thehypervisor505 in theprocessor175 of thesignal processing device170.
The secondvirtual machine530 may be a virtual machine for thecluster display180a, and the thirdvirtual machine540 may be a virtual machine for theAVN display180b.
That is, the secondvirtual machine530 and the thirdvirtual machine540 may be operated for image rendering of thecluster display180aand theAVN display180b, respectively.
Meanwhile, the system50 driven in thesignal processing device170 ofFIG.5 illustrates that a legacyvirtual machine510 is also executed on thehypervisor505 in theprocessor175.
The legacyvirtual machine510 may include aninterface511 for data communication with thememory140 and Ethernet communication.
The figure illustrates that theinterface511 is a physical device driver; however, various modifications are possible.
Meanwhile, the legacyvirtual machine510 may further include a virtio-backend interface512 for data communication with the second and thirdvirtual machines530 and540.
The firstvirtual machine520 may include aninterface521 for input and output of audio data, radio data, USB data, and wireless communication data and an input andoutput server interface522 for data communication with the guest virtual machines.
That is, the firstvirtual machine520, which is a server virtual machine, may provide inputs/outputs (I/O) difficult to virtualize with standard virtualization technology (VirtIO) to a plurality of guest virtual machines, such as the second and thirdvirtual machines530 and540.
Meanwhile, the firstvirtual machine520, which is a server virtual machine, may control radio data and audio data at a supervisor level, and may provide the data to a plurality of guest virtual machines, such as the second and thirdvirtual machines530 and540.
Meanwhile, the firstvirtual machine520, which is a server virtual machine, may process vehicle data, sensor data, and surroundings-of-vehicle information, and may provide the processed data or information to a plurality of guest virtual machines, such as the second and thirdvirtual machines530 and540.
Meanwhile, the firstvirtual machine520 may provide supervisory services, such as processing of vehicle data and audio routing management.
Next, the secondvirtual machine530 may include an input andoutput client interface532 for data communication with the firstvirtual machine520 andAPIs533 configured to control the input andoutput client interface532.
In addition, the secondvirtual machine530 may include a virtio-backend interface for data communication with the legacyvirtual machine510.
The secondvirtual machine530 may receive memory data by communication with thememory140 or Ethernet data by Ethernet communication from the virtio-backend interface512 of the legacyvirtual machine510 through the virtio-backend interface.
Next, the thirdvirtual machine540 may include an input andoutput client interface542 for data communication with the firstvirtual machine520 andAPIs543 configured to control the input andoutput client interface542.
In addition, the thirdvirtual machine540 may include a virtio-backend interface for data communication with the legacyvirtual machine510.
The thirdvirtual machine540 may receive memory data by communication with thememory140 or Ethernet data by Ethernet communication from the virtio-backend interface512 of the legacyvirtual machine510 through the virtio-backend interface.
Meanwhile, the legacyvirtual machine510 may be provided in the firstvirtual machine520, unlikeFIG.5.
In thesystem500, CAN communication data are input and output only in the firstvirtual machine520, but may be provided to a plurality of guest virtual machines, such as the second and thirdvirtual machines530 and540, through data processing in the firstvirtual machine520. Consequently, 1:N data communication by processing of the firstvirtual machine520 may be achieved.
Also, in thesystem500 ofFIG.5, audio data, radio data, USB data, and wireless communication data are input and output only in the firstvirtual machine520, but may be provided to a plurality of guest virtual machines, such as the second and thirdvirtual machines530 and540, through data processing in the firstvirtual machine520. Consequently, 1:N data communication by processing of the firstvirtual machine520 may be achieved.
Also, in thesystem500 ofFIG.5, touch input to thefirst display180aor thesecond display180bis input only to the firstvirtual machine520 and is not input to the secondvirtual machine530 and the thirdvirtual machine540. Information regarding the touch input is transmitted to the secondvirtual machine530 or the thirdvirtual machine540.
Consequently, the touch input may be rapidly and accurately processed. In addition, the touch input may be rapidly and accurately processed even though the number of virtual machines that are driven is increased.
Meanwhile, in thesystem500 ofFIG.5, the second and thirdvirtual machines530 and540 may be operated based on different operating systems.
For example, the secondvirtual machine530 may be operated based on a Linux OS, and the thirdvirtual machine540 may be operated based on a Web OS.
In the firstvirtual machine520, the sharedmemory508 based on thehypervisor505 is set for data sharing, even though the second and thirdvirtual machines530 and540 are operated based on different operating systems. Even though the second and thirdvirtual machines530 and540 are operated based on different operating systems, therefore, the same data or the same images may be shared in a synchronized state. Eventually, the plurality ofdisplays180aand180bmay display the same data or the same images in a synchronized state.
Meanwhile, the firstvirtual machine520 transmits information regarding the touch input to the secondvirtual machine530 or the thirdvirtual machine540 even though the second and thirdvirtual machines530 and540 are operated based on different operating systems. Consequently, the touch input may be rapidly and accurately processed even though the second and thirdvirtual machines530 and540 are operated based on different operating systems (OS).
Meanwhile, the firstvirtual machine520 may include adisplay manager527 configured to control overlays displayed on thefirst display180aand thesecond display180bthrough the second and thirdvirtual machines530 and540 and adisplay layer server529.
Thedisplay layer server529 may receive a first overlay provided by the secondvirtual machine530 and a second overlay provided by the thirdvirtual machine540.
Meanwhile, thedisplay layer server529 may transmit a virtual overlay, which is different from the first overlay or the second overlay, to at least one of the secondvirtual machine530 or the thirdvirtual machine540.
Meanwhile, thedisplay manager527 in the firstvirtual machine520 may receive the first overlay provided by the secondvirtual machine530 and the second overlay provided by the thirdvirtual machine540 through thedisplay layer server529.
Thedisplay manager527 in the firstvirtual machine520 may be configured to transmit the virtual overlay, which is different from the first overlay or the second overlay, to at least one of the secondvirtual machine530 or the thirdvirtual machine540 through thedisplay layer server529.
In response thereto, the secondvirtual machine530 may be configured to combine and display the first overlay and the virtual overlay on thefirst display180a.
In addition, the thirdvirtual machine540 may be configured to combine and display the second overlay and the virtual overlay on thesecond display180b.
Meanwhile, the firstvirtual machine520 may include aninput manager524 configured to receive an input signal from the outside. At this time, the input signal may be an input signal from a predetermined button (start button) in the vehicle, a touch input signal, or a voice input signal.
For example, theinput manager524 in the firstvirtual machine520 may receive touch input from thefirst display180aor thesecond display180b.
Meanwhile, the firstvirtual machine520 may include atouch server528 configured to transmit information regarding the touch input related to the touch input from thefirst display180aor thesecond display180bto the secondvirtual machine530 or the thirdvirtual machine540.
For example, in response to touch input corresponding to thefirst display180a, thetouch server528 in the firstvirtual machine520 may transmit information regarding the touch input to the secondvirtual machine530.
Meanwhile, thetouch server528 in the firstvirtual machine520 may receive the touch input from thefirst display180aor thesecond display180b.
FIG.6 is a view showing another example of the system driven in the signal processing device according to the embodiment of the present disclosure.
Referring to the figure, in thesystem500bdriven by theprocessor175 in thesignal processing device170, theprocessor175 in thesignal processing device170 executes the first to thirdvirtual machines520 to540 on thehypervisor505 in theprocessor175, and the firstvirtual machine520 in theprocessor175 is configured to the sharedmemory508 based on thehypervisor505 for transmission of data to the second and thirdvirtual machines530 and540.
For example, information regarding touch input may be illustrated as the data. Consequently, the information regarding touch input may be transmitted to the secondvirtual machine530 or the thirdvirtual machine540. Eventually, the touch input to thefirst display180aor thesecond display180bmay be rapidly and accurately processed. In addition, the touch input may be rapidly and accurately processed even though the number of virtual machines that are driven is increased.
As another example, image data may be illustrated as the data. Consequently, an image may be displayed on thefirst display180aor thesecond display180b.
Meanwhile, in response to the same image data being shared in the sharedmemory508, the plurality ofdisplays180aand180bin the vehicle may display the same data in a synchronized state.
As another example, CAN communication data, audio data, radio data, USB data, wireless communication data, or position information data may be illustrated as the data. Consequently, information regarding the data may be displayed on thefirst display180aor thesecond display180b.
Meanwhile, although not shown inFIG.6, the legacyvirtual machine510 may transmit memory data from thememory140 or Ethernet data by Ethernet communication to the second and thirdvirtual machines530 and540 using the sharedmemory508 based on thehypervisor505. Consequently, information corresponding to the memory data or the Ethernet data may be displayed on thefirst display180aor thesecond display180b.
Meanwhile, the firstvirtual machine520 in thesystem500bofFIG.6 may include adisplay manager527, adisplay layer server529, aninput manager524, and atouch server528, similarly to the firstvirtual machine520 in thesystem500 ofFIG.5.
Meanwhile, the input andoutput server interface522 in the firstvirtual machine520 in thesystem500bofFIG.6 may include adisplay layer server529 and atouch server528, unlikeFIG.5.
The operation of thedisplay manager527, thedisplay layer server529, theinput manager524, and thetouch server528 is the same toFIG.5, and therefore a description thereof will be omitted.
Meanwhile, the firstvirtual machine520 ofFIG.6 may further include a system manager for overall system control, a vehicle information manager for vehicle information management, an audio manager for audio control, and a radio manager for radio control.
Meanwhile, the input andoutput server interface522 in the firstvirtual machine520 in thesystem500bofFIG.6 may further include a GNSS server for GPS information input and output, a Bluetooth server for Bluetooth input and output, a Wi-Fi server for Wi-Fi input and output, and a camera server for camera data input and output.
FIG.7 is a view showing a further example of the system driven in the signal processing device according to the embodiment of the present disclosure.
Referring to the figure, thesystem500cdriven by theprocessor175 in the signal processing device ofFIG.7 is similar to thesystem500bofFIG.6.
That is, likeFIG.6, theprocessor175 ofFIG.7 executes the first to thirdvirtual machines520 to540 on thehypervisor505 in theprocessor175.
InFIG.7, however, thedisplay layer server529 and thetouch server528 may be provided and executed in the firstvirtual machine520 outside the input andoutput server interface522, unlikeFIG.6.
In addition, the GNSS server for GPS information input and output, the Bluetooth server for Bluetooth input and output, the Wi-Fi server for Wi-Fi input and output, and the camera server for camera data input and output may be provided and executed in the firstvirtual machine520 outside the input andoutput server interface522, unlikeFIG.6.
That is, thedisplay manager527, thedisplay layer server529, theinput manager524, and thetouch server528 may be provided and executed in the firstvirtual machine520.
Meanwhile, the input andoutput server interface522 in the firstvirtual machine520 in thesystem500bofFIG.6 may include adisplay layer server529 and atouch server528, unlikeFIG.5.
The operation of thedisplay manager527, thedisplay layer server529, theinput manager524, and thetouch server528 is the same toFIG.5, and therefore a description thereof will be omitted.
FIGS.8 to9B are views referred to in the description ofFIG.5.
First,FIG.8 illustrates that the first to thirdvirtual machines520 to540 are executed on thehypervisor505 in theprocessor175 of thesystem500 according to the present disclosure and that the firstvirtual machine520 in theprocessor175 is configured to the sharedmemory508 based on thehypervisor505 in order to transmit the same data to the secondvirtual machine530 and the thirdvirtual machine540.
Consequently, the plurality ofdisplays180aand180bin the vehicle may display the same images in a synchronized state.
Meanwhile, high-speed data communication may be performed between the plurality of virtual machines. Furthermore, high-speed data communication may be performed even though the plurality of virtual machines is driven by different operating systems.
Meanwhile, the firstvirtual machine520 in theprocessor175 may not allocate memories corresponding in number to the virtual machines but may use a single sharedmemory508, not memory allocation in response to transmitting the data processed by the firstvirtual machine520 to another virtual machine. Consequently, 1:N data communication using the sharedmemory508, not 1:1 data communication, may be performed between the virtual machines.
Meanwhile, the firstvirtual machine520 in theprocessor175 may include an input andoutput server interface522 and asecurity manager526.
Meanwhile, the secondvirtual machine530 and the thirdvirtual machine540 may include input and output client interfaces532 and542, respectively. Consequently, high-speed data communication between the plurality of virtual machines may be performed using the input andoutput server interface522 and the input and output client interfaces532 and542.
The input andoutput server interface522 in the firstvirtual machine520 may receive requests for transmission of the same data from the input and output client interfaces532 and542 in the secondvirtual machine530 and the thirdvirtual machine540, and may transmit shared data to the sharedmemory508 through thesecurity manager526 based thereon.
FIG.9A is a view illustrating transmission of shared data in more detail.
Referring to the figure, in order to transmit shared data, the input andoutput server interface522 in the firstvirtual machine520 transmits a request for allocation of the sharedmemory508 to the security manager526 (S1).
Subsequently, thesecurity manager526 may allocate the sharedmemory508 using the hypervisor505 (S2), and may write shared data in the sharedmemory508.
Meanwhile, the input and output client interfaces532 and542 may transmit a request for connection to the input andoutput server interface522 after allocation of the shared memory508 (S3).
Meanwhile, the input andoutput server interface522 transmits information regarding the sharedmemory508 including key data to the input and output client interfaces532 and542 after allocation of the shared memory508 (S4). At this time, the key data may be private key data for data access.
Meanwhile, the firstvirtual machine520 in theprocessor175 may transmit information regarding the sharedmemory508 to the secondvirtual machine530 and the thirdvirtual machine540 after setting of the sharedmemory508.
Subsequently, the input andoutput server interface522 in the firstvirtual machine520 is configured to generate a command or a command queue for event processing, other than data, to control distributed processing between the virtual machines (S5).
The figure illustrates that a command queue is generated in acommand queue buffer504 in thehypervisor505 under control of the input andoutput server interface522. However, the present disclosure is not limited thereto, and the command queue may be generated in the firstvirtual machine520, not thehypervisor505, under control of the input andoutput server interface522.
Subsequently, the input and output client interfaces532 and542 access thecommand queue buffer504 to receive the generated command queue or information regarding the command queue (S6).
For example, in response to the commands transmitted to the input and output client interfaces532 and542 being the same, the generated command queues may be the same.
As another example, in response to the commands transmitted to the input and output client interfaces532 and542 being different from each other, different command queues may be transmitted to the input and output client interfaces532 and542.
Subsequently, the input and output client interfaces532 and542 may access the sharedmemory508 based on the received key data (S5), and may copy or read the shared data from the shared memory508 (S7).
Particularly, in response to the input and output client interfaces532 and542 receiving the same shared data, the input and output client interfaces532 and542 may access the sharedmemory508 based on the same command queues and the same key data (S5), and may copy or read the shared data from the sharedmemory508.
Consequently, the secondvirtual machine530 and the thirdvirtual machine540 may access the sharedmemory508, and may eventually share the shared data.
For example, in the case in which the shared data are image data, the secondvirtual machine530 and the thirdvirtual machine540 may share the image data, and eventually the plurality ofdisplays180aand180bin the vehicle may display the same shared images in a synchronized state.
FIG.9B illustrates that, by thesystem500 ofFIG.9A, the secondvirtual machine530 displays image data received through the sharedmemory508 on thefirst display180a, and the thirdvirtual machine540 displays image data received through the sharedmemory508 on thesecond display180b.
FIG.9B illustrates that animage905adisplayed on thefirst display180aand animage905bdisplayed on thesecond display180bare synchronized, whereby thesame images905aand905bare displayed at the time of Ti.
That is, image data processed by the firstvirtual machine520 in theprocessor175 are transmitted to the secondvirtual machine530 and the thirdvirtual machine540 through the sharedmemory508, and thefirst image905adisplayed on thefirst display180aand thesecond image905bdisplayed on thesecond display180bbased on the image data may be the same. Consequently, the plurality ofdisplays180aand180bin the vehicle may display the same images in a synchronized state.
FIGS.10A to15D are views referred to in the description ofFIGS.5 to7.
First,FIG.10A illustrates that a first overlay OVL1 and a third overlay OVL3 are displayed on thefirst display180aand a second overlay OVL2 is display on thesecond display180b.
In particular, a first overlay OVL1 corresponding to the entire area of thefirst display180aand a third overlay OVL3 corresponding to a right area in thesecond display180b, the third overlay being a lower layer of the first overlay OVL1, is displayed on thefirst display180a.
Consequently, a first window WD1 is displayed in a left area in thefirst display180a, and a second window WD2 is displayed in a right area in thefirst display180a.
Meanwhile, a second overlay OVL2 corresponding to the entire area of thesecond display180band a third overlay OVL3 corresponding to a lower layer of the second overlay OVL2 are displayed on thesecond display180b.
Consequently, a third window ED3 is displayed on thesecond display180b.
Meanwhile, in connection withFIG.10A, the firstvirtual machine520 may receive the first overlay OVL1 provided by the secondvirtual machine530 and the second overlay OVL2 provided by the thirdvirtual machine540.
The firstvirtual machine520 may transmit the third overlay OVL3, which is a virtual overlay different from the first overlay OVL1 or the second overlay OVL2, to the secondvirtual machine530 or the thirdvirtual machine540.
Consequently, the secondvirtual machine530 may be configured to display the first window WD1 and the second window WD2 on thefirst display180aas the result of disposition of the first overlay OVL1 on the third overlay OVL3.
The thirdvirtual machine540 may be configured to display the third window WD3 on thesecond display180bas the result of disposition of the second overlay OVL2 on the third overlay OVL3.
FIG.10B is a view showing processing of touch input in asystem500xrelated to the present disclosure.
Referring to the figure, as shown inFIG.10A, in response to touch input to the second window WD2 in the state in which the first window WD1 and the second window WD2 are displayed on thefirst display180aand the third window WD3 is displayed on thesecond display180b, a first guestvirtual machine530xconfigured to control thefirst display180aon ahypervisor505xreceives the touch input through aphysical device driver531x(STx1).
Awindow manager537xin the first guestvirtual machine530xdetermines whether the second window WD2 to which the touch has been input is a window corresponding to thefirst display180a(STx2).
When the second window WD2 does not correspond to thefirst display180a, thewindow manager537xin the first guestvirtual machine530xtosses the touch input to a second guestvirtual machine540xthrough a smash (STx3).
Awindow manager547xin the second guestvirtual machine540xdetermines whether the second window WD2 is a window corresponding to thesecond display180b(STx4).
If so, the second guestvirtual machine540xperforms an operation corresponding to the touch input.
Meanwhile, in the scheme ofFIG.10B, there is a disadvantage in that, as the number of guest virtual machines is increased, it takes considerable time to determine which display the window to which the touch has been input corresponds to.
For example, when the window to which the touch has been input is a window corresponding to the third display in the state in which three guest virtual machines are executed, the first guestvirtual machine530x, the second guestvirtual machine540x, and a third guestvirtual machine550xsequentially determine whether the window to which the touch has been input is a window corresponding to thethird display180c(STx5).
That is, there is a disadvantage in that time necessary to determine the window corresponding to the touch input is increased in proportion to the number of guest virtual machines.
Therefore, the embodiment of the present disclosure proposes a scheme for rapidly and accurately processing touch input. This will be described with reference toFIG.10C.
Meanwhile, in response to touch input to the third window WD3 in the state in which the first window WD1 and the second window WD2 are displayed on thefirst display180aand the third window WD3 is displayed on thesecond display180b, the second guestvirtual machine540xconfigured to control thesecond display180bon thehypervisor505xreceives the touch input through aphysical device driver541x.
As described above, there is a disadvantage in that each guest virtual machine includes a physical device driver in order to receive the touch input.
FIG.10C is a view showing processing of touch input in thesystem500 according to the embodiment of the present disclosure.
Referring to the figure, theprocessor175 in thesignal processing device170 according to the embodiment of the present disclosure executes the firstvirtual machine520, which corresponds to a server virtual machine, and the secondvirtual machine530 and the thirdvirtual machine540, which correspond to guest virtual machines, on thehypervisor505, and the firstvirtual machine520 in theprocessor175 receives touch input to thefirst display180aor the second display180, and transmits information regarding the touch input to the secondvirtual machine530 or the thirdvirtual machine540.
The touch input is not input to the secondvirtual machine530 and the thirdvirtual machine540.
To this end, it is preferable for the firstvirtual machine520 in theprocessor175 to include at least onephysical device driver521aand521bconfigured to receive the touch input and for each of the secondvirtual machine530 and the thirdvirtual machine540 to include no physical device driver.
Meanwhile, the firstvirtual machine520 in theprocessor175 may include aninput manager524 configured to process the received touch input.
Meanwhile, the information regarding the touch input may be extracted through analysis of the touch input by theinput manager524.
To this end, theinput manager524 may include a checker ZCH configured to check the z-axis order of overlays or the order of overlays, a route control manager configured to control the route of the touch input, and a focus control manager configured to perform focus control.
Meanwhile, theinput manager524 in the firstvirtual machine520 may detect a window or overlay corresponding to the touch input, and may be configured to transmit the information regarding the touch input to a guest virtual machine corresponding to the detected window or overlay, e.g. the secondvirtual machine530 or the thirdvirtual machine540.
For example, the information regarding the touch input may be transmitted to the secondvirtual machine530 or the thirdvirtual machine540 via a backend interface IBE in the firstvirtual machine520.
Meanwhile, the information regarding the touch input may include position information of the touch input and z-axis information of the touch input.
Consequently, the position information of the touch input, which is one piece of the information regarding the touch input, may be transmitted to a frontend interface IFEa in the secondvirtual machine530 or a frontend interface IFEb in the thirdvirtual machine540, and the z-axis information of the touch input, which is one piece of the information regarding the touch input, may be transmitted to a z-axis processor Zoa in the secondvirtual machine530 or a z-axis processor Zob in the thirdvirtual machine540.
In response to touch input corresponding to an overlay provided by the thirdvirtual machine540, among a plurality of overlays displayed on thefirst display180a, the firstvirtual machine520 in theprocessor175 may transmit the information regarding the touch input not to the secondvirtual machine530 but to the thirdvirtual machine540. Consequently, the touch input may be rapidly and accurately processed.
For example, in response to touch input to the second window WD2, the firstvirtual machine520 may extract the position information and the z-axis information of the touch input, and may transmit the information regarding the touch input including the position information and the z-axis information of the touch input to the thirdvirtual machine540.
Consequently, the frontend interface IFEb and the z-axis processor Zob in the thirdvirtual machine540 may receive the position information and the z-axis information of the touch input, and may transmit the position information and the z-axis information of the touch input to awindow manager547 therein.
Thewindow manager547 in the thirdvirtual machine540 may change a window or an overlay based on the received position information and z-axis information. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the secondvirtual machine530, among a plurality of overlays displayed on thefirst display180a, the firstvirtual machine520 in theprocessor175 may transmit the information regarding the touch input to the secondvirtual machine530. Consequently, the touch input may be rapidly and accurately processed.
For example, in response to touch input to the first window WD1 or the first overlay OVL1, the firstvirtual machine520 may extract the position information and the z-axis information of the touch input, and may transmit the information regarding the touch input including the position information and the z-axis information of the touch input to the secondvirtual machine530.
Consequently, the frontend interface IFEa and the z-axis processor Zoa in the secondvirtual machine530 may receive the position information and the z-axis information of the touch input, and may transmit the position information and the z-axis information of the touch input to awindow manager537 therein.
Thewindow manager537 in the secondvirtual machine530 may change a window or an overlay based on the received position information and z-axis information. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the secondvirtual machine530, among a plurality of overlays displayed on thesecond display180b, the firstvirtual machine520 in theprocessor175 may transmit the information regarding the touch input to the secondvirtual machine530. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in response to touch input corresponding to an overlay provided by the thirdvirtual machine540, among a plurality of overlays displayed on thesecond display180b, the firstvirtual machine520 in theprocessor175 may transmit the information regarding the touch input to the thirdvirtual machine540. Consequently, the touch input may be rapidly and accurately processed.
For example, in response to touch input to the third overlay OVL3, the firstvirtual machine520 may extract the position information and the z-axis information of the touch input, and may transmit the information regarding the touch input including the position information and the z-axis information of the touch input to the thirdvirtual machine540.
Consequently, the frontend interface IFEb and the z-axis processor Zob in the thirdvirtual machine540 may receive the position information and the t-axis information of the touch input, and may transmit the position information and the z-axis information of the touch input to thewindow manager547 therein.
Thewindow manager547 in the thirdvirtual machine540 may change an overlay based on the received position information and z-axis information. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the firstvirtual machine520 in theprocessor175 may detect an overlay corresponding to the touch input, and may transmit the information regarding the touch input to a virtual machine providing the detected overlay, which is one of the secondvirtual machine530 and the thirdvirtual machine540. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, in processing of the touch input in thesystem500 according to the embodiment of the present disclosure, the touch input may be rapidly and accurately processed irrespective of the number of guest virtual machines.
For example, in response to touch input to an overlay corresponding to thethird display180cin the state in which a fourthvirtual machine550, which is a guest virtual machine corresponding to thethird display180c, is executed in theprocessor175, the firstvirtual machine520 in theprocessor175 directly transmits the information regarding the touch input to the fourthvirtual machine550 without transmission of the information regarding the touch input to the secondvirtual machine530 and the thirdvirtual machine540.
Consequently, the touch input may be rapidly and accurately processed even though the number of guest virtual machines is increased and the number of overlays is increased.
Meanwhile, the firstvirtual machine520 may be configured to transmit a composite overlay generated by combining an overlay from the secondvirtual machine530 and at least one overlay from the thirdvirtual machine540 with each other to the secondvirtual machine530 or the thirdvirtual machine540. This will be described with reference toFIG.11A and subsequent figures.
FIGS.11A to15C are views referred to in order to describe processing of touch input according to the embodiment of the present disclosure.
FIG.11A illustrates that the secondvirtual machine530 and the thirdvirtual machine540 generate overlays and transmit the generated overlays to the firstvirtual machine520 through the input and output client interfaces532 and542, respectively.
The secondvirtual machine530 may generate afirst overlay1012, which is a physical overlay. Specifically, thewindow manager537 in the secondvirtual machine530 may generate afirst overlay1012, which is a physical overlay.
The input andoutput client interface532 in the secondvirtual machine530 may write thefirst overlay1012 in the shared memory508 (ST1), and the firstvirtual machine520 may receive thefirst overlay1012 written in the sharedmemory508 using the received buffer index (ST3).
The thirdvirtual machine540 may generate asecond overlay1014 and athird overlay1016, which are physical overlays. Specifically, thewindow manager547 in the thirdvirtual machine540 may generate asecond overlay1014 and athird overlay1016, which are physical overlays.
The input andoutput client interface542 in the thirdvirtual machine540 may write thesecond overlay1014 and thethird overlay1016 in the shared memory508 (ST2), and the firstvirtual machine520 may receive thesecond overlay1014 and thethird overlay1016 written in the sharedmemory508 using the received buffer index (ST3).
FIG.11B illustrates that a composite overlay generated by the firstvirtual machine520 is transmitted to the secondvirtual machine530 and the thirdvirtual machine540.
Referring to the figure, the firstvirtual machine520 may generate a firstcomposite overlay1022 using the receivedfirst overlay1012 andthird overlay1016.
Specifically, thedisplay manager527 or thedisplay layer server529 in the firstvirtual machine520 may generate a firstcomposite overlay1022 using the receivedfirst overlay1012 andthird overlay1016.
The input andoutput server interface522 in the firstvirtual machine520 may write the firstcomposite overlay1022 in the shared memory508 (ST4), and the secondvirtual machine530 may receive the firstcomposite overlay1022 written in the sharedmemory508 using the received buffer index (ST6).
The firstvirtual machine520 may generate a secondcomposite overlay1024 using the received first tothird overlays1012,1014, and1016.
Specifically, thedisplay manager527 or thedisplay layer server529 in the firstvirtual machine520 may generate a secondcomposite overlay1024 using the received first tothird overlays1012,1014, and1016.
The input andoutput server interface522 in the firstvirtual machine520 may write the secondcomposite overlay1024 in the shared memory508 (ST5), and the thirdvirtual machine540 may receive the secondcomposite overlay1024 written in the sharedmemory508 using the received buffer index (ST7).
FIG.11C is a view showing the firstcomposite overlay1022 and the secondcomposite overlay1024.
The firstcomposite overlay1022 may be displayed on thefirst display180a, and avehicle speed indicator212aand an in-vehicle temperature indicator213amay be displayed in the firstcomposite overlay1022.
The secondcomposite overlay1024 may be displayed on thesecond display180b, and a plurality of applications, avehicle speed indicator212b, and an in-vehicle temperature indicator213bmay be displayed in the secondcomposite overlay1024.
FIG.12A illustrates thattouch input1101 is performed to the in-vehicle temperature indicator213ain the firstcomposite overlay1022 in the state in which the firstcomposite overlay1022 is displayed on thefirst display180aand the secondcomposite overlay1024 is displayed on thesecond display180b.
In the embodiment of the present disclosure, in order to rapidly process the touch input, a physical device driver is provided only in the firstvirtual machine520 and is not provided in the secondvirtual machine530 and the thirdvirtual machine540.
Consequently, thetouch input1101 to thefirst display180ais transmitted to the firstvirtual machine520, not the secondvirtual machine530.
Meanwhile, in response to thetouch input1101 corresponding to the overlay provided by the thirdvirtual machine540, among a plurality of overlays displayed on thesecond display180b, the firstvirtual machine520 may transmit information regarding the touch input to the thirdvirtual machine540.
To this end, the firstvirtual machine520 may extract coordinate information of thetouch input1101.
Meanwhile, the firstvirtual machine520 may be configured to store the coordinate information of thetouch input1101 in the sharedmemory508. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the firstvirtual machine520 may transmit a buffer index regarding the sharedmemory508 to the secondvirtual machine530 or the thirdvirtual machine540, and the secondvirtual machine530 or the thirdvirtual machine540 may read the coordinate information of the touch input written in the sharedmemory508 based on the received buffer index.
Specifically, the input andoutput server interface522 in the firstvirtual machine520 may be configured to store the coordinate information of the touch input in the sharedmemory508, and the input andoutput client interface532 or542 in the secondvirtual machine530 or the thirdvirtual machine540 may read the coordinate information of the touch input written in the sharedmemory508. Consequently, the touch input may be rapidly and accurately processed.
InFIG.12A, since thetouch input1101 corresponds to the overlay provided by the thirdvirtual machine540, among the plurality of overlays displayed on thesecond display180b, the firstvirtual machine520 may write the coordinate information of the touch input in the sharedmemory508, and the thirdvirtual machine540 may read the coordinate information of the touch input written in the sharedmemory508 based on the received buffer index.
Meanwhile, in response to information regarding the touch input corresponding to at least one overlay from the thirdvirtual machine540, the firstvirtual machine520 may be configured to transmit the information regarding the touch input to the thirdvirtual machine540, and the thirdvirtual machine540 may change the at least one overlay based on the touch input and may be configured to display the changed overlay on thesecond display180b. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, the thirdvirtual machine540 may transmit the changed overlay to the firstvirtual machine520, and the firstvirtual machine520 may be configured to transmit the changed overlay to the secondvirtual machine530. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, in response to information regarding the touch input corresponding to at least one overlay from the thirdvirtual machine540 while corresponding to the operation of a hardware device in the vehicle, the firstvirtual machine520 may be configured to transmit the information regarding the touch input to the thirdvirtual machine540, and may be configured to operate the hardware device in the vehicle based on the touch input. Consequently, the operation of the hardware device corresponding to the touch input may be rapidly and accurately performed.
Meanwhile, in response to information regarding the touch input corresponding to the overlay from the secondvirtual machine530, the firstvirtual machine520 may be configured to transmit the information regarding the touch input to the secondvirtual machine530, and the secondvirtual machine530 may be configured to change the overlay based on the touch input and the changed overlay is displayed on thesecond display180b. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, the secondvirtual machine530 may transmit the changed overlay to the firstvirtual machine520, and the firstvirtual machine520 may be configured to transmit the changed overlay to the thirdvirtual machine540. Consequently, the changed overlay corresponding to the touch input may be rapidly and accurately displayed.
Meanwhile, theprocessor175 may further execute the fourthvirtual machine550 operated for thethird display180con thehypervisor505 in theprocessor175, and the firstvirtual machine520 in theprocessor175 may receive touch input to any one of thefirst display180ato thethird display180cand may transmit information regarding the received touch input to any one of the secondvirtual machine530 to the fourthvirtual machine550. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the firstvirtual machine520 may receive and process wheel speed sensor data of thevehicle100, and may transmit an overlay indicating the processed wheel speed sensor data or speed information corresponding to the processed wheel speed sensor data to at least one of the secondvirtual machine530 or the thirdvirtual machine540. Consequently, the wheel speed sensor data of the vehicle may be shared by at least one virtual machine.
FIG.12B is a view describing signal processing for the touch input ofFIG.12A.
Referring to the figure, the input andoutput server interface522 in the firstvirtual machine520 receives the touch input through the physical device driver for touch input reception.
Specifically, the touch input is transmitted to thetouch server528 in the input andoutput server interface522 in the first virtual machine520 (STa1).
Subsequently, thetouch server528 transmits the touch input to thedisplay manager527 and a hardware manager523 (STa2).
Thehardware manager523 may control an air conditioner in the vehicle such that the temperature becomes 21° C., which is lower than the current temperature, 22° C., since the touch input is an input corresponding to temperature decrease in the in-vehicle temperature indicator213a.
Meanwhile, thedisplay manager527 may perform control such that temperature information of 21° C., which is lower than the current temperature, 22° C., is displayed in the in-vehicle temperature indicator213a.
Consequently, thedisplay manager527 or thedisplay layer server529 may generate an in-vehicle temperature indicator having changed temperature information (STa3).
The input andoutput server interface522 in the firstvirtual machine520 may write a first composite overlay including the in-vehicle temperature indicator having changed temperature information in the shared memory508 (STa4), and the secondvirtual machine530 may receive the first composite overlay written in the sharedmemory508 using the received buffer index (STa5).
As shown inFIG.12C, therefore, the firstcomposite overlay1022 having changed temperature information may be displayed on thefirst display180a.
Meanwhile, the firstvirtual machine520 may change temperature information in a second composite overlay in response to the change of the temperature information of the first composite overlay.
The firstvirtual machine520 may write the second composite overlay having changed temperature information in the shared memory508 (STa4), and the thirdvirtual machine540 may receive the second composite overlay written in the sharedmemory508 using the received buffer index.
As shown inFIG.12C, therefore, the secondcomposite overlay1024 having changed temperature information may be displayed on thesecond display180b.
FIG.12D illustrates thattouch input1101 is performed to the in-vehicle temperature indicator213bin thesecond display180bin the state in which the firstcomposite overlay1022 is displayed on thefirst display180aand the secondcomposite overlay1024 is displayed on thesecond display180b, unlikeFIG.12A.
In the embodiment of the present disclosure, in order to rapidly process the touch input, a physical device driver is provided only in the firstvirtual machine520 and is not provided in the secondvirtual machine530 and the thirdvirtual machine540.
Consequently, thetouch input1101 to thefirst display180ais transmitted to the firstvirtual machine520, not the thirdvirtual machine540.
Specifically, the touch input is transmitted to thetouch server528 in the input andoutput server interface522 in the firstvirtual machine520.
Subsequently, thetouch server528 transmits the touch input to thedisplay manager527 and thehardware manager523.
Thehardware manager523 may control the air conditioner in the vehicle such that the temperature becomes 21° C., which is lower than the current temperature, 22° C., since the touch input is an input corresponding to temperature decrease in the in-vehicle temperature indicator213b.
Meanwhile, thedisplay manager527 may perform control such that temperature information of 21° C., which is lower than the current temperature, 22° C., is displayed in the in-vehicle temperature indicator213b.
Consequently, thedisplay manager527 or thedisplay layer server529 may generate an in-vehicle temperature indicator having changed temperature information.
The input andoutput server interface522 in the firstvirtual machine520 may write a second composite overlay including the in-vehicle temperature indicator having changed temperature information in the shared memory508 (STa4), and the thirdvirtual machine540 may receive the second composite overlay written in the sharedmemory508 using the received buffer index.
As shown inFIG.12D, therefore, the firstcomposite overlay1022 having changed temperature information may be displayed on thesecond display180b.
In addition, the firstcomposite overlay1022 having changed temperature information may be displayed on thefirst display180a.
FIG.13A illustrates thattouch input1101 is performed to a map application ICNa, among the plurality of applications in thesecond display180b, in the state in which the firstcomposite overlay1022 is displayed on thefirst display180aand the secondcomposite overlay1024 is displayed on thesecond display180b, unlikeFIG.12A.
FIG.13B is a view describing signal processing for the touch input ofFIG.13A.
Referring to the figure, the input andoutput server interface522 in the firstvirtual machine520 receives the touch input through the physical device driver for touch input reception.
Specifically, the touch input is transmitted to thetouch server528 in the input andoutput server interface522 in the first virtual machine520 (STb1).
Subsequently, thetouch server528 transmits the touch input to thedisplay manager527 and the display layer server529 (STb2).
Alternatively, thetouch server528 may extract coordinate information of the touch input, and may transmit the extracted coordinate information of the touch input to thedisplay manager527 and the display layer server529 (STb2).
Thedisplay manager527 or thedisplay layer server529 may be configured to execute the map application ICNa, since the touch input corresponds to execution input of the map application ICNa.
Consequently, the input andoutput server interface522 in the firstvirtual machine520 may write a request for execution of the map application ICNa or the coordinate information of the touch input in the shared memory508 (STb3), and the thirdvirtual machine540 may read the request for execution of the map application ICNa or the coordinate information of the touch input written in the sharedmemory508 using the received buffer index (STb4).
The thirdvirtual machine540 may execute the map application ICNa according to the received request for execution of the map application ICNa or the received coordinate information of the touch input, and may generate a map layer.
The input andoutput client interface542 in the thirdvirtual machine540 may write the map layer in the shared memory508 (STb5), and the firstvirtual machine520 may receive the map layer written in the sharedmemory508 using the received buffer index (STb6).
The input andoutput server interface522 in the firstvirtual machine520 may generate a second composite overlay including the map layer and the vehicle speed indicator.
The input andoutput server interface522 in the firstvirtual machine520 may write the second composite overlay including the map layer and the vehicle speed indicator in the shared memory508 (STb7), and the thirdvirtual machine540 may receive the second composite overlay written in the sharedmemory508 using the received buffer index (STb8).
The thirdvirtual machine540 may be configured to display the second composite overlay including the map layer and the vehicle speed indicator on thesecond display180b. Consequently, the touch input may be rapidly and accurately processed.
In addition, the input andoutput server interface522 in the firstvirtual machine520 may generate a first composite overlay including the map layer and the vehicle speed indicator.
The input andoutput server interface522 in the firstvirtual machine520 may write the first composite overlay including the map layer and the vehicle speed indicator in the sharedmemory508, and the secondvirtual machine530 may receive the first composite overlay written in the sharedmemory508 using the received buffer index (STb9).
The secondvirtual machine530 may be configured to display the first composite overlay including the map layer and the vehicle speed indicator on thefirst display180a.
FIG.13C illustrates that a firstcomposite overlay905aincluding the map layer and the vehicle speed indicator is displayed on thefirst display180aand a secondcomposite overlay905bincluding the map layer and the vehicle speed indicator is displayed on thesecond display180bas the result of execution of the map application ICNa.
FIG.14A illustrates that the secondvirtual machine530, the thirdvirtual machine540, and the fourthvirtual machine550 generate overlays and transmit the generated overlays to the firstvirtual machine520 through input and output client interfaces532,542, and552, respectively.
The secondvirtual machine530 may generate afirst overlay1012, which is a physical overlay. Specifically, thewindow manager537 in the secondvirtual machine530 may generate afirst overlay1012, which is a physical overlay.
The input andoutput client interface532 in the secondvirtual machine530 may write thefirst overlay1012 in the shared memory508 (STc1), and the firstvirtual machine520 may receive thefirst overlay1012 written in the sharedmemory508 using the received buffer index (STc4).
The thirdvirtual machine540 may generate asecond overlay1014 and athird overlay1016, which are physical overlays. Specifically, thewindow manager547 in the thirdvirtual machine540 may generate asecond overlay1014 and athird overlay1016, which are physical overlays.
The input andoutput client interface542 in the thirdvirtual machine540 may write thesecond overlay1014 and thethird overlay1016 in the shared memory508 (STc2), and the firstvirtual machine520 may receive thesecond overlay1014 and thethird overlay1016 written in the sharedmemory508 using the received buffer index (STc4).
The fourthvirtual machine550 may generate afourth overlay1018, which is a physical overlay. Specifically, awindow manager557 in the fourthvirtual machine550 may generate afourth overlay1018, which is a physical overlay.
The input andoutput client interface552 in the fourthvirtual machine550 may write thefourth overlay1018 in the shared memory508 (STc3), and the firstvirtual machine520 may receive thefourth overlay1018 written in the sharedmemory508 using the received buffer index (STc4).
FIG.14B illustrates that a composite overlay generated by the firstvirtual machine520 is transmitted to the secondvirtual machine530, the thirdvirtual machine540, and the fourthvirtual machine550.
Referring to the figure, the firstvirtual machine520 may generate a firstcomposite overlay1022 using the receivedfirst overlay1012 andthird overlay1016.
Specifically, thedisplay manager527 or thedisplay layer server529 in the firstvirtual machine520 may generate a firstcomposite overlay1022 using the receivedfirst overlay1012 andthird overlay1016.
The input andoutput server interface522 in the firstvirtual machine520 may write the firstcomposite overlay1022 in the shared memory508 (STc5), and the secondvirtual machine530 may receive the firstcomposite overlay1022 written in the sharedmemory508 using the received buffer index (STc8).
The firstvirtual machine520 may generate a secondcomposite overlay1024 using the received first tothird overlays1012,1014, and1016.
Specifically, thedisplay manager527 or thedisplay layer server529 in the firstvirtual machine520 may generate a secondcomposite overlay1024 using the received first tothird overlays1012,1014, and1016.
The input andoutput server interface522 in the firstvirtual machine520 may write the secondcomposite overlay1024 in the shared memory508 (STc6), and the thirdvirtual machine540 may receive the secondcomposite overlay1024 written in the sharedmemory508 using the received buffer index (STc9).
The firstvirtual machine520 may generate a thirdcomposite overlay1026 using the receivedthird overlay1016 andfourth overlay1018.
Specifically, thedisplay manager527 or thedisplay layer server529 in the firstvirtual machine520 may generate a thirdcomposite overlay1026 using the receivedthird overlay1016 andfourth overlay1018.
The input andoutput server interface522 in the firstvirtual machine520 may write the thirdcomposite overlay1026 in the shared memory508 (STc7), and the fourthvirtual machine550 may receive the thirdcomposite overlay1026 written in the sharedmemory508 using the received buffer index (STc10).
FIG.15A illustrates the firstcomposite overlay1022, the secondcomposite overlay1024, and the thirdcomposite overlay1026.
The firstcomposite overlay1022 may be displayed on thefirst display180a, and avehicle speed indicator212aand an in-vehicle temperature indicator213amay be displayed in the firstcomposite overlay1022.
The secondcomposite overlay1024 may be displayed on thesecond display180b, and a plurality of applications, avehicle speed indicator212b, and an in-vehicle temperature indicator213bmay be displayed in the secondcomposite overlay1024.
The thirdcomposite overlay1026 may be displayed on thethird display180c, and a plurality of applications and an in-vehicle temperature indicator213cmay be displayed in the thirdcomposite overlay1026.
Meanwhile,FIG.15A illustrates thattouch input1101 is performed to the in-vehicle temperature indicator213cin the thirdcomposite overlay1026 in the state in which the firstcomposite overlay1022 is displayed on thefirst display180a, the secondcomposite overlay1024 is displayed on thesecond display180b, and the thirdcomposite overlay1026 is displayed on thethird display180c.
FIG.15B is a view describing signal processing for the touch input ofFIG.15A.
Referring to the figure, the input andoutput server interface522 in the firstvirtual machine520 receives the touch input through the physical device driver for touch input reception.
Specifically, the touch input is transmitted to thetouch server528 in the input andoutput server interface522 in the first virtual machine520 (STd1).
Subsequently, thetouch server528 transmits the touch input to thedisplay manager527 and the display layer server529 (STd2).
Thedisplay manager527 or thedisplay layer server529 may be configured to execute the map application ICNa, since the touch input corresponds to execution input of the map application ICNa.
Consequently, the input andoutput server interface522 in the firstvirtual machine520 may write a request for execution of the map application ICNa or the coordinate information of the touch input in the shared memory508 (STd3), and the thirdvirtual machine540 may read the request for execution of the map application ICNa or the coordinate information of the touch input written in the sharedmemory508 using the received buffer index (STd4).
The thirdvirtual machine540 may execute the map application ICNa according to the received request for execution of the map application ICNa or the received coordinate information of the touch input, and may generate a map layer.
The input andoutput client interface542 in the thirdvirtual machine540 may write the map layer in the shared memory508 (STd5), and the firstvirtual machine520 may receive the map layer written in the sharedmemory508 using the received buffer index (STd6).
Thedisplay manager527 or thedisplay layer server529 may receive the map layer based on execution of the map application ICNa.
The input andoutput server interface522 in the firstvirtual machine520 may generate a first composite overlay including the map layer, avehicle speed indicator212a, and an in-vehicle temperature indicator213a.
The input andoutput server interface522 in the firstvirtual machine520 may write the first composite overlay including the map layer, thevehicle speed indicator212a, and the in-vehicle temperature indicator213ain the shared memory508 (STd7), and the secondvirtual machine530 may receive the first composite overlay written in the sharedmemory508 using the received buffer index (STd8).
The secondvirtual machine530 may be configured to display the first composite overlay including the map layer, thevehicle speed indicator212a, and the in-vehicle temperature indicator213aon thefirst display180a. Consequently, the touch input may be rapidly and accurately processed.
Meanwhile, the input andoutput server interface522 in the firstvirtual machine520 may generate a second composite overlay including a map layer, avehicle speed indicator212b, and an in-vehicle temperature indicator213b.
The input andoutput server interface522 in the firstvirtual machine520 may write the second composite overlay including the map layer, thevehicle speed indicator212b, and the in-vehicle temperature indicator213bin the sharedmemory508, and the thirdvirtual machine540 may receive the second composite overlay written in the sharedmemory508 using the received buffer index (STd9).
The thirdvirtual machine540 may be configured to display the second composite overlay including the map layer, thevehicle speed indicator212b, and the in-vehicle temperature indicator213bon thesecond display180b.
Meanwhile, the input andoutput server interface522 in the firstvirtual machine520 may generate a third composite overlay including a map layer and an in-vehicle temperature indicator213c.
The input andoutput server interface522 in the firstvirtual machine520 may write the third composite overlay including the map layer and the in-vehicle temperature indicator213cin the sharedmemory508, and the fourthvirtual machine550 may receive the third composite overlay written in the sharedmemory508 using the received buffer index (STd10).
The fourthvirtual machine550 may be configured to display the thirdcomposite overlay905cincluding the map layer and the in-vehicle temperature indicator213con thethird display180c.
It will be apparent that, although the preferred embodiments have been shown and described above, the present disclosure is not limited to the above-described specific embodiments, and various modifications and variations can be made by those skilled in the art without departing from the gist of the appended claims. Thus, it is intended that the modifications and variations should not be understood independently of the technical spirit or prospect of the present disclosure.