WO2022181899A1 - 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 - Google Patents

신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 Download PDF

Info

Publication number
WO2022181899A1
WO2022181899A1 PCT/KR2021/009405 KR2021009405W WO2022181899A1 WO 2022181899 A1 WO2022181899 A1 WO 2022181899A1 KR 2021009405 W KR2021009405 W KR 2021009405W WO 2022181899 A1 WO2022181899 A1 WO 2022181899A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
data
shared memory
processor
signal processing
Prior art date
Application number
PCT/KR2021/009405
Other languages
English (en)
French (fr)
Inventor
윤재구
최형규
이희민
임선희
한동우
이동규
정두경
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to EP21878751.3A priority Critical patent/EP4080359A4/en
Priority to US17/755,040 priority patent/US20230168913A1/en
Priority to KR1020237031947A priority patent/KR20230148341A/ko
Publication of WO2022181899A1 publication Critical patent/WO2022181899A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • B60K2360/18
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Arrangement of adaptations of instruments
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Definitions

  • the present invention relates to a signal processing apparatus and a vehicle display apparatus having the same, and more particularly, to a signal processing apparatus capable of processing data by sharing data in a plurality of virtual machines for a plurality of displays in a vehicle, and a signal processing apparatus having the same It relates to a display device for a vehicle.
  • a vehicle is a device that moves a user in a desired direction.
  • a typical example is a car.
  • a vehicle display device is mounted inside the vehicle.
  • a display is arranged on a cluster or the like to display various types of information.
  • various displays such as an AVN (Audio Video Navigation) display are being installed in the vehicle separately from the cluster.
  • AVN Audio Video Navigation
  • An object of the present invention is to provide a signal processing apparatus capable of sharing and processing data in a plurality of virtual machines for a plurality of displays in a vehicle, and a vehicle display apparatus having the same.
  • another object of the present invention is to provide a signal processing device capable of performing high-speed data communication between a plurality of virtual machines, and a vehicle display device having the same.
  • another object of the present invention is to provide a signal processing device capable of performing high-speed data communication even when a plurality of virtual machines are driven by different operating systems, and a vehicle display device having the same.
  • a signal processing apparatus for achieving the above object includes a processor that performs signal processing for a display mounted on a vehicle, the processor, on a hypervisor in the processor, a first virtual machine to a third virtual machine is executed, the second virtual machine operates for the first display, the third virtual machine operates for the second display, and the first virtual machine in the processor is configured to: 2 and share at least a portion of the data to the virtual machine and the third virtual machine.
  • the first virtual machine in the processor writes a part of the data to the first shared memory to be transferred to the second virtual machine, and writes another part of the data to the first shared memory to be transferred to the third virtual machine,
  • the second virtual machine and the third virtual machine process the received data, respectively, and control so that the processed data is recorded in the second shared memory.
  • the first virtual machine in the processor by processing another part of the data, may control the processed data to be written to the second shared memory.
  • the processor further executes a fourth virtual machine, the first virtual machine in the processor writes another part of the data to the first shared memory, and the fourth virtual machine processes the received data, , it is possible to control so that the processed data is written to the second shared memory.
  • the first virtual machine in the processor may generate each command queue for distributed processing of data in the second virtual machine to the third virtual machine.
  • the first virtual machine in the processor may generate one and the same command queue when the second virtual machine to the third virtual machine share the same data.
  • command queue may include virtual machine index information, task information, and shared memory information.
  • the first virtual machine in the processor may generate a command queue corresponding to the number of virtual machines for distributed processing of data.
  • the first virtual machine in the processor writes a part of the image data to the first shared memory to be transferred to the second virtual machine, and transfers the other part of the image data to the third virtual machine.
  • the second virtual machine and the third virtual machine may perform object detection on the received image data, respectively, and control the detected object image data to be recorded in the second shared memory.
  • the processor further executes a fourth virtual machine, the first virtual machine in the processor records another part of the image data in the first shared memory, and the third virtual machine is Object detection may be performed, and object-detected image data may be controlled to be recorded in the second shared memory.
  • the first virtual machine in the processor writes a part of the image data to the first shared memory to be transferred to the second virtual machine, and transfers the other part of the image data to the third virtual machine.
  • the second virtual machine performs encryption/decryption processing on a part of the image data, and records the decrypted image data in the second shared memory
  • the third virtual machine is By performing image processing on the image data, the image-processed image data may be controlled to be recorded in the second shared memory.
  • the first virtual machine in the processor may include an input/output server interface and a security manager
  • the second virtual machine and the third virtual machine may include an input/output client interface, respectively.
  • the input/output server interface after allocating the first shared memory, transmits information about the first shared memory including key data to the input/output client interface, and the input/output client interface is to the first shared memory based on the key data can be accessed
  • the input/output server interface receives information on an empty first buffer among the first shared memory, writes first data in the first buffer in the first shared memory, and virtualizes the buffer information of the first buffer into a second to each input/output client interface in the machine and the third virtual machine.
  • the reference count of the first buffer is changed in the first direction, and when the copying of the first data of the first buffer is completed, the reference count of the first buffer is changed to the first It may be changed in a second direction opposite to the direction.
  • the processor further includes a legacy virtual machine that receives and processes Ethernet data, wherein the first virtual machine receives vehicle sensor data, location information data, camera image data, audio data or touch input data, and processes or It can be processed and printed.
  • the first virtual machine in the processor may receive and process the wheel speed sensor data of the vehicle, and transmit the processed wheel speed sensor data to at least one of the second virtual machine or the third virtual machine.
  • the display device for a vehicle is provided with a signal processing device including a first display, a second display, and a processor for performing signal processing for the first display and the second display
  • the signal processing apparatus includes a processor that performs signal processing for a display mounted on a vehicle, wherein the processor executes a first virtual machine to a third virtual machine on a hypervisor in the processor, and the second virtual machine is a second virtual machine.
  • the first virtual machine operates for the first display
  • the third virtual machine operates for the second display
  • the first virtual machine in the processor transmits at least a portion of the data to the second virtual machine and the third virtual machine for data sharing processing. Share.
  • the signal processing apparatus may perform a divided processing of the image data using a plurality of virtual machines, synthesize the divided image data, and control the synthesized image data to be viewed in a plurality.
  • a signal processing apparatus includes a processor that performs signal processing for a display mounted on a vehicle, and the processor executes first to third virtualization machines on a hypervisor in the processor. And, the second virtual machine operates for the first display, the third virtual machine operates for the second display, and the first virtual machine in the processor is, for data sharing processing, the second virtual machine and the third Share at least some of the data on the virtual machine. Accordingly, data can be shared and processed by a plurality of virtual machines for a plurality of displays in the vehicle.
  • the first virtual machine in the processor writes a part of the data to the first shared memory to be transferred to the second virtual machine, and writes another part of the data to the first shared memory to be transferred to the third virtual machine,
  • the second virtual machine and the third virtual machine process the received data, respectively, and control so that the processed data is recorded in the second shared memory. Accordingly, data can be shared and processed by a plurality of virtual machines.
  • the first virtual machine in the processor by processing another part of the data, may control the processed data to be written to the second shared memory. That is, in addition to the second virtual machine and the third virtual machine, the first virtual machine may perform data processing. Accordingly, data can be shared and processed by a plurality of virtual machines.
  • the processor further executes a fourth virtual machine, the first virtual machine in the processor writes another part of the data to the first shared memory, and the fourth virtual machine processes the received data, , it is possible to control so that the processed data is written to the second shared memory. Accordingly, data can be shared and processed by a plurality of virtual machines.
  • the first virtual machine in the processor may generate each command queue for distributed processing of data in the second virtual machine to the third virtual machine. Accordingly, data can be shared and processed by a plurality of virtual machines.
  • the first virtual machine in the processor may generate one and the same command queue when the second virtual machine to the third virtual machine share the same data. Accordingly, the same data can be synchronized and shared.
  • the command queue may include virtual machine index information, task information, and shared memory information. Accordingly, access to the shared memory or the like is possible through the command queue.
  • the first virtual machine in the processor may generate a command queue corresponding to the number of virtual machines for distributed processing of data. Accordingly, it is possible to deliver a command for each virtual machine.
  • the first virtual machine in the processor writes a part of the image data to the first shared memory to be transferred to the second virtual machine, and transfers the other part of the image data to the third virtual machine.
  • the second virtual machine and the third virtual machine may perform object detection on the received image data, respectively, and control the detected object image data to be recorded in the second shared memory. Accordingly, it is possible to divide and process data upon object detection in a plurality of virtual machines for a plurality of displays in a vehicle. Accordingly, rapid data processing becomes possible.
  • the processor further executes a fourth virtual machine, the first virtual machine in the processor records another part of the image data in the first shared memory, and the third virtual machine is Object detection may be performed, and object-detected image data may be controlled to be recorded in the second shared memory. Accordingly, it is possible to divide and process data upon object detection in a plurality of virtual machines for a plurality of displays in a vehicle. Accordingly, rapid data processing becomes possible.
  • the first virtual machine in the processor writes a part of the image data to the first shared memory to be transferred to the second virtual machine, and transfers the other part of the image data to the third virtual machine.
  • the second virtual machine performs encryption/decryption processing on a part of the image data, and records the decrypted image data in the second shared memory
  • the third virtual machine is By performing image processing on the image data, the image-processed image data may be controlled to be recorded in the second shared memory. Accordingly, it is possible to quickly process the encrypted/decrypted image data.
  • the first virtual machine in the processor may include an input/output server interface and a security manager
  • the second virtual machine and the third virtual machine may include an input/output client interface, respectively. Accordingly, it is possible to perform high-speed data communication between a plurality of virtual machines using the input/output server interface and the input/output client interface.
  • the input/output server interface after allocating the first shared memory, transmits information about the first shared memory including key data to the input/output client interface, and the input/output client interface is to the first shared memory based on the key data can be accessed Accordingly, not 1:1 data communication between virtual machines, but 1:N data communication using a shared memory is possible.
  • the input/output server interface receives information on an empty first buffer among the first shared memory, writes first data in the first buffer in the first shared memory, and virtualizes the buffer information of the first buffer into a second to each input/output client interface in the machine and the third virtual machine. Accordingly, not 1:1 data communication between virtual machines, but 1:N data communication using a shared memory is possible.
  • the reference count of the first buffer is changed in the first direction, and when the copying of the first data of the first buffer is completed, the reference count of the first buffer is changed to the first It may be changed in a second direction opposite to the direction. Accordingly, new data can be written to the first buffer after the copy is completed.
  • the signal processing apparatus further comprising a legacy virtual machine for receiving and processing Ethernet data, the first virtual machine, vehicle sensor data, location information data, camera image data, audio data
  • the touch input data may be received, processed or processed and output. Accordingly, by separating data processed only by the legacy virtual machine and data processed by the first virtual machine, data processing can be efficiently performed.
  • the first virtual machine in the processor may receive and process the wheel speed sensor data of the vehicle, and transmit the processed wheel speed sensor data to at least one of the second virtual machine or the third virtual machine. Accordingly, the vehicle wheel speed sensor data can be shared with at least one virtual machine or the like.
  • the display device for a vehicle is provided with a signal processing device including a first display, a second display, and a processor for performing signal processing for the first display and the second display
  • the signal processing apparatus includes a processor that performs signal processing for a display mounted on a vehicle, wherein the processor executes a first virtual machine to a third virtual machine on a hypervisor in the processor, and the second virtual machine is a second virtual machine.
  • the first virtual machine operates for the first display
  • the third virtual machine operates for the second display
  • the first virtual machine in the processor transmits at least a portion of the data to the second virtual machine and the third virtual machine for data sharing processing.
  • Share Accordingly, image data can be shared and processed by a plurality of virtual machines for a plurality of displays in a vehicle.
  • the signal processing apparatus may perform a divided processing of the image data using a plurality of virtual machines, synthesize the divided image data, and control the synthesized image data to be viewed in a plurality. Accordingly, image data can be shared and processed by a plurality of virtual machines for a plurality of displays in a vehicle.
  • 1A is a diagram illustrating an example of the exterior of a vehicle and the interior of the vehicle.
  • 1B is a diagram illustrating another example of the interior of a vehicle.
  • FIG. 2 is a view illustrating an exterior of a vehicle display device according to an embodiment of the present invention.
  • FIG. 3 illustrates an example of an internal block diagram of the vehicle display device of FIG. 2 .
  • FIG. 4 is a diagram illustrating a system driven in a signal processing apparatus according to the present invention.
  • FIG. 5 is a diagram illustrating an example of a system driven in a signal processing apparatus according to an embodiment of the present invention.
  • FIG. 6 is a diagram referenced in explaining the operation of a system driven in a signal processing apparatus according to an embodiment of the present invention.
  • FIG. 7A to 18 are views referenced in the description of FIG. 5 or FIG. 6 .
  • module and “part” for the components used in the following description are given simply in consideration of the ease of writing the present specification, and do not impart a particularly important meaning or role by themselves. Accordingly, the terms “module” and “unit” may be used interchangeably.
  • 1A is a diagram illustrating an example of the exterior of a vehicle and the interior of the vehicle.
  • the vehicle 200 is operated by a plurality of wheels 103FR, 103FL, 103RL,... .
  • the vehicle 200 may further include a camera 195 for acquiring an image in front of the vehicle.
  • the vehicle 200 may include a plurality of displays 180a and 180b for displaying images and information therein.
  • a cluster display 180a and an Audio Video Navigation (AVN) display 180b are exemplified as a plurality of displays 180a and 180b.
  • APN Audio Video Navigation
  • HUD Head Up Display
  • the AVN (Audio Video Navigation) display 180b may be referred to as a center information display (Center Information Dislpay).
  • An embodiment of the present invention proposes a method of sharing data processing in the vehicle display apparatus 100 including a plurality of displays 180a and 180b. This will be described with reference to FIG. 12 and below.
  • the vehicle 200 described herein 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. have.
  • 1B is a diagram illustrating another example of the interior of a vehicle.
  • a cluster display 180a an AVN (Audio Video Navigation) display 180b, a rear seat entertainment display 180c, 180d, a rearview mirror display (not shown) etc. may be installed.
  • AVN Audio Video Navigation
  • a rear seat entertainment display 180c a rear seat entertainment display
  • 180d a rearview mirror display (not shown) etc.
  • An embodiment of the present invention proposes a method of sharing data processing in the vehicle display apparatus 100 having a plurality of displays 180a to 180d. This will be described with reference to FIG. 12 and below.
  • FIG. 2 is a view illustrating an exterior of a vehicle display device according to an embodiment of the present invention.
  • the vehicle display apparatus 100 is a signal processing apparatus that performs signal processing for displaying images, information, etc. on a plurality of displays 180a to 180b and the plurality of displays 180a to 180b. (170) may be provided.
  • the first display 180a is a cluster display 180a for displaying driving state and operation information
  • the second display 180b is, vehicle driving information, a navigation map, various It may be an AVN (Audio Video Navigation) display 180b for displaying entertainment information or an image.
  • AVN Audio Video Navigation
  • the signal processing apparatus 170 includes a processor 175 therein, and may execute the first virtual machine to the third virtual machine 520 to 540 on the hypervisor 505 in the processor 175 .
  • the second virtual machine 530 may operate for the first display 180a, and the third virtual machine 540 may operate for the second display 180b.
  • the first virtual machine 520 in the processor 175 shares at least a portion of data with the second virtual machine 530 and the third virtual machine 540 for data sharing processing. Accordingly, data can be shared and processed by a plurality of virtual machines for a plurality of displays in the vehicle.
  • the first virtual machine 520 in the processor 175 receives and processes the wheel speed sensor data of the vehicle, at least one of the second virtual machine 530 or the third virtual machine 540, It can transmit wheel speed sensor data. Accordingly, the vehicle wheel speed sensor data can be shared with at least one virtual machine or the like.
  • the first virtual machine 520 in the processor 175 writes a portion of the data to the first shared memory 508a to be transferred to the second virtual machine 530, and writes another portion of the data to the third virtual machine is written to the first shared memory 508a to be transferred to the control to be recorded in Accordingly, data can be shared and processed by a plurality of virtual machines for a plurality of displays in the vehicle.
  • the first virtual machine 520 in the processor 175, the second virtual machine 530 and the third virtual machine 540, for the same data transfer, the hypervisor 505 based shared memory 508 ) can be controlled to be set. Accordingly, it is possible to synchronize and display the same information or the same image on the first display 180a and the second display 180b in the vehicle.
  • a rear seat entertainment (Rear Seat Entertainment) display 180c for displaying driving state information, simple navigation information, various entertainment information or images is further added.
  • the signal processing device 170 on the hypervisor 505 in the processor 175, in addition to the first virtual machine to the third virtual machine (520 to 540) by executing a fourth virtual machine (550 in Fig. 12) , the RSE display 180c may be controlled.
  • various displays 180a to 180c can be controlled using one signal processing device 170 .
  • some of the plurality of displays 180a to 180c may operate under the Linux OS, and others may operate under the web OS.
  • the signal processing apparatus 170 may divide and process data even in the displays 180a to 180c operating under various operating systems (OS).
  • OS operating systems
  • the signal processing apparatus 170 can be controlled to display the same information or the same image in synchronization even on the displays 180a to 180c operating under various operating systems (OS). have.
  • OS operating systems
  • FIG. 3 illustrates an example of an internal block diagram of a vehicle display apparatus according to an embodiment of the present invention.
  • the vehicle display apparatus 100 includes an input unit 110 , a communication unit 120 , an interface 130 , a memory 140 , a signal processing device 170 , and a plurality of displays. (180a to 180c), an audio output unit 185, and a power supply unit 190 may be provided.
  • the input unit 110 may include a physical button, a pad, and the like for button input, touch input, and the like.
  • the input unit 110 may include a microphone (not shown) for inputting a user's voice.
  • the communication unit 120 may exchange data with the mobile terminal 800 or the server 900 in a wireless manner.
  • the communication unit 120 may wirelessly exchange data with the mobile terminal of the vehicle driver.
  • various data communication methods such as Bluetooth, WiFi, WiFi Direct, and APiX are possible.
  • the communication unit 120 may receive weather information, road traffic condition information, for example, Transport Protocol Expert Group (TPEG) information from the mobile terminal 800 or the server 900 . To this end, the communication unit 120 may include a mobile communication module (not shown).
  • TPEG Transport Protocol Expert Group
  • the interface 130 may receive sensor information or the like from the ECU 770 or the sensor device 760 , and transmit the received information to the signal processing device 170 .
  • the sensor information includes vehicle direction information, vehicle location information (GPS information), vehicle angle information, vehicle speed information, vehicle acceleration information, vehicle inclination information, vehicle forward/reverse information, battery information, fuel information, tire information, vehicle It may include at least one of lamp information, vehicle internal temperature information, and vehicle internal humidity information.
  • Such sensor information includes a heading sensor, a yaw sensor, a gyro sensor, a position module, a vehicle forward/reverse sensor, a wheel sensor, a vehicle speed sensor, It may be obtained from a vehicle body inclination sensor, a battery sensor, a fuel sensor, a tire sensor, a steering sensor based on steering wheel rotation, a vehicle interior temperature sensor, a vehicle interior humidity sensor, and the like.
  • the position module may include a GPS module for receiving GPS information.
  • the interface 130 receives the vehicle front image data, the vehicle side image data, the vehicle rear image data, the obstacle distance information around the vehicle, etc. from the camera 195 or the rider (not shown), and the received information
  • the signal may be transmitted to the signal processing device 170 .
  • the memory 140 may store various data for the overall operation of the vehicle display apparatus 100 , such as a program for processing or controlling the signal processing apparatus 170 .
  • the memory 140 may store data related to the hypervisor, the first virtual machine to the third virtual machine, for execution in the processor 175 .
  • the audio output unit 185 converts the electrical signal from the signal processing device 170 into an audio signal and outputs it.
  • a speaker or the like may be provided.
  • the power supply unit 190 may supply power required for the operation of each component under the control of the signal processing device 170 .
  • the power supply unit 190 may receive power from a battery inside the vehicle.
  • the signal processing apparatus 170 controls the overall operation of each unit in the vehicle display apparatus 100 .
  • the processor 175 for performing signal processing for the vehicle displays 180a and 180b may be included.
  • the processor 175 may execute the first to third virtualization machines 520 to 540 on a hypervisor ( 505 in FIG. 5 ) in the processor 175 .
  • the first virtual machine 520 among the first to third virtual machines may be called a Server Virtual Machine, and the second to third virtual machines Reference numerals 530 to 540 may be referred to as guest virtual machines.
  • the second virtual machine 530 may operate for the first display 180a
  • the third virtual machine 540 may operate for the second display 180b.
  • the first virtual machine 520 in the processor 175 may receive, process or process and output vehicle sensor data, location information data, camera image data, audio data, or touch input data.
  • vehicle sensor data location information data
  • camera image data location information data
  • audio data audio data
  • touch input data location information data
  • touch input data location information data
  • data processing can be efficiently performed.
  • by performing most of the data processing in the first virtual machine 520 it is possible to share data in a 1:N manner.
  • the first virtual machine 520 directly receives and processes CAN communication data, audio data, radio data, USB data, and wireless communication data for the second virtual machine to the third virtual machine 530 to 540 . can do.
  • the first virtual machine 520 may transmit the processed data to the second to third virtual machines 530 to 540 .
  • the first virtual machine 520 of the first to third virtual machines 520 to 540 receives communication data and external input data and performs signal processing, thereby processing signals in other virtual machines.
  • the burden is reduced, and 1:N data communication becomes possible, and synchronization at the time of data sharing becomes possible.
  • the first virtual machine 520 writes a portion of the data to the first shared memory 508a to be transferred to the second virtual machine 530, and the first to transfer the other portion of the data to the third virtual machine.
  • writes to the shared memory 508a, the second virtual machine 530 and the third virtual machine 540 process the received data, respectively, and control so that the processed data is written to the second shared memory 508b . Accordingly, data can be shared and processed by a plurality of virtual machines for a plurality of displays in the vehicle.
  • the data may be any one of image data, audio data, navigation data, and voice recognition data.
  • the first virtual machine 520 by processing another part of the data, the second shared memory 508b may control the processed data to be written. That is, in addition to the second virtual machine 530 and the third virtual machine, the first virtual machine 520 may perform data processing.
  • the fourth virtual machine 550 operating for the third display 180c when executed in the processor 175 , the first virtual machine 520 stores another portion of data in the first shared memory 508a ), the fourth virtual machine 550 may process the received data, respectively, and control the processed data to be written to the second shared memory 508b.
  • the first virtual machine 520, the second virtual machine to the third virtual machine may generate each command queue for the distributed processing of the data. Accordingly, data can be shared and processed by a plurality of virtual machines.
  • the first virtual machine 520 may generate a command queue corresponding to the number of virtual machines for distributed processing of data.
  • the first virtual machine 520 may control at least a portion of data to be transmitted to at least one of the second virtual machine 530 and the third virtual machine 540 for data distribution processing.
  • the first virtual machine 520 allocates a first shared memory 508a for transferring at least a portion of the data to at least one of the second virtual machine 530 or the third virtual machine 540 , , the image data processed by the second virtual machine 530 or the third virtual machine 540 may be recorded in the second shared memory 508b.
  • the first virtual machine 520 by writing the data to the shared memory 508, the second virtual machine 530 and the third virtual machine 540 can be controlled to share the same data.
  • the first virtual machine 520 writes radio data or wireless communication data to the shared memory 508 so as to share the same data with the second virtual machine 530 and the third virtual machine 540 .
  • the hypervisor 505 based shared memory 508 can be controlled to be set.
  • the first virtual machine 520 in the processor 175 is the same as the second virtual machine 530 and the third virtual machine 540 using the hypervisor 505-based shared memory 508 .
  • Data can be synchronized and transmitted. Accordingly, it is possible to synchronize and display the same image on the plurality of displays 180a to 180b in the vehicle.
  • the signal processing apparatus 170 may process various signals such as an audio signal, an image signal, and a data signal.
  • the signal processing apparatus 170 may be implemented in the form of a system on chip (SOC).
  • FIG. 4 is a diagram illustrating a system driven in a signal processing apparatus according to the present invention.
  • FIG. 4 is a diagram illustrating that a virtual machine is used for a cluster display 180a and an AVN display 180b, respectively.
  • the system 400 driven in the signal processing apparatus of FIG. 4 exemplifies that the cluster virtualization machine 430 and the AVN virtualization machine 440 are executed on the hypervisor 405 in the processor 175 .
  • the system 400 driven in the signal processing apparatus of FIG. 4 exemplifies that the legacy virtualization machine 410 is also executed on the hypervisor 405 in the processor 175 .
  • the legacy virtual machine 410 includes an interface 412 for data communication with the memory 140 and an interface 413 for Ethernet communication.
  • the cluster virtualization machine 430 may be provided with an interface 433 for communication with the interface 413 .
  • the AVN virtual machine 440 is an interface 441 for input/output of audio data, radio data, USB data, and wireless communication data, and an interface for communication with the interface 412 of the legacy virtual machine 410 . 442 , an interface 443 for communication with an interface 413 of the legacy virtualization machine 410 .
  • audio data, radio data, USB data, and wireless communication data are input/output only from the AVN virtualization machine 440 , so the cluster virtualization machine 430 cannot utilize these data. There is this.
  • the cluster virtualization machine 430 and the cluster virtualization machine 430 must have separate interfaces 431,432,441,442, respectively. have.
  • the present invention proposes a method for improving the system of FIG. 4 . That is, unlike FIG. 4, the virtual machine is divided into a server virtual machine and a guest virtual machine, and various types of memory data, communication data, etc. are input/output from the server virtual machine without input/output from the guest virtual machine. This will be described with reference to FIG. 5 or less.
  • FIG. 5 is a diagram illustrating an example of a system driven in a signal processing apparatus according to an embodiment of the present invention.
  • the system 500 of FIG. 5 is a first virtual machine 520 that is a server virtualization machine, and a second virtual machine that is a guest virtual machine, on a hypervisor 505 in a processor 175 in a signal processing device 170 .
  • the second virtual machine 530 and the guest virtual machine exemplifies that the third virtual machine 540 is executed.
  • the second virtual machine 530 may be a virtual machine for the cluster display 180a
  • the third virtual machine 540 may be a virtual machine for the AVN display 180b.
  • the second virtual machine 530 and the third virtual machine 540 may operate for image rendering of the cluster display 180a and the AVN display 180b, respectively.
  • the system 500 driven by the signal processing device 170 of FIG. 5 exemplifies that the legacy virtualization machine 510 is also executed on the hypervisor 505 in the processor 175 .
  • the legacy virtual machine 510 includes an interface 511 for data communication with the memory 140 and Ethernet communication.
  • the legacy virtual machine 510 may further include an interface (virtio-backend interface) 512 for data communication with the second to third virtual machines 530 and 540 .
  • an interface virtual-backend interface
  • the first virtual machine 520 may include an interface 521 for input/output of audio data, radio data, USB data, and wireless communication data, and an input/output server interface 522 for data communication with the guest virtual machine. .
  • the first virtual machine 520 which is a server virtualization machine, uses I/O that is difficult to be virtualized by standard virtualization technology (VirtIO) to a plurality of guest virtual machines, for example, the second to third virtual machines 530 and 540. etc. can be provided.
  • VirtualIO virtualization technology
  • the first virtual machine 520 which is a server virtualization machine, controls radio data, audio data, etc. at the supervisor level, and provides a plurality of guest virtual machines, for example, the second to third virtual machines 530 and 540, etc. can do.
  • the first virtual machine 520 which is a server virtualization machine, processes vehicle data, sensor data, vehicle surrounding information, and the like, and transfers the processed data or information to a plurality of guest virtual machines, for example, the second to second 3 may be provided to virtual machines (530, 540) and the like.
  • the first virtual machine 520 may provide services (Supervisory Services), such as vehicle data processing and audio routing management.
  • Supervisory Services such as vehicle data processing and audio routing management.
  • the second virtual machine 530 may include an input/output client interface 532 for data communication with the first virtual machine 520 and APIs 533 for controlling the input/output client interface 532 . .
  • the second virtual machine 530 may include an interface (virtio-backend interface) for data communication with the legacy virtual machine 510 .
  • the second virtual machine 530 is, through an interface (virtio-backend interface), memory data by communication with the memory 140 from the interface (virtio-backend interface) 512 of the legacy virtual machine 510 (virtio-backend interface) , Ethernet data can be received by Ethernet communication.
  • the third virtual machine 540 may include an input/output client interface 542 for data communication with the first virtual machine 520 and APIs 543 for controlling the input/output client interface 542 .
  • the third virtual machine 540 may include an interface (virtio-backend interface) for data communication with the legacy virtual machine 510 .
  • the third virtual machine 540 is, through an interface (virtio-backend interface), memory data by communication with the memory 140 from the interface (virtio-backend interface) 512 of the legacy virtual machine 510 (virtio-backend interface) , Ethernet data can be received by Ethernet communication.
  • the legacy virtual machine 510 may be provided in the first virtual machine 520 , unlike FIG. 5 .
  • CAN communication data is input and output only in the first virtual machine 520, but through data processing in the first virtual machine 520, a plurality of guest virtual machines, for example, the second to third virtual machines 530 and 540 may be provided. Accordingly, 1:N data communication by the processing of the first virtual machine 520 is enabled.
  • audio data, radio data, USB data, and wireless communication data are input and output only in the first virtual machine 520 , but through data processing in the first virtual machine 520 .
  • a plurality of guest virtualization machines for example, the second to third virtualization machines 530 and 540, etc. may be provided. Accordingly, 1:N data communication by the processing of the first virtual machine 520 is enabled.
  • the second to third virtual machines 530 and 540 may operate based on different OSs.
  • the second virtual machine 540 may operate under a Linux OS, and the third virtual machine 540 may operate under a web OS.
  • the hypervisor 505-based shared memory 508 is set. Accordingly, even if the second to third virtual machines 530 and 540 operate under different operating systems (OS), the same data or the same image can be synchronized and shared. As a result, the same data or the same image can be synchronized and displayed on the plurality of displays 180a and 180b.
  • OS operating systems
  • FIG. 6 is a diagram referenced for an operation description of a system driven in a signal processing apparatus according to an embodiment of the present invention
  • FIGS. 7A to 18 are diagrams referenced for the description of FIG. 5 or FIG. 6 .
  • the processor 175 in the signal processing device 170 on the hypervisor 505 in the processor 175 , the first virtual machine to the third virtual machine 520 to 540 .
  • the first virtual machine 520 in the processor 175 to the second virtual machine 530 and the third virtual machine 540, for the same data transmission, the hypervisor 505 based sharing Controls the memory 508 to be set.
  • the same image data may be exemplified as the same data. Accordingly, it is possible to synchronize and display the same image on the plurality of displays 180a to 180b in the vehicle.
  • CAN communication data audio data, radio data, USB data, wireless communication data, location information data, or touch data
  • CAN communication data audio data
  • radio data radio data
  • USB data USB data
  • wireless communication data location information data
  • touch data touch data
  • the legacy virtualization machine 510 uses the memory data from the memory 140, Ethernet data by Ethernet communication, and the shared memory 508 based on the hypervisor 505,
  • the second virtual machine 530 and the third virtual machine 540 may be transmitted in synchronization. That is, 1:N data communication for memory data or Ethernet data can be performed. Accordingly, the same data can be synchronized and transmitted.
  • FIG. 7A illustrates three virtual machines 420 , 420 , 430 operating in system 400b .
  • the first virtual machine 420 is a Linux-based virtual machine, and may include an input/output server interface 422 for data transmission, and a second virtual machine 530 and a third virtual machine (
  • the 540 may include input/output client interfaces 432 and 442 for data communication with the input/output server interface 422 .
  • the first virtual machine 420 sends the first data to the second virtual machine 430 , the first shared memory 408a, and the first virtual machine 430 ( In order for the 420 to transmit the same first data to the third virtual machine 440 , in the hypervisor 405 , the first shared memory 408a and the second shared memory 408b must be set.
  • FIG. 7B shows, by the system 400b of FIG. 7A , the second virtual machine 430 displays the image data received through the first shared memory 408a on the first display 180a, and the third virtual machine The example 440 displays the image data received through the second shared memory 408b on the second display 180b.
  • the image 705a displayed on the first display 180a and the image 705b displayed on the second display 180b are not synchronized with each other, and the image 705b displayed on the second display 180b is not shown.
  • This exemplifies an image corresponding to a previous frame than the image 705a displayed on the first display 180a.
  • the present invention proposes a method of allocating one shared memory when transmitting the same data. Accordingly, 1:N data communication is performed, and synchronized data transmission is possible.
  • FIG. 8 shows, on a hypervisor 505 in a processor 175 in a system 500 in accordance with an embodiment of the present invention, a first virtualization machine through a third virtualization machine 520-540 executing, the processor 175
  • the first virtual machine 520 in the second virtual machine 530 and the third virtual machine 540 for the same data transfer, to control the hypervisor 505-based shared memory 508 to be set exemplify that
  • the first virtual machine 520 in the processor 175 transmits data processed in the first virtual machine 520 to another virtual machine, it is not allocated a number of memory corresponding to the number of virtual machines.
  • one shared memory 508 may be used. Accordingly, using the shared memory 508 instead of 1:1 data communication between virtual machines, 1:N data communication is possible.
  • the first virtual machine 520 in the processor 175 may include an input/output server interface 522 and a security manager 526 .
  • the second virtual machine 530 and the third virtual machine 540 may include input/output client interfaces 532 and 542, respectively. Accordingly, using the input/output server interface 522 and the input/output client interfaces 532 and 542, it is possible to perform high-speed data communication between a plurality of virtual machines.
  • the input/output server interface 522 in the first virtual machine 520 receives the same data transfer request from the respective input/output client interfaces 532 and 542 in the second virtual machine 530 and the third virtual machine 540, Based on this, the shared data may be transmitted to the shared memory 508 through the security manager 526 .
  • 9A illustrates a more detailed diagram for shared data transmission.
  • the input/output server interface 522 in the first virtual machine 520 transmits an allocation request of the shared memory 508 to the security manager 526 (S1).
  • the security manager 526 may allocate the shared memory 508 using the hypervisor 505 ( S2 ), and write the shared data to the shared memory 508 .
  • the input/output client interfaces 532 and 542 may transmit a connection request to the input/output server interface 522 after allocation of the shared memory 508 ( S3 ).
  • the input/output server interface 522 transmits information on the shared memory 508 including key data to the input/output client interfaces 532 and 542 after the shared memory 508 is allocated (S4).
  • the key data may be private key data.
  • the input/output server interface 522 in the first virtual machine 520 controls to create a command queue for processing commands or events, separate from data, for controlling distributed processing between virtual machines. (S5).
  • a command queue is generated in the command queue buffer 504 in the hypervisor 505 under the control of the input/output server interface 522 .
  • the present invention is not limited thereto, and by the control of the input/output server interface 522 , it is also possible to create within the first virtual machine 520 , not within the hypervisor 505 .
  • each of the input/output client interfaces 532 and 542 accesses the command queue buffer 504 to receive the generated command queue or information on the command queue (S6).
  • the generated command queues may be the same.
  • each input/output client interface 532, 542, the input/output client interface 532, 542 accesses the shared memory 508 based on the received key data (S5), and transfers the shared data to the shared memory 508 It can be copied from (S7).
  • the input/output client interfaces 532 and 542 access the shared memory 508 based on the same command queue and the same key data (S5). ), the shared data may be copied from the shared memory 508 .
  • the second virtual machine 530 and the third virtual machine 540 may access the shared memory 508 , and eventually, the shared data may be shared.
  • the second virtual machine 530 and the third virtual machine 540 share the image data, and eventually share the same in the plurality of displays 180a to 180b in the vehicle.
  • the video can be displayed in synchronization.
  • FIG. 9B shows, by the system 500b of FIG. 9A , the second virtual machine 530 displays image data received through the shared memory 508 on the first display 180a, and the third virtual machine 540 ) illustrates displaying the image data received through the shared memory 508 on the second display 180b.
  • the image 905 displayed on the first display 180a and the image 905 displayed on the second display 180b are synchronized to display the same image.
  • the image data processed by the first virtual machine 520 in the processor 175 is transmitted to the second virtual machine 530 and the third virtual machine 540 through the shared memory 508 , and the image data Based on , the first image 905 displayed on the first display 180a and the second image 905 displayed on the second display 180b may be identical to each other. Accordingly, it is possible to synchronize and display the same image on the plurality of displays 180a to 180b in the vehicle. In addition, it is possible to perform high-speed data communication between a plurality of virtual machines.
  • FIG. 10 is a detailed diagram of the output server interface 522 of FIG. 8 .
  • a plurality of buffers 507a, 507b, and 507c may be set in the shared memory 508 .
  • each of the input/output client interfaces 532 and 542 in the second virtual machine 530 and the third virtual machine 540 may include consumers 533 and 543 , respectively.
  • the output server interface 522 in the first virtual machine 520 the Producer 1010 that creates a synchronization object for graphic synchronization, manages a queue, in particular a recvQueue 1020, which receives the queue (queue) ) may be provided with a WorkThread (1030) for managing and controlling the operation, and a SendQueue (1040) for managing, particularly transmitting, a queue.
  • the producer 1010 receives information on an empty buffer index among a plurality of buffers 507a, 507b, and 507c in the shared memory 508 from the recvQueue 1020 (Sa1). For example, when the first buffer 507a of the plurality of buffers 507a, 507b, and 507c is empty, information on the first buffer 507a is received (Sa1).
  • the producer 1010 receives information about the first buffer 507a having a reference count refcnt of 0 from the recvQueue 1020 .
  • the producer 1010 creates a synchronization object for graphic synchronization for writing to the first buffer 507a (Sa2).
  • the producer 1010 writes data for the generated synchronization object to the first buffer 507a in the shared memory 508 (Sa3).
  • the producer 1010 queues information on the first buffer 507a, for example, a buffer index, with the SendQueue 1040 (Sa4).
  • the WorkThread 1030 detects and receives or reads data when data is received from the SendQueue 1040 that is periodically monitored (Sa5).
  • the WorkThread 1030 receives information about the first buffer 507a to the monitored SendQueue 1040, it receives it.
  • the WorkThread 1030 waits until all frames for the created synchronization object are drawn (Sa6).
  • the WorkThread 1030 increases the reference count (refcnt) of the buffer corresponding to the first buffer 507a by the number of consumers or the number of input/output client interfaces (Sa7).
  • the reference count (refcnt) of the buffer corresponding to the first buffer 507a is increased from 0 to 2.
  • the WorkThread 1030 transfers the buffer index to the Consumers 533 and 543 (Sa8). For example, information corresponding to the first buffer 507a is transmitted (Sa8).
  • the consumers 533 and 543 use the received buffer index to access the first buffer 507a in the shared memory 508 and copy data (Sa9).
  • the Consumers 533 and 543 return the buffer index back to the Producer 1010 or the WorkThread 1030 after data copy is completed (Sa10).
  • the producer 1010 decrements the reference count RefCnt for the first buffer 507a by one based on the buffer index or information received after data copy completion for each consumer 533 and 543 .
  • the reference count RefCnt for the first buffer 507a decreases from 2 to 1.
  • the reference count RefCnt for the first buffer 507a decreases from 1 to 0.
  • the corresponding buffer can be used again by the producer 1010 .
  • the first frame data is shared using the first buffer 507a
  • the second frame data is shared using the second buffer 507b
  • the third buffer 507c is used to share the first frame data.
  • the fourth frame data can be shared again using the first buffer 507a.
  • the input/output server interface 522 receives information about the empty first buffer 507a of the shared memory 508 , writes the first data into the first buffer 507a of the shared memory 508 , and , the buffer information of the first buffer 507a may be transmitted to the input/output client interfaces 532 and 542 in the second virtual machine 530 and the third virtual machine 540 .
  • the reference count of the first buffer 507a is changed in the first direction (eg, the reference count is increased), and the first buffer 507a
  • the reference count of the first buffer 507a may be changed in a second direction opposite to the first direction (eg, the reference count decreases).
  • each consumer 533,543 in each input/output client interface 532,542 in the second virtual machine 530 and the third virtual machine 540 writes the first data in the first buffer 507a.
  • the reference count of the first buffer 507a may be changed (eg, the reference count is increased) in the first direction.
  • the producer 1010 in the input/output server interface 522 in the first virtual machine 520 completes copying the first data of the first buffer 507a
  • the reference count of the first buffer 507a is removed.
  • the change may be performed in a second direction opposite to the first direction (eg, a reference count is decreased). Accordingly, new data can be written into the first buffer 507a after the copying is completed.
  • the first virtual machine 520 writes the first frame data to the third frame data to the first buffer among the plurality of buffers 507a to 507c) to the third buffers 507a to 507c, respectively, and the second Each of the input/output client interfaces 532 and 542 in the virtual machine 530 and the third virtual machine 540 receives the first frame data to the third frame data from the first buffer) to the third buffers 507a to 507c. They can be copied sequentially.
  • the second buffer The second frame data from 507b may be copied. Accordingly, synchronization of data sharing between the second virtual machine 530 and the third virtual machine 540 may be performed.
  • 11A is a diagram illustrating that various drivers (DRa, DRb, DRc) are provided in the first virtual machine 520 .
  • the first virtual machine 520 includes a location information driver (DRa) for processing location information, a touch driver (DRb) for processing a touch input, and a camera driver for processing an image from a camera (DRc) may be provided.
  • DRa location information driver
  • DRb touch driver
  • DRc camera driver
  • the first virtual machine 520 may set a shared memory based on the hypervisor 505 for each location information driver DRa, touch driver DRb, and camera driver DRc.
  • the input/output server interface 522 sets the first shared memory 508a for transmission of image data from the camera driver DRc, and sets the second shared memory 508a for transmission of the position information from the location information driver DRa.
  • a shared memory 508b may be set.
  • the key data of the first shared memory 508a and the key data of the second shared memory 508b are transmitted to the second virtual machine 530 and the third virtual machine 540, and the second virtual machine ( 530 and the third virtual machine 540, based on the key data of the first shared memory 508a and the key data of the second shared memory 508b, the first shared memory 508a and the second shared memory 508b may be accessed.
  • 11B is a diagram showing a table including key data information.
  • the security manager 526 when sharing different types of shared data, the security manager 526 generates key data information for sharing, virtual machine information, information for each device, allocated memory address information, and buffer index information. , the generated key data information can be created and registered in the form of a table.
  • the input/output client interfaces 532 and 542, respectively, connect to the security manager 526 and refer to the table in the security manager 526,
  • the key data may be requested and received, and a corresponding shared memory may be accessed using the received key data.
  • FIG. 12 is a diagram referenced to explain data sharing in a signal processing apparatus according to an embodiment of the present invention
  • FIGS. 13 to 14B are diagrams referred to in the operation description of FIG. 12 .
  • FIG. 12 exemplifies that image data is divided and processed for signal processing of image data 1010 acquired through a camera 915 .
  • the first virtual machine 520 in the processor 175 writes a portion 1010b of the image data 1010 to a first buffer in the first shared memory 508a, when the data is the image data 1010 . and write the other portion 1010c of the image data 1010 to the second buffer in the first shared memory 508a.
  • the second virtual machine 530 and the third virtual machine 540 perform object detection on the received image data 1010b and 1010c, respectively, and the detected object image data is recorded in the second shared memory 508b. can be controlled as much as possible.
  • the second virtual machine 530 writes the data on which the object detection for the object BG1 is performed to the first buffer in the second shared memory 508b
  • the third virtual machine 540 writes the object Data on which object detection for (BG2) has been performed may be written to the second buffer in the second shared memory 508b.
  • the fourth virtual machine 550 for the RSE display 180c when executed, the first in the processor 175 .
  • the virtual machine 520 writes a portion 1010b of the image data 1010 to a first buffer in the first shared memory 508a, and writes another portion 1010c of the image data 1010 to the first shared memory ( 508a may be written to the second buffer, and another portion 1010d of the image data 1010 may be written to the third buffer in the first shared memory 508a.
  • the second virtual machine 530 records the data on which the object detection for the object BG1 is performed in the first buffer in the second shared memory 508b, and the third virtual machine 540 is the object ( The data on which the object detection for the object BG2 is performed is written to the second buffer in the second shared memory 508b, and the fourth virtual machine 550 writes the data on which the object detection for the object BG3 is performed to the second buffer.
  • a third buffer in the shared memory 508b may be written.
  • the image data divided by the signal processing apparatus 170 may be synthesized and displayed as the synthesized image 1015 on the display. Accordingly, it is possible to quickly display the signal-processed image data through the display in the vehicle.
  • the synthesized image 1015 is displayed on the RSE display 180c, but the present invention is not limited thereto. may be
  • the first virtual machine 520 transmits image data from the camera driver DRc to the input/output server interface 522 ( Sb1 ).
  • the input/output server interface 522 writes the image data to the first shared memory 508a (Sb2).
  • the input/output server interface 522 may generate a command queue for processing commands or events in addition to allocating a shared memory for data transmission (Sb3).
  • the first virtual machine 520 in the processor 175 may generate the respective command queues 504a and 504b for distributed processing of data in the second to third virtual machines 530 and 540 .
  • each command queue 504a , 504b for distributed processing of data in the second virtualization machine to the fourth virtualization machine 530 , 540 , 550 . , 504c) can be created.
  • the first virtual machine 520 in the processor 175 may generate a command queue corresponding to the number of virtual machines for distributed processing of data.
  • the first virtual machine 520 in the processor 175 may generate one identical command queue. have.
  • command queue may include virtual machine index information, task information, and shared memory information.
  • the virtual machine index information indicates information on a virtual machine to be processed for sharing data
  • the task information may indicate details of a command to be performed during data sharing processing
  • the shared memory information includes location information of a memory for shared data. , or buffer information.
  • task information may be divided into object detection, image display, DRM decryption, and sound detection for each user.
  • the input/output server interface 522 may transmit information about the first shared memory 508a including key data to the input/output client interfaces 532 , 542 , 552 after the first shared memory 508a is allocated. have.
  • the input/output client interfaces 532 , 542 , and 552 in the second to fifth virtual machines may copy some data 1010b , 1010c , and 1010d in FIG. 12 , respectively.
  • the signal processing modules (DDa, DDb, DDc) in the second to fourth virtual machines (530, 540, 550) perform each signal processing (Sb5).
  • the signal processing modules DDa, DDb, and DDc in the second to fourth virtual machines 530 , 540 , and 550 may perform object detection for different objects.
  • the input/output server interfaces 532b, 542b, and 552b in the second to fourth virtual machines 530, 540, and 550 write to the second shared memory 508b, respectively (Sb6).
  • a completion message may be transmitted to the input/output server interface 522 ( Sb7 ).
  • the input/output server interface 522 may transmit the third command queue 504c including a command for displaying an image to the fourth virtual machine 550 (Sb8).
  • the fourth virtual machine 550 may receive the third command queue 504c and process the image data recorded in the second shared memory 508b to be displayed through the RSE display 180c ( Sb9).
  • Figure 14a is similar to Figure 12, except that the fifth virtual machine 560 for the HUD display is further executed.
  • the image data 1010 acquired through the camera 915 the image data is divided and processed.
  • the first virtual machine 520 in the processor 175 writes a portion 1010b of the image data 1010 to a first buffer in the first shared memory 508a, when the data is the image data 1010 , Another part 1010c of the image data 1010 is written to the second buffer in the first shared memory 508a, and another part 1010d of the image data 1010 is written to the third buffer in the first shared memory 508a. You can write to the buffer.
  • Each input/output client interface 532 , 542 , 552 in the second to fourth virtual machines 530 , 540 , 550 receives some image data, performs signal processing, and transfers the signal-processed image data to the second shared memory 508b can be recorded as
  • object-detected image data may be recorded in the second shared memory 508b.
  • the first virtual machine 520 sends a command queue 504d for image display to the fifth virtual machine 560 , and the fifth virtual machine 560 writes to the second shared memory 508b
  • the synthesized image 1015 may be controlled to be displayed on the HUD display 180f. Accordingly, it is possible to perform image display according to the division of signal processing.
  • FIG. 14B is a diagram illustrating data sharing for encryption/decryption performed other than object detection, unlike FIG. 14A.
  • the first virtual machine 520 in the processor 175 transmits the encrypted image data 1032 to the first shared memory 508a in the first shared memory 508a when a partial encryption region is included in the image data 1030 .
  • the first buffer may be written, and the unencrypted image data 1034 may be written to the second buffer in the first shared memory 508a.
  • the first command queue 504a and the second command queue 504b are used for data transfer to the second to third virtual machines 530 and 540, respectively.
  • the second virtual machine 530 performs decryption for some encrypted areas based on the first command queue 504a, and stores the decrypted data in a second buffer of the second shared memory 508b. record
  • the third virtual machine 540 performs signal processing on the unencrypted image data 1034 based on the second command queue 504b, and transfers the signal-processed data to the second shared memory 508b. write to the first buffer of
  • the fourth virtual machine 550 when the first virtual machine 520 outputs the third command queue 504c for image display, the fourth virtual machine 550, based on the third command queue 504c, shares the second By copying the image data recorded in the memory 508b, the encrypted/decrypted image 1036 may be controlled to be displayed on the HUD display 180f. Accordingly, it is possible to perform image display according to the division of signal processing.
  • 15A illustrates that the same images 1210a and 1210b are respectively displayed on the first display 180a and the second display 180b inside the vehicle.
  • the second virtual machine 530 operates for rendering of the first display 180a and the third virtual machine 540 operates for rendering of the second display 180b, as shown in the figure, 1:N data communication by the first virtual machine 520 is performed, and display of a synchronized image is performed.
  • 15B shows that the same images 1210a, 1210b, 1210c, and 1210d are respectively displayed on the first display 180a, the second display 180b, the second display 180c, and the fourth display 180d inside the vehicle.
  • the second virtual machine 530 operates for rendering of the first display 180a
  • the third virtual machine 540 operates for rendering of the second display 180b
  • the fourth virtual machine 530 operates for rendering of the second display 180b.
  • the third display (not shown) operates for rendering of the third display 180c
  • the fifth virtual machine (not shown) operates for rendering of the fourth display 180°
  • the first virtual machine 520 ) by 1:N data communication is performed, and display of a synchronized image is performed.
  • 15C illustrates that the display 180e is formed on the rearview mirror inside the vehicle to display the image 1210e.
  • FIGS. 15A and 15C are linked, the same images 1210a, 1210b, and 1210e are displayed on the first display 180a, the second display 180b, and the rearview mirror display 180e inside the vehicle, respectively. can be
  • the second virtual machine 530 operates for the rendering of the first display 180a
  • the third virtual machine 540 operates for the rendering of the second display 180b
  • a fourth virtual machine (not shown)
  • 1:N data communication by the first virtual machine 520 is performed, and the synchronized image display is performed.
  • FIGS. 15 and 15C are linked, the first display 180a and the second display 180b, the third display 180c and the fourth display 180d, and the rearview mirror display 180e inside the vehicle It is exemplified that the same images 1210a, 1210b, 1210c, 1210d, and 1210e are displayed respectively.
  • FIG 16 illustrates that the HUD display 180f is disposed inside the vehicle.
  • the vehicle display apparatus 100 may include a first display 180a corresponding to a cluster, a second display 180b corresponding to AVN, and a HUD display 180f.
  • the signal processing device 170 includes the first image data processed by the first virtual machine 520 , the second image data processed by the second virtual machine 530 , and the third image data processed by the third virtual machine 540 .
  • the synthesized image may be controlled to be displayed on the third display 180c.
  • the first virtual machine 520 processes the rearview mirror image data Imga and the side mirror image data Imgb
  • the second virtual machine 530 processes the front camera image data Imgc
  • the third virtual machine 540 processes the navigation image data Imgd
  • the synthesized image obtained by synthesizing four image data is exemplified to be displayed on the HUD display 180f that is a third display.
  • the image 1300 corresponding to the front camera image data Imgc is the background, and the images 1310 respectively corresponding to the navigation image data Imgd, the side mirror image data Imgb, and the rearview mirror image data Imga. , 1320, 1330) are shown together. Accordingly, it is possible to display each synchronized image together. Accordingly, the user can check all images around the vehicle through the HUD display 180f.
  • FIG 17 illustrates that some of the images OBa and OBb displayed on the second display 180b are respectively processed and displayed in synchronization with the third display 180c and the fourth display 180d, which are RSE displays. do.
  • the partial image OBad is displayed on the third display 180c and the other partial image OBbd is displayed on the fourth display 180d in synchronization with each other.
  • FIG. 18 illustrates that the image 1510b displayed on the second display 180b is processed and displayed in synchronization with the third display 180c and the fourth display 180d, which are RSE displays.
  • the same image 1510c on the third display 180c and the same image 1510d on the fourth display 180d are displayed in synchronization with each other.
  • the first virtual machine 520 in the signal processing device 170, the second virtualization of the first touch input in the first display (180a) The image data received through the machine 530 and processed based on the first touch input is transmitted to the second virtual machine 530 and the third virtual machine 540 through the shared memory 508 , and the first display 180a and the second display 180b may display the same image corresponding to the first touch input. Accordingly, it is possible to synchronize and display the same image on the plurality of displays 180a to 180b in the vehicle.

Abstract

본 발명은 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치에 관한 것이다. 본 발명의 일 실시예에 따른 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하며, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 제1 가상화 머신 내지 제3 가상화 머신을 실행하며, 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 제1 가상화 머신은, 데이터 분담 처리를 위해, 제2 가상화 머신과 제3 가상화 머신에 데이터의 적어도 일부를 공유한다. 이에 의해, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.

Description

신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
본 발명은 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치에 관한 것이며, 더욱 상세하게는 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다.
한편, 차량을 이용하는 사용자의 편의를 위해, 차량 내부에 차량용 디스플레이 장치가 탑재되고 있다.
예를 들어, 클러스터 등에 디스플레이가 배치되어, 각 종 정보를 표시한다. 한편, 차량 주행 정보 등의 표시를 위해, 클러스터와 별도로, AVN(Audio Video Navigation) 디스플레이 등 다양한 디스플레이가 차량에 장착되는 추세이다.
이와 같이, 차량용 디스플레이 장치 내에 디스플레이의 개수가 증가할수록, 디스플레이를 위한 신호 처리가 복잡해지는 문제가 있다.
특히, 복수의 디스플레이에서 동일한 영상 등을 표시하는 경우, 동기화가 중요한 이슈가 된다.
본 발명의 목적은, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치를 제공함에 있다.
한편, 본 발명의 다른 목적은, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치를 제공함에 있다.
한편, 본 발명의 또 다른 목적은, 복수의 가상화 머신이 서로 다른 운영체제에 의해 구동되더라도 고속의 데이터 통신을 수행할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하며, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 제1 가상화 머신 내지 제3 가상화 머신을 실행하며, 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 제1 가상화 머신은, 데이터 분담 처리를 위해, 제2 가상화 머신과 제3 가상화 머신에 데이터의 적어도 일부를 공유한다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터의 일부를 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하며, 제2 가상화 머신과 제3 가상화 머신은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리에 기록되도록 제어한다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터의 또 다른 일부를 처리하여, 제2 공유 메모리에 처리된 데이터가 기록되도록 제어할 수 있다.
한편, 프로세서는, 추가로 제4 가상화 머신을 실행하며, 프로세서 내의 제1 가상화 머신은, 데이터의 또 다른 일부를 제1 공유 메모리에 기록하며, 제4 가상화 머신은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 제2 가상화 머신 내지 제3 가상화 머신에서의 데이터의 분산 처리를 위한 각각의 커맨드 큐를 생성할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 제2 가상화 머신 내지 제3 가상화 머신에서 동일한 데이터를 공유하는 경우, 1개의 동일한 커맨드 큐를 생성할 수 있다.
한편, 커맨드 큐는, 가상화 머신 인덱스 정보, 태스크 정보, 공유 메모리 정보를 포함할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터의 분산 처리를 위한 가상화 머신의 개수에 대응하는 커맨드 큐를 생성할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터가 영상 데이터인 경우, 영상 데이터의 일부를 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 영상 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하며, 제2 가상화 머신과 제3 가상화 머신은, 각각 전달받은 영상 데이터에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다.
한편, 프로세서는, 추가로 제4 가상화 머신을 실행하며, 프로세서 내의 제1 가상화 머신은, 영상 데이터의 또 다른 일부를 제1 공유 메모리에 기록하며, 제3 가상화 머신은, 전달받은 영상 데이터에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터가 영상 데이터인 경우, 영상 데이터의 일부를 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 영상 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하며, 제2 가상화 머신은, 영상 데이터의 일부에 대한 암호 복호화 처리를 수행하고, 복화화 처리된 영상 데이터를 제2 공유 메모리에 기록하며, 제3 가상화 머신은, 전달받은 영상 데이터에 대한 영상 처리를 수행하여 영상 처리된 영상 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 입출력 서버 인터페이스와 보안 매니저를 포함하고, 제2 가상화 머신 및 제3 가상화 머신은, 각각 입출력 클라이언트 인터페이스를 포함할 수 있다.
한편, 입출력 서버 인터페이스는, 제1 공유 메모리 할당 이후, 입출력 클라이언트 인터페이스로, 키 데이터를 포함하는 제1 공유 메모리에 대한 정보를 전송하며, 입출력 클라이언트 인터페이스는, 키 데이터에 기초하여 제1 공유 메모리에 접근할 수 있다.
한편, 입출력 서버 인터페이스는, 제1 공유 메모리 중 비어있는 제1 버퍼에 대한 정보를 수신하고, 제1 공유 메모리 내의 제1 버퍼 내에 제1 데이터를 기록하고, 제1 버퍼의 버퍼 정보를 제2 가상화 머신 및 제3 가상화 머신 내의 각 입출력 클라이언트 인터페이스로 전송할 수 있다.
한편, 제1 버퍼 내에 제1 데이터의 기록에 따라, 제1 버퍼의 기준 카운트는 제1 방향으로 변화되고, 제1 버퍼의 제1 데이터를 복사 완료하는 경우, 제1 버퍼의 기준 카운트는 제1 방향과 반대인 제2 방향으로 변화될 수 있다.
한편, 프로세서는, 이더넷 데이터를 수신하고 처리하는 레가시 가상화 머신을 더 포함하고, 제1 가상화 머신은, 차량 센서 데이터, 위치 정보 데이터, 카메라 영상 데이터, 오디오 데이터 또는 터치 입력 데이터를 수신하고, 처리 또는 가공하여 출력할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 차량의 휠 속도 센서 데이터를 수신하고, 처리하여, 제2 가상화 머신 또는 제3 가상화 머신 중 적어도 하나로, 처리된 휠 속도 센서 데이터를 전송할 수 있다.
한편, 본 발명의 일 실시예에 따른 차량용 디스플레이 장치는, 제1 디스플레이와, 제2 디스플레이와, 제1 디스플레이 및 제2 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치를 구비하고, 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하며, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 제1 가상화 머신 내지 제3 가상화 머신을 실행하며, 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 제1 가상화 머신은, 데이터 분담 처리를 위해, 제2 가상화 머신과 제3 가상화 머신에 데이터의 적어도 일부를 공유한다.
한편, 신호 처리 장치는, 복수의 가상화 머신을 이용하여, 영상 데이터를 분담 처리하고, 분담 처리된 영상 데이터를 합성하여, 합성된 영상 데이터를 복수의시하도록 제어할 수 있다.
본 발명의 일 실시예에 따른 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하며, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 제1 가상화 머신 내지 제3 가상화 머신을 실행하며, 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 제1 가상화 머신은, 데이터 분담 처리를 위해, 제2 가상화 머신과 제3 가상화 머신에 데이터의 적어도 일부를 공유한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다. 나아가, 복수의 가상화 머신이 서로 다른 운영체제에 의해 구동되더라도 고속의 데이터 통신을 수행할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터의 일부를 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하며, 제2 가상화 머신과 제3 가상화 머신은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리에 기록되도록 제어한다. 이에 따라, 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터의 또 다른 일부를 처리하여, 제2 공유 메모리에 처리된 데이터가 기록되도록 제어할 수 있다. 즉, 제2 가상화 머신과 제3 가상화 머신 외에 추가로 제1 가상화 머신이 데이터 처리를 수행할 수 있다. 이에 따라, 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서는, 추가로 제4 가상화 머신을 실행하며, 프로세서 내의 제1 가상화 머신은, 데이터의 또 다른 일부를 제1 공유 메모리에 기록하며, 제4 가상화 머신은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다. 이에 따라, 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 제2 가상화 머신 내지 제3 가상화 머신에서의 데이터의 분산 처리를 위한 각각의 커맨드 큐를 생성할 수 있다. 이에 따라, 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 제2 가상화 머신 내지 제3 가상화 머신에서 동일한 데이터를 공유하는 경우, 1개의 동일한 커맨드 큐를 생성할 수 있다. 이에 따라, 동일한 데이터를 동기화하여 공유할 수 있게 된다.
한편, 커맨드 큐는, 가상화 머신 인덱스 정보, 태스크 정보, 공유 메모리 정보를 포함할 수 있다. 이에 따라, 커맨드 큐를 통해, 공유 메모리 등에 접근이 가능하게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터의 분산 처리를 위한 가상화 머신의 개수에 대응하는 커맨드 큐를 생성할 수 있다. 이에 따라, 각 가상화 머신 별 커맨드를 전달할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터가 영상 데이터인 경우, 영상 데이터의 일부를 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 영상 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하며, 제2 가상화 머신과 제3 가상화 머신은, 각각 전달받은 영상 데이터에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 오브젝트 검출시의 데이터를 분담하여 처리할 수 있게 된다. 따라서, 신속한 데이터 처리가 가능하게 된다.
한편, 프로세서는, 추가로 제4 가상화 머신을 실행하며, 프로세서 내의 제1 가상화 머신은, 영상 데이터의 또 다른 일부를 제1 공유 메모리에 기록하며, 제3 가상화 머신은, 전달받은 영상 데이터에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 오브젝트 검출시의 데이터를 분담하여 처리할 수 있게 된다. 따라서, 신속한 데이터 처리가 가능하게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 데이터가 영상 데이터인 경우, 영상 데이터의 일부를 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 영상 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하며, 제2 가상화 머신은, 영상 데이터의 일부에 대한 암호 복호화 처리를 수행하고, 복화화 처리된 영상 데이터를 제2 공유 메모리에 기록하며, 제3 가상화 머신은, 전달받은 영상 데이터에 대한 영상 처리를 수행하여 영상 처리된 영상 데이터가 제2 공유 메모리에 기록되도록 제어할 수 있다. 이에 따라, 암호 복호화된 영상 데이터를 신속하게 처리할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 입출력 서버 인터페이스와 보안 매니저를 포함하고, 제2 가상화 머신 및 제3 가상화 머신은, 각각 입출력 클라이언트 인터페이스를 포함할 수 있다. 이에 따라, 입출력 서버 인터페이스와, 입출력 클라이언트 인터페이스를 이용하여, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다.
한편, 입출력 서버 인터페이스는, 제1 공유 메모리 할당 이후, 입출력 클라이언트 인터페이스로, 키 데이터를 포함하는 제1 공유 메모리에 대한 정보를 전송하며, 입출력 클라이언트 인터페이스는, 키 데이터에 기초하여 제1 공유 메모리에 접근할 수 있다. 이에 따라, 가상화 머신들 사이에서의 1:1 방식의 데이터 통신이 아니라, 공유 메모리를 이용하여, 1:N 방식의 데이터 통신이 가능하게 된다.
한편, 입출력 서버 인터페이스는, 제1 공유 메모리 중 비어있는 제1 버퍼에 대한 정보를 수신하고, 제1 공유 메모리 내의 제1 버퍼 내에 제1 데이터를 기록하고, 제1 버퍼의 버퍼 정보를 제2 가상화 머신 및 제3 가상화 머신 내의 각 입출력 클라이언트 인터페이스로 전송할 수 있다. 이에 따라, 가상화 머신들 사이에서의 1:1 방식의 데이터 통신이 아니라, 공유 메모리를 이용하여, 1:N 방식의 데이터 통신이 가능하게 된다.
한편, 제1 버퍼 내에 제1 데이터의 기록에 따라, 제1 버퍼의 기준 카운트는 제1 방향으로 변화되고, 제1 버퍼의 제1 데이터를 복사 완료하는 경우, 제1 버퍼의 기준 카운트는 제1 방향과 반대인 제2 방향으로 변화될 수 있다. 이에 따라, 복사 완료 이후, 제1 버퍼에 새로운 데이터의 기록이 가능하게 된다.
한편, 본 발명의 일 실시예에 따른 신호 처리 장치는, 이더넷 데이터를 수신하고 처리하는 레가시 가상화 머신을 더 포함하고, 제1 가상화 머신은, 차량 센서 데이터, 위치 정보 데이터, 카메라 영상 데이터, 오디오 데이터 또는 터치 입력 데이터를 수신하고, 처리 또는 가공하여 출력할 수 있다. 이에 따라, 레가시 가상화 머신에서만 처리하는 데이터와, 제1 가상화 머신에서 처리되는 데이터를 구분함으로써, 데이터 처리를 효율적으로 수행할 수 있게 된다.
특히, 제1 가상화 머신에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 차량의 휠 속도 센서 데이터를 수신하고, 처리하여, 제2 가상화 머신 또는 제3 가상화 머신 중 적어도 하나로, 처리된 휠 속도 센서 데이터를 전송할 수 있다. 이에 따라, 차량의 휠 속도 센서 데이터를, 적어도 하나의 가상화 머신 등에 공유할 수 있게 된다.
한편, 본 발명의 일 실시예에 따른 차량용 디스플레이 장치는, 제1 디스플레이와, 제2 디스플레이와, 제1 디스플레이 및 제2 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치를 구비하고, 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하며, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 제1 가상화 머신 내지 제3 가상화 머신을 실행하며, 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 제1 가상화 머신은, 데이터 분담 처리를 위해, 제2 가상화 머신과 제3 가상화 머신에 데이터의 적어도 일부를 공유한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 영상 데이터를 분담하여 처리할 수 있게 된다.
한편, 신호 처리 장치는, 복수의 가상화 머신을 이용하여, 영상 데이터를 분담 처리하고, 분담 처리된 영상 데이터를 합성하여, 합성된 영상 데이터를 복수의시하도록 제어할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 영상 데이터를 분담하여 처리할 수 있게 된다.
도 1a는 차량 외부 및 차량 내부의 일예를 도시한 도면이다.
도 1b는 차량 내부의 다른 예를 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량용 디스플레이 장치의 외관을 도시한 도면이다.
도 3은 도 2의 차량용 디스플레이 장치의 내부 블록도의 일예를 예시한다.
도 4는 본 발명와 관련한 신호 처리 장치에서 구동되는 시스템을 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 일예를 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 동작 설명에 참조되는 도면이다.
도 7a 내지 도 18은 도 5 또는 도 6의 설명에 참조되는 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
도 1a는 차량 외부 및 차량 내부의 일예를 도시한 도면이다.
도면을 참조하면, 차량(200)은, 동력원에 의해 회전하는 복수의 바퀴(103FR,103FL,103RL,..), 차량(200)의 진행 방향을 조절하기 위한 스티어링휠(150)에 의해 동작한다.
한편, 차량(200)은, 차량 전방의 영상 획득을 위한 카메라(195) 등을 더 구비할 수 있다.
한편, 차량(200)은, 내부에 영상, 정보 등의 표시를 위한 복수의 디스플레이(180a,180b)를 구비할 수 있다.
도 1a에서는, 복수의 디스플레이(180a,180b)로, 클러스터 디스플레이(180a), AVN(Audio Video Navigation) 디스플레이(180b)를 예시한다. 그 외, HUD(Head Up Display) 등도 가능하다.
한편, AVN(Audio Video Navigation) 디스플레이(180b)는, 센터 정보 디스플레이(Center Information Dislpay)라 명명할 수도 있다.
본 발명의 실시예는, 복수의 디스플레이(180a,180b)를 구비하는 차량용 디스플레이 장치(100)에서, 데이터 처리를 분담하는 방안을 제시한다. 이에 대해서는, 도 12 이하를 참조하여 기술한다.
한편, 본 명세서에서 기술되는 차량(200)은, 동력원으로서 엔진을 구비하는 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다.
도 1b는 차량 내부의 다른 예를 도시한 도면이다.
도면을 참조하면, 차량 내부에는, 클러스터 디스플레이(180a), AVN(Audio Video Navigation) 디스플레이(180b), 뒷 좌석 엔터네인먼트(Rear Seat Entertainment) 디스플레이(180c,180d), 룸미러 디스플레이(미도시) 등이 장착될 수 있다.
본 발명의 실시예는, 복수의 디스플레이(180a~180d)를 구비하는 차량용 디스플레이 장치(100)에서, 데이터 처리를 분담하는 방안을 제시한다. 이에 대해서는, 도 12 이하를 참조하여 기술한다.
도 2는 본 발명의 실시예에 따른 차량용 디스플레이 장치의 외관을 도시한 도면이다.
본 발명의 실시예에 따른 차량용 디스플레이 장치(100)는, 복수의 디스플레이(180a~180b), 및 복수의 디스플레이(180a~180b)에 영상, 정보 등을 표시하기 위한 신호 처리를 수행하는 신호 처리 장치(170)를 구비할 수 있다.
복수의 디스플레이(180a~180b) 중 제1 디스플레이(180a)는, 주행 상태, 동작 정보 등의 표시를 위한 클러스터 디스플레이(180a)이고, 제2 디스플레이(180b)는, 챠량 운행 정보, 네비게이션 지도, 다양한 엔테테인먼트 정보 또는 영상의 표시를 위한 AVN(Audio Video Navigation) 디스플레이(180b)일 수 있다.
신호 처리 장치(170)는, 내부에 프로세서(175)를 구비하며, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행할 수 있다.
제2 가상화 머신(530)은 제1 디스플레이(180a)를 위해 동작하며, 제3 가상화 머신(540)은, 제2 디스플레이(180b)를 위해 동작할 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 데이터 분담 처리를 위해, 제2 가상화 머신(530)과 제3 가상화 머신(540)에 데이터의 적어도 일부를 공유한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 차량의 휠 속도 센서 데이터를 수신하고, 처리하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나로, 처리된 휠 속도 센서 데이터를 전송할 수 있다. 이에 따라, 차량의 휠 속도 센서 데이터를, 적어도 하나의 가상화 머신 등에 공유할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 데이터의 일부를 제2 가상화 머신(530)으로 전달되도록 제1 공유 메모리(508a)에 기록하고, 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리(508a)에 기록하며, 제2 가상화 머신(530)과 제3 가상화 머신(540)은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리(508b)에 기록되도록 제어한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어할 수 있다. 이에 따라, 차량 내의 제1 디스플레이(180a)와 제2 디스플레이(180b)에 동일한 정보 또는 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 본 발명의 실시예에 따른 차량용 디스플레이 장치(100)는, 주행 상태 정보, 간이 네비게이션 정보, 다양한 엔테테인먼트 정보 또는 영상의 표시를 위한 뒷 좌석 엔터네인먼트(Rear Seat Entertainment) 디스플레이(180c)를 더 구비할 수 있다.
신호 처리 장치(170)는, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540) 외에 추가로 제4 가상화 머신(도 12의 550)를 실행하여, RSE 디스플레이(180c)를 제어할 수 있다.
이에 따라, 하나의 신호 처리 장치(170)를 이용하여, 다양한 디스플레이(180a~180c)를 제어할 수 있게 된다.
한편, 복수의 디스플레이(180a~180c) 중 일부는, 리눅스 OS 기반 하에 동작하며, 다른 일부는 웹 OS 기반 하에 동작할 수 있다.
본 발명의 실시예에 따른 신호 처리 장치(170)는, 다양한 운영 체제(Operating system;OS) 하에 동작하는 디스플레이(180a~180c)에서도, 데이터를 분담하여 처리할 수 있다.
한편, 본 발명의 실시예에 따른 신호 처리 장치(170)는, 다양한 운영 체제(Operating system;OS) 하에 동작하는 디스플레이(180a~180c)에서도, 동일한 정보 또는 동일한 영상을 동기화하여 표시하도록 제어할 수 있다.
도 3은 본 발명의 실시예에 따른 차량용 디스플레이 장치의 내부 블록도의 일예를 예시한다.
도면을 참조하면, 본 발명의 실시예에 따른 차량용 디스플레이 장치(100)는, 입력부(110), 통신부(120), 인터페이스(130), 메모리(140), 신호 처리 장치(170), 복수의 디스플레이(180a~180c), 오디오 출력부(185), 전원 공급부(190)를 구비할 수 있다.
입력부(110)는, 버튼 입력, 터치 입력 등을 위한 물리적인 버튼, 패드 등을 구비할 수 있다.
한편, 입력부(110)는, 사용자 음성 입력을 위한 마이크(미도시)를 구비할 수 있다.
통신부(120)는, 이동 단말기(800) 또는 서버(900)와 무선(wireless) 방식으로, 데이터를 교환할 수 있다.
특히, 통신부(120)는, 차량 운전자의 이동 단말기와, 무선으로 데이터를 교환할 수 있다. 무선 데이터 통신 방식으로는, 블루투스(Bluetooth), WiFi, WiFi Direct, APiX 등 다양한 데이터 통신 방식이 가능하다.
통신부(120)는, 이동 단말기(800) 또는 서버(900)로부터, 날씨 정보, 도로의 교통 상황 정보, 예를 들어, TPEG(Transport Protocol Expert Group) 정보를 수신할 수 있다. 이를 위해, 통신부(120)는, 이동 통신 모듈(미도시)를 구비할 수 있다.
인터페이스(130)는, ECU(770) 또는 센서 장치(760)로부터, 센서 정보 등을 수신하고, 수신한 정보를 신호 처리 장치(170)로 전송할 수 있다.
여기서, 센서 정보는, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보 중 적어도 하나를 포함할 수 있다.
이러한 센서 정보는, 헤딩 센서(heading sensor), 요 센서(yaw sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 휠 센서(wheel sensor), 차량 속도 센서, 차체 경사 감지센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서 등으로부터 획득될 수 있다. 한편, 포지션 모듈은, GPS 정보 수신을 위한 GPS 모듈을 포함할 수 있다.
한편, 인터페이스(130)는, 카메라(195) 또는 라이더(미도시) 등으로부터 ㅊ차량 전방 영상 데이터, 차량 측방 영상 데이터, 차량 후방 영상 데이터, 차량 주변 장애물 거리 정보 등을 수신하고, 수신한 정보를 신호 처리 장치(170)로 전송할 수 있다.
메모리(140)는, 신호 처리 장치(170)의 처리 또는 제어를 위한 프로그램 등, 차량용 디스플레이 장치(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다.
예를 들어, 메모리(140)는, 프로세서(175) 내에서 실행하기 위한, 하이퍼바이저, 제1 가상화 머신 내지 제3 가상화 머신에 관한 데이터를 저장할 수 있다.
오디오 출력부(185)는, 신호 처리 장치(170)로부터의 전기 신호를 오디오 신호로 변환하여 출력한다. 이를 위해, 스피커 등을 구비할 수 있다.
전원 공급부(190)는, 신호 처리 장치(170)의 제어에 의해, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(190)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
신호 처리 장치(170)는, 차량용 디스플레이 장치(100) 내의 각 유닛의 전반적인 동작을 제어한다.
예를 들어, 차량용 디스플레이(180a,180b)를 위한 신호 처리를 수행하는 프로세서(175)를 포함할 수 있다.
프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(도 5의 505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행할 수 있다.
제1 가상화 머신 내지 제3 가상화 머신(도 5의 520~540) 중 제1 가상화 머신(520)은, 서버 가상화 머신(Server Virtual Maschine)이라 명명할 수 있으며, 제2 가상화 머신 내지 제3 가상화 머신(530~540)은 게스트 가상화 머신(Guest Virtual Maschine)이라 명명할 수 있다.
이때, 제2 가상화 머신(530)은 제1 디스플레이(180a)를 위해 동작하며, 제3 가상화 머신(540)은, 제2 디스플레이(180b)를 위해 동작할 수 있다.
예를 들어, 프로세서(175) 내의 제1 가상화 머신(520)은, 차량 센서 데이터, 위치 정보 데이터, 카메라 영상 데이터, 오디오 데이터 또는 터치 입력 데이터를 수신하고, 처리 또는 가공하여 출력할 수 있다. 레가시 가상화 머신에서만 처리하는 데이터와, 제1 가상화 머신(520)에서 처리되는 데이터를 구분함으로써, 데이터 처리를 효율적으로 수행할 수 있게 된다. 특히, 제1 가상화 머신(520)에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
다른 예로, 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530~540)을 위해, CAN 통신 데이터, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터를 직접 수신하고 처리할 수 있다.
그리고, 제1 가상화 머신(520)은, 처리된 데이터를 제2 가상화 머신 내지 제3 가상화 머신(530~540)으로 전송할 수 있다.
이에 따라, 제1 가상화 머신 내지 제3 가상화 머신(520~540) 중 제1 가상화 머신(520)만, 통신 데이터, 외부 입력 데이터를 수신하여, 신호 처리를 수행함으로써, 다른 가상화 머신에서의 신호 처리 부담이 경감되며, 1:N 데이터 통신이 가능하게 되어, 데이터 공유시의 동기화가 가능하게 된다.
한편, 제1 가상화 머신(520)은, 데이터의 일부를 제2 가상화 머신(530)으로 전달되도록 제1 공유 메모리(508a)에 기록하고, 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리(508a)에 기록하며, 제2 가상화 머신(530)과 제3 가상화 머신(540)은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리(508b)에 기록되도록 제어한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
이때의 데이터는, 영상 데이터, 오디오 데이터, 네비게이션 데이터, 또는 음성 인식 데이터 중 어느 하나일 수 있다.
한편, 제1 가상화 머신(520)은, 데이터의 또 다른 일부를 처리하여, 제2 공유 메모리(508b)에 처리된 데이터가 기록되도록 제어할 수 있다. 즉, 제2 가상화 머신(530)과 제3 가상화 머신 외에 추가로 제1 가상화 머신(520)이 데이터 처리를 수행할 수 있다.
한편, 프로세서(175) 내에 제3 디스플레이(180c)를 위해 동작하는 제4 가상화 머신(550)이 실행되는 경우, 제1 가상화 머신(520)은, 데이터의 또 다른 일부를 제1 공유 메모리(508a)에 기록하며, 제4 가상화 머신(550)은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리(508b)에 기록되도록 제어할 수 있다.
한편, 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530,540)에서의 데이터의 분산 처리를 위한 각각의 커맨드 큐를 생성할 수 있다. 이에 따라, 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530,540)에서 동일한 데이터를 공유하는 경우, 1개의 동일한 커맨드 큐를 생성할 수 있다. 이에 따라, 동일한 데이터를 동기화하여 공유할 수 있게 된다.
한편, 제1 가상화 머신(520)은, 데이터의 분산 처리를 위한 가상화 머신의 개수에 대응하는 커맨드 큐를 생성할 수 있다.
한편, 제1 가상화 머신(520)은, 데이터 분산 처리를 위해, 데이터의 적어도 일부를, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나로 전송되도록 제어할 수 있다.
예를 들어, 제1 가상화 머신(520)은, 데이터의 적어도 일부를, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나로 전송하기 위한 제1 공유 메모리(508a)를 할당하고, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)에서 처리된 영상 데이터는 제2 공유 메모리(508b)에 기록될 수 있다.
한편, 제1 가상화 머신(520)은, 데이터를 공유 메모리(508)에 기록하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 동일한 데이터를 공유하도록 제어할 수 있다.
예를 들어, 제1 가상화 머신(520)은, 라디오 데이터 또는 무선 통신 데이터를 공유 메모리(508)에 기록하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 동일한 데이터를 공유하도록 제어할 수 있다. 이에 따라, 1:N 방식의 데이터의 공유가 가능하게 된다.
결국, 제1 가상화 머신(520)에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어할 수 있다.
즉, 프로세서(175) 내의 제1 가상화 머신(520)은, 하이퍼바이저(505) 기반의 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터를 동기화하여 전송할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 신호 처리 장치(170)는, 오디오 신호, 영상 신호, 데이터 신호 등 다양한 신호를 처리할 수 있다. 이를 위해, 신호 처리 장치(170)는, 시스템 온 칩(System On Chip,SOC)의 형태로 구현될 수 있다.
도 4는 본 발명와 관련한 신호 처리 장치에서 구동되는 시스템을 도시한 도면이다.
도면을 참조하면, 도 4는 클러스터 디스플레이(180a)와 AVN 디스플레이(180b)를 위해, 가상화 머신이 각각 사용되는 것을 예시하는 도면이다.
도 4의 신호 처리 장치에서 구동되는 시스템(400)은, 프로세서(175) 내의 하이퍼바이저(405) 상에서, 클러스터 가상화 머신(430), AVN 가상화 머신(440)이 실행되는 것을 예시한다.
한편, 도 4의 신호 처리 장치에서 구동되는 시스템(400)은, 프로세서(175) 내의 하이퍼바이저(405) 상에서, 레가시(legacy) 가상화 머신(410)도 실행되는 것을 예시한다.
레가시(legacy) 가상화 머신(410)은, 메모리(140)와의 데이터 통신을 위한 인터페이스(412), 이더넷 통신을 위한 인터페이스(413)을 구비한다.
한편, 클러스터 가상화 머신(430)은, CAN 통신을 위한 인터페이스(431), 레가시(legacy) 가상화 머신(410)의 인터페이스(412)와의 통신을 위한 인터페이스(432), 레가시(legacy) 가상화 머신(410)의 인터페이스(413)와의 통신을 위한 인터페이스(433)를 구비할 수 있다.
한편, AVN 가상화 머신(440)은, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터의 입출력을 위한 인터페이스(441), 레가시(legacy) 가상화 머신(410)의 인터페이스(412)와의 통신을 위한 인터페이스(442), 레가시(legacy) 가상화 머신(410)의 인터페이스(413)와의 통신을 위한 인터페이스(443)를 구비할 수 있다.
이러한 시스템(400)에 의하면, CAN 통신 데이터는, 클러스터 가상화 머신(430)에서만 입출력되므로, AVN 가상화 머신(440)에서는 CAN 통신 데이터를 활용하지 못하는 단점이 있다.
또한, 도 4의 시스템(400)에 의하면, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터는, AVN 가상화 머신(440)에서만 입출력되므로, 클러스터 가상화 머신(430)에서는 이러한 데이터를 활용하지 못하는 단점이 있다.
한편, 레가시(legacy) 가상화 머신(410)에서 입출력되는 메모리 데이터, 이더넷 통신 데이터를 위해, 클러스터 가상화 머신(430)과 클러스터 가상화 머신(430)가 각각 별도의 인터페이스(431,432,441,442)를 구비해야 하는 단점이 있다.
이에 본 발명에서는, 도 4의 시스템을 개선하기 위한 방안을 제시한다. 즉, 도 4와 달리, 가상화 머신을 서버 가상화 머신과 게스트 가상화 머신으로 구분하고, 각종 메모리 데이터, 통신 데이터 등을 게스트 가상화 머신에서 입출력되지 않고, 서버 가상화 머신에서 입출력되도록 한다. 이에 대해서는 도 5 이하를 참조하여 기술한다.
도 5는 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 일예를 도시한 도면이다.
도면을 참조하면, 도 5의 시스템(500)은, 신호 처리 장치(170) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 서버 가상화 머신인 제1 가상화 머신(520), 게스트 가상화 머신인 제2 가상화 머신(530), 게스트 가상화 머신은 제3 가상화 머신(540)이 실행되는 것을 예시한다.
제2 가상화 머신(530)은, 클러스터 디스플레이(180a)를 위한 가상화 머신이고, 제3 가상화 머신(540)은 AVN 디스플레이(180b)를 위한 가상화 머신일 수 있다.
즉, 제2 가상화 머신(530)과, 제3 가상화 머신(540)은, 각각 클러스터 디스플레이(180a)과 AVN 디스플레이(180b)의 영상 렌더링을 위해 동작할 수 있다.
한편, 도 5의 신호 처리 장치(170)에서 구동되는 시스템(500)은, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 레가시(legacy) 가상화 머신(510)도 실행되는 것을 예시한다.
레가시(legacy) 가상화 머신(510)은, 메모리(140)와의 데이터 통신, 및 이더넷 통신을 위한 인터페이스(511)을 구비한다.
한편, 레가시(legacy) 가상화 머신(510)은, 제2 내지 제3 가상화 머신(530,540)과의 데이터 통신을 위한 인터페이스(virtio-backend interface)(512)를 더 구비할 수 있다.
제1 가상화 머신(520)은, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터의 입출력을 위한 인터페이스(521), 게스트 가상화 머신과의 데이터 통신을 위한 입출력 서버 인터페이스(522)를 구비할 수 있다.
즉, 서버 가상화 머신인 제1 가상화 머신(520)은, 표준가상화기술(VirtIO)에 의해 가상화되기 힘든 I/O 들을 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공할 수 있다.
한편, 서버 가상화 머신인 제1 가상화 머신(520)은, 라디오 데이터, 오디오 데이터 등을 Supervisor수준에서 제어하고, 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공할 수 있다.
한편, 서버 가상화 머신인 제1 가상화 머신(520)은, 차량 데이터, 센서 데이터, 차량 주변 정보 등을 처리하고, 처리된 데이터 또는 정보 등을 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공할 수 있다.
한편, 제1 가상화 머신(520)은, 차량 데이터(vehicle data)의 처리, 오디오 라우팅(Audio routing) 관리 등과 같은, 서비스(Supervisory Services)를 제공할 수 있다.
다음, 제2 가상화 머신(530)은, 제1 가상화 머신(520)과의 데이터 통신을 위한 입출력 클라이언트 인터페이스(532)와, 입출력 클라이언트 인터페이스(532)를 제어하는 APIs(533)를 구비할 수 있다.
또한, 제2 가상화 머신(530)은, 레가시 가상화 머신(510)과의 데이터 통신을 위한 인터페이스(virtio-backend interface)를 구비할 수 있다.
제2 가상화 머신(530)은, 인터페이스(virtio-backend interface)를 통해, 레가시(legacy) 가상화 머신(510)의 인터페이스(virtio-backend interface)(512)로부터 메모리(140)와의 통신에 의한 메모리 데이터, 이더넷 통신에 의한 이더넷 데이터를 수신할 수 있다.
다음, 제3 가상화 머신(540)은, 제1 가상화 머신(520)과의 데이터 통신을 위한 입출력 클라이언트 인터페이스(542)와 입출력 클라이언트 인터페이스(542)를 제어하는 APIs(543)를 구비할 수 있다.
또한, 제3 가상화 머신(540)은, 레가시 가상화 머신(510)과의 데이터 통신을 위한 인터페이스(virtio-backend interface)를 구비할 수 있다.
제3 가상화 머신(540)은, 인터페이스(virtio-backend interface)를 통해, 레가시(legacy) 가상화 머신(510)의 인터페이스(virtio-backend interface)(512)로부터 메모리(140)와의 통신에 의한 메모리 데이터, 이더넷 통신에 의한 이더넷 데이터를 수신할 수 있다.
한편, 레가시(legacy) 가상화 머신(510)은, 도 5와 달리, 제1 가상화 머신(520) 내에 구비되는 것도 가능하다.
이러한 시스템(500)에 의하면, CAN 통신 데이터는, 제1 가상화 머신(520)에서만 입출력되나, 제1 가상화 머신(520)에서의 데이터 처리를 통해, 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공될 수 있다. 따라서, 제1 가상화 머신(520)의 처리에 의한 1:N 데이터 통신이 가능하게 된다.
또한, 도 5의 시스템(500)에 의하면, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터는, 제1 가상화 머신(520)에서만 입출력되나, 제1 가상화 머신(520)에서의 데이터 처리를 통해, 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공될 수 있다. 따라서, 제1 가상화 머신(520)의 처리에 의한 1:N 데이터 통신이 가능하게 된다.
한편, 도 5의 시스템(500)에서 제2 내지 제3 가상화 머신(530,540)은 서로 다른 OS 기반으로 동작할 수 있다.
예를 들어, 제2 가상화 머신(540)은 리눅스 OS 기반 하에 동작하며, 제3 가상화 머신(540)은 웹 OS 기반 하에 동작할 수 있다.
제1 가상화 머신(520)은, 제2 내지 제3 가상화 머신(530,540)은 서로 다른 OS 기반 하에 동작하더라도, 데이터 공유를 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정한다. 이에 따라, 제2 내지 제3 가상화 머신(530,540)이, 서로 다른 운영 체제(Operating system;OS) 하에 동작하더라도, 동일한 데이터 또는 동일한 영상을 동기화하여 공유할 수 있게 된다. 결국, 복수의 디스플레이(180a,180b)에 동일한 데이터 또는 동일한 영상을 동기화하여 표시할 수 있게된다.
도 6은 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 동작 설명에 참조되는 도면이고, 도 7a 내지 도 18은 도 5 또는 도 6의 설명에 참조되는 도면이다.
먼저, 도 6의 시스템(500)에 의하면, 신호 처리 장치(170) 내의 프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행하며, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어한다.
예를 들어, 동일한 데이터로, 동일한 영상 데이터가 예시될 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 도 6의 시스템(500)에 의하면, 신호 처리 장치(170) 내의 프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행하며, 프로세서(175) 내의 제1 가상화 머신(520)은, 하이퍼바이저(505) 기반의 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터를 동기화하여 전송할 수 있다.
예를 들어, 동일한 데이터로, CAN 통신 데이터, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터, 위치 정보 데이터, 또는 터치 데이터 등이 예시될 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 데이터를 동기화하여 표시할 수 있게 된다.
한편, 도 6에는 표시되지 않았지만, 레가시 가상화 머신(510)은, 메모리(140)로부터의 메모리 데이터, 이더넷 통신에 의해 이더넷 데이터를, 하이퍼바이저(505) 기반의 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동기화하여 전송할 수 있다. 즉, 메모리 데이터 또는 이더넷 데이터에 대한 1:N 데이터 통신을 수행할 수 있다. 이에 따라, 동일한 데이터를 동기화하여 전송할 수 있게 된다.
도 7a는 시스템(400b)에서, 3개의 가상화 머신(420,420,430)이 동작하는 것을 예시한다.
도면을 참조하면, 제1 가상화 머신(420)은, 리눅스 기반의 가상화 머신으로, 데이터 전송을 위한 입출력 서버 인터페이스(422)를 구비할 수 있으며, 제2 가상화 머신(530) 및 제3 가상화 머신(540)은, 입출력 서버 인터페이스(422)와의 데이터 통신을 위한 입출력 클라이언트 인터페이스(432, 442)를 포함할 수 있다.
예를 들어, 제1 가상화 머신(420)이, 제1 데이터를 제2 가상화 머신(430)으로 전송하기 위해서, 하이퍼바이저(405) 내에, 제1 공유 메모리(408a)하며, 제1 가상화 머신(420)이, 동일한 제1 데이터를 제3 가상화 머신(440)으로 전송하기 위해서, 하이퍼바이저(405) 내에, 제1 공유 메모리(408a)와 별도의 제2 공유 메모리(408b)를 설정하여야 한다.
동일한 제1 데이터를 전송하는 경우에, 도 7a와 같이, 별도의 공유 메모리를 사용하는 경우, 리소스가 낭비되며, 동기화가 쉽지 않다는 단점이 있다.
도 7b는, 도 7a의 시스템(400b)에 의해, 제2 가상화 머신(430)이 제1 공유 메모리(408a)를 통해 수신된 영상 데이터를 제1 디스플레이(180a)에 표시하고, 제3 가상화 머신(440)이 제2 공유 메모리(408b)를 통해 수신된 영상 데이터를 제2 디스플레이(180b)에 표시하는 것을 예시한다.
도 7b에서는, 제1 디스플레이(180a)에 표시되는 영상(705a)와 제2 디스플레이(180b)에 표시되는 영상(705b)의 동기화가 맞지 않으며, 제2 디스플레이(180b)에 표시되는 영상(705b)이, 제1 디스플레이(180a)에 표시되는 영상(705a) 보다, 이전 프레임에 대응하는 것을 예시한다.
이와 같이, 제1 가상화 머신(420)이, 동일한 영상 데이터를 전송하는 경우에, 도 7a와 같이, 별도의 공유 메모리를 사용하는 경우, 도 7b와 같이, 영상 표시시의 동기화가 수행되지 못한다는 단점이 있다.
본 발명에서는 이러한 문제를 해결하기 위해, 동일한 데이터 전송시, 하나의 공유 메모리를 할당하는 방안을 제시한다. 이에 따라, 1:N 데이 통신이 수행되며, 동기화된 데이터의 전송이 가능하게 된다.
도 8은, 본 발명의 실시예에 따른 시스템(500) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행하며, 프로세서(175) 내의 제1 가상화 머신(520)이, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어하는 것을 예시한다.
이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다. 나아가, 복수의 가상화 머신이 서로 다른 운영체제에 의해 구동되더라도 고속의 데이터 통신을 수행할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제1 가상화 머신(520)에서 처리된 데이터를, 다른 가상화 머신으로 전송하는 경우, 가상화 머신의 개수에 대응하는 개수의 메모리 할당이 아닌, 하나의 공유 메모리(508)를 이용할 수 있다. 이에 따라, 가상화 머신들 사이에서의 1:1 방식의 데이터 통신이 아니라, 공유 메모리(508)를 이용하여, 1:N 방식의 데이터 통신이 가능하게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 입출력 서버 인터페이스(522)와 보안 매니저(526)를 포함할 수 있다.
한편, 제2 가상화 머신(530) 및 제3 가상화 머신(540)은, 각각 입출력 클라이언트 인터페이스(532, 542)를 포함할 수 있다. 이에 따라, 입출력 서버 인터페이스(522)와, 입출력 클라이언트 인터페이스(532, 542)를 이용하여, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다.
제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의 각 입출력 클라이언트 인터페이스(532, 542)로부터 동일 데이터 전송 요청을 수신하고, 이에 기초하여, 공유 데이터를 보안 매니저(526)를 통해, 공유 메모리(508)로 전송할 수 있다.
도 9a는 공유 데이터 전송에 대한 보다 상세한 도면을 예시한다.
도면을 참조하면, 공유 데이터 전송을 위해, 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 보안 매니저(526)로 공유 메모리(508)의 할당 요청을 전송한다(S1).
다음, 보안 매니저(526)는, 하이퍼바이저(505)를 이용하여 공유 메모리(508)를 할당하고(S2), 공유 메모리(508)에 공유 데이터를 기록할 수 있다.
한편, 입출력 클라이언트 인터페이스(532, 542)는, 공유 메모리(508) 할당 이후, 입출력 서버 인터페이스(522)로 연결 요청을 전송할 수 있다(S3).
한편, 입출력 서버 인터페이스(522)는, 공유 메모리(508) 할당 이후, 입출력 클라이언트 인터페이스(532, 542)로, 키 데이터를 포함하는 공유 메모리(508)에 대한 정보를 전송한다(S4). 이때의 키 데이터는, private key 데이터일 수 있다.
즉, 한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 공유 메모리(508)의 설정 이후, 공유 메모리(508)에 대한 정보를, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 전송할 수 있다.
다음, 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 가상화 머신 사이의 분산 처리 제어를 위해, 데이터와 별도의, 커맨드 또는 이벤트 처리를 위한 커맨드 큐(command queue)를 생성하도록 제어한다(S5).
도면에서는, 입출력 서버 인터페이스(522)의 제어에 의해, 하이퍼바이저(505) 내의 커맨드 큐 버퍼(504)에서, 커맨드 큐가 생성되는 것을 예시한다. 그러나, 이에 한정되지 않으며, 입출력 서버 인터페이스(522)의 제어에 의해, 하이퍼바이저(505) 내가 아닌, 제1 가상화 머신(520) 내에서 생성되는 것도 가능하다.
다음, 각 입출력 클라이언트 인터페이스(532, 542)는, 커맨드 큐 버퍼(504)에 억세스 하여, 생성된 커맨드 큐 또는 커맨드 큐에 대한 정보를 수신한다(S6).
예를 들어, 각 입출력 클라이언트 인터페이스(532, 542)로의 커맨드가 동일한 경우, 생성된 커맨드 큐는 동일할 수 있다.
다른 예로, 각 입출력 클라이언트 인터페이스(532, 542)로의 커맨드가 서로 다른 경우, 서로 다른 커맨드 큐가, 각 입출력 클라이언트 인터페이스(532, 542)로 전달될 수 있다.
다음, 각 입출력 클라이언트 인터페이스(532, 542)는, 입출력 클라이언트 인터페이스(532, 542)는, 수신한 키 데이터에 기초하여 공유 메모리(508)에 접근하고(S5), 공유 데이터를 공유 메모리(508)로부터 카피할 수 있다(S7).
특히, 각 입출력 클라이언트 인터페이스(532, 542)가 동일한 공유 데이터를 전달받는 경우, 입출력 클라이언트 인터페이스(532, 542)는, 동일한 커맨드 큐 및 동일한 키 데이터에 기초하여 공유 메모리(508)에 접근하고(S5), 공유 데이터를 공유 메모리(508)로부터 카피할 수 있다.
이에 따라, 제2 가상화 머신(530) 및 제3 가상화 머신(540)에서 공유 메모리(508)에 억세스 가능하게 되며, 결국, 공유 데이터를 공유할 수 있게 된다.
예를 들어, 공유 데이터가, 영상 데이터인 경우, 제2 가상화 머신(530) 및 제3 가상화 머신(540)에서 영상 데이터를 공유하게 되며, 결국 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 공유 영상을 동기화하여 표시할 수 있게 된다.
도 9b는, 도 9a의 시스템(500b)에 의해, 제2 가상화 머신(530)이 공유 메모리(508)를 통해 수신된 영상 데이터를 제1 디스플레이(180a)에 표시하고, 제3 가상화 머신(540)이 공유 메모리(508)를 통해 수신된 영상 데이터를 제2 디스플레이(180b)에 표시하는 것을 예시한다.
도 9b에서는, 제1 디스플레이(180a)에 표시되는 영상(905)과 제2 디스플레이(180b)에 표시되는 영상(905)의 동기화 수행되어, 동일한 영상이 표시되는 것을 예시한다.
즉, 프로세서(175) 내의 제1 가상화 머신(520)에서 처리된 영상 데이터는, 공유 메모리(508)를 통해, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 전송되며, 영상 데이터에 기초하여, 제1 디스플레이(180a)에 표시되는 제1 영상(905)과, 제2 디스플레이(180b)에 표시되는 제2 영상(905)은 서로 동일할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다. 또한, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다.
도 10은 도 8의 출력 서버 인터페이스(522)를 상세한 도시한 도면이다.
도면을 참조하면, 공유 메모리(508) 내에는 복수의 버퍼(507a,507b,507c)가 설정될 수 있다.
한편, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의 각 입출력 클라이언트 인터페이스(532, 542)는, 각각 consumer(533,543)를 구비할 수 있다.
한편, 제1 가상화 머신(520) 내의 출력 서버 인터페이스(522)는, 그래픽 동기화를 위한 동기화 객체를 생성하는 Producer(1010), 큐(queue)를 관리, 특히 수신하는 recvQueue(1020), 큐(queue)를 관리, 동작을 제어하는 WorkThread(1030), 큐(queue)를 관리, 특히 전송하는 SendQueue(1040)를 구비할 수 있다.
먼저, Producer(1010)는, recvQueue(1020)로부터, 공유 메모리(508) 내의 복수의 버퍼(507a,507b,507c) 중 비어있는 버퍼 인덱스(buffer Index)에 대한 정보를 수신한다(Sa1). 예를 들어, 복수의 버퍼(507a,507b,507c) 제1 버퍼(507a)가 비어 있는 경우, 제1 버퍼(507a)에 대한 정보를 수신한다(Sa1).
특히, Producer(1010)는, recvQueue(1020)로부터 기준 카운트(refcnt)가 0인 제1 버퍼(507a)에 대한 정보를 전달 받는다.
다음, Producer(1010)는, 제1 버퍼(507a)로의 기록을 위해, 그래픽 동기화를 위한 동기화 객체를 생성한다(Sa2).
다음, Producer(1010)는, 생성된 동기화 객체에 대한 데이터를, 공유 메모리(508) 내의 제1 버퍼(507a)에 기록(write)한다(Sa3).
다음, Producer(1010)는, SendQueue(1040)로, 제1 버퍼(507a)에 대한 정보, 예를 들어 버퍼 인덱스를 큐잉(queuing)한다(Sa4).
다음, WorkThread(1030)는, 주기적으로 모니터링 하고 있는 SendQueue(1040)에, 데이터가 들어오는 경우, 이를 감지하여, 수신 또는 독출(read)한다(Sa5).
예를 들어, WorkThread(1030)는, 모니터링 하고 있는 SendQueue(1040)에, 제1 버퍼(507a)에 대한 정보가 들어오는 경우, 이를 수신한다.
한편, WorkThread(1030)는, 생성된 동기화 객체에 대한 프레임이 다 다그려질때까지 기다린다(Sa6).
다음, WorkThread(1030)는, 제1 버퍼(507a)에 해당하는 버퍼의 기준 카운트(refcnt)를, consumer의 개수 또는 입출력 클라이언트 인터페이스의 개수 만큼 증가시킨다(Sa7).
예를 들어, 도면에서는 consumer(533,543)의 개수 또는 입출력 클라이언트 인터페이스(532,542)의 개수기 2개이므로, 제1 버퍼(507a)에 해당하는 버퍼의 기준 카운트(refcnt)를, 0에서 2로 증가시킨다.
다음, WorkThread(1030)는, Consumer(533,543)로 버퍼 인덱스를 전달한다(Sa8). 예를 들어, 제1 버퍼(507a)에 대응하는 정보를 전달한다(Sa8).
다음, Consumer(533,543)는, 전달받은 버퍼 인덱스를 이용하여, 공유 메모리(508) 내의 제1 버퍼(507a)에 억세스 하여, 데이터를 카피한다(Sa9).
다음, Consumer(533,543)는, 데이터 카피 완료 이후, 버퍼 인덱스를 다시 Producer(1010) 또는 WorkThread(1030)로 반납한다(Sa10).
다음, Producer(1010)는, Consumer(533,543) 별로 데이터 카피 완료 이후 수신한 정보 또는 버퍼 인덱스에 기초하여, 제1 버퍼(507a)에 대한 기준 카운트(RefCnt)를 1씩 감소시킨다.
예를 들어, 제1 Consumer(533)가 데이터 카피 완료한 경우, 제1 버퍼(507a)에 대한 기준 카운트(RefCnt)는 2에서 1로 감소한다.
그 이후, 제2 Consumer(543)가 데이터 카피 완료한 경우, 제1 버퍼(507a)에 대한 기준 카운트(RefCnt)는 1에서 0로 감소한다.
한편, 제1 버퍼(507a)에 대한 기준 카운트(RefCnt)가 0인 경우, 해당 버퍼는 다시 Producer(1010)에서 사용할 수 있게 된다.
이와 유사하게, 제1 버퍼(507a)를 이용하여 제1 프레임 데이터를 공유하고, 그 이후, 제2 버퍼(507b)를 이용하여 제2 프레임 데이터를 공유하고, 그 이후, 제3 버퍼(507c)를 이용하여 제3 프레임 데이터를 공유하고, 그 이후, 다시 제1 버퍼(507a)를 이용하여 제4 프레임 데이터를 공유할 수 있다.
즉, 입출력 서버 인터페이스(522)는, 공유 메모리(508) 중 비어있는 제1 버퍼(507a)에 대한 정보를 수신하고, 공유 메모리(508) 내의 제1 버퍼(507a) 내에 제1 데이터를 기록하고, 제1 버퍼(507a)의 버퍼 정보를 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의 각 입출력 클라이언트 인터페이스(532, 542)로 전송할 수 있다.
특히, 제1 버퍼(507a) 내에 제1 데이터를 기록에 따라, 제1 버퍼(507a)의 기준 카운트가 제1 방향으로 변화(예를 들어, 기준 카운트가 증가)되고, 제1 버퍼(507a)의 제1 데이터를 복사 완료하는 경우, 제1 버퍼(507a)의 기준 카운트는 제1 방향과 반대인 제2 방향(예를 들어, 기준 카운드가 감소)으로 변화될 수 있다.
예를 들어, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의 각 입출력 클라이언트 인터페이스(532, 542) 내의 각 consumer(533,543)는, 제1 버퍼(507a) 내에 제1 데이터를 기록에 따라, 제1 버퍼(507a)의 기준 카운트를 제1 방향으로 변화(예를 들어, 기준 카운트가 증가)시킬 수 있다.
한편, 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522) 내의 Producer(1010)는, 제1 버퍼(507a)의 제1 데이터를 복사 완료하는 경우, 제1 버퍼(507a)의 기준 카운트를 제1 방향과 반대인 제2 방향(예를 들어, 기준 카운트가 감소)으로 변화시킬 수 있다. 이에 따라, 복사 완료 이후, 제1 버퍼(507a)에 새로운 데이터의 기록이 가능하게 된다.
한편, 제1 가상화 머신(520)은, 제1 프레임 데이터 내지 제3 프레임 데이터를 복수의 버퍼(507a~507c) 중 제1 버퍼) 내지 제3 버퍼(507a~507c)에 각각 기록하고, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의 각 입출력 클라이언트 인터페이스(532, 542)는, 제1 버퍼) 내지 제3 버퍼(507a~507c)로부터의 제1 프레임 데이터 내지 제3 프레임 데이터를 순차적으로 복사할 수 있다.
한편, 제2 가상화 머신(530)은, 제3 가상화 머신(540) 내의 입출력 클라이언트 인터페이스(532, 542)가, 제1 버퍼(507a)로부터의 제1 프레임 데이터를 복사 완료한 후에, 제2 버퍼(507b)로부터의 제2 프레임 데이터를 복사할 수 있다. 이에 따라, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 사이에 데이터 공유시의 동기화가 수행될 수 있게 된다.
도 11a는 제1 가상화 머신(520) 내에 다양한 드라이버(DRa,DRb,DRc)가 구비되는 것을 예시하는 도면이다.
도면을 참조하면, 제1 가상화 머신(520)은, 위치 정보 처리를 위한 위치 정보 드라이버(DRa)와, 터치 입력에 대한 처리를 위한 터치 드라이버(DRb)와, 카메라로부터의 영상 처리를 위한 카메라 드라이버(DRc)를 구비할 수 있다.
이에 따라, 제1 가상화 머신(520)은, 위치 정보 드라이버(DRa), 터치 드라이버(DRb), 카메라 드라이버(DRc) 별로, 하이퍼바이저(505) 기반의 공유 메모리를 설정할 수 있다.
한편, 입출력 서버 인터페이스(522)는, 카메라 드라이버(DRc)로부터의 영상 데이터의 전송을 위한 제1 공유 메모리(508a)를 설정하고, 위치 정보 드라이버(DRa)로부터의 위치 정보의 전송을 위한 제2 공유 메모리(508b)를 설정할 수 있다.
한편, 제1 공유 메모리(508a)의 키 데이터와, 제2 공유 메모리(508b)의 키 데이터는, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 전송되고, 제2 가상화 머신(530) 및 제3 가상화 머신(540)은, 제1 공유 메모리(508a)의 키 데이터와, 제2 공유 메모리(508b)의 키 데이터에 기초하여, 제1 공유 메모리(508a)와 제2 공유 메모리(508b)에 억세스할 수 있다.
도면에서는, 위치 정보 드라이버(DRa)로부터의 데이터와, 카메라 드라이버(DRc)로부터의 데이터를 공유하는 경우를 예시하므로, 하이퍼바이저(505) 기반의 공유 메모리로 2개의 공유 메모리(508a,508b)를 예시한다.
이와 같이, 종류가 다른 공유 데이터에 대해, 각각의 공유 메모리를 설정함으로써, 데이터 공유시의 데이터 혼동을 방지하고, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다.
도 11b는 키 데이터 정보를 포함하는 테이블을 도시하는 도면이다.
도면을 참조하면, 각각의 다른 종류의 공유 데이터 공유시, 보안 매니저(526)는, 공유를 위한 키 데이터 정보를 생성하고, 가상화 머신 정보, 각 기기별 정보, 할당된 메모리 주소 정보, 버퍼 인덱스 정보, 생성된 키 데이터 정보를 테이블 형태로 생성하여 등록할 수 있다.
한편, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의, 각각 입출력 클라이언트 인터페이스(532, 542)는, 보안 매니저(526)에 접속하여, 보안 매니저(526) 내의 테이블을 참조하여, 키 데이터를 요청하여 수신하고, 수신한 키 데이터를 이용하여, 해당하는 공유 메모리에 억세스할 수 있다.
한편, 제1 공유 메모리(508a)를 통해, 카메라 드라이버(DRc)로부터의 데이터를 공유하는 경우와, 제2 공유 메모리(508b)를 통해, 위치 정보 드라이버(DRa)로부터의 데이터를 공유하는 경우에는, 도 11b와 같이, 가상화 머신 정보만 동일하며, 각 기기별 정보, 할당된 메모리 주소 정보, 버퍼 인덱스 정보, 생성된 키 데이터 정보는, 서로 다르게 된다.
이에 따라, 종류가 다른 데이터 공유시의 데이터 혼동을 방지하고, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다.
도 12는 본 발명의 실시예에 따른 신호 처리 장치 내의 데이터 분담을 설명하기 위해 참조되는 도면이고, 도 13 내지 도 14b는 도 12의 동작 설명에 참조되는 도면이다.
먼저, 도 12는 카메라(915)를 통해 획득된 영상 데이터(1010)의 신호 처리를 위해, 영상 데이터가 분담되어 처리되는 것을 예시한다.
먼저, 프로세서(175) 내의 제1 가상화 머신(520)은, 데이터가 영상 데이터(1010)인 경우, 영상 데이터(1010)의 일부(1010b)를 제1 공유 메모리(508a) 내의 제1 버퍼에 기록하고, 영상 데이터(1010)의 다른 일부(1010c)를 제1 공유 메모리(508a) 내의 제2 버퍼에 기록할 수 있다.
제2 가상화 머신(530)과 제3 가상화 머신(540)은, 각각 전달받은 영상 데이터(1010b,1010c)에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 제2 공유 메모리(508b)에 기록되도록 제어할 수 있다.
구체적으로, 제2 가상화 머신(530)은, 오브젝트(BG1)에 대한 오브젝트 검출이 수행된 데이터를 제2 공유 메모리(508b) 내의 제1 버퍼에 기록하고, 제3 가상화 머신(540)은, 오브젝트(BG2)에 대한 오브젝트 검출이 수행된 데이터를 제2 공유 메모리(508b) 내의 제2 버퍼에 기록할 수 있다.
한편, 도면에서와 같이, 제2 가상화 머신(530)과 제3 가상화 머신(540) 외에, RSE 디스플레이(180c)를 위한 제4 가상화 머신(550)이 실행되는 경우, 프로세서(175) 내의 제1 가상화 머신(520)은, 영상 데이터(1010)의 일부(1010b)를 제1 공유 메모리(508a) 내의 제1 버퍼에 기록하고, 영상 데이터(1010)의 다른 일부(1010c)를 제1 공유 메모리(508a) 내의 제2 버퍼에 기록하고, 영상 데이터(1010)의 또 다른 일부(1010d)를 제1 공유 메모리(508a) 내의 제3 버퍼에 기록할 수 있다.
그리고, 제2 가상화 머신(530)은, 오브젝트(BG1)에 대한 오브젝트 검출이 수행된 데이터를 제2 공유 메모리(508b) 내의 제1 버퍼에 기록하고, 제3 가상화 머신(540)은, 오브젝트(BG2)에 대한 오브젝트 검출이 수행된 데이터를 제2 공유 메모리(508b) 내의 제2 버퍼에 기록하고, 제4 가상화 머신(550)은, 오브젝트(BG3)에 대한 오브젝트 검출이 수행된 데이터를 제2 공유 메모리(508b) 내의 제3 버퍼에 기록할 수 있다.
이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 오브젝트 검출시의 데이터를 분담하여 처리할 수 있게 된다. 따라서, 신속한 데이터 처리가 가능하게 된다.
한편, 신호 처리 장치(170)에서 분담 처리된 영상 데이터는 합성되어, 디스플레이에 합성된 영상(1015)로 표시될 수 있다. 이에 따라, 신속하게 신호 처리된 영상 데이터를 차량 내의 디스플레이를 통해 표시할 수 있게 된다.
도면에서는, RSE 디스플레이(180c)에 합성된 영상(1015)이 표시되는 것을 예시하나, 이에 한정되지 않으며, 클러스터 디스플레이(180a), 또는 AVN(Audio Video Navigation) 디스플레이(180b) 중 어느 하나에 표시될 수도 있다.
도 13을 참조하면, 도 12의 영상 데이터 분담 처리를 위해, 제1 가상화 머신(520)은, 카메라 드라이버(DRc)로부터의 영상 데이터를 입출력 서버 인터페이스(522)로 전송한다(Sb1).
다음, 입출력 서버 인터페이스(522)는, 영상 데이터를 제1 공유 메모리(508a)에 기록한다(Sb2).
한편, 입출력 서버 인터페이스(522)는, 데이터 전송을 위한 공유 메모리 할당 외에, 추가로 커맨드 또는 이벤트 처리를 위한 커맨드 큐를 생성할 수 있다(Sb3).
예를 들어, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530,540)에서의 데이터의 분산 처리를 위한 각각의 커맨드 큐(504a,504b)를 생성할 수 있다.
다른 예로, 프로세서(175) 내의 제1 가상화 머신(520)은, 도 13과 같이, 제2 가상화 머신 내지 제4 가상화 머신(530,540,550)에서의 데이터의 분산 처리를 위한 각각의 커맨드 큐(504a,504b,504c)를 생성할 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 데이터의 분산 처리를 위한 가상화 머신의 개수에 대응하는 커맨드 큐를 생성할 수 있다.
즉, 도 13과 같이, 데이터의 분산 처리를 위한 가상화 머신의 개수가, 제2 가상화 머신 내지 제4 가상화 머신(530,540,550)으로서, 3개인 경우, 3개의 커맨드 큐(504a,504b,504c)를 생성할 수 있다.
한편, 도 9a와 같이, 제2 가상화 머신 내지 제3 가상화 머신(530,540)에서 동일한 데이터를 공유하는 경우, 프로세서(175) 내의 제1 가상화 머신(520)은, 1개의 동일한 커맨드 큐를 생성할 수 있다.
한편, 커맨드 큐는, 가상화 머신 인덱스 정보, 태스크 정보, 공유 메모리 정보를 포함할 수 있다.
가상화 머신 인덱스 정보는, 데이터 분담 처리할 가상화 머신에 대한 정보를 나타내며, 태스크 정보는, 데이터 분담 처리시의 수행할 구체적인 커맨드 내용을 나타낼 수 있으며, 공유 메모리 정보는, 공유 데이터에 대한 메모리의 위치 정보, 또는 버퍼 정보 등을 나타낼 수 있다.
한편, 태스크 정보는, 오브젝트 검출(object detection), 영상 표시, 암호 복호화(DRM decryption), 유저별 사운드 검출 등으로 구분될 수 있다.
한편, 입출력 서버 인터페이스(522)는, 제1 공유 메모리(508a) 할당 이후, 입출력 클라이언트 인터페이스(532, 542, 552)로, 키 데이터를 포함하는 제1 공유 메모리(508a)에 대한 정보를 전송할 수도 있다.
한편, 제2 내지 제4 가상화 머신(530,540,550) 내의 입출력 클라이언트 인터페이스(532, 542, 552)는, 각각의 커맨드 큐(504a,504b,504c)에 기초하여, 제1 공유 메모리(508a) 내의 데이터를 각각 복사할 수 있다(Sb4).
즉, 제2 내지 제5 가상화 머신 내의 입출력 클라이언트 인터페이스(532, 542, 552)는, 도 12에서의 일부 데이터(1010b,1010c,1010d)를 각각 복사할 수 있다.
다음, 제2 내지 제4 가상화 머신(530,540,550) 내의 신호 처리 모듈(DDa,DDb,DDc)은 각각의 신호 처리를 수행한다(Sb5).
예를 들어, 제2 내지 제4 가상화 머신(530,540,550) 내의 신호 처리 모듈(DDa,DDb,DDc)은, 서로 다른 오브젝트에 대한 오브젝트 검출을 수행할 수 있다.
다음, 제2 내지 제4 가상화 머신(530,540,550) 내의 입출력 서버 인터페이스(532b, 542b, 552b)는, 제2 공유 메모리(508b)에 각각 기록한다(Sb6).
다음, 제2 내지 제4 가상화 머신(530,540,550)에서 처리된 데이터의 제2 공유 메모리(508b)로의 기록이 완료되는 경우, 입출력 서버 인터페이스(522)로 완료 메시지가 전송될 수 있다(Sb7).
입출력 서버 인터페이스(522)는, 영상 표시를 위한 커맨드를 포함하는 제3 커맨드 큐(504c)를 제4 가상화 머신(550)으로 전송할 수 있다(Sb8).
다음, 제4 가상화 머신(550)은, 제3 커맨드 큐(504c)를 수신하고, RSE 디스플레이(180c)를 통해, 제2 공유 메모리(508b)에 기록된 영상 데이터가 표시되도록 처리할 수 있다(Sb9).
도 14a는 도 12와 유사하나, HUD 디스플레이를 위한 제5 가상화 머신(560)이 더 실행되는 것에 그 차이가 있다.
도면을 참조하면, 카메라(915)를 통해 획득된 영상 데이터(1010)의 신호 처리를 위해, 영상 데이터가 분담되어 처리된다.
프로세서(175) 내의 제1 가상화 머신(520)은, 데이터가 영상 데이터(1010)인 경우, 영상 데이터(1010)의 일부(1010b)를 제1 공유 메모리(508a) 내의 제1 버퍼에 기록하고, 영상 데이터(1010)의 다른 일부(1010c)를 제1 공유 메모리(508a) 내의 제2 버퍼에 기록하고, 영상 데이터(1010)의 또 다른 일부(1010d)를 제1 공유 메모리(508a) 내의 제3 버퍼에 기록할 수 있다.
제2 내지 제4 가상화 머신(530,540,550) 내의 각 입출력 클라이언트 인터페이스(532, 542, 552)는, 일부 영상 데이터를 수신하고, 신호 처리를 수행하고, 신호 처리된 영상 데이터를 제2 공유 메모리(508b)로 기록할 수 있다.
특히, 오브젝트 검출된 영상 데이터를 제2 공유 메모리(508b)로 기록할 수 있다.
다음, 제1 가상화 머신(520)은, 제5 가상화 머신(560)으로 영상 표시를 위한 커맨드 큐(504d)를 전송하여, 제5 가상화 머신(560)은, 제2 공유 메모리(508b)에 기록된 영상 데이터를 복사하여, 합성된 영상(1015)를, HUD 디스플레이(180f)에 표시하도록 제어할 수 있다. 이에 따라, 신호 처리 분담에 따른 영상 표시를 수행할 수 있게 된다.
도 14b는 도 14a와 달리 오브젝트 검출일 아닌 암호 복호화를 위한 데이터 분담이 수행되는 것을 도시하는 도면이다.
도면을 참조하면, 프로세서(175) 내의 제1 가상화 머신(520)은, 영상 데이터(1030) 내에 일부 암호화 영역이 포함되는 경우, 암호화된 영상 데이터(1032)를 제1 공유 메모리(508a) 내의 제1 버퍼에 기록하고, 암호화되지 않은 영상 데이터(1034)를 제1 공유 메모리(508a) 내의 제2 버퍼에 기록할 수 있다.
제1 커맨드 큐(504a)와 제2 커맨드 큐(504b)는, 각각 제2 내지 제3 가상화 머신(530,540)로의 데이터 전송을 위해 사용된다.
제2 가상화 머신(530)은, 제1 커맨드 큐(504a)에 기초하여, 일부 암호화 영역에 대해 복호화(decryption)를 수행하고, 암호 복호화된 데이터를 제2 공유 메모리(508b)의 제2 버퍼에 기록한다.
한편, 제3 가상화 머신(540)는, 제2 커맨드 큐(504b)에 기초하여, 암호화되지 않은 영상 데이터(1034)에 대한 신호 처리를 수행하고, 신호 처리된 데이터를 제2 공유 메모리(508b)의 제1 버퍼에 기록한다.
한편, 제1 가상화 머신(520)이, 영상 표시를 위한 제3 커맨드 큐(504c)를 출력하는 경우, 제4 가상화 머신(550)은, 제3 커맨드 큐(504c)에 기초하여, 제2 공유 메모리(508b)에 기록된 영상 데이터를 복사하여, 암호 복호화된 영상(1036)을 HUD 디스플레이(180f)에 표시하도록 제어할 수 있다. 이에 따라, 신호 처리 분담에 따른 영상 표시를 수행할 수 있게 된다.
도 15a는 차량 내부의 제1 디스플레이(180a)와 제2 디스플레이(180b)에 동일한 영상(1210a,1210b)이 각각 표시되는 것을 예시한다.
예를 들어, 제2 가상화 머신(530)이 제1 디스플레이(180a)의 렌더링을 위해 동작하고, 제3 가상화 머신(540) 제2 디스플레이(180b)의 렌더링을 위해 동작하는 경우, 도면과 같이, 제1 가상화 머신(520)에 의한 1:N 데이터 통신이 수행되어, 동기화된 영상의 표시가 수행되게 된다.
도 15b는 차량 내부의 제1 디스플레이(180a), 제2 디스플레이(180b), 제2 디스플레이(180c), 제4 디스플레이(180d)에 동일한 영상(1210a,1210b,1210c,1210d)이 각각 표시되는 것을 예시한다.
예를 들어, 제2 가상화 머신(530)이 제1 디스플레이(180a)의 렌더링을 위해 동작하고, 제3 가상화 머신(540) 제2 디스플레이(180b)의 렌더링을 위해 동작하고, 제4 가상화 머신(미도시)이 제3 디스플레이(180c)의 렌더링을 위해 동작하고, 제5 가상화 머신(미도시) 제4 디스플레이(180ㅇ)의 렌더링을 위해 동작하는 경우, 도면과 같이, 제1 가상화 머신(520)에 의한 1:N 데이터 통신이 수행되어, 동기화된 영상의 표시가 수행되게 된다.
도 15c는 차량 내부의 룸 미러에, 디스플레이(180e)가 형성되어, 영상(1210e)을 표시하는 것을 예시한다.
예를 들어, 도 15a와 도 15c가 연계된 경우, 차량 내부의 제1 디스플레이(180a)와 제2 디스플레이(180b), 룸 미러 디스플레이(180e)에 동일한 영상(1210a,1210b,1210e)이 각각 표시될 수 있다.
한편, 제2 가상화 머신(530)이 제1 디스플레이(180a)의 렌더링을 위해 동작하고, 제3 가상화 머신(540) 제2 디스플레이(180b)의 렌더링을 위해 동작하고 제4 가상화 머신(미도시)이 룸 미러 디스플레이(180e)의 렌더링을 위해 동작하는 경우, 도면과 같이, 제1 가상화 머신(520)에 의한 1:N 데이터 통신이 수행되어, 동기화된 영상의 표시가 수행되게 된다
다른 예로, 도 15와 도 15c가 연계된 경우, 차량 내부의 제1 디스플레이(180a)와 제2 디스플레이(180b), 제3 디스플레이(180c)와 제4 디스플레이(180d), 룸 미러 디스플레이(180e)에 동일한 영상(1210a,1210b,1210c,1210d,1210e)이 각각 표시되는 것을 예시한다.
도 16은 차량 내부에 HUD 디스플레이(180f)가 배치되는 것을 예시한다.
도면을 참조하면, 차량용 디스플레이 장치(100)는, 클러스터에 대응하는 제1 디스플레이(180a), AVN에 대응하는 제2 디스플레이(180b), HUD 디스플레이(180f)를 구비할 수 있다.
신호 처리 장치(170)는, 제1 가상화 머신(520)에서 처리된 제1 영상 데이터와, 제2 가상화 머신(530)에서 처리된 제2 영상 데이터와, 제3 가상화 머신(540)에서 처리된 제3 영상 데이터를 합성하여 합성된 영상을 제3 디스플레이(180c)에 표시하도록 제어할 수 있다.
도면에서는, 제1 가상화 머신(520)에서 백미러 영상 데이터(Imga), 사이드 미러 영상 데이터(Imgb)를 처리하고, 제2 가상화 머신(530)에서 전방 카메라 영상데이터(Imgc)를 처리하고, 제3 가상화 머신(540)에서 네비게이션 영상 데이터(Imgd)를 처리하고, 4개의 영상 데이터를 합성된 합성된 영상이, 제3 디스플레이인 HUD 디스플레이(180f)에 표시되는 것을 예시한다.
도면에서는, 전방 카메라 영상데이터(Imgc)에 대응하는 영상(1300)이 배경이며, 네비게이션 영상 데이터(Imgd), 사이드 미러 영상 데이터(Imgb), 백미러 영상 데이터(Imga)에 각각 대응하는 영상들(1310,1320,1330)이 함께 표시되는 것을 예시한다. 이에 의해, 동기화된 각 영상을 함께 표시할 수 있게 된다. 이에 따라, 사용자는 HUD 디스플레이(180f)를 통해, 차량 주변 영상을 모두 확인할 수 있게 된다.
도 17은 제2 디스플레이(180b)에 표시되는 영상 중 일부(OBa,OBb)가 각각 처리되어, RSE 디스플레이인, 제3 디스플레이(180c), 제4 디스플레이(180d)에 각각 동기화되어 표시되는 것을 예시한다.
도면에서는, 제3 디스플레이(180c)에 일부 영상(OBad)이, 제4 디스플레이(180d)에 다른 일부 영상(OBbd)이, 각각 동기화되어 표시되는 것을 예시한다.
도 18은 제2 디스플레이(180b)에 표시되는 영상(1510b)가 처리되어, RSE 디스플레이인, 제3 디스플레이(180c), 제4 디스플레이(180d)에 각각 동기화되어 표시되는 것을 예시한다.
도면에서는, 제3 디스플레이(180c)에 동일한 영상(1510c)이, 제4 디스플레이(180d)에 동일한 영상(1510d)이, 각각 동기화되어 표시되는 것을 예시한다.
한편, 본 발명의 일 실시예에 따른 차량용 디스플레이 장치(100) 내의, 신호 처리 장치(170) 내의 제1 가상화 머신(520)은, 제1 디스플레이(180a)에서의 제1 터치 입력을 제2 가상화 머신(530)을 통해 수신하고, 제1 터치 입력에 기초하여 처리된 영상 데이터를 공유 메모리(508)를 통해 제2 가상화 머신(530)과 제3 가상화 머신(540)으로 전송하고, 제1 디스플레이(180a)와 제2 디스플레이(180b)는, 제1 터치 입력에 대응하는 동일한 영상을 표시할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (19)

  1. 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치에 있어서,
    상기 프로세서는,
    상기 프로세서 내의 하이퍼바이저 상에서, 제1 가상화 머신 내지 제3 가상화 머신을 실행하며,
    상기 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 상기 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    데이터 분담 처리를 위해, 상기 제2 가상화 머신과 상기 제3 가상화 머신에 데이터의 적어도 일부를 공유하는 것을 특징으로 하는 신호 처리 장치.
  2. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 데이터의 일부를 상기 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 상기 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 상기 제1 공유 메모리에 기록하며,
    상기 제2 가상화 머신과 상기 제3 가상화 머신은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리에 기록되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  3. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 데이터의 또 다른 일부를 처리하여, 상기 제2 공유 메모리에 처리된 데이터가 기록되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    추가로 제4 가상화 머신을 실행하며,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 데이터의 또 다른 일부를 상기 제1 공유 메모리에 기록하며,
    상기 제4 가상화 머신은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리에 기록되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  5. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 제2 가상화 머신 내지 제3 가상화 머신에서의 상기 데이터의 분산 처리를 위한 각각의 커맨드 큐를 생성하는 것을 특징으로 하는 신호 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 제2 가상화 머신 내지 제3 가상화 머신에서 동일한 데이터를 공유하는 경우, 1개의 동일한 커맨드 큐를 생성하는 것을 특징으로 하는 신호 처리 장치.
  7. 제5항에 있어서,
    상기 커맨드 큐는,
    가상화 머신 인덱스 정보, 태스크 정보, 공유 메모리 정보를 포함하는 것을 특징으로 하는 신호 처리 장치.
  8. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 데이터의 분산 처리를 위한 가상화 머신의 개수에 대응하는 커맨드 큐를 생성하는 것을 특징으로 하는 신호 처리 장치.
  9. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 데이터가 영상 데이터인 경우, 상기 영상 데이터의 일부를 상기 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 상기 영상 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 상기 제1 공유 메모리에 기록하며,
    상기 제2 가상화 머신과 상기 제3 가상화 머신은, 각각 전달받은 영상 데이터에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 상기 제2 공유 메모리에 기록되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    추가로 제4 가상화 머신을 실행하며,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 영상 데이터의 또 다른 일부를 상기 제1 공유 메모리에 기록하며,
    상기 제3 가상화 머신은, 전달받은 영상 데이터에 대한 오브젝트 검출을 수행하고, 오브젝트 검출된 영상 데이터가 상기 제2 공유 메모리에 기록되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  11. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은,
    상기 데이터가 영상 데이터인 경우, 상기 영상 데이터의 일부를 상기 제2 가상화 머신으로 전달되도록 제1 공유 메모리에 기록하고, 상기 영상 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 상기 제1 공유 메모리에 기록하며,
    상기 제2 가상화 머신은, 상기 영상 데이터의 일부에 대한 암호 복호화 처리를 수행하고, 상기 복화화 처리된 영상 데이터를 상기 제2 공유 메모리에 기록하며,
    상기 제3 가상화 머신은, 전달받은 영상 데이터에 대한 영상 처리를 수행하여 영상 처리된 영상 데이터가 상기 제2 공유 메모리에 기록되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  12. 제1항에 있어서,
    상기 프로세서 내의 상기 제1 가상화 머신은, 입출력 서버 인터페이스와 보안 매니저를 포함하고,
    상기 제2 가상화 머신 및 상기 제3 가상화 머신은, 각각 입출력 클라이언트 인터페이스를 포함하는 것을 특징으로 하는 신호 처리 장치.
  13. 제12항에 있어서,
    상기 입출력 서버 인터페이스는,
    상기 제1 공유 메모리 할당 이후, 상기 입출력 클라이언트 인터페이스로, 키 데이터를 포함하는 상기 제1 공유 메모리에 대한 정보를 전송하며,
    상기 입출력 클라이언트 인터페이스는, 상기 키 데이터에 기초하여 상기 제1 공유 메모리에 접근하는 것을 특징으로 하는 신호 처리 장치.
  14. 제12항에 있어서,
    상기 입출력 서버 인터페이스는,
    상기 제1 공유 메모리 중 비어있는 제1 버퍼에 대한 정보를 수신하고,
    상기 제1 공유 메모리 내의 상기 제1 버퍼 내에 제1 데이터를 기록하고,
    상기 제1 버퍼의 버퍼 정보를 상기 제2 가상화 머신 및 상기 제3 가상화 머신 내의 각 입출력 클라이언트 인터페이스로 전송하는 것을 특징으로 하는 신호 처리 장치.
  15. 제14항에 있어서,
    상기 제1 버퍼 내에 제1 데이터의 기록에 따라, 상기 제1 버퍼의 기준 카운트는 제1 방향으로 변화되고,
    상기 제1 버퍼의 상기 제1 데이터를 복사 완료하는 경우, 상기 제1 버퍼의 기준 카운트는 상기 제1 방향과 반대인 제2 방향으로 변화되는 것을 특징으로 하는 신호 처리 장치.
  16. 제1항에 있어서,
    상기 프로세서는,
    이더넷 데이터를 수신하고 처리하는 레가시 가상화 머신;을 더 실행하고,
    상기 제1 가상화 머신은,
    차량 센서 데이터, 위치 정보 데이터, 카메라 영상 데이터, 오디오 데이터 또는 터치 입력 데이터를 수신하고, 처리 또는 가공하여 출력하는 것을 특징으로 하는 신호 처리 장치.
  17. 제1항에 있어서,
    상기 제1 가상화 머신은,
    상기 차량의 휠 속도 센서 데이터를 수신하고, 처리하여, 상기 제2 가상화 머신 또는 상기 제3 가상화 머신 중 적어도 하나로, 상기 처리된 휠 속도 센서 데이터를 전송하는 것을 특징으로 하는 신호 처리 장치.
  18. 제1 디스플레이;
    제2 디스플레이;
    상기 제1 디스플레이 및 상기 제2 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치;를 구비하고,
    상기 신호 처리 장치는, 제1항 내지 제17항 중 어느 한 항의 신호 처리 장치를 포함하는 것을 특징으로 하는 차량용 디스플레이 장치.
  19. 제18항에 있어서,
    상기 신호 처리 장치는,
    복수의 가상화 머신을 이용하여, 영상 데이터를 분담 처리하고, 분담 처리된 영상 데이터를 합성하여, 합성된 영상 데이터를 복수의시하도록 제어하는 것을 특징으로 하는 차량용 디스플레이 장치.
PCT/KR2021/009405 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 WO2022181899A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21878751.3A EP4080359A4 (en) 2021-02-26 2021-07-21 SIGNAL PROCESSING DEVICE AND VEHICLE DISPLAY DEVICE THEREOF
US17/755,040 US20230168913A1 (en) 2021-02-26 2021-07-21 Signal processing device and display apparatus for vehicle including the same
KR1020237031947A KR20230148341A (ko) 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0026453 2021-02-26
KR20210026453 2021-02-26
KR10-2021-0053004 2021-04-23
KR20210053004 2021-04-23

Publications (1)

Publication Number Publication Date
WO2022181899A1 true WO2022181899A1 (ko) 2022-09-01

Family

ID=83048267

Family Applications (8)

Application Number Title Priority Date Filing Date
PCT/KR2021/009405 WO2022181899A1 (ko) 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/009402 WO2022181898A1 (ko) 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/010772 WO2022181903A1 (ko) 2021-02-26 2021-08-13 차량용 디스플레이 장치
PCT/KR2021/010773 WO2022181904A1 (ko) 2021-02-26 2021-08-13 차량용 디스플레이 장치
PCT/KR2021/014950 WO2022181922A1 (ko) 2021-02-26 2021-10-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/020056 WO2022181960A1 (ko) 2021-02-26 2021-12-28 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/020076 WO2022181961A1 (ko) 2021-02-26 2021-12-28 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2022/002595 WO2022182103A1 (ko) 2021-02-26 2022-02-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Family Applications After (7)

Application Number Title Priority Date Filing Date
PCT/KR2021/009402 WO2022181898A1 (ko) 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/010772 WO2022181903A1 (ko) 2021-02-26 2021-08-13 차량용 디스플레이 장치
PCT/KR2021/010773 WO2022181904A1 (ko) 2021-02-26 2021-08-13 차량용 디스플레이 장치
PCT/KR2021/014950 WO2022181922A1 (ko) 2021-02-26 2021-10-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/020056 WO2022181960A1 (ko) 2021-02-26 2021-12-28 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2021/020076 WO2022181961A1 (ko) 2021-02-26 2021-12-28 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
PCT/KR2022/002595 WO2022182103A1 (ko) 2021-02-26 2022-02-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Country Status (4)

Country Link
US (6) US20230168913A1 (ko)
EP (8) EP4080359A4 (ko)
KR (3) KR20230148341A (ko)
WO (8) WO2022181899A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024071944A1 (ko) * 2022-09-27 2024-04-04 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 디스플레이 장치
WO2024071476A1 (ko) * 2022-09-29 2024-04-04 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010053431A (ko) * 1999-05-07 2001-06-25 야스카와 히데아키 미팅 시스템 및 정보 기억 매체
KR20130000253A (ko) * 2011-06-22 2013-01-02 한국과학기술원 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
KR101639797B1 (ko) * 2015-10-16 2016-07-14 주식회사 구버넷 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
US20200326898A1 (en) * 2019-04-12 2020-10-15 Aptiv Technologies Limited Distributed system for displaying a content

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200796B1 (en) * 2005-05-05 2012-06-12 Digital Display Innovations, Llc Graphics display system for multiple remote terminals
US7650603B2 (en) * 2005-07-08 2010-01-19 Microsoft Corporation Resource management for virtualization of graphics adapters
KR101620058B1 (ko) * 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
KR101087479B1 (ko) * 2010-01-29 2011-11-25 주식회사 팬택 멀티 디스플레이 장치 및 그 제어 방법
CN102844740B (zh) * 2011-02-09 2016-08-24 松下电器(美国)知识产权公司 虚拟计算机显示装置、虚拟计算机显示方法、以及集成电路
US9152373B2 (en) * 2011-04-12 2015-10-06 Apple Inc. Gesture visualization and sharing between electronic devices and remote displays
US9514507B2 (en) * 2011-11-29 2016-12-06 Citrix Systems, Inc. Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware
CN103856547B (zh) * 2012-12-07 2017-07-07 华为技术有限公司 多虚拟机的映射方法、系统及客户端设备
JP6032176B2 (ja) * 2012-12-19 2016-11-24 株式会社デンソー 車両用表示制御装置
KR20150142298A (ko) 2014-06-11 2015-12-22 현대자동차주식회사 차량, 차량의 제어 방법 및 차량 주행음 제어 장치
KR102490614B1 (ko) * 2018-03-16 2023-01-19 현대모비스 주식회사 가상 운영체제를 이용한 제어기기의 표시 제어 장치 및 방법
US10957107B2 (en) * 2019-01-09 2021-03-23 Vmware, Inc. Snapping, virtual inking, and accessibility in augmented reality
DE102019203377B3 (de) * 2019-03-13 2020-08-13 Continental Automotive Gmbh Fahrzeugsystem, Fahrzeug und Verfahren zum Betreiben eines solchen Fahrzeugsystems
JP7259571B2 (ja) * 2019-06-11 2023-04-18 株式会社デンソー 車両用制御装置、車両用表示システム、及び車両用表示制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010053431A (ko) * 1999-05-07 2001-06-25 야스카와 히데아키 미팅 시스템 및 정보 기억 매체
KR20130000253A (ko) * 2011-06-22 2013-01-02 한국과학기술원 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
KR101639797B1 (ko) * 2015-10-16 2016-07-14 주식회사 구버넷 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
US20200326898A1 (en) * 2019-04-12 2020-10-15 Aptiv Technologies Limited Distributed system for displaying a content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4080359A4 *

Also Published As

Publication number Publication date
US20240143360A1 (en) 2024-05-02
WO2022182103A1 (ko) 2022-09-01
KR20230150318A (ko) 2023-10-30
EP4080360A4 (en) 2024-03-06
EP4300301A1 (en) 2024-01-03
US20230168914A1 (en) 2023-06-01
EP4080360A1 (en) 2022-10-26
WO2022181960A1 (ko) 2022-09-01
WO2022181898A1 (ko) 2022-09-01
WO2022181904A1 (ko) 2022-09-01
US20240152370A1 (en) 2024-05-09
EP4075272A1 (en) 2022-10-19
EP4300299A1 (en) 2024-01-03
KR20230150826A (ko) 2023-10-31
WO2022181922A1 (ko) 2022-09-01
WO2022181903A1 (ko) 2022-09-01
EP4080359A4 (en) 2024-04-10
US20240143374A1 (en) 2024-05-02
KR20230148341A (ko) 2023-10-24
US20230168913A1 (en) 2023-06-01
US20240143375A1 (en) 2024-05-02
EP4300298A1 (en) 2024-01-03
EP4307112A1 (en) 2024-01-17
EP4075272A4 (en) 2023-11-29
EP4300300A1 (en) 2024-01-03
WO2022181961A1 (ko) 2022-09-01
EP4080359A1 (en) 2022-10-26

Similar Documents

Publication Publication Date Title
WO2022181899A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2019225978A1 (en) Camera and terminal including the same
WO2020231083A1 (ko) 열전달 구조를 포함하는 전자 장치
WO2016035990A1 (en) Audio device
WO2019117652A1 (en) Prism apparatus, and camera apparatus including the same
WO2021225278A1 (ko) 전자 장치 및 전자 장치에서 배터리 공유 방법
WO2019103471A1 (en) Method of providing vibration and electronic device for supporting same
WO2023101070A1 (ko) 차량용 통신 장치 및 이를 구비하는 차량용 디스플레이 장치
WO2014003282A1 (en) Image processing apparatus, image relaying apparatus, method for processing image, and method for relaying image
WO2024085283A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2019147005A1 (ko) 전자 장치의 방송 수신 방법 및 장치
WO2023136369A1 (ko) 차량용 디스플레이 장치
WO2023191195A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2024034750A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 증강현실 장치
WO2023195559A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2017159916A1 (ko) 양면 디스플레이의 동작을 제어하기 위한 출력 장치
WO2024034709A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023113079A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023136373A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2022240217A1 (ko) 신호 처리 장치 및 이를 구비하는 차량용 통신 장치
WO2023136376A1 (ko) 차량용 디스플레이 장치
WO2024034708A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023136374A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2020116886A1 (en) Electronic apparatus, server and method of controlling the same
WO2023277632A1 (ko) 신호 처리 장치 및 이를 구비하는 차량용 통신 장치

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021878751

Country of ref document: EP

Effective date: 20220521

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21878751

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20237031947

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE