以下、本開示の複数の実施形態を図面に基づいて説明する。尚、各実施形態において対応する構成要素には同一の符号を付すことにより、重複する説明を省略する場合がある。各実施形態において構成の一部分のみを説明している場合、当該構成の他の部分については、先行して説明した他の実施形態の構成を適用することができる。また、各実施形態の説明において明示している構成の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても複数の実施形態の構成同士を部分的に組み合わせることができる。そして、複数の実施形態及び変形例に記述された構成同士の明示されていない組み合わせも、以下の説明によって開示されているものとする。
(第一実施形態)
図1に示す本開示の第一実施形態による表示制御装置の機能は、表示制御ECU(Electronic Control Unit)100に実装されている。表示制御ECU100は、描画ECU30及びHUD40等と共に、車両Aにおいて用いられる虚像表示システム10を構成している。虚像表示システム10は、車両Aの前景に重畳される虚像Viを用いた表示により、車両Aに関連する種々の情報を運転者に提示する。表示制御ECU100は、上述の描画ECU30及びHUD40と電気的に接続されている。
描画ECU30は、複数の車載表示器と直接的又は間接的に接続されており、各車載表示器の表示を統合的に制御する。描画ECU30は、各車載表示器の表示内容を決定し、各車載表示器へ向けて映像データを逐次出力する。描画ECU30は、車載ネットワークの通信バス等と電気接続されており、映像データの生成に必要なデータを、車載ネットワークから取得する。描画ECU30は、車載ネットワーク等から取得した情報を用いて、虚像表示のための映像データを生成し、表示制御ECU100へ向けて逐次出力する。
HUD40は、ウィンドシールドWSの下方にて、インスツルメントパネルに設けられた収容空間に収容される車載表示器である。HUD40は、ウィンドシールドWSに規定された投影領域PAへの光の投影により、運転者から視認可能に虚像Viを表示する。詳記すると、HUD40からウィンドシールドWSの投影領域PAへ向けて射出された虚像Viの光は、投影領域PAによってアイポイント側へ向けて反射され、運転者によって知覚される。運転者は、投影領域PAを通して見える前景に、虚像Viが重畳された表示を視認する。HUD40は、例えばアイポイントから車両Aの前方向に10~20m程度の空間中に虚像Viを結像させる。
HUD40によって表示される虚像Viには、AR(Augmented Reality)表示物が含まれている。AR表示物は、拡張現実表示に用いられる虚像Viである。AR表示物として表示される虚像Viの表示位置は、投影領域PAを通して視認される前景中の特定物体、例えば、前走車、歩行者及び路面等の重畳対象に関連付けられている。AR表示物としての虚像Viは、こうした重畳対象に相対固定されているように、重畳対象を追って、運転者の見た目上で移動する。そのため、車両Aの姿勢が変化した場合でも、虚像Viが重畳対象に重畳表示された状態は、維持される。一例として、走行すべき車線の範囲を示すバーチャルレーン表示等が、AR表示物として虚像表示される。尚、HUD40によって表示される虚像Viには、AR表示物だけでなく、非AR表示物が含まれていてもよい。非AR表示物は、特定の重畳対象には重畳されず、ウィンドシールドWS等の車両構成に相対固定されているように表示される。
HUD40は、LCD(Liquid Crystal Display)41、バックライト42及び反射光学系43と、これらの光学要素を収容する筐体等によって構成されている。LCD41は、多数の画素が配列されてなる表示面を有している。LCD41は、各画素に設けられた赤色、緑色、及び青色等のサブ画素の光の透過率を増減させ、表示面に種々の画像をカラー表示する。LCD41の表示面には、出力映像データVdoに基づく出力画像Po(後述する)が連続的に表示される。バックライト42は、LCD41を背面側から透過照明し、表示面に描画された出力画像Poを発光表示させる。反射光学系43は、凸面鏡及び凹面鏡等の反射鏡を含む構成である。反射光学系43は、LCD41から射出された出力画像Poの光を、反射によって広げつつ投影領域PAに投影する。こうした投影により、出力画像Poを拡大させてなる虚像Viが表示される。尚、反射光学系43には、例えば回折によって出力画像Poを拡大する回折光学素子(Diffractive Optical Element:DOE)等が用いられてもよい。
表示制御ECU100は、描画ECU30及びHUD40間にて映像データを中継し、HUD40による虚像Viの表示を制御する制御装置である。表示制御ECU100は、慣性センサ51及び回路基板等によって構成されている。回路基板には、処理部60、第一メモリ71、第二メモリ72、記憶部74及び入出力インターフェース等が設けられている。回路基板に形成されたデータバス50には、慣性センサ51、第一メモリ71、第二メモリ72、記憶部74及び処理部60等が高速アクセス可能に接続されている。
慣性センサ51は、車両Aの姿勢変化を計測する計測部である。慣性センサ51は、ジャイロセンサを主体に構成されており、車両Aの姿勢変化のうちで、特にピッチ方向の角速度を計測する。慣性センサ51は、例えば回路基板に固定されていてもよく、又は表示制御ECU100の金属筐体等に固定されていてもよい。慣性センサ51には、ローパスフィルタ、AD変換部、及びハイパスフィルタ等が、ジャイロセンサの出力信号を処理する信号処理回路として設けられている。ローパスフィルタは、出力信号に含まれる高周波ノイズを除去する。AD変換部は、ローパスフィルタを通過したアナログ信号をデジタル信号に変換する。ハイパスフィルタは、出力信号に含まれるドリフト成分を除去する。慣性センサ51は、信号処理回路を通過した出力信号を、車両Aのピッチ方向の変位を示すピッチ計測情報として、データバス50に逐次出力する。
第一メモリ71及び第二メモリ72は、例えばDDR(Dynamic Random Access Memory)2又はDDR3等の規格に準じたSDRAMのメモリモジュールを主体に構成されている。第一メモリ71及び第二メモリ72は、互いに実質同一構成の揮発性メモリであり、容量及びアクセス速度等も実質同一となるように揃えられている。第一メモリ71及び第二メモリ72は、それぞれ個別にデータバス50に接続されている。第一メモリ71及び第二メモリ72は、処理部60と結合されて、処理部60のワーキングメモリとして機能する。
第一メモリ71及び第二メモリ72は、互いに独立した状態で、処理部60のワーキングメモリとして機能可能である。具体的には、第一メモリ71及び第二メモリ72は、物理的に独立したメモリ構成として、データバス50に繋がる回路基板上のメモリスロットに組み付けられている。さらに、処理部60は、第一メモリ71へのアクセス期間中でも併行して第二メモリ72にアクセス可能であり、同様に、第二メモリ72へのアクセス期間中でも併行して第一メモリ71にアクセス可能である。即ち、処理部60は、第一メモリ71及び第二メモリ72のうちの一方のアクセスに制限されることなく、他方のメモリにもアクセス可能である。
記憶部74は、ROM又はフラッシュメモリ等の不揮発性の記憶媒体を主体に構成されている。記憶部74は、データバス50に接続されており、処理部60に提供されるデータを保持している。記憶部74には、処理部60によって実行される種々のプログラムが格納されている。加えて記憶部74には、虚像表示に必要とされる多数のパラメータが格納されている。こうしたパラメータの一つとして、後述する歪み補正テーブルTBcが、記憶部74には記憶されている。
処理部60は、描画ECU30にて生成された映像データ(以下、「入力映像データVdi」)を加工し、HUD40へ向けて出力する出力映像データVdoを生成する。処理部60は、入力映像データVdiの各フレームを構成する入力画像Piを補正し、出力映像データVdoの各フレームとなる出力画像Poを描画する。
処理部60は、第一メモリ71及び第二メモリ72へのアクセスを制御するメモリコントローラ等を含む構成である。処理部60は、CPU(Central Processing Unit)、FPGA(Field-Programmable Gate Array)及び他の専用機能を備えたIPコア等を組み合わせた構成とされている。処理部60には、信号生成部61、データ書込部63及び補正演算部64等が設けられている。
信号生成部61は、出力映像データVdoの受信側となるLCD41に、各フレーム画像の読み出しタイミングを伝える同期信号を生成する。信号生成部61は、少なくとも垂直同期信号(Vertical Synchronizing signal,図4 VSYNC参照)を生成する。垂直同期信号は、出力画像Poと共に外部のHUD40へ向けて出力される。垂直同期信号に基づき、LCD41は、一つの出力画像Poから次の出力画像Poへと、画面の書き換えを開始する。垂直同期信号にて、一つのフレーム(出力画像Po)に割り当てられたオン期間には、ブランキング期間Tbと画面表示期間Tdとが含まれている。ブランキング期間Tbは、映像が表示されない期間であり、画面表示期間Tdの前後に設定されている。一方、画面表示期間Tdは、映像が表示される期間である。
データ書込部63は、第一メモリ71及び第二メモリ72のそれぞれに、データを書き込む処理を実行する。データ書込部63は、表示制御ECU100の起動直後、虚像Viの表示が開始される前に、記憶部74に格納された補正情報としての歪み補正テーブルTBcを読み出し、第一メモリ71及び第二メモリ72の両方に、歪み補正テーブルTBcを書き込む。第一メモリ71及び第二メモリ72は、表示制御ECU100への給電が停止されるまで、歪み補正テーブルTBcのデータを消去することなく保持し続ける。
データ書込部63は、描画ECU30から表示制御ECU100への入力映像データVdiの出力が開始されると、伝送される入力映像データVdiを受信する。データ書込部63は、取得した入力映像データVdiにて連続する個々のフレーム画像を、入力画像Piとして第一メモリ71及び第二メモリ72に書き込む処理を実施する。データ書込部63は、歪み補正テーブルTBcの格納領域とは異なるアドレスに入力画像Piを書き込む。データ書込部63は、第一メモリ71及び第二メモリ72に、入力画像Piを交互に書き込んでいく。例えばデータ書込部63は、n番目のフレームを第一メモリ71に入力画像Piとして書き込んだ場合、n+1番目のフレームを第二メモリ72に入力画像Piとして書き込む。以上のスイッチングにより、第一メモリ71及び第二メモリ72は、補正演算部64によって読み出し可能に、異なる入力画像Piを記憶した状態となる。
補正演算部64は、図1及び図2に示すように、入力画像Piの補正によって出力画像Poを生成する。補正演算部64は、出力画像Poを生成に際して、第一メモリ71及び第二メモリ72の一方から入力画像Piを読み出しつつ、第一メモリ71及び第二メモリ72の他方から歪み補正テーブルTBcを読み出す処理を実施する。補正演算部64は、入力画像Piに対する補正として、ピッチ補正と歪み補正とを実施する。
ピッチ補正は、車両Aの姿勢変化(ピッチング)に起因する重畳対象からの虚像Viの位置ずれを低減(相殺)させる補正である。ピッチ補正の対象は、車両Aに生じるピッチ方向の振動のうちで、例えば0.5~2Hzまでの周波数帯域の振動とされる。補正演算部64は、入力画像Piの中で出力画像Poに使用する範囲(図2 中間画像Pm)を、慣性センサ51から取得するピッチ計測情報に基づき、決定する。具体的に、補正演算部64は、ピッチ計測情報に基づき、車両Aの姿勢変化のうちで、ピッチングに起因する姿勢補正量として、ピッチ補正量を算出する。ピッチ補正量は、ピッチ計測情報の示す車両ピッチ角が増えるほど、大きな値となる。補正演算部64は、ピッチ補正量に基づき、入力画像Piのうちで出力画像Poに使用する中間画像Pmの上下方向の位置を決定する。尚、中間画像Pmのサイズ(例えば1280×480ピクセル)は、入力画像Piのサイズ(例えば1280×720ピクセル)よりも小さく、且つ、出力画像Poのサイズと同程度とされる。
歪み補正は、投影領域PA及び反射光学系43での反射に起因する虚像Viの変形を考慮し、歪みを低減(相殺)させた状態で虚像Viが表示されるように、出力画像Poの形状を予め変形させておく補正である。歪み補正の補正演算には、補正情報としての歪み補正テーブルTBcが用いられる。補正演算部64は、中間画像Pm(入力画像Pi)における画素の二次元配列を、歪み補正テーブルTBcに基づき並び替える処理により、中間画像Pmを変形させてなる出力画像Poを生成する。
尚、実際の処理では、中間画像Pmの生成は、省略される。即ち、補正演算部64は、中間画像Pmに相当する入力画像Piの範囲の画素を直接的に並び替えて、出力画像Poを直接的に生成できる。
以上の歪み補正にて使用される歪み補正テーブルTBcは、図3に示すように、LCD座標、元画像座標、及びバースト長を含む一組のデータセットを多数連続させてなるファイル構成である。LCD座標は、補正後座標に相当し、出力画像Poにおける画素の位置を示す情報である。LCD座標は、LCD41の画面上におけるX座標及びY座標を示す値である。元画像座標は、補正前座標に相当し、対応するデータセットのLCD座標の画素に割り当てられる入力画像Piの画素の位置を、X座標及びY座標によって示している。バースト長は、元画像座標から連続して読み出す画素の数を示している。
歪み補正テーブルTBcの一組のデータセットにおける数値の並びは、<LCDのX座標>,<LCDのY座標>,<元画像のX座標>,<元画像のY座標>,<バースト長>の順とされている。最初(一行目)の数値群は、出力画像Poの最初の51ピクセルは、(-1,-1)の無効ピクセル(黒背景)であることを示している。二つ目(二行目)の数値群は、出力画像Poの51ピクセル目には、入力画像Piの(0,50)の画素情報(階調値)を割り当てることを示している。三つ目(三行目)の数値群は、出力画像Poの52ピクセル目には、入力画像Piの(0,49)から5ピクセル分の画素情報を連続して割り当てることを示している。
尚、入力画像Pi及び出力画像Poにおける画素の並びは、一例として、左上が1ピクセル目の座標(0,0)とされており、右方向に行くに従い2ピクセル目、3ピクセル目・・・nピクセル目となる。そして、一つ下の行の左端の画素が、n+1ピクセル目となる。
次に、処理部60によって実施される画像補正処理の詳細を、図4及び図5に基づき、図1及び図2を参照しつつ、時系列に沿って説明する。こうした画像補正処理は、表示制御ECU100への電力供給の開始に基づき開始され、表示制御ECU100が停止されるまで継続される。
表示制御ECU100の起動直後では、初期処理の一つとして、処理部60は、記憶部74から歪み補正テーブルTBcを読み出し、第一メモリ71及び第二メモリ72の両方に、歪み補正テーブルTBcを格納する処理を実施する(S101)。初期処理の終了後、処理部60は、垂直同期信号のオンタイミングとなる時刻t1を待機した状態となる(S102)。
時刻t1~t4は、nフレーム目の出力画像Poが虚像表示される期間である。時刻t1にて、データ書込部63は、第一メモリ71への入力画像Piの書き込みを開始する(S103)。この時刻t1からの期間では、描画ECU30より取得する入力映像データVdiの現在フレームが、n+1フレーム目の入力画像Piとして、第一メモリ71に書き込まれる。こうした画像の書き込みは、シーケンシャルであるため、画像の読み出しと比べて高速に処理され得る。
次に処理部60は、ピッチ補正量の決定タイミングを待機し(S104)、ピッチ補正量を決定する演算を実施する(S105)。ピッチ補正量の決定タイミングは、画面表示期間Tdの前側(直前)に設定されたブランキング期間Tbの後半、且つ最後に設定されており、具体的には、ブランキング期間Tbから画面表示期間Tdに切り替わる時刻t2の直前(所定時間前)とされている。補正演算部64は、画面表示期間Tdへの切り替わり時刻t2直前にて慣性センサ51により計測されたピッチ計測情報を用いて、ピッチ補正量を決定する。
時刻t2となると(S106)、補正演算部64は、第二メモリ72に記憶されているnフレーム目の入力画像Piの読み出しを開始する。こうした処理に併行して、補正演算部64は、第一メモリ71からの歪み補正テーブルTBcの読み出しを開始する(S107)。歪み補正テーブルTBcは、入力画像Piの書き込み処理中である第一メモリ71から読み出される。
そして補正演算部64は、直前に決定したピッチ補正量と、歪み補正テーブルTBcとに従い、読み出した入力画像Piを逐次補正し、出力画像PoとしてHUD40に出力する(S108)。以上により、時刻t2から時刻t3の画面表示期間Tdにて、LCD41の画面には、nフレーム目の出力画像Poが描画される。尚、表示制御ECU100の起動直後にて、入力画像Piが第二メモリ72に記憶されていない場合には、出力画像Poの生成及び出力は、スキップされる。
次の時刻t4~t7は、n+1フレーム目の出力画像Poが虚像表示される期間となる。垂直同期信号のオンタイミングとなる時刻t4にて、データ書込部63は、第二メモリ72への入力画像Piの書き込みを開始する(S109,S110)。時刻t4からの期間では、描画ECU30より取得する入力映像データVdiの現在フレームが、n+2フレーム目の入力画像Piとして、第二メモリ72に書き込まれる。その結果、第二メモリ72に記憶されていたnフレーム目の入力画像Piのデータは、n+2フレーム目の入力画像Piのデータによって上書きされる。
ピッチ補正量の決定タイミングとなる時刻t5となると、補正演算部64は、S105と同様に、最新のピッチ計測情報を用いてピッチ補正量を決定する(S111,S112)。そして、ブランキング期間Tbから画面表示期間Tdに切り替わる時刻t5にて、補正演算部64は、第一メモリ71に記憶されているn+1フレーム目の入力画像Piの読み出しを開始する(S113,S114)。さらに、補正演算部64は、入力画像Piの読み出し開始と併行して、第二メモリ72からの歪み補正テーブルTBcの読み出しを開始する。この場合も、歪み補正テーブルTBcは、入力画像Piの書き込み処理中である第二メモリ72から読み出される。
そして補正演算部64は、S108と同様に、直前に決定したピッチ補正量と、歪み補正テーブルTBcとに従い、読み出した入力画像Piを逐次補正し、出力画像PoとしてHUD40に出力する(S115)。以上により、時刻t5から時刻t6の画面表示期間Tdにて、LCD41の画面には、n+1フレーム目の出力画像Poが描画される。時刻t1~t7の処理であって、S102~S115の処理の繰り返しにより、出力映像データVdoに基づく虚像Viが表示される。
ここまで説明した第一実施形態では、第一メモリ71及び第二メモリ72のそれぞれに、歪み補正テーブルTBcが記憶されている。故に、補正演算部64は、第一メモリ71及び第二メモリ72の両方を活用し、入力画像Piの読み出しを実施しできるうえに、入力画像Piを読み出していない他方のメモリから歪み補正テーブルTBcを読み出すことができる。こうした読み出し処理の分散によれば、画像補正に関連したメモリへのアクセス遅延が、抑制可能になる。その結果、高性能なメモリ採用に起因するコストの上昇を抑えつつ、映像データのスループット及びレイテンシの良好な表示制御ECU100が提供できる。
加えて第一実施形態では、歪み補正テーブルTBcが補正情報として用いられている。歪み補正テーブルTBcは、出力画像Po及び入力画像Piにおける画素位置の対応関係を規定するLCD座標及び元画像座標に加えて、元画像座標から連続して読み出す画素の数をバースト長によって規定している。こうした歪み補正テーブルTBcのデータ構成によれば、出力画像Poにおける各画素について、LCD座標及び元画像座標の対応関係を個別に規定するよりも、補正情報のデータ量は、少なくなる。さらに、入力画像Piの読み出しに際して、画素情報のバースト転送が実施され得る。以上のことから、バースト長を規定する歪み補正テーブルTBcの採用によっても、画像補正に関連したメモリへのアクセス遅延は、抑制可能となる。
また第一実施形態の補正演算部64は、第一メモリ71及び第二メモリ72のうちで、入力画像Piが書き込まれている一方のメモリから、歪み補正テーブルTBcを読み出す。換言すれば、歪み補正テーブルTBcは、入力画像Piの読み出し中ではないメモリから、読み出される。以上のように、各メモリ71,72へのアクセス処理のうちで、入力画像Piを読み出す処理が、最も重い処理となる。そのため、歪み補正テーブルTBcの読み出しは、入力画像Piを読み出しているメモリではなく、入力画像Piを書き込んでいるメモリから行うのが、遅延抑制に有効となる。
さらに第一実施形態の補正演算部64は、車両Aのピッチングに起因するピッチ補正量を、垂直同期信号に設けられた前側のブランキング期間Tbの後半(最後)において決定する。こうした決定タイミングの設定によれば、ピッチ補正量は、最新の車両姿勢を反映した値になり得る。以上によれば、メモリアクセスの遅延抑制効果と相俟って、出力画像Poに基づく虚像Viは、車両姿勢が変化しても、重畳対象に精度良く追従可能となる。
尚、第一実施形態では、入力映像データVdiが「映像データ」に相当し、データ書込部63が「画像書込部」に相当し、表示制御ECU100が「表示制御装置」に相当する。
(第二実施形態)
図6及び図7に示す第二実施形態は、第一実施形態の変形例である。第二実施形態の虚像表示システム210に採用される表示制御ECU200は、第一実施形態の二つのメモリ71,72(図1参照)に相当する構成として、一つのメモリ270を備えている。メモリ270には、第一実施形態と実質同一の歪み補正テーブルTBcが格納されている。加えてメモリ270には、少なくとも二フレーム分の入力画像Piを一時記憶可能な記憶領域が確保されている。第二実施形態では、データ書込部63によるメモリ270への書き込みアクセス、及び補正演算部64によるメモリ270からの読み出しアクセスの各詳細が、第一実施形態とは異なっている。
データ書込部63は、表示制御ECU200の起動直後、記憶部74に格納された歪み補正テーブルTBcを読み出し、メモリ270への書き込みを行う。加えてデータ書込部63は、描画ECU30による入力映像データVdiの出力が開始されると、入力映像データVdiの各フレーム画像を、入力画像Piとしてメモリ270に書き込む処理を実施する。補正演算部64は、垂直同意信号のオンタイミング(時刻t1)にて、メモリ270への入力画像Piの書き込みを開始する。補正演算部64は、メモリ270に確保された二つの記憶領域に、交互に入力画像Piを書き込んでいく。
補正演算部64は、第一実施形態と同様に、歪み補正テーブルTBcを用いた入力画像Piの歪み補正を実施する。補正演算部64は、ブランキング期間Tbから画面表示期間Tdに切り替わるタイミング(時刻t2)にて、メモリ270に書き込まれた入力画像Piの読み出しと、メモリ270に準備された歪み補正テーブルTBcの読み出しとを、実質同時に開始する。補正演算部64は、一つのメモリ270からの入力画像Pi及び歪み補正テーブルTBcの読み出しを、併行実施する。そして、逐次読み出す歪み補正テーブルTBcのLCD座標、元画像座標及びバースト長の各値に基づき、入力画像Piを補正してなる出力画像Poを生成し、HUD40に逐次出力する。
ここまで説明した第二実施形態のように、一つのメモリ270を採用した表示制御ECU200であっても、歪み補正テーブルTBcを補正情報として採用すれば、入力画像Piと併行してメモリ270から読み出す必要のあるデータ量が、削減され得る。以上によれば、第一実施形態と同様の効果を奏し、画像補正に関連したメモリへのアクセス遅延は、抑制可能となる。尚、第二実施形態では、表示制御ECU200が「表示制御装置」に相当する。
(他の実施形態)
以上、本開示の複数の実施形態について説明したが、本開示は、上記実施形態に限定して解釈されるものではなく、本開示の要旨を逸脱しない範囲内において種々の実施形態及び組み合わせに適用することができる。
上記第一実施形態の変形例1にて、補正演算部は、歪み補正テーブルTBc(図3参照)に替えて、補正関数を補正情報として歪み補正に用いる。変形例1では、第一メモリ及び第二メモリの両方に、補正関数が準備される。補正関数は、投影領域及び光学反射系の湾曲形状を考慮した多項式又は単項式として、予め規定されている。補正関数では、LCD座標(X,Y)が入力パラメータとされ、元画像座標(X,Y)が出力パラメータとされている。補正演算部は、LCD座標(X,Y)を補正関数に順に代入する処理により、各LCD座標に割り当てられる元画像座標(X,Y)を特定する。
また変形例2では、補正関数の入力パラメータに、視認者(運転者)のアイポイントの座標情報がさらに含まれている。表示制御ECUは、例えばドライバステータスモニタ等の検出情報を用いて、アイポイントの現在位置を特定する。補正演算部は、特定されたアイポイントの座標データを補正関数に適用し、現在のアイポイントに対応する補正関数を準備する。そして補正演算部は、アイポイント情報を適用された補正関数に、LCD座標(X,Y)を順に代入する処理により、各LCD座標に割り当てられる元画像座標(X,Y)を特定する。
以上のような、変形例1,2では、各メモリの物理的なアクセス速度を引き上げなくても、入力画像及び補正情報の読み出しに要する時間が短縮され得る。その結果、上記実施形態と同様に、画像補正に関連したメモリアクセスの遅延抑制効果が発揮可能となる。
上記第一実施形態の変形例3にて、両メモリに準備される歪み補正テーブルは、バースト長を含まないデータ構成とされている。変形例3の歪み補正テーブルでは、出力画像における各画素について、LCD座標及び元画像座標の対応関係が、個別に規定されている。
上記実施形態における表示制御ECUは、他の車載構成と一体的な構成であってもよい。具体的に、上記実施形態の変形例4では、表示制御ECUは、HUDと一体的に構成されている。即ち、変形例4では、入力映像データを補正する機能が、HUDに実装されている。また上記実施形態の変形例5では、表示制御ECUは、描画ECUと一体的に構成されている。即ち、変形例5の描画ECUは、慣性センサにて計測された姿勢情報を用いて補正を行い、補正済みとされた出力映像データを、HUDへ向けて出力する。さらに上記実施形態の変形例6では、描画ECU、表示制御ECU及びHUDの全機能が、一つの虚像表示ユニットに集約されている。
上記第一実施形態の変形例7における補正演算部は、二つのメモリのうちで、入力画像を読み出し中の一方から、補正情報を読み出す。上記実施形態の変形例8では、ピッチ補正量の決定タイミングが、垂直同期信号における前側のブランキング期間の前半に設定されている。
表示制御ECUにて補正された出力映像データの各出力画像を、虚像として空中表示させるHUDの具体的な投影構成は、適宜変更されてよい。例えば変形例9のHUDには、LCD及びバックライトに替えて、EL(Electro Luminescence)パネルが設けられている。さらに、ELパネルに替えて、プラズマディスプレイパネル、ブラウン管及びLED等の表示器を用いたプロジェクタがHUDには採用可能である。
また変形例10のHUDには、LCD及びバックライトに替えて、レーザモジュール(以下「LSM」)及びスクリーンが設けられている。LSMは、例えばレーザ光源及びMEMS(Micro Electro Mechanical Systems)スキャナ等を含む構成である。スクリーンは、例えばマイクロミラーアレイ又はマイクロレンズアレイである。変形例10のHUDでは、LSMから照射されるレーザ光の走査により、スクリーンに出力画像が描画される。HUDは、スクリーンに投影された出力画像を反射光学系によって投影領域に投影し、虚像を空中表示させる。
また変形例11のHUDには、DLP(Digital Light Processing,登録商標)プロジェクタが設けられている。DLPプロジェクタは、多数のマイクロミラーが設けられたデジタルミラーデバイス(以下、「DMD」)と、DMDに向けて光を投射する投射光源とを有している。DLPプロジェクタは、DMD及び投射光源を連携させた制御により、出力画像をスクリーンに描画する。さらに、変形例12のHUDでは、LCOS(Liquid Crystal On Silicon)を用いたプロジェクタが採用されている。
上記実施形態の変形例13では、出力画像の光が、ウィンドシールドとは別の車載構成に投影される。具体的に、変形例13では、ウィンドシールドとは別体で設けられた投影部材(例えばコンバイナ等)に、出力画像の光が投影される。
上記第一実施形態の変形例14では、第一メモリとして用いられるメモリモジュールが、第二メモリとして用いられるメモリモジュールと物理的に異なっている。こうした変形例14のように、各メモリとして採用されるメモリモジュールは、容量及び読み書きのアクセス速度等の仕様が互いに異なっていてもよい。
上記第一実施形態の変形例15では、第一メモリ及び第二メモリが一つのメモリモジュールに統合されている。第一メモリ及び第二メモリは、共通のメモリスロットを介してデータバスに接続されている。変形例15では、データバスへの接続経路が見た目上で別れていなくても、処理部は、二つのメモリへのアクセスを独立的に実施可能である。即ち、処理部は、一方のメモリへのアクセスに速度的な影響を受けることなく、他方のメモリにアクセス可能である。以上のように、第一メモリ及び第二メモリは、物理的に独立した構成でなくてもよい。
上記実施形態にて、表示制御ECUでのピッチ補正の対象とされる周波数帯域は、例えば悪路走行中、ブレーキ操作を複数回入力した場合、車両を急発進又は急減速させる場合等の走行シーンにて生じる振動を含む帯域であった。補正演算部によるピッチ補正のように、出力画像中の描画物をシフトさせる電子的な補正では、姿勢計測から虚像表示までのタイムラグが短縮され得る。一方で、相殺可能な補正量は、確保され難い。故に、ピッチ補正の対象となる周波数帯域は、上記のような走行シーンを想定した範囲とされるのがよい。
但し、表示制御ECUでの補正対象とされる周波数帯域は、適宜変更されてもよい。さらに、表示制御ECUの補正対象とされる周波数帯域よりも低い周波数帯域については、描画ECUでの入力画像の生成時に補正されるのが望ましい。
入力画像Pi、中間画像Pm及び出力画像Poの各画像サイズ(解像度)は、適宜変更されてよい。入力映像データ及び出力映像データのデータ量(bps)は、各画像の縦解像度、横解像度、RGBの数、階調、フレームレート等の積になる。故に、第一メモリ及び第二メモリ等のアクセス速度を考慮のうえ、画像補正の遅延が拡大しないように、各解像度、階調及びフレームレート等は、決定されることが望ましい。各解像度、階調、フレームレート等を小さくし、データ量を減少させることで、安価なメモリを用いても、システムを成立させることが可能になる。また補正演算部は、各メモリへのアクセス状態を監視し、読み出し速度が不足しそうな場合に、解像度、階調及びフレームレート等を下げる調整を行ってもよい。
上記実施形態の変形例16の慣性センサは、ジャイロセンサ及び加速度センサを組み合わせた構成である。この慣性センサは、ヨー方向、ピッチ方向、ロール方向の各角速度を検出する3軸のジャイロセンサと、車両の前後方向、上下方向、左右方向の各加速度を検出する3軸の加速度センサとを備えた6軸のモーションセンサである。さらに、変形例17の慣性センサは、加速度センサのみを備え、ジャイロセンサを備えない。以上の変形例16,17のように、慣性センサの構成は、適宜変更されてよい。さらに、慣性センサの計測対象とされる姿勢変化も、ピッチングに限定されず、ロールやヒーブ等を含んでいてもよい。
さらに、変形例18の慣性センサは、表示制御ECUに内蔵された構成ではない。変形例18の慣性センサは、表示制御ECUの外部に設けられており、電気配線等を通じて、表示制御ECUの回路基板と接続されており、車両の姿勢変化を計測した計測情報をデータバスに逐次提供可能である。
表示制御ECUにおける処理部の具体的な構成は、適宜変更可能である。処理部は、CPU等に加えて、GPU(Graphics Processing Unit)等の演算コアを含んでいてもよい。さらに処理部は、CPU及びFPG等を含んでなるSoC(System-on-a-Chip)の形態であってもよく、物理的に独立した複数の演算コアを回路基板に個別実装してなる形態であってもよい。
処理部を各機能部として機能させるプログラム(表示制御プログラム)は、CPU又はGPU等に処理内容を指示する通常のソフトウェアであってもよく、又はFPGAを任意のハードウェア論理回路として機能させるハードウェアプログラムであってもよい。
表示制御ECUの記憶部には、フラッシュメモリ及びハードディスク等の種々の非遷移的実体的記憶媒体(non-transitory tangible storage medium)が採用可能である。加えて、虚像表示に関連するプログラム及びパラメータを記憶する記憶媒体は、回路基板上に実装された記憶媒体に限定されず、例えばメモリカード等の形態であり、カードスロット部に挿入されて、データバスに電気的に接続される構成であってよい。さらに、記憶媒体は、表示制御ECUの記憶装置へのコピー元となる光学ディスク及び汎用コンピュータのハードディスクドライブ等であってもよい。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウェア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。