(57)【要約】【課題】マルチレート信号処理によるノイズ低減処理を複数フレームの画像データに連続的に行う際に、高いメモリアクセス効率を実現する。【解決手段】画像処理装置は、各フレームに対し、第１の解像度の画像データから異なる画素数の第２の画像データを生成して第１および第２の画像データを第１の順序で出力し、第１および第２の画像データに、第１の順序とは異なる第２の順序で所定の処理を行い、第１および第２の順序に従って、出力された画像データのメモリへの書き込みと、処理された画像データのメモリからの読み出しをフレーム単位で制御し、第１のフレームにおける読み出しアドレスと、第１のフレームの次の第２のフレームの書き込みアドレスは、メモリの第１の記憶領域のアドレスであり、第２のフレームにおける書き込みアドレスは第１のフレームにおける読み出しが行われた読み出しアドレスとする。【選択図】図１
2016091205.tif 000002
【特許請求の範囲】
【請求項１】
複数フレームの第１の画像データを取得する取得手段と、
各フレームについて、前記第１の画像データとは異なる画素数の第２の画像データを、前記第１の画像データから生成し、前記第１および前記第２の画像データを第１の順序で出力する第１の処理手段と、
各フレームの前記第１および前記第２の画像データに、前記第１の順序とは異なる第２の順序で所定の処理を行う第２の処理手段と、
複数の記憶領域を有するメモリ手段と、
前記第１の処理手段および前記第２の処理手段と前記メモリ手段との間の画像データの転送を制御するメモリ制御手段と、
を備え、
前記メモリ制御手段は、前記第１および第２の順序に従って、前記第１の処理手段から出力された画像データの前記メモリ手段への書き込みと、前記第２の処理手段が処理する画像データの前記メモリ手段からの読み出しをフレーム単位で制御し、第１のフレームにおける読み出しアドレスと、前記第１のフレームの次の第２のフレームにおける書き込みアドレスは、第１の前記記憶領域のアドレスであり、前記第２のフレームにおける書き込みアドレスは前記第１のフレームにおける読み出しが行われた読み出しアドレスである
ことを特徴とする画像処理装置。
【請求項２】
前記メモリ制御手段は、前記第２の処理手段で前記所定の処理をされた画像データの前記メモリ手段への書き込みを制御し、前記第２の処理手段で処理された画像データは前記第１の記憶領域とは異なる第２の前記記憶領域に書き込まれ、小さいサイズの画像データの前記第２の記憶領域における書き込みアドレスは、所定のオフセットを含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の順序と前記第２の順序は、前記サイズに関して互いに逆であり、前記メモリ制御手段による前記フレーム単位の制御は、第１のフレームの第１および前記第２の画像データは、前記第１の順序で前記第１の記憶領域に書き込まれ、前記第１の記憶領域から前記第２の処理手段に前記第２の順序で画像データの終端画素位置から始端画素位置に向けて読み出され、前記第２のフレームの前記第１および前記２の画像データは、前記第１のフレームの画像データの読み出しが完了した前記第１の記憶領域に画像データの終端画素位置から始端画素位置に向けて前記第１の順序で書き込まれ、画像データの始端画素位置から終端画素位置に向けて第１の記憶領域から前記第２の順序で読み出される制御を含むことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１のフレームの前記第１および第２の画像データを前記第２の順序で画像データの終端画素位置から始端画素位置に向けて前記第１の記憶領域から読み出す前記メモリ制御手段による制御および前記第２のフレームの前記第１および第２の画像データを画像データの終端画素位置から始端画素位置に向けて前記第１の記憶領域に前記第１の順序で書き込む制御は、画像データの終端画素位置を含む前記第１の記憶領域のアドレスからアドレス値をデクリメントまたはインクリメントする制御を含み、前記第２のフレームの前記第１および前記第２の画像データを画像データの始端画素位置から終端画素位置に向けて前記第１の記憶領域から前記第２の順序で読み出す制御は、画像データの始端画素位置のアドレスからアドレス値をデクリメントまたはインクリメントして書き込む制御を含むことを特徴する請求項３に記載の画像処理装置。
【請求項５】
前記第１の順序と前記第２の順序は、前記サイズに関して互いに逆であり、前記メモリ制御手段による前記フレーム単位の制御は、前記第１の記憶領域の画像データの終端画素位置のラインの先頭画素を含むアドレスからアドレス値をインクリメントして画像データを読み出し、画像データの１ラインの読み出しの完了後、画像データの始端画素位置に向けて各ラインの先頭画素を含むアドレスからアドレス値をインクリメントして各ラインの画像データを読み出す制御を含むことを特徴する請求項２に記載の画像処理装置。
【請求項６】
前記フレーム単位の制御において、前記第１のフレームの第１および前記第２の画像データが前記第１の順序で前記第１の記憶領域に書き込まれ、前記第１の記憶領域から前記第２の処理手段に前記第２の順序で画像データの終端画素位置から始端画素位置に向けて読み出され、前記第２のフレームの前記第１および前記第２の画像データが前記第１のフレームの画像データの読み出しが完了した前記第１の記憶領域に、画像データの終端画素位置から始端画素位置に向けて前記第１の順序で書き込まれ、画像データの始端画素位置から終端画素位置に向けて第１の記憶領域から前記第２の順序で読み出されることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記フレーム単位の制御において、前記第１のフレームの前記第１および前記異なるサイズの画像データを画像データの終端画素位置から始端画素位置に向けて前記第２の順序で前記第１の記憶領域から読み出す制御および前記第２のフレームの前記第１および前記異なるサイズの画像データを画像データの終端画素位置から始端画素位置に向けて前記第１の順序で前記第１の記憶領域に書き込む制御は、画像データの終端画素位置のラインの先頭画素を含む前記第１の記憶領域のアドレスからアドレス値をインクリメントして読み出し、１ラインの読み出しの完了後、順次、画像データの始端画素位置に向けて各ラインの先頭画素を含む記憶領域のアドレスからアドレス値をインクリメントして各ラインを読み出す制御を含み、前記第２のフレームの前記第１および前記第２の画像データを画像データの始端画素位置から終端画素位置に向けて前記第１の順序で前記第１の記憶領域に書き込む制御は、画像データの始端画素位置のラインの先頭画素から書き込みを行い、先頭画素を書き込んだ記憶領域のアドレスからアドレス値をインクリメントして書き込み、１ラインの書き込みが完了後、順次、画像データの終端画素位置に向けて各ラインの先頭画素から書き込みを行い、前記第１の記憶領域の先頭画素を書き込んだ記憶領域のアドレスからアドレス値をインクリメントして各ラインを書き込む制御を含むことを特徴する請求項６記載の画像処理装置。
【請求項８】
前記第１の順序と前記第２の順序は、前記サイズに関して互いに逆であり、前記メモリ制御手段による前記フレーム単位の制御は、前記第１のフレームの前記第１および前記第２の画像データを、前記第１の順序で画像データの終端画素位置から始端画素位置に向けて前記第１の記憶領域に書き込み、前記第２の順序で画像データの始端画素位置から終端画素位置に向けて読み出し、当該読み出しが完了した第１の記憶領域に前記第２のフレームの前記第１および前記第２の画像データを前記第１の順序で画像データの終端画素位置から始端画素位置に向けて書き込む制御を含むことを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記第１のフレームの前記第１および前記第２の画像データを前記第１の記憶領域から画像データの始端画素位置から終端画素位置に向けて前記第２の順序で読み出す制御および前記第２のフレームの前記第１および前記異なるサイズの画像データを前記第２の順序で前記第１の記憶領域から画像データの始端画素位置から終端画素位置に書き込む制御は、画像データの始端画素位置を含む記憶領域のアドレスからアドレス値をデクリメントまたはインクリメントして読み出す制御を含み、前記第２のフレームの前記第１および前記第２の画像データを前記第１の記憶領域から画像データの終端画素位置から始端画素位置に向けて前記第１の順序で書き込む制御は、画像データの終端画素位置のアドレスからアドレス値をデクリメントまたはインクリメントして書き込む制御を含むことを特徴する請求項８記載の画像処理装置。
【請求項１０】
前記オフセットは、前記小さいサイズよりも大きいサイズの画像データが前記第２の処理手段から前記第２の記憶領域に記憶された場合に、前記小さいサイズの画像データと前記小さいサイズよりも大きいサイズの画像データが使用する前記第２の記憶領域でのメモリ領域が等しくなるように設定され、前記メモリ制御手段は、前記第２の記憶領域に対しては、画像データの読み出しが完了した前記メモリ領域に対して書き込みする制御を行うことを特徴とする請求項２から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記第２の処理手段で前記所定の処理をされた画像データを前記第２の記憶領域に書き込む前記メモリ制御手段による制御は、画像データの終端画素位置から始端画素位置に向けて書き込みを開始し、前記終端画素位置のアドレスからアドレス値をデクリメントして書き込みを行う制御を含むことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記所定の処理は、前記第１および前記第２の画像データのノイズ低減処理と、前記ノイズ低減処理をされた画像データの合成処理による前記第１のサイズのノイズ低減処理された画像データの生成を含み、前記合成処理は、前記ノイズ低減処理された小さいサイズの画像データの拡大と当該拡大されたサイズと同じサイズの前記ノイズ低減処理がされた画像データとの所定の比率での合成処理であることを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項１３】
前記第１のフレームは奇数フレームであり、前記第２のフレームは偶数フレームであり、前記第１の記憶領域と前記第２の記憶領域は、ＤＲＡＭの異なるバンクであることを特徴とする請求項２から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
複数フレームの第１の画像データを取得する取得手段と、各フレームについて、前記第１の画像データとは異なる画素数の第２の画像データを、前記第１の画像データから生成し、前記第１および前記第２の画像データを第１の順序で出力する第１の処理手段と、各フレームの前記第１および前記異なるサイズの画像データに、前記第１の順序とは異なる第２の順序で所定の処理を行う第２の処理手段と、複数の記憶領域を有するメモリ手段とを有する画像処理装置の制御方法であり、
前記第１の処理手段および前記第２の処理手段と前記メモリ手段との間の画像データの転送を制御するメモリ制御工程、
を備え、
前記メモリ制御工程は、前記第１および第２の順序に従って、前記第１の処理手段から出力された画像データの前記メモリ手段への書き込みと、前記第２の処理手段が処理する画像データの前記メモリ手段からの読み出しをフレーム単位で制御し、第１のフレームにおける読み出しアドレスと、前記第１のフレームの次の第２のフレームにおける書き込みアドレスは、第１の前記記憶領域のアドレスであり、前記第２のフレームにおける書き込みアドレスは前記第１のフレームにおける読み出しが行われた読み出しアドレスである制御工程を有することを特徴とする制御方法。
【請求項１５】
複数の記憶領域を有するメモリ手段を有する画像処理装置を制御するためのプログラムであり、
コンピュータを、
複数フレームの第１の画像データを取得する取得手段、
各フレームについて、前記第１の画像データとは異なる画素数の第２の画像データを、前記第１の画像データから生成し、前記第１および前記第２の画像データを第１の順序で出力する第１の処理手段、
各フレームの前記第１および前記異なるサイズの画像データに、前記第１の順序とは異なる第２の順序で所定の処理を行う第２の処理手段、
前記第１の処理手段および前記第２の処理手段と前記メモリ手段との間の画像データの転送を制御するメモリ制御手段であり、前記第１および第２の順序に従って、前記第１の処理手段から出力された画像データの前記メモリ手段への書き込みと、前記第２の処理手段が処理する画像データの前記メモリ手段からの読み出しをフレーム単位で制御し、第１のフレームにおける読み出しアドレスと、前記第１のフレームの次の第２のフレームにおける書き込みアドレスは、第１の前記記憶領域のアドレスであり、前記第２のフレームにおける書き込みアドレスは前記第１のフレームにおける読み出しが行われた読み出しアドレスであるよう制御するメモリ制御手段として機能させることを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶するコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをＤＲＡＭ等のメモリに転送を行う画像処理装置および画像処理装置の制御方法に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置で用いられる画像処理装置では、画素補間、ホワイトバランス、シャープネス、ノイズ低減、縮小／拡大等の画像処理が実施される。例えば、ノイズ低減処理の一例として、マルチレート信号処理がある。本処理は、画像データを複数の周波数帯域に分割して複数種類の画像データを作成し、その後、各画像データに適切なフィルタ処理を施し、周波数帯域毎に処理された画像データを再び周波数合成する技術である。このような処理では、複数種類の画像データの読み書きのためメモリへのアクセス頻度が多くなり、処理時間削減のためにはメモリに画像データを効率よく転送する必要がある。
【０００３】
一般に、画像データ格納用メモリとしては、ＤＲＡＭ（Dynamic Random Access Memory）が用いられている。ＤＲＡＭは、複数個から成るバンクを有し、同一バンクの異なるロウアドレス（異なるページ）へアクセスする場合、プリチャージコマンド（ページクローズ）、及びアクティブコマンド（ページオープン）を発行する必要がある。これらのコマンドの実行中には、同一バンクへのアクセスを行えない。このため、同一バンクの異なるページに対してのアクセス回数（ページ切換え回数）が多くなると、その分、プリチャージコマンド及びアクティブコマンドの発行が必要となり、ＤＲＡＭに対するアクセス効率が低下してしまうという問題がある。
【０００４】
従来、上述のような問題に対して、ページ切換え回数をできる限り少なくして、プリチャージ回数を減らし、ＤＲＡＭに対して効率良くアクセスするためのデータ転送手法が提案されている。例えば、特許文献１では、メモリに格納された複数ラインの画像データにアクセスする際にロウアドレスが等しい複数のラインの画像データのアクセスを連続して行わせることで、プリチャージの回数を減らす技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６８８９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記のようなマルチレート信号処理を用いたノイズ低減処理を、複数フレームの画像データに連続して実施する場合、同時にメモリに対して複数種類の画像データの読み書きを行う必要がある。また、複数種類の画像データのメモリへの書き込み及び読み出しを行う際に、決められた順番で画像データを処理する必用がある場合等は、従来開示されている技術のように、ＤＲＡＭの同一バンクのロウアドレスが等しいラインへのアクセスを連続して行わせることが困難である。したがって、複雑なメモリアクセスを要するマルチレート信号処理を用いたノイズ低減処理では、同一バンクの異なるページにランダム的にアクセスが発生し、ＤＲＡＭのアクセス効率が低下するといった問題がある。
【０００７】
本発明は、上記課題を鑑みて成されたものである。本発明の目的は、マルチレート信号処理を用いたノイズ低減処理を複数フレームの画像データに対して連続的に行う際に、プリチャージの発生回数を抑制し、メモリアクセス効率の高い制御を実現する画像処理装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を達成するために、本発明に係る画像処理装置は、複数フレームの第１の画像データを取得する取得手段と、各フレームについて、第１の画像データとは異なる画素数の第２の画像データを、第１の画像データから生成し、第１および第２の画像データを第１の順序で出力する第１の処理手段と、各フレームの第１および異なるサイズの画像データに、第１の順序とは異なる第２の順序で所定の処理を行う第２の処理手段と、複数の記憶領域を有するメモリ手段と、第１の処理手段および第２の処理手段とメモリ手段との間の画像データの転送を制御するメモリ制御手段とを備え、メモリ制御手段は、第１および第２の順序に従って、第１の処理手段から出力された画像データのメモリ手段への書き込みと、第２の処理手段が処理する画像データのメモリ手段からの読み出しをフレーム単位で制御し、第１のフレームにおける読み出しアドレスと、第１のフレームの次の第２のフレームにおける書き込みアドレスは、第１の記憶領域のアドレスであり、第２のフレームにおける書き込みアドレスは第１のフレームにおける読み出しが行われた読み出しアドレスであることを特徴とする。
【発明の効果】
【０００９】
本発明に係る画像処理装置によれば、マルチレート信号処理を用いたノイズ低減処理を複数フレームの画像データに対して連続的に行う際に、プリチャージの発生回数を抑制し、メモリアクセス効率の高い画像処理制御を実現することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施例に係る画像処理装置を適用した撮像装置のブロック図である。
【図２】本発明の第１の実施例に係る画像処理装置の要部のブロック図である。
【図３】本発明の第１の実施例に係る画像処理装置が実行するノイズ低減処理における画像データのメモリ配置を示す図である。
【図４】本発明の第１の実施例に係る画像処理装置のノイズ低減処理動作のフローチャートを示す図である。
【図５】本発明の第１の実施例に係る画像処理装置のノイズ低減処理のタイミングチャートを示す図である。
【図６】本発明の第１の実施例に係る画像処理装置のノイズ低減処理における画像データのライン構成を示す図である。
【図７】本発明の第１の実施例に係る画像処理装置のノイズ低減処理におけるＤＲＡＭへの階層画像データの書き込み及び読み出し制御方法を説明するための図である。
【図８】本発明の第１の実施例に係る画像処理装置のノイズ低減処理におけるＤＲＡＭへのノイズ低減処理済階層画像データの書き込み及び読み出し制御方法を説明するための図である。
【図９】図５のタイミングチャートの一部の詳細なタイミングチャートを示す図である。
【図１０】本発明の第１の実施例の第１の変形例に係る画像処理装置のノイズ低減処理におけるＤＲＡＭへの階層画像データの書き込み及び読み出し制御方法を説明するための図である。
【図１１】本発明の第１の実施例の第２の変形例に係る画像処理装置のノイズ低減処理におけるＤＲＡＭへの階層画像データの書き込み及び読み出し制御方法を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明を実施するための最良の実施の形態を説明する。
【００１２】
［第１の実施例］
図１は、本発明の第１の実施例に係る画像処理装置を適用したデジタルカメラ等の撮像装置のブロック図である。同図において、結像光学部１０１はレンズおよび絞りなどを備えており、撮影の際、結像光学部１０１はフォーカス調節および露出調節を行い、撮像素子１０２に光学像を結像する。撮像素子１０２は、光学像を電気信号（アナログ画像信号）に変換する光電変換機能を有し、ＣＣＤやＣＭＯＳセンサ等で構成される。Ａ／Ｄ変換部１０３は撮像素子１０２からのアナログ画像信号をデジタル画像信号に変換する。
【００１３】
ＣＰＵ１１２は、画像処理装置を含む撮像装置全体の制御を司るマイクロコンピュータ等で構成され、各機能ブロックに対して動作指示を行い、各種の制御処理を実行する。バス１１４はシステムバスであり、バス１１５は画像データバスである。なお、複数のＣＰＵによりは制御を分担するようにしてもよい。
【００１４】
ＤＲＡＭ（メモリ）１０７及び１１７は、データを記憶するメモリで、所定枚数の静止画像や所定時間の動画像、音声等のデータやＣＰＵ１１２の動作用の定数、プログラム等を格納するのに十分な記憶容量を備える。メモリ制御部１０６は、ＣＰＵ１１２或いはデータ転送部１０５からの指示に応じて、ＤＲＡＭ１０７、１１７の複数の記憶領域（バンク）へのデータ書き込み及びデータ読み出しを行う。
【００１５】
不揮発性メモリ制御部１０８は、ＣＰＵ１１２からの指示に応じて、ＲＯＭ（不揮発性メモリ）１０９にデータの書き込み及び読み出しを行う。ＲＯＭ１０９は、電気的に消去・記録可能なメモリであり、ＥＥＰＲＯＭ等が用いられる。ＲＯＭ１０９には、ＣＰＵ１１２の動作用の定数、プログラム等が記憶される。
【００１６】
ＣＰＵ１１２は、バス１１４を介して画像処理部１０４、データ転送部１０５、メモリ制御部１０６、不揮発性メモリ制御部１０８、表示制御部１１０、操作部１１３、撮像素子１０２を制御する。マイクロコンピュータの実行は、ＲＯＭ１０９に記録されたプログラムを実行することにより、本実施例の各処理を実現する。
【００１７】
データ転送部１０５は、データ転送を行う複数のＤＭＡＣ（Direct Memory Access Controller）で構成されている。データ転送部１０５は、４つの書き込み専用ダイレクトメモリアクセスコントローラＷＲＤＭＡＣ０ ２０１、ＷＲＤＭＡＣ１ ２０３、ＷＲＤＭＡＣ２ ２０６、ＷＲＤＭＡＣ３ ２１１を備える。データ転送部１０５は、４つの読み出し専用ダイレクトメモリアクセスコントローラＲＤＤＭＡＣ０ ２０２、ＲＤＤＭＡＣ１ ２０４、ＲＤＤＭＡＣ２ ２０５、ＲＤＤＭＡＣ３ ２１０を備える。各ＤＭＡＣでは、ＤＲＡＭ１０７の読み出し又は書き込みを行うアドレス値の生成や、アクセスを開始するスタートアドレスや、データ転送長等の管理・制御を行っている。アドレス値の生成制御はスタートアドレスからインクリメントする制御とスタートアドレスからデクリメントする制御を備える。また、オフセット値を設定することで、ＤＲＡＭ１０７にアクセスする際に所定のアドレス値を飛ばして読み書きを行うことができる。データ転送長の制御は、１回のアドレス指定により連続してアクセス可能なワード数をバースト長として設定する。なお、本実施例に係る画像処理装置では１ワード１Ｂｙｔeでバースト長を１６ワードに設定しており、１画素１６ｂｉｔ換算で１回の転送で８画素の転送が成される。
【００１８】
画像処理部１０４は、第１画像処理部１２１、画像縮小処理部１２２、画像拡大合成処理部１２３、第２画像処理部１２４及びバッファメモリ（不図示）から構成される。
【００１９】
第１画像処理部１２１では、Ａ／Ｄ変換部１０３から出力された画像データに対して画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等の処理を行う。第２画像処理部１２４は、画像データの圧縮伸長処理、拡大縮小等のリサイズ処理やフォーマット変換処理、現像処理や歪み補正等の処理を行う。
【００２０】
画像処理部１０４で処理された画像データは、データ転送部１０５の各ＷＲＤＭＡＣを経由してバス１１５に出力され、メモリ制御部１０６によりＤＲＡＭ１０７、１１７に書き込まれる。ＤＲＡＭ１０７、１１７に格納された画像データは、メモリ制御部１０６により読み出され、バス１１５に出力され、データ転送部１０５の各ＲＤＤＭＡＣを経由して画像処理部１０４に転送される。第１画像処理部１２１には、画像データのＤＲＡＭ１１７への出力用にＷＲＤＭＡＣ０ ２０１が接続されている。縮小処理部１２２には、ＤＲＡＭ１０７、１１７からの画像データの入力用にＲＤＤＭＡＣ０ ２０２が、画像データの出力用にＷＲＤＭＡＣ１ ２０３が接続されている。同様に、画像拡大合成処理部１２３には、ＲＤＤＭＡＣ１ ２０４及びＲＤＤＭＡＣ２ ２０５，ＷＲＤＭＡＣ２ ２０６が接続されている。第２画像処理部１２４には、ＲＤＤＭＡＣ３ ２１０、ＷＲＤＭＡＣ３ ２１１が接続されている。
【００２１】
縮小処理部１２２は、ノイズ低減処理の前処理として、取得された画像データから、異なる周波数帯域の複数の画像データを生成する処理を行う。なお、ノイズ低減処理の前処理は、異なる周波数帯域の画像データを生成しないで単一の周波数の画像データを生成することも可能であり、本実施例では、入力された画像データに対して、縮小処理を行った単一の周波数の画像データを一つＤＲＡＭ１０７に出力する。
【００２２】
拡大処理部１２３は、ノイズ低減処理の後処理として、ＤＲＡＭ１０７に格納された、異なる周波数帯域の複数の画像データに対して適切なフィルタ処理を施し、ＤＲＡＭ１０７に出力する。その後、フィルタ処理後の画像データを再度ＤＲＡＭ１０７から読み出して拡大処理を行い、画像縮小処理部１２２での処理後の画像データに対してノイズ低減処理を施した画像と合成処理を行い、ＤＲＡＭ１０７に出力する。
【００２３】
なお、縮小処理部１２２及び拡大処理部１２３は、画像データを格納するためのラインバッファを有している。ラインバッファを利用して、処理対象の画像データの複数ラインを一時的に格納して、処理するライン順番の入れ替えや、ラインの終端画素位置や転送データ長の終端画素位置から各処理部に入出力させる等の処理を行う。
【００２４】
表示部１１１は、液晶モニタ等から成り、表示制御部１１０により制御され、各種画像データ等を表示部１１１に表示する。操作部１１３は、ユーザーにより操作されるスイッチやボタン等を含み、電源のＯＮ／ＯＦＦ、シャッターのＯＮ／ＯＦＦ等の操作に使用される。
【００２５】
以下において、本実施例に係る画像処理装置の要部のより詳細な構成および処理動作について図２から図９を参照して説明する。
【００２６】
図２は、本実施例に係る画像処理装置の備える画像処理部１０４、データ転送部１０５、ＤＲＡＭ１０７、１１７を詳細に説明するためのブロック図である。図２において、第１画像処理部１２１により処理された画像データがＷＲＤＭＡＣ０ ２０１により、ＤＲＡＭ１１７に記憶される。ＤＲＡＭ１１７に記憶された画像データは、ＲＤＤＭＡＣ０ ２０２により読み出され、縮小処理部１２２に送られる。図２において、データ転送部１０５の備えるアドレス制御部２１０は、ＷＲＤＭＡＣ１ ２０３とＲＤＤＭＡＣ１ ２０４で生成されるＤＲＡＭ１０７、１１７に対する書き込みアドレス値と読み出しアドレス値をフレーム単位で調停している。ＷＲＤＭＡＣ１ ２０３により生成される、縮小処理部１２２からの画像データの書き込みアドレス値が、ＲＤＤＭＡＣ１ ２０４で生成される、拡大処理部１２３への画像データの読み出しアドレス値を追い越さないように制御する。具体的には、各ＤＭＡＣがアドレス値をインクリメント制御している場合は、（ＷＲＤＭＡＣ１ ２０３の書き込みアドレス値）＜（ＲＤＤＭＡＣ１ ２０４の読み出しアドレス値）の関係が維持される。一方、各ＤＭＡＣがアドレス値をデクリメント制御している場合は、（ＷＲＤＭＡＣ１ ２０３の書き込みアドレス値）＞（ＲＤＤＭＡＣ１ ２０４の読み出しアドレス値）の関係が維持される。また同時に、ＤＲＡＭ１０７の同一バンクの同一ページ内で、画像データの読み出しと画像データの書き込みが実施され、読み出しアドレス値と書き込みアドレス値の間隔がアドレス制御部２１０に設定された所定値を超えないように制御を行う。これにより、ＤＲＡＭの同一バンクの同一ページに書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
【００２７】
図３は、ＤＲＡＭ１０７へのノイズ低減処理に係る画像データのメモリ配置を示す図である。図３に示されるようにＤＲＡＭ１０７は、容量１２８メガバイト（ＭＢ）で、８バンク構成となっており、バンクの各ページは１０２４Ｂｙｔｅの容量を有している。１アドレスにつき１Ｂｙｔｅのデータを格納できるメモリ領域を有する。ＤＭＡＣの生成するアドレスに対して、ＤＲＡＭ１０７のバンク番号０の先頭アドレスは0x0000_0000、バンク番号４の先頭アドレスは0x0000_1000、バンク番号６の先頭アドレスは0x0000_1800が対応する。
【００２８】
縮小処理部１２２から出力される各画像データは、バンク番号０〜３（図２中の１５０）に格納される。また、拡大処理部１２３から出力される、ノイズ低減処理された第２画像データ及び第３画像データは、バンク番号４，５（１５１）に格納される。ノイズ低減処理の最終処理データであるノイズ低減処理済の画像データ（以下、第１ＮＲ(Noise Reduced)画像データ）は、バンク番号６，７（１５２）に格納される。
【００２９】
なお、バンク番号０〜３に対して各画像データを読み書きする際に、ＤＭＡＣで生成するアドレス値は0x0000_0000からインクリメントされ、バンク番号３における同一ロウアドレスの終端部であるアドレス0x0000_0FFFまで到達するまで、バンク番号０〜３にわたり連続的にアクセスが行われる。バンク３のページ終端部のアドレス値まで到達した後予め設定されたオフセット値分0x0000_1000だけアドレス値を加算してジャンプしてバンク番号０のページ先頭部のアドレス0x0000_2000に飛ぶ。以降、バンク番号３における、各ページの終端部のアドレスに達するごとにアドレスのジャンプ処理を行うことで、第１画像データがバンク番号０〜３に対して連続してアクセスが行われる。また、第２、第３画像データはそれぞれ、バンク０のアドレス0x00C0_0000、0x00F0_0000から書き込まれ、同様にバンク０〜３に対して連続してアクセスが行われる。アドレス値をデクリメントしながらデータの読み書きを行う場合には、バンク番号３のページ終端部のアドレスから、アドレスをデクリメントしながらアクセスする。そして、バンク番号０のページ先頭部のアドレス値まで到達した際に、オフセット値0x0000_0000分アドレス値から減算してジャンプ処理を行い、バンク番号３のページ終端部のアドレスにアクセスする。
【００３０】
同様に、第３画像データ、第２画像データに対してそれぞれノイズ低減処理を施した画像データ（以下、第３ＮＲ画像データ、第２ＮＲ画像データ）をバンク番号４，５に読み書きする場合は、バンク番号４のページ先頭から順次アクセスされ、バンク番号５のページ終端アドレスまで達した場合、オフセット値分0x0000_1800だけジャンプする。このように、第２、第３ＮＲ画像データがバンク番号４、５に対して連続して書き込まれ、アドレス0x0060_17FFまで書き込まれる。また、第１ＮＲ画像データをバンク番号６，７に読み書きする場合は、バンク番号６のページ先頭0x0000_1800から順次アクセスされ、バンク番号７のページ終端アドレス0x0000_1FFFまで達した場合、オフセット値分0x0000_1800だけジャンプする。このように、第１ＮＲ画像データがバンク番号６、７に対して連続して書き込まれ、アドレス0x017F_FFFFまで書き込まれる。このように制御することにより、第２、第３ＮＲ画像データ及び、第１ＮＲ画像データを読み書きする場合に、連続してアクセスが行われる。
【００３１】
図４は、本発明の画像処理装置で実施されるノイズ低減処理の処理フローチャートを示す図である。以下、図４のフローチャートに従い、本実施例に係わるノイズ低減処理について説明する。なお、本処理は、ＣＰＵ１１２がＲＯＭ１０９に格納されているプログラムを実行することで実現される。また、図４の処理は、撮像素子１０２より、１画面の画像データが取得される場合に行われる。また、図４の処理は、所定のフレーム間隔で複数画面の画像データが連続して取得される場合に、各画面に対して行われる。
【００３２】
■ステップＳ４０１の処理：
Ａ／Ｄ変換部１０３から出力された画像データを取得して、第１画像処理部１２１で画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等の各種処理を実施する。処理後の画像データは、ＤＲＡＭ１１７のバンク番号０〜７に書き込まれる。第１画像処理部１２１で各種処理を実施された画像データをＤＲＡＭ１１７からＲＤＭＡＣ０ ２０２経由で読み出す。読み出した画像データを縮小処理部１２２で、適切なフィルタ処理後、第１画像データ２２０として、ＷＲＤＭＡＣ０ ２０１を経由してＤＲＡＭ１０７のバンク番号０〜バンク番号３に設定されたデータ転送長単位で書き込まれる。本実施例で処理する第１画像データ２２０の画像サイズは、水平２０４８×垂直１５３６画素（１画素＝１６ｂｉｔ）とする。
【００３３】
■ステップＳ４０２の処理：
縮小処理部１２２が、ＤＲＡＭ１０７から、第１画像データ２２０をＲＤＤＭＡＣ０ ２０２経由で読み出す。そして、縮小処理部１２２は、複数ラインに対して適切なフィルタ処理を施し、水平、垂直方向ともに、第１画像データの１／２の画素数となるように、画素数を減少することにより画像サイズを縮小する。縮小処理部１２２は、縮小処理した画像データを、ＷＲＤＭＡＣ１ ２０３に出力する。ＷＲＤＭＡＣ１ ２０３は、縮小された画像データをメモリ制御部１０６に出力し、第２画像データ２２１として、ＤＲＡＭ１０７のバンク番号０〜バンク番号３に書き込む。第２画像データ２２１の画像サイズは、水平１０２４×垂直７６８画素（１画素＝１６ｂｉｔ）となる。
【００３４】
■ステップＳ４０３の処理：
縮小処理部１２２は、ＤＲＡＭ１０７から、第２画像データ２２１をＲＤＤＭＡＣ０ ２０２経由で読み出す。そして、縮小処理部１２２は、複数ラインに対して適切なフィルタ処理を施し、水平、垂直方向ともに、第２画像データの１／２の画素数となるように、画素数を減少することにより画像サイズを縮小する。縮小処理部１２２は、縮小処理した画像データを、ＷＲＤＭＡＣ１ ２０３に出力する。ＷＲＤＭＡＣ１ ２０３は、縮小された画像データをメモリ制御部１０６に出力し、第３画像データ２２２として、ＤＲＡＭ１０７のバンク番号０〜バンク番号３に書き込む。第３画像データ２２２の画像サイズは、水平５１２×垂直３８４画素（１画素＝１６ｂｉｔ）となる。
【００３５】
以上、ステップＳ４０１からＳ４０３の処理により、入力された同じ画面の画像データから、異なる周波数帯域の画像データである三つの画像データが生成される。なお、図３に示されるように、第１画像データ２２０、第２画像データ２２１、第３画像データ２２２は、ＤＲＡＭ１０７のバンク番号０〜バンク番号３に格納する。
【００３６】
■ステップＳ４０４の処理：
縮小処理部１２２により第３画像データがＤＲＡＭ１０７に書き込まれた後、拡大処理部１２３は、ＤＲＡＭ１０７から、第３画像データ２２２をＲＤＤＭＡＣ１ ２０４経由で読み出す。そして、拡大処理部１２３は、読み出した第３画像データに対してノイズ低減のためのフィルタ処理を施す。拡大処理部１２３は、ノイズ低減処理された第３画像データを、ＷＲＤＭＡＣ２ ２０６に出力する。ＷＲＤＭＡＣ２ ２０６は、ノイズ低減処理された第３画像データをメモリ制御部１０６に出力し、第３ＮＲ画像データ２３１として、ＤＲＡＭ１０７のバンク番号４、５（図２の１５１）に書き込む。第３ＮＲ画像データ２３１の画像サイズは、水平５１２×垂直３８４画素（１画素＝１６ｂｉｔ）となる。
【００３７】
■ステップＳ４０５の処理：
拡大処理部１２３は、ＤＲＡＭ１０７から、第２画像データ２２１をＲＤＤＭＡＣ１ ２０４経由で読み出す。そして、拡大処理部１２３は、読み出した第２画像データに対してノイズ低減のためのフィルタ処理を施す。また、拡大処理部１２３は、第２画像データに対するノイズ低減のフィルタ処理と同時に、ＤＲＡＭ１０７から、第３ＮＲ画像データ２３１をＲＤＤＭＡＣ２ ２０５経由で設定されたデータ転送長単位で読み出す。そして、拡大処理部１２３は、読み出した第３ＮＲ画像データの画素数を水平、垂直方向ともに２倍に増加させ、画像サイズを４倍に拡大する処理を施す。そして、拡大処理部１２３は、第２画像データ２２１に対してノイズ低減処理を施した画像データと、第３ＮＲ画像データ２３１を拡大処理した画像データとを、所定の合成比率に従って合成する。拡大処理部１２３は、合成処理された画像データをメモリ制御部１０６に出力し、第２ＮＲ階層画像データ２３０として、ＷＲＤＭＡＣ２ ２０６経由でＤＲＡＭ１０７のバンク番号４、５に書き込む。第２ＮＲ画像データ２３０の画像サイズは、水平１０２４×垂直７６８画素（１画素＝１６ｂｉｔ）となる。
【００３８】
なお、ＤＲＡＭ１０７のバンク番号４、５内の、第３ＮＲ画像データ２３１の読み出し制御と、第２ＮＲ画像データ２３０の書き込み制御の詳細は後述する。
【００３９】
■ステップＳ４０６の処理：
拡大処理部１２３は、ＤＲＡＭ１０７から、第１画像データ２２０をＲＤＤＭＡＣ１ ２０４経由で、設定されたデータ転送長単位で読み出すそして、拡大処理部１２３は、第１画像データに対してノイズ低減のためのフィルタ処理を施す。第１画像データに対するノイズ低減のフィルタ処理と同時に、拡大処理部１２３は、ＤＲＡＭ１０７から、第２ＮＲ画像データ２３０を、ＲＤＤＭＡＣ２ ２０５経由で読み出す。そして、拡大処理部１２３は、読み出した第２ＮＲ画像データの画素数を水平、垂直方向ともに２倍に増加させ、画像サイズを４倍に拡大する処理を施す。そして、拡大処理部１２３は、第１画像データ２２０に対してノイズ低減処理を施した画像データと、第２ＮＲ画像データ２３０を拡大処理した画像データとを、所定の合成比率に従って合成する。拡大処理部１２３は、合成処理された画像データをメモリ制御部１０６に出力し、第１ＮＲ画像データ２４０として、ＷＲＤＭＡＣ２ ２０６経由でＤＲＡＭ１０７のバンク番号６、７に書き込む。第１ＮＲ画像データ２４０の画像サイズは、水平２０４８×垂直１５３６画素（１画素＝１６ｂｉｔ）となる。
【００４０】
以上、ステップＳ４０１からＳ４０６の処理により、１画面の画像データに対するノイズ低減処理が完了する。なお、通常の図３に示されるように第１〜第３の画像データ２２０〜２２２と、第２、第３ＮＲ画像データ２３０、２３１の格納場所をＤＲＡＭ１０７のバンク番号０〜４とバンク番号４／５に分けて配置する。本配置の目的は、第１〜第３画像データ２２０〜２２２のアクセスと、第２、第３ＮＲ画像データ２３０、２３１のアクセスを別バンクに分散させて、アクセス効率の低下を抑えつつ、並列動作させるためである。
【００４１】
上記のステップＳ４０１からＳ４０６の処理では、縮小処理部１２２は、第１画像データ２２０、第２画像データ２２１、第３画像データ２２２の順番でＤＲＡＭ１０７に書き込む。一方、拡大処理部１２３は、第３画像データ２２２、第２画像データ２２１、第１画像データ２２０という逆の順番でＤＲＡＭ１０７から読み出し、処理を行う。
【００４２】
図５は、前述のノイズ低減処理を複数フレームの画像データに対して連続して実施した場合の処理タイミングを示すタイミングチャートである。図の記号１、２、３は夫々、第１画像データ、第２画像データ、第３画像データがＤＲＡＭ１０７に対して読み書きされている期間を示す。同様に、１’、２’、３’は夫々第１ＮＲ画像データ、第２ＮＲ画像データ、第３ＮＲ画像データがＤＲＡＭ１０７に対して読み書きされている期間を示す。
【００４３】
まず、第１〜第３の画像データの入出力処理を説明する。図５の期間Ｔｍ０では、縮小処理部１２２から第１フレームの第１、第２、第３画像データが順次ＤＲＡＭ１０７に出力される（第１フレームに対する図４の処理フローのステップＳ４０１〜Ｓ４０３に該当）。
【００４４】
続く期間Ｔｍ１では、拡大処理部１２３が、ＤＲＡＭ１０７から第１フレームの第３、第２、第１画像データをそれぞれ読み出す（第１フレームに対する図４の処理フローのステップＳ４０４〜Ｓ４０６に該当）。同時に期間Ｔｍ１では、縮小処理部１２２から第２フレームの第１、第２、第３画像データが順次ＤＲＡＭ１０７に出力される（第２フレームに対する図４の処理フローのステップＳ４０１〜Ｓ４０３に該当）。
【００４５】
以降、同様に期間Ｔｍ２では、拡大処理部１２３が、ＤＲＡＭ１０７から第２フレームの第３、第２、第１画像データを順次読み出す（第２フレームに対する図４の処理フローのステップＳ４０４〜Ｓ４０６に該当）。同時に期間Ｔｍ２では、縮小処理部１２２から第３フレームの第１、第２、第３画像データが順次ＤＲＡＭ１０７に出力される。期間Ｔｍ３以降も同様の処理が繰り返される。
【００４６】
次に、ノイズ低減処理された画像データの入出力処理を説明する。期間Ｔｍ１において、拡大処理部１２３に入力された第３画像データに対してノイズ低減のためのフィルタ処理を施し、第３ＮＲ画像データを出力する（第１フレームに対する図４の処理フローのステップＳ４０４に該当）。その後、拡大処理部１２３により、第２画像データと第３ＮＲ画像データの合成処理を実施し、第２ＮＲ画像データを出力する（第１フレームに対する図４の処理フローのステップＳ４０５に該当）。その後、拡大処理部１２３により、第１画像データにノイズ低減処理を施し、第２ＮＲ画像データとの合成処理を実施し、第１ＮＲ画像データを出力する（第１フレームに対する図４の処理フローのステップＳ４０６に該当）。
【００４７】
続く期間Ｔｍ２では、第２フレームに対して同様の処理を、期間Ｔｍ３では、第３フレームに対して同様の処理を実施する。期間Ｔｍ３以降も同様の処理が繰り返される。
【００４８】
ＤＲＡＭ１０７において、図３に示すノイズ低減処理のための領域以外のメモリ領域は、他の処理のデータ格納領域として使用される場合がある。そのため、ノイズ低減処理を複数フレームの画像データに対して連続して実施した場合においても、ノイズ低減処理のために使用するメモリ領域が増大しないようにすることが望ましい。そのため、前フレームの画像データの読み出しが終わったメモリ領域に対して次フレームの画像データの上書きを行うことが考えられる。
【００４９】
ただし、本実施例に係る画像装置処理の実施するノイズ低減処理の場合は、拡大処理部１２３に入力するために読み出す前フレームの画像データの順番と縮小処理部１２２から出力される次フレームの画像データの順番が反対である。それ故、単純に読み出しが終わった前フレームの画像データが格納されていたメモリ領域に対して、次フレームの画像データを上書きした場合、ＤＭＡＣのアドレス生成制御が煩雑になる。さらに元の画像データから生成される画像データの数が増加するとより複雑となる。
【００５０】
以下、本実施例に係る画像装置処理の実施するノイズ低減処理においてメモリ領域の増大を防ぎ、かつ簡易なＤＭＡＣのアドレス生成制御でプリチャージの発生回数を抑制するアクセス処理を実現する方法について説明する。
【００５１】
図５の期間Ｔｍ１で、拡大処理部１２３に出力済みの第１フレームの第１〜第３画像データが格納されていたメモリ領域に、縮小処理部１２２から出力された第２フレームの第１〜第３画像データを上書きしていく。同様に、期間Ｔｍ２以降の拡大処理部１２３に出力済みの前フレームの第１〜第３画像データが格納されていたメモリ領域に、縮小処理部１２２から出力された次フレームの第１〜第３画像データを上書きしていく。本処理のように上書きをすることにより、ノイズ低減処理を複数フレームの画像データに対して連続して実施した場合でも、図３に示されるバンク番号０〜バンク番号３において、第１〜第３画像データのメモリ領域と同じ領域で処理が可能である。
【００５２】
次に、ノイズ低減処理を画像処理部１０４に入力された複数フレームの画像データに対して連続して実施した場合のＤＲＡＭ１０７へのアクセス制御方法を説明する。図６は、本発明の画像処理装置がノイズ低減処理を行う画像データのライン構成を示す図である。図６において、第１、第２、第３画像データの各ラインをそれぞれＸ０１、Ｘ０２、Ｘ０４で示す。
【００５３】
図６（ａ）は、水平２０４８×垂直１５３６画素を持つ第１画像データ２２０のライン構成を示す。画像データの水平方向座標をＨ，垂直方向座標をＶとする。６０１は、画像データの１ライン目のＸ０１：Ｌ０（座標Ｖ＝０）を、６０２は２ライン目のＸ０１：Ｌ１（座標Ｖ＝１）、６０３は３ライン目のＸ０１：Ｌ２（座標Ｖ＝２）、…、を示す。６７１は、最終１５３６ライン目のＸ０１：Ｌ１５３５（座標Ｖ＝１５３５）を示しており、各ラインは２０４８画素を有する。
【００５４】
図６（ｂ）は、水平１０２４×垂直７６８画素を持つ第２画像データ２２１のライン構成を示す。６１１は、画像データの１ライン目のＸ０２：Ｌ０（座標Ｖ＝０）を、６１２は２ライン目のＸ０２：Ｌ１（座標Ｖ＝１）、６１３は３ライン目のＸ０２：Ｌ２（座標Ｖ＝２）、…、を示す。６８１は、最終７６８ライン目のＸ０２：Ｌ７６７を示しており、各ラインは１０２４画素を有する。
【００５５】
図６（ｃ）は、水平５１２×垂直３８４画素を持つ第３画像データ２２２のライン構成を示す。６２１は画像データの１ライン目Ｘ０４：Ｌ０（座標Ｖ＝０）を、６２２は２ライン目Ｘ０４：Ｌ１（座標Ｖ＝１）、…、６９１は最終３８４ライン目Ｘ０４：Ｌ３８３を示しており、各ラインは５１２画素を有する。なお、図６（ａ）〜（ｃ）における各ライン左端部の‘０’表記の位置（座標Ｈ＝０）が、各ラインの始端画素位置を表す。
【００５６】
図７は、複数フレームの画像データに対して連続してノイズ低減処理を行う場合のＤＲＡＭ１０７への画像データの書き込み及び読み出し制御方法を示す図である。図７において、ＤＲＡＭ１０７に記憶される第１、第２、第３画像データをそれぞれＸ０１、Ｘ０２、Ｘ０４で示す。前述のように、第１、第２、第３画像データ２２０〜２２２は、ＤＲＡＭ１０７のバンク番号０〜３に対して記憶される。図７（ａ）は、拡大処理部１２３に出力される、奇数フレームの画像データの読み出し順序を示す図である。図７（ｂ）は、拡大処理部１２３に対して出力される、偶数フレームの画像データの読み出し順序を示す図である。図７（ｃ）は、縮小処理部１２２から出力された奇数フレーム目の画像データの書き込み順序を示す図である。図７（ｄ）は、縮小処理部１２２から出力された偶数フレームの画像データの書き込み順序を示す図である。
【００５７】
図５の階層画像データの処理タイミングチャートに従って、複数フレームの画像データに対して連続してノイズ低減処理を行う場合のＤＲＡＭ１０７のバンク番号０〜３のメモリ領域へのアクセス制御方法を説明する。なお、図３に示されるように第１〜第３画像データはＤＲＡＭ１０７のバンク番号０〜３のメモリ領域に格納される。
【００５８】
図５の期間Ｔｍ０では、図７（ｃ）に示されるように、縮小処理部１２２から出力された第１フレームの第１画像データが、ＤＲＡＭ１０７に書き込まれる。この場合、第１画像データは、アドレス0x0000_0000をスタートアドレスとして、アドレス値をデータ転送長単位（0x0000_0010：８画素分）でインクリメントしながら、書き込まれる。続く第１フレームの第２画像データが、ＤＲＡＭ１０７にアドレス0x00C0_0000をスタートアドレスとして、アドレス値をデータ転送長単位でインクリメントしながら、書き込まれる。続く第１フレームの第３画像データが、ＤＲＡＭ１０７にアドレス0x00F0_0000をスタートアドレスとして、アドレス値をデータ転送長単位でインクリメントしながら、書き込まれる。図７（ｃ）の矢印７０５がロウアドレス（ページ）がインクリメントされる方向を、矢印７０６がカラムアドレスのインクリメントされる方向を示す。以下、第１の実施例において、アドレス値のインクリメント、デクリメントは設定されたデータ転送長単位で実施されるものとする。
【００５９】
図５の期間Ｔｍ１では、図７（ａ）に示すように、第１フレームの第３画像データの終端画素位置を含むアドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、拡大処理部１２３への読み出しを行う。そして、拡大処理部１２３への第１フレームの第３画像データの読み出しを開始した後、読み出しを行いながら、図７（ｄ）に示すように、縮小処理部１２２からの第２フレームの第１画像データを、同じページに書き込む。即ち、アドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、第２フレームの第１画像データを書き込む。図７（ａ）の矢印７０１がロウアドレス（ページ）がデクリメントされる方向を、矢印７０２がカラムアドレスがデクリメントされる方向を示す。同様に、図７（ｄ）の矢印７０７が、ロウアドレスがデクリメントされる方向を、矢印７０８が、カラムアドレスがデクリメントされる方向を示す。
【００６０】
なお、前述のようにデータ転送部１０５の具備するアドレス制御部２１０は、ＷＲＤＭＡＣ１ ２０３とＲＤＤＭＡＣ１ ２０４で生成されるＤＲＡＭ１０７の書き込みアドレスと読み出しアドレスを調停している。これにより、ＲＤＤＭＡＣ１ ２０４で読み出すアドレスに対してＷＲＤＭＡＣ１ ２０３で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保つ。これにより、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。なお、第１フレームの第３画像データの読み出しアドレスがバンク番号０の先頭アドレス0x00FB_E000に達した時点で、第２フレームの第１画像データは同じページへの書き込み最中である。一方、第３画像データの読み出しアドレスは、バンク番号３における一つ前のページの終端アドレスにジャンプする。このように、書き込みアドレスのページと書き込みアドレスのページが異なるが、読み出しアドレスと書き込みアドレスが別バンクとなるため、バンクインターリーブアクセスとなる。そのため、ページのオープン、クローズを待つこと無く、第１フレームの第３画像データの読み出しと、第２フレームの第１画像データの書き込みとを並列に行うことができる。
【００６１】
引き続き、図７（ａ）に示されるように、拡大処理部１２３に入力するために、第１フレームの第３画像データの読み出しが完了した後、第１フレームの第２画像データＸ０２の終端画素位置を含むアドレス0x00EF_EFFFから読み出される。第１フレームの第２画像データの読み出しが完了した後、第１フレームの第１画像データの終端画素位置を含むアドレス0x00BF_EFFFから読み出される。第１フレームの第３画像データの読み出しと同様に、第２画像データ及び第１画像データの読み出しもアドレス値をデクリメントしながら、処理を行う。
【００６２】
そして、拡大処理部１２３への第１フレームの第２画像データの読み出しを開始した後、読み出しを行いながら、図７（ｄ）に示すように、第２フレームの第２画像データがアドレス0x003B_EFFFをスタートアドレスとして、ＤＲＡＭ１０７に書き込まれる。第２フレームの第２画像データの書き込みが完了した後、第２フレームの第３画像データがアドレス0x000B_EFFFをスタートアドレスとして、ＤＲＡＭ１０７に書き込まれる。第１フレームの第１画像データの書き込みと同様に、第２画像データ及び第３画像データの書き込みもアドレス値をデクリメントしながら、処理を行う。
【００６３】
このように期間Ｔｍ１において、拡大処理部１２３に対する読み出しが完了した第３〜第１画像データが記憶されていた領域に対して、追い掛ける形で、縮小処理部１２２から出力された第１〜第３画像データが書き込まれる。
【００６４】
図７（ｄ）に示す、各画像データのＤＲＡＭ１０７における配置は、図７（ａ）の画像データの配置を水平、垂直方向に反転させた配置となる。
【００６５】
図５の期間Ｔｍ２では、図７（ｂ）に示すように、第２フレームの第３画像データの終端画素位置のアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、拡大合理部１２３への読み出しを行う。同時に、図７（ｃ）に示されるように、縮小処理部１２２から出力された第３フレームの第１画像データが、アドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、ＤＲＡＭ１０７に書き込まれる。図７（ｂ）の矢印７０３がロウアドレスのインクリメントされる方向を、矢印７０４がカラムアドレスのインクリメントされる方向を示す。
【００６６】
なお、期間Ｔｍ１の処理と同様に、アドレス制御部２１０の制御により、ＲＤＤＭＡＣ１ ２０４で読み出すアドレスに対してＷＲＤＭＡＣ１ ２０３で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保つ。これにより、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
【００６７】
引き続き、図７（ｂ）に示されるように、拡大処理部１２３に対する第１フレームの第３画像データの読み出しが完了した後、第２フレームの第２画像データが、終端画素位置のアドレス0x000C_0000から読み出される。第２フレームの第２画像データの読み出しが完了した後、第２フレームの第１画像データが、終端画素位置のアドレス0x003C_0000から読み出される。第２フレームの第３画像データの読み出しと同様に、第２、第１画像データの読み出しもアドレス値をインクリメントしながら、処理を行う。
【００６８】
そして、拡大処理部１２３への第２フレームの第２画像データの読み出しを開始した後、読み出しを行いながら、図７（ｃ）に示すように、第３フレームの第２画像データが、アドレス0x00C0_0000をスタートアドレスとしてＤＲＡＭ１０７に書き込まれる。第３フレームの第２画像データの書き込みが完了した後、第３フレームの第３画像データがアドレス0x00F0_0000をスタートアドレスとしてＤＲＡＭ１０７に書き込まれる。第１フレームの第１画像データの書き込みと同様に、第２、第３画像データの書き込みもアドレス値をインクリメントしながら、処理を行う。
【００６９】
このように期間Ｔｍ２でも、拡大処理部１２３に対して読み出された画像データが記憶されていた領域に対して、縮小処理部１２２から出力された次のフレームの画像データが書き込まれる。
【００７０】
以降、期間Ｔｍ３は、期間Ｔｍ１と同様の処理が行われ、期間Ｔｍ１と期間Ｔｍ２と同様の処理が交互に繰り返される。
【００７１】
図５のタイミングチャートに従って、画像処理部１０４が複数フレームの画像データに対して連続してノイズ低減処理を実施した場合のＤＲＡＭ１０７のバンク番号４〜５へのアクセス制御方法を説明する。なお、図３に示されるように、第２、第３ＮＲ画像データはＤＲＡＭ１０７のバンク番号４〜５のメモリ領域に格納される。
【００７２】
ここで、図８は、ＤＲＡＭ１０７のバンク番号４〜５への第２、第３ＮＲ画像データの書き込み及び読み出し制御方法を示す図である。図８の左端から右端までが、バンク番号４〜５の同一ページに対応する。図８において、第２ＮＲ画像データの記憶領域をＸ０２’で示し、第３ＮＲ画像データの記憶領域をＸ０４’で示す。図８（ａ）は、第３ＮＲ画像データの書き込み完了時における、ＤＲＡＭ１０４に記憶されたデータを示す図である（図５の時刻ｔ＝Ｔ１）。図８（ｂ）は、第３ＮＲ画像データの読み出し、第２ＮＲ画像データの書き込み期間において、ＤＲＡＭ１０７に記憶された各画像データを示す図である（図５の期間Ｔｓ０）。図８（ｃ）は、第２ＮＲ画像データの書き込み完了時のＤＲＡＭ１０７に記憶されたデータを示す図である（図５の時刻ｔ＝Ｔ２）。
【００７３】
図５の期間Ｔｍ１において、拡大処理部１２３から出力された第３ＮＲ画像データがＤＲＡＭ１０７のバンク番号４，５に出力される。バンク番号４の始端アドレス0x0000_1000から、アドレス値をデータ転送長単位でインクリメントしながら、書き込み処理を行う。図８（ａ）の矢印８５０がロウアドレスがインクリメントされる方向を示す。本実施形態では、図３に示すＤＲＡＭ１０７のバンク番号４〜５における同一ページの先頭から終端アドレスまでの容量が、第２ＮＲ画像データの２ライン分のデータの記憶容量と同じとする。
【００７４】
前述したように、奇数フレームにおいては、拡大処理部１２３へは第１〜第３画像データが終端画素位置から逆方向に読み込まれるため、第１〜第３ＮＲ画像データも画面の終端位置（画面の右下）から書き込まれる。
【００７５】
図８（ａ）の８０１は一回の転送により、ＤＲＡＭ１０７に書き込まれる８画素分の第３ＮＲ画像データ（以下画素ブロック）を示している。各画素ブロック８０１は、８画素分の間隔８０２を空けて書き込まれる。また、１０２４画素分の第３ＮＲ画像データが書き込まれた後は、１０２４画素分の間隔８０３を空けて、第３ＮＲ画像データの８画素ブロックが書き込まれる。以降、これらの配置が繰り返される。前述のように、図３に示すＤＲＡＭ１０７のバンク番号４〜５における同一ページの先頭から終端アドレスまでの容量が、第２ＮＲ画像データの２ライン分のデータの記憶容量と同じである。そのため、ＤＲＡＭ１０７のバンク番号４〜５における同一ページの先頭から終端アドレスに対し、第３画像データの４ライン分を記憶することが可能である。しかし、本実施形態では、バンク番号４〜５の同一ページに対し、８画素分の間隔を空けて、８画素分の第３画像ＮＲデータを書き込む。従って、同一ページには、２ライン分の第３画像ＮＲデータが書き込まれる。また、第３画像ＮＲデータを１０２４画素の書き込んだ後、メモリ領域の１０２４画素分の間隔８０３を空けるので、ＤＲＡＭ１０７に対し、１ページおきに２ライン分の第３ＮＲ画像データが書き込まれる。
【００７６】
ここで、図９は、図５の期間Ｔｓ０の拡大処理部１２３に入力される第３ＮＲ画像データと、拡大処理部１２３から出力される第２ＮＲ画像データを示したタイミングチャートである。第２ＮＲ画像データの画像サイズは、第３ＮＲ画像データの画像サイズに対して水平、垂直ともに２倍のサイズとなる。そこで、本実施形態では、図９に示すように、第２ＮＲ画像データの奇数ラインの期間において、ＤＲＡＭ１０７から２ライン分の第３ＮＲ画像データが拡大処理部１２３に読み出され、２ライン分の第２ＮＲ画像データが生成される。そして、生成された２ラインの第２ＮＲ画像データのうち、一方が、第３ＮＲ画像データが記憶されていた領域に対して書き込まれ、次のラインは、第３ＮＲ画像データが記憶されていないページに対して書き込まれる。また、第２ＮＲ画像データの偶数ラインの期間においては、拡大処理部１２３に対しては第３ＮＲ画像データが読み出されない。このように、第３ＮＲ画像データの８画素が記憶されている領域に対し、第２ＮＲ画像データが１６画素出力される処理が繰り返される。一方、第２ＮＲ画像データの垂直の画素サイズが第３ＮＲ画像データの２倍のため、第２ＮＲ画像データの偶数ラインが出力される期間は、拡大処理部１２３に対して第３ＮＲ画像データは入力されない。以降、奇数ライン、偶数ラインの処理が交互に繰り返される。
【００７７】
したがって、図８（ａ）のように第３ＮＲ画像データをＤＲＡＭ１０７に記憶することで、拡大処理部１２３への画素ブロック８０１が読み出された後、この画素ブロック８０１を用いて処理された第２ＮＲ画像データを上書きすることが出来る。即ち、同じページの最後の画素フロック８０１の読み出しが完了するまで、第３ＮＲ画像データが読み出されているロウアドレスと同じロウアドレスに対して第２ＮＲ画像データを書き込むことができる。これにより、同一バンクの同一ページ８６０になる期間を長く設定することが可能となる。そのため、階層処理画像データの処理と同様に、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
【００７８】
また、読み出した第３ＮＲ画像データを拡大処理して、第２画像データのデータとして出力する。そのため、第３ＮＲ画像データの読み出しアドレスを、第２ＮＲ画像データの書き込みアドレスが追い越すようなことは発生しない。従って、アドレス制御部２１０による調停が不要となる。さらに、第３ＮＲ画像データの記憶領域と第２ＮＲ画像データの記憶領域を重複させることにより、ノイズ低減処理のために使用する領域を節約することが可能となる。
【００７９】
図８（ｃ）に示されるように、第２ＮＲ画像データの書き込みが完了した後に、拡大処理部１２３に第２ＮＲ画像データを出力し、拡大処理部１２３により第１ＮＲ画像データが出力される。第１ＮＲ画像データを生成する際も、第２ＮＲ画像データ及び第１画像データは、画面の終端画素位置から読み出され、処理される。そのため、第１ＮＲ画像データをＤＲＡＭ１０７のバンク番号６、７に書き出す際に、スタートアドレス0x017F_FFEFからアドレス値をデクリメントして書き出す。そして、第１ＮＲ画像データを読み出す場合に、アドレスをインクリメントして読み出すことで、ラスタスキャンの順に表示制御部１１０に対して出力される。続く期間Ｔｍ２（Ｔｓ１）、Ｔｍ３（Ｔｓ２）、・・・においても同様の処理を実施する。
【００８０】
以上、本実施例では、本発明の画像処理装置を撮像装置に適用した例を説明したが、これに限るものではない。例えば、ＰＣ等の情報処理装置、印刷装置、スマートフォンなどにおけるマルチレート信号処理によるノイズ低減処理としても適用可能であることは言うまでもない。
【００８１】
［第１の変形例］
ここで、本発明の第１の実施例の第１の変形例に係る画像処理装置を、図１０を参照して説明する。
第１の実施例では、拡大処理部１２３に入力する画像データを、１画面の終端位置の画素から逆方向に読み出しながら処理を実施していたが、縮小処理部１２２から出力する画像データを逆方向にして処理させても同様の効果が得られる。本変形は、第１の実施例とは、図７の画像データのＤＲＡＭ１０７に対する書き込みおよび読み出し処理が異なるのみであり、他の構成は第１の実施例と同様であるので、ここでの説明は特に必要がない限り省略する。
【００８２】
図１０は、画像処理部１０４に入力された複数フレームの画像データに対して、ノイズ低減処理を連続して実施した場合のＤＲＡＭ１０７への画像データの書き込み及び読み出し制御方法を示す図である。図１０（ａ）は、拡大処理部１２３に出力される奇数フレームの画像データの読み出し順序を示す図である。図１０（ｂ）は、拡大処理部１２３に出力される偶数フレームの画像データの読み出し順序を示す図である。図１０（ｃ）は、縮小処理部１２２から出力された奇数フレームの画像データの書き込み順序を示す図である。図１０（ｄ）は、縮小処理部１２２から出力された偶数フレームの画像データの書き込み順序を示す図である。
【００８３】
図５のタイミングチャートに従って、画像処理部１０４に入力された複数フレームの画像データに対して連続してノイズ低減処理を実施した場合のＤＲＡＭ１０７のバンク番号０〜３のメモリ領域へのアクセス制御方法を説明する。なお、図３に示されるように、ノイズ低減処理を行う前の第１〜第３画像データはＤＲＡＭ１０７のバンク番号０〜３のメモリ領域に格納される。
【００８４】
図５の期間Ｔｍ０では、縮小処理部１２２に対し、ＤＲＡＭ１０７より、ノイズ低減処理の対象となる画像データが、１画面の終端の画素位置から逆方向に読み出されて出力される。処理済みの出力データは、図１０（ｃ）に示すように縮小処理部１２２から出力された第１フレームの第１画像データが、ＤＲＡＭ１０７にアドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。続く第１フレームの第２画像データが、ＤＲＡＭ１０７にアドレス0x003B_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。続く第１フレームの第３画像データが、ＤＲＡＭ１０７にアドレス0x000B_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。図１０（ｃ）の矢印９０５が、ロウアドレスのデクリメントされる方向を、矢印９０６がカラムアドレスがデクリメントされる方向を示す。
【００８５】
図５の期間Ｔｍ１では、図１０（ａ）に示すように、第１フレームの階層画像データＸ０４の始端画素位置のアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、画像拡大合成処理部１２３への読み出しを行う。同時に、図１０（ｄ）に示されるように、縮小処理部１２２から出力された第２フレームの第１画像データが、ＤＲＡＭ１０７にアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、書き込まれる。図１０（ａ）の矢印９０１がロウアドレスのインクリメントされる方向を、矢印９０２がカラムアドレスのインクリメントされる方向を示す。図１０（ｄ）の矢印９０７がロウアドレスのインクリメントされる方向を、矢印９０８がカラムアドレスのインクリメントされる方向を示す。
【００８６】
なお、前述のようにデータ転送部１０５の備えるアドレス制御部２１０は、ＷＲＤＭＡＣ１ ２０３とＲＤＤＭＡＣ１ ２０４で生成されるＤＲＡＭ１０７の書き込みアドレスと読み出しアドレスを調停している。これにより、ＲＤＤＭＡＣ１ ２０４の読み出しアドレスに対してＷＲＤＭＡＣ１ ２０３の書き込みアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保ち追い掛ける形になる。これにより、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
【００８７】
引き続き、図１０（ａ）に示されるように、拡大処理部１２３に対する第１フレームの第３画像データの読み出しの完了後、第１フレームの第２画像データが、始端画素位置（0x000C_0000）から読み出される。第１フレームの第２画像データの読み出しが完了した後、第１フレームの第１画像データが、始端画素位置（0x003C_0000）から読み出される。第１フレームの第３画像データと同様に、第２画像データ２及び第１画像データもアドレス値をインクリメントしながら、読み出しが行われる。
【００８８】
同時に、図１０（ｄ）に示すように、縮小処理部１２２から出力された第２フレームの第１画像データの書き込みが完了した後、第２フレームの第２画像データがＤＲＡＭ１０７に書き込まれる。このとき、アドレス（0x00C0_0000）をスタートアドレスとして第２フレームの第２画像データが書き込まれる。第２フレームの第２画像データの書き込みが完了した後、第２フレームの第３画像データがＤＲＡＭ１０７にアドレス（0x00F0_0000）をスタートアドレスとして書き込まれる。第１フレームの第３画像データの書き込みと同様に、第２、第３画像データの書き込みもアドレス値をインクリメントしながら、行われる。
【００８９】
このように期間Ｔｍ１において、拡大処理部１２３に対して読み出された画像データが記憶されていた記憶領域に対して、追い掛ける形で、画像縮小処理部１２２から出力された画像データＸ０１、Ｘ０２，Ｘ０４を書き込まれる。
【００９０】
図１０（ｄ）に示す第１、第２、第３画像データのＤＲＡＭ１０７における配置は、図１０（ａ）のにおける各画像データの配置をＨ方向、Ｖ方向に反転させた配置となる。
【００９１】
図５の期間Ｔｍ２では、図１０（ｂ）に示すように、第２フレームの第３画像データが、始端画素位置のアドレスを含む0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、拡大処理部１２３に読み出される。同時に、図１０（ｃ）に示されるように、縮小処理部１２２から出力された、第３フレームの第１画像データが、アドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。図１０（ｂ）の矢印９０３がロウアドレスのデクリメントされる方向を、矢印９０４がカラムアドレスのデクリメントされる方向を示す。
【００９２】
なお、期間Ｔｍ１の処理と同様に、アドレス制御部２１０の制御により、ＲＤＤＭＡＣ１  ２０４で読み出すアドレスに対してＷＲＤＭＡＣ１ ２０３で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保ち追い掛ける形になる。これにより、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
【００９３】
引き続き、図１０（ｂ）に示されるように、拡大処理部１２３に対する、第１フレームの第３画像データの読み出しが完了した後、第１フレームの第２画像データが、終端画素位置のアドレス0x00EF_EFFFから読み出される。第１フレームの第２画像データの読み出しが完了した後、第１フレームの第１画像データが、終端画素位置のアドレス0x00BF_EFFFから読み出される。第１フレームの第３画像データの読み出しと同様に、第２、第１画像データの読み出しもアドレス値をデクリメントしながら行われる。
【００９４】
同時に、図１０（ｃ）に示すように、縮小処理部１２２から出力された第２フレームの第１画像データの書き込みが完了した後、第２フレームの第２画像データがＤＲＡＭ１０７に書き込まれる。このとき、アドレス0x003B_EFFFをスタートアドレスとして第２フレームの第２画像データが書き込まれる。第２フレームの第２画像データの書き込みが完了した後、第２フレームの第３画像データがアドレス0x000B_EFFFをスタートアドレスとして書き込まれる。第１フレームの第１画像データと同様に、第２、第３画像データの書き込みもアドレス値をデクリメントしながら行われる。
【００９５】
このように期間Ｔｍ２においても、拡大処理部１２３に出力された画像データが記憶されていた記憶領域に対して、追い掛ける形で、縮小処理部１２２から出力された画像データが書き込まれる。
【００９６】
以降、期間Ｔｍ３は、期間Ｔｍ１と同様の処理が行われ、期間Ｔｍ１と期間Ｔｍ２と同様の処理が交互に繰り返される。
【００９７】
本変形例では、ノイズ低減処理済み画像データも始端画素位置から処理が開始されているため、ＤＲＡＭ１０７のバンク番号６、７に書き出す際に、スタートアドレス0x0000_1800からアドレス値をインクリメントして書き出す。これにより、メモリ領域に通常の画素の並びとして配置される。
【００９８】
［第２の変形例］
次に、本発明の第１の実施例の第２の変形例に係る画像処理装置にについて図１１を参照して説明する。
第１実施例およびその第１の変形例では、ＤＲＡＭ１０７から拡大処理部１２３に画像データを出力する際、画像終端位置の画素から逆方向に読み出していた。第２の変形例として、読み書き制御の方法を階層画像データの各ラインの先頭画素（図６のＨ＝０に該当する）から処理を開始するようにしても同様の効果が得られる。第１の変形例と同様、本変形も第１の実施例とは、図７の画像データのＤＲＡＭ１０７に対する書き込みおよび読み出し処理が異なるのみであり、他の構成は第１の実施例と同様であるので、ここでの説明は特に必要がない限り省略する。
【００９９】
図１１は、ノイズ低減処理を画像処理部１０４に入力された複数フレームの画像データに対して、連続して実施した場合のＤＲＡＭ１０７への画像データの書き込み及び読み出し制御方法を示す図である。図１１（ａ）は、拡大処理部１２３に出力される奇数フレームの画像データの読み出し順序を示す図である。図１１（ｂ）は、拡大処理部１２３に出力される偶数フレームの画像データの読み出し順序を示す図である。図１１（ｃ）は、縮小処理部１２２から出力された奇数フレームの画像データの書き込み順序を示す図である。図１１（ｄ）は、縮小処理部１２２から出力された偶数フレームの画像データの書き込み順序を示す図である。
【０１００】
図５の処理タイミングチャートに従って、画像処理部１０４に入力された複数フレームの画像データに対して連続してノイズ低減処理を実施した場合のＤＲＡＭ１０７のバンク番号０〜３のメモリ領域へのアクセス制御方法を説明する。なお、図３に示されるように各画像データはＤＲＡＭ１０７のバンク番号０〜３の記憶領域に格納される。
【０１０１】
図５の期間Ｔｍ０では、図１１（ｃ）に示されるように縮小処理部１２２から出力された第１フレームの第１、第２、第３画像データが格納される。処理内容は第１の実施例における期間Ｔｍ０と同様である。図１１（ｃ）の矢印１１０５がロウアドレスのインクリメントされる方向を、矢印１１０６がカラムアドレスのインクリメントされる方向を示す。
【０１０２】
図５の期間Ｔｍ１では、図１１（ａ）に示されるように、拡大合理部１２３に対し、第１フレームの第３画像データの３８１行目のライン（Ｘ０４：Ｌ３８０）読み出しが開始される。具体的には先頭画素のアドレス0x00FB_E000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。続いて、３８２行目のライン（Ｘ０４：Ｌ３８１）、３８３行目のライン（Ｘ０４：Ｌ３８２）、３８４行目のライン（Ｘ０４：Ｌ３８３）が先頭画素から読み出しが行われる。同時に、図１１（ｄ）に示されるように、縮小処理部１２２から出力された第２フレームの第１画像データの１行目のライン（Ｘ０１：Ｌ０）が、読み出された４ライン分の第３画像データの記憶領域に書き込まれる。具体的には、先頭画素のアドレス0x00FB_E000をスタートアドレス値として、アドレスをインクリメントしながら、第２フレームの第１画像データの１行目のラインの書き込みが実行される。
【０１０３】
第１の実施例およびその第１の変形例と同様、データ転送部１０５の具備するアドレス制御部２１０で読み書きするアドレスが近接するため、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増える。これによりプリチャージ発生回数が減り、データを効率良く転送することが可能となる。
【０１０４】
なお、拡大処理部１２３では、入力された４ラインを一時的にラインバッファに格納して下端のライン（Ｘ０４：Ｌ３８３）から順番に処理を実行する。
【０１０５】
引き続き、図１１（ａ）に示されるように、拡大処理部１２３に入力するために、第１フレームの第３画像データの３８４行目のライン（Ｘ０４：Ｌ３８３）の読み出しが完了した後、３７７行目のライン（Ｘ０４：Ｌ３７６）が読み出される。具体的には、ＤＭＡＣでアドレス値をジャンプして先頭画素位置のアドレス0x00FB_C000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。３７８行目のライン（Ｘ０４：Ｌ３７７）、３７９行目のライン（Ｘ０４：Ｌ３７８）、３８０行目のライン（Ｘ０４：Ｌ３７９）が続いて読み出される。以降順次、４ライン単位で読み出しが完了した後、アドレス値をジャンプして画像データ上部側の４ラインを読み出す処理を繰り返す。
【０１０６】
第１フレームの第３画像データの読み出しが完了した後、第２画像データの７６７行目のライン（Ｘ０２：Ｌ７６６）から読み出しが開始される。具体的には、先頭画素位置のアドレス0x00EF_E000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。連続して、第２画像データの７６８行目のライン（Ｘ０２：Ｌ７６７）が先頭画素位置から読み出される。次に、７６５行目のライン（Ｘ０２：Ｌ７６４）が先頭画素位置から読み出される。具体的にはＤＭＡＣでアドレス値をジャンプして先頭画素位置のアドレス0x00FF_C000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。連続して、第２画像データの７６６行目のライン（Ｘ０２：Ｌ７６５）が先頭画素位置から読み出される。以降順次、２ライン単位で読み出しが完了した後、アドレス値をジャンプして画像データ上部側の２ラインを読み出す処理を繰り返す。
【０１０７】
第１フレームの第２画像データの読み出しが完了した後、第１画像データの１５３６行目のライン（Ｘ０１：Ｌ１５３５）から読み出しが開始される。具体的には、先頭画素位置のアドレス0x00BF_E000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。次に、１５３５行目のライン（Ｘ０１：Ｌ１５３４）が先頭画素位置から読み出される。具体的にはＤＭＡＣでアドレス値をジャンプして先頭画素位置のアドレス0x00BF_C000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。以降順次、１ライン単位で読み出しが完了した後、アドレス値をジャンプして画像データ上部側の１ラインを読み出す処理を繰り返す。
【０１０８】
同時に、図１１（ｄ）に示されるように、縮小処理部１２２から出力された第２フレームの第１画像データの１行目のライン（Ｘ０１：Ｌ０）の書き込みが完了した後、２行目のライン（Ｘ０１：Ｌ０）が先頭画素位置から書き込みが行われる。具体的には、ＤＭＡＣでアドレス値をジャンプして、アドレス0x00FB_C000をスタートアドレス値として、アドレスをインクリメントしながら書き込まれる。以降順次、１ライン単位で書き込みが完了した後、アドレス値をジャンプして画像データの次の１ラインを書き込む処理を繰り返す。
【０１０９】
第２フレームの第１画像データの書き込みが完了した後、第２画像データの１行目のライン（Ｘ０２：Ｌ０）から書き込みが開始される。具体的には、先頭画素位置からアドレス0x003B_E000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。次に、連続して、第２画像データの２行目のライン（Ｘ０２：Ｌ１）が先頭画素位置から書き込まれる。次に、３行目のライン（Ｘ０２：Ｌ２）が先頭画素位置から書き込まれる。具体的にはＤＭＡＣでアドレス値をジャンプして先頭画素位置からアドレス0x003B_C000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。連続して、第２画像データの４行目のライン（Ｘ０２：Ｌ３）が先頭画素位置から書き込まれる。以降順次、２ライン単位で書き込みが完了した後、アドレス値をジャンプして画像データの次の２ラインを書き込む処理を繰り返す。なお、拡大処理部１２３では、入力された２ラインを一時的にラインバッファに格納して下端のライン（Ｘ０２：Ｌ７６７）から順番に処理を実行する。
【０１１０】
第２フレームの第２画像データの書き込みが完了した後、第２フレームの第３画像データの１行目のライン（Ｘ０４：Ｌ０）の書き込みが実施される。具体的には、ＤＭＡＣでアドレス値をジャンプして先頭画素位置からアドレス0x00B_E000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。続いて２行目のライン（Ｘ０４：Ｌ１）、３行目のライン（Ｘ０４：Ｌ２）、４行目のライン（Ｘ０４：Ｌ３）が先頭画素位置から書き込まれる。次に、５行目のライン（Ｘ０４：Ｌ４）が、ＤＭＡＣでアドレス値をジャンプして先頭画素位置からアドレス0x00B_C000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。続いて６行目のライン（Ｘ０４：Ｌ５）、７行目のライン（Ｘ０４：Ｌ６）、８行目のライン（Ｘ０４：Ｌ７）が先頭画素位置から書き込まれる。以降順次、４ライン単位で書き込みが完了した後、アドレス値をジャンプして画像データの次４ラインを書き込む処理を繰り返す。
【０１１１】
図１１（ａ）の矢印１１０１がロウアドレスのインクリメントする方向を、矢印１１０２がカラムアドレスのインクリメントする方向を示す。図１１（ｄ）の矢印１１０７がロウアドレスのインクリメントする方向、矢印１１０８がカラムアドレスのインクリメントする方向を示す。
【０１１２】
このように期間Ｔｍ１において、拡大処理部１２３に出力された画像データの記憶領域に対して、追い掛ける形で、縮小処理部１２２から出力された画像データが書き込まれる。ただし、第２の変形例では、拡大処理部１２３に入力するため、第１画像データの１ライン分である２０４８画素の読み出しが完了したタイミングでアドレス値をジャンプする。同様に縮小処理部１２２から出力された２０４８画素の書き込みが完了したタイミングでアドレス値をジャンプする。このジャンプ制御によりＤＭＡＣによるアドレス値制御はインクリメント制御のみで実現が出来る。
【０１１３】
図５の期間Ｔｍ２では、図１１（ｂ）に示すように、拡大処理部１２３への読み出しを行う。このとき、第２フレームの第３画像データの３８１行目のライン（Ｘ０４：Ｌ３８０）の先頭画素位置のアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、読み出しを行う。連続して３８２行目のライン（Ｘ０４：Ｌ３８１）、３８３行目のライン（Ｘ０４：Ｌ３８２）、３８４行目のライン（Ｘ０４：Ｌ３８３）が読み出される。同時に、読み出しが完了したメモリ領域に対して、図１１（ｃ）に示すように第３フレームの第１画像データＸ０１の１行目のライン（Ｘ０１：Ｌ０）がアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら書き込まれる。
【０１１４】
以降、図１１（ｂ）に示されるように、第３画像データの３７７行目のライン（Ｘ０４：Ｌ３７６）、３７８行目のライン（Ｘ０４：Ｌ３７７）、３７９行目のライン（Ｘ０４：Ｌ３７８）、３８０行目のライン（Ｘ０４：Ｌ３７９）が読み出される。第３画像データの読み出しが完了されると、第２画像データの７６７行目のライン（Ｘ０２：Ｌ７６６）、７６８行目のライン（Ｘ０２：Ｌ７６７）が読み出される。次に７６５行目のライン（Ｘ０２：Ｌ７６４）、７６６行目のライン（Ｘ０２：Ｌ７６５）が読み出される。第２画像データの読み出しが完了されると、第１画像データの１５３６行目のライン（Ｘ０１：Ｌ１５３５）、１５３５行目のライン（Ｘ０１：Ｌ１５３４）が読み出される。順次、第１画像データの１行目のライン（Ｘ０１：Ｌ０）まで読み出しが実施される。図１１（ｂ）の矢印１１０３がロウアドレスのインクリメントされる方向を、矢印１１０４がカラムアドレスのインクリメントされる方向を示す。また、同時に図１１（ｃ）に示される縮小処理部１２２の書き込み処理が実施される。
【０１１５】
したがって、期間Ｔｍ１の処理と同様に、アドレス制御部２１０の制御により、ＲＤＤＭＡＣ１２０４で読み出すアドレスに対してＷＲＤＭＡＣ１ ２０３で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保ち追い掛ける形になる。これにより、ＤＲＡＭ１０７の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。このように期間Ｔｍ２でも、拡大処理部１２３への読み出しが完了した画像データの記憶領域に対して、追い掛ける形で、縮小処理部１２２から出力された画像データが書き込まれる。
【０１１６】
以降、期間Ｔｍ３は、期間Ｔｍ１と同様の処理が行われ、期間Ｔｍ１と期間Ｔｍ２と同様の処理が交互に繰り返される。
【０１１７】
最終処理画像であるノイズ低減処理済み画像データも最終ラインの先頭画素位置から出力が開始されるため、ＤＲＡＭ１０７のバンク番号６、７に書き出す際に、スタートアドレス0x017F_F800からアドレス値からインクリメントして書き込みを行う。１ライン書き込み後にＤＭＡＣでアドレス値をジャンプして0x017F_D800から画像データの一つ上のラインを先頭画素位置から書き込みを行う、順次同様の処理を繰り返すことで、メモリ領域に通常の画素の並びに戻して配置する。続く期間Ｔｍ３（Ｔｓ２）、・・・においても同様の処理を実施する。
【０１１８】
なお、本変形例においては、第３画像データ及び第２画像データを第１画像データの１ラインの２０４８画素単位でアドレス値をジャンプして、処理を実施していたが、各画像データの１ライン単位でジャンプを行う処理にしても良い。ただし、次フレームの画像データの１ライン分の画素を書き込むためのアドレスから、画像データの読み出しが完了するまで、書き込みが行えない。
【０１１９】
また、本変形例のように第１画像データの１ラインの２０４８画素単位でアドレス値をジャンプして、各ラインの先頭画素からアドレス値をインクリメントしながら読み出す処理方法は第１の変形例にも適応可能である。
【０１２０】
以上のように、ノイズ低減処理を複数フレームに連続して実行する際に、拡大処理部１２３への画像データの読み出し順と縮小処理部１２２の画像データの書き込み順を逆方向にする。これにより、プリチャージ発生回数を抑制し、ＤＲＡＭ１０７へのアクセス効率向上が可能となる。また、画像データを読み書きするためにＤＭＡＣが作成するアドレス制御はアドレス値のインクリメント、デクリメント制御といった簡易な手段で実現可能となる。
【０１２１】
さらに、ノイズ低減処理済の画像データの処理時に、サイズが大きい画像データを格納するメモリ領域に対して、サイズが小さい画像データを一定の間隔を有して配置する。読み出しが完了した画像データの記憶領域に対して、次のフレームのサイズが大きい画像データを書き込むことにより、プリチャージ発生回数を抑制し、ＤＲＡＭ１０７へのアクセス効率向上が可能となる。
【０１２２】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【０１２３】
例えば、画像サイズが異なる場合や、画像データを一括で処理せずに複数に分割して、分割単位毎に一つずつ処理する場合等にも適用可能である。
【０１２４】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
【０１２５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【０１２６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２７】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
【０１２８】
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【図１】
2016091205.tif 000003
【図２】
2016091205.tif 000004
【図３】
2016091205.tif 000005
【図４】
2016091205.tif 000006
【図５】
2016091205.tif 000007
【図６】
2016091205.tif 000008
【図７】
2016091205.tif 000009
【図８】
2016091205.tif 000010
【図９】
2016091205.tif 000011
【図１０】
2016091205.tif 000012
【図１１】
2016091205.tif 000013