Patent Description:
A vehicle traditionally functions as means of transportation for a user, but is equipped with various sensors, electronic devices, and the like for a convenience of the user to provide a driving convenience of the user. In particular, a development of an advanced driver assistance system (ADAS) for the driving convenience of the user, and by extension, of an autonomous vehicle is being actively conducted.

Recent advanced driver assistance system and autonomous vehicle provide various display devices for a convenience of a passenger as well as the driving convenience of the user. These are also known as in-car entertainment (ICE) or in-vehicle infotainment (IVI). The ICE or the IVI may be referred to as vehicle hardware and software that provide audio or video entertainment. In particular, the IVI includes a vehicle navigation system, a video player, USB and Bluetooth connections, a carputer, an in-vehicle Internet, and a WiFi.

As such, as a display that supports high resolution is added to an in-vehicle infotainment domain, requirements for performances of the display and a domain control system that controls the display are increasing. However, a domain control system of the prior art has problems that a HW headroom for adding an ECU that supports a new function is insufficient, and a high performance requirement, especially, a large number of displays are not be able to be controlled by a single ECU.

<CIT> relates to a method and apparatus for dynamic virtual system on chip. <CIT> discloses a system-on-chip structure and a method for transferring data.

In order to solve the above-described problems, a technical task to be achieved in the present invention is to provide a device for controlling a display disposed in a vehicle and a workload distribution method between a plurality of system on chips (SoCs) that control the display.

The technical task to be achieved in the present invention is to solve such problems of the prior art.

In an aspect of the present invention, the problems of the prior art described above, that is, the problems that the HW headroom for adding the ECU that supports the new function is insufficient, and the high performance requirement, especially, the large number of displays are not be able to be controlled by the single ECU may be solved. Specifically, the device disposed in the vehicle according to an aspect of the present invention is advantageous in terms of hardware upgrade and replacement, and is advantageous in terms of workload distribution between a plurality of SoCs that use resources.

Effects that may be obtained from the present disclosure are not limited to the effects mentioned above. Other effects not mentioned may be clearly understood by those of ordinary skill in the technical field to which the present disclosure belongs from the following description.

The accompanying drawings, which are included as part of the detailed description to help understand the present invention, provide embodiments of the present disclosure and describe the technical idea of the present invention together with the detailed description.

It will be understood that although the terms "first," "second," etc., may be used herein to describe various components, these components should not be limited by these terms. These terms are only used to distinguish one component from another component.

It will be understood that when a component is referred to as being "connected to" or "coupled to" another component, it may be directly connected to or coupled to another component or intervening components may be present. In contrast, when a component is referred to as being "directly connected to" or "directly coupled to" another component, there are no intervening components present.

As used herein, the singular form is intended to include the plural forms as well, unless the context clearly indicates otherwise. In the present application, it will be further understood that the terms "comprises", includes," etc. specify the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

A vehicle as described in this specification may include an automobile and a motorcycle. Hereinafter, a description will be given based on an automobile. A vehicle as described in this specification may include all of an internal combustion engine vehicle including an engine as a power source, a hybrid vehicle including both an engine and an electric motor as a power source, and an electric vehicle including an electric motor as a power source. In the following description, "the left side of the vehicle" refers to the left side in the forward driving direction of the vehicle, and "the right side of the vehicle" refers to the right side in the forward driving direction of the vehicle.

<FIG> is a view of the external appearance of a vehicle according to an embodiment of the present disclosure.

<FIG> is different angled views of a vehicle according to an embodiment of the present disclosure.

<FIG> and <FIG> are views of the internal configuration of a vehicle according to an embodiment of the present disclosure.

<FIG> and <FIG> are views for explanation of objects according to an embodiment of the present disclosure.

<FIG> is a block diagram illustrating a vehicle according to an embodiment of the present disclosure.

Referring to <FIG>, a vehicle <NUM> may include a plurality of wheels, which are rotated by a power source, and a steering input device <NUM> for controlling a driving direction of the vehicle <NUM>.

The vehicle <NUM> may be an autonomous vehicle. The vehicle <NUM> may be switched to an autonomous mode or a manual mode in response to a user input. For example, in response to a user input received through a user interface apparatus <NUM>, the vehicle <NUM> may be switched from a manual mode to an autonomous mode, or vice versa.

The vehicle <NUM> may be switched to the autonomous mode or to the manual mode based on driving environment information. The driving environment information may include at least one of the following: information on an object outside a vehicle, navigation information, and vehicle state information.

The vehicle <NUM> may be switched from the manual mode to the autonomous mode, or vice versa, based on information, data, and a signal provided from an external device.

When the vehicle <NUM> operates in the autonomous mode, the autonomous vehicle <NUM> may operate based on an operation system <NUM>. For example, the autonomous vehicle <NUM> may operate based on information, data, or signals generated by a driving system <NUM>, a vehicle pulling-out system <NUM>, and a vehicle parking system <NUM>.

While operating in the manual mode, the autonomous vehicle <NUM> may receive a user input for driving of the vehicle <NUM> through a maneuvering device <NUM>. In response to the user input received through the maneuvering device <NUM>, the vehicle <NUM> may operate.

The term "overall length" means the length from the front end to the rear end of the vehicle <NUM>, the term "overall width" means the width of the vehicle <NUM>, and the term "overall height" means the height from the bottom of the wheel to the roof. In the following description, the term "overall length direction L" may mean the reference direction for the measurement of the overall length of the vehicle <NUM>, the term "overall width direction W" may mean the reference direction for the measurement of the overall width of the vehicle <NUM>, and the term "overall height direction H" may mean the reference direction for the measurement of the overall height of the vehicle <NUM>.

As illustrated in <FIG>, the vehicle <NUM> may include the user interface device <NUM>, the object detection device <NUM>, the communication device <NUM>, the maneuvering device <NUM>, a vehicle drive device <NUM>, the operation system <NUM>, a navigation system <NUM>, a sensing unit <NUM>, an interface <NUM>, a memory <NUM>, a controller <NUM>, and a power supply unit <NUM>.

In some embodiments, the vehicle <NUM> may further include other components in addition to the aforementioned components, or may not include some of the aforementioned components. The sensing unit <NUM> may sense the state of the vehicle. The sensing unit <NUM> may include an attitude sensor (for example, a yaw sensor, a roll sensor, or a pitch sensor), a collision sensor, a wheel sensor, a speed sensor, a gradient sensor, a weight sensor, a heading sensor, a gyro sensor, a position module, a vehicle forward/reverse movement sensor, a battery sensor, a fuel sensor, a tire sensor, a steering sensor based on the rotation of the steering wheel, an in-vehicle temperature sensor, an in-vehicle humidity sensor, an ultrasonic sensor, an illumination sensor, an accelerator pedal position sensor, and a brake pedal position sensor.

The sensing unit <NUM> may acquire sensing signals with regard to, for example, vehicle attitude information, vehicle collision information, vehicle driving direction information, vehicle location information (GPS information), vehicle angle information, vehicle speed information, vehicle acceleration information, vehicle tilt information, vehicle forward/reverse movement information, battery information, fuel information, tire information, vehicle lamp information, in-vehicle temperature information, in-vehicle humidity information, steering-wheel rotation angle information, outside illumination information, information about the pressure applied to an accelerator pedal, and information about the pressure applied to a brake pedal.

The sensing unit <NUM> may further include, for example, an accelerator pedal sensor, a pressure sensor, an engine speed sensor, an Air Flow-rate Sensor (AFS), an Air Temperature Sensor (ATS), a Water Temperature Sensor (WTS), a Throttle Position Sensor (TPS), a Top Dead Center (TDC) sensor, and a Crank Angle Sensor (CAS).

The sensing unit <NUM> may generate vehicle state information based on sensing data. The vehicle condition information may be information that is generated based on data sensed by a variety of sensors inside a vehicle.

For example, the vehicle state information may include vehicle position information, vehicle speed information, vehicle tilt information, vehicle weight information, vehicle direction information, vehicle battery information, vehicle fuel information, vehicle tire pressure information, vehicle steering information, in-vehicle temperature information, in-vehicle humidity information, pedal position information, vehicle engine temperature information, etc..

The interface <NUM> may serve as a passage for various kinds of external devices that are connected to the vehicle <NUM>. For example, the interface <NUM> may have a port that is connectable to a mobile terminal and may be connected to the mobile terminal via the port. In this case, the interface <NUM> may exchange data with the mobile terminal.

Meanwhile, the interface <NUM> may serve as a passage for the supply of electrical energy to a mobile terminal connected thereto. When the mobile terminal is electrically connected to the interface <NUM>, the interface <NUM> may provide electrical energy, supplied from the power supply unit <NUM>, to the mobile terminal under control of the controller <NUM>.

The memory <NUM> is electrically connected to the controller <NUM>. The memory <NUM> may store basic data for each unit, control data for the operational control of each unit, and input/output data. The memory <NUM> may be any of various hardware storage devices, such as a ROM, a RAM, an EPROM, a flash drive, and a hard drive. The memory <NUM> may store various data for the overall operation of the vehicle <NUM>, such as programs for the processing or control of the controller <NUM>. In some embodiments, the memory <NUM> may be integrally formed with the controller <NUM>, or may be provided as an element of the controller <NUM>.

The controller <NUM> may control the overall operation of each unit inside the vehicle <NUM>. The controller <NUM> may be referred to as an Electronic Controller (ECU). The power supply unit <NUM> may supply power required to operate each component under control of the controller <NUM>. In particular, the power supply unit <NUM> may receive power from, for example, a battery inside the vehicle <NUM>.

At least one processor and the controller <NUM> included in the vehicle <NUM> may be implemented using at least one selected from among Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, and electric units for the implementation of other functions.

Moreover, the sensing unit <NUM>, the interface unit <NUM>, the memory <NUM>, the power supply unit <NUM>, the user interface device <NUM>, the object detection device <NUM>, the communication device <NUM>, the maneuvering device <NUM>, the vehicle drive device <NUM>, the operation system <NUM> and the navigation system <NUM> may have individual processors or be integrated into the controller <NUM>.

The user interface device <NUM> is provided to support communication between the vehicle <NUM> and a user. The user interface device <NUM> may receive a user input, and provide information generated in the vehicle <NUM> to the user. The vehicle <NUM> may enable User Interfaces (UI) or User Experience (UX) through the user interface device <NUM>.

The user interface device <NUM> may include an input unit <NUM>, an internal camera <NUM>, a biometric sensing unit <NUM>, an output unit <NUM>, and a processor <NUM>. Each component of the user interface device <NUM> may be separated from or integrated with the afore-described interface <NUM>, structurally or operatively.

In some embodiments, the user interface device <NUM> may further include other components in addition to the aforementioned components, or may not include some of the aforementioned components.

The input unit <NUM> is configured to receive information from a user, and data collected in the input unit <NUM> may be analyzed by the processor <NUM> and then processed into a control command of the user.

The input unit <NUM> may be disposed inside the vehicle <NUM>. For example, the input unit <NUM> may be disposed in a region of a steering wheel, a region of an instrument panel, a region of a seat, a region of each pillar, a region of a door, a region of a center console, a region of a head lining, a region of a sun visor, a region of a windshield, or a region of a window.

The input unit <NUM> may include a voice input unit <NUM>, a gesture input unit <NUM>, a touch input unit <NUM>, and a mechanical input unit <NUM>.

The voice input unit <NUM> may convert a voice input of a user into an electrical signal. The converted electrical signal may be provided to the processor <NUM> or the controller <NUM>. The voice input unit <NUM> may include one or more microphones.

The gesture input unit <NUM> may convert a gesture input of a user into an electrical signal. The converted electrical signal may be provided to the processor <NUM> or the controller <NUM>. The gesture input unit <NUM> may include at least one selected from among an infrared sensor and an image sensor for sensing a gesture input of a user.

In some embodiments, the gesture input unit <NUM> may sense a three-dimensional (3D) gesture input of a user. To this end, the gesture input unit <NUM> may include a plurality of light emitting units for outputting infrared light, or a plurality of image sensors. The gesture input unit <NUM> may sense the 3D gesture input by employing a Time of Flight (TOF) scheme, a structured light scheme, or a disparity scheme.

The touch input unit <NUM> may convert a user's touch input into an electrical signal. The converted electrical signal may be provided to the processor <NUM> or the controller <NUM>. The touch input unit <NUM> may include a touch sensor for sensing a touch input of a user. In some embodiments, the touch input unit <NUM> may be formed integral with a display unit <NUM> to implement a touch screen. The touch screen may provide an input interface and an output interface between the vehicle <NUM> and the user.

The mechanical input unit <NUM> may include at least one selected from among a button, a dome switch, a jog wheel, and a jog switch. An electrical signal generated by the mechanical input unit <NUM> may be provided to the processor <NUM> or the controller <NUM>. The mechanical input unit <NUM> may be located on a steering wheel, a center fascia, a center console, a cockpit module, a door, etc..

The processor <NUM> may start a learning mode of the vehicle <NUM> in response to a user input to at least one of the afore-described voice input unit <NUM>, gesture input unit <NUM>, touch input unit <NUM>, or mechanical input unit <NUM>. In the learning mode, the vehicle <NUM> may learn a driving route and ambient environment of the vehicle <NUM>. The learning mode will be described later in detail in relation to the object detection device <NUM> and the operation system <NUM>.

The internal camera <NUM> may acquire images of the inside of the vehicle <NUM>. The processor <NUM> may sense a user's condition based on the images of the inside of the vehicle <NUM>. The processor <NUM> may acquire information on an eye gaze of the user. The processor <NUM> may sense a gesture of the user from the images of the inside of the vehicle <NUM>.

The biometric sensing unit <NUM> may acquire biometric information of the user. The biometric sensing unit <NUM> may include a sensor for acquire biometric information of the user, and may utilize the sensor to acquire finger print information, heart rate information, etc. of the user. The biometric information may be used for user authentication.

The output unit <NUM> is configured to generate a visual, audio, or tactile output. The output unit <NUM> may include at least one selected from among a display unit <NUM>, a sound output unit <NUM>, and a haptic output unit <NUM>.

The display unit <NUM> may display graphic objects corresponding to various types of information. The display unit <NUM> may include at least one selected from among a Liquid Crystal Display (LCD), a Thin Film Transistor-Liquid Crystal Display (TFT LCD), an Organic Light-Emitting Diode (OLED), a flexible display, a 3D display, and an e-ink display.

The display unit <NUM> may form an inter-layer structure together with the touch input unit <NUM>, or may be integrally formed with the touch input unit <NUM> to implement a touch screen. The display unit <NUM> may be implemented as a Head Up Display (HUD). When implemented as a HUD, the display unit <NUM> may include a projector module in order to output information through an image projected on a windshield or a window. The display unit <NUM> may include a transparent display. The transparent display may be attached on the windshield or the window.

The transparent display may display a predetermined screen with a predetermined transparency. In order to achieve the transparency, the transparent display may include at least one selected from among a transparent Thin Film Electroluminescent (TFEL) display, an Organic Light Emitting Diode (OLED) display, a transparent Liquid Crystal Display (LCD), a transmissive transparent display, and a transparent Light Emitting Diode (LED) display. The transparency of the transparent display may be adjustable.

Meanwhile, the user interface device <NUM> may include a plurality of display units 251a to <NUM>.

The display unit <NUM> may be disposed in a region of a steering wheel, a region 251a, 251b or 251e of an instrument panel, a region 251d of a seat, a region 251f of each pillar, a region <NUM> of a door, a region of a center console, a region of a head lining, a region of a sun visor, a region 251c of a windshield, or a region <NUM> of a window.

The sound output unit <NUM> converts an electrical signal from the processor <NUM> or the controller <NUM> into an audio signal, and outputs the audio signal. To this end, the sound output unit <NUM> may include one or more speakers.

The haptic output unit <NUM> generates a tactile output. For example, the haptic output unit <NUM> may operate to vibrate a steering wheel, a safety belt, and seats 110FL, 110FR, 110RL, and 110RR so as to allow a user to recognize the output.

The processor <NUM> may control the overall operation of each unit of the user interface device <NUM>. In some embodiments, the user interface device <NUM> may include a plurality of processors <NUM> or may not include the processor <NUM>.

In a case where the user interface device <NUM> does not include the processor <NUM>, the user interface device <NUM> may operate under control of the controller <NUM> or a processor of a different device inside the vehicle <NUM>. Meanwhile, the user interface device <NUM> may be referred to as a display device for vehicle. The user interface device <NUM> may operate under control of the controller <NUM>.

The object detection device <NUM> is used to detect an object outside the vehicle <NUM>. The object detection device <NUM> may generate object information based on sensing data.

The object information may include information about the presence of an object, location information of the object, information on distance between the vehicle and the object, and the speed of the object relative to the vehicle <NUM>. The object may include various objects related to travelling of the vehicle <NUM>.

Referring to <FIG> and <FIG>, an object o may include a lane OB10, a nearby vehicle OB11, a pedestrian OB12, a two-wheeled vehicle OB13, a traffic signal OB14 and OB <NUM>, a light, a road, a structure, a bump, a geographical feature, an animal, etc..

The lane OB10 may be a lane in which the vehicle <NUM> is traveling (hereinafter, referred to as the current driving lane), a lane next to the current driving lane, and a lane in which a vehicle travelling in the opposite direction is travelling. The lane OB <NUM> may include left and right lines that define the lane.

The nearby vehicle OB11 may be a vehicle that is travelling in the vicinity of the vehicle <NUM>. The nearby vehicle OB11 may be a vehicle within a predetermined distance from the vehicle <NUM>. For example, the nearby vehicle OB11 may be a vehicle that is preceding or following the vehicle <NUM>.

The pedestrian OB12 may be a person in the vicinity of the vehicle <NUM>. The pedestrian OB12 may be a person within a predetermined distance from the vehicle <NUM>. For example, the pedestrian OB12 may be a person on a sidewalk or on the roadway.

The two-wheeled vehicle OB13 is a vehicle that is located in the vicinity of the vehicle <NUM> and moves with two wheels. The two-wheeled vehicle OB13 may be a vehicle that has two wheels within a predetermined distance from the vehicle <NUM>. For example, the two-wheeled vehicle OB13 may be a motorcycle or a bike on a sidewalk or the roadway.

The traffic signal may include a traffic light OB15, a traffic sign plate OB14, and a pattern or text painted on a road surface. The light may be light generated by a lamp provided in the nearby vehicle. The light may be light generated by a street light. The light may be solar light. The road may include a road surface, a curve, and slopes, such as an upward slope and a downward slope. The structure may be a body located around the road in the state of being fixed onto the ground. For example, the structure may include a streetlight, a roadside tree, a building, a traffic light, and a bridge. The geographical feature may include a mountain and a hill.

Meanwhile, the object may be classified as a movable object or a stationary object. For example, the movable object may include a nearby vehicle and a pedestrian. For example, the stationary object may include a traffic signal, a road, and a structure.

The object detection device <NUM> may include a camera <NUM>, a radar <NUM>, a lidar <NUM>, an ultrasonic sensor <NUM>, an infrared sensor <NUM>, and a processor <NUM>. Each component of the object detection device <NUM> may be separated from or integrated with the sensing unit <NUM>, structurally or operatively.

In some embodiments, the object detection device <NUM> may further include other components in addition to the aforementioned components, or may not include some of the aforementioned components.

The camera <NUM> may be located at an appropriate position outside the vehicle <NUM> in order to acquire images of the outside of the vehicle <NUM>. The camera <NUM> may be a mono camera, a stereo camera 310a, an Around View Monitoring (AVM) camera 310b, or a <NUM>-degree camera.

Using various image processing algorithms, the camera <NUM> may acquire location information of an object, information on distance to the object, and information on speed relative to the object.

For example, based on change in size over time of an object in acquired images, the camera <NUM> may acquire information on distance to the object and information on speed relative to the object.

For example, the camera <NUM> may acquire the information on distance to the object and the information on speed relative to the object by utilizing a pin hole model or by profiling a road surface.

For example, the camera <NUM> may acquire the information on distance to the object and the information on the speed relative to the object, based on information on disparity of stereo images acquired by a stereo camera 310a.

For example, the camera <NUM> may be disposed near a front windshield in the vehicle <NUM> in order to acquire images of the front of the vehicle <NUM>. Alternatively, the camera <NUM> may be disposed around a front bumper or a radiator grill.

In another example, the camera <NUM> may be disposed near a rear glass in the vehicle <NUM> in order to acquire images of the rear of the vehicle <NUM>. Alternatively, the camera <NUM> may be disposed around a rear bumper, a trunk, or a tailgate.

In yet another example, the camera <NUM> may be disposed near at least one of the side windows in the vehicle <NUM> in order to acquire images of the side of the vehicle <NUM>. Alternatively, the camera <NUM> may be disposed around a side mirror, a fender, or a door.

The camera <NUM> may provide an acquired image to the processor <NUM>.

The radar <NUM> may include an electromagnetic wave transmission unit and an electromagnetic wave reception unit. The radar <NUM> may be realized as a pulse radar or a continuous wave radar depending on the principle of emission of an electronic wave. In addition, the radar <NUM> may be realized as a Frequency Modulated Continuous Wave (FMCW) type radar or a Frequency Shift Keying (FSK) type radar depending on the waveform of a signal.

The radar <NUM> may detect an object through the medium of an electromagnetic wave by employing a time of flight (TOF) scheme or a phase-shift scheme, and may detect a location of the detected object, the distance to the detected object, and the speed relative to the detected object.

The radar <NUM> may be located at an appropriate position outside the vehicle <NUM> in order to sense an object located in front of the vehicle <NUM>, an object located to the rear of the vehicle <NUM>, or an object located to the side of the vehicle <NUM>.

The lidar <NUM> may include a laser transmission unit and a laser reception unit. The lidar <NUM> may be implemented by the TOF scheme or the phase-shift scheme.

The lidar <NUM> may be implemented as a drive type lidar or a non-drive type lidar. When implemented as the drive type lidar, the lidar <NUM> may rotate by a motor and detect an object in the vicinity of the vehicle <NUM>. When implemented as the non-drive type lidar, the lidar <NUM> may utilize a light steering technique to detect an object located within a predetermined distance from the vehicle <NUM>.

The lidar <NUM> may detect an object through the medium of laser light by employing the TOF scheme or the phase-shift scheme, and may detect a location of the detected object, the distance to the detected object, and the speed relative to the detected object. The lidar <NUM> may be located at an appropriate position outside the vehicle <NUM> in order to sense an object located in front of the vehicle <NUM>, an object located to the rear of the vehicle <NUM>, or an object located to the side of the vehicle <NUM>.

The ultrasonic sensor <NUM> may include an ultrasonic wave transmission unit and an ultrasonic wave reception unit. The ultrasonic sensor <NUM> may detect an object based on an ultrasonic wave, and may detect a location of the detected object, the distance to the detected object, and the speed relative to the detected object. The ultrasonic sensor <NUM> may be located at an appropriate position outside the vehicle <NUM> in order to detect an object located in front of the vehicle <NUM>, an object located to the rear of the vehicle <NUM>, and an object located to the side of the vehicle <NUM>.

The infrared sensor <NUM> may include an infrared light transmission unit and an infrared light reception unit. The infrared sensor <NUM> may detect an object based on infrared light, and may detect a location of the detected object, the distance to the detected object, and the speed relative to the detected object. The infrared sensor <NUM> may be located at an appropriate position outside the vehicle <NUM> in order to sense an object located in front of the vehicle <NUM>, an object located to the rear of the vehicle <NUM>, or an object located to the side of the vehicle <NUM>.

The processor <NUM> may control the overall operation of each unit of the object detection device <NUM>. The processor <NUM> may detect or classify an object by comparing data sensed by the camera <NUM>, the radar <NUM>, the lidar <NUM>, the ultrasonic sensor <NUM>, and the infrared sensor <NUM> with pre-stored data.

The processor <NUM> may detect and track an object based on acquired images. The processor <NUM> may, for example, calculate the distance to the object and the speed relative to the object.

For example, the processor <NUM> may acquire information on the distance to the object and information on the speed relative to the object based on a variation in size over time of the object in acquired images.

In another example, the processor <NUM> may acquire information on the distance to the object or information on the speed relative to the object by employing a pin hole model or by profiling a road surface.

In yet another example, the processor <NUM> may acquire information on the distance to the object and information on the speed relative to the object based on information on disparity of stereo images acquired from the stereo camera 310a.

The processor <NUM> may detect and track an object based on a reflection electromagnetic wave which is formed as a result of reflection a transmission electromagnetic wave by the object. Based on the electromagnetic wave, the processor <NUM> may, for example, calculate the distance to the object and the speed relative to the object.

The processor <NUM> may detect and track an object based on a reflection laser light which is formed as a result of reflection of transmission laser by the object. Based on the laser light, the processor <NUM> may, for example, calculate the distance to the object and the speed relative to the object.

The processor <NUM> may detect and track an object based on a reflection ultrasonic wave which is formed as a result of reflection of a transmission ultrasonic wave by the object. Based on the ultrasonic wave, the processor <NUM> may, for example, calculate the distance to the object and the speed relative to the object.

The processor <NUM> may detect and track an object based on reflection infrared light which is formed as a result of reflection of transmission infrared light by the object. Based on the infrared light, the processor <NUM> may, for example, calculate the distance to the object and the speed relative to the object.

As described before, once the vehicle <NUM> starts the learning mode in response to a user input to the input unit <NUM>, the processor <NUM> may store data sensed by the camera <NUM>, the radar <NUM>, the lidar <NUM>, the ultrasonic sensor <NUM>, and the infrared sensor <NUM> in the memory <NUM>.

Each step of the learning mode based on analysis of stored data, and an operating mode following the learning mode will be described later in detail in relation to the operation system <NUM>. According to an embodiment, the object detection device <NUM> may include a plurality of processors <NUM> or no processor <NUM>. For example, the camera <NUM>, the radar <NUM>, the lidar <NUM>, the ultrasonic sensor <NUM>, and the infrared sensor <NUM> may include individual processors.

In a case where the object detection device <NUM> does not include the processor <NUM>, the object detection device <NUM> may operate under control of the controller <NUM> or a processor inside the vehicle <NUM>. The object detection device <NUM> may operate under control of the controller <NUM>.

The communication device <NUM> is configured to perform communication with an external device. Here, the external device may be a nearby vehicle, a mobile terminal, or a server. To perform communication, the communication device <NUM> may include at least one selected from among a transmission antenna, a reception antenna, a Radio Frequency (RF) circuit capable of implementing various communication protocols, and an RF device.

The communication device <NUM> may include a short-range communication unit <NUM>, a location information unit <NUM>, a V2X communication unit <NUM>, an optical communication unit <NUM>, a broadcast transmission and reception unit <NUM>, an Intelligent Transport Systems (ITS) communication unit <NUM>, and a processor <NUM>. In some embodiments, the communication device <NUM> may further include other components in addition to the aforementioned components, or may not include some of the aforementioned components.

The short-range communication unit <NUM> is configured to perform short-range communication. The short-range communication unit <NUM> may support short-range communication using at least one selected from among BluetoothTM, Radio Frequency IDdentification (RFID), Infrared Data Association (IrDA), Ultra-WideBand (UWB), ZigBee, Near Field Communication (NFC), Wireless-Fidelity (Wi-Fi), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus). The short-range communication unit <NUM> may form wireless area networks to perform short-range communication between the vehicle <NUM> and at least one external device.

The location information unit <NUM> is configured to acquire location information of the vehicle <NUM>. For example, the location information unit <NUM> may include a Global Positioning System (GPS) module or a Differential Global Positioning System (DGPS) module.

The V2X communication unit <NUM> is configured to perform wireless communication between a vehicle and a server (that is, vehicle to infra (V2I) communication), wireless communication between a vehicle and a nearby vehicle (that is, vehicle to vehicle (V2V) communication), or wireless communication between a vehicle and a pedestrian (that is, vehicle to pedestrian (V2P) communication).

The optical communication unit <NUM> is configured to perform communication with an external device through the medium of light. The optical communication unit <NUM> may include a light emitting unit, which converts an electrical signal into an optical signal and transmits the optical signal to the outside, and a light receiving unit which converts a received optical signal into an electrical signal. In some embodiments, the light emitting unit may be integrally formed with a lamp provided included in the vehicle <NUM>.

The broadcast transmission and reception unit <NUM> is configured to receive a broadcast signal from an external broadcasting management server or transmit a broadcast signal to the broadcasting management server through a broadcasting channel. The broadcasting channel may include a satellite channel, and a terrestrial channel. The broadcast signal may include a TV broadcast signal, a radio broadcast signal, and a data broadcast signal.

The ITS communication unit <NUM> may exchange information, data, or signals with a traffic system. The ITS communication unit <NUM> may provide acquired information or data to the traffic system. The ITS communication unit <NUM> may receive information, data, or signals from the traffic system. For example, the ITS communication unit <NUM> may receive traffic information from the traffic system and provide the traffic information to the controller <NUM>. In another example, the ITS communication unit <NUM> may receive a control signal from the traffic system, and provide the control signal to the controller <NUM> or a processor provided in the vehicle <NUM>.

The processor <NUM> may control the overall operation of each unit of the communication device <NUM>. In some embodiments, the communication device <NUM> may include a plurality of processors <NUM>, or may not include the processor <NUM>. In a case where the communication device <NUM> does not include the processor <NUM>, the communication device <NUM> may operate under control of the controller <NUM> or a processor of a device inside of the vehicle <NUM>.

Meanwhile, the communication device <NUM> may implement a vehicle display device, together with the user interface device <NUM>. In this case, the vehicle display device may be referred to as a telematics device or an Audio Video Navigation (AVN) device. The communication device <NUM> may operate under control of the controller <NUM>.

The maneuvering device <NUM> is configured to receive a user input for driving the vehicle <NUM>. In the manual mode, the vehicle <NUM> may operate based on a signal provided by the maneuvering device <NUM>. The maneuvering device <NUM> may include a steering input device <NUM>, an acceleration input device <NUM>, and a brake input device <NUM>.

The steering input device <NUM> may receive a user input with regard to the direction of travel of the vehicle <NUM>. The steering input device <NUM> may take the form of a wheel to enable a steering input through the rotation thereof. In some embodiments, the steering input device may be provided as a touchscreen, a touch pad, or a button.

The acceleration input device <NUM> may receive a user input for acceleration of the vehicle <NUM>. The brake input device <NUM> may receive a user input for deceleration of the vehicle <NUM>. Each of the acceleration input device <NUM> and the brake input device <NUM> may take the form of a pedal. In some embodiments, the acceleration input device or the break input device may be configured as a touch screen, a touch pad, or a button.

The maneuvering device <NUM> may operate under control of the controller <NUM>.

The vehicle drive device <NUM> is configured to electrically control the operation of various devices of the vehicle <NUM>. The vehicle drive device <NUM> may include a power train drive unit <NUM>, a chassis drive unit <NUM>, a door/window drive unit <NUM>, a safety apparatus drive unit <NUM>, a lamp drive unit <NUM>, and an air conditioner drive unit <NUM>. In some embodiments, the vehicle drive device <NUM> may further include other components in addition to the aforementioned components, or may not include some of the aforementioned components. Meanwhile, the vehicle drive device <NUM> may include a processor. Each unit of the vehicle drive device <NUM> may include its own processor.

The power train drive unit <NUM> may control the operation of a power train. The power train drive unit <NUM> may include a power source drive unit <NUM> and a transmission drive unit <NUM>.

The power source drive unit <NUM> may control a power source of the vehicle <NUM>. In the case in which a fossil fuel-based engine is the power source, the power source drive unit <NUM> may perform electronic control of the engine. As such the power source drive unit <NUM> may control, for example, the output torque of the engine. The power source drive unit <NUM> may adjust the output toque of the engine under control of the controller <NUM>.

In a case where an electric motor is the power source, the power source drive unit <NUM> may control the motor. The power source drive unit <NUM> may control, for example, the RPM and toque of the motor under control of the controller <NUM>.

The transmission drive unit <NUM> may control a transmission. The transmission drive unit <NUM> may adjust the state of the transmission. The transmission drive unit <NUM> may adjust a state of the transmission to a drive (D), reverse (R), neutral (N), or park (P) state. Meanwhile, in a case where an engine is the power source, the transmission drive unit <NUM> may adjust a gear-engaged state to the drive position D.

The chassis drive unit <NUM> may control the operation of a chassis. The chassis drive unit <NUM> may include a steering drive unit <NUM>, a brake drive unit <NUM>, and a suspension drive unit <NUM>.

The steering drive unit <NUM> may perform electronic control of a steering apparatus provided inside the vehicle <NUM>. The steering drive unit <NUM> may change the direction of travel of the vehicle <NUM>.

The brake drive unit <NUM> may perform electronic control of a brake apparatus provided inside the vehicle <NUM>. For example, the brake drive unit <NUM> may reduce the speed of the vehicle <NUM> by controlling the operation of a brake located at a wheel.

Meanwhile, the brake drive unit <NUM> may control a plurality of brakes individually. The brake drive unit <NUM> may apply a different degree-braking force to each wheel.

The suspension drive unit <NUM> may perform electronic control of a suspension apparatus inside the vehicle <NUM>. For example, when the road surface is uneven, the suspension drive unit <NUM> may control the suspension apparatus so as to reduce the vibration of the vehicle <NUM>. Meanwhile, the suspension drive unit <NUM> may control a plurality of suspensions individually.

The door/window drive unit <NUM> may perform electronic control of a door apparatus or a window apparatus inside the vehicle <NUM>. The door/window drive unit <NUM> may include a door drive unit <NUM> and a window drive unit <NUM>.

The door drive unit <NUM> may control the door apparatus. The door drive unit <NUM> may control opening or closing of a plurality of doors included in the vehicle <NUM>. The door drive unit <NUM> may control opening or closing of a trunk or a tail gate. The door drive unit <NUM> may control opening or closing of a sunroof.

The window drive unit <NUM> may perform electronic control of the window apparatus. The window drive unit <NUM> may control opening or closing of a plurality of windows included in the vehicle <NUM>.

The safety apparatus drive unit <NUM> may perform electronic control of various safety apparatuses provided inside the vehicle <NUM>. The safety apparatus drive unit <NUM> may include an airbag drive unit <NUM>, a safety belt drive unit <NUM>, and a pedestrian protection equipment drive unit <NUM>.

The airbag drive unit <NUM> may perform electronic control of an airbag apparatus inside the vehicle <NUM>. For example, upon detection of a dangerous situation, the airbag drive unit <NUM> may control an airbag to be deployed.

The safety belt drive unit <NUM> may perform electronic control of a seatbelt apparatus inside the vehicle <NUM>. For example, upon detection of a dangerous situation, the safety belt drive unit <NUM> may control passengers to be fixed onto seats 110FL, 110FR, 110RL, and 110RR with safety belts.

The pedestrian protection equipment drive unit <NUM> may perform electronic control of a hood lift and a pedestrian airbag. For example, upon detection of a collision with a pedestrian, the pedestrian protection equipment drive unit <NUM> may control a hood lift and a pedestrian airbag to be deployed.

The lamp drive unit <NUM> may perform electronic control of various lamp apparatuses provided inside the vehicle <NUM>.

The air conditioner drive unit <NUM> may perform electronic control of an air conditioner inside the vehicle <NUM>. For example, when the inner temperature of the vehicle <NUM> is high, an air conditioner drive unit <NUM> may operate the air conditioner so as to supply cool air to the inside of the vehicle <NUM>.

The vehicle drive device <NUM> may include a processor. Each unit of the vehicle dive device <NUM> may include its own processor. The vehicle drive device <NUM> may operate under control of the controller <NUM>.

The operation system <NUM> is a system for controlling the overall driving operation of the vehicle <NUM>. The operation system <NUM> may operate in the autonomous driving mode.

The operation system <NUM> may include the driving system <NUM>, the vehicle pulling-out system <NUM>, and the vehicle parking system <NUM>. In some embodiments, the operation system <NUM> may further include other components in addition to the aforementioned components, or may not include some of the aforementioned component. Meanwhile, the operation system <NUM> may include a processor. Each unit of the operation system <NUM> may include its own processor.

Meanwhile, the operation system <NUM> may control driving in the autonomous mode based on learning. In this case, the learning mode and an operating mode based on the premise of completion of learning may be performed. A description will be given below of a method of executing the learning mode and the operating mode by the processor of the operation system <NUM>.

The learning mode may be performed in the afore-described manual mode. In the learning mode, the processor of the operation system <NUM> may learn a driving route and ambient environment of the vehicle <NUM>.

The learning of the driving route may include generating map data for a route in which the vehicle <NUM> drives. Particularly, the processor of the operation system <NUM> may generate map data based on information detected through the object detection device <NUM> during driving from a departure to a destination.

The learning of the ambient environment may include storing and analyzing information about an ambient environment of the vehicle <NUM> during driving and parking. Particularly, the processor of the operation system <NUM> may store and analyze the information about the ambient environment of the vehicle based on information detected through the object detection device <NUM> during parking of the vehicle <NUM>, for example, information about a location, size, and a fixed (or mobile) obstacle of a parking space.

The operating mode may be performed in the afore-described autonomous mode. The operating mode will be described based on the premise that the driving route or the ambient environment has been learned in the learning mode.

The operating mode may be performed in response to a user input through the input unit <NUM>, or when the vehicle <NUM> reaches the learned driving route and parking space, the operating mode may be performed automatically.

The operating mode may include a semi-autonomous operating mode requiring some user's manipulations of the maneuvering device <NUM>, and a full autonomous operating mode requiring no user's manipulation of the maneuvering device <NUM>.

According to an embodiment, the processor of the operation system <NUM> may drive the vehicle <NUM> along the learned driving route by controlling the operation system <NUM> in the operating mode.

According to an embodiment, the processor of the operation system <NUM> may pull out the vehicle <NUM> from the learned parking space by controlling the vehicle pulling-out system <NUM> in the operating mode.

According to an embodiment, the processor of the operation system <NUM> may park the vehicle <NUM> in the learned parking space by controlling the vehicle parking system <NUM> in the operating mode. Meanwhile, in some embodiments, in a case where the operation system <NUM> is implemented as software, the operation system <NUM> may be a subordinate concept of the controller <NUM>.

Meanwhile, in some embodiments, the operation system <NUM> may be a concept including at least one selected from among the user interface device <NUM>, the object detection device <NUM>, the communication device <NUM>, the vehicle drive device <NUM>, and the controller <NUM>.

The driving system <NUM> may perform driving of the vehicle <NUM>. The driving system <NUM> may perform driving of the vehicle <NUM> by providing a control signal to the vehicle drive device <NUM> in response to reception of navigation information from the navigation system <NUM>.

The driving system <NUM> may perform driving of the vehicle <NUM> by providing a control signal to the vehicle drive device <NUM> in response to reception of object information from the object detection device <NUM>. The driving system <NUM> may perform driving of the vehicle <NUM> by providing a control signal to the vehicle drive device <NUM> in response to reception of a signal from an external device through the communication device <NUM>.

Conceptually, the driving system <NUM> may be a system that drives the vehicle <NUM>, including at least one of the user interface device <NUM>, the object detection device <NUM>, the communication device <NUM>, the maneuvering device <NUM>, the vehicle drive device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, or the controller <NUM>. The driving system <NUM> may be referred to as a vehicle driving control device.

The vehicle pulling-out system <NUM> may perform an operation of pulling the vehicle <NUM> out of a parking space. The vehicle pulling-out system <NUM> may perform an operation of pulling the vehicle <NUM> out of a parking space, by providing a control signal to the vehicle drive device <NUM> in response to reception of navigation information from the navigation system <NUM>.

The vehicle pulling-out system <NUM> may perform an operation of pulling the vehicle <NUM> out of a parking space, by providing a control signal to the vehicle drive device <NUM> in response to reception of object information from the object detection device <NUM>.

The vehicle pulling-out system <NUM> may perform an operation of pulling the vehicle <NUM> out of a parking space, by providing a control signal to the vehicle drive device <NUM> in response to reception of a signal from an external device.

Conceptually, the vehicle pulling-out system <NUM> may be a system that performs pulling-out of the vehicle <NUM>, including at least one of the user interface device <NUM>, the object detection device <NUM>, the communication device <NUM>, the maneuvering device <NUM>, the vehicle drive device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, or the controller <NUM>.

The vehicle pulling-out system <NUM> may be referred to as a vehicle pulling-out control device.

The vehicle parking system <NUM> may perform an operation of parking the vehicle <NUM> in a parking space. The vehicle parking system <NUM> may perform an operation of parking the vehicle <NUM> in a parking space, by providing a control signal to the vehicle drive device <NUM> in response to reception of navigation information from the navigation system <NUM>.

The vehicle parking system <NUM> may perform an operation of parking the vehicle <NUM> in a parking space, by providing a control signal to the vehicle drive device <NUM> in response to reception of object information from the object detection device <NUM>.

The vehicle parking system <NUM> may perform an operation of parking the vehicle <NUM> in a parking space, by providing a control signal to the vehicle drive device <NUM> in response to reception of a signal from an external device.

Conceptually, the vehicle parking system <NUM> may be a system that performs parking of the vehicle <NUM>, including at least one of the user interface device <NUM>, the object detection device <NUM>, the communication device <NUM>, the maneuvering device <NUM>, the vehicle drive device <NUM>, the navigation system <NUM>, the sensing unit <NUM>, or the controller <NUM>.

The vehicle parking system <NUM> may be referred to as a vehicle parking control device.

The navigation system <NUM> may provide navigation information. The navigation information may include at least one selected from among map information, information on a set destination, information on a route to the set destination, information on various objects along the route, lane information, and information on a current location of the vehicle.

The navigation system <NUM> may include a memory and a processor. The memory may store navigation information. The processor may control the operation of the navigation system <NUM>.

In some embodiments, the navigation system <NUM> may update pre-stored information by receiving information from an external device through the communication device <NUM>. In some embodiments, the navigation system <NUM> may be classified as an element of the user interface device <NUM>.

<FIG> is a diagram showing a domain control system of the prior art.

Each of displays <NUM> to <NUM> shown in <FIG> may be one of the display units <NUM> respectively disposed in the region of the steering wheel, the region 251a, 251b, or 251e of the instrument panel, the region 251d of the seat, the region 251f of each pillar, the region <NUM> of the door, the region of the center console, the region of the head lining, the region of the sun visor, the region 251c of the windshield, and the region <NUM> of the window described above in <FIG>.

Referring to <FIG>, in the domain control system of the prior art, an individual ECU controls each of the displays <NUM> to <NUM>. For example, a HUD <NUM>, a cluster <NUM>, a head unit <NUM>, a touch <NUM>, a rear seat entertainment (RSE) #<NUM><NUM>, a RSE #<NUM><NUM>, a co-driver <NUM>, and an e-mirror <NUM> respectively control the displays <NUM> to <NUM>. Alternatively, unlike that shown in <FIG>, a consolidation system that provides instrument cluster, head-unit, and head-up display functions through three to four displays based on a single ECU has also been introduced.

In one example, recently, as a display that supports high resolution is added to an in-vehicle infotainment domain, requirements for performances of the display and the domain control system that controls the display are increasing. However, the domain control system of the prior art has problems that: (i) a HW headroom for adding an ECU that supports a new function is insufficient; and (ii) a high performance requirement, especially, a large number of displays are not be able to be controlled by the single ECU.

<FIG> is a diagram showing a block diagram of a cockpit domain controller (CDC) in a workload distribution scenario between SoCs according to an aspect of the present disclosure.

Referring to <FIG>, the present disclosure proposes a cockpit domain controller (CDC) system based on multiple ECUs through domain centralization. Hereinafter, the CDC system may be referred to as an SoC system or a device disposed in the vehicle. In addition, a SoC #<NUM> may be named a first SoC, and a SoC #<NUM> may be named a second SoC.

More specifically, in <FIG>, a plurality of SoCs (System on Chips, <NUM> to <NUM>) are connected to each other through a PCIe switch <NUM> to be subjected to the domain centralization, and each of which may control a plurality of (e.g., <NUM>) displays. In one example, displays <NUM> to <NUM> of <FIG> may be the displays <NUM> to <NUM> of <FIG>.

A peripheral component interconnect express (PCIe) switch <NUM> may be a high-speed serial computer expansion bus standard or a switch for implementing the same. The PCIe is designed to replace existing PCI, PCI-X, and accelerated graphics port (AGP) bus standard. In one example, the PCIe switch <NUM> shown in <FIG> is exemplary and does not limit the scope of the present disclosure. That is, a predetermined input/output interface that exists between a CPU and an input/output device and enables data transmission therebetween may replace the PCIe switch <NUM>.

The device disposed in the vehicle according to an aspect of the present disclosure, that is, the cockpit domain controller (CDC) system is able to solve the problems that: (i) the HW headroom for adding the ECU that supports the new function is insufficient; and (ii) the high performance requirement, especially, the large number of displays are not be able to be controlled by the single ECU.

More specifically, the CDC system proposed by the present disclosure is advantageous in terms of HW upgrade and exchange, and is advantageous for workload distribution using a resource (e.g., workload distribution in the infotainment domain and workload distribution with an ADAS domain). The SoCs <NUM> and <NUM> and the PCIe switch <NUM> shown in <FIG> will be described in detail below.

<FIG> shows a detailed configuration of a cockpit domain controller system based on a PCIe interconnection in a workload distribution scenario between SoCs according to an aspect of the present disclosure.

A CDC system according to an aspect of the present disclosure may be composed of a plurality of SoCs <NUM> and <NUM> having PCIe interfaces <NUM>, <NUM>, <NUM>, and <NUM> with a PCIe switch <NUM>, a graphics processing unit (GPU) <NUM>, a non-volatile memory express (NVMe) <NUM>, a field-programmable gate array (FPGA) device (not shown), and the like.

As described above with reference to <FIG>, each of the SoCs <NUM> and <NUM> may control a plurality of displays, and may be composed of a CPU, a cache, a memory, a host-PCI bridge, and a PCI device. In one example, one or more of the aforementioned components may be omitted, and a component not shown may be added to the SoCs <NUM> and <NUM>.

The PCI Switch <NUM> is composed of a plurality of PCI-PCI bridges, and is able to be connected to the SoCs <NUM> and <NUM>, the external GPU <NUM>, and the NVMe <NUM> through the plurality of PCIe interfaces <NUM>, <NUM>, <NUM>, and <NUM>. In one example, according to an aspect of the present disclosure, the plurality of PCIe interfaces <NUM>, <NUM>, <NUM>, and <NUM> may be wired interfaces.

According to the CDC system of the present disclosure proposed through <FIG>, it is possible to respond to new features such as computing performance increase or storage expansion. In addition, performance requirements for each grade may be satisfied by attaching the devices through the PCIe interface. For example, when a GPU performance is insufficient, the performance requirements may be satisfied by upgrading the SoC or installing an additional GPU.

A device (e.g., a SoC system or a CDC system) disposed in the vehicle according to an aspect of the present disclosure may include an agent <NUM>, a resource manager <NUM>, a data sharing manager <NUM>, PCIe communication SW <NUM>, and a fault manager <NUM> to provide workload distribution and graphics/data sharing functions. In one example, an EP device (e.g., an NVMe and an external GPU) connected to a PCIe switch may operate in an assigned SoC system.

The agent <NUM> performs distribution, to a local/remote, and parallel execution of launch of an application by checking a resource usage of a neighbor node and a self node, operates as a server/client in consideration of a node topology, and launches a container-based application for supporting a platform on different models.

The resource manager <NUM> measures and manages resources such as CPU/Memory/GPU/DSP, calculates/manages a runtime resource of the server/client, and manages information of the app being launched.

The data sharing manager <NUM> enables a connection between applications of different nodes using a PCIe interconnection that supports a Socket/SISCI scheme, and performs a function of sharing data. Through client/server function separation, in the data sharing, even when a client side does not know a location of a specific node that may be accessed, a server side may create and manage information such as an IP and a port for a socket, and an adapter number, a node ID, a segment ID, and the like for a SISCI, thereby enabling a connection therebetween with only a unique key.

The PCIe communication SW <NUM> performs PCIe socket/SISCI communication through NT/DMA transfer control of the PCIe switch.

The fault manager <NUM> detects a fault of the application and monitors a PCIe NT link error and a host failover state to perform a role of reporting such that the agent may handle the error.

<FIG> is a diagram for illustrating a workload distribution scenario between SoCs according to an aspect of the present disclosure.

Specifically, <FIG> is a diagram for illustrating a method for driving an app using an available resource of a SoC #<NUM> in a resource full state of a SoC #<NUM> in a CDC system according to an aspect of the present disclosure. First, it is assumed that the SoC#<NUM> controls two displays, which are a cluster <NUM> and a central information display (CID) <NUM>, and the SoC#<NUM> controls two displays, which are an RSE#<NUM><NUM> and an RSE#<NUM><NUM>.

Referring to <FIG>, a first application <NUM>, a second application <NUM>, and a third application <NUM> are launched through the SoC#<NUM>, and are output from the CID <NUM>. The first to third applications may be, for example, a media application, a navigation application, or an algorithm computing application.

Then, when a fourth application <NUM> is to be launched, the SoC#<NUM> may be in the resource full state. Therefore, the SoC#<NUM> requests the SoC#<NUM> to launch the fourth application <NUM>. In addition, the SoC#<NUM> may share a screen on which the fourth application <NUM> is being launched to the SoC#<NUM>. Finally, the SoC#<NUM> outputs the shared launch screen of the fourth application <NUM> through the CID <NUM>.

According to an aspect of the present disclosure, the SoC #<NUM> may be designed to request the SoC#<NUM> to launch a specific application when a resource state of the SoC #<NUM> is the resource full state and a resource state of the SoC #<NUM> is not the resource full state. Alternatively, when the resource states of the SoC #<NUM> and the SoC #<NUM> are both the resource full state, the SoC #<NUM> may control to terminate one of at least one application based on a predetermined priority. This will be described later in <FIG>.

<FIG> is a diagram for illustrating a workload distribution scenario between SoCs according to an aspect of the present disclosure. Hereinafter, steps performed by the aforementioned SoCs (e.g., the SoC #<NUM> and the SoC #<NUM>) for workload distribution will be described with reference to <FIG>.

<FIG> is a diagram for illustrating component initialization in a workload distribution scenario between SoCs according to an aspect of the present disclosure.

When the components are initialized (S1410), the SoC#<NUM> launches the fault manager to initialize the PCIe communication SW, and monitors the PCIe NT link error and the host failover state (S1420). In addition, the fault detection of the application may be performed in this step.

The SoC#<NUM> launches the data sharing manager to perform a socket/PCIe connection between the SoCs (S1430). In this connection, a server-client relationship may be formed between the SoC#<NUM> and the SoC#<NUM>, and the server may create and manage IP/Port and PCIe DMA channel information predefined in a topology.

The SoC#<NUM> launches the agent (or an agent server) (S1440) and drives the resource manager (S1450). The resource manager of the SoC#<NUM> activates an application list DB to be executed (S1460). The agent server uses such information to launch a base application to be launched in the local (S1470), and waits for a user to launch the application (S1480). An agent client is connected to the agent server and waits for a request from the agent server.

In one example, the applications may be divided into (i) the base application to be launched at BootUp and (ii) a normal application launched by a request of the user. Among the normal applications, what may be launched in the client may be managed by a DB of each resource manager.

The resource manager may also manage information on the priority for forced termination (e.g., from level <NUM> to level <NUM>, and the level <NUM> have the lowest priority). In addition, when there is no resource available for both of the local and the remote, the resource manager may forcefully terminate the normal application with a low priority with the agent.

Furthermore, the resource manager may collect information about itself and the remote (the client) using information of the socket/PCIe connection of the agent (S1490). That is, the resource manager may collect resources of the local and the remote, and manage and store information of resource available at moment or during an average time (N seconds).

<FIG> is a diagram for illustrating application launch in a workload distribution scenario between SoCs according to an aspect of the present disclosure.

A description will be made on the premise that the component initialization has been completed based on each step of <FIG>. When the launch of the normal application is requested from the user, the agent requests the available resource to the resource manager (S1510). The resource manager determines the resource available for the local (S1520).

When there is the resource available for the local of the SoC #<NUM>, the local launches the normal app (S <NUM>).

When there is no resource available for the local of the SoC #<NUM>, the SoC #<NUM> identifies a resource state of the remote (S1540), and creates a UniqueID for communication between the apps and assigns the UniqueID to the data sharing manager (S1550). The data sharing manager updates the UniqueID to be used for an app of a data sharing manager client (S1560 and S1565). The agent requests an AgentClient to launch the application (S1570).

The SoC #<NUM> waits for a launch request from the server (S1575). The SoC #<NUM> that has received the application launch request launches the application using the updated Unique ID (S1580).

In one example, when the application is not able to be launched in both the local/remote, the SoC #<NUM> terminates the app in consideration of the predetermined priority of the normal application and background launch, and tries to launch the application again (S1590).

<FIG> is a diagram for illustrating data sharing in a workload distribution scenario between the SoCs according to an aspect of the present disclosure.

A description will be made on the premise that the application launch request has been completed based on each step of <FIG>. The SoC #<NUM> requests the application launch to the SoC #<NUM> (S1610). When the normal application is an audio video (AV) or surface sharing-capable application (S1620), the agent server prepares to launch the AV or surface-received application, and switch and receive the AV or surface-received application (S1630). The application executes a connection with the application of the SoC #<NUM> through the socket/PCIe connection information acquired through the unique ID (S1640).

When the normal application is the AV or surface-shared application, the AgentClient (the SoC #<NUM>) may transmit rendering data to the AV or surface-received app of an AgentServer (the SoC #<NUM>) (S1650). In addition, in response to the transmission of the rendering data, the AgentServer (the SoC #<NUM>) may transmit a touch input to the AgentClient (the SoC #<NUM>) (S1660).

In one example, when the normal application is not the AV or surface sharing-capable application, a computing result may be transmitted through a connected channel (S1670).

A structure of transmitted/received data may be composed of a type and data. The type may include the touch input, the audio, the video, the surface, a command (launch/exit), and a computing result, and the data may include a length and a value of a value used in the type.

<FIG> is a diagram for illustrating an operation of a fault manager in a workload distribution scenario between SoCs according to an aspect of the present disclosure.

<FIG> is a diagram for illustrating the operation of the fault manager described above in <FIG> in more detail. That is, components shown in <FIG> may be included in one SoC (e.g., the SoC #<NUM>).

When the application is launched, a fault detector <NUM> is attached to a fault detection manager <NUM> and registers a signal action. Thereafter, when the fault occurs, the fault detector <NUM> may transmit the fault to a fault manager <NUM>.

The fault manager <NUM> shown in <FIG> may receive not only the application fault, but also the PCIe NT link error and the host failover state, and may report the error such that the agent may handle the error. Furthermore, the fault manager <NUM> shown in <FIG> may detect the PCIe NT link error and the host failover using an interrupt that provides a PCIe driver.

<FIG> is a diagram for illustrating a resource table in a workload distribution scenario between SoCs according to an aspect of the present disclosure.

More specifically, <FIG> shows a structure of a resource table for the resource manager described above in <FIG> to manage the resources.

Referring to (a) in <FIG>, (i) Required Resource & Threshold for decision is information necessary for launching the application, and is a field related to information of the resources required for driving the app. (ii) In a Launch type, Base is a type that is launched during the BootUp, and Local is a type that is launched only in its own SoC, and Global means a type that may be launched not only in its own SoC, but also in another SoC. In one example, (iii) Priority is a field related to a priority policy of termination when there is insufficient resource, and (iv) Running is a field indicating a currently running SoC Node.

As described above in <FIG>, the resource manager may collect the information about itself and the remote (the client). That is, the resource manager may collect the resources of the local and the remote, and manage and store the information of the resource available at moment or during the average time (N seconds). (b) in <FIG> is related thereto. The resource manager may manage information including gathering information, the CPU/memory, the DSP, the GPU, the at moment/average time (N seconds) in a table structure shown in (b) in <FIG>. Further, the information of (b) in <FIG> may be used to determine which node to launch the application for the workload distribution.

<FIG> is a diagram for illustrating a touch interaction in a workload distribution scenario between SoCs according to an aspect of the present disclosure. Specifically, an embodiment shown in <FIG> may be referred to as a more specific embodiment of steps S1640 to S1660 of <FIG>.

The embodiments of the present disclosure described above may be implemented through various means. For example, the embodiments of the present disclosure may be implemented by hardware, firmware, software, or combinations thereof.

In a case of the implementation by the hardware, the method according to the embodiments of the present disclosure may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like.

In a case of the implementation by the firmware or the software, the method according to the embodiments of the present disclosure may be implemented in a form of a module, a procedure, a function, or the like that performs the functions or the operations described above. A software code may be stored in a memory unit and driven by the processor. The memory unit may be located inside or outside the processor, and may exchange data with the processor through various known means.

In addition, in this specification, both the product invention and the method invention are described, and the description of both inventions may be supplementally applied as necessary.

Claim 1:
A device for controlling a display disposed in a vehicle (<NUM>), the device comprising:
a first system on chip, SoC, configured to control display driving,
wherein the first SoC includes:
an agent (<NUM>) configured to control launch of an application;
a resource manager (<NUM>) configured to measure and manage resources; and
a data sharing manager (<NUM>) configured to control a connection between applications of different nodes based on a predetermined input/output interface, and share data,
wherein the agent (<NUM>) is configured to:
when the first SoC is connected to at least one second SoC of a plurality of SoCs based on the predetermined input/output interface, operate as a server or a client between the first SoC and the second SoC; and
wherein the first SoC determines whether to drive a first application based on available resources of the first SoC and the second SoC,
wherein when the first application is driven in the second SoC, data sharing is performed between the first SoC and the second SoC.