以下、本開示の好適な実施形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された内容を不当に限定するものではなく、本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
1.第1構成例
図1は、本実施形態の回路装置100の第1構成例である。図2は、第1構成例における回路装置100の動作を説明する図である。
回路装置100は、ヘッドアップディスプレイの画像表示を制御するHUDコントローラーである。但し、回路装置100はHUDコントローラーに限定されず、例えば、ヘッドアップディスプレイの表示パネルを駆動する表示ドライバーであってもよい。この場合、回路装置100は、画像IMG2に基づいて表示パネルを駆動する駆動回路を含んでもよい。回路装置100は、IC(Integrated Circuit)と呼ばれる集積回路装置である。回路装置100は、半導体プロセスにより製造されるICであり、半導体基板上に回路素子が形成された半導体チップである。
図2に示すように、回路装置100は画像IMG1を画像IMG2にマッピング処理する。画像IMG1は入力画像であり、第1画像とも呼ぶ。画像IMG2は出力画像であり第2画像とも呼ぶ。マッピング処理は、ヘッドアップディスプレイの曲面ディスプレイによる歪みをキャンセルするような歪みを、画像IMG2に与える。即ち、ヘッドアップディスプレイの表示パネルに表示された画像IMG2は、歪んだ画像となっている。この画像IMG2が曲面ディスプレイに表示されることで、歪みのない表示画像がユーザーに提示される。
このような歪み補正における画像変換を行う画像処理エンジンをワープエンジンと呼ぶ。第1構成例では、回路装置100がインバースワープエンジンである場合を説明する。インバースワープエンジンとは、インバースワープの機能を有するワープエンジンである。インバースワープとは、ワープエンジンの出力画像の各画素を、入力画像における任意の位置の画素から求める変換である。図2に示すように、回路装置100は、出力画像である画像IMG2における座標(x,y)を、入力画像である画像IMG1における座標(x’,y’)に変換し、その座標に基づいてマッピング処理を行うことでインバースワープを実現する。
なお、第2構成例で説明するように、回路装置100はフォワードワープエンジンであってもよい。また第3、第4構成例で説明するように、回路装置100は更に画像回転を行ってもよい。
以下、回路装置100がインバースワープエンジンである第1構成例の詳細を説明する。図1に示すように、回路装置100は、第1座標カウンターである座標カウンター10と、座標変換回路20と、マッピング処理回路30と、を含む。
座標変換回路20は、入力座標IXY1から出力座標QXY1への座標変換を行う。第1構成例では、入力座標IXY1は、画像IMG2上の座標に対応した座標(x,y)であり、出力座標QXY1は、画像IMG1上の座標に対応した座標(x’,y’)である。座標変換回路20は、座標変換を表す2次以上の多項式を用いた演算処理を行うことで、入力座標IXY1から出力座標QXY1への座標変換を行う。下式(1)に、多項式が2次である場合の座標変換式を示す。
上式(1)の第1行において、右辺のa1×x2は、x’を求める多項式の第1項である。同様に、a2×y2、a3×xy、a4×x、a5×y、a6は、x’を求める多項式の第2項、第3項、第4項、第5項、第6項である。a1は、第1項の係数、即ち第1係数である。同様に、a2、a3、a4、a5、a6は、第2係数、第3係数、第4係数、第5係数、第6係数である。y’を求める式についても同様である。
なお、座標変換式は2次多項式に限定されず、3次以上の多項式であってもよい。例えば下式(2)に、多項式が3次である場合の座標変換式を示す。
マッピング処理回路30は、入力される画像IMG1に対して、出力座標QXY1に基づくマッピング処理を行うことで画像IMG2を生成する。具体的には、画像IMG2における座標(x,y)の画素値を、画像IMG1における座標(x’,y’)の画素値から求める。(x,y)が入力座標IXY1であり、(x’,y’)が出力座標QXY1である。但し、マッピング処理回路30は、入力座標IXY1を用いず、内部で生成した座標と出力座標QXY1とを用いてマッピング処理を行う。この点については図4で後述する。画素値とは、例えば当該座標における表示用の画素の色データである。
画像IMG2は、ヘッドアップディスプレイの曲面ディスプレイに表示される。例えば、ヘッドアップディスプレイは、光源と液晶表示パネルと光学系と透明スクリーンとを含む。液晶表示パネルには画像IMG2が表示される。光源が光を出射し、その出射光が液晶表示パネルを透過し、その透過光を光学系が透明スクリーンに投影することで、透明スクリーンに画像IMG2が投影される。この場合、透明スクリーンが曲面ディスプレイに相当する。或いは、ヘッドアップディスプレイは、有機EL表示パネル等による透明ディスプレイを含む。この場合、透明ディスプレイに画像IMG2が直接に表示される。即ち、表示パネルである透明ディスプレイが曲面ディスプレイを兼ねている。
本実施形態によれば、座標変換回路20が、多項式を用いた演算処理により座標変換を行うことで、歪み補正の高速処理が可能となっている。具体的には、上式(1)等に示すように、多項式は乗算と加算の組み合わせで成り立っており、積分等の複雑な計算を含まない。このため、多項式を用いることで、積分等を含む計算を行う場合に比べて、演算時間が短縮される。
また、多項式では、入力座標IXY1である(x,y)と出力座標QXY1である(x’,y’)とが1対1に対応する。この対応は、マッピング処理における出力画像IMG2の画素と入力画像IMG1の画素の対応として、そのまま用いることが可能である。即ち、(x,y)を1画素ずつ逐次に座標変換回路20に入力すると、それに対応して1画素ずつ逐次に(x’,y’)が出力される。この対応を用いてマッピング処理回路30が1画素ずつマッピングすることで、1画面分の画像IMG2を構成することが可能である。このような逐次処理は、一旦テーブル等を作成してマッピング処理する場合に比べて、リアルタイム処理に適している。また、表示処理においては、画素クロックによって画素データが入力及び出力されるので、1画素ずつの逐次処理はリアルタイム処理に適している。
以下、上式(1)のように座標変換式が2次多項式である場合を例にとって説明する。
座標変換回路20には、多項式の係数情報CF1と入力座標IXY1とが入力される。座標変換回路20は、係数情報CF1に基づく演算処理により入力座標IXY1から出力座標QXY1を求める。係数情報CF1は、上式(1)の係数a1~a6、b1~b6の情報である。例えば、回路装置100は、係数情報CF1を記憶する記憶部を含み、係数情報CF1は記憶部から座標変換回路20に入力される。記憶部はレジスター又はメモリーである。メモリーはRAM又は不揮発性メモリー等の半導体メモリーである。係数情報CF1は、例えば回路装置100の起動時又はヘッドアップディスプレイの製造時において記憶部に書き込まれる。
多項式を用いた座標変換では、多項式の係数によって入力座標IXY1と出力座標QXY1の対応が決まる。即ち、曲面ディスプレイの形状に合わせた係数情報CF1が座標変換回路20に入力されることで、種々の曲面ディスプレイに適した歪み補正が実現される。また、座標変換回路20は、入力された入力座標IXY1から出力座標QXY1を求めるので、上述したようにリアルタイム処理に適した1画素ずつの座標変換を行うことができる。
座標カウンター10は、画素クロックに基づく画素単位の座標である第1カウント座標を出力する。座標変換回路20は、第1カウント座標を入力座標IXY1として座標変換を行う。第1構成例では、入力座標IXY1は画像IMG2上の座標に対応するので、マッピング処理回路30が画像IMG2を処理する際に用いる画素クロックが、座標カウンター10に入力される。
画像IMG2のサイズをN×M画素とする。N、Mは2以上の整数である。例えば、座標カウンター10は、y=0において画素クロック毎にxを1ずつ増加させ、(0,0)、(1,0)、(2,0)、・・・、(N-1,0)を出力する。次に、座標カウンター10は、y=1とし、画素クロック毎にxを1ずつ増加させ、(0,1)、(1,1)、(2,1)、・・・、(N-1,1)を出力する。座標カウンター10は、これを(N-1,M-1)まで繰り返す。なお、座標のカウント順は上記に限定されず、画像IMG2の画素をどのような順で処理するかに応じてカウント順が設定されればよい。
本実施形態では、座標カウンター10が画素クロックに基づいて1画素ずつ座標(x,y)を座標変換回路20に出力し、座標変換回路20が座標変換を行って1画素ずつ座標(x’,y’)を出力する。これにより、マッピング処理回路30が画素クロックに基づいて1画素ずつマッピング処理を行うことが可能となる。これにより、リアルタイム処理に適した歪み補正が実現される。
なお、入力座標IXY1を出力座標QXY1に変換する演算の処理時間は、画素クロックの複数サイクルであってもよい。入力座標IXY1に対応した出力座標QXY1は、処理時間の分だけディレイして出力されるが、スループットとして画素クロックの1サイクルで1つの出力座標QXY1が得られればよい。
図3は、座標変換回路20の詳細構成例である。座標変換回路20は、第1演算回路21と第2演算回路22とを含む。第1演算回路21及び第2演算回路22はロジック回路であり、それぞれ個別のハードウェア回路によって構成される。なお図3には、x’を求める演算回路のみ図示するが、y’を求める演算回路も同様な構成である。
第1演算回路21は、入力座標IXY1を(x,y)としたとき、x2、y2、及びxyを求める。具体的には、第1演算回路21は、xを二乗してx2を求めるx2演算回路MC1と、yを二乗してy2を求めるy2演算回路MC2と、xとyを乗算してxyを求めるxy演算回路MC3と、を含む。演算回路MC1~MC3は、それぞれ個別のハードウェア乗算器である。
第2演算回路22は、第1演算回路21の演算結果と係数情報CF1とに基づいて出力座標QXY1を求める。ここでは、第2演算回路22は(x’,y’)のうちx’を求める。第2演算回路22には、係数情報CF1として、上式(1)の係数a1~a6が入力される。第2演算回路22は、第1~第5項演算回路AC1~AC5と、加算回路ADDCとを含む。第1~第5項演算回路AC1~AC5は、それぞれ個別のハードウェア乗算器である。
第1項演算回路AC1は、係数a1とx2を乗算して第1項a1×x2を求める。第2項演算回路AC2は、係数a2とy2を乗算して第2項a2×y2を求める。第3項演算回路AC3は、係数a3とxyを乗算して第3項a3×xyを求める。第4項演算回路AC4は、係数a4とxを乗算して第4項a4×xを求める。第5項演算回路AC5は、係数a5とyを乗算して第5項a5×yを求める。加算回路ADDCは、第1~第5項と、第6項である係数a6とを加算し、その結果をx’として出力する。これにより上式(1)のx’の演算が実現される。
なお第1演算回路21及び第2演算回路22の構成は図3に限定されない。例えば第1演算回路21は3つの演算回路を含み、その3つの演算回路がパイプライン処理のようにしてx2、y2、及びxyを演算してもよい。そして、第2演算回路22は5つの演算回路を含み、その5つの演算回路がパイプライン処理のように第1~第5項を演算してもよい。
本実施形態によれば、第1演算回路21が、x2、y2、及びxyを求める演算回路MC1~MC3を含み、第2演算回路22が、第1~第5項を求める第1~第5項演算回路AC1~AC5を含む。これにより、各項を並列演算でき、リアルタイム処理に適した高速処理が可能となる。
なお、第2演算回路22は第1~第n項演算回路を含んでいればよい。第i項演算回路は多項式の第i項を演算する。nは2以上の整数であり、iは1以上n以下の整数である。図3のように座標変換式が2次多項式である場合、n=5である。例えば上式(2)のように座標変換式が3次多項式である場合、n=9であってもよい。
図4は、マッピング処理回路30の詳細構成例である。マッピング処理回路30は、メモリー制御回路31と、第2座標カウンターである座標カウンター32と、画像メモリー33と、を含む。
座標カウンター32は、画素クロックに基づく画素単位の座標である第2カウント座標CXYB1を出力する。第2カウント座標CXYB1を(xb,yb)とする。第1構成例では、(xb,yb)は画像IMG1上の座標を指定するので、画像IMG1と共にマッピング処理回路30に入力される画素クロックが、座標カウンター32に入力される。座標カウンター32は、座標カウンター10と同様のカウント動作によって、(xb,yb)をカウントする。
メモリー制御回路31は、画像メモリー33のアクセス制御を行う。画像メモリー33は、画像IMG1を一時的に記憶するバッファーメモリーであり、例えばRAM等の半導体メモリーである。メモリー制御回路31は、第2カウント座標CXYB1に基づいて画像IMG1を画像メモリー33に書き込み、座標変換回路20からの出力座標QXY1に基づいて画像メモリー33から画素値を読み出し、その画素値を画像IMG2の画素値として出力する。具体的には、メモリー制御回路31は、ライトアドレスコントローラー34とリードアドレスコントローラー35とを含む。
ライトアドレスコントローラー34は、第2カウント座標CXYB1である(xb,yb)を書き込みアドレスADWRにデコードし、画像IMG1の(xb,yb)における画素値を、画像メモリー33のアドレスADWRに書き込む。これが繰り返されることで、画像IMG1が画像メモリー33に書き込まれる。
リードアドレスコントローラー35は、出力座標QXY1である(x’,y’)を読み出しアドレスADRDにデコードし、画像メモリー33のアドレスADRDから画素値を読み出す。これは、画像IMG1の(x’,y’)における画素値を読み出すことに相当する。リードアドレスコントローラー35は、読み出した画素値を、画像IMG2の(x,y)における画素値として出力する。これが繰り返されることで、マッピング処理回路30から画像IMG2が出力される。
以上のマッピング処理では、画像IMG2の(x,y)における画素値が、画像IMG1の(x’,y’)における画素値から取得されている。即ち、マッピング処理回路30は、図2で説明したインバースワープエンジンとして動作している。
2.第2構成例
図5は、回路装置100の第2構成例である。図6は、第2構成例における回路装置100の動作を説明する図である。
第2構成例では、回路装置100がフォワードワープエンジンである場合を説明する。フォワードワープエンジンとは、フォワードワープの機能を有するワープエンジンである。フォワードワープとは、ワープエンジンの入力画像の各画素を、出力画像における任意の位置の画素から求める変換である。図6に示すように、回路装置100は、入力画像である画像IMG1における座標(x’,y’)を、出力画像である画像IMG2における座標(x,y)に変換し、その座標に基づいてマッピング処理を行うことでフォワードワープを実現する。
図5に示すように、回路装置100は、座標カウンター10と座標変換回路20とマッピング処理回路30とを含む。
第2構成例では、座標カウンター10は、第1カウント座標である(x’,y’)を入力座標IXY1として座標変換回路20に出力する。(x’,y’)は画像IMG1上の座標に対応するので、画像IMG1と共にマッピング処理回路30に入力される画素クロックが、座標カウンター10に入力される。
座標変換回路20は、入力座標IXY1から出力座標QXY1への座標変換を行う。第2構成例では、出力座標QXY1は、画像IMG2上の座標に対応した座標(x,y)である。下式(3)に、多項式が2次である場合の座標変換式を示す。下式(3)は、上式(1)の逆座標変換に相当している。
座標変換回路20は、係数情報CF1に基づいて上式(3)の演算処理を行う。第2構成例において、係数情報CF1は、上式(3)の係数c1~c6、d1~d6の情報である。座標変換回路20の構成は、図3で説明した第1構成例と同様である。但し、第2構成例では、入力座標として(x’,y’)が第1演算回路21及び第2演算回路22に入力され、係数c1~c6が第2演算回路22に入力され、出力座標としてxが第2演算回路22から出力される。
マッピング処理回路30は、画像IMG1における座標(x’,y’)の画素値を、画像IMG2における座標(x,y)に移動させる。(x’,y’)が出力座標QXY1であり、(x,y)が入力座標IXY1である。マッピング処理回路30は、メモリー制御回路31と座標カウンター32と画像メモリー33とを含む。
座標カウンター32は、第2カウント座標CXYB1として(xb,yb)を出力する。第2構成例では、(xb,yb)は画像IMG2上の座標を指定するので、マッピング処理回路30が画像IMG2を処理する際に用いる画素クロックが、座標カウンター32に入力される。
メモリー制御回路31は、座標変換回路20からの出力座標QXY1に基づいて画像IMG1を画像メモリー33に書き込み、第2カウント座標CXYB1に基づいて画像メモリー33から画素値を読み出し、その画素値を画像IMG2の画素値として出力する。
具体的には、ライトアドレスコントローラー34は、出力座標QXY1である(x,y)を書き込みアドレスADWRにデコードし、画像IMG1の(x’,y’)における画素値を、画像メモリー33のアドレスADWRに書き込む。これは、画像IMG1の(x’,y’)における画素値を、座標(x,y)に移動させることに相当する。即ち、画像メモリー33に書き込まれた画像IMG1は、歪み補正によって変形された画像となっている。
リードアドレスコントローラー35は、第2カウント座標CXYB1である(xb,yb)を読み出しアドレスADRDにデコードし、画像メモリー33のアドレスADRDから画素値を読み出す。リードアドレスコントローラー35は、読み出した画素値を、画像IMG2の(x,y)における画素値として出力する。これが繰り返されることで、マッピング処理回路30から画像IMG2が出力される。
以上のマッピング処理では、画像IMG1の(x’,y’)における画素値が、画像IMG2の(x,y)の画素値に移動されている。即ち、マッピング処理回路30は、図6で説明したフォワードワープエンジンとして動作している。
3.第3構成例
第3構成例では、回路装置100は、表示画像の歪み補正に加えて回転補正を行う。まず、図7を用いて、ヘッドアップディスプレイの取り付け公差と回転補正との関係を説明する。なお図7ではヘッドアップディスプレイが自動車のダッシュボードに設置される場合を例に説明するが、ヘッドアップディスプレイの設置場所はこれに限定されない。また図7ではヘッドアップディスプレイの表示部DSPを平面で示しているが、実際には曲面ディスプレイである。
図7に示す方向DZは、ヘッドアップディスプレイの表示部DSPに直交する方向である。具体的には、曲面である表示部DSPのいずれかの位置において、方向DZと表示部DSPとが直交する。例えば表示部DSPの中央において方向DZと表示部DSPとが直交する。方向DXは方向DZに直交する方向であり、方向DYは方向DX及び方向DZに直交する方向である。方向DXは水平方向に相当する。即ち、自動車が水平な姿勢であるときに方向DXは水平面に平行である。ヘッドアップディスプレイが自動車のダッシュボードに垂直に設置される場合、方向DYは垂直方向に相当し、方向DYは水平面に垂直である。但し、方向DYは垂直方向に限定されず、方向DYは水平面に対して傾いてもよい。ヘッドアップディスプレイが奥行き方向に角度θXだけ傾斜してダッシュボードに設置される場合、方向DYは水平面に対して角度θXだけ傾く。
回転RZは、方向DZに平行な軸を回転軸とする表示部DSPの回転を示す。ヘッドアップディスプレイをダッシュボードに取り付ける際の公差によって、回転RZの回転角度にばらつきが生じる。公差がゼロであるときの回転角度を0度とし、時計回りの回転を正とし、反時計回りの回転を負とする。表示部DSPの回転RZが正の回転角度であるとき、ユーザーから見て表示画像が時計回りに回転することになる。回路装置100は、画像を負方向、即ち反時計回りに回転処理する。これにより、表示部DSPが公差により傾いていたとしても、ユーザーから見て傾いていない画像を表示させることができる。
図8は、回路装置100の第3構成例である。図9は、第3構成例における回路装置100の動作を説明する図である。
第3構成例では、回路装置100がインバースワープエンジンである場合を説明する。図9に示すように、回路装置100は、出力画像である画像IMG2における座標(xa,ya)を回転変換し、回転変換後の座標(x,y)を、入力画像である画像IMG1における座標(x’,y’)に変換し、その座標に基づいてマッピング処理を行うことで画像回転及びインバースワープを実現する。
図8に示すように、回路装置100は、座標カウンター10と座標変換回路20とマッピング処理回路30と回転変換回路40とを含む。なお、第1構成例と同様の構成及び動作については、適宜に説明を省略する。
座標カウンター10は、第1カウント座標CXYA1として(xa,ya)を出力する。(xa,ya)は画像IMG2上の座標に対応するので、マッピング処理回路30が画像IMG2を処理する際に用いる画素クロックが、座標カウンター10に入力される。
回転変換回路40は、第1カウント座標CXYA1に対して回転変換を行い、回転変換後の座標を入力座標IXY1として座標変換回路20に出力する。第3構成例では、入力座標IXY1は(x,y)である。下式(4)に示すように、回転変換回路40は、アフィン変換を用いて座標回転を行う。θは回転角度である。
回転変換回路40は、回転角度θを示す角度情報RT1に基づいて、上式(4)により第1カウント座標CXYA1を入力座標IXY1に変換する。例えば、回路装置100は、角度情報RT1及び係数情報CF1を記憶する記憶部を含み、角度情報RT1は記憶部から回転変換回路40に入力され、係数情報CF1は記憶部から座標変換回路20に入力される。記憶部はレジスター又はメモリーである。メモリーはRAM又は不揮発性メモリー等の半導体メモリーである。角度情報RT1及び係数情報CF1は、例えば回路装置100の起動時又はヘッドアップディスプレイの製造時において記憶部に書き込まれる。
座標変換回路20は、係数情報CF1に基づいて入力座標IXY1から出力座標QXY1への座標変換を行う。第3構成例では、出力座標QXY1は、画像IMG1上の座標に対応した座標(x’,y’)である。座標変換式は第1構成例と同様である。
マッピング処理回路30は、画像IMG2における座標(xa,ya)の画素値を、画像IMG1における座標(x’,y’)の画素値から求める。(xa,ya)は第1カウント座標CXYA1であり、(x’,y’)は出力座標QXY1である。マッピング処理回路30の構成及び動作は、第1構成例と同様である。
第3構成例のマッピング処理では、画像IMG2の(xa,ya)における画素値が、画像IMG1の(x’,y’)における画素値から取得される。即ち、マッピング処理回路30は、図9で説明したインバースワープエンジンとして動作している。また、回転変換回路40が座標回転を行うことで、マッピング処理において、画像回転を含むインバースワープが行われる。
4.第4構成例
図10は、回路装置100の第4構成例である。図11は、第4構成例における回路装置100の動作を説明する図である。
第4構成例では、回路装置100がフォワードワープエンジンである場合を説明する。図11に示すように、回路装置100は、入力画像である画像IMG1における座標(xa,ya)を回転変換し、回転変換後の座標(x’,y’)を、出力画像である画像IMG2における座標(x,y)に変換し、その座標に基づいてマッピング処理を行うことで画像回転及びフォワードワープを実現する。
図10に示すように、回路装置100は、座標カウンター10と座標変換回路20とマッピング処理回路30と回転変換回路40とを含む。なお、第2構成例及び第3構成例と同様の構成及び動作については、適宜に説明を省略する。
座標カウンター10は、第1カウント座標CXYA1として(xa,ya)を出力する。第4構成例では、(xa,ya)は画像IMG1上の座標に対応するので、マッピング処理回路30に画像IMG1と共に入力される画素クロックが、座標カウンター10に入力される。
回転変換回路40は、第1カウント座標CXYA1に対して回転変換を行い、回転変換後の座標を入力座標IXY1として座標変換回路20に出力する。第4構成例では、入力座標IXY1は(x’,y’)である。下式(5)に示すように、回転変換回路40は、アフィン変換を用いて座標回転を行う。θは回転角度である。
回転変換回路40は、回転角度θを示す角度情報RT1に基づいて、上式(5)により第1カウント座標CXYA1を入力座標IXY1に変換する。
座標変換回路20は、係数情報CF1に基づいて入力座標IXY1から出力座標QXY1への座標変換を行う。第4構成例では、出力座標QXY1は、画像IMG2上の座標に対応した座標(x,y)である。座標変換式は第2構成例と同様である。
マッピング処理回路30は、画像IMG1における座標(xa,ya)の画素値を、画像IMG2における座標(x,y)に移動させる。(xa,ya)は第1カウント座標CXYA1であり、(x,y)は出力座標QXY1である。マッピング処理回路30の構成及び動作は、第2構成例と同様である。
第4構成例のマッピング処理では、画像IMG1の(xa,ya)における画素値が、画像IMG2の(x,y)の画素値に移動されている。即ち、マッピング処理回路30は、図11で説明したフォワードワープエンジンとして動作している。また、回転変換回路40が座標回転を行うことで、マッピング処理において、画像回転を含むフォワードワープが行われる。
5.第5構成例
図12は、回路装置100の第5構成例である。第5構成例では、回路装置100は画像IMG2を逆マッピング処理することで画像IMG3を生成し、画像IMG1と画像IMG3とを比較することで画像IMG2のエラーを検出する。
回路装置100は、インターフェース110と、記憶部133と、画像処理回路135と、インターフェース140と、比較回路145と、エラー検出回路150と、記憶部160と、レジスター回路170と、インターフェース190と、を含む。
インターフェース110は、例えば処理装置200等から回路装置100に送信される画像データを受信する。インターフェース110は、受信した画像データを回路装置100の内部で用いられる形式に変換し、その変換後の画像データを画像IMA1として出力する。例えば、インターフェース110はOpenLDI(Open LVDS Display Interface)であり、LVDS(Low Voltage Differential Signaling)で受信したシリアル信号を、RGBのパラレル信号に変換する。処理装置200は、例えばSoC(System on a Chip)、MCU(Micro Control Unit)、又はCPU(Central Processing Unit)である。
画像処理回路135は、ヘッドアップディスプレイの曲面ディスプレイが有する表面形状に合わせて画像をマッピングする第1処理回路131と、その逆マッピングを行う第2処理回路132と、を含む。第1処理回路131を第1ワープエンジンとも呼び、第2処理回路132を第2ワープエンジンとも呼ぶ。以下、第1処理回路131及び第2処理回路132が歪み補正と共に画像回転を行う例を説明するが、第1処理回路131及び第2処理回路132が歪み補正のみを行ってもよい。
なお、曲面ディスプレイとは、ヘッドアップディスプレイにおけるスクリーン又は表示パネルである。スクリーンを被投影体とも呼ぶ。曲面ディスプレイがスクリーンであるとき、ヘッドアップディスプレイは、画像IMA2をスクリーンに投影する投影装置を含む。投影装置は、例えば液晶表示パネルと、その液晶表示パネルを駆動する表示ドライバーと、光源と、レンズとを含む。表示ドライバーは受信した画像データに基づいて液晶表示パネルに画像を表示させ、光源が液晶表示パネルに光を出力し、液晶表示パネルを通過した光がレンズによりスクリーンに投影される。スクリーンは、透明な物体であり、且つ投影された光を反射する反射面を有する。例えば、車載のヘッドアップディスプレイにおいて、スクリーンはダッシュボードに取り付けられた透明スクリーン、又は自動車のフロントガラスである。曲面ディスプレイが表示パネルであるとき、その表示パネルの表示画像がユーザーから直接に視認されるようにヘッドアップディスプレイが構成されており、ヘッドアップディスプレイは画像IMA2を表示パネルに表示する。表示パネルは、例えば有機ELパネルを用いた透明ディスプレイであり、その透明ディスプレイが曲面を有する。
第1処理回路131は、係数情報CF1を用いた第1マッピング処理と、角度情報RT1を用いた第1回転処理とを画像IMA1に対して行い、処理後の画像IMA2を出力する。画像IMA1は第1画像であり、画像IMA2は第2画像である。また、第1処理回路131は画像IMA1から注目領域の画像IMA1’を抽出する。注目領域をROI(Region Of Interest)とも呼ぶ。なお画像IMA1’は画像IMA1全体であってもよい。以下では、画像IMA1’が、画像IMA1から抽出された注目領域の画像である場合を例に説明し、注目領域の画像IMA’も第1画像と呼ぶこととする。
第2処理回路132は、係数情報CF2を用いた第2マッピング処理と、角度情報RT2を用いた第2回転処理とを画像IMA2に対して行い、処理後の画像IMA3を出力する。画像IMA3は第3画像である。具体的には、第2処理回路132は画像IMA2から注目領域の画像を抽出し、その画像に対して第2マッピング処理と第2回転処理とを行う。第2回転処理は、第1回転処理の逆回転処理である。画像IMA3は、画像IMA2から抽出された注目領域の画像が逆マッピング及び逆回転された画像となる。
インターフェース140は、画像IMA2を回路装置100の外部に出力する。回路装置100の外部とは、例えばヘッドアップディスプレイの表示パネルを駆動する表示ドライバーである。例えば、インターフェース140はLVDSのインターフェースであり、画像処理回路135からのRGBのパラレル信号をLVDSのシリアル信号に変換する。
記憶部133は第1記憶部である。第1処理回路131は、注目領域の画像IMA1’を記憶部133に記憶させる。記憶部160はメモリーである。例えば、メモリーは、RAM又は不揮発性メモリー等の半導体メモリーである。なお、記憶部133と記憶部160は、それぞれ個別のメモリーで構成されてもよいし、1つのメモリーで構成されてもよい。
比較回路145は、記憶部133に記憶された画像IMA1’と、画像IMA3との間の比較処理を行い、その比較結果を出力する。この比較結果は、画像IMA2のエラーを検出するために用いられる。即ち、第1処理回路131が行う第1マッピング処理及び第1回転処理が正常であったか否かを検証するために用いられる。比較回路145は、画像IMA1と画像IMA3との間の類似度を示す指標を求める。指標は後述する形状指標又は視認性指標である。或いは、比較回路145は、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference)又はNCC(Normalized Cross Correlation)等を指標として求めてもよい。
エラー検出回路150は、指標と閾値とを比較することで、第2画像IMA2のエラー検出を行う。閾値は、画像IMA1’と画像IMA3がどの程度の類似度を有していれば許容できるかを示す閾値である。
画像処理回路135は、エラー検出回路150によりエラーが検出された場合、インターフェース140への画像IMA2の出力を停止する。或いは、インターフェース140は、エラー検出回路150によりエラーが検出された場合、画像IMA2の出力を停止する。インターフェース140は、エラー情報と共に画像IMA2を出力し、そのエラー情報を受信した表示ドライバーが、エラー情報に基づく動作を行ってもよい。或いは、インターフェース190は、エラー情報を処理装置200に出力し、そのエラー情報を受信した処理装置200が、エラー情報に基づく動作を行ってもよい。エラー情報は、例えばエラー判定フラグ、或いは指標等である。エラー情報に基づく動作は、例えばヘッドアップディスプレイの表示停止等である。
インターフェース190は、回路装置100と処理装置200の回路間通信を行う。例えば、インターフェース190は、SPI(Serial Peripheral Interface)方式やI2C方式等のシリアル通信インターフェースである。処理装置200からの設定情報や制御情報は、例えばレジスター回路170に書き込まれ、回路装置100は、その設定情報や制御情報に応じた動作を行う。
レジスター回路170は、インターフェース190を介して処理装置200からアクセス可能に構成されている。レジスター回路170はエラー検出結果レジスター176と閾値レジスター178とを含む。
エラー検出結果レジスター176は、エラー検出回路150が出力したエラー検出結果を記憶する。エラー検出結果は、例えば、表示画像がエラーと判定されたか否かを示すエラー判定フラグである。処理装置200は、インターフェース190を介してエラー検出結果レジスター176からエラー検出結果を読み出すことで、エラーが発生したか否かを判断できる。
閾値レジスター178には、処理装置200からインターフェース190を介して閾値が設定される。エラー検出回路150は、指標と、閾値レジスター178に設定された閾値とを比較してエラー検出を行う。
記憶部160は第2記憶部である。記憶部160は、係数情報CF1、CF2と角度情報RT1、RT2とを記憶する。具体的には、処理装置200がCF1、CF2、RT1及びRT2をインターフェース190に送信し、記憶部160は、インターフェース190が受信したCF1、CF2、RT1及びRT2を記憶する。画像処理回路135は、記憶部160から読み出したCF1、CF2、RT1及びRT2に基づいてマッピング処理及び回転処理を行う。記憶部160は、例えばメモリー又はレジスターである。例えば、メモリーは、RAM又は不揮発性メモリー等の半導体メモリーである。
なお、画像処理回路135、比較回路145、及びエラー検出回路150はロジック回路である。画像処理回路135、比較回路145、及びエラー検出回路150は、個々の回路として構成されてもよいし、或いは自動配置配線等により一体化された回路として構成されてもよい。また、これらのロジック回路の一部又は全部が、DSP(Digital Signal Processor)等のプロセッサーにより実現されてもよい。この場合、各回路の機能が記述されたプログラムや命令セットがメモリーに記憶され、そのプログラムや命令セットをプロセッサーが実行することで、各回路の機能が実現される。
図12では回路装置100がエラー検出回路150及びエラー検出結果レジスター176を含むが、回路装置100がエラー検出回路150及びエラー検出結果レジスター176を含まなくてもよい。この場合、インターフェース190は、比較回路145が求めた指標を処理装置200に出力し、その指標を受信した処理装置200が、指標と閾値を比較することでエラー検出してもよい。処理装置200は、エラーを検出したとき、ヘッドアップディスプレイの表示停止等のエラー対応動作を行ってもよい。
図13は、第1処理回路131及び第2処理回路132の詳細構成例である。
第1処理回路131は、第1座標カウンターである座標カウンター10と、第1回転変換回路である回転変換回路40と、第1座標変換回路である座標変換回路20と、第1マッピング処理回路であるマッピング処理回路30と、を含む。これらの動作については第1~第4構成例で説明した通りである。なお第1処理回路131が歪み補正のみを行う場合には回転変換回路40が省略されてもよい。
第2処理回路132は、第2座標カウンターである座標カウンター50と、第2回転変換回路である回転変換回路80と、第2座標変換回路である座標変換回路60と、第2マッピング処理回路であるマッピング処理回路70と、を含む。座標カウンター50はカウント座標CXYA2を出力する。回転変換回路80は、角度情報RT2に基づいてカウント座標CXYA2を入力座標IXY2に回転変換する。座標変換回路60は、係数情報CF2に基づいて、2次以上の多項式を用いた演算処理により入力座標IXY2を出力座標QXY2に座標変換する。マッピング処理回路70は、出力座標QXY2に基づいて画像IMA2を画像IMA3にマッピング処理する。これらの回路の詳細構成及び動作は、座標カウンター10、回転変換回路40、座標変換回路20、及びマッピング処理回路30と同様である。なお第2処理回路132が歪み補正のみを行う場合には回転変換回路80が省略されてもよい。
なお第2処理回路132の構成は図13に限定されない。例えば、第2マッピング処理における座標の対応を記述したマップテーブルが第2処理回路132に入力されてもよい。第2処理回路132は、マップテーブル及び角度情報RT2に基づいて第2マッピング処理及び第2回転処理を行ってもよい。
比較回路145が行う画像比較について説明する。
図14はヘッドアップディスプレイに表示される画像IMG2の一例である。図14では、メーター画像DIMの上にアイコンICAが重ねられている。アイコンICAは、ある透過率でメーター画像DIMにブレンドされる。本実施形態において、回路装置100は、アイコンICAが適切に表示されるか否かを検証する。この場合、図14の点線矩形で示すように、アイコンICAを含む領域がROIに設定される。
図15は、マッピング処理する前の画像IMG1から抽出されたROIの画像IMG1’である。ROI内には、アイコンICAと、アイコンICAの背景画像であるメーター画像DIMとが含まれる。図16は、画像IMG2から抽出されたROIの画像IMG2’が逆マッピング処理された画像IMG3である。図16には、アイコンICAが正しく表示されなかった例を示す。この場合、画像IMG1’と画像IMG3は背景画像のみ一致しており、アイコンICA部分は異なっている。このため、比較結果である指標が示す類似度は低い。画像IMG3においてもアイコンICAが正しく表示されている場合には、類似度は高くなる。類似度を示す指標は、連続的又は段階的な値をとることができる。エラー検出回路150は指標と閾値を比較するが、その閾値を調整することで、どの程度の類似度を許容するのかを調整可能である。
比較回路145は、画像IMG1’と画像IMG3の類似度を示す指標として、形状指標、又は視認性指標、又はその両方を求める。なお上述のように、比較回路145は、SSD、SAD又はNCC等を指標として求めてもよい。なお、類似度が高いほど指標が大きくなるか、類似度が高いほど指標が小さくなるかは、指標の算出手法によって異なる。閾値は、形状指標と視認性指標のそれぞれに対して設定される。
まず形状指標の第1算出手法を説明する。比較回路145は、色空間における画像IMG1’と画像IMG3の画像間距離を求める。色空間は例えばRGB又はYCrCbである。具体的には、比較回路145は、色空間において、画像IMG1’の画素と、その画素に対応する画像IMG3の画素の距離の二乗値を求める。比較回路145は、その二乗値を画像内で積算し、その積算値を画像間距離とする。第1算出手法では、画像間距離が形状指標に相当する。
次に形状指標の第2算出手法を説明する。図17に示すように、比較回路145は、画像IMG1’のエッジを抽出することで、エッジ画像EIMG1’を求める。また比較回路145は、画像IMG3のエッジを抽出することで、画像IMG3のエッジ画像を求める。以下、画像IMG3のエッジ画像をEIMG3とする。比較回路145は、エッジ画像EIMG1’とエッジ画像EIMG3を比較する。具体的には、比較回路145は、ソーベルフィルター等を用いて画像IMA1’と画像IMG3からエッジを抽出し、エッジ画像EIMG1’とエッジ画像EIMG3の相関値を求める。第2算出手法では、エッジ画像の相関値が形状指標に相当する。
次に視認性指標の算出手法を説明する。ここでは色空間をYCrCbとするが、色空間はRGB等であってもよい。比較回路145は、画像IMG1’のYチャンネルからヒストグラムを求める。同様に、比較回路145は、画像IMG1’のCrチャンネル、Cbチャンネルからヒストグラムを求め、画像IMG3のYチャンネル、Crチャンネル、Cbチャンネルからヒストグラムを求める。
比較回路145は、Yチャンネルにおける画像IMG1’と画像IMG3のヒストグラムに対して相互相関演算を行う。相互相関演算は、2つのヒストグラムを遅延(lag)だけずらして相関値を求め、遅延を変化させながら相関値を求めていく演算である。遅延を変化させていき、2つのヒストグラムの相関値が高くなるところがあれば、その遅延にピークが立つことになる。ピークは複数立つ可能性がある。同様に、比較回路145は、Crチャンネル、Cbチャンネルにおける画像IMG1’と画像IMG3のヒストグラムに対して相互相関演算を行う。
比較回路145は、全チャンネルの相互相関信号においてピークが立っている遅延値を調べ、その遅延値のうち最大の遅延値を求める。この最大の遅延値が視認性指標に相当する。アイコンと背景画像の色のコントラストが高い場合、最大の遅延値が大きくなるので、視認性指標はアイコンと背景画像の色のコントラストを示す。色のコントラストが高いほど視認性が高いと考えられるため、視認性指標が大きいほど類似度が高いと判断される。
以上に説明した形状指標、又は視認性指標、又はその両方を用いることで、ROIの画像IMG1’とIMG3の類似度を判断できる。形状指標を用いた場合、画像IMG1’と画像IMG3が一致しているとき、類似度が最も高くなる。即ち、類似度を一致度合いと言い換えることもできる。例えばアイコンICAが回転して表示された場合には、アイコンICAが回転していない場合に比べて類似度が低下する。一方、視認性指標は色のコントラストを示すので、アイコンICAが回転した場合であっても類似度があまり変化しない。従って、アイコンICAが回転した場合等を許容するときには、視認性指標を用いればよい。また、形状指標と視認性指標は算出手法が異なるので、その両方を用いることによって、エラー検出の精度を向上できる。
6.電子機器、移動体
図18は、本実施形態の回路装置を含む電子機器の構成例である。電子機器300は、処理装置310、回路装置320、記憶装置350、操作装置360、通信装置370、ヘッドアップディスプレイ400を含む。回路装置320は第1~第5構成例の回路装置100に対応する。ヘッドアップディスプレイ400は、表示ドライバー330、表示パネル340を含む。処理装置310は、例えばMCU等である。図18の構成例では回路装置320は表示コントローラーに対応する。但し、本実施形態の回路装置100は、表示コントローラーだけでなく、ヘッドアップディスプレイ用の表示画像を生成する回路装置であれば適用可能である。
処理装置310は、記憶装置350に記憶された画像データ、又は通信装置370が受信した画像データを回路装置320に転送する。回路装置320は、画像データに対する画像処理、表示タイミング制御、及び表示ドライバーに転送する画像データの生成等を行う。また回路装置320は、第5構成例で説明したように画像データのエラー検出を行ってもよい。表示ドライバー330は、回路装置320から転送された画像データと、回路装置320による表示タイミング制御に基づいて、表示パネル340を駆動し、画像を表示させる。表示パネル340は、例えば液晶表示パネル、或いはEL表示パネル等である。記憶装置350は、例えばメモリー、或いはハードディスクドライブ、或いは光学ディスクドライブ等である。操作装置360は、電子機器300をユーザーが操作するための装置であり、例えばボタンや、或いはタッチパネルや、或いはキーボード等である。通信装置370は、例えば有線通信を行う装置、或いは無線通信を行う装置である。有線通信は、例えばLAN、又はUSB等である。無線通信は、例えば無線LANや、無線近接通信等である。
本実施形態の回路装置を含む電子機器としては、車載用の電子機器、工場設備等の表示端末、ロボットに搭載された表示装置、又は情報処理装置等の種々の機器を想定できる。車載用の電子機器は、例えばメーターパネル等である。情報処理装置は例えばPC等である。
図19は、本実施形態の回路装置320を含む移動体の例である。移動体は、本実施形態の回路装置320と、回路装置320に画像データを送信する処理装置310と、を含む。処理装置310は、回路装置320からのヘッドアップディスプレイ用表示画像のエラー検出結果に基づいてエラー対応処理を行ってもよい。移動体は、ヘッドアップディスプレイ400と制御装置208とを含む。制御装置208はECU(Electronic Control Unit)であり、ECUに回路装置320と処理装置310が組み込まれる。なお回路装置320はヘッドアップディスプレイ400に組み込まれてもよい。本実施形態の回路装置320は、例えば、車、飛行機、バイク、自転車、或いは船舶等の種々の移動体に組み込むことができる。移動体は、例えばエンジンやモーター等の駆動機構、ハンドルや舵等の操舵機構、各種の電子機器を備えて、地上や空や海上を移動する機器又は装置である。図19は移動体の具体例としての自動車206を概略的に示している。ヘッドアップディスプレイ400は透明スクリーンを有し、その透明スクリーンは運転席とフロントガラスの間に設置される。或いは、ヘッドアップディスプレイは、フロントガラスを透明スクリーンとして用い、フロントガラスに画像を投影してもよい。ヘッドアップディスプレイ400は、例えば自動車206のメーターパネルとして機能する。
以上に説明した本実施形態の回路装置は、座標変換回路とマッピング処理回路とを含む。座標変換回路は、入力座標から出力座標への座標変換を行う。マッピング処理回路は、入力される第1画像に対して、出力座標に基づくマッピング処理を行うことで、曲面ディスプレイに画像を表示するための表示パネルに表示される第2画像を生成する。座標変換回路は、座標変換を表す2次以上の多項式を用いた演算処理を行うことで、座標変換を行う。
多項式は乗算と加算の組み合わせで成り立っており、積分等の複雑な計算を含まない。このため、多項式を用いて座標変換を行うことで、積分等を含む計算を行う場合に比べて、演算時間が短縮される。また、多項式では、入力座標と出力座標とが1対1に対応する。この対応を用いてマッピング処理回路が1画素ずつマッピングすることで、1画面分の画像を構成することが可能である。このような逐次処理は、一旦テーブル等を作成してマッピング処理する場合に比べて、リアルタイム処理に適している。
また本実施形態では、座標変換回路は、多項式の係数情報と入力座標とが入力され、係数情報に基づく演算処理により入力座標から出力座標を求めてもよい。
多項式を用いた座標変換では、多項式の係数によって入力座標と出力座標の対応が決まる。即ち、曲面ディスプレイの形状に合わせた係数情報が座標変換回路に入力されることで、種々の曲面ディスプレイに適した歪み補正が実現される。また、座標変換回路は、入力された入力座標から出力座標を求めるので、上述したようにリアルタイム処理に適した1画素ずつの座標変換を行うことができる。
また本実施形態では、座標変換回路は、第1~第n項演算回路と加算回路とを含んでもよい。第i項演算回路は、係数情報に基づいて多項式の第1~第n項の第i項を演算してもよい。nは2以上の整数であり、iは1以上n以下の整数である。加算回路は、第1~第n項演算回路が出力する第1~第n項を加算し、出力座標を出力してもよい。
このようにすれば、多項式の各項に対応した項演算回路が個別に設けられるので、各項の演算が並列処理される。これにより、座標変換を高速に処理することが可能となる。
また本実施形態では、座標変換回路は、第1演算回路と第2演算回路とを含んでもよい。第1演算回路は、入力座標を(x,y)としたとき、x2、y2、及びxyを求めてもよい。第2演算回路は、第1演算回路の演算結果と係数情報とに基づいて出力座標を求めてもよい。
このようにすれば、第1演算回路が、係数を乗算する前の項x2、y2、及びxyを演算し、第2演算回路が、そのx2、y2、及びxyに対して係数を乗算することで、多項式の各項を演算し、求めた項を加算することで出力座標を出力できる。このように、多項式を用いることで、乗算と加算によって座標変換の演算を構成できる。
また本実施形態では、多項式は、第1~第6項として、a1×x2、a2×y2、a3×xy、a4×x、a5×y、及びa6を含んでもよい。係数情報は、第1~第6係数として、a1、a2、a3、a4、a5、及びa6の情報を含んでもよい。第2演算回路は、a1とx2を乗算する第1項演算回路と、a2とy2を乗算する第2項演算回路と、a3とxyを乗算する第3項演算回路と、a4とxを乗算する第4項演算回路と、a5とyを乗算する第5項演算回路と、加算回路と、を含んでもよい。加算回路は、第1~第5演算回路が出力する第1~第5項、及び第6項であるa6を加算し、出力座標を出力してもよい。
このようにすれば、多項式の2次の項及び1次の項について、各項に対応した項演算回路が個別に設けられる。これにより、多項式の2次の項及び1次の項について、各項の演算が並列処理されるので、座標変換を高速に処理することが可能となる。
また本実施形態では、回路装置は第1座標カウンターを含んでもよい。第1座標カウンターは、画素クロックに基づく画素単位の座標である第1カウント座標を出力してもよい。座標変換回路は、第1カウント座標を入力座標として座標変換を行ってもよい。
本実施形態によれば、第1座標カウンターが画素クロックに基づいて1画素ずつ第1カウント座標を出力し、その第1カウント座標を座標変換回路が出力座標に変換する。これにより、画素クロックに従って1画素ずつ出力座標が出力されるので、マッピング処理回路が画素クロックに基づいて1画素ずつマッピング処理を行うことが可能となる。これにより、リアルタイム処理に適した歪み補正が実現される。
また本実施形態では、入力座標は、第1画像及び第2画像の一方の画像上の座標に対応した座標であってもよい。出力座標は、第1画像及び第2画像の他方の画像上の座標に対応した座標であってもよい。
マッピング処理回路がインバースワープを行う場合、入力座標は第2画像上の座標に対応し、出力座標は第1画像上の座標に対応する。マッピング処理回路がフォワードワープを行う場合、入力座標は第1画像上の座標に対応し、出力座標は第2画像上の座標に対応する。多項式を用いた演算処理において、インバースワープに対応した係数、或いはフォワードワープに対応した係数を用いることで、インバースワープ及びフォワードワープのいずれも実現可能である。
また本実施形態では、マッピング処理回路は、画素クロックに基づく画素単位の座標である第2カウント座標を出力する第2座標カウンターと、第1画像を記憶する画像メモリーと、画像メモリーのアクセス制御を行うメモリー制御回路と、を含んでもよい。メモリー制御回路は、第2カウント座標に基づいて第1画像を画像メモリーに書き込み、出力座標に基づいて画像メモリーから読み出した画素値を、第2画像の第1カウント座標における画素値として出力することで、マッピング処理を行ってもよい。又は、メモリー制御回路は、第1画像の第1カウント座標における画素値を出力座標における画素値として画像メモリーに書き込み、第2カウント座標に基づいて画像メモリーから読み出した画素値を、第2画像の第2カウント座標における画素値として出力することで、マッピング処理を行ってもよい。
前者のマッピング処理では、画像メモリーから第2画像が読み出される際に、第2画像の入力座標における画素値が、第1画像の出力座標における画素値から取得されている。これにより、インバースワープが実現される。後者のマッピング処理では、画像メモリーに第1画像が書き込まれる際に、第1画像の入力座標における画素値が、出力座標における画素値に移動されている。これにより、フォワードワープが実現される。
また本実施形態では、回路装置は回転変換回路を含んでもよい。回転変換回路は、座標の回転変換を行い、回転後座標を出力してもよい。座標変換回路は、回転後座標を入力座標として座標変換を行ってもよい。
このようにすれば、回転後座標である入力座標が出力座標に変換され、その出力座標に基づいてマッピング処理が行われる。これにより、曲面ディスプレイの取り付け誤差等に対応した画像回転と、曲面ディスプレイによる画像の歪みに対応した画像歪み補正とを、実現できる。
また本実施形態では、回路装置は第1座標カウンターを含んでもよい。第1座標カウンターは、画素クロックに基づく画素単位の座標である第1カウント座標を出力してもよい。回転変換回路は、第1カウント座標に対して回転変換を行うことで、回転後座標を求めてもよい。
本実施形態によれば、第1座標カウンターが画素クロックに基づいて1画素ずつ第1カウント座標を出力し、その第1カウント座標を回転変換回路が回転後座標に変換し、その回転後座標を座標変換回路が出力座標に変換する。これにより、画素クロックに従って1画素ずつ出力座標が出力されるので、マッピング処理回路が画素クロックに基づいて1画素ずつマッピング処理を行うことが可能となる。これにより、リアルタイム処理に適した回転補正及び歪み補正が実現される。
また本実施形態では、第1カウント座標は、第1画像及び第2画像の一方の画像上の座標を指定する座標であってもよい。出力座標は、第1画像及び第2画像の他方の画像上の座標を指定する座標であってもよい。
マッピング処理回路がインバースワープを行う場合、第1カウント座標は第2画像上の座標に対応し、出力座標は第1画像上の座標に対応する。マッピング処理回路がフォワードワープを行う場合、第1カウント座標は第1画像上の座標に対応し、出力座標は第2画像上の座標に対応する。多項式を用いた演算処理において、インバースワープに対応した係数、或いはフォワードワープに対応した係数を用いることで、インバースワープ及びフォワードワープのいずれも実現可能である。また回転変換回路が第1カウント座標を回転変換するので、第1画像が第2画像にマッピング処理される際に歪み補正と画像回転が同時に行われることになる。
また本実施形態では、マッピング処理回路は、画素クロックに基づく画素単位の座標である第2カウント座標を出力する第2座標カウンターと、第1画像を記憶する画像メモリーと、画像メモリーのアクセス制御を行うメモリー制御回路と、を含んでもよい。メモリー制御回路は、第2カウント座標に基づいて第1画像を画像メモリーに書き込み、出力座標に基づいて画像メモリーから読み出した画素値を、第2画像の第1カウント座標における画素値として出力することで、マッピング処理を行ってもよい。又は、メモリー制御回路は、第1画像の第1カウント座標における画素値を出力座標における画素値として画像メモリーに書き込み、第2カウント座標に基づいて画像メモリーから読み出した画素値を、第2画像の第2カウント座標における画素値として出力することで、マッピング処理を行ってもよい。
前者のマッピング処理では、画像メモリーから第2画像が読み出される際に、第2画像の第1カウント座標における画素値が、第1画像の出力座標における画素値から取得されている。これにより、画像回転及び歪み補正を含んだインバースワープが実現される。後者のマッピング処理では、画像メモリーに第1画像が書き込まれる際に、第1画像の第1カウント座標における画素値が、出力座標における画素値に移動されている。これにより、画像回転及び歪み補正を含んだフォワードワープが実現される。
また本実施形態では、多項式は、a1×x2+a2×y2+a3×xy+a4×x+a5×y+a6であってもよい。
このようにすれば、2次多項式を用いた演算処理により座標変換が行われる。2次多項式の各項は、最大で2回の乗算しか含まない。このため、2次多項式を用いた座標変換は、より高次の多項式を用いる場合に比べて演算負荷が小さくなり、リアルタイム処理に適している。
また本実施形態では、回路装置は第2マッピング処理回路と比較回路とを含んでもよい。第2マッピング処理回路は、マッピング処理の逆マッピング処理である第2マッピング処理を第2画像に対して行うことで、第3画像を生成してもよい。比較回路は、第1画像と第3画像との比較を行い、比較の結果を、第2画像のエラー検出を行うための情報として出力してもよい。
このようにすれば、回路装置が、ヘッドアップディスプレイに表示するために歪み補正された画像が適切であるか検証できる。或いは、エラー検出情報が回路装置に外部に出力される場合には、そのエラー検出情報を受け取る外部装置が、上記検証を実施できる。マッピング処理回路が第1画像を第2画像にマッピングし、第2マッピング処理回路が第2画像を第3画像に逆マッピングするので、第2画像が正常である場合には第3画像が第1画像と同じ画像に戻るはずである。比較回路は、その第3画像と第1画像を比較することで、第2画像のエラー検出を行うための情報を出力できる。
また本実施形態の電子機器は、上記のいずれかに記載された回路装置を含む。
また本実施形態の移動体は、上記のいずれかに記載された回路装置を含む。
なお、上記のように本実施形態について詳細に説明したが、本開示の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また回路装置、ヘッドアップディスプレイ、電子機器及び移動体の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。