(57)【要約】【課題】ブロックデータを一時的に格納するメモリの容量の削減を図ることが可能な画像処理装置を提供すること。【解決手段】画像処理回路におけるフィルタ処理は、１フレームの入力画像を複数のブロックに分割したブロックデータ１４３Ａ〜１４３Ｅ，１５３Ａ〜１５３Ｅ，１６３Ａ〜１６３Ｅに対して実行される。制御部は、フィルタ処理における最初に処理される第１のブロックデータ１４３Ａ，１５３Ａ，１６３Ａのブロック幅を、処理対象のデータ領域Ｒ１と周辺画素ＳＧの領域とを加えた水平ブロック幅ＨＳ０とするように制御する。また、第１のブロックデータ以降に処理されるブロックデータ１４３Ｂ〜１４３Ｅのブロック幅をデータ領域Ｒ１と同じブロック幅の水平ブロック幅ＨＳ１とする。【選択図】図６
2014102675.tif 000002
【特許請求の範囲】
【請求項１】
画像データを水平方向及び垂直方向に分割したブロックデータの単位で画像処理する画像処理装置であって、
前記ブロックデータに含まれる処理対象領域にある注目画素のデータを順次選択して、前記注目画素に隣接して配置されている周辺画素のデータと共にフィルタ処理するフィルタ処理部と、
前記フィルタ処理部での処理に応じて前記ブロックデータを格納するメモリ部と、
前記水平方向及び前記垂直方向に並ぶ前記ブロックデータの何れか一方向の一列を前記フィルタ処理部により処理する際、最初に処理される第１のブロックデータの処理方向のブロック幅を前記処理対象領域と前記周辺画素の領域とを加えたブロック幅とし、前記第１のブロックの次に処理される第２のブロックデータの処理方向のブロック幅を前記処理対象領域のブロック幅として、前記メモリ部を制御する制御部とを備えることを特徴とする画像処理装置。
【請求項２】
前記第１のブロックデータに含まれる前記周辺画素の領域は、前記第２のブロックデータに隣接する領域であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１のブロックデータにおける前記第２のブロックデータに隣接する第１の一部領域は、前記第２のブロックデータの処理対象領域とされ、前記第１のブロックデータの前記第１の一部領域に隣接する第２の一部領域及び前記第２のブロックデータの次に処理される第３のブロックデータに隣接する一部領域は、前記第２のブロックデータにおける前記処理対象領域の周辺画素の領域として使用されることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１及び第２の一部領域における処理方向のデータ幅は、前記周辺領域のデータ幅であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記制御部は、前記フィルタ処理部によるフィルタ処理に応じて、前記処理対象領域のうち前記第１及び第２の一部領域を除いて前記メモリ部から消去し、新たなブロックデータを前記メモリ部に格納することを特徴とする請求項３又は４に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願に開示の技術は、画像入力装置にて入力される画像データに対して画像処理を行うに際し、処理後の画像データを一時的にメモリに保存する処理を行う画像処理装置に関するものである。
【背景技術】
【０００２】
従来、デジタルカメラ等の撮像装置は、ＣＣＤ（Charge Coupled Devices）イメージセンサなどの撮像素子によって取得した画像データ（動画を含む）を複数の処理部を備える画像処理装置にて処理しメモリに格納する。メモリは、例えば、画像処理装置に対するデータの入出力がメモリコントローラにて制御される外部メモリ（例えば、ＳＤＲＡＭ）である。処理部は、例えばローパスフィルタやノイズフィルタ等のフィルタ処理を実行する。画像処理装置は、各処理部にて画像データを適宜処理する際に、処理した画像データを外部メモリに一時的に格納する。
【０００３】
撮像装置は、例えばＩＳＯ感度が高いモードでは、画像データに対するノイズの影響が増大するため画像データに対するフィルタ処理を複数回実行する。撮像装置は、フィルタ処理の回数が増加すると外部メモリのアクセス頻度が高くなり、メモリアクセスにおける帯域幅が増加することからアクセス頻度が抑えられる構成が望まれている。
【０００４】
これに対し、外部メモリに対するアクセス頻度を抑えるために、処理後の画像データを一時的に記憶する内部メモリが画像処理装置に備えられる撮像装置がある（特許文献１など）。この種の画像処理装置では、外部メモリに記憶される１フレームの画像データを複数のブロックデータに分割し、各処理部がブロックデータを順次入力して処理を実行する。各処理部は、対象となるデータ領域に対して処理を行う際、その周辺のデータ領域も参照して処理を行う。そのため、各処理部が必要とするブロックデータは、処理対象のデータ領域とその周辺のデータ領域を含んだものである。このブロックデータを単位としてデータを内部メモリに格納する。処理部が次のブロックデータを処理する際に、内部メモリに格納されたデータを参照することで外部メモリに対するアクセス頻度が抑えられる。
【０００５】
また、特許文献１に示す撮像装置では、処理部から出力されるブロックデータの領域が、入力されるブロックデータの範囲を越えて左側に広がっている。換言すれば、１ラインの水平方向において、入力されるブロックデータに対し出力されるブロックデータは左側に広がってずれた位置となっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−９４２１２号公報（図４）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上記した画像処理装置では、各処理部にて処理されるブロックデータが同一のサイズとなっている。このため、ブロックデータを順次処理していくと、入出力されるブロックデータと処理対象のデータ領域との位置ずれが処理を繰り返す毎に増大する。具体的には、処理に先行したブロックデータが内部メモリに格納されることとなる。その結果、内部メモリには、処理には未だ必要とされないデータ領域を含むブロックデータも格納されるため、内部メモリに一時的に格納されるデータ量が増加し、内部メモリの最大容量の増大に繋がる。
一方で、位置ずれを補正するために、入出力されるブロックデータの数・位置等に応じて内部メモリへの格納を休止したり格納のタイミングをずらす等の処理を画像処理装置に実行させようとすると、処理内容が複雑となり負荷が増大する。
【０００８】
本願に開示される技術は、上記の課題に鑑み提案されたものであって、画像データを複数のブロックに分割し各ブロックデータに対し画像処理を実行する画像処理装置であって、ブロックデータを一時的に格納するメモリの容量の削減を図ることができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願に開示される技術に係る画像処理装置は、画像データを水平方向及び垂直方向に分割したブロックデータの単位で画像処理する画像処理装置であって、ブロックデータに含まれる処理対象領域にある注目画素のデータを順次選択して、注目画素に隣接して配置されている周辺画素のデータと共にフィルタ処理するフィルタ処理部と、フィルタ処理部での処理に応じてブロックデータを格納するメモリ部と、水平方向及び垂直方向に並ぶブロックデータの何れか一方向の一列をフィルタ処理部により処理する際、最初に処理される第１のブロックデータの処理方向のブロック幅を処理対象領域と周辺画素の領域とを加えたブロック幅とし、第１のブロックの次に処理される第２のブロックデータの処理方向のブロック幅を処理対象領域のブロック幅として、メモリ部を制御する制御部を備える。なお、ここで言うデータ幅とは、処理方向の所定領域に含まれる画素数をいう。
【発明の効果】
【００１０】
本願に開示される技術に係る画像処理装置によれば、ブロックデータを一時的に格納するメモリの容量の削減を図ることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の撮像装置を示すブロック図。
【図２】画像処理装置及び外部メモリを示すブロック図。
【図３】入力画像を説明するための図。
【図４】判定部を示すブロック図。
【図５】出力画像を説明するための図。
【図６】複数段のフィルタ処理におけるブロックデータの状態を示す図。
【図７】処理したブロック数と内部メモリに格納されるデータ量の関係を示すグラフ。
【図８】比較例における入力画像を説明するための図。
【図９】比較例における複数段のフィルタ処理におけるブロックデータの状態を示す図。
【図１０】比較例における処理したブロック数と内部メモリに格納されるデータ量の関係を示すグラフ。
【発明を実施するための形態】
【００１２】
図１を参照し、実施形態の撮像装置１０の構成について説明する。
図１に示す撮像装置１０は、例えばデジタルカメラであり、撮像部１１、画像処理装置１２、外部メモリ１３、外部記憶媒体１５、表示部１６を有している。撮像部１１は、撮像素子１１ａ及びＡ／Ｄ変換回路１１ｂを有している。撮像素子１１ａは、例えばＣＣＤイメージセンサであり、色フィルタ成分｛赤（Ｒ）、緑（Ｇ）、青（Ｂ）｝がベイヤ配列されたカラーフィルタを介して入射光を受光する。撮像素子１１ａは、カラーフィルタを介して受光した入射光を撮像信号に変換してＡ／Ｄ変換回路１１ｂに出力する。Ａ／Ｄ変換回路１１ｂは、撮像素子１１ａから入力されるＲＧＢ形式の撮像信号を画像データ（ベイヤ信号）に変換して画像処理装置１２に出力する。
【００１３】
画像処理装置１２は、撮像部１１から入力されるベイヤ信号に対してノイズを除去するフィルタ処理やデータ形式の変換処理を施す。画像処理装置１２は、各処理の所定段階で画像データを外部メモリ１３に一時的に格納する。従って、外部メモリ１３は作業メモリとして機能する。外部メモリ１３は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。
【００１４】
また、画像処理装置１２は、外部メモリ１３に格納した画像処理後の画像データを外部記憶媒体１５に格納したり、表示部１６に出力したりする。外部記憶媒体１５は、例えばＳＤメモリカード（登録商標）である。表示部１６は、例えば液晶ディスプレイ（ＬＣＤ）である。
【００１５】
次に、画像処理装置１２の内部構成について説明する。
画像処理装置１２は、プリプロセス処理部２１、画像処理回路２２、中央処理装置（ＣＰＵ）２４、調停回路２６、記憶媒体用インターフェース回路２７、表示用インターフェース回路２８を有し、これら各回路が共有バス２９によって互いに接続されている。この共有バス２９は、アドレスバス、コントロールバス及びデータバスを有している。
【００１６】
プリプロセス処理部２１は、撮像部１１から入力される１フレームのベイヤ信号に対し、例えばホワイトバランス調整、ゲイン調整、欠陥信号の補正等の前処理を施す。プリプロセス処理部２１は、処理後の画像データを外部メモリ１３の所定の領域に格納する。
【００１７】
画像処理回路２２は、外部メモリ１３からプリプロセス処理部２１により前処理された１フレームの画像データ（入力画像）を複数のブロックデータに分割して読み出し、各種の画像処理を施す。画像処理回路２２は、処理後の画像データを外部メモリ１３の所定の領域に格納する。
【００１８】
ＣＰＵ２４は、各回路等の動作を統括制御する制御装置であり、撮像装置１０の撮影モード等に応じて、画像処理回路２２の画像データに対する演算又は変換などの処理等を変更する。
【００１９】
図２に示すように、画像処理回路２２は、画素補間処理部３１、ノイズ補正処理部３２、エッジ強調処理部３３、解像度変換処理部３４、コーデック処理部３５、制御部３８を有し、これら各回路が共有バス４０によって互いに接続されている。例えば、各処理部３１〜３５が画像データに対して行う処理の一例について図２を用いて説明する。
【００２０】
画素補間処理部３１は、プリプロセス処理部２１により前処理された画像データにデモザイク（画素補間）処理とＹＣｂＣｒ形式への変換処理を実行する。ノイズ補正処理部３２は、画素補間処理部３１により変換処理された画像データに含まれるノイズを除去するフィルタ処理を実行する。エッジ強調処理部３３は、ノイズ補正処理部３２によりノイズ処理された画像データに対して画像の輪郭（エッジ）を強調するフィルタ処理を実行する。解像度変換処理部３４は、エッジ強調処理部３３により処理された画像データの画像サイズ（解像度）を拡大又は縮小する解像度変換処理を実行する。コーデック処理部３５は、解像度変換処理部３４によりリサイズ処理された画像データを所定の方式（例えば、ＪＰＥＧ方式）により符号化する。
【００２１】
図１に示す記憶媒体用インターフェース回路２７は、外部記憶媒体１５に対するデータ入出力を実行する。ＣＰＵ２４は、コーデック処理部３５により変換されたＪＰＥＧ方式の画像データを外部メモリ１３から読み出し、記憶媒体用インターフェース回路２７を介して外部記憶媒体１５に格納する。表示用インターフェース回路２８は、外部メモリ１３から転送される画像データを、表示部１６が対応し得る形式のデータに変換して該表示部１６に出力する。
【００２２】
各処理回路２１，２２，２７，２８は、外部メモリ１３にデータを書き込む又は読み出すために共有バス２９の使用権を要求するための信号を調停回路２６に出力する。調停回路２６は、要求信号に応じて処理回路２１，２２，２７，２８に対して調停回路２６の使用権を設定する。
【００２３】
ここで、ＣＰＵ２４は、撮影モード等に応じた所定の処理を実行するために、画像処理回路２２に対してパラメータ等の設定情報を出力する。この設定情報は、図２に示す各処理部３１〜３５が画像データに対してパイプライン処理を行う順番や回数等を含む。例えば、ＣＰＵ２４は、ユーザによりＩＳＯ感度設定が高いモードが設定・選択されると、外部メモリ１３に格納される１フレームの入力画像１００（図２参照）に対しノイズ補正処理部３２によるフィルタ処理を複数回実行させる。
【００２４】
また、各処理部３１〜３５は、外部メモリ１３に格納される入力画像１００を所定のサイズに分割されたブロックデータとして入力し画像処理を実行する。制御部３８は、ＣＰＵ２４から入力される設定情報に基づいて、外部メモリ１３から内部メモリ４１に入力画像１００をブロックデータに分割して読み出す制御を実行する。例えば、制御部３８は、データ転送量の整数倍がブロックデータとなるバースト転送を調停回路２６に対して実行し、外部メモリ１３から内部メモリ４１にブロックデータを順次読み出す。
【００２５】
また、制御部３８は、設定情報に基づいて、各処理部３１〜３５に対しパイプライン処理の順番に応じて内部メモリ４１からブロックデータを読み出して処理を実行させる。この際に、例えば、ノイズ補正処理部３２等のフィルタ処理を実行する処理部は、処理対象のデータ領域に含まれるデータとして、新たに内部メモリ４１に格納されたブロックデータに含まれるデータと、一つ前のブロックデータの一部のデータ（後述するオーバラップＯＲＨ，ＯＲＶのデータ）を内部メモリ４１から読み出してフィルタ処理を実行する。そして、各処理部３１〜３５により処理されたブロックデータは、画像処理回路２２から外部メモリ１３に出力され出力画像１０１として格納される。制御部３８は、各処理部３１〜３５の処理状況に応じて内部メモリ４１に格納されたデータの削除あるいは上書きを実行する。
【００２６】
図３は、入力画像の一例である。図３に示す入力画像１００は、フィルタ処理が施される一部の部分画像１２０が複数のブロックデータ１２２に分割されて処理される。ブロックデータ１２２は、図中に矢印で示すように、水平方向（ライン方向）の左から右、垂直方向の上から下に向かってラスタースキャンの順序に従って順次処理される。また、ブロックデータ１２２に含まれる画素は、上記した順序と同様に左上から右下に向かって処理される。
【００２７】
ブロックデータ１２２は、水平方向のサイズ（画素数）が互いに異なる。ブロックデータ１２２は、水平方向の最初（最も左側）のブロックデータの水平ブロック幅ＨＳ０が他のブロックデータの水平ブロック幅ＨＳ１に比べて大きい値が設定されている。また、ブロックデータ１２２は、垂直方向のサイズ（画素数）が互いに異なる。ブロックデータ１２２は、垂直方向の最初（最も上側）のブロックデータの垂直ブロック幅ＶＳ０が他のブロックデータの垂直ブロック幅ＶＳ１に比べて大きい値が設定されている。
【００２８】
図２に示す処理部３１〜３５は、フィルタ処理を実行する際に、上記したブロックデータ１２２に含まれる処理対象領域にある注目画素の位置を判定する判定部５１を各々備える。図４に示すように、判定部５１は、位置判定部５２、選択部５３、第１〜第３比較部５５〜５７、水平カウンタ５８及び垂直カウンタ６０を有している。選択部５３は、第１選択部６２と、第２選択部６３を有している。位置判定部５２は、処理部３１〜３５がブロックデータ１２２（図３参照）を読み込むのに同期して動作する。
【００２９】
第１選択部６２は、水平方向に対応しており、制御部３８から水平ブロック幅ＨＳ０，ＨＳ１が入力される。位置判定部５２は、ブロックデータ１２２の位置に応じて、第１選択部６２の出力信号が水平ブロック幅ＨＳ０又は水平ブロック幅ＨＳ１となるように制御する。位置判定部５２は、ブロックデータ１２２の位置が部分画像１２０の水平方向の最初である場合に、第１選択部６２に対し水平ブロック幅ＨＳ０を出力するように制御する。また、位置判定部５２は、ブロックデータ１２２の位置が水平方向の最初でない場合に、第１選択部６２に対し水平ブロック幅ＨＳ１を出力するように制御する。第１選択部６２は、選択された水平ブロック幅ＨＳ０，ＨＳ１を第１比較部５５に出力する。
【００３０】
また、第２選択部６３は、垂直方向に対応しており、制御部３８から垂直ブロック幅ＶＳ０，ＶＳ１が入力される。なお、制御部３８は、後述する処理の段数（回数）に応じた水平ブロック幅及び垂直ブロック幅を第１及び第２選択部６２，６３に出力する。位置判定部５２は、ブロックデータ１２２の位置に応じて、第２選択部６３の出力信号が垂直ブロック幅ＶＳ０又は垂直ブロック幅ＶＳ１となるように制御する。例えば、位置判定部５２は、ブロックデータ１２２の位置が部分画像１２０の垂直方向の最初である場合に、第２選択部６３に対し垂直ブロック幅ＶＳ０を出力するように制御する。また、位置判定部５２は、ブロックデータ１２２の位置が垂直方向の最初でない場合に、第２選択部６３に対し垂直ブロック幅ＶＳ１を出力するように制御する。第２選択部６３は、選択された垂直ブロック幅ＶＳ０，ＶＳ１を第２比較部５６に出力する。
【００３１】
水平カウンタ５８は、処理部３１〜３５が１画素（注目画素等）を処理するのに同期してカウントアップし、カウント数ＣＴ１を第１比較部５５に出力する。第１比較部５５は、カウント数ＣＴ１と第１選択部６２から入力される水平ブロック幅ＨＳ０，ＨＳ１とを比較し、一致した場合に出力信号ＳＩ１を出力する。水平カウンタ５８は、出力信号ＳＩ１の入力に応じてカウンタをリセットする。
【００３２】
垂直カウンタ６０は、出力信号ＳＩ１の入力に応じてカウントアップし、カウント数ＣＴ２を第２比較部５６に出力する。第２比較部５６は、カウント数ＣＴ２と第２選択部６３から入力される垂直ブロック幅ＶＳ０，ＶＳ１とを比較し、一致した場合に出力信号ＳＩ２を出力する。垂直カウンタ６０は、出力信号ＳＩ２の入力に応じてカウンタをリセットする。
【００３３】
また、第１及び第２比較部５５，５６は、出力信号ＳＩ１，ＳＩ２を第３比較部５７に出力する。第３比較部５７は、出力信号ＳＩ１，ＳＩ２の両方の信号の入力に応じて出力信号ＳＩ３を位置判定部５２に出力する。位置判定部５２は、第３比較部５７からの出力信号ＳＩ３に基づいて１つのブロックデータ１２２に対する画像処理が終了したことを検出する。例えば、処理部３１〜３５は、判定部５１から出力される水平カウンタ５８及び垂直カウンタ６０のカウント数ＣＴ１，ＣＴ２に基づいて、ブロックデータ１２２の注目画素の位置を検出してフィルタ処理を実行する。また、制御部３８は、全てのブロックデータ１２２の読み込みの終了、即ち１フレームの入力画像１００における部分画像１２０（図３参照）の読み込みの終了に応じてリセット信号ＲＳＴを位置判定部５２に出力し初期化処理を実行させる。
【００３４】
なお、図３において、部分画像１２０における水平方向の最後（図中の最も右側）のブロックデータ１２２に対する処理は、水平方向の画素数が水平ブロック幅ＨＳ１より小さい場合は、不足する画素値を隣接する画素から補間する又は画像処理を実行せずにそのまま出力する等、処理内容を適宜変更する。同様に、部分画像１２０における垂直方向の最後（図中の最も下側）のブロックデータ１２２に対する処理内容も変更する。
【００３５】
次に、フィルタ処理の一例として、複数段（本実施形態では３段）で接続されるノイズ補正処理部３２により画像データに対してノイズを除去する処理を実行する場合について説明する。なお、画像処理回路２２は、フィルタ処理の段数と同数のノイズ補正処理部３２を有する構成とし、各ノイズ補正処理部３２により並列に処理させてもよい。また、画像処理回路２２は、１つのノイズ補正処理部３２を用いて繰り返しフィルタ処理を実行してもよい。また、他の処理部（例えば、エッジ強調処理部３３）におけるフィルタ処理の動作等は、ノイズ補正処理部３２におけるフィルタ処理と同様であるため、説明を省略する。
【００３６】
図５は、複数回のフィルタ処理を実行した後の部分画像１３１を含む１フレームの出力画像１３０を示す。同図５に示すように、部分画像１３１は、水平方向及び垂直方向に分割された複数のブロックデータ１３３を含む。各ブロックデータ１３３は、水平方向に５つ、垂直方向に５つの画素１３４を含む。なお、図５において一点鎖線で囲まれる５つのブロックデータ１３３を、他のブロックデータ１３３と区別するために、処理される順番にブロックデータ１３３Ａ，１３３Ｂ，１３３Ｃ，１３３Ｄ，１３３Ｅとする。
【００３７】
図６は、複数段のフィルタ処理におけるブロックデータを示しており、同図６の上側から順にフィルタ処理の１段目（１回目）、２段目、３段目の状態を示している。図６の最も下側のブロックデータ１３３Ａ〜１３３Ｅは、図５に示す部分画像１３１として外部メモリ１３（図２参照）に出力されるデータである。なお、図６では、図面が繁雑となるのを避けるため、各ブロックデータの周辺画素を適宜省略して示している。また、以下の説明では、主として図中におけるブロックデータ１３３Ａの右側及び下側の周辺画素を読み込んで処理する場合について説明するが、他の上側及び左側についても同様に周辺画素を読み込んで処理してもよい。また、対応する周辺画素がない場合に、隣接する画素の画素値を用いて補間する処理等を実行してもよい。
【００３８】
ノイズ補正処理部３２は、ブロックデータ１３３Ａの注目画素（画素１３４）に対するフィルタ処理を、注目画素に隣接して１画素分の周辺にある周辺画素を用いて実行する。ノイズ補正処理部３２は、注目画素と周辺画素とを含む全ての画素に重み係数を乗算した値を中央の注目画素の画素値として出力する。このため、図６に示すように、処理段階の各ブロックデータは、処理前に比べて周辺画素の１画素分処理後が小さいサイズとなる。換言すれば、処理されるブロックデータのサイズが処理の初段側に向かうにつれて、１段階当り１画素分大きくなっている。従って、ブロックデータのサイズは、フィルタ処理の回数（段数）と相関する関係にある。
【００３９】
例えば、３段目のフィルタ処理では、ブロックデータ１３３Ａに対応するブロックデータ１４３Ａが、ブロックデータ１３３Ａに対して、水平方向に周辺画素ＳＧを１画素分加えたものとなる。同様に、垂直方向にも１画素分加え、６×６個の画素１４４を含む。ここで、注目画素を含むフィルタ処理の対象領域をデータ領域とする。例えば、ブロックデータ１３３Ａを出力するための水平方向のデータ領域は、図６のブロックデータ１４３Ａに含まれるデータ領域Ｒ１となる。ブロックデータ１４３Ａは、水平ブロック幅ＨＳ０及び垂直ブロック幅ＶＳ０がともに６となっている。
【００４０】
また、３段目のフィルタ処理では、ブロックデータ１３３Ｂに対応するブロックデータ１４３Ｂが５×６個の画素１４４を含む。従って、ブロックデータ１４３Ｂは、水平ブロック幅ＨＳ１が５、垂直ブロック幅ＶＳ０が６となっている。ブロックデータ１３３Ｂを出力するための水平方向のデータ領域は、図６に示すデータ領域Ｒ２となる。データ領域Ｒ２は、データ領域Ｒ１を処理する際に参照されるブロックデータ１４３Ａ内の周辺画素ＳＧを含む。つまり、ノイズ補正処理部３２は、フィルタ処理を実行するブロックデータ１４３Ａの次のブロックデータ１４３Ｂに隣接する一部の領域である周辺画素ＳＧを、次のブロックデータ１４３Ｂの処理対象となるデータ領域Ｒ２として処理する。
【００４１】
また、データ領域Ｒ２に対するフィルタ処理では、上記したブロックデータ１４３Ａに含まれる周辺画素ＳＧを注目画素として処理するため、１番目のブロックデータ１４３Ａ側（図中の左側）にさらに１画素分だけ広がった画素を周辺画素として参照する。このデータ領域Ｒ２を処理するのに参照されるブロックデータ１４３Ａの一部を水平オーバラップＯＲＨとする。換言すれば、この水平オーバラップＯＲＨは、データ領域Ｒ１に対する周辺画素ＳＧと、データ領域Ｒ２に対する周辺画素（水平オーバラップＯＲＨから周辺画素ＳＧを除いた画素）とを含む。従って、水平オーバラップＯＲＨは、ブロックデータ１４３Ａに含まれる周辺画素ＳＧを含む２画素分のデータ幅となっている。また、ブロックデータ１４３Ｂの次のブロックデータ１４３Ｃに隣接する一部の領域（図６におけるブロックデータ１４３Ｂの最も右側の１画素分の領域）は、データ領域Ｒ２の周辺画素として処理される。なお、ブロックデータ１３３Ｃ〜１３３Ｅの各々に対応するブロックデータ１４３Ｃ〜１４３Ｅは、ブロックデータ１４３Ｂと同一のブロック幅となっている。
【００４２】
２段目のフィルタ処理では、ブロックデータ１４３Ａに対応するブロックデータ１５３Ａが、水平ブロック幅ＨＳ０及び垂直ブロック幅ＶＳ０がともに７となっている。また、２段目のフィルタ処理では、ブロックデータ１４３Ｂ〜１４３Ｅの各々に対応するブロックデータ１５３Ｂ〜１５３Ｅが、水平ブロック幅ＨＳ１が５、垂直ブロック幅ＶＳ０が７となっている。つまり、２段目のブロックデータ１５３Ｂ〜１５３Ｅと、３段目のブロックデータ１４３Ｂ〜１４３Ｅとは、水平ブロック幅ＨＳ１が同一のブロック幅となっている。
【００４３】
１段目のフィルタ処理では、ブロックデータ１５３Ａに対応するブロックデータ１６３Ａが、水平ブロック幅ＨＳ０及び垂直ブロック幅ＶＳ０がともに８となっている。また、１段目のフィルタ処理では、ブロックデータ１５３Ｂ〜１５３Ｅの各々に対応するブロックデータ１６３Ｂ〜１６３Ｅが、水平ブロック幅ＨＳ１が５、垂直ブロック幅ＶＳ０が８となる。つまり、１段目〜３段目の各ブロックデータは、各ラインの最初のブロックデータを除く他のブロックデータ（１４３Ｂ〜１４３Ｅ，１５３Ｂ〜１５３Ｅ，１６３Ｂ〜１６３Ｅ）の水平ブロック幅ＨＳ１が同一のブロック幅となっている。
【００４４】
次に、処理動作について説明する。まず、制御部３８は、１段目のフィルタ処理として、ノイズ補正処理部３２に、外部メモリ１３から内部メモリ４１に読み込まれたブロックデータ１６３Ａを出力する制御を行う。ノイズ補正処理部３２は、入力されたブロックデータ１６３Ａのデータ領域Ｒ１に含まれる画素１６４を注目画素としてフィルタ処理を実行し、処理結果のデータをブロックデータ１５３Ａとして内部メモリ４１に出力する。
【００４５】
次に、ノイズ補正処理部３２は、２段目のフィルタ処理として、１段目の処理結果であるブロックデータ１５３Ａのデータ領域Ｒ１に含まれる画素１５４を注目画素としてフィルタ処理を実行し処理結果をブロックデータ１４３Ａとして内部メモリ４１に出力する。次に、ノイズ補正処理部３２は、３段目のフィルタ処理として、２段目の処理結果であるブロックデータ１４３Ａのデータ領域Ｒ１に含まれる画素１４４を注目画素としてフィルタ処理を実行し処理結果をブロックデータ１３３Ａとして内部メモリ４１に出力する。
【００４６】
次に、制御部３８は、２回目の１段目のフィルタ処理として、外部メモリ１３から内部メモリ４１に読み込まれたブロックデータ１６３Ａの次のブロックデータ１６３Ｂをノイズ補正処理部３２に出力しフィルタ処理を実行させる。ここで、ノイズ補正処理部３２は、ブロックデータ１５３Ｂを出力するフィルタ処理として、１回目のフィルタ処理のブロックデータ１６３Ａに含まれる画素１６４のうち、水平オーバラップＯＲＨに含まれる画素を参照する。このため、制御部３８は、ブロックデータ１３３Ａを外部メモリ１３に出力する処理を実行した後、内部メモリ４１に格納されるデータのうちでブロックデータ１３３Ａに対応する部分を削除し、ブロックデータ１６３Ｂを内部メモリ４１に格納する処理を実行する。
【００４７】
詳述すると、まず水平方向のみを考慮した場合には、制御部３８は、ブロックデータ１６３Ａのうち水平オーバラップＯＲＨに含まれない画素（図中の水平オーバラップＯＲＨより左側部分に含まれる画素）のデータを削除できる。また、水平方向と同様に水平方向を考慮してブロックデータ１６３Ａにおいて下側の２列の画素（図中の垂直オーバラップＯＲＶと示す部分）は、次のラインデータの処理の際に参照される部分であるため、当該ブロックデータが処理されるまで保持する必要がある。
【００４８】
従って、制御部３８は、ブロックデータ１３３Ａの出力後に、ブロックデータ１６３Ａ（８×８＝６４画素）のうち、水平オーバラップＯＲＨ及び垂直オーバラップＯＲＶを除く部分（６×６＝３６画素）を内部メモリ４１から削除する処理を実行する。この場合、内部メモリ４１に格納される画素数（データ量）は、２８（＝６４−３６）画素となる。同様に、各段においてブロックデータ１５３Ａ，１４３Ａのうち、水平オーバラップＯＲＨ及び垂直オーバラップＯＲＶを除く部分を削除する。図６においてハッチングで示される部分の画素１４４，１５４，１６４は、５つ目のブロックデータ１３３Ｅの出力後に削除される画素を示している。なお、制御部３８は、上記した段数に応じた水平ブロック幅ＨＳ０，ＨＳ１及び垂直ブロック幅ＶＳ０，ＶＳ１を判定部５１（図４参照）の第１及び第２選択部６２，６３に出力する。
【００４９】
次に、図８〜図１０を用いて比較例について説明する。
図８に示すように、１フレームの入力画像２００のフィルタ処理が施される一部の部分画像２２０は、複数のブロックデータ２２２に分割されラスタースキャンの順に順次処理される。ブロックデータ２２２は、水平ブロック幅ＨＳが、水平方向の最初のブロックデータを含む全てのブロックデータ（右端のブロックを除く）で同一のブロック幅となっている。また、ブロックデータ２２２は、垂直ブロック幅ＶＳが、垂直方向の最初のブロックデータを含む全てのブロックデータ（下端のブロックを除く）で同一のブロック幅となっている。
【００５０】
図９は、上記したような同一のブロック幅のブロックデータで構成される画像データに対し複数回のフィルタ処理を実行した場合の処理状態を示している。図９における１段目の処理に示すように、ブロックデータ１６３Ｂを処理する場合のデータ領域Ｒ２は、１番目のブロックデータ１６３Ａに対する水平オーバラップＯＲＨが図６に示す本実施形態と同様に２画素分のブロック幅となっている。
【００５１】
しかしながら、次のブロックデータ１６３Ｃを処理する場合のデータ領域Ｒ３では、２番目のブロックデータ１６３Ｂに対する水平オーバラップが３画素分のブロック幅となっている。この３画素分の水平オーバラップは、本実施形態のものとは異なるため、他の水平オーバラップと区別するために水平オーバラップＯＲＨ２とする。この水平オーバラップＯＲＨ２が生じるのは、ブロックデータを全て同一サイズとしたため、入出力されるブロックデータ１６３Ａ，１６３Ｂ，１６３Ｃ・・・と、実際に処理されるデータ領域Ｒ１，Ｒ２，Ｒ３・・・との位置ずれが発生するためである。この位置ずれは、ブロックデータを水平方向に向かって処理する毎に増大する。
【００５２】
図９においてハッチングで示される部分に含まれる画素１４４，１５４，１６４は、５つ目のブロックデータ１３３Ｅを出力した後に内部メモリからデータが削除される画素を示している。図９に示すように、比較例においては、ブロックデータ１３３Ｅを処理した後の水平オーバラップＯＲＨ２が６画素分のブロック幅まで増大している。その結果、内部メモリには、処理には未だ必要とされないデータ領域を含む水平オーバラップＯＲＨ２が格納されるため、内部メモリに一時的に格納されるデータ量が増加し、内部メモリの最大容量の増大に繋がる。あるいは、このような位置ずれを補正するために、処理されるブロックデータの数・位置等に応じて内部メモリへの格納を休止したり格納のタイミングをずらす等の処理を画像処理装置に実行させようとすると、処理内容が複雑となり負荷が増大する。なお、このようなブロックデータの位置ずれから生じる内部メモリ内のデータ量の増加は、垂直方向の処理においても同様に生じる。
【００５３】
図１０に示すグラフは、１ラインのフィルタ処理において、処理されるブロックデータの数と、内部メモリに格納されるデータ量との関係を示している。図１０は、例えば、図５に示す部分画像１３１の水平方向の画素数を８０pixel（水平方向のブロックデータ１３３の数が１６個）とした場合のシミュレーション結果を示している。
【００５４】
図１０に示すように、内部メモリに保持されるデータ量は、処理されるブロック数（時間）が増えるにつれて増加する。図１０においては、ブロックデータを１０個まで処理した際に、内部メモリに格納されるデータ量が最大（データ量Ｄｍａｘ）となっている。このデータ量Ｄｍａｘは、１ラインのフィルタ処理をする際に必要となる内部メモリの最大容量となる。因みに、図１０に示すグラフの処理ブロック数が１６、即ち１ラインのブロックデータを全て処理した際に内部メモリに格納されるデータ量Ｄｅｎｄは、次のライン処理において参照される垂直オーバラップＯＲＶの総量を示している。
【００５５】
一方で、図６に示すように、本実施形態における処理では、上記したような水平オーバラップＯＲＨ２に相当するデータが生じない。また、本実施形態では、図３に示すように、ブロックデータ１２２は、垂直方向の最初のブロックデータの垂直ブロック幅ＶＳ０が他のブロックデータの垂直ブロック幅ＶＳ１に比べて大きい値が設定されている。従って、垂直方向に対する処理においても、上記した水平オーバラップＯＲＨ２に相当するデータが生じない。
【００５６】
図７は、本実施形態において、図１０にグラフと同様のシミュレーションを実施した結果を示している。図７に示すように、内部メモリ４１に保持されるデータ量は、処理されるブロック数（時間）が増えるにつれて増加する。しかし、本実施形態では、水平オーバラップＯＲＨ２のようなデータが内部メモリ４１に蓄積されることがない。このため、図１０の比較例に比べてデータ量Ｄｍａｘが約１００pixel程度小さくなっている。従って、本実施形態の構成によれば、水平方向及び垂直方向における最初に処理されるブロックデータのみを、フィルタ処理に必要な周辺画素を含むオーバラップ部分（ＯＲＨ，ＯＲＶ）含むサイズとしたことで、内部メモリ４１に必要な最大容量の削減を図ることが可能となる。
【００５７】
以上、記述したように、実施形態によれば、以下の効果を奏する。
（１）本実施形態の画像処理回路２２のノイズ補正処理部３２は、外部メモリ１３に格納される１フレームの入力画像１００（図２参照）を複数のブロックに分割したブロックデータ１４３Ａ〜１４３Ｅ，１５３Ａ〜１５３Ｅ，１６３Ａ〜１６３Ｅ（図６参照）に対してフィルタ処理を実行する。ノイズ補正処理部３２は、ブロックデータに含まれる処理対象の領域（データ領域Ｒ１〜Ｒ３）にある注目画素（画素１４４等）の画素を順次選択して、注目画素に隣接して配置されている周辺画素（周辺画素ＳＧを含む）の画素と共にフィルタ処理を実行する。制御部３８は、ノイズ補正処理部３２により処理する際、最初に処理される第１のブロックデータ１４３Ａ，１５３Ａ，１６３Ａのブロック幅を、データ領域Ｒ１と周辺画素ＳＧの領域とを加えた水平ブロック幅ＨＳ０とするように内部メモリ４１に対する入出力を制御する。また、制御部３８は、第１のブロックデータ以降に処理されるブロックデータ１４３Ｂ〜１４３Ｅ等のブロック幅をデータ領域Ｒ１と同じブロック幅の水平ブロック幅ＨＳ１とするように制御する。より具体的には、ノイズ補正処理部３２は、最初のブロックデータ１４３Ａ，１５３Ａ，１６３Ａに含まれる周辺画素ＳＧを、次のブロックデータ１４３Ｂ，１５３Ｂ，１６３Ｂに隣接する画素の領域として処理している。
また、例えば、ノイズ補正処理部３２は、フィルタ処理を実行するブロックデータ１４３Ａの次のブロックデータ１４３Ｂに隣接する一部の領域である周辺画素ＳＧを、次のブロックデータ１４３Ｂの処理対象となるデータ領域Ｒ２として処理する。また、ノイズ補正処理部３２は、フィルタ処理を実行するブロックデータ１４３Ａの周辺画素ＳＧに隣接する一部の領域（水平オーバラップＯＲＨから周辺画素を除いた画素）、及びブロックデータ１４３Ｂの次のブロックデータ１４３Ｃに隣接する一部の領域を、ブロックデータ１４３Ｂのデータ領域Ｒ２の周辺画素として処理している。
このような構成では、水平方向及び垂直方向における最初に処理されるブロックデータのみを、フィルタ処理に必要な周辺画素を含むデータ幅としたことで、ブロックデータの処理対象の領域にずれが生じないため、内部メモリ４１に必要な最大容量の削減を図ることができる。
さらに、図９及び図１０に示すような比較例の構成と比べて、ノイズ補正処理部３２と内部メモリ４１との間のデータ転送量が低減できる。このため、制御部３８における処理負荷を低減して、画像処理回路２２における画像データの処理速度が向上できる。
【００５８】
（２）制御部３８は、例えば、パイプライン処理の最終段のノイズ補正処理部３２によるフィルタ処理に応じて、データ領域Ｒ１のうちオーバラップＯＲＨ，ＯＲＶを除いて内部メモリ４１から消去し、次のブロックデータを内部メモリ４１に格納する処理を実行する。これにより、処理態様に応じた内部メモリ４１に格納されるデータの管理を適切に行うことができる。
【００５９】
また、画像処理装置１２は、画像処理装置の一例として、外部メモリ１３及び内部メモリ４１は、メモリ部の一例として、ノイズ補正処理部３２及びエッジ強調処理部３３は、フィルタ処理部の一例として、制御部３８は、制御部の一例として、ブロックデータ１４３Ａ，１５３Ａ，１６３Ａは、最初に処理される第１のブロックデータの一例として、ブロックデータ１４３Ｂ，１５３Ｂ，１６３Ｂは、第１のブロックデータの次に処理される第２のブロックデータの一例として、ブロックデータ１４３Ｃ，１５３Ｃ，１６３Ｃは、第２のブロックデータの次に処理される第３のブロックデータの一例として、水平ブロック幅ＨＳ０，ＨＳ１及び垂直ブロック幅ＶＳ０，ＶＳ１は、ブロック幅の一例として、水平オーバラップＯＲＨから周辺画素ＳＧを除く領域は、第２の一部領域の一例として、データ領域Ｒ１〜Ｒ３は、処理対象領域の一例、周辺画素ＳＧは、第１の一部領域の一例として挙げられる。
【００６０】
なお、本願に開示される技術は前記各実施形態に限定されるものではなく、趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、上記実施形態において、制御部３８における処理内容を他の処理部（ＣＰＵ２４等）にて処理してもよい。
【００６１】
また、上記実施形態における１フレームの入力画像に対するブロックデータの分割位置、処理の順番等は一例であり、適宜変更してもよい。例えば、図３に示す入力画像１００を右下から左上に向かって処理してもよい。この場合、最初のブロックデータを、例えば右下のブロックデータとする。
【００６２】
また、上記実施形態において、制御部３８は、例えばノイズ補正処理部３２が処理するブロックデータを外部メモリ１３に入出力してもよい。この場合、内部メモリ４１を省略した構成とすることができる。
【００６３】
また、上記実施形態におけるフィルタ処理の内容・方法等は一例であり適宜変更する。例えば周辺画素ＳＧの画素数を変更してもよい。
【符号の説明】
【００６４】
１２  画像処理装置
１３  外部メモリ
３２  ノイズ補正処理部
３３  エッジ強調処理部
３８  制御部
４１  内部メモリ
１３３Ａ〜１３３Ｅ  ブロックデータ
１４３Ａ〜１４３Ｅ  ブロックデータ
１５３Ａ〜１５３Ｅ  ブロックデータ
１６３Ａ〜１６３Ｅ  ブロックデータ
ＨＳ０，ＨＳ１  水平ブロック幅
ＶＳ０，ＶＳ１  垂直ブロック幅
ＳＧ  周辺画素
ＯＲＨ  水平オーバラップ
ＯＲＶ  垂直オーバラップ
【図１】
2014102675.tif 000003
【図２】
2014102675.tif 000004
【図３】
2014102675.tif 000005
【図４】
2014102675.tif 000006
【図５】
2014102675.tif 000007
【図６】
2014102675.tif 000008
【図７】
2014102675.tif 000009
【図８】
2014102675.tif 000010
【図９】
2014102675.tif 000011
【図１０】
2014102675.tif 000012