WO2017037817A1 - アプリケーション実行装置およびアプリケーション実行方法 - Google Patents

アプリケーション実行装置およびアプリケーション実行方法 Download PDF

Info

Publication number
WO2017037817A1
WO2017037817A1 PCT/JP2015/074573 JP2015074573W WO2017037817A1 WO 2017037817 A1 WO2017037817 A1 WO 2017037817A1 JP 2015074573 W JP2015074573 W JP 2015074573W WO 2017037817 A1 WO2017037817 A1 WO 2017037817A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
camera
kernel
display
function
Prior art date
Application number
PCT/JP2015/074573
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 JP2017537083A priority Critical patent/JP6272578B2/ja
Priority to PCT/JP2015/074573 priority patent/WO2017037817A1/ja
Priority to CN201580082463.XA priority patent/CN107924315A/zh
Priority to DE112015006862.7T priority patent/DE112015006862T5/de
Priority to US15/576,213 priority patent/US10417008B2/en
Publication of WO2017037817A1 publication Critical patent/WO2017037817A1/ja

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/4401Bootstrapping
    • 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/445Program loading or initiating
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • 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

Definitions

  • the present invention relates to an application execution device and an application execution method for executing an application.
  • a camera image processed by hardware other than a CPU (Central Processing Unit) having a high function OS is output to the display, or a camera image is output to the display by a boot loader function in a CPU having a high function OS.
  • a guide line is superimposed on the camera image and output to the display by hardware other than the CPU or a camera application in a high-function OS.
  • the video image is displayed such that the camera image is displayed first, and then the camera image on which the guide line is superimposed is displayed.
  • the high-function OS refers to an OS that performs advanced information processing, such as Linux (registered trademark) OS and Android OS.
  • a camera installed at the rear of the vehicle, an image processing circuit that processes the video signal and outputs it to the image display means, and a processing process (guided to the image) by the image processing circuit in conjunction with the input operation of the back gear.
  • a vehicle-mounted rear monitoring device that performs a process of superimposing a guide wire is disclosed (for example, see Patent Document 1).
  • a vehicle display device includes display control means for displaying an image obtained by the device on an in-vehicle display device (for example, see Patent Document 2).
  • a first instruction unit that instructs normal activation of the electronic device a second instruction unit that instructs temporary activation of the electronic device, a first arithmetic processing unit, and a second arithmetic processing unit are provided.
  • the first arithmetic processing unit executes the first operating system when instructed by the first instructing unit, and executes the processing of the first user interface when the activation of the first operating system is completed.
  • the processing of the first operating system and the first user interface is not executed, and the second arithmetic processing unit can be executed in a shorter time compared to the first operating system.
  • the second operating system to be started is executed, and when instructed by the first instruction unit, when the second operating system has been started, the second user interface is completed. Executing the processing of over scan, it inhibits the electronic device to execute a process of the second user interface when the activation of the first operating system is completed, has been disclosed (for example, see Patent Document 3).
  • a camera application for displaying a camera video at high speed becomes a problem.
  • a camera application since it takes time to start at cold boot, it is necessary to speed up the start at cold boot.
  • Patent Document 1 it is determined whether or not processing by the graphic LSI is possible when the back gear is on, and when it is determined that processing by the graphic LSI is not possible, the video signal of the camera does not pass through the graphic LSI. Switching is performed by the changeover switch means so as to be in a state of being directly input to the LCD panel. Therefore, hardware that superimposes the guide line on the camera image is required, which is expensive. Further, since the camera video passage route is switched by the changeover switch means, the display image flickers when the camera video is taken over.
  • Patent Document 2 since the main CPU and the display CPU are switched, the passage route of the camera video is different. Accordingly, the display image flickers when the camera image is taken over. In addition, hardware that superimposes the guide line on the camera image is required, which is expensive.
  • the display image flickers when the camera image is taken over.
  • the present invention has been made in order to solve such a problem, and is an application execution device that can be started at a high speed during a cold boot and can prevent a display image from flickering when a camera image is taken over. And an application execution method.
  • an application execution apparatus includes a kernel having a predetermined function mechanism, a framework having an abstraction function mechanism that is activated by the kernel and abstracts the function mechanism, and a function.
  • a first application that operates using the mechanism directly; and a second application that operates using the function mechanism indirectly via the abstraction function mechanism and has the function of the first application.
  • the first application has a smaller capacity than the second application.
  • An application execution method is an application execution method that executes at least a kernel and a framework in order and executes a first application and a second application.
  • the kernel has a predetermined functional mechanism.
  • the framework is started by the kernel, has an abstract function mechanism that abstracts the function mechanism, the first application operates directly using the function mechanism, and the second application is an abstract function. It operates by using the functional mechanism indirectly through the functionalization mechanism, has the function of the first application, and the first application has a smaller capacity than the second application.
  • an application execution apparatus directly uses a kernel having a predetermined functional mechanism, a framework having an abstract functional mechanism that is activated by the kernel and abstracts the functional mechanism, and the functional mechanism. And a second application that operates by indirectly using the functional mechanism via the abstraction functional mechanism and has the function of the first application. Since the capacity is smaller than that of the second application, it is possible to start earlier at the cold boot and to prevent the display image from flickering when taking over the camera video.
  • the application execution method is an application execution method that executes at least the kernel and the framework in order and executes the first application and the second application.
  • the kernel has a predetermined functional mechanism, The work is started by the kernel and has an abstract function mechanism that abstracts the function mechanism.
  • the first application operates using the function mechanism directly.
  • the second application operates as the abstract function mechanism.
  • the first application has the function of the first application, and since the first application has a smaller capacity than the second application, the first application starts at a cold boot, and It is possible to prevent the display image from flickering when taking over the camera image That.
  • FIG. 1 is a block diagram showing an example of a hardware configuration related to the application execution apparatus according to the first embodiment. Note that FIG. 1 illustrates an example of a hardware configuration related to an application execution device that executes an application for displaying a camera image captured by the camera 1 on the display 4.
  • the camera image taken by the camera 1 is converted into a format suitable for the CPU 3 by the capture 2.
  • the camera image converted by the capture 2 is added with drawing information such as a guide line by the CPU 3 and is output to the display 4.
  • the CPU 3 switches between a camera image and a camera image to which drawing information such as a guide line is added.
  • the application execution apparatus according to the first embodiment is realized by the operation of the CPU 3.
  • the hardware configuration shown in FIG. 1 is the same as the hardware configuration (hardware configuration that does not require fast startup) that outputs normal camera video to the display, and does not have separate hardware for fast startup. .
  • high-speed startup is realized by the hardware configuration shown in FIG.
  • FIG. 21 is a block diagram illustrating an example of a hardware configuration according to a conventional technique.
  • FIG. 21 schematically shows the hardware configuration of Patent Documents 1 and 2.
  • the camera video captured by the camera 25 is output to the display 30 through the path of the capture 26, the graphic 27, the switch 29, and the display 30. At this time, the camera image captured by the camera 25 is displayed on the display 30.
  • the camera image taken by the camera 25 is output to the display 30 through the path of the capture 26, the graphic 27, the CPU 28, and the switch 29. At this time, the camera image on which the guide line superimposition processing is performed by the CPU 28 is displayed on the display 30.
  • FIG. 2 is a block diagram showing an example of the software configuration of the application execution apparatus according to the first embodiment. 2 shows a software configuration executed by the CPU 3 in FIG.
  • the CPU 3 has a function of executing a kernel 5, a framework 7, a native camera application 9, and a normal camera application 10.
  • the kernel 5 has a display mechanism 6 that is a function for displaying on the display 4.
  • the kernel 5 is a driver (display driver and capture driver in the example of FIG. 2) for displaying on the display 4 and hardware resources (devices connected to the display 4 provided in the CPU 3 in the example of FIG. 2). )have.
  • the display mechanism 6 exists above the driver.
  • the kernel 5 is described as being a Linux kernel.
  • the display mechanism 6 may be an AndroidOS SurfaceFlinger and a Hardware Composer.
  • the framework 7 has a display mechanism 6 included in the kernel, an abstract display mechanism 8 that abstracts drivers and hardware resources.
  • the native camera application 9 is an application for displaying camera images on the display 4 and operates using the display mechanism 6 directly.
  • the native camera application 9 has only a basic function that does not output or output a camera video, and does not have a function of superimposing a guide line on the camera video. That is, the native camera application 9 has a specific function among the functions of the normal application 10 described later.
  • the normal camera application 10 is an application for displaying camera images on the display 4 and operates by indirectly using the display mechanism 6 via the abstract display mechanism 8.
  • the normal camera application 10 has a complicated function such as a function of superimposing a guide line on the camera video.
  • FIG. 3 is a block diagram showing an example of the software configuration of the application execution apparatus according to the first embodiment.
  • the software configuration shown in FIG. 3 is a generalization of the software configuration shown in FIG.
  • the kernel 5 has a functional mechanism 11 including the display mechanism 6 of FIG.
  • the kernel 5 has peripheral group drivers and hardware resources including the drivers and hardware resources described in FIG.
  • the framework 7 has a function mechanism 11, a driver, and an abstract function mechanism 12 that abstracts hardware resources.
  • the native application 13 (first application) operates using the functional mechanism 11 directly.
  • the normal application 14 (second application) has the function of the native application 13 and operates by using the functional mechanism 11 indirectly via the abstraction functional mechanism 12.
  • the native application 13 has a specific function among the functions of the normal application 14.
  • FIG. 22 is a block diagram showing an example of a software configuration according to the prior art.
  • FIG. 22 schematically shows the software configuration of Patent Document 3.
  • the OS 31 includes a display mechanism 32, and the application 33 operates using the display mechanism 32.
  • the OS 34 includes a display mechanism 35, and the application 36 operates using the display mechanism 35.
  • the applications 33 and 36 are applications for displaying video on a display.
  • FIG. 4 is a block diagram showing an example of a hardware configuration related to the application execution apparatus according to the first embodiment. 4 shows a hardware configuration around the CPU 3 in FIG.
  • NOR flash memory 15 As shown in FIG. 4, a NOR flash memory 15, an eMMC (embedded Multi Media Card) 16, and a DRAM (Dynamic Random Access Memory) 17 are connected to the CPU 3.
  • the NOR flash memory 15, eMMC 16, and DRAM 17 are not shown in FIG.
  • the NOR flash memory 15 stores a boot loader 18.
  • the NOR flash memory 15 may be a small-capacity storage, and may be, for example, a ROM (Read Only Memory).
  • the eMMC 16 stores a kernel 5, a framework 7, and applications (not shown) including a native camera application 9 and a normal camera application 10.
  • the eMMC 16 may be a large-capacity storage, and may be, for example, a hard disk.
  • the CPU 3 loads at least one of the kernel 5, the framework 7, and the boot loader 18 into the DRAM 17 and operates it.
  • the native camera application 9 and the normal camera application 10 in FIG. 2 and the native application 13 and the normal application 14 in FIG. 3 are stored in the eMMC 16.
  • the application execution device operates by starting up the boot loader 18, the kernel 5, and the framework 7 in this order.
  • the details of boot loader 18, kernel 5, and framework 7 activation will be described.
  • the CPU 3 loads the boot loader 18 stored in the NOR flash memory 15 into the DRAM 17 using a program stored in the NOR flash memory 15.
  • the loaded boot loader 18 starts up and operates in the DRAM 17.
  • the program stored in the NOR flash memory 15 has a function of loading the boot loader 18 into the DRAM 17.
  • the boot loader 18 loads the kernel 5 stored in the eMMC 16 into the DRAM 17.
  • the loaded kernel 5 is activated by the DRAM 17 and operates. Specifically, the kernel 5 initializes and develops drivers, hardware resources, and functional mechanisms.
  • the kernel 5 loads the framework 7 stored in the eMMC 16 into the DRAM 17.
  • the loaded framework 7 is activated by the DRAM 17 and operates. Specifically, the framework 7 initializes and develops an abstraction function mechanism and other software components (other abstracted function mechanisms).
  • the high function OS is composed of the framework 7.
  • the kernel 5 and the framework 7 operate cooperatively on the DRAM 17.
  • the boot loader 18 is ejected from the DRAM 17 and does not operate after loading of the high function OS.
  • the boot loader 18 and the high function OS are different systems.
  • the high-function OS (framework 7) is described as being an Android OS in the first embodiment, the present invention is not limited to this.
  • FIG. 9 is a diagram showing an example of the operation of the application execution apparatus when the CPU 3 has the functions shown in FIG.
  • the boot loader 18 loads the kernel 5 into the DRAM 17.
  • the kernel 5 is activated by the DRAM 17 (see FIGS. 6 and 7).
  • the CPU 3 loads the native application 13 into the DRAM 17 and activates the native application 13.
  • the native application 13 uses a function mechanism 11 of the kernel 5 directly to execute a predetermined function.
  • the kernel 5 loads the framework 7 into the DRAM 17.
  • the framework 7 is activated by the DRAM 17 (see FIG. 8).
  • the CPU 3 loads the normal application 14 into the DRAM 17 and activates the normal application 14.
  • the normal application 14 executes a predetermined function by indirectly using the function mechanism 11 of the kernel 5 via the abstract function mechanism 12 of the framework 7.
  • the load time depends on the capacity of the native application 13.
  • the function of the native application 13 is minimized to reduce the program capacity of the native application 13 (that is, the native camera application 9 is the normal camera application 10). It is necessary to make the capacity smaller.
  • the load time of the native application 13 is optimized, and the time from the power-on of the CPU 3 to the operation by the native application 13 is shortened.
  • the native application 13 ends the operation at an arbitrary timing after the normal application 14 is executed.
  • the arbitrary timing may be when the normal application 14 starts to operate or when the normal application 14 operates completely (after operation of the normal application 14).
  • FIG. 10 is a diagram showing an example of the operation of the application execution apparatus when the CPU 3 has the functions shown in FIG.
  • the boot loader 18 loads the kernel 5 into the DRAM 17.
  • the kernel 5 is activated by the DRAM 17 (see FIGS. 6 and 7).
  • the CPU 3 loads the native camera application 9 into the DRAM 17 and activates the native camera application 9.
  • the native camera application 9 outputs the camera video to the display 4 using the display mechanism 6 of the kernel 5.
  • the kernel 5 loads the framework 7 into the DRAM 17.
  • the framework 7 is activated by the DRAM 17 (see FIG. 8).
  • the CPU 3 loads the normal camera application 10 into the DRAM 17 and activates the normal camera application 10.
  • the normal camera application 10 displays a camera image on which additional information such as a guide line is superimposed on the display 4 by indirectly using the display mechanism 6 of the kernel 5 via the abstract display mechanism 8 of the framework 7. .
  • the loading time depends on the capacity of the native camera application 9.
  • the function of the native camera application 9 is minimized to reduce the program capacity of the native camera application 9 (that is, the native camera application 9 is normal It is necessary to make the capacity smaller than that of the camera application 10).
  • the load time of the native camera application 9 is optimized, and the time from the power-on of the CPU 3 to the operation by the native camera application 9 is shortened.
  • the native camera application 9 and the normal camera application 10 operate using the same display mechanism 6 directly or indirectly. Accordingly, the display screen does not flicker when switching from the camera image by the native camera application 9 to the camera image by the normal camera application 10.
  • the native camera application 9 ends the operation at an arbitrary timing after the normal camera application 10 is executed.
  • the arbitrary timing may be when the normal camera application 10 starts to operate or when the normal camera application 10 operates completely (after operation of the normal camera application 10).
  • the function of the native application 13 (or the native camera application 9) can be minimized, so that it can be started at a high speed during a cold boot. Further, by using the same functional mechanism 11 (or display mechanism 6) in the native camera application 9 and the normal camera application 10, it is possible to prevent the display image from flickering when taking over the camera video. Become.
  • Embodiment 2 of the present invention is characterized in that a functional mechanism necessary for the operation of a native application is started first. Since other configurations and operations are the same as those in the first embodiment, detailed description thereof is omitted here.
  • FIG. 11 is a diagram showing an example of the operation of the application execution apparatus when the CPU 3 has the functions shown in FIG.
  • the boot loader 18 loads the kernel 5 into the DRAM 17.
  • the kernel 5 is activated by the DRAM 17 (see FIGS. 6 and 7).
  • the kernel 5 initializes and develops drivers, hardware resources, and functional mechanisms necessary for the native application 13 in the functional mechanism 11.
  • the CPU 3 loads the native application 13 into the DRAM 17 and activates the native application 13.
  • the native application 13 executes a predetermined function by directly using a function mechanism necessary for the native application 13 among the function mechanisms 11 of the kernel 5.
  • the kernel 5 After execution of the native application 13, the kernel 5 initializes and deploys drivers, hardware resources, and functional mechanisms that are not necessary for the native application 13 among the functional mechanisms 11.
  • FIG. 12 is a diagram showing an example of the operation of the application execution device when the CPU 3 has the functions shown in FIG.
  • the boot loader 18 loads the kernel 5 into the DRAM 17.
  • the kernel 5 is activated by the DRAM 17 (see FIGS. 6 and 7).
  • the kernel 5 initializes and develops drivers, hardware resources, and the display mechanism 6 necessary for the native camera application 9 in the function mechanism 11.
  • the CPU 3 loads the native camera application 9 into the DRAM 17 and activates the native camera application 9.
  • the native camera application 9 outputs the camera image to the display 4 by directly using the display mechanism 6 of the kernel 5.
  • the kernel 5 After the execution of the native camera application 9, the kernel 5 initializes and deploys drivers, hardware resources, and functional mechanisms (functional mechanisms other than the display mechanism 6) that are not necessary for the native camera application 9 among the functional mechanisms 11.
  • the function mechanism necessary for the native application 13 is started first, and the native application 13 (or the native camera application 9) is executed. Therefore, it is possible to start at a high speed at cold boot.
  • the native application 13 (or the native camera application 9) may have a smaller capacity than the normal application 14 (or the normal camera application 10).
  • FIG. 13 and 14 are block diagrams showing an example of the software configuration of the application execution apparatus according to the third embodiment of the present invention.
  • FIG. 13 shows the overall configuration of the application execution apparatus
  • FIG. 14 mainly shows the detailed configuration of the kernel 5. Since other configurations and operations are the same as those in the first embodiment, detailed description thereof is omitted here.
  • FIG. 13 shows a configuration including the frame control mechanism 19 in FIG. 2, a configuration including the frame control mechanism 19 in FIG. 3 may be used.
  • the application execution apparatus is characterized by including a frame control mechanism 19.
  • the display mechanism 6 has window frames 20 to 22 and a mixer 23.
  • the kernel 5 has a display driver 24.
  • the frame control mechanism 19 is one of the native applications and is an abstraction of the window frames 20-22.
  • the frame control mechanism 19 performs control to allocate any of the window frames 20 to 22 to each of the native application and the normal application.
  • the window frames 20 to 22 are areas for storing a drawing window and a layer in the drawing window, which are screen designs composed of a native application and a normal application.
  • the display mechanism 6 has three window frames.
  • the number of window frames is not limited to three, and a plurality of window frames may be used.
  • the mixer 23 has a function of overlapping a plurality of applications.
  • the display driver 24 has a function of outputting camera video to the display 4.
  • FIG. 15 is a diagram showing the relationship between the frame control mechanism 19 and the display mechanism 6.
  • the frame control mechanism 19 manages and controls access to an arbitrary window frame of the display mechanism 6 by the abstract display mechanism 8 of the native application or the framework 7. That is, the usage of a specific window frame can be managed and controlled by the frame control mechanism 19.
  • FIG. 16 shows a case where the native camera application 9 operates.
  • the frame control mechanism 19 assigns the window frame 20 of the display mechanism 6 to the native camera application 9.
  • the camera video passes through the window frame 20 and the mixer 23 and is output to the display 4 by driving the display driver 24 of the kernel 5.
  • the native camera application 9 does not have to grasp which window frame of the display mechanism 6 is used.
  • FIG. 17 shows a case where any normal application (other than the normal camera application 10) that does not have the function of outputting the camera video to the display 4 operates.
  • the frame control mechanism 19 assigns the window frame 22 of the display mechanism 6 to the abstract display mechanism 8 of the framework 7.
  • an image drawn by the normal application passes through the window frame 22 and the mixer 23 and is output to the display 4 by driving the display driver 24 of the kernel 5.
  • the abstract display mechanism 8 of the framework 7 does not have to grasp which window frame of the display mechanism 6 is used.
  • FIG. 16 and FIG. 17 are executed at the same time, a camera image by the operation of the native camera application 9 is input to the window frame 20, and an operation of an arbitrary normal application other than the normal camera application 10 is input to the window frame 22. An image is input.
  • the mixer 23 of the display mechanism 6 outputs only the camera image by the operation of the native camera application 9 to the display 4, outputs only the image by the operation of an arbitrary normal application to the display 4, or depends on the operation of the native camera application 9. Either the camera image and an image of an operation of an arbitrary normal application are superimposed and output to the display 4. In this way, it is possible to switch or superimpose the output of the camera video by the operation of the native camera application 9 and the image by the operation of an arbitrary normal application.
  • FIG. 18 shows a case where the normal camera application 10 operates.
  • the frame control mechanism 19 assigns the window frame 20 of the display mechanism 6 to the normal camera application 10 via the abstract display mechanism 8 of the framework 7.
  • the camera video passes through the window frame 20 and the mixer 23 and is output to the display 4 by driving the display driver 24 of the kernel 5.
  • the frame control mechanism 19 controls the window frame according to the hardware resources regardless of the native camera application 9 and the normal camera application 10 which are higher-level states of the frame control mechanism 19.
  • the same window frame 20 is allocated.
  • the camera video using the window frame 20 is controlled by the frame control mechanism 19. Is continuously output, flickering of the display image at the time of switching (camera image disturbance) does not occur.
  • FIG. 19 is a sequence diagram summarizing the operations shown in FIGS.
  • the display driver 24, the display mechanism 6, and the frame control mechanism 19 perform an initialization process.
  • the frame control mechanism 19 acquires a window list from the display mechanism 6 during the initialization process.
  • the native camera application 9 acquires the window information from the frame control mechanism 19 and then acquires the window 1.
  • the display mechanism 6 acquires a frame buffer from the memory.
  • the camera video is captured by the operation of the native camera application 9.
  • the window 1 corresponds to the window frame 20 in the example of FIG.
  • the memory corresponds to, for example, the DRAM 17 in FIG.
  • the camera video is captured by, for example, capture 2 in FIG.
  • the abstract display mechanism 8 acquires window information from the frame control mechanism 19 during the initialization process.
  • the normal camera application 10 obtains window information from the abstract display mechanism 8 and then issues a stop request to the native camera application 9. Thereafter, the normal camera application 10 acquires the window 1 from the abstract display mechanism 8.
  • the normal camera application 10 acquires the window 2 from the display mechanism 6 and draws a guide line or the like using the window 2.
  • the window 2 may be, for example, a window frame 22 (see FIG. 17).
  • FIG. 20 is a diagram showing an example when only a conventional normal camera application is operated. As shown in FIG. 20, the normal camera application does not take over the camera video using a window common to the native camera application as shown in FIG. Therefore, conventionally, flickering occurs at the time of taking over the camera image by the operation of the normal camera application.
  • the same window frame is assigned to the native camera application 9 and the normal camera application 10 to prevent the display image from flickering when taking over the camera video. It becomes possible.
  • the native camera application 9 may have a smaller capacity than the normal camera application 10 as in the first embodiment.
  • the function mechanism (display mechanism 6) necessary for the native camera application 9 may be activated first to execute the native camera application 9.

Abstract

本発明は、コールドブート時に早く起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能なアプリケーション実行装置およびアプリケーション実行方法を提供することを目的とする。本発明によるアプリケーション実行装置は、予め定められた機能機構を有するカーネルと、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有するフレームワークと、機能機構を直接的に利用して動作する第1のアプリケーションと、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有する第2のアプリケーションとを備え、第1のアプリケーションは、第2のアプリケーションよりも容量が小さいことを特徴とする。

Description

アプリケーション実行装置およびアプリケーション実行方法
 本発明は、アプリケーションを実行するアプリケーション実行装置およびアプリケーション実行方法に関する。
 後方を撮影するカメラを車両に搭載し、後方発進時にカメラで撮影された映像(以下、カメラ映像という)をディスプレイに表示する技術がある。当該技術では、後方発進時にカメラ映像を素早くディスプレイに表示することが要求されている。
 例えば、高機能OS(Operating System)を有するCPU(Central Processing Unit)以外のハードウェアで処理したカメラ映像をディスプレイに出力、または高機能OSを有するCPUにおけるブートローダの機能によってカメラ映像をディスプレイに出力した後に、CPU以外のハードウェア、または高機能OSにおけるカメラアプリケーションによってカメラ映像にガイド線を重畳してディスプレイに出力している。このように、まずカメラ映像を表示し、その後、ガイド線を重畳したカメラ映像を表示するという映像の引き継ぎが行われている。ここで、高機能OSとは、高度な情報処理を行うOSのことをいい、例えばLinux(登録商標)OSおよびAndroidOS等が挙げられる。
 従来、車両後部に設置されたカメラと、映像信号に加工処理を施して画像表示手段に向けて出力する画像処理回路と、バックギヤの入力操作に連動して画像処理回路による加工処理(画像にガイド線を重畳する処理)が可能か否かを判断する判断手段とを備え、ガイド線が必要ないときはカメラ映像にガイド線を重畳する処理を施さず、ガイド線が必要なときはカメラ映像にガイド線を重畳する処理を施す車載用後方監視装置が開示されている(例えば、特許文献1参照)。
 また、メインCPUの起動が完了したか否かを判定する起動判定手段と、起動判定手段でメインCPUの起動が完了していないと判定した場合に、メインCPUを利用せずに表示CPUによって撮像装置で得られた画像を車載表示機器に表示させる表示制御手段とを備える車両用表示装置が開示されている(例えば、特許文献2参照)。
 また、電子機器の通常の起動を指示する第1の指示部と、電子機器の一時的起動を指示する第2の指示部と、第1の演算処理部と、第2の演算処理部とを備え、第1の演算処理部は、第1の指示部により指示された場合は第1のオペレーティングシステムを実行し、第1のオペレーティングシステムの起動が完了すると第1のユーザインタフェースの処理を実行し、第2の指示部により指示された場合は第1のオペレーティングシステムおよび第1のユーザインタフェースの処理を実行せず、第2の演算処理部は、第1のオペレーティングシステムに比較して短い時間で起動される第2のオペレーティングシステムを実行し、第1の指示部により指示された場合は第2のオペレーティングシステムの起動が完了すると第2のユーザインタフェースの処理を実行し、第1のオペレーティングシステムの起動が完了したとき第2のユーザインタフェースの処理の実行を抑制する電子機器が開示されている(例えば、特許文献3参照)。
特許第4498771号公報 特許第4978558号公報 特許第5028904号公報
 上述の通り、車両の後方発進時にカメラ映像をディスプレイに表示する際、カメラ映像を素早く(例えば、電源ON後2秒以内に)ディスプレイに表示することが要求されている。すなわち、いかに高速にカメラ映像を表示させるためのアプリケーション(以下、カメラアプリケーションという)を起動させるかが課題となる。特に、コールドブート時の起動には時間がかかるため、コールドブート時の起動を早くする必要がある。
 特許文献1では、バックギヤがオンの時にグラフィックLSIによる加工処理が可能であるか否かを判断し、グラフィックLSIによる加工処理が可能でないと判断した時には、カメラの映像信号がグラフィックLSIを介さずにLCDパネルに直接入力される状態となるように切り替えスイッチ手段で切り替えている。従って、カメラ映像にガイド線を重畳させるハードウェアが必要となりコストがかかる。また、切り替えスイッチ手段によってカメラ映像の通過経路を切り替えているため、カメラ映像の引き継ぎ時に表示画像にちらつきが生じる。
 特許文献2では、メインCPUと表示CPUとを切り替えているため、カメラ映像の通過経路が異なっている。従って、カメラ映像の引き継ぎ時に表示画像にちらつきが生じる。また、カメラ映像にガイド線を重畳させるハードウェアが必要となりコストがかかる。
 特許文献3では、第1のオペレーティングシステムと第2のオペレーティングシステムとを切り替えているため、切り替え時(カメラ映像の引き継ぎ時)に表示画像にちらつきが生じる。
 高機能OSを有するCPUにおけるブートローダの機能によってカメラ映像をディスプレイに出力する場合は、カメラ映像の引き継ぎ時に表示画像にちらつきが生じる。
 上記より、従来では、カメラ映像の引き継ぎ時に表示画像にちらつきが生じるという問題があった。従って、コールドブート時に高速に起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが望まれる。
 本発明は、このような問題を解決するためにされたものであり、コールドブート時に高速に起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能なアプリケーション実行装置およびアプリケーション実行方法を提供することを目的とする。
 上記の課題を解決するために、本発明によるアプリケーション実行装置は、予め定められた機能機構を有するカーネルと、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有するフレームワークと、機能機構を直接的に利用して動作する第1のアプリケーションと、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有する第2のアプリケーションとを備え、第1のアプリケーションは、第2のアプリケーションよりも容量が小さいことを特徴とする。
 また、本発明によるアプリケーション実行方法は、少なくともカーネルおよびフレームワークの順に起動して第1のアプリケーションおよび第2のアプリケーションを実行するアプリケーション実行方法であって、カーネルは、予め定められた機能機構を有し、フレームワークは、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有し、第1のアプリケーションは、機能機構を直接的に利用して動作し、第2のアプリケーションは、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有し、第1のアプリケーションは、第2のアプリケーションよりも容量が小さいことを特徴とする。
 本発明によると、アプリケーション実行装置は、予め定められた機能機構を有するカーネルと、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有するフレームワークと、機能機構を直接的に利用して動作する第1のアプリケーションと、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有する第2のアプリケーションとを備え、第1のアプリケーションは、第2のアプリケーションよりも容量が小さいため、コールドブート時に早く起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
 また、アプリケーション実行方法は、少なくともカーネルおよびフレームワークの順に起動して第1のアプリケーションおよび第2のアプリケーションを実行するアプリケーション実行方法であって、カーネルは、予め定められた機能機構を有し、フレームワークは、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有し、第1のアプリケーションは、機能機構を直接的に利用して動作し、第2のアプリケーションは、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有し、第1のアプリケーションは、第2のアプリケーションよりも容量が小さいため、コールドブート時に早く起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
 本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施の形態1によるアプリケーション実行装置に係るハードウェア構成の一例を示すブロック図である。 本発明の実施の形態1によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。 本発明の実施の形態1によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。 本発明の実施の形態1によるアプリケーション実行装置に係るハードウェア構成の一例を示すブロック図である。 本発明の実施の形態1によるアプリケーション実行装置の起動順序の一例を示す図である。 本発明の実施の形態1によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態1によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態1によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態1によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態1によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態2によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態2によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態3によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。 本発明の実施の形態3によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。 本発明の実施の形態3によるフレーム制御機構と表示機構との関係を示す図である。 本発明の実施の形態3によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態3によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態3によるアプリケーション実行装置の動作の一例を示す図である。 本発明の実施の形態3によるアプリケーション実行装置の動作の一例を示す図である。 従来のノーマルカメラアプリケーションのみを動作させた場合の一例を示す図である。 従来技術によるハードウェア構成の一例を示すブロック図である。 従来技術によるソフトウェア構成の一例を示すブロック図である。
 本発明の実施の形態について、図面に基づいて以下に説明する。
 <実施の形態1>
 まず、本発明の実施の形態1によるアプリケーション実行装置の構成について説明する。
 図1は、本実施の形態1によるアプリケーション実行装置に係るハードウェア構成の一例を示すブロック図である。なお、図1では、カメラ1で撮影されたカメラ映像をディスプレイ4に表示させるアプリケーションを実行するアプリケーション実行装置に係るハードウェア構成の一例を示している。
 図1に示すように、カメラ1で撮影されたカメラ映像は、キャプチャ2でCPU3に適したフォーマットに変換される。キャプチャ2で変換されたカメラ映像は、CPU3でガイド線などの描画情報が付加されて、ディスプレイ4に出力される。CPU3は、カメラ映像と、ガイド線など描画情報が付加されたカメラ映像との切り替えを行う。本実施の形態1によるアプリケーション実行装置は、CPU3の動作によって実現される。
 図1に示すハードウェア構成は、通常のカメラ映像をディスプレイに出力するハードウェア構成(高速起動を必要としないハードウェア構成)と同様であり、高速起動を行うためのハードウェアを別個備えていない。本実施の形態1では、図1に示すハードウェア構成によって高速起動を実現している。
 図21は、従来技術によるハードウェア構成の一例を示すブロック図である。なお、図21は、特許文献1,2のハードウェア構成を概略的に示したものである。
 図21に示すように、CPU28の起動前において、カメラ25で撮影されたカメラ映像は、キャプチャ26、グラフィック27、スイッチ29、およびディスプレイ30の経路を通ってディスプレイ30に出力される。このとき、ディスプレイ30には、カメラ25で撮影されたカメラ映像が表示される。
 また、CPU28が起動すると、カメラ25で撮影されたカメラ映像は、キャプチャ26、グラフィック27、CPU28、およびスイッチ29の経路を通ってディスプレイ30に出力される。このとき、ディスプレイ30には、CPU28でガイド線の重畳処理が施されたカメラ映像が表示される。
 上記より、図21に示す従来技術では、スイッチ29でカメラ映像の通過経路を切り替えているため、カメラ映像の引き継ぎ時にちらつきが生じる。
 図2は、本実施の形態1によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。なお、図2では、図1のCPU3で実行されるソフトウェア構成を示している。
 図2に示すように、CPU3は、カーネル5、フレームワーク7、ネイティブカメラアプリケーション9、およびノーマルカメラアプリケーション10を実行する機能を有している。
 カーネル5は、ディスプレイ4に表示する機能である表示機構6を有している。また、カーネル5は、ディスプレイ4に表示させるためのドライバ(図2の例では、ディスプレイドライバ、キャプチャドライバ)、ハードウェアリソース(図2の例では、CPU3に備えられている、ディスプレイ4に繋がるデバイス)を有している。表示機構6は、ドライバの上位に存在している。なお、本実施の形態1では、カーネル5はLinuxカーネルであるものとして説明するが、これに限るものではない。また、表示機構6は、AndroidOSのSurfaceFlingerおよびHardwareComposerであってもよい。
 フレームワーク7は、カーネルが有する表示機構6、ドライバ、ハードウェアリソースを抽象化した抽象化表示機構8を有している。
 ネイティブカメラアプリケーション9は、カメラ映像をディスプレイ4に表示するためのアプリケーションであり、表示機構6を直接的に利用して動作する。また、ネイティブカメラアプリケーション9は、カメラ映像を出力または出力しない程度の基本的な機能のみを有し、カメラ映像にガイド線を重畳させる機能は有していない。すなわち、ネイティブカメラアプリケーション9は、後述するノーマルアプリケーション10が有する機能のうちの特定の機能を有している。
 ノーマルカメラアプリケーション10は、カメラ映像をディスプレイ4に表示するためのアプリケーションであり、抽象化表示機構8を介して表示機構6を間接的に利用して動作する。また、ノーマルカメラアプリケーション10は、カメラ映像にガイド線を重畳する機能等の複雑な機能を有している。
 図3は、本実施の形態1によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。なお、図3に示すソフトウェア構成は、図2に示すソフトウェア構成を一般化したものである。
 図3に示すように、カーネル5は、図2の表示機構6を含む機能機構11を有している。また、カーネル5は、図2で説明したドライバおよびハードウェアリソースを含む、ペリフェラル群のドライバおよびハードウェアリソースを有している。
 フレームワーク7は、機能機構11、ドライバ、およびハードウェアリソースを抽象化した抽象化機能機構12を有している。
 ネイティブアプリケーション13(第1のアプリケーション)は、機能機構11を直接的に利用して動作する。また、ノーマルアプリケーション14(第2のアプリケーション)は、ネイティブアプリケーション13の機能を有し、抽象化機能機構12を介して機能機構11を間接的に利用して動作する。ネイティブアプリケーション13は、ノーマルアプリケーション14が有する機能のうちの特定の機能を有している。
 図22は、従来技術によるソフトウェア構成の一例を示すブロック図である。なお、図22は、特許文献3のソフトウェア構成を概略的に示したものである。
 図22に示すように、OS31は、表示機構32を有しており、アプリケーション33は、表示機構32を利用して動作する。また、OS34は、表示機構35を有しており、アプリケーション36は、表示機構35を利用して動作する。なお、アプリケーション33,36は、ディスプレイに映像を表示させるためのアプリケーションであるものとする。
 図22に示す従来技術では、アプリケーション33,36ごとにOS31,34が異なっているため、アプリケーション33,36の切り替え時にはOS31,34を切り替える必要がある。このとき、アプリケーション33,36ごとに表示機構32,35が異なっているため、アプリケーション33,36の切り替え時に映像のちらつきが生じる。
 図4は、本実施の形態1によるアプリケーション実行装置に係るハードウェア構成の一例を示すブロック図である。なお、図4では、図1のCPU3周辺のハードウェア構成を示している。
 図4に示すように、CPU3には、NOR型フラッシュメモリ15、eMMC(embedded Multi Media Card)16、およびDRAM(Dynamic Random Access Memory)17が接続されている。なお、NOR型フラッシュメモリ15、eMMC16、およびDRAM17は、図1では図示を省略している。
 NOR型フラッシュメモリ15は、ブートローダ18を格納している。なお、NOR型フラッシュメモリ15は、小規模容量のストレージであればよく、例えばROM(Read Only Memory)等であってもよい。
 eMMC16は、カーネル5と、フレームワーク7と、ネイティブカメラアプリケーション9およびノーマルカメラアプリケーション10を含むアプリケーション(図示せず)とを格納している。なお、eMMC16は、大規模容量のストレージであればよく、例えばハードディスク等であってもよい。
 CPU3は、カーネル5、フレームワーク7、およびブートローダ18のうちの少なくとも1つをDRAM17にロードして動作させる。なお、図2のネイティブカメラアプリケーション9およびノーマルカメラアプリケーション10と、図3のネイティブアプリケーション13およびノーマルアプリケーション14とは、eMMC16に格納されている。
 次に、アプリケーション実行装置の全体的な動作について、図5~8を用いて説明する。
 図5に示すように、アプリケーション実行装置は、ブートローダ18、カーネル5、フレームワーク7の順に起動することによって動作する。以下、ブートローダ18、カーネル5、およびフレームワーク7起動の詳細について説明する。
 図6に示すように、CPU3は、NOR型フラッシュメモリ15に格納されているプログラムを用いて、NOR型フラッシュメモリ15に格納されているブートローダ18をDRAM17にロードする。ロードされたブートローダ18は、DRAM17で起動して動作する。ここで、NOR型フラッシュメモリ15に格納されているプログラムは、ブートローダ18をDRAM17にロードする機能を有している。
 図7に示すように、ブートローダ18は、eMMC16に格納されているカーネル5をDRAM17にロードする。ロードされたカーネル5は、DRAM17で起動して動作する。具体的には、カーネル5は、ドライバ、ハードウェアリソース、および機能機構を初期化展開する。
 図8に示すように、カーネル5は、eMMC16に格納されているフレームワーク7をDRAM17にロードする。ロードされたフレームワーク7は、DRAM17で起動して動作する。具体的には、フレームワーク7は、抽象化機能機構および他のソフトウェアコンポーネント(抽象化された他の機能機構)を初期化展開する。
 上記において、高機能OSは、フレームワーク7で構成される。カーネル5およびフレームワーク7は、DRAM17で協調的に動作する。一方、ブートローダ18は、高機能OSのローディングが終われば、DRAM17から排出されて動作しない。ブートローダ18と高機能OSとはシステムが異なる。なお、本実施の形態1では、高機能OS(フレームワーク7)はAndroidOSであるものとして説明するが、これに限るものではない。
 次に、アプリケーション実行装置の詳細な動作について説明する。
 図9は、CPU3が図3に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
 図9に示すように、CPU3の電源ON後、ブートローダ18は、カーネル5をDRAM17にロードする。カーネル5は、DRAM17で起動する(図6,7参照)。
 CPU3は、ネイティブアプリケーション13をDRAM17にロードし、ネイティブアプリケーション13を起動する。ネイティブアプリケーション13は、カーネル5の機能機構11を直接的に利用して、予め定められた機能を実行する。
 ネイティブアプリケーション13の起動後、カーネル5は、フレームワーク7をDRAM17にロードする。フレームワーク7は、DRAM17で起動する(図8参照)。
 フレームワーク7の起動後、CPU3は、ノーマルアプリケーション14をDRAM17にロードし、ノーマルアプリケーション14を起動する。ノーマルアプリケーション14は、フレームワーク7の抽象化機能機構12を介して、カーネル5の機能機構11を間接的に利用して、予め定められた機能を実行する。
 上記において、ネイティブアプリケーション13は、DRAM17にロードし展開されるため、ロード時間は、ネイティブアプリケーション13の容量に依存する。CPU3の電源ONから短時間でネイティブアプリケーション13を起動するためには、ネイティブアプリケーション13の機能を最小限にして、ネイティブアプリケーション13のプログラム容量を抑える(すなわち、ネイティブカメラアプリケーション9は、ノーマルカメラアプリケーション10よりも容量を小さくする)必要がある。これにより、ネイティブアプリケーション13のロード時間が最適化されて、CPU3の電源ONからネイティブアプリケーション13による動作までの時間が短縮する。
 なお、ネイティブアプリケーション13は、ノーマルアプリケーション14の実行後に、任意のタイミングで動作を終了する。任意のタイミングとしては、ノーマルアプリケーション14が動作し始めた時であってもよく、ノーマルアプリケーション14が完全に動作した時(ノーマルアプリケーション14の動作後)であってもよい。
 図10は、CPU3が図2に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
 図10に示すように、CPU3の電源ON後、ブートローダ18は、カーネル5をDRAM17にロードする。カーネル5は、DRAM17で起動する(図6,7参照)。
 CPU3は、ネイティブカメラアプリケーション9をDRAM17にロードし、ネイティブカメラアプリケーション9を起動する。ネイティブカメラアプリケーション9は、カーネル5の表示機構6を利用して、カメラ映像をディスプレイ4に出力する。
 ネイティブカメラアプリケーション9の起動後、カーネル5は、フレームワーク7をDRAM17にロードする。フレームワーク7は、DRAM17で起動する(図8参照)。
 フレームワーク7の起動後、CPU3は、ノーマルカメラアプリケーション10をDRAM17にロードし、ノーマルカメラアプリケーション10を起動する。ノーマルカメラアプリケーション10は、フレームワーク7の抽象化表示機構8を介して、カーネル5の表示機構6を間接的に利用して、ガイド線などの付加情報を重畳したカメラ映像をディスプレイ4に表示する。
 上記において、ネイティブカメラアプリケーション9は、DRAM17にロードし展開されるため、ロード時間は、ネイティブカメラアプリケーション9の容量に依存する。CPU3の電源ONから短時間でネイティブカメラアプリケーション9を起動するためには、ネイティブカメラアプリケーション9の機能を最小限にして、ネイティブカメラアプリケーション9のプログラム容量を抑える(すなわち、ネイティブカメラアプリケーション9は、ノーマルカメラアプリケーション10よりも容量を小さくする)必要がある。これにより、ネイティブカメラアプリケーション9のロード時間が最適化されて、CPU3の電源ONからネイティブカメラアプリケーション9による動作までの時間が短縮する。
 また、ネイティブカメラアプリケーション9およびノーマルカメラアプリケーション10は、同一の表示機構6を直接的または間接的に利用して動作している。従って、ネイティブカメラアプリケーション9によるカメラ映像から、ノーマルカメラアプリケーション10によるカメラ映像への切り替え時に、表示画面のちらつきが生じない。
 なお、ネイティブカメラアプリケーション9は、ノーマルカメラアプリケーション10の実行後に、任意のタイミングで動作を終了する。任意のタイミングとしては、ノーマルカメラアプリケーション10が動作し始めた時であってもよく、ノーマルカメラアプリケーション10が完全に動作した時(ノーマルカメラアプリケーション10の動作後)であってもよい。
 以上のことから、本実施の形態1によれば、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)の機能を最小限にすることによって、コールドブート時に高速に起動することができる。また、ネイティブカメラアプリケーション9と、ノーマルカメラアプリケーション10とで同一の機能機構11(または表示機構6)を利用することによって、カメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
 <実施の形態2>
 実施の形態1では、フレームワーク7における全ての抽象化機能機構12を動作させるために、カーネル5における全ての機能機構11を起動させる必要がある。従って、カーネル5は、全てのドライバ、全てのハードウェアリソース、および全ての機能機構を初期化展開することになり、カーネルの初期化展開に時間を要する(図9参照)。
 本発明の実施の形態2では、ネイティブアプリケーションの動作に必要な機能機構等を先に起動することを特徴としている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
 図11は、CPU3が図3に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
 図11に示すように、CPU3の電源ON後、ブートローダ18は、カーネル5をDRAM17にロードする。カーネル5は、DRAM17で起動する(図6,7参照)。このとき、カーネル5は、機能機構11のうちのネイティブアプリケーション13に必要なドライバ、ハードウェアリソース、および機能機構を初期化展開する。
 CPU3は、ネイティブアプリケーション13をDRAM17にロードし、ネイティブアプリケーション13を起動する。ネイティブアプリケーション13は、カーネル5の機能機構11のうちのネイティブアプリケーション13に必要な機能機構を直接的に利用して、予め定められた機能を実行する。
 ネイティブアプリケーション13の実行後、カーネル5は、機能機構11のうちのネイティブアプリケーション13に必要ないドライバ、ハードウェアリソース、および機能機構を初期化展開する。
 その後の動作(ノーマルアプリケーション14の起動等)については、実施の形態1と同様(図9参照)であるため説明を省略する。
 上記より、CPU3の電源ONからネイティブアプリケーション13による動作までの時間を短縮することが可能となる。
 図12は、CPU3が図2に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
 図12に示すように、CPU3の電源ON後、ブートローダ18は、カーネル5をDRAM17にロードする。カーネル5は、DRAM17で起動する(図6,7参照)。このとき、カーネル5は、機能機構11のうちのネイティブカメラアプリケーション9に必要なドライバ、ハードウェアリソース、および表示機構6を初期化展開する。
 CPU3は、ネイティブカメラアプリケーション9をDRAM17にロードし、ネイティブカメラアプリケーション9を起動する。ネイティブカメラアプリケーション9は、カーネル5の表示機構6を直接的に利用して、カメラ映像をディスプレイ4に出力する。
 ネイティブカメラアプリケーション9の実行後、カーネル5は、機能機構11のうちのネイティブカメラアプリケーション9に必要ないドライバ、ハードウェアリソース、および機能機構(表示機構6以外の機能機構)を初期化展開する。
 その後の動作(ノーマルカメラアプリケーション10の起動等)については、実施の形態1と同様(図10参照)であるため説明を省略する。
 上記より、CPU3の電源ONからネイティブカメラアプリケーション9による動作までの時間を短縮することが可能となる。
 以上のことから、本実施の形態2によれば、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)に必要な機能機構を先に起動して、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)を実行することによって、コールドブート時に高速に起動することができる。
 なお、実施の形態1のように、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)は、ノーマルアプリケーション14(またはノーマルカメラアプリケーション10)よりも容量が小さくてもよい。
 <実施の形態3>
 図13,14は、本発明の実施の形態3によるアプリケーション実行装置のソフトウェア構成の一例を示すブロック図である。なお、図13はアプリケーション実行装置の全体の構成を示し、図14は主にカーネル5の詳細な構成を示している。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。なお、図13では、図2にフレーム制御機構19を備える構成について示しているが、図3にフレーム制御機構19を備える構成であってもよい。
 図13に示すように、本実施の形態3によるアプリケーション実行装置は、フレーム制御機構19を備えることを特徴としている。
 図14に示すように、表示機構6は、ウィンドウフレーム20~22およびミキサ23を有している。また、カーネル5は、ディスプレイドライバ24を有している。
 フレーム制御機構19は、ネイティブアプリケーションの1つであり、ウィンドウフレーム20~22を抽象化したものである。フレーム制御機構19は、ネイティブアプリケーションおよびノーマルアプリケーションの各々に対してウィンドウフレーム20~22のいずれかを割り当てる制御を行う。
 ウィンドウフレーム20~22は、ネイティブアプリケーションおよびノーマルアプリケーションで構成された画面デザインである、描画ウィンドウと、当該描画ウィンドウにおけるレイヤとを格納する領域である。なお、本実施の形態3では、表示機構6が3つのウィンドウフレームを有する場合について説明するが、ウィンドウフレームは3つに限らず複数あればよい。
 ミキサ23は、複数のアプリケーションを重ね合わせる機能を有している。ディスプレイドライバ24は、カメラ映像をディスプレイ4に出力する機能を有している。
 図15は、フレーム制御機構19と表示機構6との関係を示す図である。
 フレーム制御機構19は、ネイティブアプリケーション、またはフレームワーク7の抽象化表示機構8による、表示機構6の任意のウィンドウフレームへのアクセスを管理制御する。すなわち、特定のウィンドウフレームの用途は、フレーム制御機構19で管理制御することが可能である。
 次に、本実施の形態3によるアプリケーション実行装置の動作について、図16~18を用いて説明する。なお、以下では、アプリケーション実行装置が図13に示す構成である場合について説明する。
 図16は、ネイティブカメラアプリケーション9が動作する場合を示している。図16に示すように、フレーム制御機構19は、ネイティブカメラアプリケーション9に対して、表示機構6のウィンドウフレーム20を割り当てる。ネイティブカメラアプリケーション9が動作すると、カメラ映像は、ウィンドウフレーム20およびミキサ23を通り、カーネル5のディスプレイドライバ24の駆動によってディスプレイ4に出力される。このとき、ネイティブカメラアプリケーション9は、表示機構6のどのウィンドウフレームを用いているのかを把握しなくてよい。
 図17は、カメラ映像をディスプレイ4に出力する機能を有しない(ノーマルカメラアプリケーション10以外の)任意のノーマルアプリケーションが動作する場合を示している。図17に示すように、フレーム制御機構19は、フレームワーク7の抽象化表示機構8に対して、表示機構6のウィンドウフレーム22を割り当てる。ノーマルアプリケーションが動作すると、当該ノーマルアプリケーションで描画された画像は、ウィンドウフレーム22およびミキサ23を通り、カーネル5のディスプレイドライバ24の駆動によってディスプレイ4に出力される。このとき、フレームワーク7の抽象化表示機構8は、表示機構6のどのウィンドウフレームを用いているのかを把握しなくてよい。
 図16および図17が同時に実行されている場合において、ウィンドウフレーム20にはネイティブカメラアプリケーション9の動作によるカメラ映像が入力され、ウィンドウフレーム22にはノーマルカメラアプリケーション10以外の任意のノーマルアプリケーションの動作による画像が入力される。
 表示機構6のミキサ23は、ネイティブカメラアプリケーション9の動作によるカメラ映像のみをディスプレイ4に出力するか、任意のノーマルアプリケーションの動作による画像のみをディスプレイ4に出力するか、ネイティブカメラアプリケーション9の動作によるカメラ映像および任意のノーマルアプリケーションの動作による画像を重ね合わせてディスプレイ4に出力するかのいずれかを行う。このように、ネイティブカメラアプリケーション9の動作によるカメラ映像と、任意のノーマルアプリケーションの動作による画像との出力を切り替える、または重畳することが可能となる。
 図18は、ノーマルカメラアプリケーション10が動作する場合を示している。図18に示すように、フレーム制御機構19は、ノーマルカメラアプリケーション10に対して、フレームワーク7の抽象化表示機構8を介して表示機構6のウィンドウフレーム20を割り当てる。ノーマルカメラアプリケーション10が動作すると、カメラ映像は、ウィンドウフレーム20およびミキサ23を通り、カーネル5のディスプレイドライバ24の駆動によってディスプレイ4に出力される。
 上記より、フレーム制御機構19は、フレーム制御機構19の上位の状態であるネイティブカメラアプリケーション9およびノーマルカメラアプリケーション10に関わらず、ハードウェアリソースに従ってウィンドウフレームを制御する。図16,18の例では、ネイティブカメラアプリケーション9およびノーマルカメラアプリケーション10においてハードウェアリソースであるカメラ映像が共通であるため、同一のウィンドウフレーム20が割り当てられる。
 実施の形態1(図10参照)で説明したように、ネイティブカメラアプリケーション9からノーマルカメラアプリケーション10に切り替える(カメラ映像を引き継ぐ)際は、フレーム制御機構19の制御によってウィンドウフレーム20を用いてカメラ映像を出力し続けているため、切り替え時の表示画像のちらつき(カメラ映像の乱れ)は発生しない。
 図19は、図16,18に示す動作をまとめたシーケンス図である。
 図19に示すように、カーネル5が起動すると、ディスプレイドライバ24、表示機構6、フレーム制御機構19は初期化処理を行う。フレーム制御機構19は、初期化処理中に、表示機構6からウィンドウリストを取得する。
 フレーム制御機構19の初期化処理が完了すると、ネイティブカメラアプリケーション9は、フレーム制御機構19からウィンドウ情報を取得した後、ウィンドウ1を獲得する。このとき、表示機構6は、メモリからフレームバッファを獲得する。これにより、ネイティブカメラアプリケーション9の動作によって、カメラ映像がキャプチャされる。なお、ウィンドウ1は、図16の例ではウィンドウフレーム20に対応する。また、メモリは、例えば図4のDRAM17に対応する。また、カメラ映像のキャプチャは、例えば図1のキャプチャ2が行う。
 カーネル5が動作状態になると、抽象化表示機構8は、初期化処理中に、フレーム制御機構19からウィンドウ情報を取得する。抽象化表示機構8の初期化処理が完了すると、ノーマルカメラアプリケーション10は、抽象化表示機構8からウィンドウ情報を取得した後、ネイティブカメラアプリケーション9に対して停止要求を行う。その後、ノーマルカメラアプリケーション10は、抽象化表示機構8からウィンドウ1を獲得する。
 ノーマルカメラアプリケーション10は、表示機構6からウィンドウ2を獲得し、当該ウィンドウ2を用いてガイド線等の描画を行う。なお、ウィンドウ2は、例えばウィンドウフレーム22(図17参照)であってもよい。
 上記より、ネイティブカメラアプリケーション9からノーマルカメラアプリケーション10への切り替えが行われる(すなわち、カメラ映像の引き継ぎが行われる。)。このとき、ネイティブカメラアプリケーション9とノーマルカメラアプリケーション10とは共通のウィンドウ1を利用しているため、カメラ画像でのちらつきが生じない。
 図20は、従来のノーマルカメラアプリケーションのみを動作させた場合の一例を示す図である。図20に示すように、ノーマルカメラアプリケーションは、図19に示すようなネイティブカメラアプリケーションと共通のウィンドウを用いるカメラ映像の引き継ぎを行わない。従って、従来では、ノーマルカメラアプリケーションの動作によるカメラ映像への引き継ぎ時にちらつきが生じる。
 以上のことから、本実施の形態3によれば、ネイティブカメラアプリケーション9およびノーマルカメラアプリケーション10に対して同一のウィンドウフレームを割り当てることによって、カメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
 なお、実施の形態1のように、ネイティブカメラアプリケーション9は、ノーマルカメラアプリケーション10よりも容量が小さくてもよい。
 また、実施の形態2のように、ネイティブカメラアプリケーション9に必要な機能機構(表示機構6)を先に起動して、ネイティブカメラアプリケーション9を実行するようにしてもよい。
 なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
 本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
 1 カメラ、2 キャプチャ、3 CPU、4 ディスプレイ、5 カーネル、6 表示機構、7 フレームワーク、8 抽象化表示機構、9 ネイティブカメラアプリケーション、10 ノーマルカメラアプリケーション、11 機能機構、12 抽象化機能機構、13 ネイティブアプリケーション、14 ノーマルアプリケーション、15 NOR型フラッシュメモリ、16 eMMC、17 DRAM、18 ブートローダ、19 フレーム制御機構、20,21,22 ウィンドウフレーム、23 ミキサ、24 ディスプレイドライバ、25 カメラ、26 キャプチャ、27 グラフィック、28 CPU、29 スイッチ、30 ディスプレイ、31 OS、32 表示機構、33 アプリケーション、34 OS、35 表示機構、36 アプリケーション。

Claims (9)

  1.  予め定められた機能機構を有するカーネルと、
     前記カーネルにより起動され、前記機能機構を抽象化した抽象化機能機構を有するフレームワークと、
     前記機能機構を直接的に利用して動作する第1のアプリケーションと、
     前記抽象化機能機構を介して前記機能機構を間接的に利用して動作し、前記第1のアプリケーションの機能を有する第2のアプリケーションと、
    を備え、
     前記第1のアプリケーションは、前記第2のアプリケーションよりも容量が小さいことを特徴とする、アプリケーション実行装置。
  2.  前記機能機構は複数存在し、
     前記カーネルは、前記第1のアプリケーションの動作に必要な前記機能機構のみを起動した後、前記第1のアプリケーションの動作に必要ない他の前記機能機構を起動することを特徴とする、請求項1に記載のアプリケーション実行装置。
  3.  前記機能機構は、表示機構を含むことを特徴とする、請求項1に記載のアプリケーション実行装置。
  4.  前記表示機構に含まれる複数のウィンドウフレームを制御するフレーム制御機構をさらに備え、
     前記フレーム制御機構は、前記第1のアプリケーションおよび前記第2のアプリケーションの各々の動作時に、同一の前記ウィンドウフレームを割り当てるように制御することを特徴とする、請求項3に記載のアプリケーション実行装置。
  5.  前記第1のアプリケーションは、前記第2のアプリケーションの実行後に動作を終了することを特徴とする、請求項1に記載のアプリケーション実行装置。
  6.  前記カーネルは、Linuxカーネルであることを特徴とする、請求項1に記載のアプリケーション実行装置。
  7.  前記フレームワークは、AndroidOSであることを特徴とする、請求項1に記載のアプリケーション実行装置。
  8.  前記表示機構は、AndroidOSのSurfaceFlingerおよびHardwareComposerであることを特徴とする、請求項3に記載のアプリケーション実行装置。
  9.  少なくともカーネルおよびフレームワークの順に起動して第1のアプリケーションおよび第2のアプリケーションを実行するアプリケーション実行方法であって、
     前記カーネルは、予め定められた機能機構を有し、
     前記フレームワークは、前記カーネルにより起動され、前記機能機構を抽象化した抽象化機能機構を有し、
     前記第1のアプリケーションは、前記機能機構を直接的に利用して動作し、
     前記第2のアプリケーションは、前記抽象化機能機構を介して前記機能機構を間接的に利用して動作し、前記第1のアプリケーションの機能を有し、
     前記第1のアプリケーションは、前記第2のアプリケーションよりも容量が小さいことを特徴とする、アプリケーション実行方法。
PCT/JP2015/074573 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法 WO2017037817A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017537083A JP6272578B2 (ja) 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法
PCT/JP2015/074573 WO2017037817A1 (ja) 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法
CN201580082463.XA CN107924315A (zh) 2015-08-31 2015-08-31 应用程序执行装置以及应用程序执行方法
DE112015006862.7T DE112015006862T5 (de) 2015-08-31 2015-08-31 Anwendungsausführungsvorrichtung und Anwendungsausführungsverfahren
US15/576,213 US10417008B2 (en) 2015-08-31 2015-08-31 Application execution apparatus and application execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/074573 WO2017037817A1 (ja) 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法

Publications (1)

Publication Number Publication Date
WO2017037817A1 true WO2017037817A1 (ja) 2017-03-09

Family

ID=58187213

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/074573 WO2017037817A1 (ja) 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法

Country Status (5)

Country Link
US (1) US10417008B2 (ja)
JP (1) JP6272578B2 (ja)
CN (1) CN107924315A (ja)
DE (1) DE112015006862T5 (ja)
WO (1) WO2017037817A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107741869A (zh) * 2017-11-20 2018-02-27 青岛海信移动通信技术股份有限公司 应用程序的启动方法、装置、及终端设备
US10613874B2 (en) 2015-08-31 2020-04-07 Mitsubishi Electric Corporation Application execution apparatus and application execution method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113581078A (zh) * 2020-04-30 2021-11-02 广州汽车集团股份有限公司 动态倒车辅助线快速显示方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265289A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 情報処理装置および情報処理装置の高速初期起動方法
JP2007323181A (ja) * 2006-05-30 2007-12-13 Canon Inc 起動方法及び起動装置
JP2014197370A (ja) * 2013-03-08 2014-10-16 株式会社デンソー データ処理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5028904B1 (ja) 1970-07-11 1975-09-19
JP4498771B2 (ja) 2004-03-03 2010-07-07 クラリオン株式会社 車載用後方監視装置
JP5028904B2 (ja) 2006-08-10 2012-09-19 ソニー株式会社 電子機器、および起動方法
US9058483B2 (en) * 2008-05-08 2015-06-16 Google Inc. Method for validating an untrusted native code module
JP4978558B2 (ja) 2008-05-19 2012-07-18 株式会社デンソー 車両用表示装置
EP2831787B1 (en) * 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
EP2747425B1 (en) 2012-12-19 2019-05-08 2236008 Ontario Inc. Integrated system for media playback during startup
CN104252385B (zh) * 2013-06-25 2017-11-07 上海博泰悦臻电子设备制造有限公司 Android系统的事件快速响应方法
US10155820B2 (en) * 2014-11-12 2018-12-18 Tracon Pharmaceuticals, Inc. Anti-endoglin antibodies and uses thereof
CN104503655B (zh) * 2014-11-28 2017-12-08 晨星半导体股份有限公司 应用程序界面显示控制方法及装置
US20160188279A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Mode-switch protocol and mechanism for hybrid wireless display system with screencasting and native graphics throwing
JP6272579B2 (ja) 2015-08-31 2018-01-31 三菱電機株式会社 アプリケーション実行装置およびアプリケーション実行方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265289A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 情報処理装置および情報処理装置の高速初期起動方法
JP2007323181A (ja) * 2006-05-30 2007-12-13 Canon Inc 起動方法及び起動装置
JP2014197370A (ja) * 2013-03-08 2014-10-16 株式会社デンソー データ処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H IROAKI KATAOKA: "Linux Base no System ni GUI Menu Gamen o Jisso suru Kakushu Hoho Linux no GUI System to Android Saiyo no Merit", FPGA MAGAZINE, 1 May 2014 (2014-05-01), pages 6 - 15 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10613874B2 (en) 2015-08-31 2020-04-07 Mitsubishi Electric Corporation Application execution apparatus and application execution method
CN107741869A (zh) * 2017-11-20 2018-02-27 青岛海信移动通信技术股份有限公司 应用程序的启动方法、装置、及终端设备

Also Published As

Publication number Publication date
JP6272578B2 (ja) 2018-01-31
US20180143837A1 (en) 2018-05-24
US10417008B2 (en) 2019-09-17
JPWO2017037817A1 (ja) 2017-10-26
CN107924315A (zh) 2018-04-17
DE112015006862T5 (de) 2018-05-17

Similar Documents

Publication Publication Date Title
JP6272579B2 (ja) アプリケーション実行装置およびアプリケーション実行方法
CN107920204B (zh) 一种冷启动快速显示倒车视频的装置与方法
US10569726B2 (en) In-vehicle system
JP6272578B2 (ja) アプリケーション実行装置およびアプリケーション実行方法
JP6272580B2 (ja) アプリケーション実行装置およびアプリケーション実行方法
CN112199222B (zh) 一种视频显示方法、装置、电子设备及存储介质
CN108351775B (zh) 嵌入式多处理器系统的启动时间优化的方法和系统
JP7259571B2 (ja) 車両用制御装置、車両用表示システム、及び車両用表示制御方法
JP7350655B2 (ja) 3dビューシステムへのシームレスな遷移を備えるサラウンドビュー及び方法
CN111746400B (zh) 倒车冷启动影像快速显示方法、计算机装置及计算机可读存储介质
CN114756191B (zh) 一种基于安卓系统的视频数据快速显示方法及系统
JP7180542B2 (ja) 情報処理装置および情報処理方法
JP6542000B2 (ja) 半導体装置、表示システムおよび表示方法
JP7151631B2 (ja) 車両用制御装置、車両用表示システム、及び車両用表示制御方法
WO2023053234A1 (ja) 電子機器および高速通信方法
JP2004125866A (ja) 画像表示方法
CN115904295A (zh) 一种多屏显示控制方法、装置、介质、系统、芯片及面板
CN115098264A (zh) 一种虚拟化管理下的相机调用方法、装置、车辆及介质
WO2015029869A1 (ja) 電子機器及び情報処理システム

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: 15902940

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017537083

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15576213

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112015006862

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15902940

Country of ref document: EP

Kind code of ref document: A1