(57)【要約】【課題】処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができる車両用装置、車両用装置の制御方法を提供する。【解決手段】実施形態の車両用装置１は、フレームバッファ５０が更新されているか否かを判定する判定器としてのアプリ２１ｆを備えており、判定領域５２を設定し、判定領域５２に描画する判定用画像を準備し、準備した判定用画像の描画をＧＰＵ１３に依頼し、ＧＰＵ１３が実際にフレームバッファ５０に描画した判定用画像を読み出し、準備した判定用画像と読み出した判定用画像とが一致すると、フレームバッファ５０が更新されていると判定する。【選択図】図１２
2020175854.tif 000002
【特許請求の範囲】
【請求項１】
表示器（２、３、４）に接続される車両用装置（１）であって、
アプリケーションプログラム（２１）からの描画依頼に基づいてコンテンツを描画するグラフィック処理ユニット（１３）と、
描画されたコンテンツを、前記表示器に対応して設けられているフレームバッファ（５０）に貼り付ける合成器（２１ｆ）と、
前記フレームバッファが更新されているか否かを判定する判定器（２１ｆ）と、を備え、
前記合成器は、前記フレームバッファに貼り付ける貼り付け領域（３２）を設定し、設定した前記貼り付け領域を三角形の単位領域（３３）に分割し、それぞれの前記単位領域を前記フレームバッファに貼り付ける処理を前記グラフィック処理ユニットに実行させ、
前記判定器は、それぞれの前記貼り付け領域内に判定領域（５２）を設定し、前記判定領域に描画する判定用画像を準備し、準備した前記判定用画像の描画を前記グラフィック処理ユニットに依頼し、前記グラフィック処理ユニットが前記フレームバッファに実際に描画した前記判定用画像を読み出し、準備した前記判定用画像と読み出した前記判定用画像とが一致すると、前記フレームバッファが更新されていると判定する車両用装置。
【請求項２】
前記判定器は、少なくとも１つの前記判定領域を、前記フレームバッファの領域内であって、前記表示器に表示させた際にユーザに視認されない領域（５０ａ）内に設定する請求項１記載の車両用装置。
【請求項３】
前記表示器に表示させた際にユーザに視認されない領域は、表示器に設けられているベゼル（２ａ）によって隠される部位に対応した領域である請求項２記載の車両用装置。
【請求項４】
前記判定器は、前記判定領域を１ピクセルで設定する請求項１から３のいずれか一項記載の車両用装置。
【請求項５】
前記判定器は、前記判定用画像を、前回の判定時とは位置、大きさおよび色のうち少なくとも１つが異なる画像に設定する請求項１から４のいずれか一項記載の車両用装置。
【請求項６】
前記判定器は、少なくとも１つの前記判定領域を、前記フレームバッファの領域内であって、表示態様が変化するコンテンツが描画される領域内に設定する請求項１から５のいずれか一項記載の車両用装置。
【請求項７】
前記判定器は、少なくとも１つの前記判定領域を、前記フレームバッファの領域外に設ける請求項１から６のいずれか一項記載の車両用装置。
【請求項８】
前記判定器は、少なくとも１つの前記判定領域を、固定した位置に設定する請求項１から７のいずれか一項記載の車両用装置。
【請求項９】
前記判定器は、少なくとも１つの前記判定領域を、ランダムに設定した位置に設定する請求項１から８のいずれか一項記載の車両用装置。
【請求項１０】
表示器（２、３、４）に接続される車両用装置（１）の制御方法であって、
アプリケーションプログラム（２１）から描画されたコンテンツを含む領域であって、フレームバッファ（５０）に貼り付ける貼り付け領域（３２）を設定する工程と、
前記貼り付け領域を三角形の単位領域（３３）に分割する工程と、
それぞれの前記単位領域を、グラフィック処理ユニット（１３）により前記フレームバッファに貼り付ける工程と、
前記貼り付け領域内に設定されている判定領域に描画する判定用画像を準備する工程と、
準備した前記判定用画像を前記グラフィック処理ユニットにより前記フレームバッファに描画する工程と、
準備した前記判定用画像と前記フレームバッファに実際に描画された前記判定用画像とを比較し、両者が一致すると前記フレームバッファが更新されていると判定する工程と、
を含む車両用装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用装置、車両用装置の制御方法に関する。
【背景技術】
【０００２】
車両用装置には、一般的に表示器が設けられている。このような車両用装置では、表示に不具合が生じた場合には、不具合を解消する必要がある。そのため、例えば特許文献１では、各フレームの識別情報を比較することにより、表示に不具合が生じていないかを検出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−３９５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、上記したように同一フレームではないことを検出しても、必ずしも表示に不具合が無いとは言い切れない場合がある。例えば、表示器に表示する画像そのものの書き込みが正しく行われていなかった場合には、表示器の出力された映像信号としては同一フレームになっていなくても、結果的には同じ画像が出力されることになり、表示に不具合が生じることになる。この場合、今回表示する画像と前回表示した画像とを比較すれば、表示が更新されているか否かを判定できると考えられる。
【０００５】
しかしながら、近年では表示器の大型化や高精細化が進んでおり、また、複数の表示器を１つの車両用装置で制御することもある。その場合、画面全体を比較する構成にすると、判定する際の処理時間が長くなり、例えば定期的な更新が必要となる表示が間に合わなくなったり、他の表示器への表示が遅れたりするなど、別の不具合が生じるおそれがある。
【０００６】
その一方で、処理時間を短くするために例えば画面の一部を比較する構成にすると、比較した部分については正しく更新されているか否かを判定できるものの、画面全体について判定することができない。
【０００７】
本発明の目的は、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができる車両用装置、車両用装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明では、車両用装置（１）は、表示器（２、３、４）に接続されるものであって、アプリケーションプログラム（２１）からの描画依頼に基づいてコンテンツを描画するグラフィック処理ユニット（１３）と、描画されたコンテンツを、表示器に対応して設けられているフレームバッファ（５０）に貼り付ける合成器（２１ｆ）と、フレームバッファが更新されているか否かを判定する判定器（２１ｆ）と、を備えている。
【０００９】
合成器は、フレームバッファに貼り付ける貼り付け領域（３２）を設定し、設定した貼り付け領域を三角形の単位領域（３３）に分割し、それぞれの単位領域をフレームバッファに貼り付ける処理をグラフィック処理ユニットに実行させる。そして、判定器は、それぞれの貼り付け領域内に判定領域（５２）を設定し、判定領域に描画する判定用画像を準備し、準備した判定用画像の描画をグラフィック処理ユニットに依頼し、グラフィック処理ユニットがフレームバッファに実際に描画した判定用画像を読み出し、準備した判定用画像と読み出した判定用画像とが一致すると、フレームバッファが更新されていると判定する。
【００１０】
このように、準備した判定用画像と、実際にフレームバッファに描画された判定用画像とを比較する構成としたことにより、フレームバッファに対して実際に書き込みが行われているか否かを判定することができる。そして、フレームバッファに正しく書き込みが行われていれば、画面の固着する不具合が生じていないと判断することができる。
【００１１】
このとき、車両用装置では、判定用画像を、貼り付け領域内に設定した判定領域に描画している。これにより、比較するピクセル数を削減することが可能となり、画面全体を比較する場合に比べて、処理時間を大きく削減することができる。したがって、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態におけるコックピットシステムの構成例を示す図
【図２】車両用装置の電気的構成例を示す図
【図３】車両用装置のソフトウェア構成例を示す図
【図４】メータディスプレイの表示態様の一例を示す図
【図５】センターディスプレイの表示態様の一例を示す図
【図６】ヘッドアップディスプレイの表示態様の一例を示す図
【図７】各アプリに割り当てられている物理面の一例を示す図
【図８】描画から表示までの流れを示す図
【図９】メインメモリの構成例を示す図
【図１０】フレームバッファの構成例を示す図
【図１１】ＧＰＵによる貼り付けの詳細を示す図
【図１２】更新を判定する処理の流れを示す図
【図１３】表示器の表示範囲とフレームバッファとを対比して示す図
【図１４】第２実施形態による判定領域の設定例を示す図その１
【図１５】判定領域の設定例を示す図その２
【図１６】車両用装置の他の構成例を示す図その１
【図１７】車両用装置の他の構成例を示す図その２
【発明を実施するための形態】
【００１３】
以下、複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一の符号を付して説明する。
【００１４】
（第１実施形態）
以下、第１実施形態について説明する。図１に示すように、車両用装置１は、例えば、メータディスプレイ２、センターディスプレイ３およびヘッドアップディスプレイ４の３つの表示器を備えるコックピットシステム５を構成している。ただし、表示器の数や配置あるいは構成は一例であり、これらに限定されない。また、図１では車両用装置１が複数の表示器に接続されている例を示しているが、車両用装置１に接続される表示器は１つ以上であればよい。
【００１５】
メータディスプレイ２は、例えば液晶ディスプレイや有機ＥＬディスプレイで構成されており、ダッシュボードの運転者の正面付近に設けられるものを想定している。つまり、メータディスプレイ２は、ユーザが視認しやすい位置、換言すると、通常の運転時においてユーザの視界に入る位置に設けられている。
【００１６】
センターディスプレイ３は、例えば液晶ディスプレイや有機ＥＬディスプレイで構成され、センターコンソール付近に設けられるものを想定している。このメータディスプレイ２は、後述するように、いわゆるフルグラフィック表示で速度や警告などを表示可能な構成となっている。
【００１７】
ヘッドアップディスプレイ４は、例えば液晶ディスプレイや有機ＥＬディスプレイあるいはフロントウィンドに画像を投影する投影器で構成されており、ダッシュボード上の運転者の正面付近に設けられるものを想定している。つまり、メータディスプレイ２は、ユーザが視認しやすい位置、換言すると、通常の運転時においてユーザの視界に入る位置に設けられている。
【００１８】
この車両用装置１は、車両に設けられている幾つかの電子制御装置６（以下、ＥＣＵ６）と通信可能に接続されている。なお、車両用装置１もＥＣＵ６の１つとして考えることはできるものの、理解し易くするために、本明細書では車両用装置１とＥＣＵ６とを分けている。また、車両用装置１に接続されるＥＣＵ６の数などは一例であり、これに限定されない。
【００１９】
車両用装置１は、図２に示すように、ＣＰＵ１０、バスマスタ１１、メインメモリ１２、グラフィック処理ユニット１３(以下、ＧＰＵ１３）、画像処理ユニット１４（以下、ＩＰＵ１４）、通信部１５などを備えている。
【００２０】
ＧＰＵ１３は、アプリケーションプログラム（以下、アプリ）から依頼されたコンテンツを実際に描画する機能部である。つまり、アプリからＧＰＵ１３に対して後述する描画依頼が入力され、その描画依頼に基づいて、ＧＰＵ１３が実際のコンテンツを描画する。また、ＧＰＵ１３は、後述するように、合成器からの依頼に基づいて、フレームバッファへのコンテンツの貼り付けや判定用画像の描画なども行う。
【００２１】
ＩＰＵ１４は、フレームバッファを読み出して表示器に映像信号として出力する機能部である。つまり、ＩＰＵ１４によりフレームバッファ上に描画されたコンテンツを表示器に転送することにより、表示器にコンテンツが表示される。なお、ＩＰＵ１４は、必ずしもコンテンツを映像信号の形式で出力する必要はなく、データ形式で出力して表示器側でコンテンツに再生する構成とすることもできる。
【００２２】
ＣＰＵ１０は、複数例えば８個のコア１０ａを備えている。これら８個のコア１０ａは、４個ずつにとりまとめられ、２つのＣＰＵモジュール１６ＡとＣＰＵモジュール１６Ｂに割り振られている。つまり、車両用装置１内には、機能的に独立して動作可能な複数のＣＰＵモジュール１６が設けられている。
【００２３】
また、ＣＰＵモジュール１６Ａは相対的にリアルタイム性が要求されるアプリケーション群２２Ａに割り当てられ、ＣＰＵモジュール１６Ｂは相対的にリアルタイム性が要求されないアプリケーション群２２Ｂに割り当てられている。以下、ＣＰＵモジュール１６に共通する説明をする際にはＡまたはＢを付さず、単にＣＰＵモジュール１６と称する。
【００２４】
各ＣＰＵモジュール１６およびＧＰＵ１３にはそれぞれ専用のキャッシュメモリ１７が設けられている。以下、ＣＰＵモジュール１６Ａに設けられているものを便宜的にキャッシュ１７Ａと称し、ＣＰＵモジュール１６Ｂに設けられているものを便宜的にキャッシュ１７Ｂと称し、ＧＰＵ１３に設けられているものを便宜的にキャッシュ１７Ｇと称する。そして、各キャッシュメモリ１７は、バス１１ａおよびバスマスタ１１を介してメインメモリ１２とＩＰＵ１４に接続されており、相互にデータの送受信が可能に構成されている。
【００２５】
通信部１５は、他のＥＣＵ６との間の通信を行う。この通信部１５は、例えばＣｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋインターフェースで構成されている。なお、ＥＣＵ６の種類によっては、例えばＷｉ−Ｆｉのような無線通信方式、あるいは、ＵＳＢのような有線通信方式を採用することもできる。
【００２６】
車両用装置１は、図３に示すように、ＣＰＵ１０上でオペレーティングシステム２０（以下、ＯＳ２０）が実行され、そのＯＳ２０上で複数のアプリ２１が実行されている。ＯＳ２０上で実行されるアプリ２１としては、メータアプリ２１ａ、ナビアプリ２１ｂ、安全アプリ２１ｃ、映像アプリ２１ｄ、ＨＵＤアプリ２１ｅ、合成アプリ２１ｆなどが設けられている。なお、ＨＵＤは、Ｈｅａｄ  Ｕｐ  Ｄｉｓｐｌａｙの略である。また、各アプリ２１は一例であり、ＯＳ２０上で実行されるアプリ２１はこれらに限定されない。
【００２７】
メータアプリ２１ａは、車両の速度や回転数あるいは警告などをユーザに報知するものであるとともに、主にメータディスプレイ２に表示されるコンテンツを描画する。例えば、メータアプリ２１ａは、図４に通常表示モードとして示すユーザインターフェース２３のように、メータとしての速度計Ｍ１や回転数計Ｍ２、あるいは、テルテールとも称される警告灯Ｍ３などのコンテンツを描画する。
【００２８】
なお、上記したように、実際にコンテンツを描画するのはＧＰＵ１３であり、メータアプリ２１ａは、どのようなコンテンツを描画すればよいかといった描画内容を準備し、実際の描画はＧＰＵ１３に依頼することになる。ただし、説明の簡略化のために、ここではメータアプリ２１ａが描画する、といった表現としている。
【００２９】
速度計Ｍ１は、車両の速度の変化を示すために周期的且つリアルタイムで表示を更新する必要がある針画像Ｍ１ａと、針画像Ｍ１ａに比べると表示の変化が少ないと想定される目盛り画像Ｍ１ｂとで構成されている。同様に、回転数計Ｍ２も、回転数の変化を示すために周期的且つリアルタイムで表示を更新する必要がある針画像Ｍ２ａと、針画像Ｍ２ａに比べると表示の変化が少ないと想定される目盛り画像Ｍ１ｂとで構成されている。また、メータディスプレイ２の場合、針画像Ｍ１ａや目盛り画像Ｍ１ｂなどとは異なるレイヤーに、背景画像ＭＢが描画されている。なお、これらの画像は一例である。
【００３０】
また、メータアプリ２１ａが描画するコンテンツは、センターディスプレイ３やヘッドアップディスプレイ４にも表示可能である。また、メータアプリ２１ａによって描画されるコンテンツは、例示した他のアプリ２１によって描画されるコンテンツよりも、相対的にリアルタイム性が要求されるものとなっている。
【００３１】
ナビアプリ２１ｂは、ナビゲーション機能を実現するものであるとともに、主にセンターディスプレイ３に表示されるコンテンツを描画する。例えば、ナビアプリ２１ｂは、図５に示すように、地図や車両の現在位置などを含むナビゲーション画面Ｍ４などのコンテンツを描画する。ただし、ナビアプリ２１ｂが描画したコンテンツは、例えば図４にナビ表示モードとして示すようにメータディスプレイ２に表示することもできるし、ヘッドアップディスプレイ４にも表示することもできる。
【００３２】
安全アプリ２１ｃは、メニューの表示や運転支援用の各種の機能を実現するものであるとともに、主にセンターディスプレイ３に表示されるコンテンツを描画する。例えば、安全アプリ２１ｃは、図５に示すように、対象となる機能やコンテンツを選択するために複数のアイコンを配置したホーム画面Ｍ５などのコンテンツを描画する。ただし、安全アプリ２１ｃが描画したコンテンツは、例えば図４にメニュー表示モードとして示すようにメータディスプレイ２に表示することもできるし、ヘッドアップディスプレイ４にも表示することもできる。
【００３３】
ＨＵＤアプリ２１ｅは、例えば速度や今後の進路などをユーザに報知するものであるとともに、主にヘッドアップディスプレイ４に表示されるコンテンツを描画する。例えば、ＨＵＤアプリ２１ｅは、図６に示すように、現在の速度情報Ｍ６や時刻情報Ｍ７あるいは曲がり角までの距離や曲がる方向などを示す進路情報Ｍ８を表示するためのコンテンツを描画する。ただし、ＨＵＤアプリ２１ｅが描画したコンテンツは、メータディスプレイ２やセンターディスプレイ３にも表示可能である。
【００３４】
合成アプリ２１ｆは、後述するように、表示器に表示するコンテンツの大きさや種類を特定して、ＧＰＵ１３に対してフレームバッファへの貼り付けを依頼する。つまり、合成アプリ２１ｆは、後述するＧＰＵドライバおよびＧＰＵ１３とともに、コンポジッタなどとも称される合成器としての機能を実現している。また、合成アプリ２１ｆは、後述するように、フレームバッファの更新を判定する判定器としての機能を実現している。なお、合成器と判定器を別のアプリ２１により構成することもできる。
【００３５】
各アプリ２１のうちコンテンツを描画するアプリ２１には、図７に示すように、コンテンツを描画するための物理面３０が個別に割り当てられている。つまり、各アプリ２１は、コンテンツを自身に割り当てられている物理面３０に描画する描画部として機能する
【００３６】
これらの物理面３０は、メインメモリ１２やキャッシュメモリ１７上に、必要となるコンテンツを描画つまりは配置できる大きさで確保されている。なお、物理面３０の大きさは必ずしも表示器のピクセル数と一致させる必要はない。これは、物理面３０に描画されたコンテンツのうち必要なコンテンツが選択されて表示器に表示されるためである。
【００３７】
本実施形態では、メータアプリ２１ａには物理面３０Ａが割り当てられており、ナビアプリ２１ｂには物理面３０Ｂが割り当てられており、安全アプリ２１ｃには物理面３０Ｃが割り当てられており、映像アプリ２１ｄには物理面３０Ｄが割り当てられており、ＨＵＤアプリ２１ｅには物理面３０Ｅが割り当てられている。そして、各物理面３０には、各アプリ２１によって１つ以上のコンテンツが描画される。
【００３８】
例えば、物理面３０Ａには、メータアプリ２１ａによってコンテンツＳＡ１〜ＳＡ３が描画される。同様に、物理面３０Ｂには、ナビアプリ２１ｂによってコンテンツＳＢ１が描画される。物理面３０Ｃには、安全アプリ２１ｃによってコンテンツＳＣ１、ＳＣ２が描画される。なお、図７では、説明の簡略化のために、安全アプリ２１ｃによって描画される複数のコンテンツをまとめてコンテンツＳＣ１としている。物理面３０Ｄには、映像アプリ２１ｄによってコンテンツＳＤ１が描画される。物理面３０Ｅには、ＨＵＤアプリ２１ｅによってコンテンツＳＥ１〜ＳＥ３が描画される。なお、これらのコンテンツは一例である。
【００３９】
また、各表示器に表示されるコンテンツは、少なくとも１つがアニメーション動作するものとなっている。ここで、アニメーション動作とは、コンテンツを示す画像の位置や大きさが徐々に変化したり、画像が回転したり、スワイプ操作にともなってユーザインターフェース２３が全体的に移動したり、画像が徐々にフェードインあるいはフェードアウトしたり、画像の色が変化したりするような表示態様である。
【００４０】
例えば、図４に示したように、速度計Ｍ１や回転数計Ｍ２あるいは地図やメニューなどは、表示モードや表示先の表示器によってその大きさや位置が変化するコンテンツである。ただし、アニメーション動作はこれらに限定されず、ある時点から連続的あるは断続的に表示態様が変化するものであればアニメーション動作に含まれる。
【００４１】
次に、上記した構成の作用について説明する。
まず、図８から図１０を参照しながら、車両用装置１におけるコンテンツの描画から表示器への表示までの流れについて説明する。なお、図８から図１０では、コンテンツを描画するアプリ２１を、便宜的に描画アプリＡ、描画アプリＢ、描画アプリＣと示している。なお、各描画アプリに共通する説明をする場合には、Ａ〜Ｃを付さず、単に描画アプリと称する。
【００４２】
描画アプリは、描画内容を準備すると、ＧＰＵ１３に対して実際の描画を依頼する。以下、描画アプリからのＧＰＵ１３に対する描画の依頼を、便宜的に描画依頼と称する。この描画依頼は、各描画アプリから個別にＧＰＵ１３に対して出力される。
【００４３】
ＧＰＵ１３は、描画依頼を受けると、図９に示すように、各描画アプリに対応して例えばメインメモリ１２上に設けられている描画領域３１Ａ、描画領域３１Ｂおよび描画領域３１Ｃに、依頼内容に基づいて描画を行う。この描画領域３１Ａ〜３１Ｃに描画されたものが、コンテンツになる。なお、描画領域３１Ａ〜３１Ｃは、物理面３０と同じ領域とすることもできるし、高速アクセスのために物理面３０はキャッシュ１７上に設けておき、フレームバッファ５０に貼り付ける際にコンテンツを共有できるように描画領域３１Ａ〜３１Ｃはメインメモリ１２上に設けることもできる。
【００４４】
各描画アプリからの描画依頼が処理されると、合成アプリ２１ｆは、図８に示すように、各描画アプリに対応するコンテンツを参照して、フレームバッファ５０に貼り付けるための準備を行う。この準備では、表示するコンテンツを選択したり位置や大きさを設定したりすることにより、図１０に示すように、各描画領域３１のうちフレームバッファ５０に貼り付けるための貼り付け領域３２Ａ〜貼り付け領域３２Ｃが設定される。以下、貼り付け領域３２Ａ〜貼り付け領域３２Ｃに共通する説明をする場合には、Ａ，Ｂ、Ｃを付さず、単に貼り付け領域３２と称する。なお、１つの描画領域３１からコンテンツを貼り付ける場合もある。
【００４５】
この準備が完了すると、合成アプリ２１ｆは、図８に示すように、ＧＰＵ１３に対して貼り付け領域３２をフレームバッファ５０に貼り付ける処理を依頼する。そして、ＧＰＵ１３は、合成アプリ２１ｆからの依頼に基づいて、貼り付け領域３２をフレームバッファ５０に貼り付ける。これにより、図１０に示すように、貼り付け領域３２Ａ〜貼り付け領域３２Ｃは、合成あるいは重畳されて、フレームバッファ５０上の所定の位置に所定の大きさで描画される。すなわち、貼り付け領域３２に含まれているコンテンツがフレームバッファ５０に配置される。
【００４６】
その後、ＩＰＵ１４がフレームバッファ５０に配置されたコンテンツを読み出して、映像信号として表示器に出力する。あるいは、ＩＰＵ１４は、フレームバッファ５０に配置されたコンテンツの情報を表示器に転送して、表示器側でコンテンツが再生される。これにより、表示器にコンテンツが表示される。
【００４７】
ところで、車両用装置１のように表示器が設けられている場合、表示に不具合が生じるおそれがある。このとき、表示の不具合としては、フレームバッファ５０へのコンテンツの書き込み、つまりは、フレームバッファ５０の更新が正しく行われていない場合も含まれる。これは、フレームバッファ５０の更新が正しく行われていない場合には、例えば同じ画面が表示され続けたり、意図しない画面が表示されたりするといった不具合が生じるためである。以下、本実施形態で想定する不具合を、便宜的に画面が固着していると称する。
【００４８】
その場合、今回の表示画面と前回の表示画面とが同一であるかを比較することにより、画面が固着しているか否かを判定できるようになると考えられる。しかし、表示器が大型化あるいは高精細化した場合や、本実施形態の車両用装置１のように複数の表示器を制御する場合には、画面全体を比較する構成にすると、ＣＰＵ１０、メインメモリ１２およびＧＰＵ１３の間でデータのやり取りが多発する。
【００４９】
例えば、いわゆるフルＨＤの表示器の場合、解像度が１９２０×１０８０ピクセルであり、その全てのピクセルを比較する処理には、一例ではあるが、実測値として概ね１０００ｍｓｅｃ程度掛かることがある。そのため、画面全体を比較する構成としてしまうと、例えばメータディスプレイ２のように１／６０秒で周期的に表示を更新する必要があるものに対して実用性がなくなってしまう。
【００５０】
また、画面全体を比較する処理の負荷が増えると、表示以外の処理にも影響を与えてしまい、車両用装置１の性能が著しく劣化して実用性がなくなってしまう。その一方で、処理時間を短くするために例えば画面の一部の領域を比較する構成にすると、比較した領域については判定できるとしても、画面全体については正しく更新されているか否かを判定することはできない。
【００５１】
そこで、車両用装置１では、処理時間を抑制しつつ、画面全体について更新されているか否かを判定できるようにしている。
まず、発明者らは、ＧＰＵ１３がコンテンツをフレームバッファ５０に貼り付ける際の描画メカニズムに着目した。具体的には、ＧＰＵ１３は、合成アプリ２１ｆから依頼された貼り付け領域３２を２つの三角形の領域に分割し、三角形の領域をそれぞれフレームバッファ５０に貼り付けるという描画メカニズムとなっている。
【００５２】
より詳細には、図１１に示すように例えば貼り付け領域３２Ａをフレームバッファ５０に貼り付ける場合、合成アプリ２１ｆは、貼り付け領域をＧＰＵドライバ５１に指示する。すると、ＧＰＵドライバ５１は、貼り付け領域３２Ａを三角形の２つの単位領域３３に分割し、それぞれの単位領域３３をフレームバッファ５０に貼り付けるようにＧＰＵ１３を制御する。そして、ＧＰＵ１３は、２つの単位領域３３をフレームバッファ５０上の所定の位置に貼り付けることにより、貼り付け領域３２Ａの全体がフレームバッファ５０上に描画する。
【００５３】
この描画メカニズムから、それぞれの単位領域３３がフレームバッファ５０に正しく描画されたか否かを判定すれば、画面全体が正しく更新されているか否かを判定できると考えられる。ただし、単位領域３３の全体について今回描画したものと前回描画したものとを比較すると、上記したように処理時間が掛かりすぎてしまう。
【００５４】
そこで、車両用装置１は、図１２に示す更新を判定する処理を実行することにより、処理時間の抑制と、画面全体についての判定とを両立させている。なお、以下の処理は、合成器および判定器としての合成アプリ２１ｆによって行われるものの、説明の簡略化のため、ここでは車両用装置１を主体として説明する。
【００５５】
車両用装置１は、ステップＳ１において貼り付け領域３２を設定すると、ステップＳ２において、それぞれの貼り付け領域３２に対して判定領域を設定する。この判定領域は、フレームバッファ５０の更新が正しく行われているか否かを判定するための判定用画像が描画される領域であり、本実施形態では貼り付け領域３２内の１ピクセルに設定されている。なお、判定領域の位置や大きさをどのように設定するかについては後述する。
【００５６】
そして、車両用装置１は、ステップＳ３において貼り付け領域３２を描画し、ステップＳ４において判定用画像を描画する。より具体的には、合成アプリ２１ｆは、ＧＰＵ１３に対して貼り付け領域３２の描画を依頼するとともに、予め準備した判定用画像の描画をＧＰＵ１３に依頼する。なお、ステップＳ２からＳ４の処理は、順不同である。また、判定用画像の詳細については後述する。
【００５７】
続いて、車両用装置１は、ＧＰＵ１３による描画が完了すると、ステップＳ５において、それぞれの判定領域に描画された判定用画像をフレームバッファ５０から読み出し、ステップＳ６において、依頼した判定用画像と、実際にフレームバッファ５０に描画された判定用画像とを比較する。
【００５８】
そして、車両用装置１は、依頼した判定用画像と実際にフレームバッファ５０に描画された判定用画像とが一致する場合には、ステップＳ７においてＹＥＳとなることから、画面の固着無し、つまりは、フレームバッファ５０が正しく更新されたと判定する。
【００５９】
一方、車両用装置１は、依頼した判定用画像と実際にフレームバッファ５０に描画された判定用画像とが一致しない場合には、ステップＳ７においてＮＯとなることから、ステップＳ９において画面の固着有り、つまりは、フレームバッファ５０が正しく更新されていないと判定する。この場合、車両用装置１は、ステップＳ１０において、リカバリー処理を実行して画面の固着を解消する。
【００６０】
また、車両用装置１は、ステップＳ３、Ｓ４においてフレームバッファ５０への描画自体が失敗した場合も、リカバリー処理を実行する。このリカバリー処理では、本実施形態では不具合が生じたＯＳ２０の再起動を行っている。ただし、リカバリー処理としては、例えば不具合が生じたアプリ２１単体を再起動させることもできる。
【００６１】
このように、車両用装置１は、判定するために意図的に準備した判定用画像と、実際にフレームバッファ５０に描画された判定用画像とを比較することにより、フレームバッファ５０の更新が正しく行われたか否かを判定している。換言すると、車両用装置１は、書き込みの前後の判定用画像を比較することにより、フレームバッファ５０へのコンテンツの書き込みが正しく行われたか否かを判定している。
【００６２】
ところで、フレームバッファ５０に描画されたコンテンツは、基本的に表示器に表示されることになる。そのため、上記したように判定用画像をフレームバッファ５０に描画すると、ユーザに見せる必要が無い画像が表示されてしまうおそれがある。そのため、車両用装置１は、表示器の構造に鑑みて、少なくとも１つの判定領域を、フレームバッファ５０の領域内であって、表示器に表示させた際にユーザに視認されない領域内に設定する。
【００６３】
例えば、図１３に示すように、メータディスプレイ２などの表示器は、一般的に、外縁部がベゼル２ａやフレームによって覆われている。換言すると、表示器は、画面全体が露出つまりはユーザに視認可能になっているのではなく、外縁部がユーザに視認されない構造となっている。
【００６４】
そのため、表示器と同じピクセル数が確保されているフレームバッファ５０には、その外縁に、描画が可能な領域であって、且つ、ユーザからは視認されない領域が形成されることになる。以下、この領域を、便宜的に不可視領域５０ａと称する。そして、不可視領域５０ａ内であれば、上記した判定用画像を描画したとしても、判定用画像がユーザに視認されることはない。これは、液晶パネルや有機ＥＬパネルが採用されたものであれば、センターディスプレイ３やヘッドアップディスプレイ４についても同様である。なお、ユーザに見せるためのコンテンツは、当然ながら不可視領域５０ａでは無い位置に描画される。
【００６５】
そこで、車両用装置１は、上記したステップＳ２では、フレームバッファ５０の外縁部に形成される不可視領域５０ａ内に、判定領域５２を設定している。これにより、ユーザに不要な画像を見せることなく、判定用画像を描画することが可能となる。なお、図１３では、説明のために判定領域５２を四角形で示しているが、判定領域５２は１ピクセル以上であればよい。また、車両用装置１は、少なくとも１つ、本実施形態では２つの判定領域５２を、不可視領域５０ａ内の固定した位置に設定している。
【００６６】
このとき、車両用装置１は、不可視領域５０ａ内の固定した位置を判定領域５２とすることができる。また、車両用装置１は、不可視領域５０ａ内のランダムに設定した位置を判定領域５２とすることができる。また、車両用装置１は、不可視領域５０ａ内の固定した位置とランダムに設定した位置とを混在させて判定領域５２を設定することができる。
【００６７】
また、車両用装置１は、処理時間に余裕があれば、１つの単位領域３３内に複数の判定領域５２を設定することができる。この場合、ステップＳ７では、設定した判定領域５２について順次一致するか否かを判定することになる。また、車両用装置１は、１つの判定領域５２を複数のピクセルで構成することもできる。
【００６８】
また、車両用装置１は、判定用画像の色を、例えば赤、緑、青のような代表的な色を予め選択し、判定ごとに順番に色を変化させて設定することができる。また、車両用装置１は、判定用画像の色を、判定ごとにランダムに、但し、前回の判定時とは異なる色に設定することができる。すなわち、判定用画像は、前回の判定時とは前回の判定時とは位置、大きさおよび色のうち少なくとも１つが異なる画像であればよい。
【００６９】
このように、車両用装置１は、判定用画像を準備し、フレームバッファ５０に対して判定用画像を描画し、準備した判定用画像と実際に描画された画像とを比較することにより、また、その制御方法を採用することにより、フレームバッファ５０が正しく更新されたか否かを判定している。
【００７０】
以上説明した実施形態によれば、次のような効果を得ることができる。
車両用装置１は、表示器に接続されるものであって、アプリ２１からの描画依頼に基づいてコンテンツを描画するＧＰＵ１３と、描画されたコンテンツを表示器に対応して設けられているフレームバッファ５０に貼り付ける合成器としての合成アプリ２１ｆと、フレームバッファ５０が更新されているか否かを判定する判定器としてのアプリ２１ｆとを備えている。
【００７１】
合成器としての合成アプリ２１ｆは、フレームバッファ５０に貼り付ける貼り付け領域３２を設定し、設定した貼り付け領域３２を三角形の単位領域３３に分割し、それぞれの単位領域３３をフレームバッファ５０に貼り付ける処理をＧＰＵ１３に実行させる。そして、判定器としての合成アプリ２１ｆは、それぞれの貼り付け領域３２内に判定領域５２を設定し、判定領域５２に描画する判定用画像を準備し、準備した判定用画像の描画をＧＰＵ１３に依頼し、ＧＰＵ１３が実際にフレームバッファ５０に描画した判定用画像を読み出し、準備した判定用画像と読み出した判定用画像とが一致すると、フレームバッファ５０が更新されていると判定する。
【００７２】
このように、準備した判定用画像と、実際にフレームバッファ５０に描画された判定用画像とを比較する構成としたことにより、フレームバッファ５０に対して実際に書き込みが行われているか否かを判定することができる。すなわち、この構成により、フレームバッファ５０が正しく更新されているか否かを判定することができる。そして、フレームバッファ５０が正しく更新されていれば、画面の固着が生じていないと判断することができる。
【００７３】
このとき、車両用装置１では、判定用画像を、貼り付け領域３２内に設定した判定領域５２に描画している。これにより、比較するピクセル数を削減することが可能となり、画面全体を比較する場合に比べて、処理時間を大きく削減することができる。したがって、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができる。
【００７４】
また、フレームバッファ５０に貼り付ける貼り付け領域３２を設定する工程と、貼り付け領域３２を三角形の単位領域３３に分割する工程と、それぞれの単位領域３３をＧＰＵ１３によりフレームバッファ５０に貼り付ける工程と、貼り付け領域３２内に設定されている判定領域５２に描画する判定用画像を準備する工程と、準備した判定用画像をＧＰＵ１３によりフレームバッファ５０に描画する工程と、準備した判定用画像と読み出した判定用画像とを比較し、両者が一致するとフレームバッファ５０が更新されていると判定する工程とを含む車両用装置１の制御方法によっても、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができる。
【００７５】
車両用装置１は、少なくとも１つの判定領域５２を、フレームバッファ５０の領域内であって、表示器に表示させた際にユーザに視認されない不可視領域５０ａ内に設定する。これにより、実際に表示される領域に判定用画像を描画することができ、フレームバッファ５０への書き込みが行われたか否かを確実に判定することができる。また、判定用画像を描画してもユーザに視認されることがないため、故障が発生した等の不信感をユーザに与えることもない。
【００７６】
車両用装置１は、表示器に表示させた際にユーザに視認されない領域として、表示器に設けられているベゼルによって隠される部位に対応したフレームバッファ５０上の領域を設定する。これにより、一般的な表示器の多くを対象として、フレームバッファ５０の更新が正しく行われたか否かの判定を行うことができる。
【００７７】
車両用装置１は、判定領域５２を１ピクセルで設定する。これにより、比較対象となる判定用画像が最小となり、比較に要する処理時間を短縮することができる。また、判定用画像の描画および読み出しに要する時間も最小とすることができ、判定を行うために必要となるＣＰＵ１０の負荷やバス負荷を最低限に抑えることができる。
【００７８】
車両用装置１は、少なくとも１つの判定領域５２を、不可視領域５０ａ内の固定した位置に設定する。これにより、判定領域５２をどこにするかを判断する必要が無くなり、処理を簡素化することができる。
【００７９】
ただし、車両用装置１は、少なくとも１つの判定領域５２を、不可視領域５０ａ内のランダムに設定した位置とすることもできる。これにより、コンテンツがフレームバッファ５０の外縁まで届くような場合であっても、判定領域５２を確保することができる。この場合、位置を固定した判定領域５２とランダムに設定した判定領域５２とを共存させることもできる。
【００８０】
（第２実施形態）
以下、第２実施形態について説明する。第２実施形態では、第１実施形態の幾つかの変形例について説明する。
【００８１】
＜第１の例＞
第１実施形態では不可視領域５０ａ内に判定領域５２を設定する例を示したが、車両用装置１は、例えば図１４に示すように、少なくとも１つの判定領域５２を、不可視領域５０ａの外側、つまりは、ユーザに視認可能な位置に設定することができる。
【００８２】
ただし、この場合、車両用装置１は、表示態様が変化するコンテンツが描画される領域内に設定する。また、車両用装置１は、判定用画像を、コンテンツに対応する色や大きさに設定する。
【００８３】
例えばコンテンツがスクロールしたり回転したりするように表示される場合、前回描画されたコンテンツと今回描画されたコンテンツとの間では、ある位置において色が変化すると考えられる。そして、前回と今回とで色が変化する部位は、第１実施形態で説明したように、フレームバッファ５０が正しく更新されているか否かの判定に用いることができる。例えばメータディスプレイ２であれば、破線にて模式的に示す針画像Ｍ１ａは表示態様が異なる可能性が高いと考えられる。
【００８４】
そのため、車両用装置１は、針画像Ｍ１ａが描画される範囲内に判定領域５２を設定し、針画像Ｍ１ａの色と背景色で交互に判定用画像を描画する。これにより、フレームバッファ５０が正しく更新されているか否かを判定することができ、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができるなど、第１実施形態と同様の効果を得ることができる。この場合、必ずしも全ての判定領域５２を不可視領域５０ａの外に設定する必要は無く、他の判定領域５２は不可視領域５０ａ内に設定することもできる。
【００８５】
また、コンテンツがスクロールしたり回転したりする場合には、コンテンツの情報をアプリ２１から求め、前回描画されたコンテンツの一部と、今回描画されたコンテンツの一部とを比較する構成とすることもできる。換言すると、判定用画像として、アプリ２１から描画されるコンテンツそのものを利用する構成とすることもできる。このような構成であっても、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができるなど、第１実施形態と同様の効果を得ることができる。
【００８６】
＜第２の例＞
第１実施形態ではフレームバッファ５０の領域内に判定領域５２を設定する例を示したが、車両用装置１は、図１５に示すように、少なくとも１つの判定領域５２を、メインメモリ１２上のフレームバッファ５０の外側の領域に設定することができる。この場合、車両用装置１は、貼り付け領域３２をフレームバッファ５０よりも大きいサイズで設定し、各単位領域３３に判定領域５２を設定することになる。
【００８７】
このような構成によっても、判定領域５２に描画した判定用画像を比較することにより、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができるなど、第１実施形態と同様の効果を得ることができる。
【００８８】
また、フレームバッファ５０の外側に判定用画像を描画するため、ベゼル２ａが非常に幅狭ないわゆるベゼルレスと称される表示器において、角度によって判定用画像がユーザに視認されることを防止できる。また、例えばヘッドアップディスプレイ４が投影方式を採用している場合、このような位置に判定領域５２を設定することが特に有意となる。なお、液晶パネルや有機ＥＬパネルを採用した表示器であっても、フレームバッファ５０の領域外に判定領域５２を設定することもできる。
【００８９】
＜第３の例＞
第１実施形態では車両用装置１に１つのＯＳ２０が実装されている構成例を示して説明したが、車両用装置１は、異なる構成とすることもできる。例えば、車両用装置１は、図１６に示すように、ＣＰＵ１０上でハイパーバイザ４０が実行され、そのハイパーバイザ４０上で複数例えば２つのＯＳ２０ＡおよびＯＳ２０Ｂが実行される。
【００９０】
このとき、ＯＳ２０ＡはＣＰＵモジュール１６Ａに割り当てられており、ＯＳ２０ＢはＣＰＵモジュール１６Ｂに割り当てられている。本実施形態では、ＯＳ２０Ａは相対的にリアルタイム性が高い処理を担当し、ＯＳ２０Ｂは相対的にリアルタイム性が低い処理を担当するものを想定している。
【００９１】
例えば、ＯＳ２０Ａでは、リアルタイム性が要求される例えばメータアプリ２１ａや合成アプリ２１ｆが実行され、ＯＳ２０Ｂでは、リアルタイム性がＯＳ２０Ａほど要求されないナビアプリ２１ｂや安全アプリ２１ｃ、映像アプリ２１ｄやＨＵＤアプリ２１ｅなどが実行される。なお、ＯＳ２０の種類や数あるいはアプリ２１ケーションの配置は一例であり、これらに限定されない。
【００９２】
このような構成であっても、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができるなど、第１実施形態と同様の効果を得ることができる。この場合、ハイパーバイザ４０は、ＯＳ２０Ａの機能として実行される構成とすることもできる。すなわち、ＣＰＵ１０上でＯＳ２０Ａを実行し、そのＯＳ２０の機能としてハイパーバイザ４０を動作させ、そのハイパーバイザ４０上でＯＳ２０Ｂを実行する構成とすることもできる。
【００９３】
あるいは、車両用装置１は、図１７に示すように、複数のＣＰＵ１０を備え、各ＣＰＵ１０上でそれぞれＯＳ２０ＡおよびＯＳ２０Ｂが実行される構成とすることもできる。この場合も同様に、ＣＰＵ１０Ａでは、リアルタイム性が要求される例えばメータアプリ２１ａや合成アプリ２１ｆを実行し、ＣＰＵ１０Ｂでは、リアルタイム性がＣＰＵ１０Ａ側ほど要求されないナビアプリ２１ｂや安全アプリ２１ｃ、映像アプリ２１ｄやＨＵＤアプリ２１ｅなどを実行することができる。なお、ＣＰＵ１０の数あるいはアプリ２１ケーションの配置は一例であり、これらに限定されない。
【００９４】
このような構成であっても、処理時間を抑制しつつ、画面全体について更新されているか否かを判定することができるなど、第１実施形態と同様の効果を得ることができる。
【００９５】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に含まれるものである。
【００９６】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【符号の説明】
【００９７】
図面中、１は車両用装置、２はメータディスプレイ（表示器）、２Ａはベゼル、３はセンターディスプレイ（表示器）、４はヘッドアップディスプレイ（表示器）、１２はメインメモリ、１３はＧＰＵ（グラフィック処理ユニット）、２１はアプリ（アプリケーションプログラム）、２１ｆは合成アプリ（合成器、判定器）、３２は貼り付け領域、３３は単位領域、５０はフレームバッファ、５２は判定領域を示す。
【図１】
2020175854.tif 000003
【図２】
2020175854.tif 000004
【図３】
2020175854.tif 000005
【図４】
2020175854.tif 000006
【図５】
2020175854.tif 000007
【図６】
2020175854.tif 000008
【図７】
2020175854.tif 000009
【図８】
2020175854.tif 000010
【図９】
2020175854.tif 000011
【図１０】
2020175854.tif 000012
【図１１】
2020175854.tif 000013
【図１２】
2020175854.tif 000014
【図１３】
2020175854.tif 000015
【図１４】
2020175854.tif 000016
【図１５】
2020175854.tif 000017
【図１６】
2020175854.tif 000018
【図１７】
2020175854.tif 000019