Signal processing device and automotive display device comprising same

The signal processing device with a hypervisor and communication libraries optimizes data transmission and display in vehicle systems by managing shared memory efficiently, addressing inefficiencies in ADAS and autonomous driving systems.

WO2026105964A1PCT designated stage Publication Date: 2026-05-21LG ELECTRONICS INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
LG ELECTRONICS INC
Filing Date
2024-11-14
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing vehicle signal processing systems face inefficiencies in data transmission and communication due to unilateral data storage in shared memory, leading to prolonged data search times and inefficient processing, particularly in systems with Advanced Driver Assistance Systems (ADAS) or autonomous driving.

Method used

A signal processing device equipped with a hypervisor that executes multiple virtualization machines, utilizing a first communication library for publish-based storage and a second communication library for subscribe-based data reception from a shared memory, enabling parallel data access and efficient data transmission through heartbeat signals and timestamp management.

Benefits of technology

This approach allows for efficient data transmission and stable display of camera images by optimizing data communication between virtualization machines and shared memory, reducing processing burdens and enhancing system performance in vehicle display devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024096569_21052026_PF_FP_ABST
    Figure KR2024096569_21052026_PF_FP_ABST
Patent Text Reader

Abstract

A signal processing device and an automotive display device comprising same according to one embodiment of the present disclosure comprise a processor for executing a hypervisor, wherein the processor executes a plurality of virtualization machines on the hypervisor, a first virtualization machine among the plurality of virtualization machines executes a first application, a second virtualization machine executes a second application, a first communication library in the first application controls topic data to be stored in a shared memory, and a second communication library in the second application receives the topic data from the shared memory on the basis of an interrupt. Therefore, the data can be efficiently transferred.
Need to check novelty before this filing date? Find Prior Art

Description

Signal processing device and vehicle display device equipped with the same

[0001] The present disclosure relates to a server, and more specifically, to a signal processing device capable of efficiently transmitting data and a vehicle display device equipped with the same.

[0002] A vehicle is a device that moves the user in the desired direction. A typical example is an automobile.

[0003] Meanwhile, for the convenience of users of the vehicle, a vehicle signal processing device is installed inside the vehicle.

[0004] The signal processing unit inside the vehicle receives and processes sensor data from various internal sensor devices.

[0005] Meanwhile, due to Advanced Driver Assistance Systems (ADAS) or autonomous driving, the types and number of sensors installed in vehicles are increasing, leading to a trend of increasing data that needs to be processed.

[0006] Meanwhile, the prior art European Patent Publication EP3092566 relates to a vehicle having a multi-user interface operating domain, and discloses a virtualized shared memory in a multi-core multi-process.

[0007] According to prior art, since image information is transmitted to domains assigned to individual processes, unilateral data storage is performed, resulting in significant time required for tasks such as searching for data within shared memory, which has the disadvantage of being inefficient.

[0008] The problem that the present disclosure aims to solve is to provide a signal processing device capable of efficiently transmitting data and a vehicle display device equipped with the same.

[0009] Another problem that the present disclosure aims to solve is to provide a signal processing device capable of efficiently performing communication between a virtualization machine based on a service-oriented architecture and a shared memory, and a vehicle display device equipped with the same.

[0010] A signal processing device according to one embodiment of the present disclosure and a vehicle display device equipped therewith comprises a processor that executes a hypervisor, and the processor executes a plurality of virtualization machines on the hypervisor, wherein a first virtualization machine among the plurality of virtualization machines executes a first application and a second virtualization machine executes a second application, and a first communication library in the first application controls topic data to be stored in a shared memory, and a second communication library in the second application receives topic data from the shared memory based on an interrupt.

[0011] Meanwhile, the first communication library controls the storage of topic data in shared memory based on a publish basis, and the second communication library can receive topic data from shared memory based on a subscribe basis.

[0012] Meanwhile, when the second virtualization machine executes the second application and the third application, and the second communication library within the second application and the third communication library within the third application access shared memory, the second communication library and the third communication library can receive topic data from the shared memory in parallel.

[0013] Meanwhile, the first communication library or the second communication library can transmit or receive a heartbeat signal from the time of connection with the shared memory.

[0014] Meanwhile, the shared memory may include an information area regarding topic data, a heartbeat area, and a storage area.

[0015] Meanwhile, the first communication library can control that, if the first topic data is not registered in the storage area within the shared memory, the first topic data is stored in an empty area of ​​the storage area, information related to the first topic data is recorded in the information area, and timestamp information is recorded in the heartbeat area.

[0016] Meanwhile, the first communication library can control the periodic updating of timestamp information in the heartbeat area.

[0017] Meanwhile, the second communication library can receive information within an information area in the shared memory, and based on the received information, if it is confirmed that the first topic data is registered in the storage area, receive the first topic data stored in the storage area, update information related to the first topic data within the information area, and control the update of timestamp information in the heartbeat area.

[0018] Meanwhile, the second communication library can control the periodic updating of timestamp information in the heartbeat area.

[0019] Meanwhile, the first communication library can control the deletion of data in the information area, heartbeat area, and storage area regarding topic data if the timestamp of the publisher of topic data in the heartbeat area within the shared memory has not been updated.

[0020] Meanwhile, the first communication library can control the deletion of at least some data in the information area regarding said participant and at least some data in the heartbeat area when the timestamp of said participant in the heartbeat area in the shared memory has not been updated.

[0021] Meanwhile, the first communication library outputs a first interrupt when it stores or updates topic data in shared memory, and the second communication library can receive topic data from shared memory based on the first interrupt.

[0022] Meanwhile, when the second communication library receives topic data from the shared memory, it outputs a second interrupt, and the first communication library can store or update subsequent topic data in the shared memory after receiving the second interrupt.

[0023] Meanwhile, the first communication library may store or update subsequent data in shared memory after the second application or all subscribers have finished receiving the first type of topic data when the topic data is the first type of topic data, and may store or update subsequent data in shared memory before the second application or all subscribers have finished receiving the first type of topic data when the topic data is the second type of topic data.

[0024] Meanwhile, the first type of topic data may include remote update data.

[0025] Meanwhile, the second type of topic data may include camera data.

[0026] Meanwhile, the first communication library performs the transmission of the first topic data and the output of the first interrupt during the first time slot period when the topic data is the first topic data of the first priority, and performs the transmission of the second topic data or the output of the second interrupt after the first time slot when the topic data is the second topic data of a lower priority than the first.

[0027] Meanwhile, the first communication library can perform transmission of the first topic data and output of the first interrupt during the first time slot period if the interrupt of the first topic data of the first priority occurs before the first time slot period of the first priority.

[0028] Meanwhile, applications running on each of the multiple virtualization machines can each execute a communication library for publishing or running-based communication with shared memory.

[0029] Meanwhile, the communication library can perform at least one of creating, accessing, deleting, reading, writing, quality of service management, interrupt management, or heartbeat management of an area within shared memory.

[0030] Meanwhile, the communication library can delay the occurrence of an interrupt until the end of a time slot with a higher priority.

[0031] Meanwhile, the second application can control the display of camera images based on topic data.

[0032] Meanwhile, among the plurality of virtualization machines, the third virtualization machine executes the third application, and the third communication library within the third application receives topic data from shared memory based on an interrupt and can control the display to display an object based on the topic data.

[0033] A signal processing device and a vehicle display device equipped with the same according to one embodiment of the present disclosure comprises a processor that executes a hypervisor, and the processor executes a plurality of virtualization machines on the hypervisor, wherein a first virtualization machine among the plurality of virtualization machines executes a first application and a second virtualization machine executes a second application, and a first communication library within the first application controls the storage of topic data in a shared memory, and a second communication library within the second application receives topic data from the shared memory based on an interrupt. Accordingly, data can be transmitted efficiently. In particular, communication between a virtualization machine based on a service-oriented architecture and a shared memory can be performed efficiently.

[0034] Meanwhile, the first communication library controls the storage of topic data in shared memory based on a publish basis, and the second communication library can receive topic data from shared memory based on a subscribe basis. Accordingly, data can be transmitted efficiently.

[0035] Meanwhile, when the second virtualization machine executes the second application and the third application, and the second communication library within the second application and the third communication library within the third application access shared memory, the second communication library and the third communication library can receive topic data from the shared memory in parallel. Accordingly, data can be transmitted efficiently.

[0036] Meanwhile, the first communication library or the second communication library can transmit or receive a heartbeat signal from the time of connection with the shared memory. Accordingly, data can be transmitted efficiently.

[0037] Meanwhile, the shared memory may include an information area regarding topic data, a heartbeat area, and a storage area. Accordingly, data can be transmitted efficiently.

[0038] Meanwhile, the first communication library can control the storage area within the shared memory to store the first topic data in an empty area of ​​the storage area when the first topic data is not registered therein, to record information related to the first topic data in the information area, and to record timestamp information in the heartbeat area. Accordingly, data can be transmitted efficiently.

[0039] Meanwhile, the first communication library can control the periodic updating of timestamp information in the heartbeat area. Accordingly, data can be transmitted efficiently.

[0040] Meanwhile, the second communication library receives information within an information area in the shared memory, and based on the received information, if it is confirmed that the first topic data is registered in the storage area, receives the first topic data stored in the storage area, updates information related to the first topic data within the information area, and controls the update of timestamp information in the heartbeat area. Accordingly, data can be transmitted efficiently.

[0041] Meanwhile, the second communication library can control the periodic updating of timestamp information in the heartbeat area. Accordingly, data can be transmitted efficiently.

[0042] Meanwhile, the first communication library can control the deletion of data in the information area, heartbeat area, and storage area regarding topic data if the publisher's timestamp of the topic data in the heartbeat area within the shared memory has not been updated. Accordingly, data can be transmitted efficiently.

[0043] Meanwhile, the first communication library can control the deletion of at least some data in the information area regarding a said participant and at least some data in the heartbeat area if the timestamp of a said participant in the heartbeat area within the shared memory has not been updated. Accordingly, data can be transmitted efficiently.

[0044] Meanwhile, when the first communication library stores or updates topic data in shared memory, it outputs a first interrupt, and the second communication library can receive topic data from shared memory based on the first interrupt. Accordingly, data can be transmitted efficiently.

[0045] Meanwhile, when the second communication library receives topic data from the shared memory, it outputs a second interrupt, and the first communication library can store or update subsequent topic data in the shared memory after receiving the second interrupt. Accordingly, data can be transmitted efficiently.

[0046] Meanwhile, the first communication library may store or update subsequent data in shared memory after the second application or all subscribers have finished receiving the first type of topic data when the topic data is of the first type of topic data, and may store or update subsequent data in shared memory before the second application or all subscribers have finished receiving the first type of topic data when the topic data is of the second type of topic data. Accordingly, data can be transmitted efficiently.

[0047] Meanwhile, the topic data of the first type may include remote update data. Accordingly, remote update data can be transmitted efficiently.

[0048] Meanwhile, the second type of topic data may include camera data. Accordingly, camera data can be transmitted efficiently.

[0049] Meanwhile, the first communication library performs the transmission of the first topic data and the output of the first interrupt during the first time slot period when the topic data is the first topic data of the first priority, and performs the transmission of the second topic data or the output of the second interrupt after the first time slot when the topic data is the second topic data of a lower priority than the first. Accordingly, data can be transmitted efficiently.

[0050] Meanwhile, the first communication library can perform the transmission of the first topic data and the output of the first interrupt during the first time slot period if the interrupt of the first topic data of the first priority occurs before the first time slot period of the first priority. Accordingly, data can be transmitted efficiently.

[0051] Meanwhile, applications running on each of the multiple virtualization machines can each execute a communication library for publish or execute-based communication with shared memory. Accordingly, data can be transmitted efficiently.

[0052] Meanwhile, the communication library can perform at least one of creating, accessing, deleting, reading, writing, quality of service management, interrupt management, or heartbeat management of a region within shared memory. Accordingly, data can be transmitted efficiently.

[0053] Meanwhile, the communication library can delay the occurrence of interrupts until the end of a time slot with a higher priority. As a result, data can be transmitted efficiently.

[0054] Meanwhile, the second application can control the display of camera images based on topic data. Accordingly, camera images can be stably displayed based on the efficient transmission of camera data.

[0055] Meanwhile, among the multiple virtualization machines, the third virtualization machine executes the third application, and the third communication library within the third application receives topic data from shared memory based on an interrupt and can control the display of an object based on the topic data. Accordingly, the object can be stably displayed based on the efficient transmission of data.

[0056] Figure 1 is a drawing illustrating a vehicle system including a vehicle and a server.

[0057] Figure 2 is a diagram illustrating the architecture of a vehicle signal processing system inside the vehicle of Figure 1.

[0058] FIG. 3a is a drawing illustrating an example of the arrangement of a vehicle display device inside a vehicle.

[0059] FIG. 3b is a drawing illustrating another example of the arrangement of a vehicle display device inside a vehicle.

[0060] Figure 4 is an example of an internal block diagram of the vehicle of Figure 1.

[0061] FIG. 5 is an example of a block diagram of a vehicle display device according to an embodiment of the present disclosure.

[0062] FIG. 6 is a drawing referenced in the description of the operation of a display device related to the present disclosure.

[0063] FIG. 7 is an example of an internal block diagram of a signal processing device according to an embodiment of the present disclosure.

[0064] FIGS. 8 to 16b are drawings referenced in the operation description of FIG. 7.

[0065] The present disclosure will be described in more detail below with reference to the drawings.

[0066] The suffixes "module" and "part" for components used in the following description are assigned solely for the ease of drafting this specification and do not inherently confer any particularly significant meaning or role. Accordingly, the terms "module" and "part" may be used interchangeably.

[0067] Figure 1 is a drawing illustrating a vehicle system including a vehicle and a server.

[0068] Referring to the drawing, the vehicle system (10) includes a vehicle (200) and a server (900) that exchanges vehicle (200) data.

[0069] The vehicle (200) is operated by a plurality of wheels (103FR, 103FL, 103RL,...) that rotate by a power source, and a steering wheel (150) for controlling the direction of travel of the vehicle (200).

[0070] Meanwhile, the vehicle (200) may further be equipped with a camera (195), etc., for acquiring an image of the front of the vehicle.

[0071] Meanwhile, the vehicle (200) may be equipped with a plurality of displays (180a, 180b) for displaying images, information, etc. inside.

[0072] In FIG. 1, a cluster display (180a) and an AVN (Audio Video Navigation) display (180b) are exemplified as multiple displays (180a, 180b). Other displays such as a HUD (Head Up Display) are also possible.

[0073] Meanwhile, the AVN (Audio Video Navigation) display (180b) may also be named the Center Information Display.

[0074] Meanwhile, the vehicle (200) described in this specification may be a concept that includes all of the following: a vehicle equipped with an engine as a power source, a hybrid vehicle equipped with an engine and an electric motor as a power source, an electric vehicle equipped with an electric motor as a power source, etc.

[0075] Figure 2 is a diagram illustrating the architecture of a vehicle signal processing system inside the vehicle of Figure 1.

[0076] Referring to the drawing, the architecture (300a) of the vehicle signal processing system inside the vehicle (200) can correspond to a zone-based architecture.

[0077] Accordingly, sensor devices and processors inside the vehicle may be placed in each of the multiple zones (Z1 to Z4), and a signal processing device (170a) including a vehicle communication gateway (GWDa) may be placed in the central area of ​​the multiple zones (Z1 to Z4).

[0078] Meanwhile, the signal processing device (170a) may additionally include an autonomous driving control module (ACC), a cockpit control module (CPG), etc., in addition to the vehicle communication gateway (GWDa).

[0079] The vehicle communication gateway (GWDa) within the signal processing device (170a) may be a High Performance Computing (HPC) gateway.

[0080] That is, the signal processing device (170a) of FIG. 2 is an integrated HPC and can exchange data with an external communication module (not shown) or a processor (not shown) in a plurality of zones (Z1 to Z4).

[0081] FIG. 3a is a drawing illustrating an example of the arrangement of a vehicle display device inside a vehicle.

[0082] Referring to the drawing, the vehicle interior may be equipped with 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.

[0083] FIG. 3b is a drawing illustrating another example of the arrangement of a vehicle display device inside a vehicle.

[0084] A vehicle display device (100) according to an embodiment of the present disclosure may include a plurality of displays (180a to 180b) and a signal processing device (170) that performs signal processing for displaying images, information, etc. on the plurality of displays (180a to 180b) and outputs an image signal to at least one display (180a to 180b).

[0085] Among the plurality of displays (180a to 180b), the first display (180a) is a cluster display (180a) for displaying driving status, operation information, etc., and the second display (180b) may be an AVN (Audio Video Navigation) display (180b) for displaying vehicle operation information, navigation map, various entertainment information or video.

[0086] The signal processing device (170) has a processor (175) inside and can execute a first virtualization machine to a third virtualization machine (not shown) on a hypervisor (not shown) within the processor (175).

[0087] A second virtualization machine (not shown) operates for the first display (180a), and a third virtualization machine (not shown) can operate for the second display (180b).

[0088] Meanwhile, the first virtualization machine (not shown) within the processor (175) can be controlled to set up a shared memory (508) based on a hypervisor (505) for the same data transmission to the second virtualization machine (not shown) and the third virtualization machine (not shown). Accordingly, the same information or the same image can be synchronized and displayed on the first display (180a) and the second display (180b) within the vehicle.

[0089] Meanwhile, the first virtualization machine (not shown) within the processor (175) shares at least a portion of the data with the second virtualization machine (not shown) and the third virtualization machine (not shown) for data sharing processing. Accordingly, data can be shared and processed by multiple virtualization machines for multiple displays within the vehicle.

[0090] Meanwhile, the first virtualization machine (not shown) within the processor (175) can receive and process wheel speed sensor data of the vehicle and transmit the processed wheel speed sensor data to at least one of the second virtualization machine (not shown) or the third virtualization machine (not shown). Accordingly, the wheel speed sensor data of the vehicle can be shared with at least one virtualization machine, etc.

[0091] Meanwhile, the vehicle display device (100) according to the embodiment of the present disclosure may further include a rear seat entertainment display (180c) for displaying driving status information, simple navigation information, various entertainment information or images.

[0092] The signal processing device (170) can control the RSE display (180c) by running a fourth virtualization machine (not shown) in addition to the first to third virtualization machines (not shown) on a hypervisor (not shown) within the processor (175).

[0093] Accordingly, various displays (180a to 180c) can be controlled using a single signal processing device (170).

[0094] Meanwhile, some of the multiple displays (180a to 180c) operate under a Linux OS, and others can operate under a Web OS.

[0095] A signal processing device (170) according to an embodiment of the present disclosure can control displays (180a to 180c) operating under various operating systems (OS) to synchronize and display the same information or the same image.

[0096] Meanwhile, FIG. 3b illustrates that a vehicle speed indicator (212a) and a vehicle interior temperature indicator (213a) are displayed on a first display (180a), a home screen (222) including a plurality of applications, a vehicle speed indicator (212b), and a vehicle interior temperature indicator (213b) is displayed on a second display (180b), and a second home screen (222b) including a plurality of applications and a vehicle interior temperature indicator (213c) is displayed on a third display (180c).

[0097] Figure 4 is an example of an internal block diagram of the vehicle of Figure 1.

[0098] Referring to the drawings, a vehicle (200) according to an embodiment of the present disclosure may be equipped with a lamp drive unit (751), a steering drive unit (752), a brake drive unit (753), a power source drive unit (754), a suspension drive unit (756), an air conditioning drive unit (757), a window drive unit (758), a seat drive unit (761), and a signal processing device (170).

[0099] Meanwhile, the vehicle (200) may further be equipped with an ECU (770), a plurality of sensor devices (SN), and a plurality of communication modules (EMa~EMd).

[0100] Meanwhile, the vehicle (200) according to the embodiment of the present disclosure may further be equipped with a vehicle display device (100).

[0101] A vehicle display device (100) according to an embodiment of the present disclosure may include an input unit (110), a communication device (120) for communication with an external device, a plurality of communication modules (EMa~EMd) for internal communication, a memory (140), a signal processing device (170), a plurality of displays (180a~180c), an audio output unit (185), and a power supply unit (190).

[0102] Multiple communication modules (EMa~EMd) can be placed in each of the multiple zones (Z1~Z4) of FIG. 2, for example.

[0103] Meanwhile, the signal processing device (170) may have a communication switch (736b) inside for data communication with each communication module (EM1~EM4).

[0104] Each communication module (EM1~EM4) can perform data communication with a plurality of sensor devices (SN), ECU (770), or area signal processing device (170Z).

[0105] Meanwhile, a plurality of sensor devices (SN) may include a camera (195), lidar (196), radar (197), or position sensor (198).

[0106] The input unit (110) may be equipped with physical buttons, pads, etc. for button input, touch input, etc.

[0107] Meanwhile, the input unit (110) may be equipped with a microphone (not shown) for user voice input.

[0108] The communication device (120) can exchange data wirelessly with a mobile terminal (800) or a server (900).

[0109] In particular, the communication device (120) can wirelessly exchange data with the vehicle driver's mobile terminal. Various data communication methods are possible as wireless data communication methods, such as Bluetooth, WiFi, WiFi Direct, and APiX.

[0110] The communication device (120) can receive weather information, road traffic condition information, for example, TPEG (Transport Protocol Expert Group) information from a mobile terminal (800) or a server (900). To this end, the communication device (120) may be equipped with a mobile communication module (not shown).

[0111] Meanwhile, the communication device (120) can exchange data wirelessly with an adjacent vehicle.

[0112] For example, the communication device (120) can exchange vehicle messages wirelessly with an adjacent vehicle through V2X (Vehicle-to-everything) communication.

[0113] A plurality of communication modules (EM1~EM4) can receive sensor data, etc. from an ECU (770), a sensor device (SN), or a region signal processing device (170Z), and transmit the received sensor data to the signal processing device (170).

[0114] Here, the sensor data may include at least one of vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle tilt data, vehicle forward / reverse data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, and vehicle interior humidity data.

[0115] Such sensor data can be obtained from a heading sensor, a yaw sensor, a gyro sensor, a position module, a vehicle forward / reverse sensor, a wheel sensor, a vehicle speed sensor, 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, etc.

[0116] Meanwhile, the position module may include a GPS module or a position sensor (198) for receiving GPS information.

[0117] Meanwhile, at least one of the multiple communication modules (EM1 to EM4) can transmit location information data sensed from a GPS module or a location sensor (198) to a signal processing device (170).

[0118] Meanwhile, at least one of the plurality of communication modules (EM1 to EM4) can receive vehicle front image data, vehicle side image data, vehicle rear image data, and obstacle distance information around the vehicle from a camera (195), lidar (196), radar (197), etc., and transmit the received information to a signal processing device (170).

[0119] The memory (140) can store various data for the overall operation of the vehicle display device (100), such as a program for processing or controlling the signal processing device (170).

[0120] For example, memory (140) can store data regarding a hypervisor, a first virtualization machine to a third virtualization machine, for execution within a processor (175).

[0121] The audio output unit (185) converts an electrical signal from the signal processing device (170) into an audio signal and outputs it. To do this, a speaker or the like may be provided.

[0122] The power supply unit (190) can supply power necessary for the operation of each component under the control of the signal processing unit (170). In particular, the power supply unit (190) can receive power from a battery inside the vehicle, etc.

[0123] The signal processing device (170) controls the overall operation of each unit within the vehicle display device (100) or vehicle (200).

[0124] For example, the signal processing device (170) may include a processor (175) that performs signal processing for a vehicle display (180a, 180b).

[0125] The processor (175) can run a first virtualization machine to a third virtualization machine (not shown) on a hypervisor (not shown) within the processor (175).

[0126] Among the first to third virtual machines (not shown), the first virtual machine (not shown) may be named a Server Virtual Machine, and the second to third virtual machines (not shown) may be named a Guest Virtual Machine.

[0127] For example, a first virtualization machine (not shown) within a processor (175) can receive sensor data from a plurality of sensor devices, such as vehicle sensor data, location information data, camera image data, audio data, or touch input data, and process or modify it to output it.

[0128] In this way, by performing most of the data processing in the first virtualization machine (not shown), 1:N data sharing becomes possible.

[0129] As another example, the first virtualization machine (not shown) can directly receive and process CAN data, Ethernet data, audio data, radio data, USB data, and wireless communication data for the second virtualization machine to the third virtualization machine (not shown).

[0130] And, the first virtualization machine (not shown) can transmit the processed data to the second virtualization machine to the third virtualization machine (not shown).

[0131] Accordingly, among the first to third virtualization machines (not shown), only the first virtualization machine (not shown) receives sensor data, communication data, or external input data from a plurality of sensor devices and performs signal processing, thereby reducing the signal processing burden on other virtualization machines and enabling 1:N data communication, which enables synchronization when sharing data.

[0132] Meanwhile, the first virtualization machine (not shown) can control the sharing of the same data with the second virtualization machine (not shown) and the third virtualization machine (not shown) by writing data to the shared memory (508).

[0133] For example, the first virtualization machine (not shown) can record vehicle sensor data, the location information data, the camera image data, or the touch input data in a shared memory (508) and control the sharing of the same data with the second virtualization machine (not shown) and the third virtualization machine (not shown). Accordingly, data sharing in a 1:N manner becomes possible.

[0134] Ultimately, by performing most of the data processing on the first virtualization machine (not shown), 1:N data sharing becomes possible.

[0135] Meanwhile, the first virtualization machine (not shown) within the processor (175) can control the second virtualization machine (not shown) and the third virtualization machine (not shown) to set up a shared memory (508) based on the hypervisor (505) for the same data transmission.

[0136] Meanwhile, the signal processing device (170) can process various signals such as audio signals, video signals, and data signals. To this end, the signal processing device (170) can be implemented in the form of a System On Chip (SOC).

[0137] FIG. 5 is an example of a block diagram of a vehicle display device according to an embodiment of the present disclosure.

[0138] Referring to the drawings, a vehicle display device (900) according to an embodiment of the present disclosure comprises a signal processing device (170) having at least one neural processor (179) and a central processor (175) that controls the neural processor (179).

[0139] Meanwhile, the vehicle display device (900) according to the embodiment of the present disclosure may further include at least one display.

[0140] Meanwhile, the vehicle display device (900) according to the embodiment of the present disclosure may further include the steering drive unit (752), brake drive unit (753), power source drive unit (754), ECU (770), or a plurality of sensor devices (SN), etc. of FIG. 4.

[0141] Meanwhile, the vehicle display device (900) according to the embodiment of the present disclosure may further include the lamp driving unit (751), suspension driving unit (756), air conditioning driving unit (757), window driving unit (758), seat driving unit (761), or a plurality of communication modules (EMa~EMd), etc. of FIG. 4.

[0142] In the drawing, at least one display is exemplified as a cluster display (180a) and an AVN display (180b).

[0143] Meanwhile, the vehicle display device (900) may further include a plurality of area signal processing devices (170Z1 to 170Z4).

[0144] The signal processing device (170) at this time is a high-performance centralized signal processing and control device having a plurality of CPUs (175), GPUs (178), NPUs (179), etc., and can be named as a High Performance Computing (HPC) signal processing device or a central signal processing device.

[0145] Multiple area signal processing devices (170Z1~170Z4) and signal processing device (170) are connected by wired cables (CB1~CB4).

[0146] Meanwhile, multiple area signal processing devices (170Z1~170Z4) can be connected to each other by wired cables (CBa~CBd).

[0147] The wired cable (CBa~CBd) at this time may include a CAN communication cable, an Ethernet communication cable, or a PCI Express cable.

[0148] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure may further include a large-capacity storage device (925).

[0149] Meanwhile, the signal processing device (170) according to an embodiment of the present disclosure may further include a graphics processor (178).

[0150] Meanwhile, the signal processing device (170) according to an embodiment of the present disclosure may have at least one central processor (175, 178, 177).

[0151] Meanwhile, sensor data can be transmitted from at least one of the multiple area signal processing devices (170Z1 to 170Z4) to the signal processing device (170). In particular, the sensor data can be stored in a storage device (925) within the signal processing device (170).

[0152] The sensor data at this time may include at least one of camera data, lidar data, radar data, vehicle direction data, vehicle position data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle tilt data, vehicle forward / reverse data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, and vehicle interior humidity data.

[0153] In the drawing, camera data from a camera (195a) and lidar data from a lidar sensor (196) are input to a first area signal processing device (170Z1), and the camera data and lidar data are transmitted to a signal processing device (170) via a second area signal processing device (170Z2) and a third area signal processing device (170Z3), etc.

[0154] Meanwhile, since the data reading or writing speed to the storage device (925) is faster than the network speed when sensor data is transmitted from at least one of the multiple area signal processing devices (170Z1~170Z4) to the signal processing device (170), it is desirable to perform multipath routing so that network bottlenecks do not occur.

[0155] To this end, the signal processing device (170) according to an embodiment of the present disclosure can perform multipath routing based on a Software Defined Network (SDN). Accordingly, a stable network environment can be secured when reading or writing data of the storage device (925). Furthermore, since data can be transmitted to the storage device (925) using multiple paths, data can be transmitted by dynamically changing the network configuration.

[0156] Data communication between a plurality of area signal processing devices (170Z1~170Z4) and a signal processing device (170) within a vehicle display device (900) according to an embodiment of the present disclosure is preferably Peripheral Component Interconnect Express communication for high-bandwidth, low-latency communication.

[0157] Meanwhile, the signal processing device (170) according to an embodiment of the present disclosure can receive an internal image from an internal camera (195i) and perform signal processing on the internal image.

[0158] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure can receive a front image from a front camera (195a) and perform signal processing on the front image.

[0159] FIG. 6 is a drawing referenced in the description of the operation of a display device related to the present disclosure.

[0160] Referring to the drawings, the display device (900a) related to the present disclosure may include a signal processing device (170) and a switch (TSW).

[0161] A signal processing device (170) related to the present disclosure may have a plurality of processor cores (CR1~CRn, MR) and an interface (INT).

[0162] Meanwhile, between the signal processing device (170) and the external switch (TSW), Ethernet communication via an Ethernet interface (ESW) or PCIe communication via a PCIe interface (PSW) can be performed.

[0163] The first processor (175) in the signal processing device (170) may have a first type of processor core (CR1~CRn) among a plurality of processor cores, and the second processor (177) may have a second type of processor core (MR) among a plurality of processor cores.

[0164] For example, between multiple virtualization machines (820 to 850), communication using shared memory (508) or a switch (509) within the hypervisor (505) or Ethernet communication may be performed.

[0165] Meanwhile, the processor (175) in the signal processing device (170) can execute the first virtualization machine (850), the second virtualization machine (830), and the third virtualization machine (820) on the hypervisor (505).

[0166] Meanwhile, the second processor (177) in the signal processing device (170) can execute the fourth virtualization machine (840) without executing the hypervisor (505).

[0167] Meanwhile, each virtualization machine (820~850) is equipped with a network interface or driver (821, 831, 841, 851) and can perform Ethernet communication with an external switch (TSW) through an Ethernet interface (ESW) within the interface (INT), or perform PCIe communication through a PCIe interface (PSW) within the interface (INT).

[0168] Meanwhile, the processor (175) can transmit third data to the second processor (177) based on internal platform communication (Inter-platform communication and IPC).

[0169] Meanwhile, according to the signal processing device (170) of FIG. 6, when communicating with the shared memory (508), the shared memory interface within the network driver (831, 841, 851) is utilized to access the address of the shared memory (508) and store or receive data.

[0170] According to this method, in order to communicate with the shared memory (508), the address of the shared memory (508) is required, and the specified data must be transmitted only through a designated route.

[0171] In particular, when using shared memory (508) for transferring a large amount of data between virtual machines, the address of the shared memory (508) is required, and the specified data must be transferred only through a designated route.

[0172] In addition, if communication using the shared memory (508) is terminated abnormally, a phenomenon occurs in which the shared memory (508) cannot be used.

[0173] Ultimately, it becomes difficult to transmit large volumes of data, such as camera data and LiDAR data, or time-critical data.

[0174] Accordingly, the present disclosure proposes a method for efficiently transmitting data. This will be explained with reference to FIG. 7 and subsequent figures.

[0175] FIG. 7 is an example of an internal block diagram of a signal processing device according to an embodiment of the present disclosure.

[0176] Referring to the drawings, a signal processing device (170) according to an embodiment of the present disclosure comprises a processor (175) that executes a hypervisor (505).

[0177] A processor (175) according to one embodiment of the present disclosure runs a plurality of virtualization machines (520 to 550) on a hypervisor (505).

[0178] Meanwhile, among the plurality of virtualization machines (520 to 550), the first virtualization machine (520) executes the first application (528), and the second virtualization machine (530) executes the second application (538).

[0179] Meanwhile, the first application (528) in the first virtualization machine (520) executes the first communication library (529), and the second application (538) in the second virtualization machine (530) executes the second communication library (539).

[0180] At this time, the first communication library (529) and the second communication library (539) may be communication libraries based on communication between virtual machines (Inter-VM Communication).

[0181] Meanwhile, the first communication library (529) within the first application (528) controls the storage of topic data in the shared memory (508), and the second communication library (539) within the second application (538) receives topic data from the shared memory (508) based on an interrupt. Accordingly, data can be transmitted efficiently. In particular, communication between the service-oriented architecture-based virtualization machine and the shared memory (508) can be performed efficiently.

[0182] Meanwhile, the first communication library (529) controls the storage of topic data in the shared memory (508) based on a publish basis, and the second communication library (539) can receive topic data from the shared memory (508) based on a subscribe basis. Accordingly, data can be transmitted efficiently.

[0183] That is, the first application (528) may be a publisher of topic data, and the second application (538) may be a subscriber of topic data. Accordingly, data can be transmitted efficiently.

[0184] Meanwhile, the first application (528) can execute the main code (527) in addition to the first communication library (529), and the second application (538) can execute the main code (537) in addition to the second communication library (539).

[0185] Meanwhile, among the multiple virtualization machines (520 to 550), the third virtualization machine (540) can execute the third application (548), and the fourth virtualization machine (550) can execute the fourth application (558).

[0186] Meanwhile, the third application (548) in the third virtualization machine (540) executes the third communication library (549), and the fourth application (558) in the fourth virtualization machine (550) executes the fourth communication library (559).

[0187] Meanwhile, the third application (548) can execute the main code (547) in addition to the third communication library (549), and the fourth application (558) can execute the main code (557) in addition to the fourth communication library (559).

[0188] Meanwhile, unlike the drawing, it is also possible for the second virtualization machine (530) to run the second application (538) and the third application (548).

[0189] Meanwhile, when the second virtualization machine (530) executes the second application (538) and the third application (548), and the second communication library (539) within the second application (538) and the third communication library (549) within the third application (548) access the shared memory (508), the second communication library (539) and the third communication library (549) can receive topic data from the shared memory (508) in parallel.

[0190] In the case of FIG. 6, when accessing the shared memory (508) simultaneously, data is received sequentially. However, according to an embodiment of the present disclosure, even when accessing the shared memory (508) simultaneously, topic data can be received from the shared memory (508) in parallel. Accordingly, data can be transmitted efficiently.

[0191] Meanwhile, the first communication library (529) or the second communication library (539) can transmit or receive a heartbeat signal from the time of connection with the shared memory (508). Accordingly, data can be transmitted efficiently.

[0192] Meanwhile, the shared memory (508) may include an information area (SMa) regarding topic data, a heartbeat area (SMb), and storage areas (SMc~SMf). Accordingly, data can be transmitted efficiently.

[0193] Meanwhile, according to FIG. 7, applications (528–558) running on each of the multiple virtualization machines (520–550) can each run communication libraries (529–559) for publishing or driving-based communication with the shared memory (508). Accordingly, data can be transmitted efficiently.

[0194] Meanwhile, applications (528-558) that communicate with the shared memory (508) can use the communication library (529-559) to register for publishing or subscribing to topic data.

[0195] Meanwhile, the communication library (529~559) can perform at least one of creating, accessing, deleting, reading, writing, quality of service management, interrupt management, or heartbeat management of regions (SMa~SMMf) within the shared memory (508). Accordingly, data can be transmitted efficiently.

[0196] For example, the communication library (529~559) can allocate empty storage areas (SMc~SMf) within the shared memory (508) so that topic data can be transmitted.

[0197] Meanwhile, the communication library (529~559) can control the storage of the corresponding information in the information area (SMa) of the shared memory (508) so that the publisher information, subscriber information, and area information of the topic data can be shared.

[0198] Meanwhile, the communication library (529~559) can store the corresponding information in the heartbeat area (SMb) of the shared memory (508) or periodically update it so that the publisher and subscriber of the topic data can check each other's status.

[0199] Meanwhile, the communication library (529–559) can delay the occurrence of an interrupt until the end of a time slot with a higher priority. Accordingly, time-deterministic transmission is possible so that data can arrive before a certain time.

[0200] FIGS. 8 to 16b are drawings referenced in the operation description of FIG. 7.

[0201] Figure 8 is a diagram illustrating the initialization of shared memory.

[0202] Referring to the drawing, the main code (527) in the first application (528) can send a request for access to the shared memory (508) to the first communication library (529) in the first application (528) (SA1).

[0203] Next, the first communication library (529) within the first application (528) can access the shared memory (508) (SA2).

[0204] Next, the first communication library (529) within the first application (528) can access the information area (SMa) of the shared memory (508) (SA3).

[0205] Next, the first communication library (529) in the first application (528) reads information from the information area (SMa) of the shared memory (508) (SA4).

[0206] Next, the first communication library (529) within the first application (528) can store the information of the shared memory (508) read internally (SA5).

[0207] Next, the first communication library (529) within the first application (528) can access the heartbeat area (SMb) of the shared memory (508) (SA6).

[0208] Next, the main code (537) in the second application (538) can send a request for access to the shared memory (508) to the second communication library (539) in the second application (538) (SA7).

[0209] Next, the second communication library (539) within the second application (538) can access the shared memory (508) (SA8).

[0210] Next, the second communication library (539) within the second application (538) can access the information area (SMa) of the shared memory (508) (SA9).

[0211] Next, the second communication library (539) in the second application (538) reads information from the information area (SMa) of the shared memory (508) (SA10).

[0212] Next, the second communication library (539) within the second application (538) can store the information of the shared memory (508) read internally (SA11).

[0213] The second communication library (539) within the second application (538) can access the heartbeat area (SMb) of the shared memory (508) (SA12).

[0214] Next, FIG. 9 is a diagram illustrating the publication or subscription registration of topic data.

[0215] Referring to the drawing, the main code (527) in the first application (528) may request the first communication library (529) in the first application (528) to register the publication of the first topic data (SB1).

[0216] Next, the first communication library (529) in the first application (528) can read information in the information area (SMa) of the shared memory (508) (SB2).

[0217] Next, the first communication library (529) within the first application (528) can check whether the first topic data is registered based on the information of the read shared memory (508) (SB3).

[0218] Meanwhile, if the first topic data is not registered in the shared memory (508), the first communication library (529) in the first application (528) can find an empty area in the shared memory (508) (SB4).

[0219] Next, the first communication library (529) within the first application (528) can access an empty area of ​​the shared memory (508) (SB5).

[0220] At this time, an empty area within the shared memory (508) can be a data storage area for the first topic data. That is, it can be any one of the multiple storage areas (SMc~SMf) of FIG. 7.

[0221] Next, the first communication library (529) within the first application (528) can record the first topic data information in the information area (SMa) of the shared memory (508) (SB6).

[0222] For example, the first communication library (529) within the first application (528) can record the name information of the first topic data, the information of the data area, the publisher client ID information, etc., in the information area (SMa) of the shared memory (508).

[0223] Next, the first communication library (529) within the first application (528) can record information related to the first topic data in the heartbeat area (SMb) of the shared memory (508) (SB7).

[0224] For example, the first communication library (529) within the first application (528) can record the name information of the first topic data, its own client ID information, current timestamp information, etc., in the heartbeat area (SMb) of the shared memory (508).

[0225] Next, the first communication library (529) within the first application (528) can periodically update timestamps on information related to the first topic data within the heartbeat area (SMb) of the shared memory (508) (SB8).

[0226] For example, the first communication library (529) within the first application (528) can update the timestamp of information related to the first topic data in the heartbeat area (SMb) of the shared memory (508) approximately every 1 second.

[0227] Next, the main code (537) in the second application (538) may request the second communication library (539) in the second application (538) to register a subscription to the first topic data (SB9).

[0228] Next, the second communication library (539) in the second application (538) can read information within the information area (SMa) of the shared memory (508) (SB10).

[0229] Next, the second communication library (539) in the second application (538) can check whether the first topic data is registered based on the information of the read shared memory (508) (SB11).

[0230] Next, if the first topic data is registered or the subscriber is registered, the second communication library (539) within the second application (538) can access the data storage area (SMc~SMf) pointed to by the first topic data based on the information of the shared memory (508) (SB12).

[0231] Next, the second communication library (539) within the second application (538) can update the first topic data information within the information area (SMa) of the shared memory (508) (SB13).

[0232] For example, the second communication library (539) within the second application (538) can update the name information of the first topic data, the information of the data area, the publisher client ID information, etc., in the information area (SMa) of the shared memory (508).

[0233] Next, the second communication library (539) in the second application (538) can update the first topic data information in the heartbeat area (SMb) of the shared memory (508) (SB14).

[0234] For example, the second communication library (539) within the second application (538) can update the name information of the first topic data, its own client ID information, current timestamp information, etc., in the heartbeat area (SMb) of the first shared memory (508).

[0235] Next, the second communication library (539) in the second application (538) can periodically update timestamps on information related to the first topic data in the heartbeat area (SMb) of the shared memory (508) (SB15).

[0236] For example, the second communication library (539) in the second application (538) can update the timestamp of information related to the first topic data in the heartbeat area (SMb) of the shared memory (508) approximately every 1 second.

[0237] Ultimately, according to FIG. 9, the first communication library (529) can control the storage area (SMc~SMf) within the shared memory (508) to store the first topic data in an empty area among the storage areas (SMc~SMf) when the first topic data is not registered, record information related to the first topic data in the information area (SMa), and record timestamp information in the heartbeat area (SMb). Accordingly, data can be transmitted efficiently.

[0238] Meanwhile, the first communication library (529) can control the periodic updating of timestamp information in the heartbeat area (SMb). Accordingly, the first communication library (529) can inform other communication libraries that it is operating normally.

[0239] Meanwhile, the second communication library (539) receives information within the information area (SMa) in the shared memory (508), and based on the received information, if it is confirmed that the first topic data is registered in the storage area (SMc~SMf), it receives the first topic data stored in the storage area (SMc~SMf), updates information related to the first topic data within the information area (SMa), and controls the update of timestamp information in the heartbeat area (SMb). Accordingly, data can be transmitted efficiently.

[0240] Meanwhile, the second communication library (539) can control the periodic updating of timestamp information in the heartbeat area (SMb). Accordingly, the second communication library (539) can inform other communication libraries that it is operating normally.

[0241] Next, FIG. 10 is a diagram illustrating the setting of service quality or critical data.

[0242] Referring to the drawing, the main code (527) in the first application (528) may request the first communication library (529) in the first application (528) to register the publication of the first topic data and the registration of service quality information or time critical information (SC1).

[0243] Next, the first communication library (529) in the first application (528) can read information in the information area (SMa) of the shared memory (508) (SC2).

[0244] Next, the first communication library (529) within the first application (528) can check whether the first topic data is registered based on the information of the read shared memory (508) (SC3).

[0245] Meanwhile, if the first topic data is not registered in the shared memory (508), the first communication library (529) in the first application (528) can find an empty area in the shared memory (508) (SC4).

[0246] Next, the first communication library (529) within the first application (528) can access an empty area of ​​the shared memory (508) (SC5).

[0247] Next, the first communication library (529) within the first application (528) can record the first topic data information in the information area (SMa) of the shared memory (508) (SC6).

[0248] For example, the first communication library (529) within the first application (528) can record the name information of the first topic data, information of the data area, publisher client ID information, service quality information, or time critical information, etc., in the information area (SMa) of the shared memory (508).

[0249] The Quality of Service (QoS) information at this time may include information indicating messages that must be transmitted unconditionally (Reliable) or information indicating messages that do not need to be transmitted (Best effort).

[0250] Meanwhile, the Quality of Service (QoS) information may include a first type of information that all subscribers must read or receive, or a second type of information that all subscribers do not necessarily have to read or receive.

[0251] Meanwhile, the first type of information can correspond to information (Reliable) indicating a message that must be transmitted unconditionally, and the second type of information can correspond to information (Best effort) indicating a message that is acceptable not to be transmitted.

[0252] Meanwhile, time critical information may include information of first priority or information of second priority lower than first priority.

[0253] Next, the first communication library (529) within the first application (528) can record information related to the first topic data in the heartbeat area (SMb) of the shared memory (508) (SC7).

[0254] For example, the first communication library (529) within the first application (528) can record the name information of the first topic data, its own client ID information, current timestamp information, etc., in the heartbeat area (SMb) of the shared memory (508).

[0255] Next, the first communication library (529) within the first application (528) can periodically update timestamps on information related to the first topic data within the heartbeat area (SMb) of the shared memory (508) (SC8).

[0256] For example, the first communication library (529) within the first application (528) can update the timestamp of information related to the first topic data in the heartbeat area (SMb) of the shared memory (508) approximately every 1 second.

[0257] Next, the main code (537) in the second application (538) may request the second communication library (539) in the second application (538) to register a subscription to the first topic data and to register service quality information or time critical information (SC9).

[0258] Next, steps SC10 to SC15 in the drawing may be the same as steps SB10 to SB15 in FIG. 9.

[0259] Meanwhile, according to FIG. 10, communication libraries (529–559) within applications (528–558) that communicate with shared memory (508) can set service quality information or time critical information for topic data.

[0260] For example, each communication library (529–559) can distinguish topic data into messages that must be transmitted unconditionally or messages that do not need to be transmitted.

[0261] Meanwhile, each communication library (529–559) can check whether all subscribers of the topic data have read the topic data before the publisher of the topic data transmits additional data.

[0262] Meanwhile, each communication library (529~559) can set how many unread messages to store.

[0263] Meanwhile, each communication library (529~559) can set the size of the storage area based on the maximum size or history of the topic data when setting the storage area of ​​the topic data of the shared memory (508).

[0264] Meanwhile, each communication library (529~559) can output an interrupt to the publisher indicating how far the topic data of the subscribers has been read. Accordingly, the communication library within the publisher can determine how far the data in the shared memory (508) can be deleted.

[0265] Meanwhile, each communication library (529~559) can, when the transmission of time-critical data is registered, allocate a certain time slot for the transmission of time-critical data and control that only time-critical data is transmitted during this time slot. Accordingly, time-deterministic transmission is possible so that data can be transmitted before a certain time.

[0266] Next, FIG. 11 is a diagram illustrating the transmission or reception of topic data.

[0267] Referring to the drawing, the main code (527) in the first application (528) can request the first communication library (529) in the first application (528) to transmit the first topic data (SD1).

[0268] Next, the first communication library (529) within the first application (528) can search the storage area (SMc~SMf) of the shared memory (508) (SD2).

[0269] Next, the first communication library (529) within the first application (528) can record the first topic data (SD3) in the storage area (SMc~SMf) of the searched shared memory (508).

[0270] Next, the first communication library (529) in the first application (528) can output a first interrupt indicating that the first topic data has been updated after the first topic data has been written (SD4).

[0271] Next, the second communication library (539) in the second application (538) can receive the first interrupt generated by the first communication library (529) (SD5).

[0272] Next, the second communication library (539) in the second application (538) can read the first topic data stored in the storage area (SMc~SMf) of the shared memory (508) based on an interrupt (SD6).

[0273] Next, the second communication library (539) in the second application (538) can inform the main code (537) in the second application (538) to read the first topic data (SD7).

[0274] Next, the second communication library (539) in the second application (538) can output a second interrupt indicating completion of reading to the first communication library (529) when the first topic data read out is topic data of the first type corresponding to a message that must be unconditionally transmitted (SD8).

[0275] Meanwhile, the first communication library (529) in the first application (528) can confirm that the reading of the first topic data is complete based on the second interrupt and prepare to transmit the subsequent topic data (SD9).

[0276] According to FIG. 11, when the first communication library (529) stores or updates topic data in the shared memory (508), it outputs a first interrupt, and the second communication library (539) can receive topic data from the shared memory (508) based on the first interrupt. Accordingly, data can be transmitted efficiently.

[0277] Meanwhile, when the second communication library (539) receives topic data from the shared memory (508), it outputs a second interrupt, and the first communication library (529) can store or update subsequent topic data in the shared memory (508) after receiving the second interrupt. Accordingly, data can be transmitted efficiently.

[0278] Meanwhile, the first communication library (529) can store or update subsequent topic data in the shared memory (508) after the second application (538) or all subscribers have finished receiving the first type of topic data, if the topic data is a first type of topic data corresponding to a message that must be unconditionally transmitted.

[0279] Meanwhile, the topic data of the first type may include remote update data. Accordingly, remote update data can be transmitted efficiently.

[0280] Meanwhile, the first communication library (529) can store or update subsequent data in the shared memory (508) before the second application (538) or all subscribers finish receiving the first type of topic data, in the case where the topic data is of the second type corresponding to a message that is acceptable even if the topic data is not transmitted. Accordingly, data can be transmitted efficiently.

[0281] Meanwhile, the second type of topic data may include camera data. Accordingly, camera data can be transmitted efficiently.

[0282] Figure 12 is a flowchart illustrating the transmission of time-critical data.

[0283] Referring to the drawing, the first communication library (529) within the first application (528) can transmit topic data to the shared memory (508) (S1210).

[0284] At this time, the first communication library (529) in the first application (528) determines whether the topic data is time-critical data (S1215), and if so, determines whether it is within the first time slot period corresponding to the first priority (S1220), and if so, can output an interrupt within the first time slot period (S1230).

[0285] Accordingly, when topic data is time-critical data, data transmission can be performed quickly and efficiently.

[0286] Meanwhile, the first communication library (529) in the first application (528) determines whether the topic data is within the first time slot period corresponding to the first priority when the topic data is not time-critical data (S1225), and if it is not, outputs an interrupt within the second time slot period (S1230).

[0287] Accordingly, when the topic data is not time-critical, stable data transmission becomes possible.

[0288] Figure 13 is a drawing referenced in the description of Figure 12.

[0289] Referring to the diagram, the GRa area indicates the occurrence of transmission requests for multiple types of topic data, and the GRb area exemplifies the transmission of various generated topic data and the occurrence of interrupts.

[0290] For example, when a request to transmit time-critical data (Dtc) is received at time T1 during the first time slot period (STa) corresponding to the first priority, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output the first interrupt at time T1.

[0291] Next, at time T2 after the first time slot period (STa), if a request for transmission of general data (Dtd) that is not time-critical data is received, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output a second interrupt at time T2.

[0292] Meanwhile, when a request for transmission of time-critical data (Dtc) is received at time T3 during the second time slot period (STb) corresponding to the first priority, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output the first interrupt at time T3.

[0293] Meanwhile, if a request for transmission of general data (Dtg) that is not time-critical data is received at time T5 during the second time slot period (STb) corresponding to the first priority, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output a second interrupt at time T5, which is after the second time slot period (STb) has ended. Accordingly, efficient data transmission becomes possible.

[0294] Next, at time T6 after the second time slot period (STb), if a request for transmission of general data (Dtg) that is not time-critical data is received, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output a second interrupt at time T6.

[0295] Meanwhile, if a request for transmission of time-critical data (Dtc) is received at time T7 during the third time slot period (STc) corresponding to the first priority, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output the first interrupt at time T7.

[0296] Next, at time T8 after the third time slot period (STc), if a request for transmission of general data (Dtg) that is not time-critical data is received, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output a second interrupt at time T8.

[0297] Next, when a request for transmission of time-critical data (Dtc) is received at time T9 after the third time slot period (STc), the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output the first interrupt at time T10, which corresponds to the subsequent fourth time slot period (STd). Accordingly, efficient data transmission becomes possible.

[0298] Meanwhile, if a request for transmission of general data (Dtg) that is not time-critical data is received at time T10 during the fourth time slot period (STd) corresponding to the first priority, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output a second interrupt at time T11, after the fourth time slot period (STd) has ended. Accordingly, efficient data transmission becomes possible.

[0299] Next, at time T12 after the fourth time slot period (STd), if a request for transmission of general data (Dtg) that is not time-critical data is received, the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output a second interrupt at time T12.

[0300] Referring to FIG. 13, the first communication library (529) in the first application (528) can perform transmission of the first topic data and output of the first interrupt during the first time slot period (STa) when the topic data is the first topic data of the first priority.

[0301] In particular, the first communication library (529) within the first application (528) can perform transmission of the first topic data and output of the first interrupt during the first time slot period (STa) when the topic data is the first topic data of the first priority and a transmission request is received within the first time slot period (STa).

[0302] In this case, the first topic data of the first priority may be time-critical data. Accordingly, time-critical data can be transmitted quickly.

[0303] Meanwhile, the first communication library (529) within the first application (528) can perform transmission of the second topic data or output of the second interrupt after the first time slot period (STa) if the topic data is the second topic data with a lower priority than the first.

[0304] For example, the first communication library (529) within the first application (528) can perform the transmission of the second topic data and the output of the second interrupt between time T2 and time T3, which are after the completion of the first time slot period (STa), when the topic data is the second topic data of the second priority and a transmission request is received within the first time slot period (STa). Accordingly, data can be transmitted efficiently.

[0305] Meanwhile, the first communication library (529) can perform transmission of the first topic data and output of the first interrupt during the first time slot period when the interrupt of the first topic data of the first priority occurs before the first time slot period of the first priority.

[0306] For example, if a request for transmission of time-critical data (Dtc) is received at time T9 after the third time slot period (STc), the first communication library (529) within the first application (528) can be controlled to transmit data to the shared memory (508) and output the first interrupt at time T10, which corresponds to the subsequent fourth time slot period (STd) after time T9. Accordingly, efficient data transmission becomes possible.

[0307] Meanwhile, the first communication library (529) within the first application (528) can set the period of the first to fourth time slot periods based on the occurrence period of the topic data to be transmitted.

[0308] For example, the first communication library (529) within the first application (528) can set the period of the 1st to 4th time slot period to Ta, or Ta / 2, Ta / 4, etc. when the occurrence period of the topic data to be transmitted is Ta. Accordingly, efficient data transmission becomes possible.

[0309] Meanwhile, the first communication library (529) within the first application (528) can set the length of the first to fourth time slot periods based on the transmission time required for topic data to be transmitted.

[0310] For example, the first communication library (529) within the first application (528) can control the length of the first to fourth time slot periods to increase as the transmission period of the topic data to be transmitted increases. Accordingly, efficient data transmission becomes possible.

[0311] Figure 14 is a diagram referenced in the explanation of fail or safe using heartbeat.

[0312] Referring to the drawing, the first communication library (529) in the first application (528) or the second communication library (539) in the second application (538) can read information in the heartbeat area (SMb) of the shared memory (508) based on a timer (Timer) (SE1).

[0313] Next, the first communication library (529) in the first application (528) or the second communication library (539) in the second application (538) can check whether the timestamps of all participants in the heartbeat area (SMb) of the shared memory (508) have elapsed a set time (SE2).

[0314] Next, the first communication library (529) in the first application (528) can determine that if there is a participant for whom a set time has elapsed, the connection between the participant and the shared memory (508) has been disconnected (SE3).

[0315] For example, the first communication library (529) within the first application (528) can determine that the connection between the second application (538) and the shared memory (508) has been disconnected if the participant for whom the set time has elapsed is the second application (538).

[0316] And, the first communication library (529) within the first application (528) can control the deletion of information related to the second application (538) in the information area (SMa) and heartbeat area (SMb) within the shared memory (508) based on the interruption of the connection between the second application (538) and the shared memory (508).

[0317] Accordingly, the transmission of topic data can be reliably performed even after the connection of the second application (538) is interrupted.

[0318] Next, the first communication library (529) within the first application (528) can record information regarding the first topic data in the information area (SMa) of the shared memory (508) (SE4).

[0319] For example, the first communication library (529) within the first application (528) can delete the ID of a participant whose set time has elapsed.

[0320] Next, the first communication library (529) within the first application (528) can record information regarding the first topic data in the heartbeat area (SMb) of the shared memory (508) (SE5).

[0321] For example, the first communication library (529) within the first application (528) can delete the ID and timestamp of a participant whose set time has elapsed.

[0322] Meanwhile, the first communication library (529) within the first application (528) can control the deletion of the first topic data in the storage area (SMc~SMf) within the shared memory (508) and the deletion of information regarding the first topic data in the information area (SMa) and heartbeat area (SMb) when the participant whose set time has elapsed is the first application (528) that is the publisher of the first topic data (SE6). Accordingly, unnecessary data whose set time has elapsed can be stopped.

[0323] That is, according to FIG. 14, the first communication library (529) in the first application (528) can control to delete data in the information area (SMa), heartbeat area (SMb), and storage area (SMc~SMf) regarding topic data when the timestamp of the publisher of topic data in the heartbeat area (SMb) in the shared memory (508) has not been updated.

[0324] Meanwhile, the first communication library (529) within the first application (528) can control the deletion of at least some data in the information area (SMa) regarding a said participant and at least some data in the heartbeat area (SMb) when the timestamp of a said participant in the heartbeat area (SMb) within the shared memory (508) has not been updated.

[0325] FIGS. 15a and FIGS. 15b are drawings illustrating various examples of images displayed on a display.

[0326] FIG. 15a illustrates a surround view image being displayed on a second display (180b).

[0327] Referring to the drawing, the central signal processing unit (170) can run a server virtualization machine (520), a first guest virtualization machine (540), and a second guest virtualization machine (550) on the hypervisor (505).

[0328] For example, a first application (528) within a server virtualization machine (520) can store camera data in a storage area (SMc) within a shared memory (508) using an internal first communication library (529).

[0329] Meanwhile, an application (548) in the first guest virtualization machine (540) or an application (558) in the second guest virtualization machine (550) can receive camera data in a storage area (SMc) in a shared memory (508) by using an internal communication library (549, 559).

[0330] For example, an application (548) in the first guest virtualization machine (540) or an application (558) in the second guest virtualization machine (550) can receive camera data in the storage area (SMc) in the shared memory (508) based on an interrupt that occurs after the storage of camera data in the storage area (SMc) in the shared memory (508) is completed.

[0331] Meanwhile, the application (548) within the first guest virtualization machine (540) can control the display of camera images based on the received topic data. Accordingly, the camera images can be stably displayed based on the efficient transmission of camera data.

[0332] For example, an application (548) within the first guest virtualization machine (540) can signal process camera data, which is topic data, to control the display of an image (IGa) including a rear image (1050) and a surround view image (1507) on the second display (180b).

[0333] FIG. 15b illustrates a front vehicle object being displayed on the first display (180a).

[0334] Referring to the drawing, the central signal processing unit (170) can run a server virtualization machine (520), a first guest virtualization machine (540), and a second guest virtualization machine (550) on the hypervisor (505).

[0335] For example, a first application (528) within a server virtualization machine (520) can store camera data in a storage area (SMc) within a shared memory (508) using an internal first communication library (529).

[0336] Meanwhile, an application (548) in the first guest virtualization machine (540) or an application (558) in the second guest virtualization machine (550) can receive camera data in a storage area (SMc) in a shared memory (508) by using an internal communication library (549, 559).

[0337] Meanwhile, an application (558) within the second guest virtualization machine (550) can extract a front vehicle object from a camera image based on received topic data and control the display of the front vehicle object (IGb) on the first display (180a). Accordingly, the object can be stably displayed based on the efficient transmission of data.

[0338] Figures 16a and 16b are drawings referenced in the description related to service quality.

[0339] FIG. 16a illustrates the transmission of topic data of the second type.

[0340] Referring to the drawing, the central signal processing unit (170) can run a server virtualization machine (520) and a guest virtualization machine (550) on the hypervisor (505).

[0341] For example, a first application (528) within a server virtualization machine (520) can store topic data of the second type in a storage area (SMc) within a shared memory (508) using an internal first communication library (529).

[0342] Meanwhile, an application (558) within a guest virtualization machine (550) can receive topic data of the second type within a storage area (SMc) in a shared memory (508) by using an internal communication library (559).

[0343] For example, an application (558) in a guest virtualization machine (550) can receive the second type of topic data in the storage area (SMc) in the shared memory (508) based on an interrupt that occurs after the storage of the second type of topic data in the storage area (SMc) in the shared memory (508) is completed.

[0344] In this case, the second type of topic data may include camera data. Accordingly, camera data can be transmitted efficiently.

[0345] FIG. 16b illustrates the transmission of topic data of the first type.

[0346] Referring to the drawing, the central signal processing unit (170) can run a server virtualization machine (520) and a guest virtualization machine (530) on the hypervisor (505).

[0347] For example, a first application (528) within a server virtualization machine (520) can store topic data of the first type in a storage area (SMc) within a shared memory (508) using an internal first communication library (529).

[0348] Meanwhile, an application (538) within a guest virtualization machine (530) can receive topic data of the first type within a storage area (SMc) in a shared memory (508) by using an internal communication library (539).

[0349] For example, an application (538) in a guest virtualization machine (530) can receive the first type of topic data in the storage area (SMc) in the shared memory (508) based on an interrupt that occurs after the storage of the first type of topic data in the storage area (SMc) in the shared memory (508) is completed.

[0350] At this time, the first type of topic data may include remote update data. Accordingly, remote update data can be transmitted efficiently.

[0351] Meanwhile, the application (538) in the guest virtualization machine (530) can perform an update after receiving remote update data.

[0352] Although preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above. Various modifications are possible by those skilled in the art without departing from the essence of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical spirit or perspective of the present disclosure.

Claims

1. A processor executing a hypervisor; and The above processor is, A plurality of virtualization machines are executed on the above hypervisor, and Among the plurality of virtualization machines above, the first virtualization machine executes the first application, and the second virtualization machine executes the second application, and The first communication library within the first application controls the storage of topic data in shared memory, and The second communication library within the second application is a signal processing device that receives the topic data from the shared memory based on an interrupt.

2. In Paragraph 1, The first communication library above controls the storage of the topic data in the shared memory based on a publish basis, and The above second communication library is a signal processing device that receives the above topic data from the above shared memory on a subscription basis.

3. In Paragraph 1, A signal processing device wherein the second virtualization machine executes the second application and the third application, and when the second communication library in the second application and the third communication library in the third application access the shared memory, the second communication library and the third communication library receive topic data from the shared memory in parallel.

4. In Paragraph 1, The above first communication library or the above second communication library is, A signal processing device that transmits or receives a heartbeat signal from the time of connection with the above-mentioned shared memory.

5. In Paragraph 1, The above shared memory is, A signal processing device comprising an information area, a heartbeat area, and a storage area regarding the above-mentioned topic data.

6. In Paragraph 5, The above-mentioned first communication library is, A signal processing device that controls, when the first topic data is not registered in the storage area within the shared memory, to store the first topic data in an empty area of ​​the storage area, to record information related to the first topic data in the information area, and to record timestamp information in the heartbeat area.

7. In Paragraph 6, The above-mentioned first communication library is, A signal processing device that controls the periodic updating of timestamp information in the heartbeat area.

8. In Paragraph 5, The above second communication library is, A signal processing device that receives information within the information area within the shared memory, and if it is confirmed that a first topic data is registered in the storage area based on the received information, receives the first topic data stored in the storage area, updates information related to the first topic data within the information area, and controls the updating of timestamp information in the heartbeat area.

9. In Paragraph 8, The above second communication library is, A signal processing device that controls the periodic updating of timestamp information in the heartbeat area.

10. In Paragraph 5, The above-mentioned first communication library is, A signal processing device that controls the deletion of data in the information area, the heartbeat area, and the storage area regarding the topic data when the timestamp of the publisher of the topic data in the heartbeat area within the shared memory is not updated.

11. In Paragraph 5, The above-mentioned first communication library is, A signal processing device that controls the deletion of at least some data in the information area and at least some data in the heartbeat area regarding a said participant when the timestamp of a said participant in the heartbeat area within the said shared memory is not updated.

12. In Paragraph 1, The above-mentioned first communication library is, When the above topic data is stored or updated in the above shared memory, a first interrupt is output, and The second communication library above is a signal processing device that receives the topic data from the shared memory based on the first interrupt.

13. In Paragraph 1, The above second communication library is, When the above topic data is received from the above shared memory, a second interrupt is output, and The above first communication library is a signal processing device that stores or updates subsequent topic data in the shared memory after receiving the above second interrupt.

14. In Paragraph 1, The above-mentioned first communication library is, If the above topic data is topic data of the first type, after the second application or all subscribers have finished receiving the topic data of the first type, subsequent data is stored or updated in the shared memory, and A signal processing device that stores or updates subsequent data in the shared memory before the reception of the first type of topic data by the second application or all subscribers is completed, when the above topic data is the second type of topic data.

15. In Paragraph 1, The above-mentioned first communication library is, If the above topic data is the first topic data of the first priority, the transmission of the first topic data and the output of the first interrupt are performed during the first time slot period, and A signal processing device that performs transmission of the second topic data or output of the second interrupt after the first time slot when the above topic data is a second topic data with a lower priority than the above first priority.

16. In Paragraph 1, The above-mentioned first communication library is, A signal processing device that performs transmission of the first topic data and output of the first interrupt during the first time slot period when the interrupt of the first topic data of the first priority occurs before the first time slot period of the first priority.

17. In Paragraph 1, A signal processing device in which an application executed on each of the plurality of virtualization machines executes a communication library for publication or execution-based communication with the shared memory.

18. In Paragraph 1, The above second application is, A signal processing device that controls the display of camera images based on the above topic data on a display.

19. In Paragraph 1, Among the plurality of virtualization machines above, the third virtualization machine executes the third application, and The third communication library within the third application receives the topic data from the shared memory based on an interrupt, and A signal processing device that controls the display of an object based on the above topic data.

20. A signal processing device according to any one of claims 1 to 19; comprising a vehicle display device.