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

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

Info

Publication number
JP6272579B2
JP6272579B2 JP2017537084A JP2017537084A JP6272579B2 JP 6272579 B2 JP6272579 B2 JP 6272579B2 JP 2017537084 A JP2017537084 A JP 2017537084A JP 2017537084 A JP2017537084 A JP 2017537084A JP 6272579 B2 JP6272579 B2 JP 6272579B2
Authority
JP
Japan
Prior art keywords
application
camera
kernel
display
function
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017537084A
Other languages
English (en)
Other versions
JPWO2017037818A1 (ja
Inventor
達也 三次
達也 三次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2017037818A1 publication Critical patent/JPWO2017037818A1/ja
Application granted granted Critical
Publication of JP6272579B2 publication Critical patent/JP6272579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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

Description

本発明は、アプリケーションを実行するアプリケーション実行装置およびアプリケーション実行方法に関する。
後方を撮影するカメラを車両に搭載し、後方発進時にカメラで撮影された映像(以下、カメラ映像という)をディスプレイに表示する技術がある。当該技術では、後方発進時にカメラ映像を素早くディスプレイに表示することが要求されている。
例えば、高機能OS(Operating System)を有するCPU(Central Processing Unit)以外のハードウェアで処理したカメラ映像をディスプレイに出力、または高機能OSを有するCPUにおけるブートローダの機能によってカメラ映像をディスプレイに出力した後に、CPU以外のハードウェア、または高機能OSにおけるカメラアプリケーションによってカメラ映像にガイド線を重畳してディスプレイに出力している。このように、まずカメラ映像を表示し、その後、ガイド線を重畳したカメラ映像を表示するという映像の引き継ぎが行われている。ここで、高機能OSとは、高度な情報処理を行うOSのことをいい、例えばLinux(登録商標、以下同じ)OSおよびAndroid(登録商標、以下同じ)OS等が挙げられる。


従来、車両後部に設置されたカメラと、映像信号に加工処理を施して画像表示手段に向けて出力する画像処理回路と、バックギヤの入力操作に連動して画像処理回路による加工処理(画像にガイド線を重畳する処理)が可能か否かを判断する判断手段とを備え、ガイド線が必要ないときはカメラ映像にガイド線を重畳する処理を施さず、ガイド線が必要なときはカメラ映像にガイド線を重畳する処理を施す車載用後方監視装置が開示されている(例えば、特許文献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のアプリケーションの動作に必要な機能機構のみを起動した後、第1のアプリケーションの動作に必要ない他の機能機構を起動することを特徴とする。
また、本発明によるアプリケーション実行方法は、少なくともカーネルおよびフレームワークの順に起動して第1のアプリケーションおよび第2のアプリケーションを実行するアプリケーション実行方法であって、カーネルは、予め定められた機能機構を有し、フレームワークは、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有し、第1のアプリケーションは、機能機構を直接的に利用して動作し、第2のアプリケーションは、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有し、機能機構は複数存在し、カーネルは、第1のアプリケーションの動作に必要な機能機構のみを起動した後、第1のアプリケーションの動作に必要でない他の機能機構を起動することを特徴とする。
本発明によると、アプリケーション実行装置は、予め定められた機能機構を有するカーネルと、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有するフレームワークと、機能機構を直接的に利用して動作する第1のアプリケーションと、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有する第2のアプリケーションとを備え、機能機構は複数存在し、カーネルは、第1のアプリケーションの動作に必要な機能機構のみを起動した後、第1のアプリケーションの動作に必要ない他の機能機構を起動するため、コールドブート時に高速に起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
また、アプリケーション実行方法は、少なくともカーネルおよびフレームワークの順に起動して第1のアプリケーションおよび第2のアプリケーションを実行するアプリケーション実行方法であって、カーネルは、予め定められた機能機構を有し、フレームワークは、カーネルにより起動され、機能機構を抽象化した抽象化機能機構を有し、第1のアプリケーションは、機能機構を直接的に利用して動作し、第2のアプリケーションは、抽象化機能機構を介して機能機構を間接的に利用して動作し、第1のアプリケーションの機能を有し、機能機構は複数存在し、カーネルは、第1のアプリケーションの動作に必要な機能機構のみを起動した後、第1のアプリケーションの動作に必要でない他の機能機構を起動するため、コールドブート時に高速に起動し、かつカメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施の形態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参照)。このとき、カーネル5は、機能機構11のうちのネイティブアプリケーション13に必要なドライバ、ハードウェアリソース、および機能機構を初期化展開する。
CPU3は、ネイティブアプリケーション13をDRAM17にロードし、ネイティブアプリケーション13を起動する。ネイティブアプリケーション13は、カーネル5の機能機構11のうちのネイティブアプリケーション13に必要な機能機構を直接的に利用して、予め定められた機能を実行する。
ネイティブアプリケーション13の実行後、カーネル5は、機能機構11のうちのネイティブアプリケーション13に必要ないドライバ、ハードウェアリソース、および機能機構を初期化展開する。
上記より、CPU3の電源ONからネイティブアプリケーション13による動作までの時間を短縮することが可能となる。
図10は、CPU3が図2に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
図10に示すように、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以外の機能機構)を初期化展開する。
上記より、CPU3の電源ONからネイティブカメラアプリケーション9による動作までの時間を短縮することが可能となる。
以上のことから、本実施の形態1によれば、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)に必要な機能機構を先に起動して、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)を実行することによって、コールドブート時に高速に起動することができる。また、ネイティブカメラアプリケーション9と、ノーマルカメラアプリケーション10とで同一の機能機構11(または表示機構6)を利用することによって、カメラ映像の引き継ぎ時に表示画像にちらつきが生じないようにすることが可能となる。
<実施の形態2>
本発明の実施の形態2では、ネイティブアプリケーションの機能を最小限にすることを特徴としている。その他の構成および動作は、実施の形態1と同様であるため、ここでは説明を省略する。
図11は、CPU3が図3に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
図11に示すように、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の動作後)であってもよい。
図12は、CPU3が図2に示す各機能を有する場合における、アプリケーション実行装置の動作の一例を示す図である。
図12に示すように、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の動作後)であってもよい。
以上のことから、本実施の形態2によれば、ネイティブアプリケーション13(またはネイティブカメラアプリケーション9)の機能を最小限にすることによって、コールドブート時に高速に起動することができる。
なお、実施の形態1のように、ネイティブカメラアプリケーション9に必要な機能機構(表示機構6)を先に起動して、ネイティブカメラアプリケーション9を実行するようにしてもよい。
<実施の形態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(図12参照)で説明したように、ネイティブカメラアプリケーション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のアプリケーションの動作に必要な前記機能機構のみを起動した後、前記第1のアプリケーションの動作に必要ない他の前記機能機構を起動することを特徴とする、アプリケーション実行装置。
  2. 前記第1のアプリケーションは、前記第2のアプリケーションよりも容量が小さいことを特徴とする、請求項1に記載のアプリケーション実行装置。
  3. 前記機能機構は、表示機構を含むことを特徴とする、請求項1に記載のアプリケーション実行装置。
  4. 前記表示機構に含まれる複数のウィンドウフレームを制御するフレーム制御機構をさらに備え、
    前記フレーム制御機構は、前記第1のアプリケーションおよび前記第2のアプリケーションの各々の動作時に、同一の前記ウィンドウフレームを割り当てるように制御することを特徴とする、請求項3に記載のアプリケーション実行装置。
  5. 前記第1のアプリケーションは、前記第2のアプリケーションの実行後に動作を終了することを特徴とする、請求項1に記載のアプリケーション実行装置。
  6. 前記カーネルは、Linux(登録商標)カーネルであることを特徴とする、請求項1に記載のアプリケーション実行装置。
  7. 前記フレームワークは、Android(登録商標)OSであることを特徴とする、請求項1に記載のアプリケーション実行装置。
  8. 前記表示機構は、Android(登録商標)OSのSurfaceFlingerおよびHardwareComposerであることを特徴とする、請求項3に記載のアプリケーション実行装置。
  9. 少なくともカーネルおよびフレームワークの順に起動して第1のアプリケーションおよび第2のアプリケーションを実行するアプリケーション実行方法であって、
    前記カーネルは、予め定められた機能機構を有し、
    前記フレームワークは、前記カーネルにより起動され、前記機能機構を抽象化した抽象化機能機構を有し、
    前記第1のアプリケーションは、前記機能機構を直接的に利用して動作し、
    前記第2のアプリケーションは、前記抽象化機能機構を介して前記機能機構を間接的に利用して動作し、前記第1のアプリケーションの機能を有し、
    前記機能機構は複数存在し、
    前記カーネルは、前記第1のアプリケーションの動作に必要な前記機能機構のみを起動した後、前記第1のアプリケーションの動作に必要でない他の前記機能機構を起動することを特徴とする、アプリケーション実行方法。
JP2017537084A 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法 Active JP6272579B2 (ja)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPWO2017037818A1 JPWO2017037818A1 (ja) 2017-10-26
JP6272579B2 true JP6272579B2 (ja) 2018-01-31

Family

ID=58187166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017537084A Active JP6272579B2 (ja) 2015-08-31 2015-08-31 アプリケーション実行装置およびアプリケーション実行方法

Country Status (5)

Country Link
US (1) US10613874B2 (ja)
JP (1) JP6272579B2 (ja)
CN (1) CN107924316A (ja)
DE (1) DE112015006860T5 (ja)
WO (1) WO2017037818A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6272578B2 (ja) 2015-08-31 2018-01-31 三菱電機株式会社 アプリケーション実行装置およびアプリケーション実行方法
CN111510627B (zh) * 2020-04-23 2022-03-18 Oppo广东移动通信有限公司 相机的启动方法和装置、终端和可读存储介质
JPWO2023053234A1 (ja) * 2021-09-29 2023-04-06
CN115858047A (zh) * 2023-02-28 2023-03-28 荣耀终端有限公司 一种预加载文件页的方法、电子设备及芯片系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3876302A (en) 1972-11-02 1975-04-08 Dick Co Ab High speed low inertia scanning system for a copying machine
JPS5028904A (ja) 1973-07-17 1975-03-24
JPH11265289A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 情報処理装置および情報処理装置の高速初期起動方法
JP4498771B2 (ja) 2004-03-03 2010-07-07 クラリオン株式会社 車載用後方監視装置
US7614075B2 (en) * 2004-08-13 2009-11-03 Microsoft Corporation Dynamically generating video streams for user interfaces
JP2007323181A (ja) * 2006-05-30 2007-12-13 Canon Inc 起動方法及び起動装置
JP5028904B2 (ja) 2006-08-10 2012-09-19 ソニー株式会社 電子機器、および起動方法
JP4618291B2 (ja) * 2007-11-30 2011-01-26 ソニー株式会社 送信装置、受信装置および受信装置における操作情報送信方法
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 株式会社デンソー 車両用表示装置
CN101625647A (zh) * 2009-08-06 2010-01-13 青岛海信电器股份有限公司 加快嵌入式软件系统启动速度的方法
CN102469317A (zh) * 2010-11-03 2012-05-23 陈国平 多重影像显示方法及多重影像显示装置
CN103294526B (zh) * 2012-02-27 2017-11-28 联想(北京)有限公司 电子设备的硬件配置方法、装置及电子设备
EP2831787B1 (en) * 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
CN103516872A (zh) * 2012-06-19 2014-01-15 联想(北京)有限公司 终端设备以及终端设备的开机控制方法
KR102039084B1 (ko) * 2012-11-15 2019-11-26 삼성전자 주식회사 사용자 기능 운용 방법 및 이를 지원하는 전자 장치
EP2747425B1 (en) * 2012-12-19 2019-05-08 2236008 Ontario Inc. Integrated system for media playback during startup
JP6036578B2 (ja) * 2013-03-08 2016-11-30 株式会社デンソー データ処理装置
CN104252385B (zh) * 2013-06-25 2017-11-07 上海博泰悦臻电子设备制造有限公司 Android系统的事件快速响应方法
WO2016077654A1 (en) * 2014-11-12 2016-05-19 The Brigham And Women's Hospital, Inc. Melatonin in autoimmune disease
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
JP6272578B2 (ja) 2015-08-31 2018-01-31 三菱電機株式会社 アプリケーション実行装置およびアプリケーション実行方法

Also Published As

Publication number Publication date
WO2017037818A1 (ja) 2017-03-09
US10613874B2 (en) 2020-04-07
DE112015006860T5 (de) 2018-05-17
CN107924316A (zh) 2018-04-17
JPWO2017037818A1 (ja) 2017-10-26
US20180293079A1 (en) 2018-10-11

Similar Documents

Publication Publication Date Title
JP6272579B2 (ja) アプリケーション実行装置およびアプリケーション実行方法
CN107920204B (zh) 一种冷启动快速显示倒车视频的装置与方法
US20170015246A1 (en) Early rear view camera video display in a multiprocessor architecture
JP6272578B2 (ja) アプリケーション実行装置およびアプリケーション実行方法
JP6272580B2 (ja) アプリケーション実行装置およびアプリケーション実行方法
US10569726B2 (en) In-vehicle system
CN112199222B (zh) 一种视频显示方法、装置、电子设备及存储介质
US11605319B2 (en) Surround-view with seamless transition to 3D view system and method
WO2020250606A1 (ja) 車両用制御装置、車両用表示システム、及び車両用表示制御方法
CN111746400B (zh) 倒车冷启动影像快速显示方法、计算机装置及计算机可读存储介质
JP6542000B2 (ja) 半導体装置、表示システムおよび表示方法
JP7180542B2 (ja) 情報処理装置および情報処理方法
JP7151631B2 (ja) 車両用制御装置、車両用表示システム、及び車両用表示制御方法
WO2023053234A1 (ja) 電子機器および高速通信方法
JP2004125866A (ja) 画像表示方法
CN115098264A (zh) 一种虚拟化管理下的相机调用方法、装置、车辆及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170724

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170724

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171228

R150 Certificate of patent or registration of utility model

Ref document number: 6272579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250