WO2014097587A1 - 車両用表示制御装置 - Google Patents

車両用表示制御装置 Download PDF

Info

Publication number
WO2014097587A1
WO2014097587A1 PCT/JP2013/007309 JP2013007309W WO2014097587A1 WO 2014097587 A1 WO2014097587 A1 WO 2014097587A1 JP 2013007309 W JP2013007309 W JP 2013007309W WO 2014097587 A1 WO2014097587 A1 WO 2014097587A1
Authority
WO
WIPO (PCT)
Prior art keywords
general
image
platform
native
application
Prior art date
Application number
PCT/JP2013/007309
Other languages
English (en)
French (fr)
Inventor
浩史 石黒
Original Assignee
株式会社デンソー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社デンソー filed Critical 株式会社デンソー
Priority to DE112013006086.8T priority Critical patent/DE112013006086T5/de
Priority to US14/647,871 priority patent/US9779685B2/en
Priority to CN201380066386.XA priority patent/CN104884309B/zh
Publication of WO2014097587A1 publication Critical patent/WO2014097587A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Definitions

  • the present disclosure relates to a vehicle display control device that controls display output by an application that operates on an in-vehicle device.
  • Non-Patent Document 1 a vehicular apparatus (for example, a navigation apparatus or a multi-function display) that takes in a specific application from outside by wireless communication and provides information by the application has been developed (see Non-Patent Document 1).
  • the general-purpose application may operate incompatible with the native application due to the fact that the general-purpose application is not designed and produced based on the specifications of the vehicle device. For example, there is a possibility that the output screen of the native application is not displayed because the output screen of the general-purpose application acquired from the outside is displayed at the timing when the output screen of the native application is to be displayed on the display.
  • the present disclosure provides a vehicle display control device capable of simultaneous display and linkage display of an output screen by a native application and an output screen by a general application when a general-purpose platform coexists in an embedded system for a vehicle. Objective.
  • a vehicle display control device is implemented by virtualizing a native platform, which is basic software for operating a native application pre-installed as a built-in function for a vehicle, on the native platform Memory for storing data between the native platform and the general-purpose platform, which stores a general-purpose platform for operating a general-purpose application introduced through information communication with the outside.
  • a storage device having a shared memory area that is an area, and a storage unit that executes the general-purpose platform and stores a general-purpose application image that is an image drawn by an operating general-purpose application in the shared memory area.
  • a native platform is executed, and an acquisition means for acquiring a general-purpose application image stored in the shared memory area by the storage means is made to function, and the general-purpose application image acquired by the acquisition means and a native application in operation are rendered
  • a control device that causes a generation unit that generates a display image obtained by laying out the native application image according to a predetermined display requirement defined in the native platform, and a display image generated by the generation unit. Display control means for displaying on a predetermined display means.
  • the image output by the general-purpose application is not directly accessed from the general-purpose platform for display by the display driver, but is displayed on the native platform side using the mechanism of the shared memory area. Display after adjusting the display with the native app image. Specifically, the display image (shared memory area) prepared on the general platform side is accessed from the native platform and displayed on the actual display means using the display mechanism on the native platform side. .
  • the native platform side determines whether or not to display general-purpose app images, the display position, etc. by using a shared memory area that serves as a window between the native platform side and the general-purpose platform side, and a mechanism for exchanging images via the shared memory area. Can be controlled.
  • the general-purpose application introduced into the vehicle display control device is not produced based on the specifications of the in-vehicle device, it is possible to realize display control that meets the requirements of the in-vehicle device. Therefore, when the general-purpose platform coexists in the vehicle embedded system, the output screen by the native application and the output screen by the general-purpose application can be displayed simultaneously or linked.
  • a vehicle display control device is implemented by virtualizing a native platform, which is basic software for operating a native application pre-installed as a built-in function for a vehicle, on the native platform Basic software for operating a general-purpose application introduced through information communication with the outside, and a memory area for sharing data between the native platform and the general-purpose platform A shared memory area.
  • the general-purpose platform includes storage means for storing a general-purpose application image, which is an image drawn by an operating general-purpose application, in the shared memory area.
  • the native platform includes an acquisition unit that acquires a general-purpose application image stored in the shared memory area by the storage unit, a general-purpose application image acquired by the acquisition unit, and an image drawn by an operating native application.
  • a generation unit that generates a display image in which a native application image is laid out according to a predetermined display requirement defined in the native platform, and a display image generated by the generation unit is used as a predetermined display unit.
  • whether or not to display the general-purpose application image, the display position, etc. can be determined by a shared memory area serving as a window between the native platform side and the general-purpose platform side, and a mechanism for exchanging images via the shared memory area Can be controlled on the native platform side.
  • FIG. 1 is a block diagram showing the software configuration of the control device
  • FIG. 2 is a block diagram showing a hardware configuration of the control device
  • FIG. 3 is an explanatory diagram showing the mechanism of image display.
  • FIG. 4 is an explanatory view showing an image display example.
  • FIG. 5 is a flowchart showing processing executed on the general-purpose platform.
  • FIG. 6 is a flowchart showing processing executed on the native platform.
  • FIG. 7 is a flowchart showing processing executed on the native platform in the application example.
  • FIG. 8 is a flowchart showing processing executed on the general-purpose platform in the application example.
  • control device 1 is connected to in-vehicle devices such as two displays 2a and 2b, an external storage device 3, and a navigation unit 4 to constitute a vehicle display system.
  • the control device 1 is a vehicle display control device for performing image display using a native application pre-installed as a vehicle built-in function or a general-purpose application introduced through communication with the outside.
  • the control device 1 includes functions such as a native platform 11, an application core unit 12, a general-purpose platform 13, a general-purpose application 14, an application HMI unit 15, and an input / output management unit 16 as a software configuration.
  • the native platform 11 is basic software (also referred to as an operating system (OS)) that provides functions necessary for the basic operation of the control device 1.
  • OS operating system
  • various native applications pre-installed as a built-in function for a vehicle operate as the application core unit 12. Examples of the native application include an air conditioner application 12a, a telephone application 12b, an audio application 12c, a drawing system 12d, and the like.
  • the native application illustrated here is only an example, and other vehicle software may be implemented as the native application.
  • the air conditioner application 12a is an application that displays a graphical user interface for performing various operations related to the car air conditioner.
  • the telephone application 12b is an application that provides a hands-free calling function in a car using a mobile phone.
  • the telephone application 12b displays an image for notifying the driver of an incoming call when an incoming telephone call is received.
  • the audio application 12c is an application that outputs various video and audio based on various video and audio sources such as a television, a video, an audio player, and a radio.
  • the drawing system 12d is an application that performs display output mediation on images output from various applications such as a native application and a general-purpose application in accordance with operation requirements defined in the vehicle display system.
  • a general-purpose platform 13 is further mounted on the native platform 11.
  • the general-purpose platform 13 is basic software (OS) for operating the general-purpose application 14 introduced from an external server device or the like via communication.
  • the general-purpose platform 13 is assumed to be mounted on the kernel of the native platform 11 using a known virtualization mounting technique such as “Chroot”. As a result, the general-purpose platform 13 can operate while being isolated on the native platform 11.
  • Android registered trademark
  • General-purpose application 14 is application software that operates depending on the functions of general-purpose platform 13.
  • the general-purpose application 14 is not originally implemented in the control device 1 and is a general-purpose application introduced through data communication from a server group constituting cloud computing centered on the Internet as desired by the user.
  • Such general-purpose applications enable mutual use of information and user interfaces in a wide range of fields in cooperation with cloud computing and high-function mobile terminals such as smartphones.
  • Various general-purpose applications provide image information rich in diversity, not limited to those related to vehicle travel.
  • the application HMI unit 15 is software that controls an input / output device such as a display and an operation panel, and provides an abstract interface for the application.
  • the input / output management unit 16 is software that controls input / output of data between the peripheral devices such as the displays 2 a and 2 b, the external storage device 3, the navigation unit 4, and the control device 1.
  • the displays 2a and 2b are color display devices having a display surface such as a liquid crystal display panel, and both are installed within the reach of the driver's seat within the driver's field of view. These displays 2 a and 2 b can display different images, and display images based on display outputs from various applications executed in the control device 1.
  • the external storage device 3 is a storage device embodied by a hard disk drive, a rewritable nonvolatile semiconductor memory, or the like.
  • the external storage device 3 stores programs and data for operating the control device 1.
  • the above-mentioned native platform, general-purpose platform, native application, and general-purpose application program are also stored here.
  • the navigation unit 4 is a device that performs route guidance for vehicles, and executes map display, route search, route guidance, and the like.
  • the map display is a function for displaying a map near the current location, a mark indicating the current location of the vehicle, and the like.
  • the route search is a function that automatically calculates the optimum route from the current location (departure location) to the destination.
  • the route guidance is a function for performing travel guidance along the route obtained by the route search described above.
  • the output image by the navigation unit 4 is assigned to one of the displays 2a and 2b through the display output arbitration by the drawing system 12d of the control device 1 and displayed.
  • the control device 1 includes a CPU 21, a GPU (graphic chip) 22, a memory 23, a memory controller 24, and a display controller 25 as hardware configurations.
  • the CPU 21 is a central processing unit in the control device 1.
  • the CPU 21 performs various numerical calculations and information processing according to programs, and realizes the functions of the software configurations 11 to 16 in the control device 1.
  • the GPU 22 is an arithmetic processing unit that performs calculation processing necessary for image display instead of the CPU 21.
  • the GPU 22 performs processing for drawing a specific image from data indicating the content of the image and processing for converting an output image from the application into an image of a predetermined format on behalf of the CPU 21.
  • the memory 23 is a read / write free semiconductor memory (RAM) that can be directly accessed as a main memory by the CPU 21, the GPU 22, and the display controller 25.
  • the memory controller 24 mediates reading and writing of data with respect to the memory 23 by the CPU 21, the GPU 22, and the display controller 25.
  • Display images generated based on images output by various applications executed by the CPU 21 are written in a frame buffer provided in a predetermined storage area in the memory 23.
  • the display image written in the frame buffer is output to the displays 2a and 2b via the display controller 25 and displayed on the displays 2a and 2b.
  • Native platform operates by dividing virtual address space into user space and kernel space.
  • the user space is a virtual memory area in which user processes such as an application core unit and a general-purpose platform operate.
  • the kernel space is a virtual memory area where the kernel of the native platform exists.
  • a virtual Android space where a general-purpose platform (Android OS) with virtualization is operated is provided.
  • IPC inter-process communication
  • the domain socket 37 of the native platform is used as an interface.
  • a shared memory 35 ashmem
  • Each general-purpose application 14 operating in the virtual Android space has a drawing area 31 (Surface) for drawing an output image (hereinafter also referred to as a general-purpose application image) by its own application, and an area allocation provided in the Android middleware. Secure through part 32 (Surface flinger).
  • the drawing area 31 allocated to each general-purpose application 14 is secured from the shared memory 35 by the area securing unit 33 provided in the Android middleware.
  • the general-purpose application 14 performs a general-purpose application image drawing process for each drawing area 31 allocated by the area allocation unit 32 (corresponding to the procedure indicated by the arrow A in FIG. 3).
  • the drawing results for each drawing area 31 are combined by the area allocation unit 32 and stored in the shared memory 35 (corresponding to the procedure indicated by the arrow B in FIG. 3).
  • the area securing unit 33 performs a rendering process by securing a rendering area for rendering a general-purpose application image from a frame buffer drive (Uvesafb Driver) provided as a mechanism for Android OS. This is different from the present disclosure employing 35.
  • the writing of the general-purpose application image to the shared memory 35 is performed every time the general-purpose application image is updated on the general-purpose platform side.
  • the update of the general-purpose application image in the shared memory 35 is notified as an event “fb_post” from the general-purpose platform side to the virtual Android unit 38 on the native platform side via the inter-process communication units 34 and 36. Is done.
  • the virtual Android unit 38 is a module provided as a function of the drawing system 12d that is a native application.
  • the virtual Android unit 38 that has received the notification of fb_post acquires a general-purpose application image stored in the shared memory 35.
  • the virtual Android unit 38 then stores the acquired general-purpose application image in the pixel map 43 secured in the user space on the native platform side (corresponding to the procedure indicated by the arrow C in FIG. 3).
  • the virtual Android unit 38 performs the pixel format conversion processing and then stores the image in the pixel map 43.
  • image conversion is performed such that the image is converted into an ARGB8888-format image supported on the native platform side. Further, image conversion such as image size adjustment and color conversion is performed if necessary.
  • the image conversion as described above generally has a high processing load, and high processing performance is required when the CPU 21 performs image processing. Therefore, the shared memory 35 is set as a storage area that can also be accessed from the GPU 22, and the GPU 22 performs image conversion on the general-purpose application image stored in the shared memory 35 using a predetermined graphic interface instead of the CPU 21. Also good. In this way, it is possible to reduce the load on the CPU 21 and increase the display speed.
  • a display image is generated by synthesizing the general application image stored in the pixel map 43 and the native application image output from the native application operating separately from the general application, and is generated in the frame buffer 44 in the kernel space.
  • the display images stored in the frame buffer 44 are displayed on the displays 2a and 2b by the display controller 25, respectively.
  • the HMI controller 39 determines where to display the general-purpose application image and the native application image according to predetermined display requirements defined in the native platform, and lays out the display image. Drawing of the displayed display image is performed by a drawing driver 42 in the kernel space via the drawing module 40 and the drawing driver interface 41.
  • the general-purpose application image and the native application image are distributed according to the number of displays provided in the vehicle and laid out on different screens.
  • a specific example is shown in Display Example 1 in FIG.
  • an image by the native application is displayed on the display 2a out of the two displays 2a and 2b, and an image by the general application is displayed on the display 2b.
  • the display area of one display may be divided, and the general-purpose application image and the native application image may be separately laid out there.
  • a layout in which output images are superimposed on one screen between a specific related native application and a general-purpose application is created.
  • a specific example is shown in Display Example 2 in FIG.
  • the native application that performs map display and the general-purpose application that provides POI (Point Of Interest) information on the map are displayed in a coordinated manner.
  • an icon indicating the POI output by the general-purpose application is synthesized corresponding to the position on the map and displayed on one display 2a.
  • a general-purpose application image displayed on the native application image by applying a predetermined transparent color to the general-purpose application image displayed on the native application image or multiplying each pixel by an ⁇ value indicating the transparency. Can be synthesized through transmission.
  • a native application image with a high priority regarding vehicle driving and safety is displayed with priority over other general-purpose application images in accordance with the display priority prescribed in advance for each application.
  • step S ⁇ b> 200 the virtual Android unit 38 receives the fb_post notification via the inter-process communication unit 36.
  • step S202 which is performed when the fb_post notification is received, the virtual Android unit 38 determines whether or not the general-purpose application image corresponding to the received fb_post can be displayed.
  • whether or not to display the general-purpose application image is determined based on a rule regarding display arbitration between the native application image and the general-purpose application image.
  • the virtual Android unit 38 determines whether or not the host vehicle is traveling. When it is determined that the host vehicle is not traveling (S204: NO), the process proceeds to S208. On the other hand, when it is determined that the host vehicle is traveling (S204: YES), the process proceeds to S206. In S206, the virtual Android unit 38 determines whether or not the general-purpose application image corresponding to the received fb_post is content that can be displayed while traveling. Specifically, whether or not the display can be performed by the virtual Android unit 38 inquiring to the general-purpose platform whether or not the content of the general-purpose application is suitable for the running display via the inter-process communication unit 36. Determine.
  • S208 display processing for displaying the general-purpose application image on the screen is executed.
  • the virtual Android unit 38 accesses the shared memory 35 and acquires a general-purpose application image.
  • the acquired general-purpose application image is laid out as a display image for the displays 2a and 2b in accordance with predetermined display requirements defined in the native platform, and the display image is drawn. Then, the drawn display images are displayed on the displays 2a and 2b, respectively.
  • control device 1 of the present embodiment different platforms (native platform and general-purpose platform) are mounted on one system.
  • the applications in the respective platforms operate independently, and can operate without being interfered by application software installed on each other's platform.
  • General-purpose platform uses the same kernel as native platform.
  • the lifetime and operation timing of the application processes and threads generated in the general-purpose platform are controlled by the process and thread management mechanism in the general-purpose platform.
  • the securing and releasing of the memory in the general-purpose platform, the allocation of the memory to the application, and the like are controlled by a memory management mechanism provided in the general-purpose platform. For example, if it is Android OS etc., those mechanisms will be provided as Android middleware as standard.
  • the general-purpose platform may cause the CPU and memory resources to be occupied and affect the native platform.
  • a mechanism such as a restriction on the general-purpose platform may be used by using a commonly used kernel function.
  • a Linux (registered trademark) kernel normally includes a mechanism for performing resource separation such as cgroup.
  • General-purpose applications that run on a general-purpose platform operate independently, and perform image drawing processing and display output processing at the timing of each application. These general-purpose applications do not operate in consideration of the operation of an application operating on the native platform. Further, the general-purpose platform does not perform display processing for displaying the image drawn by the general-purpose application on the display device (displays 2a and 2b). Instead, the general-purpose platform only stores the image drawn by the general-purpose application in the shared memory 35 and notifies the native platform of an event (fb_post) indicating that the display has been updated.
  • fb_post an event
  • Whether the general-purpose application image stored in the shared memory 35 is actually displayed depends on the operation on the native platform side. Exclusive control of display is performed between the general-purpose application image and the native application image by various functions of the native platform including the virtual Android unit 38. For example, when it is determined that the general-purpose application image cannot be displayed on the native platform, the video stored in the shared memory 35 is transferred to the frame buffer 44 even if the general-purpose application displays and outputs the image. There is no. As described above, whether or not to display the general-purpose application image can be controlled on the native platform side. Therefore, when the display is not necessary, the display can be invalidated only by control on the native platform side.
  • the native platform can control the display of the external image by the same mechanism as the control of whether or not to display the general-purpose application image and the overlay display of the general-purpose application image and the native application image.
  • an API Application Programming ⁇ ⁇ ⁇ ⁇ Interface
  • software that responds to a request (API call) from the general-purpose platform is installed on the native platform side.
  • API call Application Programming ⁇ ⁇ ⁇ ⁇ Interface
  • the general-purpose platform calls an API meaning to acquire an external image to the native platform via the inter-process communication units 34 and 36.
  • the native platform that has received the API call stores the external image acquired at that time in the shared memory 35.
  • the native platform notifies a response to the request to the general-purpose platform via the inter-process communication units 34 and 36.
  • the general-purpose receiving the response accesses the shared memory 35 and acquires an external image.
  • the external image acquired by the general-purpose platform is supplied to a general-purpose application that is operating, and is used for external image processing and image recognition in the general-purpose application.
  • the native platform receives notification of an event for acquiring an external image from the general-purpose platform via the inter-process communication unit 36.
  • step S302 which is performed when a notification of an event for acquiring an external image is received, the native platform accesses the frame buffer 44 and acquires the external image displayed and output by the application of the external unit.
  • step S304 the native platform stores the external image acquired in step S302 in the shared memory 35.
  • step S ⁇ b> 306 the native platform notifies the general-purpose platform of an event of a native buffer update indicating that an external image is stored in the shared memory 35 via the inter-process communication unit 36.
  • the general-purpose platform receives a native buffer update notification from the native platform via the inter-process communication unit 34.
  • step S ⁇ b> 402 that is performed when the notification of the native buffer update is received, the general-purpose platform accesses the shared memory 35 and acquires the latest external image at the time when the notification of the native buffer update is received.
  • the general-purpose platform supplies the external image acquired from the shared memory 35 to the general-purpose application that has requested acquisition of the external image.
  • control device 1 has the following effects.
  • the output image of the general-purpose application can be displayed after being adjusted in accordance with the regulations on the native platform side.
  • the general-purpose application introduced into the control device 1 is not produced based on the specifications of the in-vehicle device, it is possible to realize display control suitable for the requirements of the in-vehicle device. Therefore, when the general-purpose platform coexists in the vehicle embedded system, the output screen by the native application and the output screen by the general-purpose application can be displayed simultaneously or linked.
  • the general-purpose application image can be converted into a format supported by the native platform and displayed. Further, the GPU 22 executes such image processing instead of the CPU 21, so that the processing load on the CPU 21 can be reduced.
  • each section is expressed as S100, for example.
  • each section can be divided into a plurality of subsections, while a plurality of sections can be combined into one section.
  • each section configured in this manner can be referred to as a device, module, or means.

Abstract

 車両用表示制御装置(1)は、ネイティブアプリケーションを動作させるネイティブプラットフォーム(11)と、汎用アプリケーションを動作させる汎用プラットフォーム(13)とを記憶し、データを共有する共有メモリ領域(35)を備える記憶装置(23)と、前記汎用プラットフォームを実行して、汎用アプリ画像を前記共有メモリ領域に格納する格納手段(32)を機能させ、前記ネイティブプラットフォームを実行して、汎用アプリ画像を取得する取得手段(38)を機能させ、汎用アプリ画像とネイティブアプリケーションによって描画されたネイティブアプリ画像とをレイアウトした表示用画像を生成する生成手段(39)を機能させる制御装置(21、22、24)と、表示用画像を表示手段(2a,2b)に表示させる表示制御手段(25)とを有する。

Description

車両用表示制御装置 関連出願の相互参照
 本開示は、2012年12月19日に出願された日本出願番号2012-277107号と、2013年10月25日に出願された日本出願番号2013-222285号に基づくもので、ここにその記載内容を援用する。
 本開示は、車載機器で動作するアプリケーションによる表示出力を制御する車両用表示制御装置に関するものである。
 従来、無線通信により外部から特定のアプリケーションを取込み、そのアプリケーションによる情報提供をする車両用装置(例えば、ナビゲーション装置や多機能ディスプレイ)の車両用装置が開発されている(非特許文献1参照)。
 しかし、従来の車両用装置においては、外部からアプリケーションを取込んで動作させるために、その車両用装置における動作要件に適合する専用のアプリケーションを個別に開発する必要があった。例えば、スマートフォンやタブレットPC等の携帯情報端末向けに、Android(登録商標)やiOS(登録商標)等の汎用プラットフォームに対応した汎用アプリケーションが開発されているが、それらの汎用アプリケーションは、そのままでは車両用装置に取込み、動作させることはできなかった。
 一方、スマートフォンやタブレットPC等の携帯情報端末で流行の機能を車両用装置で実現するために、携帯情報端末向けに開発された汎用アプリケーションに対応した汎用プラットフォームを車載用装置に搭載する手段が考えられる。このような手段では、車両用装置の組込み機能として予め実装されている、車両用のネイティブアプリケーションと、外部から取込んだ汎用アプリケーションとが共存動作する上で、次のような問題がある。
 それは、汎用アプリケーションが車両用装置の仕様に基づき設計・制作されていないことが原因で、ネイティブアプリケーションと相容れない動作をする可能性があることである。例えば、ネイティブアプリケーションによる出力画面がディスプレイに表示されるべきタイミングで、外部から取得された汎用アプリケーションによる出力画面が表示されたために、本来のネイティブアプリケーションの出力画面が表示されない可能性がある。
 このような事態を回避するために、ネイティブアプリケーションが行う表示出力と、外部から取込まれた汎用アプリケーションが行う表示出力とが競合しないように調整しなければならない。そのような事情により、従来の車両用装置においては、外部から取込まれる汎用アプリケーションに、取込み先の車両用装置での動作要件を考慮した個別の仕組みを設ける必要があった。しかしながら、車両用装置の要件に合った汎用アプリケーションを個別に開発するのには多大な開発資源を必要とし、また、それが情報鮮度や汎用性の高いアプリケーションの普及を妨げる要因にもなる。
"G-BOOK.com"、[online]、トヨタメディアサービス株式会社、[平成24年10月29日検索]、インターネット<URL:http://g-book.com/pc/default.asp>
 本開示は、車両用の組込みシステムにおいて汎用プラットフォームを共存動作させる上で、ネイティブアプリケーションによる出力画面と汎用アプリケーションによる出力画面との同時表示や連携表示が可能な車両用表示制御装置を提供することを目的とする。
 本開示の第一の態様において、車両用表示制御装置は、車両用の組込み機能として予め実装されたネイティブアプリケーションを動作させるための基本ソフトウェアであるネイティブプラットフォームと、前記ネイティブプラットフォーム上に仮想化して実装された基本ソフトウェアであって、外部との情報通信を通じて導入される汎用アプリケーションを動作させるための汎用プラットフォームとを記憶し、前記ネイティブプラットフォームと前記汎用プラットフォームとの間で、データを共有するためのメモリ領域である共有メモリ領域を備える記憶装置と、前記汎用プラットフォームを実行して、動作中の汎用アプリケーションによって描画された画像である汎用アプリ画像を前記共有メモリ領域に格納する格納手段を機能させ、前記ネイティブプラットフォームを実行して、前記格納手段によって前記共有メモリ領域に格納された汎用アプリ画像を取得する取得手段を機能させ、前記取得手段により取得された汎用アプリ画像と、動作中のネイティブアプリケーションによって描画されたネイティブアプリ画像とを、前記ネイティブプラットフォームにおいて規定された所定の表示要件に応じてレイアウトした表示用画像を生成する生成手段を機能させる制御装置と、前記生成手段により生成された表示用画像を、所定の表示手段に表示させる表示制御手段とを有する。
 上記の車両用表示制御装置において、汎用アプリケーションにより出力された画像を汎用プラットフォームから、表示ドライバに直接アクセスして表示を行うのではなく、共有メモリ領域の仕組みを用いて、ネイティブプラットフォーム側で汎用アプリ画像とネイティブアプリ画像との表示調整を行った上で表示する。具体的には、汎用プラットフォーム側で用意した表示用画像(共有メモリ領域)に対して、ネイティブプラットフォームからアクセスを行い、それをネイティブプラットフォーム側の表示の仕組みを用いて、実際の表示手段に表示させる。
 このように、ネイティブプラットフォーム側と汎用プラットフォーム側との窓口となる共有メモリ領域や、共有メモリ領域を介して画像をやり取りする仕組みにより、汎用アプリ画像の表示可否や表示位置等を、ネイティブプラットフォーム側で制御できる。これにより、車両用表示制御装置に導入された汎用アプリケーションが、車載機器の仕様に基づいて制作されていない場合でも、車載機器の要件に適合した表示の制御を実現できる。よって、車両用の組込みシステムにおいて汎用プラットフォームを共存動作させる上で、ネイティブアプリケーションによる出力画面と汎用アプリケーションによる出力画面との同時表示や連携表示が可能となる。
 本開示の第一の態様において、車両用表示制御装置は、車両用の組込み機能として予め実装されたネイティブアプリケーションを動作させるための基本ソフトウェアであるネイティブプラットフォームと、前記ネイティブプラットフォーム上に仮想化して実装された基本ソフトウェアであって、外部との情報通信を通じて導入される汎用アプリケーションを動作させるための汎用プラットフォームと、前記ネイティブプラットフォームと前記汎用プラットフォームとの間で、データを共有するためのメモリ領域である共有メモリ領域と、を備える。前記汎用プラットフォームは、動作中の汎用アプリケーションによって描画された画像である汎用アプリ画像を前記共有メモリ領域に格納する格納手段を備える。前記ネイティブプラットフォームは、前記格納手段によって前記共有メモリ領域に格納された汎用アプリ画像を取得する取得手段と、前記取得手段により取得された汎用アプリ画像と、動作中のネイティブアプリケーションによって描画された画像であるネイティブアプリ画像とを、前記ネイティブプラットフォームにおいて規定された所定の表示要件に応じてレイアウトした表示用画像を生成する生成手段と、前記生成手段により生成された表示用画像を、所定の表示手段に表示させる表示制御手段とを備える。
 上記の車両用表示制御装置において、ネイティブプラットフォーム側と汎用プラットフォーム側との窓口となる共有メモリ領域や、共有メモリ領域を介して画像をやり取りする仕組みにより、汎用アプリ画像の表示可否や表示位置等を、ネイティブプラットフォーム側で制御できる。これにより、車両用表示制御装置に導入された汎用アプリケーションが、車載機器の仕様に基づいて制作されていない場合でも、車載機器の要件に適合した表示の制御を実現できる。よって、車両用の組込みシステムにおいて汎用プラットフォームを共存動作させる上で、ネイティブアプリケーションによる出力画面と汎用アプリケーションによる出力画面との同時表示や連携表示が可能となる。
 本開示についての上記目的およびその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
図1は、制御装置のソフトウェア構成を示すブロック図であり、 図2は、制御装置のハードウェア構成を示すブロック図であり、 図3は、画像表示の仕組みを示す説明図であり、 図4は、画像表示例を示す説明図であり、 図5は、汎用プラットフォームで実行される処理を表すフローチャートであり、 図6は、ネイティブプラットフォームで実行される処理を表すフローチャートであり、 図7は、応用例においてネイティブプラットフォームで実行される処理を表すフローチャートであり、 図8は、応用例において汎用プラットフォームで実行される処理を表すフローチャートである。
 以下、本開示の一実施形態を図面に基づいて説明する。なお、本開示は下記の実施形態に限定されるものではなく様々な態様にて実施することが可能である。
 [制御装置1の構成の説明]
 図1に示すように、制御装置1は、2つのディスプレイ2a,2b、外部記憶装置3、ナビゲーションユニット4等の車載機器と接続され、車両用表示システムを構成している。制御装置1は、車両用の組込み機能として予め実装されているネイティブアプリケーションや、外部との通信を通じて導入される汎用アプリケーションによる画像表示を行うための車両用表示制御装置である。制御装置1は、ソフトウェア構成として、ネイティブプラットフォーム11、アプリケーションコア部12、汎用プラットフォーム13、汎用アプリケーション14、アプリケーションHMI部15、入出力管理部16等の機能を備える。
 ネイティブプラットフォーム11は、制御装置1の基本動作に必要な機能を提供する基本ソフトウェア(オペレーティングシステム(OS)ともいう。)である。このネイティブプラットフォーム11上では、アプリケーションコア部12として、車両用の組込み機能として予め実装されている様々なネイティブアプリケーションが動作する。ネイティブアプリケーションのとしては、エアコンアプリ12a、電話アプリ12b、オーディオアプリ12c、描画システム12d等が例示される。なお、ここで例示したネイティブアプリケーションは、ほんの一例であり、その他の車両用のソフトウェアがネイティブアプリケーションとして実装されていてもよい。
 エアコンアプリ12aは、カーエアコンに関する各種操作を行うためのグラフィカルユーザインタフェースを表示するアプリケーションである。電話アプリ12bは、移動電話による車内でのハンズフリー通話機能を提供するアプリケーションである。この電話アプリ12bは、外部からの電話の着信があったときに、着信を運転者に知らせるための画像を表示する。オーディオアプリ12cは、例えば、テレビや、ビデオ、オーディオプレーヤ、ラジオ等の各種映像・音声ソースに基づいて各種映像や音声の出力を行うアプリケーションである。描画システム12dは、ネイティブアプリケーションや汎用アプリケーション等の各種のアプリケーションから出力される画像に対して、車両用表示システムにおいて規定されている動作要件に則って表示出力調停を行うアプリケーションである。他にも、ネイティブアプリケーションとして、ナビゲーションユニット4において実行されるナビゲーション機能がある。
 ネイティブプラットフォーム11上には、更に汎用プラットフォーム13が実装されている。汎用プラットフォーム13は、外部のサーバ装置等から通信を介して導入された汎用アプリケーション14を動作させるための基本ソフトウェア(OS)である。汎用プラットフォーム13は、ネイティブプラットフォーム11のカーネル上に、”Chroot”等の公知の仮想化実装技術を用いて実装されているものとする。これにより、汎用プラットフォーム13は、ネイティブプラットフォーム11上で隔離された状態で動作できる。なお、本実施形態の制御装置1では、汎用プラットフォーム13として、オープンソース・オペレーティングシステムとして広く普及しているAndroid(登録商標)が実装されているものとする。
 汎用アプリケーション14は、汎用プラットフォーム13の機能に依存して動作するアプリケーションソフトウェアである。汎用アプリケーション14は、制御装置1に元々実装されておらず、ユーザの任意によりインターネットを中心とするクラウドコンピューティングを構成するサーバ群からデータ通信を介して導入される汎用的なアプリケーションである。このような汎用アプリケーションにより、クラウドコンピューティングや、スマートフォン等の高機能携帯端末との連携により、広い分野での情報やユーザインタフェースの相互利用が可能となる。様々な汎用アプリケーションによって、車両の走行に関するものに限らず、多様性に富む画像情報が提供される。
 アプリケーションHMI部15は、ディスプレイや操作パネル等の入出力デバイスを制御し、アプリケーションに対して抽象化したインタフェースを提供するソフトウェアである。入出力管理部16は、ディスプレイ2a,2bや、外部記憶装置3、ナビゲーションユニット4等の周辺装置と、制御装置1との間のデータの入出力を制御するソフトウェアである。
 ディスプレイ2a,2bは、液晶表示パネル等の表示面を有するカラー表示装置であり、何れも運転者の視界内において運転席から手の届く範囲に設置されているものとする。これらのディスプレイ2a,2bは、それぞれ異なる画像を表示可能であり、制御装置1において実行される各種アプリケーションによる表示出力に基づく画像が表示される。外部記憶装置3は、ハードディスクドライブや書換え可能な不揮発性半導体メモリ等で具現化される記憶装置である。この外部記憶装置3には、制御装置1が動作するためのプログラムやデータが記憶されている。上述のネイティブプラットフォームや汎用プラットフォーム、ネイティブアプリケーション、汎用アプリケーションのプログラムもここに記憶されている。
 ナビゲーションユニット4は、車両向けの経路案内を行う装置であり、地図表示や経路探索、経路案内等が実行される。地図表示は、現在地付近の地図や車両の現在地を示すマーク等を表示する機能である。また、経路探索は、現在地(出発地)から目的地までの最適な経路を自動的に算出する機能である。経路案内は、前述の経路探索によって求められた経路に沿った走行案内を行う機能である。ナビゲーションユニット4による出力画像は、制御装置1の描画システム12dによる表示出力調停を経て、ディスプレイ2a,2bの何れかに割振られて表示される。
 つぎに、図2に示すように、制御装置1は、ハードウェア構成として、CPU21、GPU(グラフィックチップ)22、メモリ23、メモリコントローラ24、表示コントローラ25を備える。CPU21は、制御装置1における中心的な演算処理装置である。CPU21は、プログラムによって様々な数値計算や情報処理を行い、制御装置1における上記各ソフトウェア構成11~16の機能を実現する。
 GPU22は、画像の表示に必要な計算処理をCPU21に代わって行う演算処理装置である。このGPU22は、画像の内容を示すデータから具体的な画像を描画する処理や、アプリケーションからの出力画像を所定形式の画像に変換する処理をCPU21に代わって行う。
 メモリ23は、CPU21やGPU22、表示コントローラ25がメインメモリとして直接アクセスできる読み書き自由な半導体メモリ(RAM)である。メモリコントローラ24は、CPU21、GPU22、及び、表示コントローラ25によるメモリ23に対するデータの読出しや書込みを媒介する。CPU21で実行される各種アプリケーションにより出力された画像に基づいて生成された表示用画像は、メモリ23における所定の記憶領域に設けられたフレームバッファに書込まれる。フレームバッファに書込まれた表示用画像は、表示コントローラ25を介してディスプレイ2a,2bに出力され、各ディスプレイ2a,2bにおいて表示される。
 [画像表示の仕組みに関する説明]
 制御装置1が、ネイティブアプリケーションや汎用アプリケーションによる出力画像に基づいてディスプレイ2a,2bに画像表示を行うための仕組み及び手順について、図3を参照しながら説明する。
 ネイティブプラットフォームは、仮想アドレス空間をユーザ空間とカーネル空間とに分けて動作する。ユーザ空間は、アプリケーションコア部や汎用プラットフォーム等のユーザプロセスが動作する仮想メモリ領域である。カーネル空間は、ネイティブプラットフォームのカーネルが存在する仮想メモリ領域である。
 ユーザ空間には、仮想化実装された汎用プラットフォーム(Android OS)が動作する仮想Android空間が設けられている。そして、ネイティブプラットフォームと汎用プラットフォームとの間には、ソケット通信等のプロセス間通信(IPC:Inter process Communication)を行うプロセス間通信部34,36が実装されている。このプロセス間通信では、ネイティブプラットフォームのドメインソケット37がインタフェースとして用いられる。また、カーネル空間には、ネイティブプラットフォームと汎用プラットフォームとの間でデータを共有するための記憶領域である共有メモリ35(ashmem)が実装されている。
 仮想Android空間で動作している各汎用アプリケーション14は、自身のアプリケーションによる出力画像(以下、汎用アプリ画像とも称する)を描画するための描画領域31(Surface)を、Androidミドルウェアに備えられた領域割当部32(Surface flinger)を介して確保する。各汎用アプリケーション14に割当てられる描画領域31は、Androidミドルウェアに備えられた領域確保部33によって共有メモリ35から確保される。そして、汎用アプリケーション14は、領域割当部32によって割当てられた各描画領域31に対して、汎用アプリ画像の描画処理を行う(図3の矢印Aで示される手順に相当)。各描画領域31に対する描画結果は、領域割当部32によって合成処理が行われ、共有メモリ35に格納される(図3の矢印Bで示される手順に相当)。
 ちなみに、従来技術では、領域確保部33が、汎用アプリ画像を描画する描画領域をAndroid OS用の仕組みとして備えられたフレームバッファドライブ(Uvesafb Driver)から確保して描画処理を行う点で、共有メモリ35を採用した本開示と相違する。
 共有メモリ35への汎用アプリ画像の書込みは、汎用プラットフォーム側で汎用アプリ画像が更新される度に行われる。共有メモリ35における汎用アプリ画像の更新が行われたことは、プロセス間通信部34,36を介して、汎用プラットフォーム側からネイティブプラットフォーム側のバーチャルAndroid部38に対して、”fb_post”というイベントとして通知される。
 バーチャルAndroid部38は、ネイティブアプリケーションである描画システム12dの機能として提供されるモジュールである。fb_postの通知を受信したバーチャルAndroid部38は、共有メモリ35に格納されている汎用アプリ画像を取得する。そして、バーチャルAndroid部38は、取得した汎用アプリ画像をネイティブプラットフォーム側のユーザ空間に確保されたピクセルマップ43に格納する(図3の矢印Cで示される手順に相当)。
 このとき、汎用プラットフォームとネイティブプラットフォームとの間でサポートするピクセルフォーマットとが異なる場合は、バーチャルAndroid部38においてピクセルフォーマットの変換処理を行ってから画像をピクセルマップ43に格納する。一例として、汎用プラットフォーム側から出力された汎用アプリ画像がRGB565形式であったとした場合、これをネイティブプラットフォーム側でサポートしているARGB8888形式の画像に変換するといった画像変換を行うことが挙げられる。また、画像のサイズ調整や色変換等の画像変換も必要があれば行う。
 なお、上記のような画像変換は、一般的に処理負荷が高く、CPU21に画像処理を行わせる場合、高度な処理性能が求められる。そこで、共有メモリ35をGPU22からもアクセスできる記憶領域とし、共有メモリ35に格納された汎用アプリ画像に対して、CPU21の代わりにGPU22が所定のグラフィック・インタフェースを用いて画像変換を行うようにしてもよい。このようにすることで、CPU21の負荷の低減や表示の高速化を実現できる。
 つぎに、ピクセルマップ43に格納された汎用アプリ画像と、汎用アプリケーションとは別に動作中のネイティブアプリケーションから出力されたネイティブアプリ画像とを合成した表示用画像が生成され、カーネル空間のフレームバッファ44に格納される(図3の矢印Dで示される手順に相当)。そして、フレームバッファ44に格納された表示用画像は、表示コントローラ25によってディスプレイ2a,2bにそれぞれ表示される。ここでは、HMIコントローラ39が、ネイティブプラットフォームにおいて規定された所定の表示要件に応じて、汎用アプリ画像とネイティブアプリ画像とを何処に表示するか決めて、表示用画像をレイアウトする。レイアウトした表示画像の描画は、描画モジュール40及び描画ドライバインタフェース41を介して、カーネル空間の描画ドライバ42によって行われる。
 なお、表示用画像をレイアウトするルールの一例として、次のような方法が挙げられる。例えば、汎用アプリ画像とネイティブアプリ画像とを、車両に備えられたディスプレイ数に応じて分配し、別々の画面にレイアウトする。その具体例を図4の表示例1に示す。表示例1では、2つのディスプレイ2a,2bのうち、ディスプレイ2aにネイティブアプリケーションによる画像を表示し、ディスプレイ2bに汎用アプリケーションによる画像を表示している。このように、ネイティブプラットフォーム側で表示場所を調整することで、ネイティブアプリケーションによる画像と、汎用アプリケーションによる画像との排他を行うことなく、同時に表示させることができる。あるいは、1つのディスプレイの表示領域を分割して、そこに汎用アプリ画像とネイティブアプリ画像とを別々にレイアウトしてもよい。
 また、別の例として、特定の関連性のあるネイティブアプリケーションと汎用アプリケーションとの間で、それぞれの出力画像を1つの画面上に重ね合わせたレイアウトを作成する。例えば、ネイティブアプリケーションが描画・表示する画面に、汎用アプリ画像を重ね合わせて補足的に情報表示を行うことが考えられる。その具体例を図4の表示例2に示す。表示例2では、地図表示を行うネイティブアプリケーションと、地図上のPOI(Point Of Interest)情報を提供する汎用アプリケーションとの連携表示を行う。ここでは、ネイティブアプリケーションにより出力された地図画像上に、汎用アプリケーションにより出力されたPOIを示すアイコンを地図上の位置に対応させて合成し、1つのディスプレイ2aに表示している。また、ネイティブアプリ画像上に重ねて表示させる汎用アプリ画像に対して、所定の透過色を適用したり、各ピクセルに透過度を表すα値を掛け合わせることで、ネイティブアプリ画像上に汎用アプリ画像を透過合成することができる。
 また、別の例として、アプリケーションごとに予め規定された表示の優先度に応じて、車両の走行や安全に関する優先度の高いネイティブアプリ画像を、他の汎用アプリ画像よりも優先的に表示されるようにレイアウトする。この場合、優先度が高い方の画像をメインディスプレイにレイアウトし、低い方の画像をサブディスプレイにレイアウトしたり、優先度が高い方の画像を他の画像に上書きしてもよい。
 上述の一連の処理の仕組みにおいて、汎用プラットフォーム側で実行される処理の手順について、図5のフローチャートを参照しながら説明する。S100では、汎用プラットフォームで動作している汎用アプリケーションにおいて、それぞれのタイミングで画像の描画や表示出力等の処理が行われる。S102では、汎用アプリケーションによって汎用アプリ画像が描画され、描画された汎用アプリ画像が領域割当部32によって共有メモリ35に格納される。S104では、領域割当部32において表示を更新するか否かが判断される。ここでは、動作中の汎用アプリケーションから新たな汎用アプリ画像の表示要求があるか否かに応じて、表示を更新するか否かを判定する。表示を更新すると判定された場合(S104:YES)、S106に進む。一方、表示を更新しないと判定された場合(S104:NO)、S100に戻る。S106では、領域割当部32からプロセス間通信部34を介して、fb_postのイベントがネイティブプラットフォーム側に通知される。
 一方、ネイティブプラットフォーム側で実行される処理の手順について、図6のフローチャートを参照しながら説明する。S200では、バーチャルAndroid部38が、プロセス間通信部36を介してfb_postの通知を受信する。fb_postの通知を受信したときに進むS202では、バーチャルAndroid部38において、受信したfb_postに該当する汎用アプリ画像の表示が可能であるか否かが判定される。ここでは、予め定められたネイティブアプリ画像と汎用アプリ画像との表示調停に関するルールに基づいて、汎用アプリ画像の表示の可否が判定される。一例として、車両の走行や安全に関する優先度の高い特定のネイティブアプリ画像を表示している状況下において、優先度の低い汎用アプリ画像を表示させないといったルールを適用することが挙げられる。汎用アプリ画像の表示が可能であると判定された場合(S202:YES)、S204に進む。一方、汎用アプリ画像の表示が不可であると判定された場合、(S202:NO)、S200に戻る。
 S204では、バーチャルAndroid部38において、自車両が走行中であるか否かが判定される。自車両が走行中でないと判定された場合(S204:NO)、S208に進む。一方、自車両が走行中であると判定された場合(S204:YES)、S206に進む。S206では、バーチャルAndroid部38において、受信したfb_postに該当する汎用アプリ画像が、走行中に表示可能なコンテンツであるか否かが判定される。具体的には、バーチャルAndroid部38がプロセス間通信部36を介して、当該汎用アプリケーションのコンテンツが走行中の表示に適合しているか否かを、汎用プラットフォームに対して問合せることで、表示の可否を判定する。受信したfb_postに該当する汎用アプリ画像が、走行中に表示可能なコンテンツであると判定された場合(S206:YES)、S208に進む。一方、受信したfb_postに該当する汎用アプリ画像が、走行中に表示不可能なコンテンツであると判定された場合(S206:NO)、S200に戻る。
 S208では、汎用アプリ画像を画面に表示するための表示処理が実行される。ここでは、既に説明したとおり、バーチャルAndroid部38が、共有メモリ35にアクセスして汎用アプリ画像を取得する。取得された汎用アプリ画像は、ネイティブプラットフォームにおいて規定された所定の表示要件に応じてディスプレイ2a,2bに対する表示画像にレイアウトされ、表示画像が描画される。そして、描画された表示画像が、ディスプレイ2a,2bにそれぞれ表示される。
 [実施形態に関する付加説明]
 本実施形態の制御装置1では、1つのシステム上に異なったプラットフォーム(ネイティブプラットフォーム及び汎用プラットフォーム)が実装されている。それぞれのプラットフォーム内のアプリケーションは、各々独立に動作し、お互いのプラットフォーム上に搭載されているアプリケーションソフトウェアに干渉されることなく動作することができる。
 汎用プラットフォームは、ネイティブプラットフォームと同じカーネルを使用する。この汎用プラットフォーム内で生成されるアプリケーションプロセスやスレッドは、汎用プラットフォーム内のプロセス、スレッドマネージメント機構によって、生存期間や動作タイミング等が制御される。また、汎用プラットフォームにおけるメモリの確保、解放、アプリケーションに対するメモリの割当て等は、汎用プラットフォーム内に設けられたメモリマネージメント機構によって制御される。例えば、Android OS等であれば、それらの仕組みは標準的にAndroidミドルウェアとして提供されることになる。
 しかしながら、汎用プラットフォームが一方的に動作することで、CPUリソースやメモリリソースの占有を招き、ネイティブプラットフォームに影響を及ぼす可能性がある。その場合、共通に使用しているカーネルの機能を用いて、汎用プラットフォームに対して制限をかける等の機構を用いても良い。例えば、Linux(登録商標)カーネルには、cgroup等のリソース分離を行う機構が標準的に入っている。このような機構によって汎用プラットフォームの動作に制限をかけることで、ネイティブプラットフォームおいて実行される車両の安全に関する車載機能の動作を保証することができる。
 汎用プラットフォーム上で動作する汎用アプリケーションは、独立的に動作し、それぞれのアプリケーションのタイミングで画像の描画処理や表示出力処理を行う。これらの汎用アプリケーションは、ネイティブプラットフォーム上で動作するアプリケーションの動作を意識して動作することはない。また、汎用プラットフォームは、汎用アプリケーションによって描画された画像を、自ら表示デバイス(ディスプレイ2a,2b)に表示させる表示処理を行わない。代わりに、汎用プラットフォームは、汎用アプリケーションによって描画された画像を共有メモリ35に格納し、表示が更新されたことを表すイベント(fb_post)をネイティブプラットフォームに通知するのみである。
 共有メモリ35に格納された汎用アプリ画像が実際に表示されるか否かは、ネイティブプラットフォーム側の動作に依存する。バーチャルAndroid部38を始めとするネイティブプラットフォームの各種機能により、汎用アプリ画像とネイティブアプリ画像との間で表示の排他制御が行われる。例えば、ネイティブプラットフォームにおいて汎用アプリ画像が表示不可であると判断された場合、たとえ汎用アプリケーションが画像の表示出力を行ったとしても、共有メモリ35に保存された映像はフレームバッファ44に転送されることはない。このように、汎用アプリ画像については、ネイティブプラットフォーム側で表示可否を制御できるため、表示の必要がない場合、ネイティブプラットフォーム側のみの制御で表示を無効にすることができる。
 このようにすることで、ネイティブアプリケーションによる車両の走行や安全に関する重要な機能に関する画像の表示を、汎用プラットフォームの動作によって阻害されることを防ぐ。また、走行中に不要な画像の表示を制限する規制に汎用アプリケーションが対応していなかったとしても、ネイティブプラットフォーム側で汎用プラットフォームの表示自体を抑止することで、走行時の表示規制への対応を行うことができる。
 一方、外部のユニット(例えば、ナビゲーションユニット4)のアプリケーションからネイティブプラットフォームに取込まれた外部画像についても、ネイティブプラットフォームにおいて表示可否の制御やネイティブアプリ画像との重ね合わせ表示を実現できる。その場合、汎用アプリ画像に関する表示可否の制御や、汎用アプリ画像とネイティブアプリ画像との重ね合わせ表示と同様の仕組みによって、ネイティブプラットフォームが外部画像の表示の制御を行うことができる。
 [応用例]
 共有メモリ35及びプロセス間通信部34,36の仕組みを使うことで、ネイティブプラットフォームがナビゲーションユニット4等の外部ユニットから取込んだ外部画像を、汎用プラットフォーム側で利用することが実現可能となる。これにより、ネイティブプラットフォームが取込んだ外部画像を、汎用プラットフォーム側の汎用アプリケーションが加工して表示したり、汎用アプリケーションが画像認識等に用いることができる。
 具体的には、ネイティブプラットフォーム側に、汎用プラットフォームからのアクセスを受け付けるAPI(Application Programming Interface)を定義する。また、汎用プラットフォームからの要求(APIコール)に対して、応答するソフトをネイティブプラットフォーム側に実装する。例えば、ネイティブプラットフォームが外部ユニットより取得した外部画像(ナビゲーションユニット4からのナビ映像)を汎用プラットフォームに渡すには、次のようにする。汎用プラットフォームは、プロセス間通信部34,36を介してネイティブプラットフォームに対して、外部画像を取得する意味のAPIをコールする。APIコールを受信したネイティブプラットフォームは、そのときに取得した外部画像を共有メモリ35に格納する。そして、ネイティブプラットフォームは、プロセス間通信部34,36を介して汎用プラットフォームに対して、要求に対する応答を通知する。応答を受信した汎用は、共有メモリ35にアクセスし、外部画像を取得する。汎用プラットフォームにより取得された外部画像は、動作中の汎用アプリケーションに供給され、汎用アプリケーションにおいて外部画像の加工や画像認識に利用される。
 上述の一連の処理において、ネイティブプラットフォームにおいて実行される処理の手順について、図7のフローチャートを参照しながら説明する。S300では、ネイティブプラットフォームは、プロセス間通信部36を介して、外部画像を取得するイベントの通知を汎用プラットフォームから受信する。外部画像を取得するイベントの通知を受信したときに進むS302では、ネイティブプラットフォームは、フレームバッファ44にアクセスし、外部ユニットのアプリケーションにより表示出力された外部画像を取得する。次のS304では、ネイティブプラットフォームは、S302で取得した外部画像を共有メモリ35に格納する。次のS306では、ネイティブプラットフォームは、共有メモリ35に外部画像が格納されたことを示す、ネイティブバッファアップデートのイベントを、プロセス間通信部36を介して汎用プラットフォームに通知する。
 なお、このイベントは非同期であるため、汎用プラットフォームの応答を待つことなく、ネイティブプラットフォーム側の動作を継続できるものとする。また、ネイティブプラットフォームが画像を共有メモリ35に格納している最中に、汎用プラットフォーム側がその画像にアクセスしないように、共有メモリ35に複数フレーム分のバッファを設け、排他制御する。
 一方、汎用プラットフォームにおいて実行される処理の手順について、図8のフローチャートを参照しながら説明する。S400では、汎用プラットフォームは、プロセス間通信部34を介して、ネイティブバッファアップデートの通知をネイティブプラットフォームから受信する。ネイティブバッファアップデートの通知を受信したときに進むS402では、汎用プラットフォームは、共有メモリ35にアクセスして、ネイティブバッファアップデートの通知を受信した時点での最新の外部画像を取得する。
 例えば、ネイティブプラットフォーム側の動作が汎用プラットフォームに比べて速い場合、複数のネイティブバッファアップデートが汎用プラットフォーム側に通知される。これに対し、汎用プラットフォームは、全てのネイティブバッファアップデートのイベントを溜めておいて処理するのではなく、汎用プラットフォームが動けるタイミングで、そのときの最新の画像を取得することで、処理負荷を軽減させることができる。次のS404では、汎用プラットフォームは、共有メモリ35から取得した外部画像を、外部画像の取得を要求した汎用アプリケーションに供給する。
 [効果]
 実施形態の制御装置1によれば、次のような効果を奏する。
 ネイティブプラットフォーム側と汎用プラットフォーム側との窓口となる、共有メモリ35、プロセス間通信部34,36、バーチャルAndroid部38等の仕組みを制御装置1に実装した。これにより、汎用アプリケーションの出力画像に対して、ネイティブプラットフォーム側の規定に則って調整をかけた上で表示を行うことができる。このようにすることで、制御装置1に導入された汎用アプリケーションが、車載機器の仕様に基づいて制作されていない場合でも、車載機器の要件に適合した表示の制御を実現できる。よって、車両用の組込みシステムにおいて汎用プラットフォームを共存動作させる上で、ネイティブアプリケーションによる出力画面と汎用アプリケーションによる出力画面との同時表示や連携表示が可能となる。
 また、共有メモリ35に格納された汎用アプリ画像に対し、ネイティブアプリケーション側で所定の画像処理を行うことで、汎用アプリ画像をネイティブプラットフォームにおいてサポートされている形式に変換して表示できる。さらに、このような画像処理をCPU21の代わりにGPU22が実行することで、CPU21の処理負荷を軽減できる。
 ここで、この出願に記載されるフローチャート、あるいは、フローチャートの処理は、複数のセクション(あるいはステップと言及される)から構成され、各セクションは、たとえば、S100と表現される。さらに、各セクションは、複数のサブセクションに分割されることができる、一方、複数のセクションが合わさって一つのセクションにすることも可能である。さらに、このように構成される各セクションは、デバイス、モジュール、ミーンズとして言及されることができる。
 本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。

Claims (8)

  1.  車両用の組込み機能として予め実装されたネイティブアプリケーションを動作させるための基本ソフトウェアであるネイティブプラットフォーム(11)と、前記ネイティブプラットフォーム上に仮想化して実装された基本ソフトウェアであって、外部との情報通信を通じて導入される汎用アプリケーションを動作させるための汎用プラットフォーム(13)とを記憶し、前記ネイティブプラットフォームと前記汎用プラットフォームとの間で、データを共有するためのメモリ領域である共有メモリ領域(35)を備える記憶装置(23)と、
     前記汎用プラットフォームを実行して、動作中の汎用アプリケーションによって描画された画像である汎用アプリ画像を前記共有メモリ領域に格納する格納手段(32)を機能させ、前記ネイティブプラットフォームを実行して、前記格納手段によって前記共有メモリ領域に格納された汎用アプリ画像を取得する取得手段(38)を機能させ、前記取得手段により取得された汎用アプリ画像と、動作中のネイティブアプリケーションによって描画されたネイティブアプリ画像とを、前記ネイティブプラットフォームにおいて規定された所定の表示要件に応じてレイアウトした表示用画像を生成する生成手段(39)を機能させる制御装置(21、22、24)と、
     前記生成手段により生成された表示用画像を、所定の表示手段(2a,2b)に表示させる表示制御手段(25)と、
     を有する車両用表示制御装置(1)。
  2.  制御装置(21、22、24)は、前記ネイティブプラットフォームと前記汎用プラットフォームとの間で通信を行う通信手段(34,36)を更に機能させ、
     制御装置(21、22、24)は、前記汎用プラットフォームを実行して、前記格納手段が汎用アプリ画像を前記共有メモリ領域に格納させたことを、前記通信手段を介して前記ネイティブプラットフォーム側に通知し、
     制御装置(21、22、24)は、前記ネイティブプラットフォームを実行して、汎用アプリ画像が前記共有メモリ領域に格納されたことを、前記通信手段を介して前記汎用プラットフォームから通知されたことを条件に、前記取得手段に、前記共有メモリ領域に格納された汎用アプリ画像を取得させる、
     請求項1に記載の車両用表示制御装置。
  3.  制御装置(21、22、24)は、前記汎用プラットフォームを実行して、前記汎用アプリ画像を所定形式の画像に変換する変換手段(42)を更に機能させ、
     前記生成手段は、前記変換手段によって前記汎用アプリ画像を所定形式の画像に変換した画像と、前記ネイティブアプリ画像とを前記表示要件に応じてレイアウトした表示用画像を生成する、
     請求項1又は請求項2に記載の車両用表示制御装置。
  4.  制御装置(21、22、24)は、中央処理装置(21)と画像処理装置(22)とを備え、
     中央処理装置(21)は、前記ネイティブプラットフォームを動作させ、
     画像処理装置(22)は、前記中央処理装置の代わりに画像の表示に必要な計算を行い、
     前記変換手段は、前記汎用アプリ画像の変換を前記画像処理装置を用いて行う、
     請求項3に記載の車両用表示制御装置。
  5.  前記生成手段は、前記取得手段により取得された汎用アプリ画像と、動作中のネイティブアプリケーションによって描画されたネイティブアプリ画像とを、重ねて表示させる表示用画像を生成する、
     請求項1ないし請求項4の何れか1項に記載の車両用表示制御装置。
  6.  前記生成手段は、複数の画面に別々に表示させる表示用画像として、前記取得手段により取得された汎用アプリ画像に関する表示用画像と、動作中のネイティブアプリケーションによって描画されたネイティブアプリ画像に関する表示用画像とを生成し、
     前記表示制御手段は、前記生成手段により生成された汎用アプリ画像に関する表示用画像と、ネイティブアプリ画像に関する表示用画像とを、複数の表示手段に別々に分配して表示させる、
     請求項1ないし請求項5の何れか1項に記載の車両用表示制御装置。
  7.  制御装置(21、22、24)は、前記ネイティブプラットフォームと前記汎用プラットフォームとの間で通信を行う通信手段(34,36)をさらに機能させ、
     制御装置(21、22、24)は、前記ネイティブプラットフォームを実行し、前記車両用表示装置に接続された外部装置のアプリケーションによって描画された外部画像を前記共有メモリ領域に格納し、前記共有メモリ領域に外部画像が格納されたことを、前記通信手段を介して前記汎用プラットフォーム側に通知し、
     制御装置(21、22、24)は、前記汎用プラットフォームを実行し、前記共有メモリ領域に前記外部画像が格納されたことを、前記通信手段を介して通知されたことを条件に、前記共有メモリ領域に格納された外部画像を取得し、取得した外部画像を動作中の汎用アプリケーションに供給する、
     請求項1ないし請求項6の何れか1項に記載の車両用表示制御装置。
  8.  車両用の組込み機能として予め実装されたネイティブアプリケーションを動作させるための基本ソフトウェアであるネイティブプラットフォーム(11)と、
     前記ネイティブプラットフォーム上に仮想化して実装された基本ソフトウェアであって、外部との情報通信を通じて導入される汎用アプリケーションを動作させるための汎用プラットフォーム(13)と、
     前記ネイティブプラットフォームと前記汎用プラットフォームとの間で、データを共有するためのメモリ領域である共有メモリ領域(35)と、を備え、
     前記汎用プラットフォームは、
     動作中の汎用アプリケーションによって描画された画像である汎用アプリ画像を前記共有メモリ領域に格納する格納手段(32)を備え、
     前記ネイティブプラットフォームは、
     前記格納手段によって前記共有メモリ領域に格納された汎用アプリ画像を取得する取得手段(38)と、
     前記取得手段により取得された汎用アプリ画像と、動作中のネイティブアプリケーションによって描画された画像であるネイティブアプリ画像とを、前記ネイティブプラットフォームにおいて規定された所定の表示要件に応じてレイアウトした表示用画像を生成する生成手段(39)と、
     前記生成手段により生成された表示用画像を、所定の表示手段(2a,2b)に表示させる表示制御手段(25)と、
     を備える車両用表示制御装置(1)。
     
     
     
     
     
PCT/JP2013/007309 2012-12-19 2013-12-12 車両用表示制御装置 WO2014097587A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112013006086.8T DE112013006086T5 (de) 2012-12-19 2013-12-12 Fahrzeuganzeigesteuervorrichtung
US14/647,871 US9779685B2 (en) 2012-12-19 2013-12-12 Display control device for vehicle to generate native display images and versatile display images
CN201380066386.XA CN104884309B (zh) 2012-12-19 2013-12-12 车辆用显示控制装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012-277107 2012-12-19
JP2012277107 2012-12-19
JP2013222285A JP6032176B2 (ja) 2012-12-19 2013-10-25 車両用表示制御装置
JP2013-222285 2013-10-25

Publications (1)

Publication Number Publication Date
WO2014097587A1 true WO2014097587A1 (ja) 2014-06-26

Family

ID=50977950

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/007309 WO2014097587A1 (ja) 2012-12-19 2013-12-12 車両用表示制御装置

Country Status (5)

Country Link
US (1) US9779685B2 (ja)
JP (1) JP6032176B2 (ja)
CN (1) CN104884309B (ja)
DE (1) DE112013006086T5 (ja)
WO (1) WO2014097587A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016014918A (ja) * 2014-06-30 2016-01-28 キヤノン株式会社 情報処理装置、制御方法、及びプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6237543B2 (ja) * 2014-09-01 2017-11-29 株式会社デンソー 車載装置
US10331314B2 (en) * 2016-03-11 2019-06-25 Denso International America, Inc. User interface including recyclable menu
KR101716861B1 (ko) * 2016-10-04 2017-03-15 (주)볼트마이크로 영상데이터 관리 장치 및 방법
JP6986699B2 (ja) * 2017-07-04 2021-12-22 パナソニックIpマネジメント株式会社 表示制御システム、表示システム、移動体、表示制御方法及びプログラム
KR101960219B1 (ko) * 2018-02-02 2019-03-19 문명일 차량용 영상 장치
JP7151631B2 (ja) * 2019-06-11 2022-10-12 株式会社デンソー 車両用制御装置、車両用表示システム、及び車両用表示制御方法
CN111114320B (zh) * 2019-12-27 2022-11-18 深圳市众鸿科技股份有限公司 一种车载智能座舱共享显示方法及系统
WO2022181899A1 (ko) * 2021-02-26 2022-09-01 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
CN113467645B (zh) * 2021-09-06 2022-07-29 中汽创智科技有限公司 一种车辆屏幕控制方法、装置、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243080A (ja) * 2000-03-02 2001-09-07 Hitachi Ltd 情報処理装置
JP2004326562A (ja) * 2003-04-25 2004-11-18 Omron Corp プログラマブルコントローラ用検査機器およびプログラマブルコントローラならびにネットワークシステム
JP2010049355A (ja) * 2008-08-19 2010-03-04 Fujitsu Ten Ltd 模擬マイクロコンピュータ装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09128277A (ja) 1995-10-27 1997-05-16 Nec Software Ltd 複数os搭載システムにおけるファイル管理方式
EP1840743B1 (en) * 2004-12-01 2011-05-18 Vodafone Group PLC Linkage operation method and mobile terminal device
JP4649482B2 (ja) * 2004-12-14 2011-03-09 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト 車両内の移動端末にソフトウェア・アプリケーションを提供するためのシステム
JP2008171076A (ja) 2007-01-09 2008-07-24 Vision Arts Kk ジョブ実行装置及びその制御方法
US8392988B2 (en) 2007-02-09 2013-03-05 Ntt Docomo, Inc. Terminal device and method for checking a software program
JP2010231601A (ja) 2009-03-27 2010-10-14 Nec Corp グリッドコンピューティングシステム、リソース制御方法およびリソース制御プログラム
WO2014172369A2 (en) * 2013-04-15 2014-10-23 Flextronics Ap, Llc Intelligent vehicle for assisting vehicle occupants and incorporating vehicle crate for blade processors
JP2014085857A (ja) * 2012-10-24 2014-05-12 Alpine Electronics Inc 電子装置、電子装置の通信制御方法、電子装置の通信制御プログラム、情報端末装置および電子システム
US9144094B2 (en) * 2012-10-29 2015-09-22 Qualcomm Incorporated Establishing a wireless display session between a computing device and a vehicle head unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243080A (ja) * 2000-03-02 2001-09-07 Hitachi Ltd 情報処理装置
JP2004326562A (ja) * 2003-04-25 2004-11-18 Omron Corp プログラマブルコントローラ用検査機器およびプログラマブルコントローラならびにネットワークシステム
JP2010049355A (ja) * 2008-08-19 2010-03-04 Fujitsu Ten Ltd 模擬マイクロコンピュータ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016014918A (ja) * 2014-06-30 2016-01-28 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
US10075620B2 (en) 2014-06-30 2018-09-11 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
CN104884309A (zh) 2015-09-02
JP2014139772A (ja) 2014-07-31
DE112013006086T5 (de) 2015-08-27
CN104884309B (zh) 2017-03-08
JP6032176B2 (ja) 2016-11-24
US9779685B2 (en) 2017-10-03
US20150302820A1 (en) 2015-10-22

Similar Documents

Publication Publication Date Title
JP6032176B2 (ja) 車両用表示制御装置
JP6507169B2 (ja) 複数のユーザインターフェース動作ドメインを有する車両
CN109388467B (zh) 地图信息显示方法、装置、计算机设备及存储介质
KR102004060B1 (ko) 자율 주행 차량을 작동하는 컴퓨팅 노드들 사이의 효율적 통신
EP3092566B1 (en) Vehicle with multiple user interface operating domains
CN105783939B (zh) 具有可扩展显示装置的导航系统及其操作方法
EP4075272A1 (en) Signal processing device, and vehicle display device comprising same
JP2020177072A (ja) 車両用装置、車両用装置の制御方法
US20230289179A1 (en) Method of implementing software architecture for common use of wayland protocol
WO2013145580A1 (ja) 情報表示装置
WO2018110169A1 (ja) 出力処理装置および出力処理方法
JP7174926B2 (ja) 表示制御システム、移動体、表示制御方法、表示装置、表示方法及びプログラム
US20240143360A1 (en) Signal processing device and display apparatus for vehicles including the same
KR102581600B1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
US20220327986A1 (en) Signal processing device and vehicle display apparatus including the same
JP7180516B2 (ja) 車両用装置、車両用装置の制御方法
US20220032775A1 (en) Vehicle device and vehicle device control method
Shelly Advanced In-Vehicle Systems: A Reference Design for the Future
JP2020177074A (ja) 車両用装置、車両用装置の制御方法
KR20220139790A (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
GB2584325A (en) Multimedia system with optimized performance

Legal Events

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

Ref document number: 13866121

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14647871

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1120130060868

Country of ref document: DE

Ref document number: 112013006086

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13866121

Country of ref document: EP

Kind code of ref document: A1