(57)【特許請求の範囲】
【請求項１】
複数のソース画像を入力とし、前記複数のソース画像の各ソース画像に対して個別に変換処理を実行する変換処理部と、
前記変換処理部が出力する変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する合成処理部と、
前記変換処理部の変換処理と前記合成処理部の合成処理に関する制御情報を保持する制御情報保持部と、
前記変換処理部から出力される変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成する合成レイアウト情報生成部と、
前記合成レイアウト情報生成部が出力する合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理部の合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するソース要否情報生成部と、
前記ソース要否情報生成部が出力するソース要否情報を格納するソース要否情報格納メモリと、
前記複数のソース画像の各ソース画像を画像メモリからリードする際に、前記ソース要否情報格納メモリのソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うソースリードマスク部と、
複数のフレームに対して連続して処理を行い、前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記ソースリードマスク部を起動し、前記ソース要否情報格納メモリに格納されたソース要否情報を用いて不要領域のソース画像データに対するリードマスク制御を実行する制御部と、を有し、
前記制御部は、
前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報生成部を起動し合成レイアウト情報を生成する処理と、前記ソース要否情報生成部を起動し前記合成レイアウト情報を用いてソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、
前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理装置。
【請求項２】
複数のソース画像を入力とし、前記複数のソース画像の各ソース画像に対して個別に変換処理を実行する変換処理部と、
前記変換処理部が出力する変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する合成処理部と、
前記変換処理部の変換処理と前記合成処理部の合成処理に関する制御情報を保持する制御情報保持部と、
前記変換処理部から出力される変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成する合成レイアウト情報生成部と、
前記合成レイアウト情報生成部が出力する合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理部の合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するソース要否情報生成部と、
前記ソース要否情報生成部が出力するソース要否情報を格納するソース要否情報格納メモリと、
前記複数のソース画像の各ソース画像を画像メモリからリードする際に、前記ソース要否情報格納メモリのソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うソースリードマスク部と、
複数のフレームに対して連続して処理を行い、前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記ソースリードマスク部を起動し、前記ソース要否情報格納メモリに格納されたソース要否情報を用いて不要領域のソース画像データに対するリードマスク制御を実行する制御部と、を有し、
前記制御部は、
前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報生成部を起動し合成レイアウト情報を生成する処理と、前記ソース要否情報生成部を起動し前記合成レイアウト情報を用いてソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、
前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、異なる部分だけについて前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置であって、
前記制御部は、
１フレーム目のフレーム処理時に、前記合成レイアウト情報生成部を起動して合成レイアウト情報を生成する処理を実行し、
２フレーム目のフレーム処理時に、前記ソース要否情報生成部を起動し、前記１フレーム目のフレーム処理で生成された合成レイアウト情報を用いてソース要否情報を生成する処理を実行し、
３フレーム目以降のフレーム処理時に、１フレーム目又は２フレーム目と前記変換処理と前記合成処理に関する制御情報に変更がない場合に、前記ソースリードマスク部を起動し、前記２フレーム目のフレーム処理で生成されたソース要否情報を用いて不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を実行する画像処理装置。
【請求項４】
請求項１又は２に記載の画像処理装置であって、
前記制御部は、
１フレーム目のフレーム処理時に、前記合成レイアウト情報生成部を起動して合成レイアウト情報を生成する処理と、前記ソース要否情報生成部を起動して前記生成された合成レイアウト情報を用いてソース要否情報を生成する処理とを実行し、
２フレーム目以降のフレーム処理時に、１フレーム目と前記変換処理と前記合成処理に関する制御情報に変更がない場合に、前記ソースリードマスク部を起動し、前記１フレーム目のフレーム処理で生成されたソース要否情報を用いて不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を実行する画像処理装置。
【請求項５】
請求項１又は２に記載の画像処理装置であって、
前記合成レイアウト情報生成部による合成レイアウト情報の生成、前記ソース要否情報生成部によるソース要否情報の生成、前記ソースリードマスク部によるリードマスク制御に関して、表示優先度が最も低い最下層のソース画像の処理から開始し、最上層のソース画像まで順番に上層のソース画像の処理を行う画像処理装置。
【請求項６】
請求項１又は２に記載の画像処理装置であって、
前記変換処理部は、拡大または縮小処理を行う拡大縮小処理部を含む画像処理装置。
【請求項７】
請求項１又は２に記載の画像処理装置であって、
前記変換処理部は、回転処理を行う回転処理部を含む画像処理装置。
【請求項８】
請求項１又は２に記載の画像処理装置であって、
前記合成レイアウト情報生成部は、前記合成レイアウト情報として、前記合成処理において必要な最下位に位置するソース画像の番号を表す識別番号情報を生成する画像処理装置。
【請求項９】
請求項１又は２に記載の画像処理装置であって、
前記合成レイアウト情報生成部が出力する合成レイアウト情報を格納する合成レイアウト情報格納メモリを有し、
前記合成レイアウト情報格納メモリは、前記合成レイアウト情報を複数画素により構成されるブロック単位で保持する画像処理装置。
【請求項１０】
請求項１又は２に記載の画像処理装置であって、
前記ソース要否情報格納メモリは、前記ソース要否情報を複数画素により構成されるブロック単位で保持する画像処理装置。
【請求項１１】
請求項１又は２に記載の画像処理装置であって、
前記変換処理部は、多角形の形状データを処理し、前記形状データに従ってソース画像を変形する形状処理部を含む画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置であって、
前記ソース要否情報生成部は、前記ソース要否情報として、前記多角形の形状データに属する画素全てに対して上書きされるか否かのみを示す情報を生成する画像処理装置。
【請求項１３】
複数のソース画像を入力とし、各ソース画像の画像データを画像メモリからリードして、各ソース画像に対して個別に変換処理を実行し、変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する画像処理方法であって、
前記変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成するステップと、
前記合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するステップと、
前記各ソース画像の画像データを画像メモリからリードする際に、前記ソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うステップと、を含み、
複数のフレームに対して連続して処理を行い、
前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記リードマスク制御を実行し、
前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報を生成する処理と、前記ソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、
前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理方法。
【請求項１４】
複数のソース画像を入力とし、各ソース画像の画像データを画像メモリからリードして、各ソース画像に対して個別に変換処理を実行し、変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する画像処理方法であって、
前記変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成するステップと、
前記合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するステップと、
前記各ソース画像の画像データを画像メモリからリードする際に、前記ソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うステップと、を含み、
複数のフレームに対して連続して処理を行い、
前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記リードマスク制御を実行し、
前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報を生成する処理と、前記ソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、
前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、異なる部分だけについて前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに格納された複数の画像を入力とし、回転、拡大または縮小等の変換処理及び合成処理を行い、表示画像等の合成画像を生成する画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
従来の合成処理を行う画像処理装置としては、下層のソース画像の重なり部分を除き、ソース画像を分割画像に分割して分割表示アドレスを算出し、分割表示アドレスからソースアドレスを算出してソース画像を画像メモリから読み出しているものがあった（例えば、特許文献１参照）。この画像処理装置では、合成処理によって上層のソース画像により上書きされ消失してしまうソース画像のデータを画像メモリから読み出さないように、あらかじめソース画像を下層のソース画像の重なり部分を除いた分割画像に分割している。このような処理により、メモリのアクセス量を減らすことで、メモリのコストまたは電力などの削減が可能となる。
【０００３】
図１８は特許文献１に記載された従来例の画像処理装置の構成を示す図である。図１８において、アトリビュートメモリ１８１０は、合成画像を形成するためのデータとなる、各ソース画像データのデータ領域を表すソースアドレス、表示画面上における領域を示す表示アドレス、表示優先度等を含むアトリビュート情報を格納するメモリである。画像メモリ１８３０は、ソース画像データを格納するメモリであり、表示画面１８２０は、ソース画像を合成した表示画面である。描画回路１８４０は、アトリビュートメモリ１８１０に格納されたアトリビュート情報に基づいて画像メモリ１８３０に格納されたソース画像を読み出し、合成画像を形成し表示画面として出力する。
【０００４】
ここで、描画回路１８４０は、画像メモリ１８３０に格納されたソース画像ａｔｔ１、ａｔｔ２、ａｔｔ３、ａｔｔ４から表示画面１８２０に示す表示画像を形成する。表示優先度は、ａｔｔ１から、ａｔｔ２、ａｔｔ３、ａｔｔ４の順番で高く、ａｔｔ１が最も下層に位置するソース画像であり、ａｔｔ４が最も上層に位置するソース画像である。表示画面１８２０において、斜線部の各画素領域１８２１、１８２２、１８２３は合成処理によりソース画像間で重なりができる領域となる。描画回路１８４０は、表示画面のライン単位で合成処理を行う。
【０００５】
図１９は表示画面１８２０のｖ１〜ｖ２間の領域の画像分割処理を説明する図である。このｖ１−ｖ２間ソース画像分割処理１８５０により、表示画面１８２０のｖ１〜ｖ２間の領域において、ソース画像を分割画像に分割する。ｖ１−ｖ２間ソース画像分割処理１８５０では、矩形領域がａｔｔ１、ａｔｔ２、ａｔｔ３、ａｔｔ４の各ソース画像を分割した分割画像となり、ソース画像ａｔｔ１は、重なり領域の画素領域１８２１、１８２２に相当するｈ２−ｈ３区間とｈ４−ｈ５区間の領域を除いた分割画像となる。分割画像の生成後は、生成した分割画像の表示アドレスを算出し、算出した表示アドレスからソースアドレスを算出してソース画像を画像メモリ１８３０から読み出し、表示画面１８２０のデータを格納するメモリに出力する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２２９５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したような従来の画像処理装置では、拡大処理または縮小処理等の変換処理に対する処理を想定しておらず、これら変換処理と合成処理を組み合わせた画像処理装置に適用する場合には新たな課題が発生する。
【０００８】
一例として、変換処理として拡大処理を行い、拡大処理後に複数の画像を合成処理する場合を考える。拡大処理を行う場合、拡大処理前のソース画像の１画素は、拡大処理後の複数の画素に使用される。拡大処理において、例えば複数タップのフィルタ演算を実施する場合は、それらタップ数分の隣接画素の参照が必要となる。また、拡大処理では拡大率に応じて、拡大処理後の隣接する複数画素の生成に拡大前の入力画像の同一画素を繰り返し使用することになる。その後、拡大処理後のソース画像と他のソース画像との合成処理を実施する。
【０００９】
このため、変換処理と合成処理を組み合わせて実施する場合、画像メモリに格納されているソース画像について、各画素をリードする（読み出す）必要があるかどうか、リード要否を判定するには、変換処理後（ここでは拡大処理後）のソース画像の画素生成に使用される画素領域の特定を行い、特定された複数の画素に関して、表示画像での出力位置を考慮し、合成処理において他の変換処理後のソース画像との重なり関係を確認して必要か不要かを判定し、複数の画素全ての判定結果から最終的にリードする必要があるかどうかを判定しなければならない。変換処理後の複数の画素全てについて判定結果が不要である場合、対象となる変換処理前のソース画像の画素はリード不要となる。
【００１０】
特許文献１に記載の従来例では、合成処理のみを想定しているため、表示画像における表示アドレスの画素とソース画像におけるソースアドレスの画素とは１対１で対応する。これに対し、変換処理と合成処理を組み合わせた画像処理装置において同様の処理を実施する場合は、ソース画像におけるソースアドレスの画素と表示画像となる変換処理後のソース画像の表示アドレスの画素との対応は１対複数となり、ソース画像の１画素のリードが必要かどうかの判定処理を各画素について複数画素分実施する必要がある。このため、判定処理の演算量が増大するという課題が生じる。
【００１１】
また、このような画像処理装置では、ライン単位あるいは複数画素のブロック単位で処理を行う形態を取り、また、処理効率を向上させるため、一連の処理を画素単位のパイプライン処理で実現する回路構成を取ることが多い。画素単位のパイプライン処理を行う画像処理装置に適用する場合、画像処理装置のスループットを低下させずに実装するには、複数画素分の前記判定処理を並列に処理しなければならず、判定処理のための回路規模が増大するという課題が生じる。あるいは、回路規模の増大を抑制するため、複数画素分の判定処理を並列に処理するのではなく、１画素ごと順次に処理した場合は、上記の複数画素分を逆数とした倍率で画像処理装置のスループットを大きく低下させてしまう。
【００１２】
本発明は、上記事情に鑑みてなされたもので、その目的は、変換処理と合成処理を組み合わせた処理においても、回路規模の増大と処理スループットの低下とを招くことなく、上層のソース画像により上書きされる不要なソース画像のデータを、画像メモリから読み出さないようにして、無駄なメモリアクセスの発生を抑制することを可能とした画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、複数のソース画像を入力とし、前記複数のソース画像の各ソース画像に対して個別に変換処理を実行する変換処理部と、前記変換処理部が出力する変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する合成処理部と、前記変換処理部の変換処理と前記合成処理部の合成処理に関する制御情報を保持する制御情報保持部と、前記変換処理部から出力される変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成する合成レイアウト情報生成部と、前記合成レイアウト情報生成部が出力する合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理部の合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するソース要否情報生成部と、前記ソース要否情報生成部が出力するソース要否情報を格納するソース要否情報格納メモリと、前記複数のソース画像の各ソース画像を画像メモリからリードする際に、前記ソース要否情報格納メモリのソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うソースリードマスク部と、複数のフレームに対して連続して処理を行い、前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記ソースリードマスク部を起動し、前記ソース要否情報格納メモリに格納されたソース要否情報を用いて不要領域のソース画像データに対するリードマスク制御を実行する制御部と、を有し、前記制御部は、前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報生成部を起動し合成レイアウト情報を生成する処理と、前記ソース要否情報生成部を起動し前記合成レイアウト情報を用いてソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理装置を提供する。
【００１４】
また、本発明は、複数のソース画像を入力とし、前記複数のソース画像の各ソース画像に対して個別に変換処理を実行する変換処理部と、前記変換処理部が出力する変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する合成処理部と、前記変換処理部の変換処理と前記合成処理部の合成処理に関する制御情報を保持する制御情報保持部と、前記変換処理部から出力される変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成する合成レイアウト情報生成部と、前記合成レイアウト情報生成部が出力する合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理部の合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するソース要否情報生成部と、前記ソース要否情報生成部が出力するソース要否情報を格納するソース要否情報格納メモリと、前記複数のソース画像の各ソース画像を画像メモリからリードする際に、前記ソース要否情報格納メモリのソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うソースリードマスク部と、複数のフレームに対して連続して処理を行い、前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記ソースリードマスク部を起動し、前記ソース要否情報格納メモリに格納されたソース要否情報を用いて不要領域のソース画像データに対するリードマスク制御を実行する制御部と、を有し、前記制御部は、前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報生成部を起動し合成レイアウト情報を生成する処理と、前記ソース要否情報生成部を起動し前記合成レイアウト情報を用いてソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、異なる部分だけについて前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理装置を提供する。
【００１５】
本発明は、複数のソース画像を入力とし、各ソース画像の画像データを画像メモリからリードして、各ソース画像に対して個別に変換処理を実行し、変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する画像処理方法であって、前記変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成するステップと、前記合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するステップと、前記各ソース画像の画像データを画像メモリからリードする際に、前記ソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うステップと、を含み、複数のフレームに対して連続して処理を行い、前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記リードマスク制御を実行し、前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報を生成する処理と、前記ソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理方法を提供する。
また、本発明は、複数のソース画像を入力とし、各ソース画像の画像データを画像メモリからリードして、各ソース画像に対して個別に変換処理を実行し、変換処理後の複数のソース画像に対して合成処理を行い合成画像を生成する画像処理方法であって、前記変換処理後の複数のソース画像の前記合成画像における重なり情報を示す合成レイアウト情報を生成するステップと、前記合成レイアウト情報を参照し、前記複数のソース画像に関して、前記合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成するステップと、前記各ソース画像の画像データを画像メモリからリードする際に、前記ソース要否情報を参照し、不要領域のソース画像データに対するリードアクセスを実施しないリードマスク制御を行うステップと、を含み、複数のフレームに対して連続して処理を行い、前記ソース要否情報を生成したフレーム処理の次のフレーム以降のフレーム処理時に、前記リードマスク制御を実行し、前記変換処理と前記合成処理とを含むフレーム処理を繰り返し実行するのと並行して、前記合成レイアウト情報を生成する処理と、前記ソース要否情報を生成する処理とを、１フレーム、あるいは複数のフレーム処理期間で実行し、前記フレーム処理の開始時に、前記変換処理と前記合成処理に関する制御情報を参照し、以前のフレーム処理時の制御情報と異なる場合は、異なる部分だけについて前記合成レイアウト情報を生成する処理と前記ソース要否情報を生成する処理とを再度実行する画像処理方法を提供する。
【００１６】
上記構成により、合成レイアウト情報の生成処理、あるいはソース要否情報の生成処理と、不要となるソース画像の画像データのリードマスク制御を行う処理とを、別々のフレーム処理期間で分割して実行可能であり、ソース要否情報の生成が完了した以降のフレーム処理では、不要となるソース画像データのリードマスク制御を継続することが可能となる。これによって、リードマスク制御に用いるソース要否情報の生成に必要な処理量を削減し、回路規模の増大と処理スループットの低下とを招くことなく、画像の変換処理と合成処理を組み合わせた処理を実行することができる。また、リードマスク制御によって不要なソース画像データのリードアクセスを抑制し、画像メモリからの読み出しに際して必要とするメモリ帯域を削減できる。また、合成レイアウト情報を用いることで、変換処理後のソース画像に関する１対複数画素の重なり判定処理を削減可能となる。
【発明の効果】
【００１７】
本発明によれば、変換処理と合成処理を組み合わせた処理においても、回路規模の増大と処理スループットの低下とを招くことなく、上層のソース画像により上書きされる不要なソース画像のデータを、画像メモリから読み出さないようにして、無駄なメモリアクセスの発生を抑制することを可能とした画像処理装置及び画像処理方法を提供できる。
【図面の簡単な説明】
【００１８】
【図１】変換処理と合成処理を組み合わせた処理を実施する画像処理装置の構成例を示すブロック図
【図２】図１の画像処理装置におけるソース不要領域算出部の構成例を示す図
【図３】拡大処理と合成処理を組み合わせて実施する場合のソース要否判定を行う対象画素を説明する図
【図４】本発明の実施の形態１における画像処理装置の構成を示すブロック図
【図５】実施の形態１の画像処理装置における画像データの連続フレーム処理フローを示す図
【図６】本実施の形態の画像処理装置における変換処理と合成処理の処理例を示す図
【図７】図６の処理例における各ソース画像に関する処理内容を示す図
【図８】実施の形態１の画像処理装置における画像データの１フレームのフレーム処理フローを示す図
【図９】本実施の形態のアドレス変換部によるアドレス変換の概念を示す図
【図１０】本実施の形態における合成レイアウト情報の概念を示す図
【図１１】合成レイアウト情報のビットフォーマットの例を示す図
【図１２】合成レイアウト情報のブロックサイズの対応を示す図
【図１３】本実施の形態におけるソース要否情報の概念を示す図
【図１４】ソース要否情報のブロックサイズの対応を示す図
【図１５】本発明の実施の形態２における画像処理装置の構成を示すブロック図
【図１６】実施の形態２の画像処理装置における画像データの連続フレーム処理フローを示す図
【図１７】本発明の実施の形態３における画像処理装置の構成を示すブロック図
【図１８】従来例の画像処理装置の構成を示す図
【図１９】図１８における表示画面のｖ１〜ｖ２間の領域の画像分割処理を説明する図
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２０】
まず、本実施の形態において実施する変換処理と合成処理を組み合わせた処理について、画像処理装置の構成例を用いて説明する。図１は、変換処理と合成処理を組み合わせた処理を実施する画像処理装置の構成例を示すブロック図である。
【００２１】
画像処理装置１０００は、メモリ入力部１００１、ソース不要領域算出部１００２、変換処理部１００３、合成処理部１００４、メモリ出力部１００５、及び制御情報保持部１００６を有して構成される。また、画像処理装置１０００には、ソース画像メモリ１０１０、合成画像メモリ１０２０が接続される。ソース画像メモリ１０１０は、画像処理装置１０００への入力となるソース画像データを格納するメモリであり、合成画像メモリ１０２０は、画像処理装置１０００から出力される合成画像データを格納するメモリである。
【００２２】
メモリ入力部１００１は、ソース画像メモリ１０１０からソース画像データをリードする（読み出す）メモリインタフェース部であり、リードしたソース画像データは変換処理部１００３へ入力される。また、メモリ入力部１００１は、ソース不要領域算出部１００２からのソース不要領域情報を参照して、リードが不要なデータへのアクセスは実行しない制御を行う。ここで、このソース画像データのリードに関する制御はソース画像メモリ１０１０へのリードアクセスのマスクとする。
【００２３】
ソース不要領域算出部１００２は、ソース画像メモリ１０１０からのリードが不要となるソース画像領域を算出する。この際、ソース不要領域算出部１００２は、制御情報保持部１００６で保持された各ソース画像の変換処理前後のサイズ、出力位置、合成による重なり順序、ソース画像メモリ１０１０上のメモリアドレス等の、画像データの変換処理、合成処理に関連する各種情報、パラメータを含む制御情報を参照する。そして、これらの制御情報に基づき、合成処理において上層に位置する変換処理後のソース画像により、上書きされる画素の生成にのみ使用され、リードが不要となるソース画像領域のアドレスを算出する。
【００２４】
変換処理部１００３は、制御情報保持部１００６で保持された制御情報に従い、メモリ入力部１００１から入力される各ソース画像に対して回転、拡大または縮小、色置換等の画像変換処理を施し、合成処理部１００４へ出力する。
【００２５】
合成処理部１００４は、制御情報保持部１００６で保持された制御情報に従い、変換処理部１００３から入力される変換処理後のソース画像の重ね合わせ、または半透明画像を重ね合わせるαブレンディングの合成処理を施して、１枚の表示画像となる合成画像データを生成し、メモリ出力部１００５へ出力する。
【００２６】
メモリ出力部１００５は、合成処理部１００４から入力される合成画像データを、合成画像メモリ１０２０へ出力してライトする（書き込む）メモリインタフェース部である。
【００２７】
このような構成の画像処理装置１０００では、ライン単位あるいは複数画素のブロック単位で処理を行う形態を取り、また、処理効率を向上させるため、一連の処理を画素単位のパイプライン処理で実現する回路構成を取ることが多い。
【００２８】
図２は、図１の画像処理装置１０００におけるソース不要領域算出部１００２の１つの構成例を示す図である。
【００２９】
ソース不要領域算出部１００２は、ソースアドレス生成部１１０１、表示アドレス変換部１１０２、重なり判定部１１０３、及びソース要否判定部１１０４を有して構成される。
【００３０】
ソースアドレス生成部１１０１は、座標に相当する画素アドレスをライン方向に順番にインクリメントして表示アドレス変換部１１０２へ出力する。表示アドレス変換部１１０２は、入力された画素アドレスの画素データを使用して変換処理部１００３の変換処理で生成される表示画像の画素アドレスに変換し、表示画像上の画素アドレスを重なり判定部１１０３へ出力する。重なり判定部１１０３は、入力された表示画像上の画素アドレスに対して、上層の変換処理後のソース画像との重なり有無を判定し、判定結果をソース要否判定部１１０４へ出力する。ソース要否判定部１１０４は、入力される判定結果から、重なりが有る場合は、さらにαブレンディング処理、または透過色処理により対象となるソース画像の画素が変換処理に必要かどうかの判定を実施する。そして、ソース要否判定部１１０４は、全ての表示画像の画素アドレスに対して不要と判定した場合は、判定対象のソース画像の画素はリード不要と判定する。
【００３１】
ここで、図１及び図２に示した画像処理装置１０００の動作について、図３を用いて説明する。図３は、拡大処理と合成処理を組み合わせて実施する場合のソース要否判定を行う対象画素を説明する図である。
【００３２】
表示アドレス変換部１１０２による表示画像の画素アドレスへの変換では、通常、１つのソース画像の画素アドレスに対して複数の表示画像の画素アドレスを出力する。これは、変換処理において、フィルタ演算を行う処理では１画素の生成に複数画素の画素データを参照するためであり、さらには拡大処理では同一のソース画像の画素データを複数の表示画像の画素データの生成処理で参照するためである。
【００３３】
図３の例では、ソース画像２００に対して拡大処理を実施し、変換処理後ソース画像２１０が生成されるものとする。ソース画像２００は、画像処理装置１０００への入力となるソース画像であり、変換処理後ソース画像２１０は、ソース画像２００に変換処理部１００３によって変換処理として拡大処理を施したもので、合成処理部１００４への入力となる画像である。画素ブロック２０１はソース画像２００の一部の領域を切り出したものであり、矩形１つが１画素を表した３×３画素の画素ブロックである。また、画素ブロック２１１は画素ブロック２０１に対応する７×６画素の画素ブロックである。
【００３４】
この場合、変換処理部１００３による拡大処理の変換処理において、画素ブロック２０１の斜線の付いた１画素は、画素ブロック２１１の斜線が付いた５×４画素の複数の画素の処理時に使用される。この理由は、拡大処理において、例えば水平方向では３タップの、垂直方向では２タップのフィルタ演算を実施するとした場合は、それらタップ数分の隣接画素の参照が必要となるからである。さらには、拡大処理では拡大率に応じて、拡大処理後の隣接する複数画素の生成に拡大前の入力画像の同一画素を繰り返し使用するためである。したがって、ソース画像２００の画素ブロック２０１の斜線付き１画素を、ソース画像メモリ１０１０からリードする必要があるかどうかを判定するには、変換処理後ソース画像２１０の複数の画素との対応に基づいて１対複数の重なり判定を行い、リード要否を判定する必要がある。すなわち、表示アドレス変換部１１０２、重なり判定部１１０３及びソース要否判定部１１０４において、変換処理後のソース画像の画素生成に使用される画素領域の特定を行い、特定された複数の画素に関して、表示画像での出力位置を考慮し、合成処理において他の変換処理後のソース画像との重なり関係を確認して必要か不要かを判定し、複数の画素全ての判定結果から最終的にリードする必要があるかどうかを判定しなければならない。前記複数の画素全ての判定結果が不要の判定結果の場合、対象となるソース画像の画素はリード不要となる。
【００３５】
また、ソース画像メモリ１０１０へのリードアクセスは、メモリ及びバスアクセスの効率の観点からバーストアクセスを行うことが多い。この場合、バーストアクセス単位でリードアクセスが不要かどうかは、バースト長に相当する画素数分のリードが必要があるかどうかの判定処理をしなければならない。図３において、画素ブロック２０２の連続する８画素がバースト長に相当する画素ブロックとすると、これら８画素分について上記判定処理が必要となる。
【００３６】
上記特許文献１に記載の従来例では、合成処理のみを想定しており、下層のソース画像の重なり部分を除き、ソース画像を分割画像に分割して分割表示アドレスを算出し、分割表示アドレスからソースアドレスを算出してソース画像の必要となる領域のみを画像メモリからリードするようにしている。この場合、表示画像における表示アドレスの画素とソース画像におけるソースアドレスの画素とは１対１で対応する。これに対し、変換処理と合成処理を組み合わせた画像処理装置において同様の処理を実施する場合は、上述したように、ソース画像におけるソースアドレスの画素と表示画像となる変換処理後のソース画像の表示アドレスの画素との対応は１対複数となり、ソース画像の１画素のリードが必要かどうかの判定処理は複数画素分実施する必要がある。
【００３７】
このため、ソース要否を判定する判定処理の演算量が増大するという課題が生じる。また、画素単位のパイプライン処理を行う画像処理装置に適用する場合、画像処理装置のスループットを低下させずに実装するには、複数画素分の前記判定処理を並列に処理しなければならず、ソース不要領域算出部１００２の回路規模が増大するという課題が生じる。
【００３８】
また、変換処理部１００３において実施する変換処理として、上記の例では拡大処理を行う場合について説明したが、さらに回転処理を追加した場合では、回転処理による表示アドレスからソースアドレスへの変換のための演算が加わり、回路規模の増大傾向は大きくなる。あるいは、回路規模の増大を抑制するため、複数画素分の判定処理を並列に処理するのではなく、１画素ごと順次に処理した場合は、上記の複数画素分を逆数とした倍率で画像処理装置のスループットを大きく低下させてしまう。
【００３９】
さらには、変換処理部１００３において拡大縮小処理を実施する場合には、拡大率あるいは縮小率の設定に応じて、上述した１対複数の対応する複数画素領域のサイズが可変となり、この複数画素領域を特定するための演算が複雑となる。それに伴い、ソース画像のリードが必要かどうかの判定処理を実施する複数画素の画素数も可変となり、処理が複雑化する。このため、画素単位のパイプライン処理を行う画像処理装置に実装するには、制御が複雑となり、実装が困難であるという課題がある。これは拡大縮小処理だけでなく、矩形から台形など任意形状への変形処理を実施する場合も同様である。
【００４０】
そこで、以下の実施の形態において、変換処理と合成処理を組み合わせた処理において、ソース画像のリード要否判定に必要な処理量を削減し、回路規模の増大と処理スループットの低下を抑止することが可能な画像処理装置の構成例を示す。
【００４１】
（実施の形態１）
図４は、本発明の実施の形態１における画像処理装置１００の構成を示すブロック図である。本実施の形態に係る画像処理装置１００は、メモリ入力部１００１、変換処理部１００３、合成処理部１００４、メモリ出力部１００５を有して構成される。この画像処理装置１００には、ソース画像メモリ１０１０、合成画像メモリ１０２０が接続される。ソース画像メモリ１０１０は、画像処理装置１００への入力となるソース画像データを格納するメモリであり、合成画像メモリ１０２０は、画像処理装置１００から出力される合成画像データを格納するメモリである。
【００４２】
メモリ入力部１００１は、ソース画像メモリ１０１０からソース画像データをリードして入力するメモリインタフェース部であり、リードしたソース画像データは変換処理部１００３へ入力される。一方、メモリ出力部１００５は、合成処理部１００４から入力される合成画像データを合成画像メモリ１０２０へ出力するメモリインタフェース部である。
【００４３】
また、画像処理装置１００は、フレームシーケンス部１０１、制御情報保持部１１１を有している。フレームシーケンス部１０１は、外部からのフレーム単位の処理開始のトリガとなる起動信号を検出し、画像処理装置１００における複数フレームにわたる画像データのフレーム処理のシーケンス制御を行い、内部の各処理部に対して起動をかける制御部として機能する。制御情報保持部１１１は、各ソース画像の変換処理前後のサイズ、出力位置、合成による重なり順序、ソース画像メモリ１０１０上のメモリアドレス等の、画像データの変換処理と合成処理に必要な各種情報、パラメータを含む制御情報を格納して保持する。
【００４４】
変換処理部１００３は、フレームシーケンス部１０１によるシーケンス制御、及び制御情報保持部１１１で保持された制御情報に従い、メモリ入力部１００１から入力される各ソース画像に対して画像変換処理を施し、合成処理部１００４へ出力する。この変換処理部１００３は、回転処理を行う回転処理部１００３ａ、拡大または縮小処理を行う拡大縮小処理部としてのリサイズ処理部１００３ｂ、色置換または輝度調整、あるいは、エッジ強調処理等の画質を調整する画質調整処理部１００３ｃを有して構成される。メモリ入力部１００１から入力されるソース画像の画素データは、回転処理部１００３ａ、リサイズ処理部１００３ｂ、画質調整処理部１００３ｃの順に入力され、各々の処理部での処理がパイプライン処理で実行される。
【００４５】
合成処理部１００４は、フレームシーケンス部１０１によるシーケンス制御、及び制御情報保持部１１１で保持された制御情報に従い、変換処理部１００３から入力される変換処理後のソース画像の重ね合わせ、または半透明画像を重ね合わせるαブレンディングの合成処理を施して１枚の表示画像となる合成画像データを生成し、メモリ出力部１００５へ出力する。
【００４６】
なお、変換処理部１００３の回転処理部１００３ａ、リサイズ処理部１００３ｂ、画質調整処理部１００３ｃと、合成処理部１００４を含む各処理部は、隣接する処理部間のタイミングを吸収するためのデータバッファを必要に応じて搭載する。
【００４７】
また、画像処理装置１００は、パイプライン制御部１０２、入力カウンタ１０３、アドレス変換部１０４、出力カウンタ１０５、合成レイアウト情報生成部１０６、合成レイアウト情報格納メモリ１０７、ソース要否情報生成部１０８、ソース要否情報格納メモリ１０９、ソースリードマスク部１１０を有している。
【００４８】
パイプライン制御部１０２は、変換処理、合成処理、合成レイアウト情報生成とソース要否情報生成の一連のパイプライン処理のタイミングを制御するものである。よって、パイプライン制御部１０２は、パイプライン処理に関連する、変換処理部１００３、合成処理部１００４、合成レイアウト情報生成部１０６、ソース要否情報生成部１０８、入力カウンタ１０３、アドレス変換部１０４、及び出力カウンタ１０５のタイミングを制御する。すなわち、パイプライン制御部１０２は、１つのフレーム処理内の各処理のタイミング制御を行う制御部として機能する。
【００４９】
入力カウンタ１０３は、変換処理部１００３に入力される各ソース画像の画素データのカウンタであり、ソース画像における垂直方向のライン数と水平方向の画素位置を示す座標となるアドレスを出力する。
【００５０】
出力カウンタ１０５は、変換処理部１００３から出力される変換処理後のソース画像の画素データのカウンタであり、変換処理後のソース画像における垂直方向のライン数と水平方向の画素位置を示す座標となるアドレスを出力する。
【００５１】
アドレス変換部１０４は、出力カウンタ１０５から出力される変換処理後のソース画像の画素データのアドレス値について、その画素データを変換処理部１００３の各処理部が生成するのに必要となるソース画像上の画素データのアドレス値に変換する。
【００５２】
合成レイアウト情報生成部１０６は、合成処理部１００４の合成処理と同期して、変換処理部１００３から出力される変換処理後の複数のソース画像の合成画像における重なり情報を示す合成レイアウト情報を生成し、合成レイアウト情報格納メモリ１０７に書き込む。合成レイアウト情報格納メモリ１０７は、合成レイアウト情報生成部１０６からの合成レイアウト情報を格納するメモリである。
【００５３】
ソース要否情報生成部１０８は、変換処理部１００３の変換処理と同期して、合成レイアウト情報格納メモリ１０７の合成レイアウト情報を参照し、各ソース画像に対して、合成処理による上書きのため不要となるソース画像上の領域を示すソース要否情報を生成し、ソース要否情報格納メモリ１０９に書き込む。ソース要否情報格納メモリ１０９は、ソース要否情報生成部１０８からのソース要否情報を格納するメモリである。
【００５４】
ソースリードマスク部１１０は、ソース要否情報格納メモリ１０９のソース要否情報を参照し、メモリ入力部１００１が発行するソース画像メモリ１０１０へのリードアクセス要求の内、ソース不要領域へのリードアクセス要求の発行を停止するリードマスク制御を行う。このリードマスク制御により、ソース画像メモリ１０１０からソース画像データをリードする際に、不要領域のソース画像データに対するリードアクセスを実施しないようにすることができる。メモリ入力部１００１は、ソースリードマスク部１１０により発行を停止されたリードアクセス要求に対しては対応するリードデータとしてダミーとなるデータを内部で用意し、後段の変換処理部１００３に出力する。
【００５５】
次に、図４の画像処理装置１００による処理フローを、図５を用いて説明する。図５は、実施の形態１の画像処理装置１００において画像データのフレーム処理を連続フレームで処理する時の処理フローを表す図である。本実施の形態では、連続する複数のフレームを有する動画像の画像データについて処理する場合を想定している。図５において、縦軸が画像処理装置１００で実施する各処理を、横軸が時間軸を表し、新規処理開始となる１フレーム目の処理から順に２フレーム目、３フレーム目、４フレーム目、・・・の処理期間における各処理の実施の有無を示している。
【００５６】
１フレーム目の処理は、本来の機能となる変換処理と合成処理を変換処理部１００３と合成処理部１００４により実行するのと並行して、合成レイアウト情報生成の処理を合成レイアウト情報生成部１０６により実行する。１フレーム目の処理では、ソース要否情報生成とソースリードマスクの処理は実行しない。
【００５７】
２フレーム目の処理は、１フレーム目の処理と同様に変換処理と合成処理を実行し、これと並行して、ソース要否情報生成の処理をソース要否情報生成部１０８により実行する。合成レイアウト情報生成の処理は１フレーム目の処理で実施済みとなるため、２フレーム目の処理では実行せず、ソースリードマスクの処理も実行しない。
【００５８】
３フレーム目の処理は、１フレーム目の処理と同様に変換処理と合成処理を実行し、これと並行して、リードマスク制御を行うソースリードマスクの処理をソースリードマスク部１１０により実行する。合成レイアウト情報生成の処理は１フレーム目の処理で実施済みであり、ソース要否情報生成の処理は２フレーム目の処理で実施済みとなるため、３フレーム目の処理ではこれらの処理を実行しない。
【００５９】
４フレーム目の処理以降は、３フレーム目の処理と同じ処理を繰り返し、変換処理とともに、合成処理の処理時に不要となるソース画像データへのリードアクセスをマスクするソースリードマスクの処理を継続する。
【００６０】
ただし、２フレーム目以降の処理において、フレーム処理の開始時に変換処理と合成処理の制御情報をチェックし、前フレーム処理時からソース要否情報に変更がある場合は１フレーム目の処理から再度実行する。ソース要否情報に変更がある場合としては、合成処理において、合成処理するソース画像の枚数の変更、変換処理後のソース画像の合成出力位置の変更、ソース画像のサイズ変更、あるいはリサイズによる変換処理後のソース画像のサイズ変更、上書き処理から半透過合成処理としてのαブレンディング処理への変更、ソース画像の透過色を含むフォーマットへの変更等による合成レイアウト情報の変更がある場合、あるいは、回転処理の変更、リサイズ、画質調整処理のフィルタ処理のタップ数変更等がある場合である。
【００６１】
図６は、本実施の形態の画像処理装置における変換処理と合成処理の処理例を示す図である。また、図７は、図６の処理例における各ソース画像に関する処理内容を示す図である。画像処理装置１００は、ソース画像メモリ１０１０に格納されたソース画像ｌｙｒ０（３１１）、ｌｙｒ１（３１２）、ｌｙｒ２（３１３）、ｌｙｒ３（３１４）の４つのソース画像を入力とし、各ソース画像に対して、図７に示す処理内容の変換処理と合成処理を行い、合成画像３２０に示す合成画像を生成し、合成画像データを合成画像メモリ１０２０に出力する。
【００６２】
この場合、図６に示すように、ソース画像の合成処理は、ｌｙｒ０、ｌｙｒ１、ｌｙｒ２、ｌｙｒ３の順に表示優先度が高くなっている。また、図７に示すように、ｌｙｒ０は最下層に位置し、ｌｙｒ１とｌｙｒ２は透過色の無い画像で全て上書きされるため、上層の画像と重なる領域にある下層の位置のｌｙｒ０とｌｙｒ１の画像データは不要となる。しかし、ｌｙｒ３は下層の画像とαブレンディングを行うため、ｌｙｒ３の下層の位置のｌｙｒ２とｌｙｒ０の画像データは必要となる。
【００６３】
図６の合成画像３２０において、合成画像のフレーム枠に対して、最上位ライン位置ｙ０を原点として垂直下方向にｙ軸を取り、左端画素位置ｘ０を原点として水平右方向にｘ軸を取る。合成画像３２０では、変換処理後のソース画像ｌｙｒ０は合成画像のフレーム枠と等しいサイズとしている。
【００６４】
図８は、実施の形態１の画像処理装置１００において画像データの１フレームのフレーム処理を行う時の処理フローを表す図である。フレームの処理方法としては、ライン単位、あるいは、複数画素の矩形領域となる画素ブロック単位を処理単位として、フレームを処理単位に分割し、分割した回数分の処理単位の処理を繰り返す。この際、フレーム単位の全体のシーケンス制御をフレームシーケンス部１０１が行い、１フレームのフレーム処理の開始後は、パイプライン制御部１０２がフレーム内の各処理を制御する。
【００６５】
例えば、処理単位をライン単位とした場合は、図６の合成画像３２０のｙ座標が０となる最上位ラインの画素データ生成から処理を開始し、ｙ座標がｙ７である最下位ラインまで順番に１つ下側のラインの画素データ生成を繰り返して、下方向に１ラインずつライン生成を行う。ライン生成の処理フローとしては、ｌｙｒ０、ｌｙｒ１、ｌｙｒ２、ｌｙｒ３といった順序で合成処理の表示優先度が低い下層のソース画像から順に処理を行い、各ソース画像の左端の画素から右端の画素までｘ座標の正の方向となる順に処理を行う。
【００６６】
１フレームのフレーム処理において、ｌｙｒ０、ｌｙｒ１、ｌｙｒ２、ｌｙｒ３の各ソース画像に対する処理は、ソースリード処理＋リードマスク、変換処理＋合成処理、合成レイアウト情報生成あるいはソース要否情報生成、合成画像ライト処理の順序で、画素単位のパイプライン処理を実行していく。
【００６７】
ここで、ソースリード処理＋リードマスクとしている処理は、ソース画像データのリード処理及びリードマスク制御に関する処理である。すなわち、ソース要否情報の生成が以前のフレーム処理で完了し、リードマスクが可能な状態である場合は、リードマスク制御を加えたソース画像データのリード処理を行い、一方、ソース要否情報の生成が完了していない場合は、リードマスク制御は実行せずにそのままソース画像データのリード処理を行う。
【００６８】
変換処理＋合成処理は、各処理に関するパラメータを含む制御情報に従った変換処理と合成処理を実施する処理である。
【００６９】
合成レイアウト情報生成あるいはソース要否情報生成の処理は、図５の連続フレーム処理にあるように、実行中のフレーム処理において、合成レイアウト情報生成あるいはソース要否情報生成の内、どちらかの処理を指示されている場合に、前記指示された処理を変換処理＋合成処理と並行して実行する処理である。
【００７０】
合成画像ライト処理は、上記の変換処理＋合成処理の内、表示優先度が最も高いｌｙｒ３の合成処理と並行して実行する処理であり、最終的な合成画像データとして生成ができたデータを順に外部メモリへライトする処理である。
【００７１】
次に、上述した図５〜図８による連続フレーム処理における各フレームのフレーム処理の動作詳細に関して説明する。
【００７２】
まず、図５の１フレーム目の処理に関して説明する。
【００７３】
画像処理装置１００に対してフレーム処理の起動がかけられると、フレームシーケンス部１０１がフレーム処理起動の信号を検出し、フレーム処理を開始する。フレームシーケンス部１０１は、内部状態が１フレーム目の最初のフレーム処理であることを確認し、合成レイアウト情報格納メモリ１０７とソース要否情報格納メモリ１０９の初期化を行う。次に、フレームシーケンス部１０１は、図４には図示していない外部メモリにアクセスし、変換処理と合成処理に必要な制御情報を読み出し、制御情報保持部１１１へ格納する。ここで、画像処理装置１００を制御するＣＰＵあるいはマイコン等のホストにより、前記制御情報の一部または全部を予め書き込んでおいてもよい。
【００７４】
制御情報保持部１１１への制御情報の格納が完了すると、フレームシーケンス部１０１は、１フレーム目の処理として、変換処理と合成処理に加えて、合成レイアウト情報生成を実行することを決定する。そして、変換処理部１００３、合成処理部１００４、合成レイアウト情報生成部１０６及びパイプライン制御部１０２を起動する。
【００７５】
パイプライン制御部１０２は、図８を用いて説明した、処理単位となるライン処理の繰り返し制御とライン処理のシーケンス制御を行い、画素パイプライン処理のタイミング制御を行う。
【００７６】
出力カウンタ１０５は、ｙ座標を保持するカウンタを持ち、ｙ＝０の最初のライン処理開始時に０をセットし、以降のライン処理開始時にインクリメントすることで処理中のライン番号を保持する。パイプライン制御部１０２は、ライン処理を開始すると、ソース画像ｌｙｒ０、ｌｙｒ１、ｌｙｒ２、ｌｙｒ３と合成処理で下層となるソース画像から順に、ライン処理対象となる合成画像のライン上に該ソース画像が存在するかどうかをチェックする。ここで、存在する場合は該ソース画像の対象ライン上のデータを生成するための変換処理と合成処理を実行し、存在しない場合は該ソース画像の変換処理と合成処理はスキップして次に上層に位置するソース画像の処理に遷移する。前記ソース画像のチェックは、制御情報保持部１１１に格納された該ソース画像の変換処理後の垂直サイズと、合成画像の出力開始位置を示すｙ座標のオフセット値のパラメータと、出力カウンタ１０５が保持するライン処理中のｙ座標値とから判断することができる。なお、本チェックの処理において、上層に位置するソース画像との重なり判定は実施しない。
【００７７】
前記ソース画像のチェックにより該ソース画像が存在した場合は、パイプライン制御部１０２は、変換処理と合成処理の実施を開始する。変換処理と合成処理を行う際に、まずは変換処理と合成処理に必要となるソース画像におけるライン領域の特定を行う。ライン領域の特定はアドレス変換部１０４により実施されるもので、合成画像の座標からソース画像の座標へのアドレス変換処理である。このライン領域の特定処理を図９を用いて説明する。
【００７８】
図９は、アドレス変換部１０４によるアドレス変換の概念を示す図である。ここでは、合成画像３２０の座標ｙ＝ｙｋ（ｙ３≦ｙｋ＜ｙ４）のライン処理においてソース画像ｌｙｒ２（３１３）のアドレス変換処理の例を示している。アドレス変換処理は、合成画像３２０における変換処理後ソース画像ｌｙｒ２（３２２）の出力開始位置を示すオフセット値ｙ２をｙｋから減算して変換処理後ソース画像ｌｙｒ２（３２２）におけるｙ座標とし、垂直拡大縮小率の逆数となるパラメータを乗算することで、ソース画像ｌｙｒ２（３１３）における垂直座標ｖｋを算出する。ｌｙｒ２（３１３）の縮小処理において４タップのフィルタ処理を実行するとした場合、ｖｋを中心位置とした座標ｖ１とｖ２の間の４ライン領域の画素ブロック５２１がソース画像ｌｙｒ２（３１３）の変換処理に必要なライン領域となる。
【００７９】
変換処理と合成処理に必要なライン領域の算出が完了すると、パイプライン制御部１０２は、メモリ入力部１００１に特定したライン領域のソース画像データをソース画像メモリ１０１０から読み出す指示を出す。メモリ入力部１００１は、処理対象となるソース画像のライン間の距離を表すストライド、画像フォーマット、ソース画像メモリ１０１０の格納開始位置となるベースアドレスのパラメータにより、前記特定したライン領域をソース画像メモリ１０１０のアドレスに変換して順次リードアクセスを行い、読み出したソース画像データを変換処理部１００３に入力する。この際、変換処理部１００３へのデータ入力は入力カウンタ１０３によりカウントする。入力カウンタ１０３のカウンタ値は、ソース画像の水平方向の座標に相当する。
【００８０】
変換処理部１００３では、メモリ入力部１００１から入力されるソース画像データに対して、回転処理部１００３ａ、リサイズ処理部１００３ｂ、及び画質調整処理部１００３ｃの各処理部において、制御情報保持部１１１の制御情報に従って順番に変換処理を行う。リサイズ処理部１００３ｂの入出力において、縮小処理を行う場合、複数ラインの入力に対して垂直方向のリサイズ処理により１ラインの出力となる。これは、上記説明した、図９のソース画像ｌｙｒ２（３１３）の処理例では、４ラインの入力を行い１ラインの出力となる。さらに、リサイズ処理部１００３ｂでは水平方向のソース画像のサイズ変更がなされる。
【００８１】
リサイズ処理部１００３ｂにおける水平方向のサイズ変更は、入力カウンタ１０３、出力カウンタ１０５、及びアドレス変換部１０４によるカウンタ値の比較により、データ入出力数をパイプライン制御部１０２で制御することにより実現する。出力カウンタ１０５では、ｙ座標のカウンタとは別に水平方向のｘ座標のカウンタを持つ。ｘ座標カウンタはリサイズ処理部１００３ｂの出力画素数をカウントし、変換処理後のソース画像の左端画素を０として右端画素までをカウントする。このｘ座標のカウント値に、合成画像３２０での出力開始位置を示すｘ座標のオフセット値を加算することで、合成画像３２０におけるｘ座標となる。図９の変換処理後ソース画像ｌｙｒ２（３２２）の場合、オフセット値ｘ２を加算すればよい。
【００８２】
アドレス変換部１０４は、上記ｙ座標の変換処理と同様に、出力カウンタ１０５のｘ座標カウンタ値からリサイズ処理に必要となるソース画像の画素領域の座標に変換する。このｘ座標のアドレス変換処理を図９により説明する。変換処理後ソース画像ｌｙｒ２（３２２）のｘ＝ｘｍ、ｙ＝ｙｋの画素５１１の座標変換では、ｘｍからｘ２を減算した（ｘｍ−ｘ２）が出力カウンタ１０５のｘ座標カウンタが保持するカウンタ値である。このカウンタ値（ｘｍ−ｘ２）に水平拡大縮小率の逆数となるパラメータを乗算することで、ソース画像ｌｙｒ２（３１３）における水平座標ｕｋを算出する。ｌｙｒ２（３１３）の縮小処理において６タップのフィルタ処理を実行するとした場合、ｕｋを中心位置とした座標ｕ１とｕ２の間の６×４画素領域の画素ブロック５２２が画素５１１のリサイズ処理に必要な画素領域となる。同様に、画素ブロック５２３は画素５１２のリサイズ処理に必要な画素領域である。
【００８３】
パイプライン制御部１０２は、上記アドレス変換部１０４で算出した画素領域のｕ座標値と入力カウンタ１０３のカウンタ値とを比較し、ちょうど前記求めた画素領域までの画素データをリサイズ処理部１００３ｂに入力する。画素５１１のリサイズ処理時では、入力カウンタが画素ブロック５２２の右端の座標ｕ２となるまでデータ入力を行う。次に画素５１１の右隣の画素生成となり、上記同様に対応するソース画像の画素領域を求め、画素領域が右側にシフトした場合はシフトした位置までデータ入力を進め、画素領域が同じ場合は前段からのデータ入力をストールさせる。
【００８４】
合成処理部１００４は、変換処理部１００３から入力される変換処理後ソース画像データの合成処理を行う。合成処理部１００４内部に合成画像３２０のライン幅分のラインメモリを持ち、合成処理結果を書き込む。処理中のソース画像が透過色を含む画像フォーマットである場合は、合成処理する画素が透過色であるかどうかの判定を行い、透過色である場合はラインメモリへの書込みをせず、透過色でない場合はラインメモリの出力位置に相当するアドレスへ上書きする。あるいは、合成処理内容がαブレンディングである場合は、ラインメモリの出力位置に相当するデータを読み出して下層に位置するソース画像のデータを読み出し、画素個別またはソース画像全体で設定されたα値に基づいて、入力画素データとのブレンディング処理を行い、ラインメモリの出力位置に相当するアドレスへ書き戻す。出力位置は合成画像３２０のｘ座標であり、出力カウンタ１０５のｘ座標カウンタのカウンタ値にソース画像の出力位置となるｘ座標オフセット値を加算することで求める。
【００８５】
処理中のライン上で最上位に位置するソース画像の合成処理が完了すると、合成処理部１００４は内部のラインメモリ上のデータをメモリ出力部１００５へ出力し、メモリ出力部１００５により合成画像メモリ１０２０へ書き込みを行う。
【００８６】
１フレーム目の処理においては、変換処理及び合成処理と並行して合成レイアウト情報生成部１０６が合成レイアウト情報生成の処理を行う。合成レイアウト情報生成部１０６は、出力カウンタ１０５のｘ座標、ｙ座標のカウンタ値を参照し、合成処理部１００４の画素処理と同期して処理を行う。
【００８７】
合成レイアウト情報生成部１０６は、制御情報保持部１１１に格納された処理中のソース画像の画像フォーマットと合成処理制御情報を参照し、処理中のソース画像の合成処理の種別を判定する。この際、合成処理として、透過処理の無い上書き処理であるかどうか、あるいは、ソース画像が透過色または透過処理を表すステンシルビットを含む画像であり透過合成が発生するかどうか、あるいは、上書き処理ではなくαブレンディングを行うかどうかの判定処理を行う。ここで、判定結果が合成処理において全ての画素で上書き処理であり、下層のデータを必要とする透過合成またはαブレンディングを行わないソース画像と判定した場合は、合成画像３２０の合成処理を行う画素位置の合成レイアウト情報として、処理中のソース画像の番号を合成レイアウト情報格納メモリ１０７に書き込む。なお、合成レイアウト情報格納メモリ１０７は初期化時に番号０で初期化されている。
【００８８】
なお、透過処理を表すステンシルビットの画素位置、またはαブレンディングのα値が下層の画素データをブレンディングしない数値（例えば、α＝０）の画素位置が、連続するフレーム処理で固定となるソース画像に対しては、透過合成またはαブレンディングを行うソース画像であっても、画素毎にステンシルビットまたはα値を判定し、上書き処理する画素位置には処理中のソース画像の番号を合成レイアウト情報格納メモリ１０７に書き込むようにしてもよい。
【００８９】
上述したソース画像の番号の書き込み処理を、表示優先度が最も低い最下位のソース画像から順に最上位のソース画像まで繰り返し、１フレーム分処理することで、合成画像３２０の合成レイアウト情報が完成する。図１０は、合成レイアウト情報格納メモリ１０７に格納する合成レイアウト情報の概念図である。
【００９０】
ここで、下層のソース画像の変換処理においてリサイズ処理後の画質調整処理のフィルタ処理等で複数画素領域を必要とする場合は、合成レイアウト情報の生成において、それら複数画素領域を上層のソース画像の番号を書き込むことで上書きして消去しないように、上層のソース画像のフレーム境界から前記必要とする画素領域分はソース番号を上書きしないようにする対応が必要となる。例えば、変換処理後ソース画像ｌｙｒ１（３２１）の生成に画質調整処理のフィルタ処理がある場合には、図１０の斜線を施した画素領域３２４は変換処理後ソース画像ｌｙｒ２（３２２）により上書きされるが、変換処理後ソース画像ｌｙｒ１（３２１）の変換処理後ソース画像ｌｙｒ２（３２２）との境界画素の生成処理には必要となるため、合成レイアウト情報生成時に画素領域３２４にはｌｙｒ２の番号を上書きしないように対処する。
【００９１】
変換処理後ソース画像ｌｙｒ３（３２３）の領域に関しては、合成処理としてαブレンディングを行うため下層の画像データが必要となり、合成レイアウト情報にはｌｙｒ３の番号は上書きされていない。このようにして合成レイアウト情報を生成することで、各画素領域で必要とするソース画像で最下位に位置するソース画像の番号を表すことができる。例えば、ｘ座標ｘ３〜ｘ５、ｙ座標ｙ３〜ｙ５の画素領域の合成レイアウト情報は、ｌｙｒ２を表す番号２であり、この画素領域ではソース画像ｌｙｒ２とその上層に位置するｌｙｒ３が必要であることを表す。
【００９２】
上記の通り、合成レイアウト情報の生成処理として、合成処理において下層の位置のソース画像が不要となる場合は上層のソース画像の番号を上書きする処理を、１フレーム処理期間において、処理単位となるライン単位で、表示優先度が最も低い最下位のソース画像から順に最上位のソース画像まで繰り返し、ライン単位処理を１フレーム分処理する。このように合成レイアウト情報を生成することで、１フレーム分の画素の重なり状態を示す情報が得られるため、画素ごとの重なり判定が不要であり、従来のような画素単位の逐次処理におけるソース画像間の重なり判定処理を削減することができる。
【００９３】
合成レイアウト情報格納メモリ１０７のメモリ容量を削減するため、合成レイアウト情報生成部１０６において、合成レイアウト情報のブロック化を行う。複数の画素ブロック単位で合成レイアウト情報を割り当てることで情報量を削減する。図１１は合成レイアウト情報のビットフォーマットの例を示す図、図１２は合成レイアウト情報のブロックサイズの対応を示す図である。
【００９４】
図１１に示す合成レイアウト情報ビットフォーマット７１０は、１ブロックあたりの合成レイアウト情報のビットフォーマットであり、１データを４ビットで構成する。画像処理装置１００への入力ソース画像数の最大を８画像とし、３ビットでソース画像の番号を表すものとし、このソース画像の識別番号情報を合成レイアウト情報として用いる。この場合、最上位ビットは空きビットとなる。
【００９５】
図１２に示す合成レイアウト情報ブロックサイズ対応表７２０は、合成画像の水平サイズまたは垂直サイズに対応する、合成レイアウト情報の画素ブロックの水平サイズまたは垂直サイズの対応を表で示したものである。ここで、Ｌｅｖｅｌはブロックサイズを分類する番号に相当する。合成画像のサイズに応じてブロックサイズを可変とすることで、１フレームの合成レイアウト情報のサイズ上限を一定としている。例えば、合成画像のサイズが水平７２０画素（Ｗ）×垂直４８０画素（Ｈ）の場合、水平サイズはＬｅｖｅｌ４、垂直サイズはＬｅｖｅｌ３に該当し、ブロックサイズは１６（Ｗ）×８（Ｈ）画素ブロックとなる。本対応表の場合、水平方向と垂直方向それぞれの最大ブロック数は６４ブロックとなり、合成レイアウト情報の最大サイズは６４×６４×４ビットで２ＫＢｙｔｅである。
【００９６】
なお、合成レイアウト情報のブロックサイズの決定は、合成レイアウト情報ブロックサイズ対応表７２０に限定するものではなく、合成レイアウト情報の最大サイズの上限を変えるようにブロックサイズを変更しても良いし、合成画像のサイズに依存せずに一定のサイズとしても良い。
【００９７】
以上が図５の１フレーム目の処理の動作となる。
【００９８】
次に、図５の２フレーム目の処理に関して説明する。
【００９９】
１フレーム目の処理が完了した後、画像処理装置１００に対して新たにフレーム処理の起動がかけられると、フレームシーケンス部１０１がフレーム処理起動の信号を検出し、フレーム処理を開始する。
【０１００】
フレームシーケンス部１０１は、内部状態が２フレーム目の処理であることを確認し、１フレーム目の処理と同様に、外部メモリにアクセスし、変換処理と合成処理に必要な制御情報を読み出し、制御情報保持部１１１へ格納する。
【０１０１】
このとき、フレームシーケンス部１０１は、前回のフレーム処理時の制御情報と比較し、前回のフレーム処理時に生成した合成レイアウト情報に変更が入る要因となる制御情報の差分があるかどうかを評価する。ここで、制御情報に合成レイアウト情報に変更が入る差分を検出した場合は、１フレーム目の処理を実行することを決定し、合成レイアウト情報格納メモリ１０７の初期化を行った後、変換処理と合成処理に加えて合成レイアウト情報生成の処理を開始する。一方、差分が検出されない場合は、２フレーム目処理として変換処理と合成処理に加えてソース要否情報生成を実行することを決定し、変換処理部１００３、合成処理部１００４、ソース要否情報生成部１０８及びパイプライン制御部１０２を起動する。
【０１０２】
なお、前回のフレーム処理時に生成した合成レイアウト情報に変更が入る要因となる制御情報の差分検出は、別途、合成レイアウト情報の変更発生有無を示す制御情報を用意し、制御情報を設定するホストが設定する仕様とし、フレームシーケンス部１０１の差分検出の処理を簡略化してもよい。
【０１０３】
変換処理部１００３、合成処理部１００４とパイプライン制御部１０２による変換処理と合成処理の動作は、上記１フレーム目の処理で説明した動作と同じである。
【０１０４】
２フレーム目の処理においては、変換処理と合成処理と並行してソース要否情報生成部１０８がソース要否情報生成の処理を行う。ソース要否情報生成部１０８は、出力カウンタ１０５のｘ座標とｙ座標のカウンタ値、アドレス変換部１０４が出力するアドレス変換処理したｕ座標とｖ座標の値、及び合成レイアウト情報格納メモリ１０７の合成レイアウト情報を参照し、変換処理部１００３の画素処理と同期して処理を行う。
【０１０５】
ソース要否情報生成部１０８は、出力カウンタ１０５のｘ座標とｙ座標のカウンタ値が示す合成画像の画素位置に対応する合成レイアウト情報を合成レイアウト情報格納メモリ１０７から読み出し、読み出した合成レイアウト情報のソース画像番号と処理中のソース画像番号とを比較する。この画像番号の比較により、処理中のソース画像の変換処理後の画素データが合成画像３２０の生成に必要となるかどうかを判定する。この際、処理中のソース画像番号が読み出した合成レイアウト情報のソース画像番号より小さい場合は不要であり、等しいか大きければ必要となる。前記要否判定により、必要との判定結果が出た場合は、アドレス変換部１０４が算出する出力画素に対応するソース画像の画素領域の画素データが必要となるため、前記画素領域の各画素のソース要否情報として、必要を示すフラグをソース要否情報格納メモリ１０９に書き込む。図９に示した変換処理後ソース画像ｌｙｒ２（３２２）の画素５１１の場合、ソース画像ｌｙｒ２（３１３）の対応する画素ブロック５２２のソース要否情報にフラグを書き込むこととなる。
【０１０６】
一方、ソース要否情報生成部１０８は、前記要否判定により不要との判定結果が出た場合は、ソース要否情報格納メモリ１０９へのフラグの書き込みは実施しない。ここで、ソース要否情報は１ビットのデータであり、０はソース不要、１はソース必要を表し、フラグ書き込み時は１を書き込む。なお、ソース要否情報格納メモリ１０９の初期化時には０で初期化される。
【０１０７】
上述したソース画像の要否を示すフラグの書き込み処理を、表示優先度が最も低い最下層のソース画像から順に最上層のソース画像まで繰り返し、１フレーム分処理することで、ソース画像ｌｙｒ０〜ｌｙｒ３のソース要否情報が完成する。図１３は、ソース要否情報格納メモリ１０９に格納するソース要否情報の概念図である。図１３において、ソース画像ｌｙｒ０のソース要否情報８１１とソース画像ｌｙｒ１のソース要否情報８１２の斜線部はソース不要領域である。ソース画像ｌｙｒ２とｌｙｒ３のソース要否情報８１３と８１４は全てソース必要領域となる。
【０１０８】
ソース要否情報格納メモリ１０９のメモリ容量を削減するため、ソース要否情報生成部１０８において、ソース要否情報のブロック化を行う。複数の画素ブロック単位でソース要否情報を割り当てることで情報量を削減する。図１４はソース要否情報のブロックサイズの対応を示す図である。
【０１０９】
図１４に示すソース要否情報ブロックサイズ対応表９２０は、ソース画像の水平サイズまたは垂直サイズに対応する、ソース要否情報の画素ブロックの水平サイズまたは垂直サイズの対応を表で示したものである。ここで、Ｌｅｖｅｌはブロックサイズを分類する番号に相当する。ソース画像のサイズに応じてブロックサイズを可変とすることで、ソース画像のソース要否情報のサイズ上限を一定としている。例えば、ソース画像のサイズが水平３６０画素（Ｗ）×垂直２４０画素（Ｈ）の場合、水平サイズはＬｅｖｅｌ３、垂直サイズはＬｅｖｅｌ２に該当し、ブロックサイズは８（Ｗ）×４（Ｈ）画素ブロックとなる。本対応表の場合、水平方向と垂直方向それぞれの最大ブロック数は６４ブロックとなり、ソース要否情報の最大サイズは６４×６４×１ビットで５１２Ｂｙｔｅである。ソース画像の最大入力数が８画像とすると、ソース要否情報全体の最大サイズは５１２×８で４ＫＢｙｔｅとなる。
【０１１０】
なお、ソース要否情報のブロックサイズの決定は、ソース要否情報ブロックサイズ対応表９２０に限定するものではなく、ソース要否情報の最大サイズの上限を変えるようにブロックサイズを変更しても良いし、ソース画像のサイズに依存せずに一定のサイズとしても良い。
【０１１１】
以上が図５の２フレーム目の処理の動作となる。
【０１１２】
次に、図５の３フレーム目の処理に関して説明する。
【０１１３】
２フレーム目の処理が完了した後、画像処理装置１００に対して新たにフレーム処理の起動がかけられると、フレームシーケンス部１０１がフレーム処理起動の信号を検出し、フレーム処理を開始する。
【０１１４】
フレームシーケンス部１０１は、内部状態が３フレーム目の処理であることを確認し、１フレーム目の処理と同様に、外部メモリにアクセスし、変換処理と合成処理に必要な制御情報を読み出し、制御情報保持部１１１へ格納する。
【０１１５】
このとき、２フレーム目の処理と同様に、フレームシーケンス部１０１は、前回のフレーム処理時の制御情報と比較し、前回のフレーム処理時に生成したソース要否情報に変更が入る要因となる制御情報の差分があるかどうかを評価する。ここで、制御情報に合成レイアウト情報に変更が入る差分を検出した場合は、１フレーム目の処理を実行することを決定し、合成レイアウト情報格納メモリ１０７とソース要否情報格納メモリ１０９の初期化を行った後、変換処理と合成処理に加えて合成レイアウト情報生成の処理を開始する。一方、差分が検出されない場合は、３フレーム目処理として変換処理と合成処理に加えてリードマスク制御を実行することを決定し、変換処理部１００３、合成処理部１００４、ソースリードマスク部１１０及びパイプライン制御部１０２を起動する。
【０１１６】
なお、前回のフレーム処理時に生成したソース要否情報に変更が入る要因となる制御情報の差分検出は、別途、ソース要否情報の変更発生有無を示す制御情報を用意し、制御情報を設定するホストが設定する仕様とし、フレームシーケンス部１０１の差分検出の処理を簡略化してもよい。
【０１１７】
変換処理部１００３、合成処理部１００４とパイプライン制御部１０２による変換処理と合成処理の動作は、上記１フレーム目の処理で説明した動作と同じである。
【０１１８】
３フレーム目の処理においては、変換処理と合成処理でメモリ入力部１００１がソース画像メモリ１０１０からソース画像データを読み出す際に、ソースリードマスク部１１０がリードマスク制御の処理を行う。ソースリードマスク部１１０は、メモリ入力部１００１がリードアクセスするソース画像の画素領域の座標を参照し、ソース要否情報格納メモリ１０９から前記画素領域のソース要否情報を確認する。ここで、ソース画像の不要領域の場合は、メモリ入力部１００１に該当リードアクセスの発行を抑制するよう通知する。メモリ入力部１００１は、ソースリードマスク部１１０より発行抑制を通知されたリードアクセスの発行を停止し、ソース画像メモリ１０１０への不要なソース画像データのリードアクセスを防止する。発行を停止したリードアクセスに対応する画像データは、メモリ入力部１００１が内部でダミーとなるデータを用意し、変換処理部１００３へ本来の画像データの代わりに出力する。
【０１１９】
以上が図５の３フレーム目の処理の動作となる。４フレーム目以降のフレーム処理は、上記３フレーム目の処理と同一の処理である。
【０１２０】
上述したように、本実施の形態では、複数フレームの画像データを処理する場合に、合成レイアウト情報の生成処理、ソース要否情報の生成処理、リードマスク制御を行うソースリードマスク処理を、複数のフレーム処理期間に分割し、変換処理と合成処理の処理と並行して処理する。これにより、ソース画像データのリードマスク制御に用いるソース要否情報の生成に必要な処理量を削減し、回路規模の増大と処理スループットの低下とを招くことなく、画像の変換処理と合成処理を組み合わせた処理を実行することができる。また、上層のソース画像により上書きされるために無駄となるソース画像データの画像メモリへのリードアクセスを抑制し、画像処理装置と画像メモリ間のデータ転送量を削減できるので、ソース画像メモリからの読み出しに際して必要とするメモリ帯域を削減することができる。
【０１２１】
また、図１〜図３を用いて説明した画像処理装置のようにソース画像の注目画素の画素毎に逐次、重なり判定処理を行うのに対して、本実施の形態では、ソース画像１フレーム分のソース要否情報を１フレーム期間で求めるようにしている。これにより、ソース要否情報の算出に必要な変換処理後のソース画像の重なり判定の処理量を削減できる。例えば、図３の変換処理の例において、ソース画像の注目１画素のソース要否情報算出のために重なり判定が必要となる、変換処理後のソース画像の画素領域２１１の斜線部で、図１〜図３を用いて説明した画像処理装置では画素毎の逐次処理によりソース画像の画素間で重複する画素の重なり判定処理を行う必要がある。これに対して、本実施の形態では、合成レイアウト情報の生成処理を行うことで、合成処理における上書き処理判定及びソース画像番号の上書きを行う１回の処理で同様の判定結果を得られるため、１対複数画素の重なり判定処理が不要である。
【０１２２】
また、図１〜図３を用いて説明した画像処理装置では、画像処理装置の処理スループットを維持するために、ソース画像の注目１画素から重なり判定が必要な変換処理後のソース画像への画素領域へのアドレス変換処理と、前記画素領域の複数画素の重なり判定処理とを並列処理しなければならず、回路規模が増大することがあった。これに対し、本実施の形態では、画像処理装置の処理スループットを維持するために複数画素の重なり判定処理を並列に処理しなくともよく、１画素の重なり判定処理の繰り返し処理とできるため、回路規模の増大を抑制できる。
【０１２３】
さらには、合成レイアウト情報の生成処理とソース要否情報の生成処理を別のフレーム処理期間に分割し、１フレーム分の合成レイアウト情報を１フレーム期間で求めるようにすることで、重なり判定処理の処理量を削減できる。これは、１フレーム分の合成レイアウト情報を最下層のソース画像から最上層のソース画像の順に合成画像の出力位置を上書きして生成することで、従来例のような表示画像の分割処理に相当するソース画像間での重なり判定処理を削減することができるからである。
【０１２４】
また、合成レイアウト情報とソース要否情報の生成処理を変換処理と合成処理と並行して行い、変換処理の入力カウンタと出力カウンタによる画素データの入出力制御と同期して処理することで、変換処理と合成処理のパイプライン処理の制御と同じにして合成レイアウト情報とソース要否情報の生成処理を組み込むことができる。これにより、制御の複雑化を招くことなく、容易に実装することができる。
【０１２５】
なお、本実施の形態において、変換処理部１００３を回転処理部１００３ａ、リサイズ処理部１００３ｂ、及び画質調整処理部１００３ｃにより構成するとしたが、変換処理部は本構成に限定するものではない。
【０１２６】
なお、本実施の形態において、画像処理装置１００の動作において、処理単位をライン単位とし、ライン単位の処理の繰り返しによる動作を説明したが、処理単位はライン単位に限定するものではなく、画素ブロック単位等の処理単位としてもよい。
【０１２７】
なお、本実施の形態において、画像処理装置１００の処理フローとして、１フレーム目で合成レイアウト情報の生成処理を行い、２フレーム目でソース要否情報の生成処理を行うとしたが、１フレーム目と２フレーム目の２フレーム期間での処理に限定するものではない。例えば、３フレーム期間以上のフレーム期間を用いて、合成レイアウト情報とソース要否情報の生成処理を行うようにしてもよい。
【０１２８】
（実施の形態２）
図１５は、本発明の実施の形態２における画像処理装置１５００の構成を示すブロック図である。図１５において、図４の実施の形態１と同じ構成要素については同じ符号を用い、説明を省略する。
【０１２９】
実施の形態２の画像処理装置１５００において、実施の形態１の画像処理装置１００の構成との差分は、合成レイアウト情報生成部１５０６の動作が異なり、合成レイアウト情報格納メモリ１０７を有していない点となる。
【０１３０】
図１６は、実施の形態２の画像処理装置１５００において画像データのフレーム処理を連続フレームで処理する時の処理フローを表す図である。図５の実施の形態１の処理フローと異なる点は、１フレーム目の処理において、変換処理及び合成処理と並行して、合成レイアウト情報生成とソース要否情報生成を併せて実行し、２フレーム目以降のフレーム処理で１フレーム目の処理で生成したソース要否情報を用いてソース画像データのリードマスク制御を行う点である。
【０１３１】
この場合、画像処理装置１５００における合成レイアウト情報生成部１５０６は、１フレーム期間をかけて合成レイアウト情報を生成するのではないため、１フレーム目の画素毎の逐次処理時に、実施の形態１で説明した合成レイアウト情報生成部１０６の処理に加えて、複数のソース画像の重なり判定処理を実施する。つまり、合成画像の注目画素に関して、処理中のソース画像に対して、透過合成の発生有無、αブレンディングか上書き処理を行うかの判定処理に追加して、上層となる変換処理後のソース画像全てに対して、重なりが発生するかどうかの重なり判定を実施する。ここで、重なりが発生する場合は、透過合成の発生有無、αブレンディングか上書き処理を行うかの判定処理を行う。このように、上層となる変換処理後のソース画像との重なり判定を含めた処理を行い、実施の形態１と同様の合成レイアウト情報を生成して、ソース要否情報生成部１０８に出力する。
【０１３２】
ソース要否情報生成部１０８は、合成レイアウト情報の生成と同じフレーム処理において、合成レイアウト情報に基づいてソース画像の要否判定を行い、判定結果を示すフラグによるソース要否情報をソース要否情報格納メモリ１０９に書き込む。
【０１３３】
実施の形態２においては、実施の形態１で削減できた重なり判定処理は必要となるが、実施の形態１では３フレーム目処理からソース画像のリードマスク制御を実施していたのに対して、実施の形態２では連続フレーム処理の２フレーム目処理からリードマスク制御が可能となる。この場合、１フレーム目では合成レイアウト情報生成及びソース要否情報生成の処理を一度に実施するために重なり判定処理を行うが、ソース要否情報の生成処理とリードマスク制御を行うソースリードマスク処理を、複数のフレーム処理期間に分割することにより、ソース画像データのリードマスク制御に用いるソース要否情報の生成に必要な処理量を削減できる。よって、回路規模の増大と処理スループットの低下とを招くことなく、不要なソース画像データへのリードアクセスを抑制し、ソース画像メモリからの読み出しに際して必要とするメモリ帯域を削減することができる。その他の効果は実施の形態１で説明した効果と同様である。
【０１３４】
（実施の形態３）
図１７は、本発明の実施の形態３における画像処理装置１７００の構成を示すブロック図である。図１７において、図４の実施の形態１と同じ構成要素については同じ符号を用い、説明を省略する。
【０１３５】
実施の形態３の画像処理装置１７００は、変換処理部１７０３において形状処理部１００３ｄを有し、ソース画像の形状を任意に変形可能となっている。また、合成処理部１００４の出力段には、合成画像メモリ１０２０に対して合成画像データをライトまたはリードして入出力するメモリインタフェース部であるメモリ入出力部１７０５を備えている。さらに、合成レイアウト情報格納メモリ１０７の合成レイアウト情報を参照し、合成画像メモリ１０２０に対するリードマスク制御またはライトマスク制御を行うリード／ライトマスク部１７１１を備えている。リード／ライトマスク部１７１１は、メモリ入出力部１７０５が発行する合成画像メモリ１０２０へのリードアクセス要求またはライトアクセス要求の内、不要領域へのリードアクセス要求またはライトアクセス要求の発行を停止することで、メモリに対するマスク制御処理を行う。
【０１３６】
変換処理部１７０３の形状処理部１００３ｄは、ソース画像ごとに異なる形状データを処理し、形状データ処理で生成した形状にソース画像を変形する。ここで、ソース画像メモリ１０１０に格納されるソース画像はテクスチャ画像とも呼ぶ。このようなテクスチャ画像はいわゆるコンピュータグラフィックスの画像処理などで用いられる。
【０１３７】
形状処理部１００３ｄは、例えば三角形の頂点情報で構成される形状データを複数扱うものとする。この場合、ソース画像メモリ１０１０に格納されているテクスチャ画像は、その三角形を構成する部分のリードが必要である。形状処理部１００３ｄは生成した三角形に合わせてリードしたテクスチャ画像を変形する。三角形を処理するため、処理の単位は実施の形態１と異なり、ラインまたはブロック単位ではなく、三角形ごとの処理の方が制御または処理効率の観点で優れている。ただし、三角形ごとの処理を行うと、合成処理部１００４は任意形状の三角形の処理を行う必要があり、合成処理部１００４内部の定まった専用バッファ等に閉じて処理することができない。そのため、合成処理ごとに合成画像メモリ１０２０に対してリード及びライトを行うことになる。
【０１３８】
したがって、ソース要否情報格納メモリ１０９にあるソース要否情報を用いたソースリードマスク部１１０によるリードマスク制御だけでなく、合成レイアウト情報格納メモリ１０７の合成レイアウト情報を用いたリード／ライトマスク部１７１１によるリードマスク制御またはライトマスク制御を行っても良い。この場合、変換処理部１７０３へ入力されるソース画像データのリードマスクだけでなく、合成処理部１００４に対し入出力される合成画像データのリードマスクまたはライトマスクを行う。この合成手法は、入力する画像データの形状が矩形と定まったものを仮定した実施の形態１では合成処理部１００４内部で処理可能なため、基本的には不必要であるが、適用しても問題はない。
【０１３９】
合成レイアウト情報生成部１０６は、三角形形状を把握している形状処理部１００３ｄから直接制御して合成レイアウト情報を生成することも考えられる。この場合、形状すなわち頂点情報から合成画像メモリ１０２０に対応する位置の情報を算出することになる。これらはグラフィックスエンジンなどで通常に行われていることなので、グラフィックスエンジンに近い構成ならば問題はない。ただし、三角形が多数になれば書き込むべき情報量も増加し、合成レイアウト情報格納メモリ１０７が大きくなる。これに対しては、実施の形態１で示したように画素ごとでなく複数画素の情報をまとめたブロックごとで行う方法、最前面だけ特定の三角形で占める場合にのみ三角形の識別番号を書き込む方法などを採用する。特に後者は三角形の数に依存しないので、グラフィックスを扱うアプリケーションに有利である。
【０１４０】
以上の構成により、画像処理装置１７００は三角形を単位とした描画を行う画像処理装置を実現でき、例えばグラフィックスエンジンなどへ適用が可能となる。なお、三角形以上の多角形を扱ってもよい。
【０１４１】
ただし、処理単位の三角形が多くなってくると、合成レイアウト情報だけでなくソース要否情報もそれに比例して多くなり、また異なる三角形が重複するソース画像を参照する場合は管理が困難になる。この場合、ソース画像単位でなく三角形単位にソース要否情報を割り当てる。ソース要否情報を最も少なくするのは、三角形ごとに１ビット程度のソース要否情報を持たせることである。三角形が完全に上書きされる場合はマスクあり、一部の領域が合成画像の出力として必要な場合はマスクなしとなる。実際には、ソース要否情報生成部１０８は三角形ごとに、三角形に属する全ての画素に対して重なり判定を行い、その結果を反映することとなる。すなわち、ソース要否情報生成部１０８は、ソース要否情報として、多角形の形状データに属する画素全てに対して上書きされるか否かのみを示す情報を生成する。
【０１４２】
なお、ソース要否情報は実施の形態１のように管理してもよいし、別途独立したメモリ領域へ書き込む、もしくは制御情報保持部１１１に入力する三角形単位の管理情報に書き込むようにしてもよい。これらの手法は、三角形の数が多く、その平均面積が十分小さくなるグラフィックス描画に適している。例えば、アニメーションする３Ｄ画像であっても、フレームが数枚限定的に繰り返しているものなどに効果がある。
【０１４３】
このように、実施の形態３は、多角形のソース画像データを処理するグラフィックスエンジン等の画像処理装置に適用可能であり、実施の形態１と同様の効果が得られる。
【０１４４】
（実施の形態４）
実施の形態４は、実施の形態１における合成レイアウト情報生成及びソース要否情報生成の処理の一部を変更した変形例である。実施の形態４の動作を、実施の形態１で使用した図４と図６を用いて説明する。
【０１４５】
ソースリードマスク部１１０は、処理対象のソース画像について、１フレーム前もしくは２フレーム前のソース要否情報の差分の有無を検出する。検出単位としては、ライン単、あるいはブロック単位で検出すればよい。いずれにしても、局所的に変化した部分を管理しやすい単位で抽出する。以下ではライン単位でソース要否情報の変化を検出して処理する場合を説明する。
【０１４６】
合成処理における合成出力位置が変化していても、ソース要否情報は２フレーム前のものが確定しているので、常に２フレーム前のものを比較すればよい。ただし、１フレーム前と２フレーム前が同一のものであると前回の結果により検出できているのであれば、１フレーム前のものを比較してもよい。
【０１４７】
ソースリードマスク部１１０は、ライン単位でソース要否情報を比較した結果、差分が出るラインをチェックする。次に、ライン単位で変換処理部１００３、合成処理部１００４の処理が施されるが、ソース画像をソース画像メモリ１０１０からリードする際、ソースリードマスク部１１０は、先にチェックして差分なしと判定したラインだけソース要否情報を参照してリードマスクを行う。一方、差分ありと判定したラインはリードマスクしない。これと同時に、合成レイアウト情報生成部１０６とソース要否情報生成部１０８は、最新の合成レイアウト情報とソース要否情報を作成する。以上の処理を繰り返すことにより、フレーム更新が生じても必要最小限のソース画像リードを行うことができる。
【０１４８】
例えば、図６においてｌｙｒ３がフレーム間でｙ方向に１ライン分移動したとする。この場合、上部の接線ｙ３と下部の接線ｙ６が下方向に１画素移動する。ライン単位で処理する場合、上記移動に伴ってｙ３とｙ６に接するライン情報だけが、１フレーム前と異なることが分かる。したがって、ソース要否情報格納メモリ１０９にソース要否情報が揃っているのであれば、上記のｙ３とｙ６に接するライン以外のソース要否情報の生成に関しては、以前のフレームのソース要否情報が利用できる。逆に、上記のｙ３とｙ６に接するラインは、ソース要否情報無しにそのまま画素データをリードする。以上の処理によって、フレームが更新されて合成画像におけるソース画像の位置等が変化する場合であっても、ソース要否情報の更新を待たずに再利用できる。
【０１４９】
ただし、実施の形態１で示したように、ソース要否情報の作成に２フレーム期間を要する場合は、２フレーム前のフレームとの差分を検出する必要がある。さらに、２フレーム前のソース要否情報が必要になるため、ソース要否情報の管理が問題となる。ここでは、ソース要否情報が１つだけで、フレーム更新ごとに上書きする例を示しているが、別管理にしても問題ない。
【０１５０】
上記の処理はフレームの変化が微小である想定なので、全画面変更する場合は予め差分検出を行わずソース要否情報を利用しなくてもよい。また、ライン単位を想定しているが、これがブロック単位であっても手法は変わらない。
【０１５１】
このように実施の形態４によれば、フレーム間の合成画像の変化が少ない場合に、以前のフレームで生成したソース要否情報を利用してリードマスク制御を行うことができ、ソース要否情報を生成する処理量を削減できる。
【０１５２】
上述したように、本実施の形態によれば、変換処理と合成処理を組み合わせた処理を実施する場合においても、ソース画像データのリードマスク制御に用いるソース要否情報の生成に必要な処理量を削減でき、回路規模の増大、及び処理スループットの低下を抑制できる。したがって、回路規模の増大と処理スループットの低下とを招くことなく、画像の変換処理と合成処理を組み合わせた処理を実行すると同時に、上層のソース画像により上書きされ消失してしまうソース画像のデータを画像メモリから読み出さないようにし、無駄なメモリアクセスの発生を抑制でき、必要とするメモリ帯域を削減することができる。
【０１５３】
なお、本発明は、本発明の趣旨ならびに範囲を逸脱することなく、明細書の記載、並びに周知の技術に基づいて、当業者が様々な変更、応用することも本発明の予定するところであり、保護を求める範囲に含まれる。また、発明の趣旨を逸脱しない範囲で、上記実施形態における各構成要素を任意に組み合わせてもよい。
【０１５４】
上記各実施形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はソフトウェアで実現することも可能である。
【０１５５】
また、上記各実施形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１５６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、あるいはＬＳＩ内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１５７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【産業上の利用可能性】
【０１５８】
本発明は、変換処理と合成処理を組み合わせた処理においても、回路規模の増大と処理スループットの低下とを招くことなく、上層のソース画像により上書きされる不要なソース画像のデータを画像メモリから読み出さないようにして無駄なメモリアクセスの発生を抑制することが可能となる効果を有する。本発明にかかる画像処理装置及び画像処理方法は、複数の画像データに対して、回転、拡大、縮小、及び変形処理、画質調整処理等の変換処理を行い、合成処理により１枚の表示画像を生成し、表示デバイスに出力する機能を有した機器、特に、携帯電話、携帯ＴＶ、ノートＰＣ等の携帯機器、あるいは、デジタルＴＶ、ＤＶＤ／ＢＤレコーダ、デスクトップＰＣ、車載向けナビゲーション機器等において有用である。
【符号の説明】
【０１５９】
１０００  画像処理装置
１００２  ソース不要領域算出部
１００６  制御情報保持部
１１０１  ソースアドレス生成部
１１０２  表示アドレス変換部
１１０３  重なり判定部
１１０４  ソース要否判定部
２００  ソース画像
２０１、２０２  画素ブロック
２１０  変換処理後ソース画像
２１１  画素ブロック
１００  画像処理装置
１０１  フレームシーケンス部
１０２  パイプライン制御部
１０３  入力カウンタ
１０４  アドレス変換部
１０５  出力カウンタ
１０６  合成レイアウト情報生成部
１０７  合成レイアウト情報格納メモリ
１０８  ソース要否情報生成部
１０９  ソース要否情報格納メモリ
１１０  ソースリードマスク部
１１１  制御情報保持部
１００１  メモリ入力部
１００３  変換処理部
１００３ａ  回転処理部
１００３ｂ  リサイズ処理部
１００３ｃ  画質調整処理部
１００３ｄ  形状処理部
１００４  合成処理部
１００５  メモリ出力部
１０１０  ソース画像メモリ
１０２０  合成画像メモリ
３１１  ソース画像ｌｙｒ０
３１２  ソース画像ｌｙｒ１
３１３  ソース画像ｌｙｒ２
３１４  ソース画像ｌｙｒ３
３２０  合成画像
３２１  変換処理後ソース画像ｌｙｒ１
３２２  変換処理後ソース画像ｌｙｒ２
３２３  変換処理後ソース画像ｌｙｒ３
３２４  画素領域
５１１、５１２  画素
５２１、５２２、５２３  画素ブロック
７１０  合成レイアウト情報ビットフォーマット
７２０  合成レイアウト情報ブロックサイズ対応表
８１１  ソース画像ｌｙｒ０のソース要否情報
８１２  ソース画像ｌｙｒ１のソース要否情報
８１３  ソース画像ｌｙｒ２のソース要否情報
８１４  ソース画像ｌｙｒ３のソース要否情報
９２０  ソース要否情報ブロックサイズ対応表
１５００  画像処理装置
１５０６  合成レイアウト情報生成部
１７００  画像処理装置
１７０３  変換処理部
１７０５  メモリ入出力部
１７１１  リード／ライトマスク部
１８１０  アトリビュートメモリ
１８２０  表示画面
１８２１、１８２２、１８２３  画素領域
１８３０  画像メモリ
１８４０  描画回路
１８５０  ｖ１−ｖ２間ソース画像分割処理
【図１】
0005523035.tif 000002
【図２】
0005523035.tif 000003
【図３】
0005523035.tif 000004
【図４】
0005523035.tif 000005
【図５】
0005523035.tif 000006
【図６】
0005523035.tif 000007
【図７】
0005523035.tif 000008
【図８】
0005523035.tif 000009
【図９】
0005523035.tif 000010
【図１０】
0005523035.tif 000011
【図１１】
0005523035.tif 000012
【図１２】
0005523035.tif 000013
【図１３】
0005523035.tif 000014
【図１４】
0005523035.tif 000015
【図１５】
0005523035.tif 000016
【図１６】
0005523035.tif 000017
【図１７】
0005523035.tif 000018
【図１８】
0005523035.tif 000019
【図１９】
0005523035.tif 000020