(57)【要約】【課題】  バッファメモリへのアクセス回数を抑えた効率の良いアクセスを実現することにより、画像処理速度の向上させることが可能になる。【解決手段】  データ転送制御回路は、第１の信号処理部から得られた第ｉ番目の部分画像データをバッファメモリに転送する際に、当該第ｉ番目の部分画像データの中の、１つ前の第ｉ−１番目の部分画像データと重複する領域のデータを除くデータを前記バッファメモリに転送し、重複する領域のデータを含む前記第ｉ番目の部分画像データを後続する第２の信号処理部に転送する。【選択図】  図２
2015109037.tif 000002
【特許請求の範囲】
【請求項１】
互いに重複する領域を持つ複数の部分画像データを含む画像データを処理する手段であって、それぞれが前記部分画像データを単位として画像処理を行う複数の処理手段と、
記憶手段と、
前記複数の処理手段における第１の処理手段により処理された部分画像データを前記記憶手段に書き込み、前記記憶手段に記憶された部分画像データを読みだして前記第２の処理手段に転送するデータ転送手段とを有し、
前記データ転送手段は、
前記第１の処理手段から得られた第ｉ番目の部分画像データのうち、１つ前の第ｉ−１番目の部分画像データと重複する領域のデータを除くデータを、前記記憶手段における、前記第ｉ−１番目の前記重複する領域のデータの記憶アドレスと連続するアドレスに書き込み、前記重複する領域のデータを含む前記第ｉ番目の部分画像データを前記記憶手段から読み出して前記第２の処理手段に転送する
ことを特徴する画像処理装置。
【請求項２】
前記データ転送手段は、前記第ｉ−１番目の部分画像データの最初のラインにおける前記重複領域のデータの記憶アドレスの直後のアドレスを前記ｉ番目の部分画像データの書き込み開始アドレスとして設定し、前記第ｉ番目の部分画像データの各ラインにおける前記重複領域以外の領域のデータを書き込む毎に、前記重複領域のサイズ分だけ書き込みアドレスをジャンプすることにより、前記第ｉ番目の部分画像データを前記記憶手段に書き込むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記データ転送手段は、前記第ｉ−１番目の部分画像データの最初のラインにおける前記重複領域のデータの記憶アドレスを、前記ｉ番目の部分画像データの読出し開始アドレスとして設定して、前記ｉ番目の部分画像データを前記記憶手段から読み出すことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記データ転送手段は、１画面における最初の前記部分画像データの連続する２ラインを連続するアドレスに書き込むことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記複数の部分画像データの１ラインのデータ量は互いに同じであることを特徴とする請求項２乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記複数の部分画像の少なくとも一つの１ラインのデータ量は、他の部分画像の１ラインのデータ量よりも大きく、
前記データ転送手段は、前記他の部分画像データである前記第ｉ番目の各ラインにおける前記重複領域以外の領域のデータを書き込む毎に、前記少なくとも一つの部分画像データの１ラインのデータ量と前記他の部分画像データの１ラインのデータ量との差分と、前記重複領域との合計のサイズ分だけ書き込みアドレスをジャンプすることにより、前記第ｉ番目の画像データを前記記憶手段に書き込むことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記他の部分画像データである、１画面における最初の前記部分画像データにおける１ラインのデータを書き込む毎に、前記少なくとも一つの部分画像データの１ラインのデータ量と前記他の部分画像データの１ラインのデータ量との差分だけ書き込みアドレスをジャンプすることにより、前記最初の部分画像データを前記記憶手段に書き込むことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記データ転送手段は、前記他の部分画像データである、１画面における最初の前記部分画像データにおける１ラインのデータそれぞれに、前記少なくとも一つの部分画像データの１ラインのデータ量と前記他の部分画像データの１ラインのデータ量との差分に対応したデータ量のダミーのデータを付加し、前記ダミーのデータが付加された、連続する２ラインのデータを連続するアドレスに書き込むことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記データ転送手段は、前記記憶手段からの前記第ｉ番目の部分画像データの読み出しアドレスが、前記第１の処理手段からの前記第ｉ番目の部分画像データの書き込みアドレスを追い越すことを防止する手段を有することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記記憶手段はＤＲＡＭであり、前記データ転送手段は、一つの前記部分画像データを、前記ＤＲＡＭにおける同じロウアドレスに書き込むことを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置に関するものである。
【背景技術】
【０００２】
デジタルカメラ等の画像処理装置では、一般的にノイズ低減、光学歪補正、画像回転等の画像処理が行われる。例えば、ノイズ低減処理の場合、画像データを複数の周波数帯域に分割して生成した複数種類の画像データをＤＲＡＭへ書き込む。その後、ＤＲＡＭから読み出した各画像データに適切なフィルタ処理を施し、周波数帯域毎に処理された画像データを再び周波数合成することでノイズ低減処理を行う技術が知られている。
【０００３】
このような画像処理において、フィルタ処理をＳＲＡＭ等のラインメモリを用いて行う場合、画像の多画素化に伴って必要なラインメモリ容量が増え、回路規模が増加してしまうという問題がある。また、近年の静止画連写コマ数、動画フレームレートの向上等に伴い、このような画像処理を高速に行うことの重要性が高くなってきている。
【０００４】
従来このような問題に対し、回路規模を抑えた画像処理や、データの処理速度向上を実現する様々な技術が知られている。
【０００５】
特許文献１では、画像データを複数に分割し、分割した領域毎に画像処理を施すことで回路規模を抑えている。つまり、ラインバッファへの格納が必要なデータ量がラインバッファ容量に収まるように、画像を複数に分割した分割画像単位で処理を行うことで、ラインバッファ容量の増加を抑えている。尚、この分割処理においてフィルタ処理を行う場合、分割画像の上下左右端の画素に対してフィルタ処理に必要な画素領域（以下、重複領域という）を余分に付加してフィルタ処理を行うことになる。
【０００６】
特許文献２では、分割画像のパイプライン処理において、重複領域が必要な分割画像の処理を高速に行う技術が開示されている。具体的には、第１〜第３の３つの記憶領域を有し、パイプライン処理では、第１記憶領域に入力画像を書き込むと共に、残りの第２、及び第３記憶領域から格納済みの分割画像データと重複領域画像をそれぞれ読み出して画像処理を行う。これにより、入力画像の書き込みに影響されずに分割画像データと重複領域画像を読み出すことが出来る。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１８６９１７号公報
【特許文献２】特開２００５−２５０５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示の技術では、分割パイプライン処理において分割画像をＤＲＡＭへ書き込み、ＤＲＡＭから分割画像を読み出してフィルタ処理を施す場合、ＤＲＡＭアクセスデータ量が増加してしまうという問題がある。具体的には、フィルタ処理に必要な重複領域を分割画像処理毎にＤＲＡＭに書き込む必要があり、これによってＤＲＡＭアクセスデータ量が増加し、データ処理速度に影響が出てしまう。
【０００９】
また、特許文献２に開示の技術では、３つの記憶領域の構成である為、分割画像に対して、分割画像の左端と右端（または上端と下端）等、複数の重複領域が必要な場合に正しくフィルタ処理が出来ない可能性がある。また、重複領域以外の不要な画像データも重複領域画像と共に記憶領域に保持する必要がある為、多くの記憶領域容量が必要になる。また、分割画像と重複領域画像を異なる記憶領域に格納する必要があり、一般的に水平分割処理時の重複領域の水平サイズは小さい為、記憶領域としてＤＲＡＭを用いるとＤＲＡＭへのショートバーストアクセスが頻発してしまう。ＤＲＡＭへのショートバーストが頻発すると、コマンドオーバーヘッドが増加する為、データ処理速度が低下してしまう。
【００１０】
そこで、本明細書では、バッファメモリへのアクセス回数を抑えた効率の良いアクセスを実現することにより、画像処理速度の向上させるための技術を提供する。
【課題を解決するための手段】
【００１１】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
互いに重複する領域を持つ複数の部分画像データを含む画像データを処理する手段であって、それぞれが前記部分画像データを単位として画像処理を行う複数の処理手段と、
記憶手段と、
前記複数の処理手段における第１の処理手段により処理された部分画像データを前記記憶手段に書き込み、前記記憶手段に記憶された部分画像データを読みだして前記第２の処理手段に転送するデータ転送手段とを有し、
前記データ転送手段は、
前記第１の処理手段から得られた第ｉ番目の部分画像データのうち、１つ前の第ｉ−１番目の部分画像データと重複する領域のデータを除くデータを、前記記憶手段における、前記第ｉ−１番目の前記重複する領域のデータの記憶アドレスと連続するアドレスに書き込み、前記重複する領域のデータを含む前記第ｉ番目の部分画像データを前記記憶手段から読み出して前記第２の処理手段に転送することを特徴する。
【発明の効果】
【００１２】
本発明によれば、バッファメモリへのアクセス回数を抑えた効率の良いアクセスを実現することにより、画像処理速度の向上させることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る画像処理装置のＤＲＡＭアクセスシーケンスを示す図。
【図２】実施形態に係る画像処理装置の構成を示すブロック図である。
【図３】第１、第２の実施形態に係るデータ転送制御回路のブロック図。
【図４】実施形態に係るＤＭＡＣのアドレス制御部の構成を示すブロック図。
【図５】第１の実施形態に係る画像処理装置が処理する分割画像と重複領域との関係を示す図。
【図６】画像処理装置の分割画像処理の順序を示す図である。
【図７】実施形態に係る分割画像のＤＲＡＭアクセスにかかる処理手順を示すフローチャート。
【図８】第２、第３の実施形態に係る画像処理装置が処理する分割画像サイズと重複領域の関係を示す図。
【図９】第２の実施形態に係る画像処理装置のＤＲＡＭアクセスシーケンスを示す図。
【図１０】第３の実施形態に係るデータ転送制御回路の構成を示す図。
【図１１】第３の実施形態に係る画像処理装置のＤＲＡＭアクセシーケンスを示す図。
【図１２】第３の実施形態に係る分割画像のＤＲＡＭアクセスにかかる処理手順を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。
【００１５】
［第１の実施形態］
図２は、第１の実施形態に係る画像処理装置の構成を示すブロック図である。第１の実施形態では、画像処理装置がデジタルカメラに適当される。
【００１６】
図２において、２０１はレンズや絞り等からなる結像光学部であり、フォーカス調節や露出調節を行う。２０２は光学像を電気信号に変換するＣＣＤ等の撮像素子、２０３は撮像素子２０２からのアナログ画像信号をデジタル画像データに変換するＡ／Ｄ変換回路である。２３０は一時的にデータを格納するため、並びに、各種処理のバッファメモリとして機能するＤＲＡＭである。２２０はＤＲＡＭ２３０への画像データの書き込み／読み出しを制御し、複数の信号処理部の間に介在するデータ転送制御回路、２０４はバスを介して各種制御を司るＣＰＵである。２１０、２１１は画像データに対して、ノイズ低減処理等の各種画像処理（ノイズ除去、歪補正、回転など）を施す第１、第２の信号処理部である。第１の実施形態では、１画面の画像から、それぞれが元の１画面の画像データの一部を含み、互いに重複する領域を有する画像データ（以下、部分画像データ）を生成する。そして、生成した部分画像データを単位に第１の信号処理部２１０が歪補正処理し、その結果をＤＲＡＭ２３０へ書き込む。もう一つの第２の信号処理部２１１はＤＲＡＭ２３０から、第１の信号処理部２１０の処理結果の部分画像データを読み出し、ノイズ除去のフィルタ処理を施す。なお、ここで示した第１の信号処理部２１０、第２の信号処理部２１１の処理の種別は一例であって、これによって本発明が限定されるものではない。
【００１７】
２１２は、記録部２０６が記録媒体へ記録する画像データを生成する記録画像生成部であり、符号化回路を有する。２０５は、第２の信号処理部２１１で生成された画像データを表示する液晶モニター等からなる表示部である。なお、記録媒体は着脱可能なメモリカードとするが、その種類は問わない。
【００１８】
図３は、第１の実施形態に係るデータ転送制御回路２２０の構成を示すブロック図である。３００は、ＤＲＡＭ２３０への画像データの書き込みのための転送を制御するＷＲＤＭＡＣ（Ｗｒｉｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）である。３１０は、ＤＲＡＭ２３０からの画像データの読み込みのための転送を制御するＲＤＤＭＡＣ（Ｒｅａｄ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）である。実施形態では、第１の信号処理部２１０、第２の信号処理部２１１に対し、それぞれ、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０が設けられる。３２０は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０の要求により、ＤＲＡＭ２３０に対して書き込み／読み出しコマンド等の転送を制御するメモリアクセス制御部である。３２１は追い越し防止制御部であり、始めにＤＲＡＭ２３０へアクセスを開始したＤＭＡＣのアクセスアドレスを、２番目にアクセスを開始したＤＭＡＣのアクセスアドレスが追い越さないように制御する追い越し防止制御部である。本第１の実施形態では、始めにＤＲＡＭ２３０へアクセスを開始するＤＭＡＣとしてＷＲＤＭＡＣ３００、２番目にアクセスを開始するＤＭＡＣとしてＲＤＤＭＡＣ３１０を設定する。つまり、追い越し防止制御部３２０は、ＲＤＤＭＡＣ３１０のＤＲＡＭ２３０へのアクセスアドレスがＷＲＤＭＡＣ３００のＤＲＡＭ２３０へのアクセスアドレスを追い越さないように設定する。具体的には、ＲＤＤＭＡＣ３１０のＤＲＡＭ２３０へのアクセスアドレスがＷＲＤＭＡＣ３００のＤＲＡＭ２３０へのアクセスアドレス以上の場合は、ＲＤＤＭＡＣ３１０のＤＲＡＭ２３０へのアクセスを禁止する。これにより、ＷＲＤＭＡＣ３００によるＤＲＡＭ２３０への書き込みが完了している画像データのみ確実にＲＤＤＭＡＣ３１０が読み込むことができる。
【００１９】
本第１の実施形態はこの追い越し防止制御を適用し、第１の信号処理部２１０のＤＲＡＭ２３０への書き込み開始直後に、第２の信号処理部２１１のＤＲＡＭ２３０への読み出しを開始させることで、画像処理に要する時間を短くしている。
【００２０】
本第１の実施形態におけるＤＲＡＭ２３０は１アドレス３２ｂｉｔの８ＢＡＮＫ構成であり、１回のアクセスで最大１６バースト（３２ｂｉｔ×１６ＢＬ＝６４Ｂｙｔe）のデータを連続転送できる。ＤＲＡＭ２３０へアクセスを行う際、１つのバンクに対してＷＲＤＭＡＣ３００による書き込みとＲＤＤＭＡＣ３１０による読み出しを行うと、アクセスを行う度にプリチャージコマンドの発行が必要になる可能性が高くなる。その場合、プリチャージコマンド発行中は同一バンクへのアクセスが行えない為、ＤＲＡＭ２３０へのアクセス効率が低下してしまう。よって本第１の実施形態では、後述のように部分画像を処理する場合に、一つの部分画像をＤＲＡＭ２３０に対して書き込む場合に、バンクインターリーブ制御して画像データのアクセスを行う。バンクインターリーブ制御を行うと、１つのバンクへのデータアクセス期間中に、他のバンクへのプリチャージコマンド発行が可能である為、画像データの書き込みに要する時間を短く抑え、効率良くＤＲＡＭ２３０へのアクセスを行うことができる。
【００２１】
図４に第１の実施形態における、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０のデータ格納アドレスを算出するアドレス制御部のブロック図を示す。図４のアドレス制御回路は、各ＤＭＡＣ、即ち、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０にそれぞれ設けられている。ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０は、ある量のデータを転送したらデータ格納アドレス値をジャンプさせるオフセットジャンプ機能を有している。ＣＰＵ２０４は、第１の信号処理部２１０、第２の信号処理部２１１から書き込み、読み出し要求があった場合、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対して、スタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値を設定する。アドレスセレクタ４０１は、データアクセス開始時においてＣＰＵ２０４に設定されたスタートアドレスをアドレス値として選択する。転送長カウンタ４０２は、転送データ長をカウントし、ＣＰＵ２０４に設定されたオフセットデータ転送長のデータを転送する毎に、オフセット値算出器４０３へオフセットタイミング信号を出力する。また、転送長カウンタ４０２は、ＣＰＵ２０４に設定されたデータ総転送長とオフセットデータ転送長から、ＤＲＡＭ２３０へ１回のアクセスで転送するデータ転送長をオフセット値算出器４０３へ出力する。オフセット値算出器４０３は転送長カウンタ４０２からオフセットタイミング信号を受信すると、ＣＰＵ２０４に設定されたオフセット値を出力する。それ以外のタイミングでは転送長カウンタ４０２から出力されるデータ転送長を出力する。加算器４０４は、オフセット値算出器４０３から出力された値を現在のアドレス値に加算し、次のデータを格納するアドレス値を生成する。アドレスセレクタ４０１は、データが転送される毎に、加算器４０４が出力する値を現在のアドレス値として選択し、４０５のフリップフロップで値を保持する。
【００２２】
図５は、第１の実施形態に係る画像処理装置により処理される画像データを示す図である。本実施形態では、画像データの１画素を１バイトのデジタルデータとして処理し、１画面の水平方向を１５２８画素、垂直方向を３８４画素（ライン）で構成する。本第１の実施形態では、処理対象の１画面の画像データから、それぞれが元の画像データの一部を含む三つの部分を生成し、各部分の画像データに対して画像処理を行う。この際、各部分の水平方向及び垂直方向の画素数が等しくなるように部分画像を生成する。また、各部分画像は、元の１画面において、当該部分画像に隣接する画像を含む部分画像との間で一部の領域の画像データが重複する様に生成される。隣接する部分画像と重複する領域を重複領域とよぶ。なお、ここでは１画面から三つの部分画像を生成するが、これ以外の数の部分画像を生成するようにしてもよい。また、各部分画像の水平方向の画素数は、重複領域の画素数に応じて、適宜変更できるようにしてもよい。図５において、「左」は１つの部分画像の左端の重複領域を示し、「右」は同右端の重複領域を示し、「中」は左右端の重複領域で挟まれる非重複領域を示す。
【００２３】
本実施形態では、１つの部分画像のサイズは、水平５１２画素、垂直３８４画素とする。１画素がバイトのデータなので、各部分画像のデータ量は、水平５１２バイト×垂直３８４画素となる。また、左右端それぞれフィルタ処理で必要となる画素を４画素とする。実施形態では１画素が１バイトであるものとしているので、重複領域のサイズは水平方向に４Ｂｙｔｅとなる。因に、水平方向の重複する画素数をＮ，１画素を構成するバイト数がＭとしたとき、重複する領域のバイト数はＮ×Ｍと定義できる。また、１画面から三つの部分画像を生成する場合、何れかの部分画像が元の１画面における左端を含み、他の部分画像が元の１画面における右端を含むように生成する。ここで、１番目の部分画像Ｂ１の右端重複領域データと、２番目の部分画像Ｂ２の左端重複領域データは同一画像データである。また、２番目の部分画像Ｂ２の右端重複領域データと、３番目の部分画像Ｂ３の左端重複領域データも同一画像データである。
【００２４】
なお、各部分画像は、第１の信号処理部２１０がＤＲＡＭ２３０から画像データを読み出して処理する際に、ＤＲＡＭ２３０からの読み出しアドレスを制御することにより生成される。
【００２５】
図６は、第１の実施形態に係る画像処理装置の部分画像に対する処理順序を示す図である。時刻Ｔ１において第１の信号処理部２１０は、１番目の部分画像Ｂ１の処理を行ってＤＲＡＭ２３０にその処理後の部分画像を書き込む。第１の信号処理部２１０がＤＲＡＭ２３０へ１番目の部分画像Ｂ１の書き込みを開始した直後に、第２の信号処理部２１１は、ＤＲＡＭ２３０から、第１の信号処理部２１０が書き込んだ１番目の部分画像Ｂ１を読み出して画像処理（フィルタリング処理）を行う。第１の実施形態では、追い越し防止制御部３２１により、第１の信号処理部２１０により処理対象の部分画像の書き込みが完了する前に、同じ処理対象の部分画像を第２の信号処理部２１１が読み出さないように制御している。このように、追い越し制御を実施して第１の信号処理部２１０の部分画像の書き込みを開始した後、書き込みと並列に、第２の信号処理部２１１の部分画像の読み出しを行うことで、部分画像の処理時間を短くしている。第２の信号処理部２１１による１番目の部分画像Ｂ１の読み出しが完了すると（時刻Ｔ２）、第１の信号処理部２１０は、２番目の部分画像Ｂ２の処理を行ってＤＲＡＭ２３０にその処理後の部分画像Ｂ２を書き込む。第１の信号処理部２１０がＤＲＡＭ２３０へ２番目の部分画像Ｂ２の書き込みを開始した後、第２の信号処理部２１１は、第１の信号処理部２１０が書き込んだ２番目の部分画像Ｂ２をＤＲＡＭ２３０から読み出して画像処理を行う。ここでも追い越し防止制御部３２１により、第１の信号処理部２１０により処理対象の部分画像Ｂ２書き込みが完了する前に、同じ処理対象の部分画像を第２の画像処理部２１１が読み出さないように制御している。以降同様に、第２の信号処理部２１１による２番目の部分画像Ｂ２の読み出しが完了すると（時刻Ｔ３）、第１の信号処理部２１０は、３番目の部分画像Ｂ３の処理を行って、ＤＲＡＭ２３０にその処理後の部分画像Ｂ３を書き込む。また第１の信号処理部２１０がＤＲＡＭ２３０へ３番目の部分画像Ｂ３の書き込みを開始した後、書き込みと並列に、第２の信号処理部２１１は、第１の信号処理部２１０が書き込んだ３番目の部分画像Ｂ３をＤＲＡＭ２３０から読み出して画像処理を行う。ここでも追い越し防止制御部３２１により、第１の信号処理部２１０により処理対象の部分画像Ｂ３の書き込みが完了する前に、同じ処理対象の部分画像を第２の画像処理部２１１が読み出さないように制御している。
【００２６】
図１（ａ）乃至（ｃ）は、第１の実施形態に係る画像処理装置のＤＲＡＭ２３０アクセスパターンを示す図である。
【００２７】
同図（ａ）は図６の時刻Ｔ１における、第１の信号処理部２１０からＤＲＡＭ２３０への書き込みシーケンスと、第２の信号処理部２１１のＤＲＡＭ２３０からの読出しシーケンスを示している。
【００２８】
実施形態の場合、１つの部分画像は水平方向に５１２バイト、垂直方向に３８４画素で構成される。そこで、ＣＰＵ２０４は、第１の信号処理部２１０から画像データの書き込み要求があった場合、データ転送制御部２２０内のＷＲＤＭＡＣ３００に対して、書き込み開始アドレスＷ＿Ｓ＿Ａｄｄｒとして、ＤＲＡＭ２３０の所定のバンクにおける所定のロウアドレスの先頭のカラムアドレスをセットする。また、ＣＰＵ２０４は、データ総転送長として１９６６０８バイト（＝５１２×３８４）、オフセットデータ転送長として０、オフセットとして０をセットし、第１の信号処理部２１０による画像データの書き込みを開始させる。なお、オフセットデータ長が０の場合、書き込みアドレスがジャンプすることはなく、アドレスが昇順に順番に更新されていくことを示すものとする。また、ＣＰＵ２０４は、データ転送制御部２２０内のＲＤＤＭＡＣ３００に対して、読出し開始アドレスＲ＿Ｓ＿Ａｄｄｒとして、ＤＲＡＭ２３０の所定のバンクにおける所定のロウアドレス、即ち、第１の信号処理部２１０により画像データが書き込まれたロウアドレスの先頭のカラムアドレスをセットする。また、ＣＰＵ２０４は、データ総転送長として１９６６０８バイト（＝５１２×３８４）、オフセットデータ転送長として０、オフセットとして０をセットし、第２の信号処理部２１０による画像データの読み出しを開始させる。
【００２９】
以上の結果、図１（ａ）に示すごとく、第１の信号処理部２１０で処理された最初の部分画像Ｂ１のデータが、ＤＲＡＭ２３０の一つのバンクにおける所定のロウアドレスの先頭のカラムアドレスから途切れることなく格納されていく。また、一つの部分画像のデータの書き込み途中で、一つのバンクにおける最終のカラムアドレスに達した場合、メモリアクセス制御部３２０は、書き込み先を別のバンクに切り替えて、画像データの書き込みを続ける。なお、図示では、部分画像Ｂｘ（ｘは１乃至３のいずれか）のラインｙ（ｙは１乃至３８４のいずれか）の画像データを、「Ｂ．ｘ−Ｌ．ｙ」として表している。先に説明したように、実施形態におけるＤＲＡＭ２３０は最大１６バースト長で、６４バイトのデータ転送を行うことが可能としている。各部分画像の１ラインは５１２バイトで構成されているので、１ライン分の画像データを転送する場合、１６バースト転送を８回行うことになる。つまり、部分画像Ｂ１をＤＲＡＭ２３０に書き込む場合、最大バースト長のデータ転送だけで実現できることになる。
【００３０】
また、ＤＲＡＭ２３０の所定のバンクにおける所定のロウアドレスの先頭のカラムアドレスから連続した読み出しアドレスが指定され、第２の信号処理部２１１に対して画像データが読み出され、フィルタリング処理を行うことになる。そして、部分画像Ｂ１をＤＲＡＭ２３０から読み出す際も、最大バースト長のデータ転送だけで実現できることになる。
【００３１】
図１（ｂ）は、２番目の部分画像Ｂ２の書き込みと読出しのシーケンスを示している。既に説明したように、部分画像Ｂ１と部分画像Ｂ２は、互いに重複部分を有する。つまり、部分画像Ｂ１の右端の４バイトと部分画像Ｂ２の左端の４バイトは同じ画像である。そこで、２番目の部分画像Ｂ２の各ラインの左端の４バイトについては、既にＤＲＡＭ２３０に記憶済みのデータ（符号２０１ａ）を利用してフィルタ処理を実行する。これにより、部分画像Ｂ２を処理するために、重複部分を第１の信号処理部２１０からＤＲＡＭ２３０に転送することを省略して、部分画像Ｂ２の処理のために、画像データをＤＲＡＭ２３０に書き込むために要する時間を短縮する。
【００３２】
具体的には、ＣＰＵ２０４は、第１の信号処理部２１０から部分画像Ｂ２の書き込み要求があった場合、データ転送制御部２２０内のＷＲＤＭＡＣ３００に対して、ＤＲＡＭ２３０の所定のバンクにおける所定のロウアドレスの先頭ではなく、部分画像Ｂ１のライン１の右端の４バイトの画像データが記憶されているアドレスの直後のアドレスを、部分画像Ｂ２の書き込み開始アドレスとして設定する。また、ＣＰＵ２０４は、データ転送制御部２２０内のＷＲＤＭＡＣ３００に対して、データ総転送長として１９５０７２バイト（＝（５１２−４）×３８４）、オフセットデータ転送長として５０８、オフセットとして４をセットし、第２の信号処理部２１０に対する画像データの読み出しを開始させる。上記の結果、５０８バイトの画像データが書き込まれるたびに、書き込みアドレスが４バイト追加されることが繰り返される。この結果、部分画像Ｂ１の各ラインの右端の４バイトが上書きされずにＤＲＡＭ２３０に記憶される。本実施形態では、ＤＲＡＭ２３０に記憶されたままの、部分画像Ｂ１の各ラインの右端の４バイトを、部分画像Ｂ２の左端の４バイトとして再度フィルタ処理のために使用する。部分画像Ｂ２の各ラインを第１の信号処理部２１０からＤＲＡＭ２３０に転送する際、５１２バイトの画像データのうち５０８バイトが転送されることになるので、その転送の際には１６バースト転送が７回、１５バースト転送が１回行われることになる。つまり、１ライン分のデータを転送するため、ショートバースト転送が実行されるのを１回に抑え、残りのデータを最大バースト長で転送する。
【００３３】
一方、第２の信号処理部２１１に対してＤＲＡＭ２３０から部分画像Ｂ２を読み出す際には、ＣＰＵ２０４は、データ転送制御部２２０内のＲＤＤＭＡＣ３００に対して、部分画像Ｂ１のライン１の右端の４バイトのデータが格納されているアドレスの先頭を、読出し開始アドレスとして設定する。また、ＣＰＵ２０４は、データ転送制御部２２０内のＲＤＤＭＡＣ３００に対して、データ総転送長として１９６６０８（＝５１２×３８４）、オフセットデータ転送長として０、オフセットとして０をセットする。つまり、部分画像Ｂ２をＤＲＡＭ２３０から読出して第２の信号処理部２１１に転送する場合、分割画像Ｂ１の画像データの読み出し時に対し、読出し開始アドレス位置が異なるだけで、それ以外の転送にかかるパラメータは変わらない。従って、第２の信号処理部２１１に部分画像Ｂ２を転送する場合は、１６バースト転送のみ、すなわち、最大バースト長のみの転送で実現できることになる。
【００３４】
図１（ｃ）は、部分画像Ｂ３の書き込みと読出しのシーケンスを示している。この部分画像Ｂ３の書き込みと読出しは、部分画像Ｂ２の書き込み及び読み出しと同様に実行される。すなわち、ＤＲＡＭ２３０に記憶済みの、部分画像Ｂ２の１ラインの右端の４バイトを、部分画像Ｂ３の１ラインの左端の４バイトとして利用して処理を行う。部分画像Ｂ２の書き込みと読出しと異なる点は、それぞれの開始アドレスが異なるのみである。
【００３５】
以上の制御を行うことにより、ショートバーストアクセス発生回数を抑えながら、ＤＲＡＭ２３０へのアクセスデータ量を減らすことが出来る為、分割画像の処理時間を短くすることが出来る。
【００３６】
また、本実施形態では、１つの部分画像を一つのバンクの同じロウアドレス（ページ）に書き込む。そして、同一バンクの最後のカラムアドレスまで書き込んだ後、書き込み先として別のバンクの同じロウアドレスを指定し、書き込みを続ける。このように、１つの部分画像が、複数のバンクにおける同じロウアドレスに対して、バンクインターリーブ制御により書き込まれる。また、２番目、３番目の部分画像は、１番目の部分画像の書き込みアドレスに対して、一部上書きされる。
【００３７】
図７は、第１の実施形態における、ＣＰＵ２０４による、部分画像のＤＲＡＭ２３０へのアクセス処理の手順を示すフローチャートである。
【００３８】
ＣＰＵ２０４は、データ転送制御回路２２０の追い越し防止制御部３２１に対し、１つの部分画像の転送の期間内にてＲＤＤＭＡＣ３１０のＤＲＡＭ２３０への書き込みアドレスが、ＷＲＤＭＡＣ３００のＤＲＡＭ２３０からの読み出しアドレスを追い越さないように設定する（Ｓ７０１）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、最初の部分画像Ｂ１のスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う（Ｓ７０２）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、最初の部分画像Ｂ１のＤＲＡＭ２３０への書き込み及び読み出し開始を指示する（Ｓ７０３）。ＣＰＵ２０４は、部分画像Ｂ１の全ての画像データのＤＲＡＭ２３０への書き込みが完了したら（Ｓ７０４）、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、２番目の部分画像Ｂ２のスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う（Ｓ７０５）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、部分画像Ｂ２のＤＲＡＭ２３０への書き込み及び読み出し開始を指示する（Ｓ７０６）。ＣＰＵ２０４は、部分画像Ｂ２の全ての画像データのＤＲＡＭ２３０への書き込みが完了したら（Ｓ７０７）、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、３番目の部分画像Ｂ３のスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う（Ｓ７０８）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、部分画像Ｂ３のＤＲＡＭ２３０への書き込み及び読み出し開始を指示する（Ｓ７０９）。ＣＰＵ２０４は、部分画像Ｂ３の全ての画像データのＤＲＡＭ２３０への書き込みが完了したら、処理を終了する（Ｓ７１０）。
【００３９】
以上説明したように、第１の実施形態によれば、１画面の画像から複数の部分画像を生成して処理する場合に、重複領域の画像データを１回だけＤＲＡＭに転送すればよいので、各部分画像データのＤＲＡＭ２３０へのアクセスデータ量を削減することが出来る。また、部分画像毎にＤＲＡＭ２３０へのアクセスアドレスを変更することで、ＤＲＡＭ２３０へのショートバーストアクセス発生回数を抑えることが出来る。これにより、ＤＲＡＭ２３０へのアクセス効率が向上し、部分画像の処理時間を短くすることが出来る。
【００４０】
尚、本第１の実施形態では処理対象の１画面の画像から、三つの部分画像を生成する例を説明したが、１画面から複数の部分画像を生成すればよく、３つに限定されるものではない。すなわち、部分画像（ブロック）の個数は一般にＮ個として表現し、そのうちの第ｉ番目のブロックのデータをＤＲＡＭ２３０に格納する際には、１つ前の第ｉ−１番目のブロックとの重複領域内のデータは、第ｉ番目のブロックの左端の重複領域のデータであると見なし、残りのデータをＤＲＡＭ２３０に転送すればよい。
【００４１】
また、本実施形態では、各部分画像が、同じ水平ラインの画素の異なる部分を含むように構成したが、各部分画像が、一つの水平ライン全てを含み、互いに異なるラインを含むようにしても構わない。また、第１の実施形態では、一つの部分画像を水平方向５１２バイト×垂直方向３８４ラインで構成し、重複領域を４バイトとする例を説明した。これ以外にも、各部分画像の水平方向の画素数や、重複領域のサイズをこれ以外の値にすることも可能である。上記はあくまで一例を示したものとして理解されたい。
【００４２】
また、本実施形態では、ＤＲＡＭ構成を１アドレス３２ビット、８バンク、最大１６バースト（３２ｂｉｔ×１６ＢＬ＝６４Ｂｙｔe）データ転送としたが、他のＤＲＡＭ構成でも良いのはもちろんである。
【００４３】
［第２の実施形態］
以下、第２の実施形態を説明する。本第２の実施形態に係る画像処理装置の構成、データ転送制御回路２２０の構成、ＤＭＡＣのアドレス制御部の構成、画像処理装置の各部分画像の処理順序、は第１の実施形態と同様である為、説明を省略する。
【００４４】
本第２の実施形態では、画像処理装置が処理する部分画像のサイズ、画像処理装置のＤＲＡＭへのアクセス手順が第１の実施形態と異なる。本第２の実施形態では、複数の部分画像の少なくとも一つの水平方向の画素数が他の部分画像とは異なるように構成した場合にも、ＤＲＡＭ２３０へのアクセスデータ量を削減し、ＤＲＡＭ２３０へ効率良くアクセス出来るようにＤＲＡＭ２３０へのアクセス制御を行う。具体的には、各部分画像の水平方向のサイズのうち、最大サイズに基づき、ＤＲＡＭ２３０への各ラインの先頭アドレスの位置を決定する。以下、その一例を説明する。
【００４５】
図８は、第２の実施形態に係る画像処理装置が処理する部分画像サイズを示す図である。本第２の実施形態では、１画面の画像データから三つの部分画像を生成するが、その一部の水平方向のサイズを、他の部分画像とは異なる様に構成する。１番目の部分画像Ｂ１と３番目の部分画像Ｂ３のデータサイズは、水平５１０バイト、垂直３８４ラインであり、左右端それぞれにフィルタ処理で必要となる水平４バイトの重複領域を有している。２番目の部分画像Ｂ２のデータサイズは、水平５１４バイト、垂直３８４ラインであり、左右端それぞれにフィルタ処理で必要となる水平４バイトの重複領域を有している。そのため、本第２の実施形態では、ＤＲＡＭ２３０への各ラインのアドレスの間隔を、その最大サイズである５１４とする。
【００４６】
ここで、部分画像Ｂ１の右端重複領域と、部分画像Ｂ２の左端重複領域は同一の画像データである。また、部分画像Ｂ２の右端重複領域と、部分画像Ｂ３の左端重複領域は同一の画像データである。
【００４７】
図９（ａ）乃至（ｃ）は、第２の実施形態に係る画像処理装置のＤＲＡＭ２３０アクセスパターンを示す図である。
【００４８】
同図（ａ）は、第１の信号処理部２１０と第２の信号処理部２１１が１番目の部分画像Ｂ１の処理を行う場合の転送データのアクセスを示している。この場合、左右端の重複領域を含めた部分画像Ｂ１の全データが、第１の信号処理部２１０からのＤＲＡＭ２３０に書き込まれる。本第２の実施形態では、データ転送制御回路２２０は、部分画像Ｂ１におけるライン１の画像データ書き込み後、１番目の部分画像Ｂ１と、水平方向のサイズが最も大きい２番目の部分画像Ｂ２との水平サイズの差分である４バイト分、書き込みアドレスをジャンプさせる。また、データ転送制御回路２２０は、ライン２以降の画像データも同様の手順で書き込みを行う。つまり、５１０バイトの書き込みを行う度に、重複するサイズ分だけ書き込みアドレスをジャンプさせることが繰り返される。
【００４９】
また、データ転送制御回路２２０は、第１の信号処理部２１０がＤＲＡＭ２３０へ書き込んだ１番目の部分画像Ｂ１を読出して第２の信号処理部２１１に送る。この際、データ転送制御回路２２０は、１番目の部分画像Ｂ１の左右端の重複領域を含めた画像データをＤＲＡＭ２３０から読み出して、第２の信号処理部２２０に送る。本第２の実施形態では、データ転送制御回路２２０は、ライン１の画像データ読み出し後、１番目の部分画像Ｂ１と、２番目の部分画像Ｂ２との水平サイズの差分である４バイト分、読み出しアドレスをジャンプさせる。ライン２以降の画像データも同様の手順で読み出される。
【００５０】
図９（ｂ）は、第１の信号処理部２１０と第２の信号処理部２１１が２番目の部分画像Ｂ２の処理を行う場合の転送データのアクセスを示している。本実施形態でも、ＤＲＡＭ２３０に既に記憶された１番目の部分画像Ｂ１の右端の４バイトを、２番目の部分画像Ｂ２の左端の４バイトとして使用して、第２の画像処理部２１１による処理を行う。そのため、ＣＰＵ２０４は、データ転送制御部２２０内のＷＲＤＭＡＣ３００を制御して、部分画像Ｂ２の各ラインにおける５バイト目以降の画像データを、１番目の部分画像Ｂ１の右端の４バイトの記憶アドレスの直後のアドレスから書き込む。この結果、部分画像Ｂ２の左端重複領域の画像データをＤＲＡＭ２３０に対して重複して書き込みを行わなくて済む。そのため、第１の信号処理部２１０からＤＲＡＭ２３０に転送される画像データのデータ量を抑え、画像処理時間を短くすることが出来る。また、ＣＰＵ２０４は、データ転送制御回路２２０を制御して、部分画像Ｂ２の１ライン分の画像データ書き込み完了時において、書き込みアドレスを４バイト分ジャンプさせ、部分画像Ｂ１の右端重複領域を上書きしないように部分画像Ｂ２の書き込みを行う。
【００５１】
ＣＰＵ２０４は、データ転送制御回路２２０に対し、部分画像Ｂ１のライン１の右端重複領域を読出し開始アドレスＲ＿Ｓ＿Ａｄｄｒとして設定し、ＤＲＡＭ２３０から画像データを読みだして第２の信号処理部２２０に送る。データ転送制御回路２２０は、部分画像Ｂ２のライン１の画像データ（５１４バイト）の転送を終えると、後続する位置からライン２以降の画像データを順次転送する。部分画像Ｂ１の書き込みの際、部分画像Ｂ２の水平サイズに応じて各ラインの先頭書き込みアドレスが決定される。そのため、部分画像Ｂ２の読み出し時においては、読み出しアドレスを途中でジャンプさせずに、連続した読み出しアドレスを指定するだけで、重複領域を含む、部分領域Ｂ２の画像データがＤＲＡＭ２３０から読み出され、第２の信号処理部２２０に転送される。これにより、部分画像Ｂ２をＤＲＡＭ２３０から読み出す際は、１６バースト転送のみとすることができる。その結果、ショートバーストアクセスが発生しない為、効率良くＤＲＡＭ２３０へアクセスすることが出来る。
【００５２】
図９（ｃ）は、第１の信号処理部２１０と第２の信号処理部２１１が３番目の部分画像Ｂ３の処理を行う場合の転送データのアクセス示している。本実施形態でも、ＤＲＡＭ２３０へ書き込んだ２番目の部分画像Ｂ２の右端の４バイトを、３番目の部分画像Ｂ３の左端の４バイトとして使用して、第２の画像処理部２１１による処理を行う。そのため、データ転送制御回路２２０は、部分画像Ｂ３の各ラインにおける５バイト目以降の画像データを、２番目の部分画像Ｂ２の右端の４バイトの記憶アドレスの直後のアドレスから書き込む。また、ＣＰＵ２０４は、データ転送制御回路２２０に対し、部分画像Ｂ２のライン１の右端の重複領域の先頭が記憶されているアドレスを読出し開始アドレスとして設定し、各ラインにつき５１０バイトを読みだすように制御する。そして、データ転送制御回路２２０は、その１ライン分の画像データを読み出した場合に、４バイト分だけ読み出しアドレスをジャンプさせ、ライン２以降の画像データを読み出す。
【００５３】
以上の結果、１画面の画像から水平方向のサイズが異なる複数の部分画像を生成して処理する場合に、各部分画像のＤＲＡＭ２３０への転送データ量を削減することができる。
【００５４】
尚、本第２の実施形態では、１画面の画像から三つの部分画像を生成したが、部分画像の数をこれ以外にすることも可能である。また、本第２の実施形態では１番目、３番目の部分画像Ｂ１，Ｂ３のサイズを５１０バイト×３８４ライン、２番目の部分画像Ｂ２のサイズを５１４バイト×３８４ライン、重複領域を４バイトとしたが、他の値とすることも可能である。
【００５５】
また、本第２の実施形態では１番目、３番目の部分画像のＤＲＡＭ２３０アクセス時において、１ライン分のデータの書き込み完了時に書き込みアドレスをジャンプさせたが、必ずしも１ライン分のデータの書き込み完了時でなくても良い。例えば、部分画像Ｂ１の１ラインの途中で、書き込みアドレスを４バイト分ジャンプさせる。そして、部分画像Ｂ２のデータをＤＲＡＭ２３０に書き込む場合は、部分画像Ｂ１の右端のデータの記憶アドレスの次のアドレスを書き込み開始アドレスとして指定する。このように、１ラインの途中で書き込みアドレスをジャンプさせた場合であっても、ジャンプ回数が増えなければＤＲＡＭ２３０へのデータ転送に要する時間は増加しない。
【００５６】
［第３の実施形態］
第３の実施形態を説明する。本第３の実施形態に係る画像処理装置の構成、ＤＭＡＣのアドレス制御部の構成、画像処理装置が処理する部分画像サイズ、画像処理装置の部分画像処理順序は第２の実施形態と同様である為、説明を省略する。
【００５７】
本第３の実施形態では、データ転送制御回路２２０の構成、画像処理装置のＤＲＡＭアクセスパターン、分割画像のＤＲＡＭアクセスシーケンスが第２の実施形態と異なる。本第３の実施形態では、各部分画像の間の、水平のサイズの差が所定値以下の場合に、第２の実施形態よりもＤＲＡＭ２３０へのショートバーストアクセス回数を抑え、ＤＲＡＭ２３０へ効率良くアクセス出来るようにＤＲＡＭ２３０へのアクセス制御を行う。本第３の実施形態において、部分画像の水平画像サイズの差に対する所定値は１６バイトとする。そして、本第２の実施形態における部分画像の水平画像サイズの差は４バイトであり、所定値以下である為、以降記載の制御を実施する。
【００５８】
図１０は、本第３の実施形態に係るデータ転送制御回路２２０の構成を示すブロック図である。ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０、メモリアクセス制御部３２０、追い越し防止制御部３２１、ＤＲＡＭ２３０の構成は第１の実施形態と同様である為、説明を省略する。図１０において、符号３０１は、ＤＲＡＭ２３０へ書き込む画像に対し、設定されたデータ量の画素を水平方向に付加することが可能な画素コピー部である。３１１は、ＤＲＡＭ２３０から読み出された画像に対し、設定されたデータ量の画素を水平方向に削除することが可能な画素カット部である。
【００５９】
図１１（ａ）乃至（ｃ）は、本第３の実施形態に係る画像処理装置のＤＲＡＭ２３０へのアクセスパターンを示す図である。
【００６０】
図１１（ａ）は、第１の信号処理部２１０と第２の信号処理部２１１が１番目の部分画像Ｂ１の処理を行う場合の、ＤＲＡＭ２３０に対する転送データのアクセスを示している。画素コピー部３０１は、第１の信号処理部２１０が処理した左右端の重複領域を含めた１番目の部分画像Ｂ１の各ラインデータに対してダミー画素を付加する。本実施形態では、部分画像Ｂ１と部分画像Ｂ２の水平方向サイズの差分に対応する４バイトのダミー画素（図示の符号１１０１）が、部分画像Ｂ１の右端に付加される。この結果、ダミー画素の４バイトを含めた、部分画像Ｂ１の１ライン分のデータは５１４バイトとなる。そして、ＣＰＵ２０４は、データ転送制御部２２０内のＷＲＤＭＡＣ３００に対して、ダミー画素を含む部分画像Ｂ１をＤＲＡＭ２３０に書き込む際、書き込みアドレスを１ライン目の最後と２ライン目の先頭が連続するように指示して書き込む。このように、ダミー画素が付加された部分画像Ｂ１をＤＲＡＭ２３０に書き込む場合に、書き込みアドレスを１ライン毎に途中でジャンプさせる必要がなくなる為、最大の１６バースト転送のみで部分画像Ｂ１をＤＲＡＭ２３０に書き込むことができる。この結果、第２の実施形態の処理よりも、ＤＲＡＭ２３０に対する書き込みデータ量は増加する。しかし、本第３の実施形態のように、付加されるダミー画素の画素数が少ない場合は、ダミー画素を付加してＤＲＡＭ２３０に書き込むことにより、ショートバーストアクセス回数を減らした方が、各部分画像のデータを全てＤＲＡＭ２３０に転送するために要する時間を短くすることが出来る。
【００６１】
画素カット部３１１は、ＤＲＡＭ２３０から、画像コピー部３０１により付加されたダミー画素を含めた全ての部分画像を読み出す。そして、画素カット部３１１は、読み出した部分画像から、付加されたダミー画素を削除して第２の信号処理部２１１へ出力する。ダミー画素を含む部分画像をＤＲＡＭ２３０から読み出すことで、ＤＲＡＭ２３０は、読み出しアドレスを途中でジャンプさせる必要がなくなる。そのため、１６バーストによる転送のみでＤＲＡＭ２３０から部分画像を読み出すことができる。これによりＤＲＡＭ２３０読み出しデータ量は増加するが、本第３の実施形態のように付加画素数が少ない場合は、付加画素も読み出してショートバーストアクセス回数を減らした方がＤＲＡＭ２３０アクセス効率が向上し、画像読み出しに要する時間を短くすることが出来る。
【００６２】
図１１（ｂ）は、第１の信号処理部２１０と第２の信号処理部２１１が２番目の部分画像Ｂ２を処理する場合の、ＤＲＡＭ２３０に対する転送データのアクセスを示している。ＤＲＡＭ２３０に記憶された１番目の部分画像Ｂ１のライン１（付加画素は除く）の右端の４バイト（図示の符号２０１ａ）を、２番目の部分画像Ｂ２の左端の４バイトとして使用して、第２の画像処理部２１１による処理を行う。そのため、ＣＰＵ２０４は、データ転送制御部２２０内のＷＲＤＭＡＣ３００を制御して、部分画像Ｂ１の各ラインにおける右端の４バイトの記憶アドレスの直後のアドレスを書き込み開始アドレスＷ＿Ｓ＿Ａｄｄｒに設定し、部分画像Ｂ２の書き込みを開始する。部分画像Ｂ２の水平方向のサイズは５１４バイトであるので、ダミー画素を付加する必要はない。ただし、ＣＰＵ２０４は、データ転送制御部２２０内のＷＲＤＭＡＣ３００に対して、５１０バイトのデータを書き込むごとに、４バイトだけジャンプするように設定する。
【００６３】
一方、ＣＰＵ２０４は、ＲＤＤＭＡＣ３００に対して、部分画像Ｂ１のライン１の右端の４バイトの先頭の記憶アドレスを読出し開始アドレスＲ＿Ｓ＿Ａｄｄｒにセットし、第２の画像処理部２１１に対する部分画像Ｂ２の転送を開始させる。部分画像Ｂ２をＤＲＡＭ２３０から読み出す場合、アドレスのジャンプ処理は不要になり、１６バースト転送のみで実現できる。
【００６４】
図１１（ｃ）は、第１の信号処理部２１０と第２の信号処理部２１１が３番目の分割画像Ｂ３を処理する場合の、ＤＲＡＭ２３０に対する転送データのアクセスを示している。ＤＲＡＭ２３０に記憶された２番目の部分画像Ｂ２のライン１の右端の４バイト（図示の符号２０１ｂ）を、３番目の部分画像Ｂ３の左端の４バイトとして使用して、第２の画像処理部２１１による処理を行う。そのため、ＣＰＵ２０４は、ＷＲＤＭＡＣ３００を制御して、部分画像Ｂ２の各ラインにおける右端の４バイトの記憶アドレスの直後のアドレスを書き込み開始アドレスＷ＿Ｓ＿Ａｄｄｒに設定し、部分画像Ｂ３の画像データを書き込む。部分画像Ｂ３において、左端の４バイトを除くと、１ライン分のデータは５０６バイトである。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００を制御して、部分画像Ｂ３における、左端部の４バイトを除く、各ラインの５０６バイトのデータの書き込みが完了する毎に、書き込みアドレスを８バイト分だけジャンプさせるように設定する。
【００６５】
一方、ＣＰＵ２０４は、ＲＤＤＭＡＣ３００に対して、部分画像Ｂ２のライン１の右端の４バイトの先頭の記憶アドレスを、読出し開始アドレスＲ＿Ｓ＿Ａｄｄｒにセットし、部分画像Ｂ３の画像データを読出して第２の信号処理部２２０に転送する。部分画像Ｂ３をＤＲＡＭ２３０から読み出す場合、アドレスのジャンプ処理は不要になり、１７バースト転送のみで実現できる。ただし、部分画像Ｂ３における１ラインの５１４バイトのデータの最後の４バイトは、部分画像Ｂ２における左端の４バイトのデータであり、部分画像Ｂ３の処理には使われない。そのため、ＣＰＵ２０４は、画素カット部３１１により、ＤＲＡＭ２３０から読み出された部分画像Ｂ３の各ラインの最後の４バイトをカットするように設定する。
【００６６】
図１２は、本第３の実施形態における、ＣＰＵ２０４による、部分画像のＤＲＡＭ２３０への転送処理を示すフローチャートである。
【００６７】
ＣＰＵ２０４は、データ転送制御回路２２０の追い越し防止制御部３２１に対し、ＲＤＤＭＡＣ３１０のＤＲＡＭ２３０の書き込みアドレスが、ＷＲＤＭＡＣ３００のＤＲＡＭ２３０の読み出しアドレスを追い越さないように設定する（Ｓ１２０１）。ＣＰＵ２０４は、画素コピー部３０１に対して１番目の部分画像Ｂ１のコピー画素数、画素カット部３１１に対して部分画像Ｂ１のカット画素数の設定を行う（Ｓ１２０２）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、部分画像Ｂ１の書き込み及び読み出しのスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う（Ｓ１２０３）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、部分画像Ｂ１のＤＲＡＭ２３０への書き込み開始、読み出し開始を指示する（Ｓ１２０４）。ＣＰＵ２０４は、部分画像Ｂ１の全てのデータのＤＲＡＭ２３０への書き込みが完了したら（Ｓ１２０５）、画素コピー部３０１に対して２番目の部分画像Ｂ２のコピー画素数を設定し、画素カット部３１１に対して２番目部分画像のカット画素数の設定を行う（Ｓ１２０６）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、部分画像Ｂ２の書き込み及び読み出しのスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う（Ｓ１２０７）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、部分画像Ｂ２のＤＲＡＭ２３０への書き込み開始、読み出し開始を指示する（Ｓ１２０８）。ＣＰＵ２０４は、部分画像Ｂ２のＤＲＡＭ２３０へのアクセスが完了したら（Ｓ１２０９）、画素コピー部３０１に対して３番目の部分画像Ｂ３のコピー画素数を設定し、画素カット部３１１に対して部分画像Ｂ３のカット画素数の設定を行う（Ｓ１２１０）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、３番目の部分画像の書き込み及び読み出しのスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う（Ｓ１２１１）。ＣＰＵ２０４は、ＷＲＤＭＡＣ３００、ＲＤＤＭＡＣ３１０に対し、３番目の部分画像のＤＲＡＭ２３０への書き込み開始、読み出し開始を指示する（Ｓ１２１２）。ＣＰＵ２０４は、部分画像Ｂ３のＤＲＡＭ２３０からの読み出しが完了したら、処理を終了する（Ｓ１２１３）。
【００６８】
以上の制御を行うことにより、各部分画像をＤＲＡＭに対して転送する際に、第２の実施形態よりもショートバーストによるアクセス発生回数を抑えることができる。そのため、各部分画像の処理時間を短くすることが出来る。
【００６９】
尚、本第３の実施形態では、１画面の画像から三つの部分画像を生成したが、部分画像の数をこれ以外にすることも可能である。また、本第３の実施形態では１番目、３番目の部分画像のサイズを５１０バイト×３８４ライン、２番目の部分画像のサイズを５１４バイト×３８４ライン、重複領域を水平４バイトとしたが、他の値とすることも可能である。
【００７０】
また、複数の部分画像のうち、最大の水平サイズと最小の水平サイズとの差が所定値１６バイトより小さい場合に、画素コピー部により部分画像Ｂ１に対してダミー画素を付加したが、他の所定値でも良い。また、本第３の実施形態では１番目の部分画像のＤＲＡＭ２３０アクセス時において、１ライン分のデータの最後にダミー画素を付加したが、１ラインの途中にダミー画素を付加する構成としてもよい。
【図１】
2015109037.tif 000003
【図２】
2015109037.tif 000004
【図３】
2015109037.tif 000005
【図４】
2015109037.tif 000006
【図５】
2015109037.tif 000007
【図６】
2015109037.tif 000008
【図７】
2015109037.tif 000009
【図８】
2015109037.tif 000010
【図９】
2015109037.tif 000011
【図１０】
2015109037.tif 000012
【図１１】
2015109037.tif 000013
【図１２】
2015109037.tif 000014