(57)【特許請求の範囲】
【請求項１】
第１の画像を構成する画素のデータに基づいて第２の画像を構成する画素のデータを生成する画像処理装置であって、
書き換え可能な記憶部と、
前記第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素に対応する前記第１の画像の画素の位置を特定するための位置特定データが記憶されたバースト読み出しが可能な記憶装置から前記第２の画像の各行にある前記頂点に位置する画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の前記位置特定データを前記記憶部に格納するメモリインターフェース部と、
前記記憶部に格納された前記位置特定データに基づいて前記第１の画像の画素の位置を特定し、当該画素のデータに基づいて前記第２の画像の画素のデータを前記ブロック毎に順に生成する画像データ生成処理部と、を含むことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記第２の画像は行方向に隣接する２つの前記ブロックが一辺に存在する画素を共有するように分割され、
前記記憶部は、
１行分の前記位置特定データをそれぞれ格納するための２つの位置特定データ記憶領域を含み、
前記メモリインターフェース部は、
前記記憶装置から読み出した１行分の前記位置特定データを、前記記憶装置から前回読み出した１行分の前記位置特定データを格納した前記位置特定データ記憶領域と異なる前記位置特定データ記憶領域に格納することを特徴とする画像処理装置。
【請求項３】
請求項１又は２において、
前記メモリインターフェース部は、
４つの第１のバッファを含み、前記ブロックの各々の４つの頂点に位置する画素にそれぞれ対応する前記第１の画像の画素の前記位置特定データを前記記憶部から読み出して前記４つの第１のバッファにそれぞれ格納し、
前記画像データ生成処理部は、
前記４つの第１のバッファに格納された前記４つの位置特定データに基づいて前記各ブロックに含まれる各画素に対応する前記第１の画像の画素の位置を特定することを特徴とする画像処理装置。
【請求項４】
請求項３において、
前記第２の画像は列方向に隣接する２つの前記ブロックが一辺に存在する画素を共有するように分割され、
前記メモリインターフェース部は、
前回前記位置特定データの読み出し対象となった前記ブロックと列方向に隣接する前記ブロックの頂点に位置する画素の前記位置特定データを前記記憶部から読み出す場合には、当該２つの前記ブロックが共有する２つの頂点にそれぞれ位置する２つの画素の前記位置特定データが上書きされないように、他の２つの頂点に位置する２つの画素の前記位置特定データを前記記憶部から読み出して２つの前記第１のバッファにそれぞれ格納することを特徴とする画像処理装置。
【請求項５】
請求項３又は４において、
前記画像データ生成処理部は、
４つの第２のバッファを含み、前記４つの第１のバッファにそれぞれ格納された４つの前記位置特定データを所定のタイミングで前記４つの第２のバッファにそれぞれ取り込んで格納し、前記４つの第２のバッファに格納された前記４つの位置特定データに基づいて前記各ブロックに含まれる画素に対応する前記第１の画像の画素の位置を特定し、
前記メモリインターフェース部は、
前記所定のタイミングに基づいて、前記画像データ生成処理部により次回の画像データ生成対象となる前記ブロックの頂点に位置する画素の前記位置特定データを読み出すことを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記ブロックの各々に含まれる行方向の画素数を特定する情報を設定するための第１の設定レジスタと、
前記ブロックの各々に含まれる列方向の画素数を特定する情報を設定するための第２の設定レジスタと、を含み、
前記画像データ生成処理部は、
前記第１の設定レジスタの設定値及び前記第２の設定レジスタの設定値に基づいて前記ブロックの行方向の画素数及び列方向の画素数を判断し、前記第２の画像の画素のデータを前記ブロック毎に順に生成することを特徴とする画像処理装置。
【請求項７】
第１の画像を構成する画素のデータに基づいて第２の画像を構成する画素のデータを生成する画像処理装置と、
前記第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素に対応する前記第１の画像の画素の位置を特定するための位置特定データが記憶されたバースト読み出しが可能な記憶装置と、を含み、
前記画像処理装置は、
書き換え可能な記憶部と、前記記憶装置から前記第２の画像の各行にある前記頂点に位置する画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の前記位置特定データを前記記憶部に格納するメモリインターフェース部と、前記記憶部に格納された前記位置特定データに基づいて前記第１の画像の画素の位置を特定し、当該画素のデータに基づいて前記第２の画像の画素のデータを前記ブロック毎に順に生成する画像データ生成処理部と、を含むことを特徴とする画像処理システム。
【請求項８】
第１の画像を構成する画素のデータに基づいて第２の画像を構成する画素のデータを生成する画像処理装置と、
前記第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素に対応する前記第１の画像の画素の位置を特定するための位置特定データが記憶されたバースト読み出しが可能な記憶装置と、
前記画像処理装置が生成した画素データに基づいて前記第２の画像をフロントガラスに表示する画像表示装置と、を含み、
前記画像処理装置は、
書き換え可能な記憶部と、前記記憶装置から前記第２の画像の各行にある前記頂点に位置する画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の前記位置特定データを前記記憶部に格納するメモリインターフェース部と、前記記憶部に格納された前記位置特定データに基づいて前記第１の画像の画素の位置を特定し、当該画素のデータに基づいて前記第２の画像の画素のデータを前記ブロック毎に順に生成する画像データ生成処理部と、を含むことを特徴とする車両用ヘッドアップディスプレイシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理システム及び車両用ヘッドアップディスプレイシステムに関する。
【背景技術】
【０００２】
入力画像に歪みを加えたり、拡大、縮小、回転、反転等の種々の演算処理を行って出力画像を生成する画像処理装置が提供されている。例えば、車両用のヘッドアップディスプレイシステムでは、走行時のドライバーの目線の移動距離を小さくするためにフロントガラスに各種の情報が表示される。しかし、フロントガラスの表面は湾曲していたりドライバーの目線に対して垂直に設置されているため、画像表示装置によりフロントガラスの表面に投影される画像には歪みが発生する。例えば、図１３（Ａ）に示す長方形状の画像９００をフロントガラスの表面に表示させた場合、図１３（Ｂ）に示すように画像表示装置９１０によりフロントガラスの表面に表示される画像９０２には歪みが発生する。そこで、フロントガラスの表面の形状やドライバーの目線の位置に応じて発生する歪みに対して、図１３（Ａ）の画像９００をあらかじめ逆方向に歪ませた図１３（Ｃ）に示すような画像９０４を生成する画像処理装置が提案されている。
【特許文献１】特開平１１−３０７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような入力画像に種々の演算処理を行って出力画像を生成する画像処理装置においては、例えば、出力画像の画素に対応する入力画像の画素の位置を特定するデータを画像処理装置の内部メモリに保存しておき、入力画像の画素のデータに基づいて出力画像の画素のデータを生成する。しかし、出力画像の精度を向上するためには内部メモリに格納するデータの数が増加するため、内部メモリのサイズをより大きくする必要がありコストの増大を招いていた。また、入力画像の画素の位置を特定するデータを外部記憶装置に記憶させ、これらのデータを外部記憶装置から１つずつ読み出しながら出力画像の画素のデータを生成することも考えられる。しかし、外部記憶装置に対するアクセスには時間を要するため、出力画像をリアルタイムに生成する用途では画像処理装置の処理が間に合わない場合もある。
【０００４】
本発明は、以上のような問題点に鑑みてなされたものであり、第１の画像を構成する画素データに基づいて第２の画像を構成する画素データを生成する処理を比較的低コストかつ高速に行うことができる画像処理装置、画像処理システム及び車両用ヘッドアップディスプレイシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明は、
第１の画像を構成する画素のデータに基づいて第２の画像を構成する画素のデータを生成する画像処理装置であって、
書き換え可能な記憶部と、
前記第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素に対応する前記第１の画像の画素の位置を特定するための位置特定データが記憶されたバースト読み出しが可能な記憶装置から前記第２の画像の各行にある前記頂点に位置する画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の前記位置特定データを前記記憶部に格納するメモリインターフェース部と、
前記記憶部に格納された前記位置特定データに基づいて前記第１の画像の画素の位置を特定し、当該画素のデータに基づいて前記第２の画像の画素のデータを前記ブロック毎に順に生成する画像データ生成処理部と、を含むことを特徴とする。
【０００６】
第１の画像を構成する画素のデータ及び第２の画素を構成する画素のデータは、例えば、ＲＧＢデータであってもよいし、輝度データであってもよい。
【０００７】
書き換え可能な記憶部は、ＳＲＡＭ（Static Random Access Memory）であってもよい。
【０００８】
バースト読み出しが可能な外部の記憶装置は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）であってもよい。
【０００９】
位置特定データは、各ブロックの頂点に位置する各画素に対応する第１の画像の画素の座標データであってもよいし、各ブロックの頂点に位置する各画素の座標とその画素に対応する第１の画像の画素の座標との差を表すオフセットデータであってもよい。
【００１０】
メモリインターフェース部は、例えば、２、４、８、１６、３２個等の位置特定データのバースト読み出しを行ってもよく、バースト読み出しの対象となる位置特定データの個数を可変に設定できるようにしてもよい。
【００１１】
本発明によれば、位置特定データはバースト読み出しが可能な外部の記憶装置に格納され、メモリインターフェース部は、当該記憶装置から位置特定データを所定個ずつバースト読み出しして少なくとも２行分の位置特定データを内部の記憶部に格納する。すなわち、１画面分の第２の画像を生成するために必要なすべての位置特定データは外部の記憶装置に記憶されているので、内部の記憶部に記憶しておく必要がない。従って、内部の記憶部は、少なくとも２行分の位置特定データを記憶することができればよくそのサイズを大幅に削減することができるので、画像処理装置を比較的低コスト化することができる。また、位置特定データは外部の記憶装置から所定個ずつバースト読み出しされるので、位置特定データの読み出しに要するレイテンシーを大幅に削減することができる。従って、画像処理装置の処理速度を比較的高速化することができる。
【００１２】
（２）本発明の画像処理装置において、
前記第２の画像は行方向に隣接する２つの前記ブロックが一辺に存在する画素を共有するように分割され、
前記記憶部は、
１行分の前記位置特定データをそれぞれ格納するための２つの位置特定データ記憶領域を含み、
前記メモリインターフェース部は、
前記記憶装置から読み出した１行分の前記位置特定データを、前記記憶装置から前回読み出した１行分の前記位置特定データを格納した前記位置特定データ記憶領域と異なる前記位置特定データ記憶領域に格納するようにしてもよい。
【００１３】
本発明によれば、行方向に隣接する２つのブロックは一辺に存在する画素を共有するので、共有される一辺に存在する頂点の画素の位置特定データは当該２つのブロックの画像処理演算に共用される。従って、外部の記憶装置に記憶されメモリインターフェース部によって読み出される位置特定データの数を削減することができる。また、記憶部が２つの位置特定データ記憶領域を含み、メモリインターフェース部が今回の１行分の位置特定データを、前回使用した位置特定データ記憶領域と異なる位置特定データ記憶領域に格納するので、当該２つのブロックの画像処理演算に共用される位置特定データを前回使用した位置特定データ記憶領域に残しておいて今回の演算処理に使用することができる。従って、本発明によれば、小さいサイズの記憶部を有効利用して画像処理装置の処理速度をより高速化することができる。
【００１４】
（３）本発明の画像処理装置において、
前記メモリインターフェース部は、
４つの第１のバッファを含み、前記ブロックの各々の４つの頂点に位置する画素にそれぞれ対応する前記第１の画像の画素の前記位置特定データを前記記憶部から読み出して前記４つの第１のバッファにそれぞれ格納し、
前記画像データ生成処理部は、
前記４つの第１のバッファに格納された前記４つの位置特定データに基づいて前記各ブロックに含まれる各画素に対応する前記第１の画像の画素の位置を特定するようにしてもよい。
【００１５】
（４）本発明の画像処理装置において、
前記第２の画像は列方向に隣接する２つの前記ブロックが一辺に存在する画素を共有するように分割され、
前記メモリインターフェース部は、
前回前記位置特定データの読み出し対象となった前記ブロックと列方向に隣接する前記ブロックの頂点に位置する画素の前記位置特定データを前記記憶部から読み出す場合には、当該２つの前記ブロックが共有する２つの頂点にそれぞれ位置する２つの画素の前記位置特定データが上書きされないように、他の２つの頂点に位置する２つの画素の前記位置特定データを前記記憶部から読み出して２つの前記第１のバッファにそれぞれ格納するようにしてもよい。
【００１６】
例えば、メモリインターフェース部は、前回位置特定データの読み出し対象となったブロックと列方向に隣接するブロックにおける位置特定データを記憶部から読み出す場合には、当該２つのブロックが共有する２つの頂点に位置する２つの画素にそれぞれ対応し、前回読み出された２つの位置特定データがそれぞれ格納されている２つの第１のバッファと異なる２つの第１のバッファに、他の２つの頂点に位置する２つの画素にそれぞれ対応する２つの位置特定データを記憶部から読み出して格納するようにしてもよい。
【００１７】
また、例えば、メモリインターフェース部は、前回位置特定データの読み出し対象となったブロックと列方向に隣接するブロックにおける位置特定データを記憶部から読み出す場合には、当該２つのブロックが共有する２つの頂点に位置する２つの画素にそれぞれ対応し、前回読み出された２つの位置特定データがそれぞれ格納されている２つの第１のバッファから当該２つの位置特定データを読み出して他の２つの第１のバッファにそれぞれ転送して格納するとともに、他の２つの頂点に位置する２つの画素にそれぞれ対応する２つの位置特定データを記憶部から読み出し、前回読み出された２つの位置特定データがそれぞれ格納されていた２つの第１のバッファにそれぞれ格納するようにしてもよい。
【００１８】
本発明によれば、列方向に隣接する２つのブロックは一辺に存在する画素を共有するので、共有される一辺に存在する頂点の画素の位置特定データは当該２つのブロックの画像処理演算に共用される。従って、外部の記憶装置に記憶されメモリインターフェース部によって読み出される位置特定データの数を削減することができる。また、当該２つのブロックの画像処理演算に共用される位置特定データについては記憶部から１回読み出すだけでよい。従って、本発明によれば、小さいサイズの記憶部を効率的に利用して画像処理装置の処理速度をより高速化することができる。
【００１９】
（５）本発明の画像処理装置において、
前記画像データ生成処理部は、
４つの第２のバッファを含み、前記４つの第１のバッファにそれぞれ格納された４つの前記位置特定データを所定のタイミングで前記４つの第２のバッファにそれぞれ取り込んで格納し、前記４つの第２のバッファに格納された前記４つの位置特定データに基づいて前記各ブロックに含まれる画素に対応する前記第１の画像の画素の位置を特定し、
前記メモリインターフェース部は、
前記所定のタイミングに基づいて、前記画像データ生成処理部により次回の画像データ生成対象となる前記ブロックの頂点に位置する画素の前記位置特定データを読み出すようにしてもよい。
【００２０】
本発明によれば、各ブロックの４つの頂点に位置する画素にそれぞれ対応する４つの位置特定データを格納するための４つのダブルバッファ（第１のバッファと第２のバッファ）を有する。従って、今回計算対象のブロックにおける位置特定データを第２のバッファに格納して画素データを生成するための演算処理と、次回計算対象のブロックにおける位置特定データを記憶部から読み出して第１のバッファに格納する処理を並行して行うことができる。従って、本発明によれば、小さいサイズの記憶部を効率的に利用して画像処理装置の処理速度をより高速化することができる。
【００２１】
（６）本発明の画像処理装置は、
前記ブロックの各々に含まれる行方向の画素数を特定する情報を設定するための第１の設定レジスタと、
前記ブロックの各々に含まれる列方向の画素数を特定する情報を設定するための第２の設定レジスタと、を含み、
前記画像データ生成処理部は、
前記第１の設定レジスタの設定値及び前記第２の設定レジスタの設定値に基づいて前記ブロックの行方向の画素数及び列方向の画素数を判断し、前記第２の画像の画素のデータを前記ブロック毎に順に生成するようにしてもよい。
【００２２】
本発明によれば、第２の画像を分割するブロックのサイズ及び形状を可変に設定することができる。従って、例えば、列方向の歪みが大きい場合にはブロックの形状を行方向の画素数が列方向の画素数よりも小さくなるような長方形に設定したり、ブロックのサイズをより小さく設定することにより、使用環境に応じて第２の画像の精度を向上させたり維持することができる。
【００２３】
（７）本発明は、
第１の画像を構成する画素のデータに基づいて第２の画像を構成する画素のデータを生成する画像処理装置と、
前記第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素に対応する前記第１の画像の画素の位置を特定するための位置特定データが記憶されたバースト読み出しが可能な記憶装置と、を含み、
前記画像処理装置は、
書き換え可能な記憶部と、前記記憶装置から前記第２の画像の各行にある前記頂点に位置する画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の前記位置特定データを前記記憶部に格納するメモリインターフェース部と、前記記憶部に格納された前記位置特定データに基づいて前記第１の画像の画素の位置を特定し、当該画素のデータに基づいて前記第２の画像の画素のデータを前記ブロック毎に順に生成する画像データ生成処理部と、を含むことを特徴とする画像処理システムである。
【００２４】
（８）本発明は、
第１の画像を構成する画素のデータに基づいて第２の画像を構成する画素のデータを生成する画像処理装置と、
前記第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素に対応する前記第１の画像の画素の位置を特定するための位置特定データが記憶されたバースト読み出しが可能な記憶装置と、
前記画像処理装置が生成した画素データに基づいて前記第２の画像をフロントガラスに表示する画像表示装置と、を含み、
前記画像処理装置は、
書き換え可能な記憶部と、前記記憶装置から前記第２の画像の各行にある前記頂点に位置する画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の前記位置特定データを前記記憶部に格納するメモリインターフェース部と、前記記憶部に格納された前記位置特定データに基づいて前記第１の画像の画素の位置を特定し、当該画素のデータに基づいて前記第２の画像の画素のデータを前記ブロック毎に順に生成する画像データ生成処理部と、を含むことを特徴とする車両用ヘッドアップディスプレイシステムである。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２６】
１．画像処理装置、画像処理システム
図１は、本実施形態の画像処理装置及び画像処理システムの構成例について説明するための図である。
【００２７】
画像処理システム１は、画像処理装置１０及びＳＤＲＡＭ２０を含んで構成されている。また、画像処理システム１は、画像処理装置１０、ＳＤＲＡＭ２０及びその他のデバイス３０等が接続されたバス４０を含んでいてもよい。バス４０はバス占有権を設定可能なバスであってもよい。また、画像処理システム１はＬＣＤ５０を含んでいてもよい。
【００２８】
画像処理装置１０は、第１の画像を構成する画素のデータ（以下、第１の画像の画素データという）に基づいて第２の画像を構成する画素のデータ（以下、第２の画像の画素データという）を生成する処理を行う。第１の画像の画素データは、例えば、ＳＤＲＡＭ２０や他の記憶装置（図示しない）に記憶され、画像処理装置１０がバス４０を介してＳＤＲＡＭ２０や他の記憶装置（図示しない）から第１の画像の画素データを読み出すように構成されていてもよいし、デバイス３０（例えば、マイクロプロセッサ等）がバス４０を介して画像処理装置１０に第１の画像の画素データを供給するように構成されていてもよい。また、第２の画像は、例えば、ＬＣＤ５０により表示される画像５２である。
【００２９】
ＳＤＲＡＭ２０はバースト読み出し可能な記憶装置であり、第２の画像を行方向及び列方向に格子状に分割した複数の矩形状のブロックの各頂点に位置する画素（以下、頂点画素という）に対応する第１の画像の画素の位置を特定するための位置特定データが記憶されている。位置特定データは、第２の画像の各頂点画素に対応する第２の画像の画素の座標データであってもよいし、第２の画像の各頂点画素の座標とその画素に対応する第１の画像の画素の座標との差を表すオフセットデータであってもよい。
【００３０】
画像処理装置１０は、少なくともメモリインターフェース部１００、ＳＲＡＭ２００（書き換え可能な記憶部の一例）、画像データ生成処理部３００を含んで構成されている。また、画像処理装置１０は、バスインターフェース部４００及びＬＣＤコントローラ５００を含んで構成されていてもよい。
【００３１】
メモリインターフェース部１００は、ＳＤＲＡＭ２０から第２の画像の各行にある頂点画素の前記位置特定データを所定個ずつバースト読み出しして前記第２の画像の少なくとも２行分の頂点画素の前記位置特定データをＳＲＡＭ２００に格納する処理を行う。
【００３２】
ＳＲＡＭ２００は、書き換え可能な記憶部として機能する。
【００３３】
画像データ生成処理部３００は、ＳＲＡＭ２００に格納された位置特定データに基づいて第１の画像の画素の位置を特定し、当該画素のデータに基づいて第２の画像の画素のデータをブロック毎に順に生成する処理を行う。画像データ生成処理部３００は、第１の画像に任意の変換処理、例えば、拡大、縮小、回転、反転、歪み補正等の処理を施した第２の画像の画素データを生成するようにしてもよい。
【００３４】
画像データ生成処理部３００が生成した画素データ３０２は、例えば、ＬＣＤコントローラ５００によりＬＣＤ５０の駆動信号１２に変換されて出力される。ＬＣＤ５０は、駆動信号１２に基づいて画像（第２の画像）５２を表示する。なお、ＬＣＤコントローラ５００は画像処理装置１０の外部にあってもよい。
【００３５】
バスインターフェース部４００は、バス４０に対するインターフェース処理を行う。バスインターフェース部４００は、例えば、バス４０を介してＳＤＲＡＭ２０等に対して位置特定データ又は第１の画像の画素データを要求するリクエスト信号やアドレス信号を送信し、バス４０を介してＳＤＲＡＭ２０等からアクノリッジ信号とともに位置特定データや第１の画像の画素データを受信する処理を行う。
【００３６】
また、バス４０に画像処理装置１０及びＳＤＲＡＭ２０以外のデバイス（デバイス３０等）が接続されている場合には、バスインターフェース部４００は、画像データ生成処理部３００からリクエスト信号を受信すると画像データ生成処理部３００に第１のアクノリッジ信号を送信し、第１のアクノリッジ信号の送信後も画像データ生成処理部３００がリクエスト信号を送信し続ける場合には、バス４０にバス占有権を設定するようにしてもよい。
【００３７】
図２は、本実施形態の画像処理装置が生成する画素データを有する画素により構成される画像（第２の画像）を複数のブロックに分割した状態について説明するための図である。以下、図１を参照しながら図２について説明する。
【００３８】
第２の画像５２は、例えばＶＧＡサイズの画像であり６４０×４８０個の画素により構成されている。図２において、ｘ列とｙ行の交点に位置する画素の座標を（ｘ,ｙ）とし、座標（ｘ,ｙ）の画素をｐ（ｘ,ｙ）と表記している。第２の画像５２は行方向及び列方向に格子状に４８００個（８０×６０個）の矩形状のブロックＢ（０,０）〜Ｂ（５９,７９）に分割されている。ここで、２つの画素間の距離を１とすると、ブロックＢ（ｉ,ｊ）（ｉ＝０〜７８、ｊ＝０〜５８）は８×８のサイズであり、９×９個の画素を含んでいる。ブロックＢ（ｉ,ｊ）（ｉ＝０〜７８、ｊ＝０〜５８）の４つの頂点の位置にはそれぞれ頂点画素ｐ（８ｉ,８ｊ）、ｐ（８（ｉ＋１）,８ｊ）、ｐ（８ｉ,８（ｊ＋１））、ｐ（８（ｉ＋１）,８（ｊ＋１））が存在する。例えば、ブロックＢ（０,０）の４つの頂点の位置には頂点画素ｐ（０,０）、ｐ（８,０）、ｐ（０,８）、ｐ（８,８）が存在する。
【００３９】
一方、図２において右端に存在するブロックＢ（７９,ｊ）（ｊ＝０〜５８）の右辺には画素が存在しない。従って、ブロックＢ（７９,ｊ）（ｊ＝０〜５８）は８×８のサイズであるが、８×９個の画素しか含んでいない。そして、ブロックＢ（７９,ｊ）（ｊ＝０〜５８）の各々の左辺にある２つの頂点の位置には頂点画素ｐ（６３２,８ｊ）及びｐ（６３２,８（ｊ＋１））がそれぞれ存在するが右辺にある２つの頂点の位置には頂点画素が存在しない。そこで、ブロックＢ（７９,ｊ）（ｊ＝０〜５８）の各々の右辺にある２つの頂点にはダミーの頂点画素ｄ（６４０,８ｊ）及びｄ（６４０,８（ｊ＋１））がそれぞれ存在するものと考える。
【００４０】
同様に、下端に存在するブロックＢ（ｉ,５９）（ｉ＝０〜７８）の下辺には画素が存在しない。従って、ブロックＢ（ｉ,５９）（ｉ＝０〜７８）は８×８のサイズであるが、９×８個の画素しか含んでいない。そして、ブロックＢ（ｉ,５９）（ｉ＝０〜７８）の各々の上辺にある２つの頂点の位置には頂点画素ｐ（８ｉ,４７２）及びｐ（８（ｉ＋１）,４７２）がそれぞれ存在するが下辺にある２つの頂点の位置には頂点画素が存在しない。そこで、ブロックＢ（ｉ,５９）（ｉ＝０〜７８）の各々の下辺にある２つの頂点にはダミーの頂点画素ｄ（８ｉ,４８０）及びｄ（８（ｉ＋１）,４８０）がそれぞれ存在するものと考える。
【００４１】
さらに、ブロックＢ（７９,５９）は８×８のサイズであるが、８×８個の画素しか含んでいない。そして、ブロックＢ（７９,５９）の左上の頂点の位置には頂点画素ｐ（６３２,４７２）が存在するが右上、左下、右下の３つの頂点の位置には頂点画素が存在しない。そこで、ブロックＢ（７９,５９）の右上、左下、右下の３つの頂点にはダミーの頂点画素ｄ（６４０,４７２）、ｄ（６３２,４８０）及びｄ（６４０,４８０）がそれぞれ存在するものと考える。
【００４２】
このように右端のブロック及び下端のブロックにダミーの頂点画素の存在を仮定することにより、画像データ生成処理部３００による計算処理を右端のブロック及び下端のブロックにおいても他のブロックと同様に行うことができる。
【００４３】
図２において、行方向に隣接する２つのブロックは一辺に存在する画素を共有する。例えば、行方向に隣接するブロックＢ（０,０）とブロックＢ（１,０）は隣接する辺に存在する９個の画素ｐ（８,ｊ）（ｊ＝０〜８）を共有する。その結果、ブロックＢ（０,０）とブロックＢ（１,０）は隣接する辺に存在する２つの頂点画素ｐ（８,０）及びｐ（８,８）を共有する。
【００４４】
また、図２において、列方向に隣接する２つのブロックは一辺に存在する画素を共有する。例えば、列方向に隣接するブロックＢ（０,０）とブロックＢ（０,１）は画素ｐ（ｉ,８）（ｉ＝０〜８）を共有する。その結果、ブロックＢ（０,０）とブロックＢ（０,１）は隣接する辺に存在する２つの頂点画素ｐ（０,８）及びｐ（８,８）を共有する。
【００４５】
以下では、各ブロックの頂点画素（ダミーの頂点画素を含む）が存在する行をブロックラインと呼ぶ。すなわち、図２に示すように、ブロックラインＢＬｊ（ｊ＝０〜５９）にはそれぞれブロックＢ（ｉ,ｊ）（ｉ＝０〜７９）の各々の上辺にある頂点の位置に存在する頂点画素ｐ（８ｉ,８ｊ）（ｉ＝０〜７９）及びダミーの頂点画素ｄ（６４０,８ｊ）が存在する。また、ブロックラインＢＬ６０にはダミーの頂点画素ｄ（８ｉ,４８０）（ｉ＝０〜８０）が存在する。
【００４６】
なお、第２の画像５２は任意のサイズの画像であってもよいし、さらに画像処理装置１０において第２の画像５２のサイズを可変に設定可能であってもよい。
【００４７】
また、第２の画像５２を分割する１つのブロックは任意のサイズのブロックであってもよく、ブロックの形状は正方形であってもよいし長方形であってもよい。例えば、２×２、４×４、２×４、４×２、４×８等のサイズのブロックであってもよい。
【００４８】
さらに、画像処理装置１０は、第２の画像５２のブロックの各々に含まれる行方向の画素数を特定する情報を設定するための第１の設定レジスタと、第２の画像のブロックの各々に含まれる列方向の画素数を特定する情報を設定するための第２の設定レジスタと、を含むようにしてもよい。この場合、画像データ生成処理部３００は、第１の設定レジスタの設定値及び第２の設定レジスタの設定値に基づいて第２の画像のブロックの行方向の画素数及び列方向の画素数を判断し、第２の画像の画素データをブロック毎に順に生成するようにしてもよい。
【００４９】
また、右端のブロックＢ（７９,ｊ）（ｊ＝０〜５８）を７×８のサイズのブロックとし、下端のブロックＢ（ｉ,５９）（ｉ＝０〜７８）のサイズを８×７のサイズのブロックとし、右下のブロックＢ（７９,５９）のサイズを７×７のサイズのブロックとすることにより、ダミーの頂点画素を考えなくてもよい。このように右端のブロック及び下端のブロックを他のブロックと異なるサイズにした場合には、画像データ生成処理部３００による右端のブロック及び下端のブロックにおける計算処理を他のブロックの計算処理と異なるようにすればよい。
【００５０】
なお、例えば、第１の画像の座標（ｘ１,ｙ１）の画素を第２の画像５２の座標（ｘ２,ｙ２）の頂点画素ｐ（ｘ２,ｙ２）として使用する場合には、第１の画像の座標（ｘ１,ｙ１）の画素が頂点画素ｐ（ｘ２,ｙ２）に対応づけられる。この場合、頂点画素ｐ（ｘ２,ｙ２）のオフセットデータは、例えば、（ｘ１−ｘ２,ｙ１−ｙ２）として与えられる。
【００５１】
図３は、ＳＤＲＡＭに記憶されたオフセットデータ（位置特定データの一例）の一例について説明するための図である。図３に示すように、ＳＤＲＡＭ２０には、ブロックラインＢＬ０上に存在する頂点画素ｐ（８ｉ,０）（ｉ＝０〜７９）及びダミーの頂点画素ｄ（６４０,０）に対応する第１の画像の画素の位置を特定するためのオフセットデータがアドレス００００００００Ｈ〜００００００５０Ｈに連続して記憶されている。また、ＳＤＲＡＭ２０には、ブロックラインＢＬ１上に存在する頂点画素ｐ（８ｉ,８）（ｉ＝０〜７９）及びダミーの頂点画素ｄ（６４０,８）に対応する第１の画像の画素の位置を特定するためのオフセットデータがアドレス００００００６０Ｈ〜００００００Ｂ０Ｈに連続して記憶されている。以下、同様にブロックラインＢＬ２〜ＢＬ５９上にそれぞれ存在する頂点画素及びダミーの頂点画素がＳＤＲＡＭ２０のそれぞれ連続するアドレスに記憶され、ブロックラインＢＬ６０上に存在するダミーの頂点画素ｄ（８ｉ,４８０）（ｉ＝０〜８０）に対応する第１の画像の画素の位置を特定するためのオフセットデータがアドレス００００１６８０Ｈ〜００００１６Ｄ０Ｈに連続して記憶されている。
【００５２】
このように、１つのブロックライン上に存在する頂点画素のオフセットデータ及びダミーの頂点画素のオフセットデータをＳＤＲＡＭ２０の連続するアドレスに記憶させておくことにより、ＳＤＲＡＭ２０のバースト読み出し機能を利用することができる。例えば、ＳＤＲＡＭ２０を１６個のオフセットデータのバースト読み出しが可能になるように設定した場合、１個目のオフセットデータを読み出すにはレイテンシーを必要とするが、２〜１６個目のオフセットデータの読み出しにはレイテンシーが不要である。従って、画像処理装置１０がＳＤＲＡＭ２０からして１ブロックライン分のオフセットデータを読み出す処理を高速化することができる。
【００５３】
図４は、メモリインターフェース部の構成例について説明するための図である。図４において図１と同じ構成には同じ番号を付しており、その説明を省略する。
【００５４】
メモリインターフェース部１００は、バスリードアドレス生成部１１０、メモリカウンタ部１２０、メモリアドレス生成部１３０、バッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）、制御部１８０を含んで構成されている。バッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）は４つの第１のバッファとして機能する。
【００５５】
バスリードアドレス生成部１１０は、ＳＤＲＡＭ２０に記憶されたオフセットデータを読み出すためのアドレス信号１１２を生成してバスインターフェース部４００に出力する。
【００５６】
メモリカウンタ部１２０は、バーストリードカウンタ、ブロックカウンタ、ラインカウンタ、ブロックラインカウンタ等のカウンタを備え、これらのカウンタ値をアドレス生成部１１０及びメモリアドレス生成部１３０に供給する。
【００５７】
メモリアドレス生成部１３０は、メモリカウンタ部１２０が供給するカウント値に基づいてＳＲＡＭ２００に対するアドレス信号１３２（ライトアドレス又はリードアドレス）を生成する処理を行う。そして、オフセットデータ４０２は、アドレス信号１３２（ライトアドレス）で指定されたＳＲＡＭ２００のアドレスに書き込まれる。
【００５８】
アドレス信号１３２（リードアドレス）で指定されたＳＲＡＭ２００のアドレスから読み出されたオフセットデータ２０２はバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）のいずれかに格納される。
【００５９】
メモリインターフェース部１００は、第２の画像の各ブロックＢ（ｉ,ｊ）（ｉ＝０〜７９、ｊ＝０〜５９）の４つの頂点に位置する頂点画素ｐ（８ｉ,８ｊ）、ｐ（８（ｉ＋１）,８ｊ）、ｐ（８ｉ,８（ｊ＋１））、ｐ（８（ｉ＋１）,８（ｊ＋１））のオフセットデータをＳＲＡＭ２００から読み出してバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）にそれぞれ格納するようにしてもよい。
【００６０】
さらに、メモリインターフェース部１００は、前回オフセットデータの読み出し対象となったブロックと列方向に隣接するブロックの頂点画素のオフセットデータをＳＲＡＭ２００から読み出す場合には、当該２つのブロックが共有する２つの頂点画素のオフセットデータが上書きされないように、他の２つの頂点画素のオフセットデータをＳＲＡＭ２００から読み出してバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）のいずれか２つバッファにそれぞれ格納するようにしてもよい。例えば、メモリインターフェース部１００は、ブロックＢ（０,０）の４つの頂点画素ｐ（０,０）、ｐ（８,０）、ｐ（０,８）、ｐ（８,８）の各オフセットデータがＳＲＡＭ２００から読み出されてそれぞれバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）に格納されている状態でブロックＢ（０,０）と列方向に隣接するブロックＢ（１,０）の４つの頂点画素ｐ（８,０）、ｐ（１６,０）、ｐ（８,８）、ｐ（１６,８）のオフセットデータをＳＲＡＭ２００から読み出す場合には、２つのブロックＢ（０,０）及びＢ（１,０）が共有する２つの頂点画素ｐ（８,０）及びｐ（８,８）の各オフセットデータが上書きされないように、他の２つの頂点画素ｐ（１６,０）及びｐ（１６,８）のオフセットデータをＳＲＡＭ２００から読み出してバッファ１−１（１４０）及びバッファ１−３（１６０）にそれぞれ格納するようにしてもよい。また、メモリインターフェース部１００は、バッファ１−２（１５０）及びバッファ１−４（１７０）にそれぞれ格納された２つの頂点画素ｐ（８,０）及びｐ（８,８）の各オフセットデータをバッファ１−１（１４０）及びバッファ１−３（１６０）に転送した後に、他の２つの頂点画素ｐ（１６,０）及びｐ（１６,８）のオフセットデータをＳＲＡＭ２００から読み出してバッファ１−２（１５０）及びバッファ１−４（１７０）にそれぞれ格納するようにしてもよい。
【００６１】
制御部１８０は、バスインターフェース部４００に対してＳＤＲＡＭ２０に記憶されたオフセットデータの読み出しを要求するリクエスト信号を送信し、バスインターフェース部４００からのアクノリッジ信号を受信してバスリードアドレス生成部１１０の動作タイミング及びメモリカウンタ部１２０の動作タイミングを制御する。また、制御部１８０は、画像データ生成処理部３００によるＳＲＡＭ２００に記憶されたオフセットデータの読み出しを要求するリクエスト信号を受けて、画像データ生成処理部３００に対してアクノリッジ信号を送信するとともにメモリカウンタ部１２０の動作タイミングを制御する。
【００６２】
図５は、画像データ生成処理部の構成例について説明するための図である。図５において図１と同じ構成には同じ番号を付しており、その説明を省略する。
【００６３】
画像データ生成処理部３００は、オフセットデータリードインターフェース部３１０、座標計算処理部３２０、画像データリードインターフェース部３３０、ＦＩＦＯ３４０を含んで構成されている。
【００６４】
オフセットデータリードインターフェース部３１０は、制御部３５０、Ｈカウンタ（ピクセルカウンタ）３５２、Ｖカウンタ（ラインカウンタ）３５４、バッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）を含んで構成されている。バッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）は第２のバッファとして機能する。
【００６５】
制御部３５０は、メモリインターフェース部１００に対して、ＳＲＡＭ２００に記憶されたオフセットデータの読み出しを要求するリクエスト信号を送信する。また、制御部３５０は、座標計算処理部３２０に対して、各ブロックについて後述する座標計算処理の開始を指示する。
【００６６】
Ｈカウンタ３５２及びＶカウンタ３５４は、画素データの生成対象の画素の座標を特定する。すなわち、Ｈカウンタ３５２は第２の画像の各行に含まれる画素数をカウントするピクセルカウンタとして機能し、Ｖカウンタ３５４は第２の画像の行数をカウントするラインカウンタとして機能する。
【００６７】
制御部３５０が、メモリインターフェース部１００からリクエスト信号に対するアクノリッジ信号を受信すると、メモリインターフェース部１００のバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）に格納されているオフセットデータ１４２、１５２、１６２、１７２がバッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）にそれぞれ取り込まれる。ここで、メモリインターフェース部１００は、バッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）にオフセットデータが取り込まれた直後に、次の計算対象のブロックの４つの頂点画素のオフセットデータをバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）にそれぞれ格納するようにしてもよい。
【００６８】
座標計算処理部３２０は、制御部３５０から各ブロックについて座標計算処理の開始指示を受けると、バッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）に格納されているオフセットデータからそのブロックに含まれる画素に対応する第１の画像の座標データ３２２を計算する処理を行う。
【００６９】
例えば、図６に示すようなＭ×ＮのサイズのブロックＢ（ｉ,ｊ）の４つの頂点Ａ、Ｂ、Ｃ、Ｄに位置する頂点画素ｐ（Ｍｉ,Ｎｊ）、ｐ（Ｍ（ｉ＋１）,Ｎｊ）、ｐ（Ｍｉ,Ｎ（ｊ＋１））、ｐ（Ｍ（ｉ＋１）,Ｎ（ｊ＋１））のオフセットデータをそれぞれ（Ｘａ,Ｙａ）、（Ｘｂ,Ｙｂ）、（Ｘｃ,Ｙｃ）、（Ｘｄ,Ｙｄ）とすると、ブロックＢ（ｉ,ｊ）に含まれる各画素ｐ（Ｍｉ＋ｍ, Ｎｊ＋ｎ）（０≦ｍ＜Ｍ、０≦ｎ＜Ｎ）の列方向のオフセット値OffsetX(ｍ,ｎ)及び行方向のオフセット値OffsetY(ｍ,ｎ)は、例えば、それぞれ以下の式（１）、（２）により計算することができる。
【００７０】
【数１】
0004978528.tif 000002
ここで、オフセット値OffsetX(ｍ,ｎ)及びOffsetY(ｍ,ｎ)は小数点以下の数字を含んでいてもよい。
【００７１】
さらに、各画素ｐ（Ｍｉ＋ｍ, Ｎｊ＋ｎ）（０≦ｍ＜Ｍ、０≦ｎ＜Ｎ）に対応する第１の画像の画素のｘ座標X ’(m,n)、ｙ座標Y ’(m,n)は、例えば、それぞれ以下の式（３）、（４）により計算することができる。
【００７２】
【数２】
0004978528.tif 000003
ここで、座標値X ’(m,n)、Y ’(m,n)は、小数点以下の数字を含んでいてもよい。座標データ３２２は座標値X ’(m,n)、Y ’(m,n)を含むデータであってもよい。
【００７３】
画像データリードインターフェース部３３０は、第２の画像のｎ（ｎ≧１）個の画素データにそれぞれ対応づけられて座標計算処理部３２０が計算したｎ個の座標データに基づいて、ＳＤＲＡＭ２０から読み出す必要がある第１の画像の画素データのアドレスを順次生成する処理を行う。また、画像データリードインターフェース部３３０は、バスインターフェース部４００に対して、第１の画像の画素データを要求するリクエスト信号やアドレス信号を送信し、バスインターフェース部４００からアクノリッジ信号とともに第１の画像の画素データを受信する処理を行う。さらに、画像データリードインターフェース部３３０は、バスインターフェース部４００から受信した第１の画像の画素データに基づいて第２の画像のｎ個の画素データ３３２を生成し、ＦＩＦＯ３４０に順に出力する処理を行う。
【００７４】
ＦＩＦＯ３４０は、多段のバッファ（シフトレジスタ等）により構成され、画像データリードインターフェース部３３０が生成した画素データ３３２を多段のバッファに順に格納し、バッファに格納した画素データ３０２を、格納した順にＬＣＤコントローラ５００に一定のタイミング（例えば、６０ｆｐｓ（frame per second））で出力する。
【００７５】
図７は、画像データリードインターフェース部の構成例について説明するための図である。図７において図５と同じ構成には同じ番号を付しており、その説明を省略する。
【００７６】
画像データリードインターフェース部３３０は、例えば、ＦＩＦＯ３７０、判定処理部３７２、アドレス生成部３７４、アドレスキャッシュ３７６、アドレスバッファ０（３７８）、アドレスバッファ１（３８０）、ステータスバッファ０（３８２）、ステータスバッファ１（３８４）、ステータスバッファ２（３８６）、制御部３８８、データバッファ０（３９０）、データバッファ１（３９２）、データキャッシュ３９４、補正計算処理部３９６を含んで構成されている。
【００７７】
ＦＩＦＯ３７０は、ｎ段のバッファ（シフトレジスタ等）により構成され、座標計算処理部３２０が生成したｎ個の座標データ３２２をｎ段のバッファに順に格納し、バッファに格納したｎ個の座標データを格納した順に判定処理部３７２に出力する。
【００７８】
判定処理部３７２は、ｎ個の座標データの各々に基づいて、第２の画像のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す第１の画像の画素データの数を判定する。例えば、座標データが第１の画像の表示エリアの外部の座標を示す場合は対応する第１の画像の画素データが存在しないので、ＳＤＲＡＭ２０から画素データを読み出す必要がない。また、例えば、補正計算処理部３９６がニアレストネイバー方式の補正計算を行って第２の画像の画素データを生成する場合には、座標データにより特定される座標に最も近い第１の画像の画素のデータのみを読み出せばよい。また、例えば、補正計算処理部３９６がバイリニア方式の補正計算を行って第２の画像の画素データを生成する場合には、座標データにより特定される座標が示す点を囲む第１の画像の４つの画素のデータを読み出せばよい。また、例えば、補正計算処理部３９６がバイリニア方式の補正計算を行って第２の画像の画素データを生成する場合において、座標データにより特定される座標が第１の画像の行方向又は列方向に隣り合う２つの画素を結ぶ直線上の点を示す場合にはその２つの画素のデータのみを読み出し、座標データにより特定される座標に第１の画像の画素が存在する場合にはその画素に対応するデータのみを読み出せばよい。
【００７９】
そして、判定処理部３７２は、ｎ個の座標データの各々に対して少なくとも１つの第１の画像の画素データを読み出す必要があると判定した場合は、アドレス生成部３７４に対して、各座標データからＳＤＲＡＭ２０のリードアドレスを生成するように指示する処理を行う。
【００８０】
アドレス生成部３７４は、生成したアドレスをアドレスバッファ０（３７８）又はアドレスバッファ１（３８０）に格納する。また、アドレス生成部３７４は、生成したアドレスがアドレスキャッシュ３７６に存在しない場合には、生成したアドレスをアドレスキャッシュ３７６に書き込む処理を行ってもよい。
【００８１】
また、判定処理部３７２は、ＳＤＲＡＭ２０から読み出すべき画素データがアドレスキャッシュ３７６に存在するか否かを判定する。判定処理部３７２は、ＳＤＲＡＭ２０から読み出すべき画素データがアドレスキャッシュ３７６に存在する場合にもＳＤＲＡＭ２０から画素データを読み出す必要がないと判定する。
【００８２】
従って、例えば、補正計算処理部３９６がバイリニア補正計算を行って第２の画像の画素データを生成する場合には、１つの座標データに対してＳＤＲＡＭ２０から読み出す画素データの数は０〜４のすべての場合が起こりうる。すなわち、例えば、４個の座標データに基づいて第２の画像の４個の画素データを生成する場合には（ｎ＝４のケース）、ＳＤＲＡＭ２０から読み出す画素データの数は０〜１６のいずれかになる。
【００８３】
さらに、判定処理部３７２は、判定結果をステータスバッファ０（３８２）、ステータスバッファ１（３８４）、ステータスバッファ２（３８６）のいずれかに格納する。
【００８４】
制御部３８８は、ステータスバッファ０（３８２）、ステータスバッファ１（３８４）、ステータスバッファ２（３８６）に格納された判定結果に基づいて、バスインターフェース部４００に第１の画像の画素データを要求するリクエスト信号３８９を送信し、バスインターフェース部４００からプリアクノリッジ信号４０４（第１のアクノリッジ信号）及びアクノリッジ信号４０６（第２のアクノリッジ信号）を受信する処理を行う。アドレス生成部３７４は、制御部３８８が受信したプリアクノリッジ信号４０４（第１のアクノリッジ信号）に基づいて、ＳＤＲＡＭ２０から第１の画像の次の画素データを読み出すためのアドレスを生成するようにしてもよい。
【００８５】
バスインターフェース部４００は、画像データ生成処理部３３０（制御部３８８）からリクエスト信号３８９を受信すると画像データ生成処理部３３０（制御部３８８）にプリアクノリッジ信号４０４（第１のアクノリッジ信号）を送信し、プリアクノリッジ信号４０４（第１のアクノリッジ信号）の送信後も画像データ生成処理部３３０（制御部３８８）がリクエスト信号３８９を送信し続ける場合には、バス４０にバースト信号１８を送信してバス占有権を設定する処理を行う。画像データ生成処理部３３０（制御部３８８）は、第２の画像のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す第１の画像の画素データの数に等しい数のプリアクノリッジ信号４０４（第１のアクノリッジ信号）を受信するまでリクエスト信号３８９を送信し続けるようにしてもよい。
【００８６】
また、バスインターフェース部４００は、画像データ生成処理部３３０（制御部３８８）からリクエスト信号３８９を受信するとバス４０を介してＳＤＲＡＭ２０に第１の画像の画素データを要求するリクエスト信号１６を送信し、バス４０を介してＳＤＲＡＭ２０から受信したアクノリッジ信号４２に基づいてアクノリッジ信号４０６（第２のアクノリッジ信号）を生成して画像データ生成処理部３３０（制御部３８８）に送信する処理を行う。
【００８７】
また、バスインターフェース部４００は、アクノリッジ信号４２とともにバス４０を介してＳＤＲＡＭ２０から受信した第１の画像の画素データ４４を画像データ生成処理部３３０に送信する。画像データ生成処理部３３０は、アクノリッジ信号４０６（第２のアクノリッジ信号）に基づいて第１の画像の画素データ４０８を受信し、画素データ４０８をデータバッファ０（３９０）又はデータバッファ１（３９２）に格納する。
【００８８】
補正計算処理部３９６は、データバッファ０（３９０）又はデータバッファ１（３９２）に格納された第１の画像の画素データ又はデータキャッシュ３９４に格納された第１の画像の画素データに基づいて所定の補正計算を行って第２の画像のｎ個の画素データを順に生成し、生成したｎ個の画素データ３３２をＦＩＦＯ３４０に順に送信する処理を行う。ここで、アドレス生成部３７４が生成したアドレスがアドレスキャッシュ３７６に存在する場合には、データキャッシュ３９４に格納された第１の画像の画素データが使用される。アドレス生成部３７４が生成したアドレスがアドレスキャッシュ３７６に存在しない場合には、データバッファ０（３９０）又はデータバッファ１（３９２）に格納された第１の画像の画素データが使用されるとともにデータキャッシュ３９４に書き込まれる。
【００８９】
なお、補正計算処理部３９６が行う補正計算は、例えば、座標データ３２２によって示される第１の画像の点に最も近い１つの画素、２つの画素又は４つの画素をそれぞれ選択するニアレストネイバー方式、リニアー方式、バイリニアー方式等の任意の方式であってもよい。
【００９０】
図８は、画像データリードインターフェース部とバスインターフェース部の間における信号の送受信のタイミングについて説明するためのタイミングチャート図である。以下、図７を参照しながら図８について説明する。
【００９１】
まず、画像データリードインターフェース部３３０は、時刻Ｔ０において、バスインターフェース部４００に対して第２の画像のｎ個の画素データを生成するために必要な第１の画像のｍ個の画素データのうちの１つ目の画素データを要求するリクエスト信号３８９（例えばＨレベルの信号）及び１つ目の画素データが記憶されているＳＤＲＡＭ２０のアドレスＡ０を示すアドレス信号３７９を送信する。
【００９２】
バスインターフェース部４００は、リクエスト信号３８９を受信し、時刻Ｔ１〜Ｔ２において、画像データリードインターフェース部３３０に対して１つ目のプリアクノリッジ信号４０４（例えばＨレベルの信号）を送信する。また、バスインターフェース部４００は、アドレスＡ０を示すアドレス信号３７９を受信し、内部のバッファ（図示しない）に格納する。
【００９３】
画像データリードインターフェース部３３０は、１つ目のプリアクノリッジ信号４０４を受信し、時刻Ｔ２において、バスインターフェース部４００に対して２つ目の画素データを要求するリクエスト信号３８９及び２つ目の画素データが記憶されているＳＤＲＡＭ２０のアドレスＡ１を示すアドレス信号３７９を送信する。
【００９４】
バスインターフェース部４００は、時刻Ｔ３において、バス４０を介してＳＤＲＡＭ２０に対して１つ目の画素データを要求するリクエスト信号１６（例えばＨレベルの信号）及び１つ目の画素データが記憶されているＳＤＲＡＭ２０のアドレスＡ０を示すアドレス信号１４を送信する。さらに、バスインターフェース部４００は、時刻Ｔ３において、２つ目の画素データを要求するリクエスト信号３８９を受信し、バス４０にバースト信号１８（例えばＨレベルの信号）を送信してバス占有権を設定する。
【００９５】
ＳＤＲＡＭ２０は、アドレスＡ０に記憶されている１つ目の画素データＤ０を読み出し、時刻Ｔ４〜Ｔ５において、バス４０を介してバスインターフェース部４００に対して１つ目のアクノリッジ信号４２（例えばＨレベルの信号）及び１つ目の画素データＤ０を送信する。
【００９６】
バスインターフェース部４００は、１つ目のアクノリッジ信号４２及び１つ目の画素データＤ０を受信し、時刻Ｔ４〜Ｔ５において、画像データリードインターフェース部３３０に対して２つ目のプリアクノリッジ信号４０４及び１つ目のアクノリッジ信号４０６（例えばＨレベルの信号）を送信する。また、バスインターフェース部４００は、時刻Ｔ４において、画像データリードインターフェース部３３０に対して１つ目の画素データＤ０を送信する。
【００９７】
画像データリードインターフェース部３３０は、２つ目のプリアクノリッジ信号４０４を受信し、時刻Ｔ５において、バスインターフェース部４００に対して３つ目の画素データを要求するリクエスト信号３８９及び３つ目の画素データが記憶されているＳＤＲＡＭ２０のアドレスＡ２を示すアドレス信号３７９を送信する。
【００９８】
バスインターフェース部４００は、時刻Ｔ５において、バス４０を介してＳＤＲＡＭ２０に対して２つ目の画素データを要求するリクエスト信号１６及び２つ目の画素データが記憶されているＳＤＲＡＭ２０のアドレスＡ１を示すアドレス信号１４を送信する。
【００９９】
ＳＤＲＡＭ２０は、アドレスＡ１に記憶されている２つ目の画素データＤ１を読み出し、時刻Ｔ６〜Ｔ７において、バス４０を介してバスインターフェース部４００に対して２つ目のアクノリッジ信号４２及び２つ目の画素データＤ１を送信する。
【０１００】
バスインターフェース部４００は、２つ目のアクノリッジ信号４２及び２つ目の画素データＤ１を受信し、時刻Ｔ６〜Ｔ７において、画像データリードインターフェース部３３０に対して３つ目のプリアクノリッジ信号４０４及び２つ目のアクノリッジ信号４０６を送信する。また、バスインターフェース部４００は、時刻Ｔ６において、画像データリードインターフェース部３３０に対して２つ目の画素データＤ１を送信する。
【０１０１】
以下同様の処理を繰り返し、ＳＤＲＡＭ２０は、時刻Ｔ８〜Ｔ９において、バス４０を介してバスインターフェース部４００に対してｍ−１個目のアクノリッジ信号４２及びｍ−１個目の画素データＤｍ−２を送信する。
【０１０２】
バスインターフェース部４００は、ｍ−１個目のアクノリッジ信号４２及びｍ−１個目の画素データＤｍ−２を受信し、時刻Ｔ８〜Ｔ９において、画像データリードインターフェース部３３０に対してｍ個目のプリアクノリッジ信号４０４及びｍ−１個目のアクノリッジ信号４０６を送信する。また、バスインターフェース部４００は、時刻Ｔ８において、画像データリードインターフェース部３３０に対してｍ−１個目の画素データＤｍ−２を送信する。
【０１０３】
画像データリードインターフェース部３３０は、ｍ個目のプリアクノリッジ信号４０４を受信し、時刻Ｔ９において、バスインターフェース部４００に対してリクエスト信号３８９の送信を停止する。バスインターフェース部４００は、時刻Ｔ９において、バス４０に対してバースト信号１８の送信を停止してバス占有権の設定を解除する。
【０１０４】
バスインターフェース部４００は、時刻Ｔ９において、バス４０を介してＳＤＲＡＭ２０に対してｍ個目の画素データを要求するリクエスト信号１６及びｍ個目の画素データが記憶されているＳＤＲＡＭ２０のアドレスＡｍ−１を示すアドレス信号１４を送信する。
【０１０５】
ＳＤＲＡＭ２０は、アドレスＡｍ−１に記憶されているｍ個目の画素データＤｍ−１を読み出し、時刻Ｔ１０〜Ｔ１１において、バス４０を介してバスインターフェース部４００に対してｍ個目のアクノリッジ信号４２及びｍ個目の画素データＤｍ−１を送信する。
【０１０６】
バスインターフェース部４００は、ｍ個目のアクノリッジ信号４２及びｍ個目の画素データＤｍ−１を受信し、時刻Ｔ１０〜Ｔ１１において、画像データリードインターフェース部３３０に対してｍ個目のアクノリッジ信号４０６を送信する。また、バスインターフェース部４００は、時刻Ｔ１０において、画像データリードインターフェース部３３０に対してｍ個目の画素データＤｍ−１を送信する。
【０１０７】
このように、本実施形態の画像処理装置によれば、第２の画像のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像のｍ個の画素データをすべて読み出すまでバス４０を占有することができる。従って、第２の画像のｎ個の画素データを生成する処理を途中で停止することなく行うことができる。
【０１０８】
また、本実施形態の画像処理装置によれば、第２の画像のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像のｍ個の画素データをすべて読み出すとすぐにバス４０を解放することができる。従って、バス４０に接続された他のデバイスの動作を必要以上に停止させないようにすることができる。
【０１０９】
図９は、画像データリードインターフェース部におけるステータスバッファ、アドレスバッファ、データバッファに対するアクセスタイミングについて説明するためのタイミングチャート図である。以下、図７を参照しながら図９について説明する。
【０１１０】
まず、時刻Ｔ０〜Ｔ１の期間において、画像データリードインターフェース部３３０は、第２の画像の１番目のｎ個の画素データ（例えばｎ＝４の場合、図２のｐ（０,０）〜ｐ（３,０））の各々に対応する第１の画像の画素の座標データに基づいて判定処理部３７０が判定したｎ個の判定結果をステータスバッファ０（３８２）に書き込む。また、時刻Ｔ０〜Ｔ１の期間において、画像データリードインターフェース部３３０は、１番目のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像の画素データの各アドレスをアドレスバッファ０（３７８）に書き込む。時刻Ｔ０〜Ｔ１の期間は１番目のｎ個の画素データの生成処理の第１ステージに対応する。
【０１１１】
次に、時刻Ｔ１〜Ｔ２の期間において、画像データリードインターフェース部３３０は、アドレスバッファ０（３７８）に格納されたアドレスを順に読み出してバスインターフェース部４００に送信する。また、時刻Ｔ１〜Ｔ２の期間において、画像データリードインターフェース部３３０は、アドレスバッファ０（３７８）に格納された各アドレスに対応してバスインターフェース部４００から受信した第１の画像の各画素データをデータバッファ０（３９０）に書き込む。時刻Ｔ１〜Ｔ２の期間は１番目のｎ個の画素データの生成処理の第２ステージに対応する。
【０１１２】
また、時刻Ｔ１〜Ｔ２の期間において、画像データリードインターフェース部３３０は、第２の画像の２番目のｎ個の画素データ（例えばｎ＝４の場合、図２のｐ（４,０）〜ｐ（７,０））の各々に対する第１の画像の画素の座標データに基づいて判定処理部３７０が判定したｎ個の判定結果をステータスバッファ１（３８４）に書き込む。また、時刻Ｔ１〜Ｔ２の期間において、画像データリードインターフェース部３３０は、２番目のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像の画素データの各アドレスをアドレスバッファ１（３８０）に書き込む。時刻Ｔ１〜Ｔ２の期間は２番目のｎ個の画素データの生成処理の第１ステージにも対応する。
【０１１３】
次に、時刻Ｔ２〜Ｔ３の期間において、画像データリードインターフェース部３３０は、ステータスバッファ０（３８２）に格納されたｎ個の判定結果及びデータバッファ０（３９０）に格納された第１の画像の画素データを読み出して補正計算を行い１番目のｎ個の画素データを生成する。時刻Ｔ２〜Ｔ３の期間は１番目のｎ個の画素データの生成処理の第３ステージに対応する。
【０１１４】
また、時刻Ｔ２〜Ｔ３の期間において、画像データリードインターフェース部３３０は、アドレスバッファ１（３８０）に格納されたアドレスを順に読み出してバスインターフェース部４００に送信する。また、時刻Ｔ２〜Ｔ３の期間において、画像データリードインターフェース部３３０は、アドレスバッファ１（３８０）に格納された各アドレスに対応してバスインターフェース部４００から受信した第１の画像の各画素データをデータバッファ１（３９２）に書き込む。時刻Ｔ２〜Ｔ３の期間は２番目のｎ個の画素データの生成処理の第２ステージにも対応する。
【０１１５】
さらに、時刻Ｔ２〜Ｔ３の期間において、画像データリードインターフェース部３３０は、第２の画像の３番目のｎ個の画素データ（例えばｎ＝４の場合、図２のｐ（０,１）〜ｐ（３,１））の各々に対する第１の画像の画素の座標データに基づいて判定処理部３７０が判定したｎ個の判定結果をステータスバッファ２（３８６）に書き込む。また、時刻Ｔ２〜Ｔ３の期間において、画像データリードインターフェース部３３０は、３番目のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像の画素データの各アドレスをアドレスバッファ０（３７８）に書き込む。時刻Ｔ２〜Ｔ３の期間は３番目のｎ個の画素データの生成処理の第１ステージにも対応する。
【０１１６】
次に、時刻Ｔ３〜Ｔ４の期間において、画像データリードインターフェース部３３０は、ステータスバッファ１（３８０）に格納されたｎ個の判定結果及びデータバッファ１（３９２）に格納された第１の画像の画素データを読み出して補正計算を行い２番目のｎ個の画素データを生成する。時刻Ｔ３〜Ｔ４の期間は２番目のｎ個の画素データの生成処理の第３ステージに対応する。
【０１１７】
また、時刻Ｔ３〜Ｔ４の期間において、画像データリードインターフェース部３３０は、アドレスバッファ０（３７８）に格納されたアドレスを順に読み出してバスインターフェース部４００に送信する。また、時刻Ｔ３〜Ｔ４の期間において、画像データリードインターフェース部３３０は、アドレスバッファ０（３７８）に格納された各アドレスに対応してバスインターフェース部４００から受信した第１の画像の各画素データをデータバッファ０（３９０）に書き込む。時刻Ｔ３〜Ｔ４の期間は３番目のｎ個の画素データの生成処理の第２ステージにも対応する。
【０１１８】
さらに、時刻Ｔ３〜Ｔ４の期間において、画像データリードインターフェース部３３０は、第２の画像の４番目のｎ個の画素データ（例えばｎ＝４の場合、図２のｐ（４,１）〜ｐ（７,１））の各々に対する第１の画像の画素の座標データに基づいて判定処理部３７０が判定したｎ個の判定結果をステータスバッファ０（３８２）に書き込む。また、時刻Ｔ３〜Ｔ４の期間において、画像データリードインターフェース部３３０は、４番目のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像の画素データの各アドレスをアドレスバッファ１（３８０）に書き込む。時刻Ｔ３〜Ｔ４の期間は４番目のｎ個の画素データの生成処理の第１ステージにも対応する。
【０１１９】
次に、時刻Ｔ４〜Ｔ５の期間において、画像データリードインターフェース部３３０は、ステータスバッファ２（３８２）に格納されたｎ個の判定結果及びデータバッファ０（３９０）に格納された第１の画像の画素データを読み出して補正計算を行い３番目のｎ個の画素データを生成する。時刻Ｔ４〜Ｔ５の期間は３番目のｎ個の画素データの生成処理の第３ステージに対応する。
【０１２０】
また、時刻Ｔ４〜Ｔ５の期間において、画像データリードインターフェース部３３０は、アドレスバッファ１（３８０）に格納されたアドレスを順に読み出してバスインターフェース部４００に送信する。また、時刻Ｔ４〜Ｔ５の期間において、画像データリードインターフェース部３３０は、アドレスバッファ１（３８０）に格納された各アドレスに対応してバスインターフェース部４００から受信した第１の画像の各画素データをデータバッファ１（３９２）に書き込む。時刻Ｔ４〜Ｔ５の期間は４番目のｎ個の画素データの生成処理の第２ステージにも対応する。
【０１２１】
さらに、時刻Ｔ４〜Ｔ５の期間において、画像データリードインターフェース部３３０は、第２の画像の５番目のｎ個の画素データ（例えばｎ＝４の場合、図２のｐ（０,２）〜ｐ（３,２））の各々に対する第１の画像の画素の座標データに基づいて判定処理部３７０が判定したｎ個の判定結果をステータスバッファ１（３８４）に書き込む。また、時刻Ｔ４〜Ｔ５の期間において、画像データリードインターフェース部３３０は、５番目のｎ個の画素データを生成するためにＳＤＲＡＭ２０から読み出す必要がある第１の画像の画素データの各アドレスをアドレスバッファ０（３７８）に書き込む。時刻Ｔ４〜Ｔ５の期間は５番目のｎ個の画素データの生成処理の第１ステージにも対応する。
【０１２２】
以下、同等の処理を繰り返して、画像データリードインターフェース部３３０は、第２の画像のすべての画素データを生成する。
【０１２３】
以上説明したように、アドレスバッファへの書き込み処理は第１ステージで行われ、アドレスバッファからの読み出し処理は第２ステージで行われる。そこで、画像データリードインターフェース部３３０は、画像データの生成処理を停止させないためにアドレスバッファを２つ備えている。同様に、データバッファへの書き込み処理は第２ステージで行われ、データバッファからの読み出し処理は第３ステージで行われる。そこで、画像データリードインターフェース部３３０は、画像データの生成処理を停止させないためにデータバッファを２つ備えている。一方、ステータスバッファへの書き込み処理は第１ステージで行われ、ステータスバッファからの読み出し処理は第３ステージで行われる。そこで、画像データリードインターフェース部３３０は、画像データの生成処理を停止させないためにステータスバッファを３つ備えている。
【０１２４】
このように、本実施形態の画像処理装置によれば、ｎ個の画素データの生成処理を３つのステージに分けて、３セットのｎ個の画素データの生成処理を１ステージずつずらしながら同時に行うことにより画像処理をより高速化することができる。
【０１２５】
図１０は、画像処理装置が図２に示すＶＧＡの１画面分の第２の画像の画素データを生成する処理の手順を示すフローチャートの一例である。図１０のフローチャートにおいて、ＳＲＡＭ２００は、図１１に示すように、例えば、９ビットのアドレス空間を有するメモリであり、オフセットデータの記憶領域が、書き込みアドレスの最上位ビットが０の領域（オフセットデータ記憶領域０）と最上位ビットが１の領域（オフセットデータ記憶領域１）に分けられているものとする。
【０１２６】
まず、画像処理装置１０は、ｋ＝０、メモリ領域選択フラグ＝０に初期化する（ステップＳ１０）。具体的には、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックラインカウンタを０に初期化する。また、メモリインターフェース部１００は、例えば、メモリアドレス生成部１３０に１ビットのメモリ領域選択フラグレジスタを持っており、その値を０に初期化する。
【０１２７】
次に、画像処理装置１０は、ＳＤＲＡＭ２０からブロックラインＢＬ０上の頂点画素ｐ（０,０）,ｐ（８,０）,ｐ（１６,０）,・・・,ｐ（６２４,０）,ｐ（６３２,０）の各オフセットデータ及びダミーの頂点画素ｄ（６４０,０）のオフセットデータを読み出し、ＳＲＡＭ２００のオフセットデータ記憶領域０のアドレス０００Ｈ〜０５０Ｈに書き込む（ステップＳ１２）。具体的には、メモリインターフェース部１００は、バスリードアドレス生成部１１０及び制御部１８０により、ブロックラインＢＬ０上のオフセットデータ４０２を例えば１６個ずつＳＤＲＡＭ２０からバースト読み出しし、メモリカウンタ部１２０のブロックカウンタを０〜７９までカウントアップしながら、メモリアドレス生成部１３０がアドレス０００Ｈ〜０５０Ｈのアドレス信号１３２を順に生成してＳＲＡＭ２００のオフセットデータ記憶領域０にオフセットデータを書き込む。
【０１２８】
次に、画像処理装置１０は、ｋを１だけインクリメントし、メモリ領域選択フラグを反転する（ステップＳ１４）。具体的には、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックラインカウンタを１だけインクリメントする。また、メモリインターフェース部１００はメモリ領域選択フラグレジスタの値を０から１に反転する。
【０１２９】
次に、画像処理装置１０は、ＳＤＲＡＭ２０からブロックラインＢＬ１上の頂点画素ｐ（０,８）,ｐ（８,８）,ｐ（１６,８）,・・・,ｐ（６２４,８）,ｐ（６３２,８）の各オフセットデータ及びダミーの頂点画素ｄ（６４０,８）のオフセットデータを読み出し、ＳＲＡＭ２００のオフセットデータ記憶領域１のアドレス１００Ｈ〜１５０Ｈに書き込む（ステップＳ１６）。具体的には、メモリインターフェース部１００は、バスリードアドレス生成部１１０及び制御部１８０により、ブロックラインＢＬ１上のオフセットデータ４０２を例えば１６個ずつＳＤＲＡＭ２０からバースト読み出しし、メモリカウンタ部１２０のブロックカウンタを０〜７９までカウントアップしながら、メモリアドレス生成部１３０がアドレス０００Ｈ〜１５０Ｈのアドレス信号１３２を順に生成してＳＲＡＭ２００のオフセットデータ記憶領域１にオフセットデータを書き込む。
【０１３０】
次に、画像処理装置１０は、ＳＲＡＭ２００のオフセットデータ記憶領域０及びオフセットデータ記憶領域１からオフセットデータを読み出し、ブロックＢ（０,０）,Ｂ（１,０）,Ｂ（２,０）,・・・,Ｂ（７８,０）,Ｂ（７９,０）に含まれる画素データを生成する（ステップＳ１８）。具体的には、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックカウンタを０に初期化し、バスリードアドレス生成部１１０が生成したアドレス信１３２に基づいて、ＳＲＡＭ２００のオフセットデータ記憶領域０にあるアドレス０００Ｈに記憶された画素ｐ（０,０）のオフセットデータを読み出してバッファ１−１（１４０）に格納する。また、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックカウンタをインクリメントし、バスリードアドレス生成部１１０が生成したアドレス信１３２に基づいて、ＳＲＡＭ２００のオフセットデータ記憶領域０にあるアドレス００１Ｈに記憶された画素ｐ（８,０）のオフセットデータを読み出してバッファ１−２（１５０）に格納する。また、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックカウンタを０に初期化し、バスリードアドレス生成部１１０が生成したアドレス信１３２に基づいて、ＳＲＡＭ２００のオフセットデータ記憶領域１にあるアドレス１００Ｈに記憶された画素ｐ（０,８）のオフセットデータを読み出してバッファ１−３（１６０）に格納する。さらに、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックカウンタをインクリメントし、バスリードアドレス生成部１１０が生成したアドレス信１３２に基づいて、ＳＲＡＭ２００のオフセットデータ記憶領域１にあるアドレス１０１Ｈに記憶された画素ｐ（８,８）のオフセットデータを読み出してバッファ１−４（１７０）に格納する。すなわち、メモリインターフェース部１００は、ブロックＢ（０，０）の４つの頂点画素ｐ（０,０）、ｐ（０,８）、ｐ（８,０）、ｐ（８,８）のオフセットデータをバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）にそれぞれ格納する。画像データ生成処理部３００は、バッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）にそれぞれ格納されたオフセットデータ１４２、１５２、１６２、１７２を、それぞれバッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）に取り込み、Ｈカウンタ３５２及びＶカウンタ３５４を操作しながらブロックＢ（０，０）に含まれる画素データをｎ個ずつ生成する処理を行う。
【０１３１】
続いてメモリインターフェース部１００は、バッファ１−２（１５０）及びバッファ１−４（１７０）にそれぞれ格納された画素ｐ（８,０）のオフセットデータ及び画素ｐ（８,８）のオフセットデータをそれぞれバッファ１−１（１４０）及びバッファ１−３（１６０）に転送して格納する。また、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックカウンタをインクリメントし、バスリードアドレス生成部１１０が生成したアドレス信１３２に基づいて、ＳＲＡＭ２００のオフセットデータ記憶領域０にあるアドレス００２Ｈに記憶された画素ｐ（１６,０）のオフセットデータを読み出してバッファ１−２（１５０）に格納する。さらに、メモリインターフェース部１００は、バスリードアドレス生成部１１０が生成したアドレス信１３２に基づいて、ＳＲＡＭ２００のオフセットデータ記憶領域１にあるアドレス１０２Ｈに記憶された画素ｐ（１６,８）のオフセットデータを読み出してバッファ１−４（１７０）に格納する。すなわち、メモリインターフェース部１００は、ブロックＢ（１，０）の４つの頂点画素ｐ（８,０）、ｐ（１６,０）、ｐ（８,８）、ｐ（１６,８）のオフセットデータをバッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）に格納する。画像データ生成処理部３００は、バッファ１−１（１４０）、バッファ１−２（１５０）、バッファ１−３（１６０）、バッファ１−４（１７０）にそれぞれ格納されたオフセットデータ１４２、１５２、１６２、１７２を、それぞれバッファ２−１（３５６）、バッファ２−２（３５８）、バッファ２−３（３６０）、バッファ２−４（３６２）に取り込み、Ｈカウンタ３５２及びＶカウンタ３５４を操作しながらブロックＢ（１，０）に含まれる画素データをｎ個ずつ生成する処理を行う。
【０１３２】
メモリインターフェース部１００及び画像データ生成処理部３００は以下同様の処理を繰り返し、ブロックＢ（０，０）〜ブロックＢ（７９，０）に含まれる画素データをｎ個ずつ生成する。
【０１３３】
次に、画像処理装置１０は、ｋを１だけインクリメントし、メモリ領域選択フラグを反転する（ステップＳ２０）。具体的には、メモリインターフェース部１００は、メモリカウンタ部１２０のブロックラインカウンタを１だけインクリメントする。また、メモリインターフェース部１００はメモリ領域選択フラグレジスタの値を１から０に反転する。
【０１３４】
次に、画像処理装置１０は、メモリ領域選択フラグが０又は１のいずれであるかを判断する（ステップＳ２２）。
【０１３５】
メモリ領域選択フラグ＝０の場合（ステップＳ２２でＹｅｓの場合）は、画像処理装置１０は、ＳＤＲＡＭ２０からブロックラインＢＬｋ上の頂点画素ｐ（０,８ｋ）,ｐ（８,８ｋ）,ｐ（１６,８ｋ）,・・・,ｐ（６２４,８ｋ）,ｐ（６３２,８ｋ）の各オフセットデータ及びダミーの頂点画素ｄ（６４０,８ｋ）のオフセットデータを読み出し、ＳＲＡＭ２００のオフセットデータ記憶領域０のアドレス０００Ｈ〜０５０Ｈに書き込む（ステップＳ２４）。さらに、画像処理装置１０は、ＳＲＡＭ２００のオフセットデータ記憶領域０からオフセットデータを読み出し、ブロックＢ（０,ｋ−１）,Ｂ（１,ｋ−１）,Ｂ（２,ｋ−１）,・・・,Ｂ（７８,ｋ−１）,Ｂ（７９,ｋ−１）に含まれる画素データを生成する（ステップＳ２６）。例えば、ステップＳ１８でブロックラインＢＬ０上の頂点画素ｐ（０,０）,ｐ（８,８）,ｐ（１６,０）,・・・,ｐ（６２４,０）,ｐ（６３２,０）のオフセットデータ及びダミーの頂点画素ｄ（６４０,０）のオフセットデータ、ブロックラインＢＬ１上の頂点画素ｐ（０,８）,ｐ（８,８）,ｐ（１６,８）,・・・,ｐ（６２４,８）,ｐ（６３２,８）のオフセットデータ及びダミーの頂点画素ｄ（６４０,８）のオフセットデータを用いて、ブロックＢ（０,０）,Ｂ（１,０）,Ｂ（２,０）,・・・,Ｂ（７８,０）,Ｂ（７９,０）に含まれる画素データを生成した後、ステップ２０でメモリ選択フラグが１から０に反転する。従って、ステップＳ２４の処理において、ブロックラインＢＬ２上の頂点画素ｐ（０,１６）,ｐ（８,１６）,ｐ（１６,１６）,・・・,ｐ（６２４,１６）,ｐ（６３２,１６）のオフセットデータ及びダミーの頂点画素ｄ（６４０,１６）のオフセットデータがＳＲＡＭ２００のオフセットデータ記憶領域０に書き込まれる。ここで、続くステップＳ２６において行われるブロックＢ（０,１）,Ｂ（１,１）,Ｂ（２,１）,・・・,Ｂ（７８,１）,Ｂ（７９,１）に含まれる画素データの生成処理において、ブロックラインＢＬ１上の頂点画素ｐ（０,８）,ｐ（８,８）,ｐ（１６,８）,・・・,ｐ（６２４,８）,ｐ（６３２,８）のオフセットデータ及びダミーの頂点画素ｄ（６４０,８）のオフセットデータは必要であるが、ブロックラインＢＬ０上の頂点画素ｐ（０,０）,ｐ（８,８）,ｐ（１６,０）,・・・,ｐ（６２４,０）,ｐ（６３２,０）のオフセットデータ及びダミーの頂点画素ｄ（６４０,０）のオフセットデータは不要である。そこで、ステップＳ２４において、ブロックラインＢＬ２上の頂点画素ｐ（０,１６）,ｐ（８,１６）,ｐ（１６,１６）,・・・,ｐ（６２４,１６）,ｐ（６３２,１６）のオフセットデータ及びダミーの頂点画素ｄ（６４０,１６）のオフセットデータを、ブロックラインＢＬ０上の頂点画素ｐ（０,０）,ｐ（８,８）,ｐ（１６,０）,・・・,ｐ（６２４,０）,ｐ（６３２,０）のオフセットデータ及びダミーの頂点画素ｄ（６４０,０）のオフセットデータが記憶されていたオフセットデータ記憶領域０に上書きすることができる。
【０１３６】
一方、メモリ領域選択フラグ＝１の場合（ステップＳ２２でＮｏの場合）は、画像処理装置１０は、ＳＤＲＡＭ２０からブロックラインＢＬｋ上の頂点画素ｐ（０,８ｋ）,ｐ（８,８ｋ）,ｐ（１６,８ｋ）,・・・,ｐ（６２４,８ｋ）,ｐ（６３２,８ｋ）の各オフセットデータ及びダミーの頂点画素ｄ（６４０,８ｋ）のオフセットデータを読み出し、ＳＲＡＭ２００のオフセットデータ記憶領域１のアドレス１００Ｈ〜１５０Ｈに書き込む（ステップＳ２８）。さらに、画像処理装置１０は、ＳＲＡＭ２００のオフセットデータ記憶領域１からオフセットデータを読み出し、ブロックＢ（０,ｋ−１）,Ｂ（１,ｋ−１）,Ｂ（２,ｋ−１）,・・・,Ｂ（７８,ｋ−１）,Ｂ（７９,ｋ−１）に含まれる画素データを生成する（ステップＳ３０）。例えば、ステップＳ２６でブロックラインＢＬ１上の頂点画素ｐ（０,８）,ｐ（８,８）,ｐ（１６,８）,・・・,ｐ（６２４,８）,ｐ（６３２,８）のオフセットデータ及びダミーの頂点画素ｄ（６４０,８）のオフセットデータ、ブロックラインＢＬ２上の頂点画素ｐ（０,１６）,ｐ（８,１６）,ｐ（１６,１６）,・・・,ｐ（６２４,１６）,ｐ（６３２,１６）のオフセットデータ及びダミーの頂点画素ｄ（６４０,１６）のオフセットデータを用いて、ブロックＢ（０,１）,Ｂ（１,１）,Ｂ（２,１）,・・・,Ｂ（７８,１）,Ｂ（７９,１）に含まれる画素データを生成した後、ステップ２０でメモリ選択フラグが０から１に反転する。従って、ステップＳ２８の処理において、ブロックラインＢＬ３上の頂点画素ｐ（０,２４）,ｐ（０,２４）,ｐ（１６,２４）,・・・,ｐ（６２４,２４）,ｐ（６３２,２４）のオフセットデータ及びダミーの頂点画素ｄ（６４０,２４）のオフセットデータがＳＲＡＭ２００のオフセットデータ記憶領域１に書き込まれる。ここで、続くステップＳ３０において行われるブロックＢ（０,２）,Ｂ（１,２）,Ｂ（２,２）,・・・,Ｂ（７８,２）,Ｂ（７９,２）に含まれる画素の画素データの生成処理において、ブロックラインＢＬ２上の頂点画素ｐ（０,１６）,ｐ（８,１６）,ｐ（１６,１６）,・・・,ｐ（６２４,１６）,ｐ（６３２,１６）のオフセットデータ及びダミーの頂点画素ｄ（６４０,１６）のオフセットデータは必要であるが、ブロックラインＢＬ１上の頂点画素ｐ（０,８）,ｐ（８,８）,ｐ（１６,８）,・・・,ｐ（６２４,８）,ｐ（６３２,８）のオフセットデータ及びダミーの頂点画素ｄ（６４０,８）のオフセットデータは不要である。そこで、ステップＳ２４において、ブロックラインＢＬ３上の頂点画素ｐ（０,２４）,ｐ（０,２４）,ｐ（１６,２４）,・・・,ｐ（６２４,２４）,ｐ（６３２,２４）のオフセットデータ及びダミーの頂点画素ｄ（６４０,２４）のオフセットデータを、ブロックラインＢＬ１上の頂点画素ｐ（０,８）,ｐ（８,８）,ｐ（１６,８）,・・・,ｐ（６２４,８）,ｐ（６３２,８）のオフセットデータ及びダミーの頂点画素ｄ（６４０,８）のオフセットデータが記憶されていたオフセットデータ記憶領域１に上書きすることができる。
【０１３７】
次に、画像処理装置１０は、ｋ＝６０（ブロックライン数）か否かを判断する（ステップＳ３２）。ｋ≠６０の場合（ステップＳ３２でＮｏの場合）は、画像処理装置１０はステップＳ２０〜Ｓ３０の処理を繰り返し、ｋ＝６０の場合（ステップＳ３２でＹｅｓの場合）は、すべてのブロックラインに対する処理が終了したので、画像処理装置１０は１画面分の画素データの生成を終了する。
【０１３８】
以上、図１〜図１３で説明したように、本実施形態の画像処理装置によれば、オフセットデータはバースト読み出しが可能なＳＤＲＡＭ２０に格納され、メモリインターフェース部１００は、ＳＤＲＡＭ２０からオフセットデータを所定個ずつバースト読み出しして少なくとも２行分のオフセットデータを内部のＳＲＡＭ２００に格納する。すなわち、１画面分の第２の画像を生成するために必要なすべてのオフセットデータはＳＤＲＡＭ２０に記憶されているので、ＳＲＡＭ２００に記憶しておく必要がない。従って、ＳＲＡＭ２００は、少なくとも２行分のオフセットデータを記憶することができればよくそのサイズを大幅に削減することができるので、画像処理装置１０を比較的低コスト化することができる。また、オフセットデータはＳＤＲＡＭ２０から所定個ずつバースト読み出しされるので、オフセットデータの読み出しに要するレイテンシーを大幅に削減することができる。従って、画像処理装置１０の処理速度を比較的高速化することができる。
【０１３９】
また、本実施形態の画像処理装置によれば、行方向に隣接する２つのブロックは一辺に存在する画素を共有するので、共有される一辺に存在する頂点画素のオフセットデータは当該２つのブロックの画像処理演算に共用される。従って、ＳＤＲＡＭ２０に記憶されメモリインターフェース部１００によって読み出されるオフセットデータの数を削減することができる。また、ＳＲＡＭ２００が２つのオフセットデータ記憶領域を含み、メモリインターフェース部１００が今回の１行分のオフセットデータを、前回使用したオフセットデータ記憶領域と異なるオフセットデータ記憶領域に格納するので、当該２つのブロックの画像処理演算に共用されるオフセットデータを前回使用したオフセットデータ記憶領域に残しておいて今回の演算処理に使用することができる。従って、本実施形態の画像処理装置によれば、小さいサイズのＳＲＡＭ２００を有効利用して処理速度をより高速化することができる。
【０１４０】
また、本実施形態の画像処理装置によれば、列方向に隣接する２つのブロックは一辺に存在する画素を共有するので、共有される一辺に存在する頂点画素のオフセットデータは当該２つのブロックの画像処理演算に共用される。従って、ＳＤＲＡＭ２０に記憶されメモリインターフェース部１００によって読み出されるオフセットデータの数を削減することができる。また、当該２つのブロックの画像処理演算に共用されるオフセットデータについてはＳＲＡＭ２００から１回読み出すだけでよい。従って、本実施形態の画像処理装置によれば、小さいサイズのＳＲＡＭ２００を効率的に利用して処理速度をより高速化することができる。
【０１４１】
また、本実施形態の画像処理装置によれば、各ブロックの４つの頂点画素にそれぞれ対応する４つのオフセットデータを格納するための４つのダブルバッファ（バッファ１−１とバッファ２−１、バッファ１−２とバッファ２−２、バッファ１−３とバッファ２−３、バッファ１−４とバッファ２−４）を有する。従って、今回計算対象のブロックにおけるオフセットデータをバッファ２−１〜バッファ２−４に格納して画素データを生成するための演算処理と、次回計算対象のブロックにおけるオフセットデータをＳＲＡＭ２００から読み出してバッファ１−１〜バッファ１−４に格納する処理を並行して行うことができる。従って、本実施形態の画像処理装置によれば、小さいサイズのＳＲＡＭ２００を効率的に利用して処理速度をより高速化することができる。
【０１４２】
また、本実施形態の画像処理装置によれば、第２の画像を分割するブロックのサイズ及び形状を可変に設定することができる。従って、例えば、列方向の歪みが大きい場合にはブロックの形状を行方向の画素数が列方向の画素数よりも小さくなるような長方形に設定したり、ブロックのサイズをより小さく設定することにより、使用環境に応じて第２の画像の精度を向上させたり維持することができる。
【０１４３】
また、本実施形態の画像処理装置によれば、画像データ生成処理部３００（画像データリードインターフェース部３３０）は、第１の画像の画素データを要求する場合にはリクエスト信号３８９を送信する。すなわち、画像データ生成処理部３００（画像データリードインターフェース部３３０）は、プリアクノリッジ信号４０４を受信後も次のデータを要求する場合にはリクエスト信号３８９を送信する。従って、バスインターフェース部４００は、プリアクノリッジ信号４０４を送信することにより、画像データ生成処理部３００（画像データリードインターフェース部３３０）がさらにデータを要求しているか否かを判断することができる。そして、バスインターフェース部４００は、画像データ生成処理部３００（画像データリードインターフェース部３３０）がさらにデータを要求している場合にはデータ要求が終了するまでバス４０にバースト信号１８を送信してバス占有権を設定する。すなわち、画像データ生成処理部３００（画像データリードインターフェース部３３０）が第１の画像の画素データを要求し続ける間、バス４０を占有することができる。従って、本実施形態の画像処理装置によれば、第１の画像を構成する画素データに基づいて第２の画像を構成する画素データを生成する処理を比較的高速に行うことができる。
【０１４４】
また、本実施形態の画像処理装置によれば、ＳＤＲＡＭ２０から複数のデータのバースト読み出しが可能である場合には、バス４０を占有することにより２番目以降のデータの読み出しのレイテンシーをなくすことができるので、画像生成処理をより高速化することができる。
【０１４５】
また、本実施形態の画像処理装置によれば、画像データ生成処理部３００（画像データリードインターフェース部３３０）が１つのデータしか要求しない場合にはプリアクノリッジ信号４０４を受信後はリクエスト信号３８９を送信しないので、バスインターフェース部４００はバス４０にバス占有権を設定しない。従って、本実施形態の画像処理装置によれば、ＳＤＲＡＭ２０から１つの画素データしか読み出されない場合には無駄にバス４０を占有しないので、バス４０に接続された他のデバイス３０等によるバス４０の有効利用を図ることができる。
【０１４６】
また、本実施形態の画像処理装置によれば、画像データ生成処理部３００（画像データリードインターフェース部３３０）は、バスインターフェース部４００がバス４０を介してＳＤＲＡＭ２０からアクノリッジ信号４２を受信する前に、プリアクノリッジ信号４０４に基づいて第１の画像の画素データを読み出すためのアドレスを生成する処理を行うことができる。従って、画像生成処理をより高速化することができる。
【０１４７】
２．車両用ヘッドアップディスプレイシステム
図１２は、図１〜図１１で説明した画像処理装置を使用した画像処理システムの一例としての車両用のヘッドアップディスプレイシステムの構成例を示す図である。
【０１４８】
車両用ヘッドアップディスプレイシステム６００は、画像処理装置６１０、ＳＤＲＡＭ６２０（記憶装置の一例）、ＬＣＤプロジェクタ６３０（画像表示装置の一例）、ＣＰＵ６４０を含んで構成されている。画像処理装置６１０、ＳＤＲＡＭ６２０、ＣＰＵ６４０はバス６５０に接続されている。
【０１４９】
画像処理装置６１０は、表示対象の入力画像（第１の画像）を構成する画素データを受信し、当該画素データに基づいて出力画像（第２の画像）を構成する画素データを生成する処理を行う。入力画像を構成する画素データは、ＳＤＲＡＭ６２０に記憶されていてもよいし、バス６５０に接続された他の記憶装置（図示しない）に記憶されていてもよい。
【０１５０】
ＳＤＲＡＭ６２０は、バースト読み出しが可能な記憶装置であり、例えば、出力画像を分割した各ブロックの頂点画素の座標と、これらの各頂点画素に対応する入力画像の画素の座標との差を示すオフセットデータが記憶されている。
【０１５１】
ＬＣＤプロジェクタ６３０は、画像処理装置６１０が生成した画素データにより構成される出力画像を生成し、フロントガラス８００の表面に投影する。
【０１５２】
ＣＰＵ６４０は、画像処理装置６１０やＬＣＤプロジェクタ６３０の動作を制御する。
【０１５３】
車両用ヘッドアップディスプレイシステム６００は、例えば、ダッシュボード７００の中に配置される。図１２に示すフロントガラス８００の表面は湾曲しているため、フロントガラス８００の形状やドライバーの目線の位置に応じて発生する歪みに対して、入力画像にあらかじめ逆方向の歪みを加えて出力画像の画素データを生成する。こうすることにより、ドライバーの目線から見た画像が歪んだ画像にならないようにすることができる。
【０１５４】
画像処理装置６１０に本実施形態の画像処理装置を適用することにより、車両用ヘッドアップディスプレイシステム６００は、第１の画像を構成する画素データに基づいて第２の画像を構成する画素データを生成する処理を比較的低コストかつ高速に行うことができる。
【０１５５】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１５６】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【図面の簡単な説明】
【０１５７】
【図１】本実施形態の画像処理装置及び画像処理システムの構成例について説明するための図。
【図２】本実施形態の画像処理装置が生成する画素データを有する画素により構成される画像を複数のブロックに分割した状態について説明するための図。
【図３】ＳＤＲＡＭに記憶されたオフセットデータの一例について説明するための図。
【図４】メモリインターフェース部の構成例について説明するための図。
【図５】画像データ生成処理部の構成例について説明するための図。
【図６】第２の画像を構成する各画素のオフセット値の計算方法について説明するための図。
【図７】画像データリードインターフェース部の構成例について説明するための図。
【図８】画像データリードインターフェース部とバスインターフェース部の間における信号の送受信のタイミングについて説明するためのタイミングチャート図。
【図９】画像データリードインターフェース部におけるステータスバッファ、アドレスバッファ、データバッファに対するアクセスタイミングについて説明するためのタイミングチャート図。
【図１０】画像処理装置が１画面分の第２の画像の画素データを生成する処理の手順を示すフローチャートの一例を示す図。
【図１１】ＳＲＡＭのオフセットデータ記憶領域について説明するための図。
【図１２】画像処理システムの一例としての車両用ヘッドアップディスプレイシステムの構成例を示す図。
【図１３】図１３（Ａ）〜図１３（Ｃ）は、従来の画像処理システムについて説明するための図。
【符号の説明】
【０１５８】
１  画像処理システム、１０  画像処理装置、１２  画素データ、１４  アドレス信号、１６  リクエスト信号、１８  バースト信号、２０  ＳＤＲＡＭ、３０  デバイス、４０  バス、４２  アクノリッジ信号、４４  画素データ、５０  ＬＣＤ、５２  第２の画像、１００  メモリインターフェース部、１１０  バスリードアドレス生成部、１１２  アドレス信号、１２０  メモリカウンタ部、１３０  メモリアドレス生成部、１３２  アドレス信号、１４０  バッファ、１４２  オフセットデータ、１５０  バッファ、１５２  オフセットデータ、１６０  バッファ、１６２  オフセットデータ、１７０  バッファ、１７２  オフセットデータ、１８０  制御部、２００  ＳＲＡＭ、３００  画像データ生成処理部、３０２  画素データ、３１０  オフセットデータリードインターフェース、３２０  座標計算処理部、３２２  座標データ、３３０  画像データリードインターフェース部、３３２  画素データ、３４０  ＦＩＦＯ、３５０  制御部、３５２  Ｈカウンタ（ピクセルカウンタ）、３５４  Ｖカウンタ（ラインカウンタ）、３５６  バッファ、３５８  バッファ、３６０  バッファ、３６２  バッファ、３７０  ＦＩＦＯ、３７２  判定処理部、３７４  アドレス生成部、３７６  アドレスキャッシュ、３７８  アドレスバッファ０、３７９  アドレス信号、３８０  アドレスバッファ１、３８２  ステータスバッファ０、３８４  ステータスバッファ１、３８６  ステータスバッファ２、３８８  制御部、３８９  リクエスト信号、３９０  データバッファ０、３９２  データバッファ１、３９４  データキャッシュ、３９６  補正計算理部、４００  バスインターフェース部、４０２  オフセットデータ、４０４  プリアクノリッジ信号、４０６  アクノリッジ信号、４０８  画素データ、５００  ＬＣＤコントローラ、６００  車両用ヘッドアップディスプレイシステム、６１０  画像処理装置、６２０  ＳＤＲＡＭ、６３０  ＬＣＤプロジェクタ、６４０  ＣＰＵ、６５０  バス、７００  ダッシュボード、８００  フロントガラス、９００  画像、９０２  画像、９０４  画像、９１０  表示装置
【図１】
0004978528.tif 000004
【図２】
0004978528.tif 000005
【図３】
0004978528.tif 000006
【図４】
0004978528.tif 000007
【図５】
0004978528.tif 000008
【図６】
0004978528.tif 000009
【図７】
0004978528.tif 000010
【図８】
0004978528.tif 000011
【図９】
0004978528.tif 000012
【図１０】
0004978528.tif 000013
【図１１】
0004978528.tif 000014
【図１２】
0004978528.tif 000015
【図１３】
0004978528.tif 000016