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

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

Info

Publication number
KR20230148341A
KR20230148341A KR1020237031947A KR20237031947A KR20230148341A KR 20230148341 A KR20230148341 A KR 20230148341A KR 1020237031947 A KR1020237031947 A KR 1020237031947A KR 20237031947 A KR20237031947 A KR 20237031947A KR 20230148341 A KR20230148341 A KR 20230148341A
Authority
KR
South Korea
Prior art keywords
data
machine
virtualization
shared memory
virtual machine
Prior art date
Application number
KR1020237031947A
Other languages
English (en)
Inventor
윤재구
최형규
이희민
임선희
한동우
이동규
정두경
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20230148341A publication Critical patent/KR20230148341A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/20Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
    • B60K35/21Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor using visual output, e.g. blinking lights or matrix displays
    • B60K35/213Virtual instruments
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/20Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
    • B60K35/21Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor using visual output, e.g. blinking lights or matrix displays
    • B60K35/22Display screens
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/20Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
    • B60K35/29Instruments characterised by the way in which information is handled, e.g. showing information on plural displays or prioritising information according to driving conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/18Information management
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Navigation (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Traffic Control Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

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

Claims (19)

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

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR1020210026453 2021-02-26
KR20210026453 2021-02-26
KR1020210053004 2021-04-23
KR20210053004 2021-04-23
PCT/KR2021/009405 WO2022181899A1 (ko) 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Publications (1)

Publication Number Publication Date
KR20230148341A true KR20230148341A (ko) 2023-10-24

Family

ID=83048267

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020237031947A KR20230148341A (ko) 2021-02-26 2021-07-21 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치
KR1020237031948A KR20230150826A (ko) 2021-02-26 2021-10-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치
KR1020237031949A KR20230150318A (ko) 2021-02-26 2022-02-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020237031948A KR20230150826A (ko) 2021-02-26 2021-10-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치
KR1020237031949A KR20230150318A (ko) 2021-02-26 2022-02-22 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치

Country Status (4)

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

Families Citing this family (2)

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

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3617371B2 (ja) * 1999-05-07 2005-02-02 セイコーエプソン株式会社 プロジェクタおよび情報記憶媒体
US8200796B1 (en) * 2005-05-05 2012-06-12 Digital Display Innovations, Llc Graphics display system for multiple remote terminals
US7650603B2 (en) * 2005-07-08 2010-01-19 Microsoft Corporation Resource management for virtualization of graphics adapters
KR101620058B1 (ko) * 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
US9524138B2 (en) * 2009-12-29 2016-12-20 Nvidia Corporation Load balancing in a system with multi-graphics processors and multi-display systems
KR101087479B1 (ko) * 2010-01-29 2011-11-25 주식회사 팬택 멀티 디스플레이 장치 및 그 제어 방법
WO2012107975A1 (ja) * 2011-02-09 2012-08-16 パナソニック株式会社 仮想計算機表示装置、仮想計算機表示方法、仮想計算機表示プログラム、記録媒体、及び集積回路
US9152373B2 (en) * 2011-04-12 2015-10-06 Apple Inc. Gesture visualization and sharing between electronic devices and remote displays
KR101323858B1 (ko) * 2011-06-22 2013-11-21 한국과학기술원 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
US9514507B2 (en) * 2011-11-29 2016-12-06 Citrix Systems, Inc. Methods and systems for maintaining state in a virtual machine when disconnected from graphics hardware
US10430216B1 (en) * 2012-08-23 2019-10-01 Scale Computing Inc Virtual machine automated selection
CN103856547B (zh) * 2012-12-07 2017-07-07 华为技术有限公司 多虚拟机的映射方法、系统及客户端设备
JP6032176B2 (ja) * 2012-12-19 2016-11-24 株式会社デンソー 車両用表示制御装置
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
KR20150142298A (ko) 2014-06-11 2015-12-22 현대자동차주식회사 차량, 차량의 제어 방법 및 차량 주행음 제어 장치
KR101639797B1 (ko) * 2015-10-16 2016-07-14 주식회사 구버넷 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
KR102490614B1 (ko) * 2018-03-16 2023-01-19 현대모비스 주식회사 가상 운영체제를 이용한 제어기기의 표시 제어 장치 및 방법
US10552200B2 (en) * 2018-03-22 2020-02-04 Nutanix, Inc. System and method for dynamic throttling for live migration of virtual machines
KR102708109B1 (ko) * 2018-11-19 2024-09-20 삼성전자주식회사 Ivi 서비스를 제공하기 위한 전자 장치 및 방법
US20210264559A1 (en) * 2018-11-30 2021-08-26 Intel Corporation Apparatus and method for efficient localdisplay sharing for a virtualized graphics processor
US10957107B2 (en) * 2019-01-09 2021-03-23 Vmware, Inc. Snapping, virtual inking, and accessibility in augmented reality
DE102019203377B3 (de) * 2019-03-13 2020-08-13 Continental Automotive Gmbh Fahrzeugsystem, Fahrzeug und Verfahren zum Betreiben eines solchen Fahrzeugsystems
EP3722947A1 (en) * 2019-04-12 2020-10-14 Aptiv Technologies Limited Distributed system for displaying a content
JP7131481B2 (ja) * 2019-05-28 2022-09-06 株式会社デンソー 車両用装置
JP7259571B2 (ja) * 2019-06-11 2023-04-18 株式会社デンソー 車両用制御装置、車両用表示システム、及び車両用表示制御方法
US12112189B2 (en) * 2019-07-10 2024-10-08 Irider Computing architecture for vehicle hardware and feature virtualization

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6986699B2 (ja) 表示制御システム、表示システム、移動体、表示制御方法及びプログラム
EP3092566B1 (en) Vehicle with multiple user interface operating domains
KR20230148341A (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이장치
JP2006518474A (ja) 別個のディスプレイ装置に異なる画像を表示させるための画像表示システム
KR20220139790A (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
US20220327986A1 (en) Signal processing device and vehicle display apparatus including the same
EP4300917A1 (en) Communication device for vehicle and display device for vehicle, having same
KR102581600B1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
EP4425322A1 (en) Signal processing device and vehicle display device comprising same
KR20240093723A (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
EP4451124A1 (en) Signal processing device and vehicle display device comprising same
EP4245615A1 (en) Signal processing device and vehicle display device having same
JP2020140133A (ja) 表示制御システム、表示システム、移動体、表示制御方法及びプログラム
US20240248872A1 (en) Signal processing apparatus and communication apparatus for vehicle, comprising same
KR20240125681A (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
US20240037999A1 (en) Vehicle system
JP2023096417A (ja) 表示制御システム、表示制御方法及びプログラム
KR20230110760A (ko) 차량용 디스플레이 장치

Legal Events

Date Code Title Description
A201 Request for examination