(57)【要約】【課題】原画像データのサイズに装置の規模が依存せず、且つ原画像全体に対して適用可能な補正技術を提供することを目的とする。【解決手段】原画像データを記憶する原画像データ記憶手段と、原画像データ記憶手段から原画像データを予め定められた一定サイズのブロック単位で読み出す読み出し手段と、読み出し手段によって読み出されたブロック単位の原画像データを、ブロック単位毎に補正処理する補正処理手段と、補正処理手段によって補正処理された補正済み画像データをブロック単位毎に転送する転送手段と、を有することによって前記課題を解決する。【選択図】図１
2007213251.tif 000002
【特許請求の範囲】
【請求項１】
原画像データを記憶する原画像データ記憶手段と、
前記原画像データ記憶手段から前記原画像データを予め定められた一定サイズのブロック単位で読み出す読み出し手段と、
前記読み出し手段によって読み出された前記ブロック単位の前記原画像データを、前記ブロック単位毎に補正処理する補正処理手段と、
前記補正処理手段によって補正処理された補正済み画像データを前記ブロック単位毎に転送する転送手段と、
を有することを特徴とする画像補正処理装置。
【請求項２】
前記補正処理手段は、
前記原画像データの輝度成分に対して異なった縮小率による縮小処理を行う複数の縮小処理手段と、
複数の前記縮小処理手段によって縮小処理された複数の縮小画像データに対してフィルタ処理を行うフィルタ処理手段と、
前記不利田処理手段によってフィルタ処理されたフィルタ処理済画像データに対して、前記縮小率に対応する異なった拡大率による拡大処理を行う複数の拡大処理手段と、
複数の前記拡大処理手段によって拡大処理された複数の拡大画像データに対応する複数の補正係数を取得する補正係数取得手段と、
同座標位置に対する複数の前記補正係数を加算する補正係数加算手段と、
前記補正係数加算手段によって加算された加算済み補正係数に対応する前記原画像データの輝度成分と、色成分との各々に対して、前記加算済み補正係数を乗算する乗算手段と、
を含むことを特徴とする請求項１に記載の画像補正処理装置。
【請求項３】
前記補正係数取得手段は、ルックアップテーブルより、前記拡大画像データに対応する前記補正係数を取得することを特徴とする請求項２に記載の画像補正処理装置。
【請求項４】
前記ブロック単位でのデータの読み出しの順序又はデータの転送順序を設定する順序設定手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の画像補正処理装置。
【請求項５】
前記ブロック単位での読み出しに係る領域の開始位置及び終了位置を設定する位置設定手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の画像補正処理装置。
【請求項６】
前記ブロック単位での読み出しに係る複数の領域の開始位置及び終了位置を設定する位置設定手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の画像補正処理装置。
【請求項７】
画像補正処理装置における画像補正処理方法であって、
原画像データを記憶する原画像データ記憶手段から前記原画像データを予め定められた一定サイズのブロック単位で読み出す読み出し工程と、
前記読み出し工程において読み出された前記ブロック単位の前記原画像データを、前記ブロック単位毎に補正処理する補正処理工程と、
前記補正処理工程において補正処理された補正済み画像データを前記ブロック単位毎に転送する転送工程と、
を有することを特徴とする画像補正処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像補正処理装置及び画像補正処理方法に関する。
【背景技術】
【０００２】
原画像データを縮小処理した後、ブロック単位に分割し圧縮符号化する技術が提案されている（例えば、特許文献１参照。）。
【０００３】
また、原画像データをブロック単位で処理する技術として、変倍率に応じて原画像データを所定のサイズにブロック化し、各々のブロックの白黒の濃度比率が保存されるように出力データを決定する技術が提案されている（例えば、特許文献２参照。）。
【０００４】
また、原画像データを複数の小ブロックに区分し、ブロック毎に画像処理を行なって出力データを生成する装置において、ブロック毎に異なる処理特性での処理を行なえるようにする技術が提案されている（例えば、特許文献３参照。）。
【０００５】
【特許文献１】特開平０９−３３１５２９号公報
【特許文献２】特開平１０−９３８１１号公報
【特許文献３】特開平０９−９３４８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記特許文献１に係る技術では、原画像データのサイズに装置の規模が依存してしまう問題があった。また、前記特許文献２、３に係る技術ではブロック毎に異なった画像処理を施すことから原画像全体に対する補正処理に対しては適用出来ない問題があった。
【０００７】
本発明は前記の問題点に鑑みなされたもので、原画像データのサイズに装置の規模が依存せず、且つ原画像全体に対して適用可能な補正技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、前記問題を解決するため、本発明は、原画像データを記憶する原画像データ記憶手段と、前記原画像データ記憶手段から前記原画像データを予め定められた一定サイズのブロック単位で読み出す読み出し手段と、前記読み出し手段によって読み出された前記ブロック単位の前記原画像データを、前記ブロック単位毎に補正処理する補正処理手段と、前記補正処理手段によって補正処理された補正済み画像データを前記ブロック単位毎に転送する転送手段と、を有することを特徴とする。
【０００９】
また、前記問題を解決するため、本発明は、画像補正処理方法としてもよい。
【発明の効果】
【００１０】
本発明によれば、原画像データのサイズに装置の規模が依存せず、且つ原画像全体に対して適用可能な補正技術を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
（実施形態１）
図１は、画像補正処理装置のハードウェア構成の一例を示すブロック図である。１０１は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）センサやレンズ等から成る画像入力部である。１０２は、画像入力部１０１より入力された信号に対して各種画像処理を施しＹＣｂＣｒ信号形式の画像データに変換する現像処理部である。１０３は、画像データを記憶しておくメモリである。
【００１３】
１０４は、コントローラ１１４からの制御によりメモリ１０３への読み書き動作を行なうメモリコントローラである。１０５は、メモリコントローラ１０４により読み出された画像データから輝度（Ｙ）成分を抽出する輝度抽出部である。
【００１４】
１０６、１０７、１０８は各々画像データを縮小する縮小処理部であり、カスケード接続されている。各々縮小率として１／２、１／２、１／１０を想定する。即ち原画像からの縮小率では１／２、１／４、１／４０となる。
【００１５】
１０９、１１０、１１１は、各々縮小された画像データを一時記憶しておくバッファである。１１２は、バッファ１０９〜１１１の縮小画像データのうち、何れかを選択し後段に出力するためのセレクタである。１１３は、縮小画像データに対してフィルタ処理を行なうフィルタ処理部である。ここでは５×５の二次元フィルタとする。
【００１６】
１１４は、全体のシーケンス制御を行なうコントローラである。１１５、１１６、１１７は、フィルタ処理された画像データを一時記憶しておくバッファである。１１８、１１９、１２０は、各々バッファ１１５〜１１７の画像データを拡大する拡大処理部である。ここで、拡大率は前記縮小処理部１０６〜１０８の縮小率に対応しており、各々２倍、４倍、４０倍となる。
【００１７】
１２１は、拡大処理された画像データに対する補正係数を保存しておくＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）である。１２２、１２３、１２４は、画像データの値に応じてＬＵＴ１２１から補正係数を獲得するテーブル参照部である。
【００１８】
１２５は、テーブル参照部１２２〜１２４で得られた補正係数を加算する加算処理部である。１２６は、メモリ１０３に記憶してある原画像データを、メモリコントローラ１０４を通して読出し、一時記憶しておく原画像バッファである。
【００１９】
１２７は、原画像バッファ１２６より色（Ｃ）成分を抽出し、加算処理部１２５で得られた補正係数に応じた補正を行なう色補正処理部である。１２８は、原画像バッファ１２６より輝度（Ｙ）成分を抽出して加算処理部１２５で得られた補正係数に応じた補正を行なう輝度補正処理部である。
【００２０】
１２９は、補正された画像データを一時記憶しておくバッファである。１３０は画像データを圧縮するコーデック部である。
【００２１】
図２は、コントローラ１１４のより詳細なハードウェア構成の一例を示すブロック図である。２０１は、後段のコーデック部１３０と通信を行なう通信制御部である。２０２から２０７までは、通信制御部２０１を通して設定されるレジスタ設定部である。２０２は、動作の開始及び終了を設定する動作開始・終了設定部である。２０３は、メモリからの読出し順序を設定する読出し順序設定部である。２０４は、読出し開始位置を設定する読出し開始位置設定部である。２０５は、読出し終了位置を設定する読出し終了位置設定部である。２０６は、複数の読出し開始位置を設定する場合に使用する読出し開始位置２設定部である。２０７は、複数の読出し終了位置を設定する場合に使用する読出し終了位置２設定部である。
【００２２】
２０８は、セレクタ１１２を制御するセレクタ制御部である。２０９は、フィルタ１１３を制御するフィルタ制御部である。２１０は、拡大処理１から３までを制御する拡大処理制御部である。２１１は、縮小処理１から３までを制御する縮小処理制御部である。２１２は、メモリコントローラ１０４を制御するメモリ制御部である。
【００２３】
２１３は、２０２から２０７までの各設定部の設定に応じて、カウンタ２１４に対してセット、リセット及びカウントアップ、カウントダウンの制御を行うブロック動作制御部である。２１４は、カウンタであり、ピクセルカウンタ２１５、ラインカウンタ２１６、ブロック水平カウンタ２１７、ブロック垂直カウンタ２１８から成る。ピクセルカウンタ２１５は、水平方向のピクセルをカウントするカウンタである。ラインカウンタ２１６は、垂直方向のラインをカウントするカウンタである。ブロック水平カウンタ２１７は、水平方向のブロックをカウントするカウンタである。ブロック垂直カウンタ２１８は、垂直方向のブロックをカウントするカウンタである。２０８から２１２までの各制御部に対して、カウント値を出力することにより各制御部は設定に応じた動作を行うことが可能になる。
【００２４】
次に図１に示した画像補正処理装置の概略の動作を説明する。
今、画像入力部１０１へデータ入力処理がなされ、現像処理部１０２による変換処理を経て、メモリ１０３に画像データが記憶されているとする。
【００２５】
図３は、メモリ１０３における画像データのデータ配置の一例を示した図である。ここではＹＣ４：２：２形式で８ｂｉｔ／ｐｉｘｅｌを想定している。
以下、この画像データを原画像データと呼ぶ。コーデック部１３０より画像データ取得要求がなされると、コントローラ１１４が読み出し動作制御を行なう。より具体的には、前記画像データ取得要求は通信制御部２０１を介して動作開始・終了設定部２０２に対して動作開始設定がなされる。
【００２６】
ブロック動作制御部２１３は、カウンタ２１４に対して以下の通りに動作をするよう制御信号を送る。カウンタ２１４では、まず水平方向に予め決められたブロックサイズ分のピクセルをカウントし、次に垂直方向にブロックサイズのライン分カウントする。更に水平方向に全画面分だけブロックをカウントし、最後に垂直方向にブロックをカウントする。
【００２７】
メモリ制御部２１２は、カウンタ２１４からのカウント値を受けて、メモリコントローラ１０４に対して原画像データの読出し要求を行い、メモリコントローラ１０４がメモリ１０３より原画像データを読み出す。このときメモリコントローラ１０４は図４に示したようなブロック単位で順次読出しを行なう。
【００２８】
図４は、ブロック読み出し順序の一例を示す図である。ここで、４０１は、画像データの一画面分を示しており、４０２、４０３、・・・、４０７、４０８、４０９、・・・・の順序で読み出される。各ブロックのサイズとしては、例えばコーデック部１３０での処理がＪＰＥＧ圧縮であった場合はマクロブロックサイズである８×８が好適である。図４の場合、ブロックサイズを８×８とすると、ブロックが水平方向に８０ブロック、垂直方向に６０ブロックあるので全画面サイズは６４０×４８０となる。図５は、ブロック内での読出し順序の一例を示す図である。
【００２９】
読み出された原画像データは、輝度抽出部１０５にて輝度成分のみが抽出され、縮小処理部１０６へ入力される。縮小処理部１０６では、原画像データを１／２に縮小する。縮小された画像データは、縮小処理部１０７、１０８へ順次送られ、更に１／２、１／１０に縮小される。縮小の手法については各画素の値の平均を算出して行なう。
【００３０】
各々の縮小処理部で縮小されたデータは順次バッファ１０９〜１１１へ送られる。例えば、バッファ１０９へは８×８のブロック４０２の原画像データが読み込まれ縮小処理が施されると、４×４のデータが生成され記憶される。
【００３１】
画像補正処理装置は、上述した原画像データの読出しから縮小、バッファへの記憶までの処理を繰り返し行なう。この間、バッファ１０９〜１１１に５×５のデータが記憶された段階で、セレクタ１１２は、５×５のデータを順次フィルタ１１３へ送る。フィルタ１１３は送られてきたデータをフィルタ処理し、１×１のデータを生成し、バッファ１１５〜１１７へ順次一時記憶する。
【００３２】
以下にフィルタ１１３の計算式を示す。ここで、ｄ（ｘ，ｙ）は、座標（ｘ，ｙ）におけるデータ値を示す。
【００３３】
ｆ（ｘ，ｙ）＝ａ１１×ｄ（ｘ−２，ｙ−２）  ＋  ａ１２×ｄ（ｘ−１，ｙ−２）  ＋  ａ１３×ｄ（ｘ，ｙ−２）  ＋  ａ１４×ｄ（ｘ＋１，ｙ−２）  ＋  ａ１５×ｄ（ｘ＋２，ｙ−２）  ＋  ａ２１×ｄ（ｘ−２，ｙ−１）  ＋  ａ２２×ｄ（ｘ−１，ｙ−１）  ＋  ａ２３×ｄ（ｘ，ｙ−１）  ＋  ａ２４×ｄ（ｘ＋１，ｙ−１）  ＋  ａ２５×ｄ（ｘ＋２，ｙ−１）  ＋  ａ３１×ｄ（ｘ−２，ｙ）  ＋  ａ３２×ｄ（ｘ−１，ｙ）  ＋  ａ３３×ｄ（ｘ，ｙ）  ＋  ａ３４×ｄ（ｘ＋１，ｙ）  ＋  ａ３５×ｄ（ｘ＋２，ｙ）  ＋  ａ４１×ｄ（ｘ−２，ｙ＋１）  ＋  ａ４２×ｄ（ｘ−１，ｙ＋１）  ＋  ａ４３×ｄ（ｘ，ｙ＋１）  ＋  ａ４４×ｄ（ｘ＋１，ｙ＋１）  ＋  ａ４５×ｄ（ｘ＋２，ｙ＋１）  ＋  ａ５１×ｄ（ｘ−２，ｙ＋２）  ＋  ａ５２×ｄ（ｘ−１，ｙ＋２）  ＋  ａ５３×ｄ（ｘ，ｙ＋２）  ＋  ａ５４×ｄ（ｘ＋１，ｙ＋２）  ＋  ａ５５×ｄ（ｘ＋２，ｙ＋２）
【００３４】
なお、ａ１１からａ５５までは係数である。
【００３５】
前記処理を繰り返し、バッファ１１７に２×２のデータが記憶された段階で、拡大処理部１２０は、２×２のデータを４０倍にする拡大処理を施す。ここでの拡大処理は線形補間方式とする。図６は、線形補間の一例を示す概念図である。以下に２倍、４倍、４０倍の線形補間方式拡大処理の計算式を示す。
【００３６】
（１）２倍拡大    Ｖ（ｘ，ｙ）  ＝  （１−ｙ／２）  ｛  （１−ｘ／２）×ｓ  ＋  （ｘ／２）×ｔ  ｝  ＋  （ｙ／２）  ｛  （１−ｘ／２）×ｕ  ＋  （ｘ／２）×ｖ  ｝
（ｘ  ＝０  ，  １  ：  ｙ  ＝  ０  ，  １）
【００３７】
（２）４倍拡大    Ｖ（ｘ，ｙ）  ＝  （１−ｙ／４）  ｛  （１−ｘ／４）×ｓ  ＋  （ｘ／４）×ｔ  ｝  ＋  （ｙ／４）  ｛  （１−ｘ／４）×ｕ  ＋  （ｘ／４）×ｖ  ｝
（ｘ  ＝０  ，  １  ，  ２  ，  ３  ：  ｙ  ＝  ０  ，  １  ，  ２  ，  ３）
【００３８】
（３）４０倍拡大  Ｖ（ｘ，ｙ）  ＝  （１−ｙ／４０）  ｛  （１−ｘ／４０）×ｓ  ＋  （ｘ／４０）×ｔ  ｝  ＋  （ｙ／４０）  ｛  （１−ｘ／４０）×ｕ  ＋  （ｘ／４）×ｖ  ｝
（ｘ  ＝０  ，  １  ，  ２  ，  …，  ３９  ：  ｙ  ＝  ０  ，  １  ，  ２  ，  …，３９）
【００３９】
拡大処理部１２０は、同様にバッファ１１５、１１６のデータに対しても線形補間方式による拡大処理を施す。
【００４０】
次にテーブル参照部１２２〜１２４において、前記三種類の拡大データの拡大後（＝原画像と同じサイズ）の座標が同じ位置にくるデータの値に対応したテーブル値をＬＵＴ１２１から参照する。
【００４１】
そして、加算処理部１２５において各々の参照値を加算し補正係数を算出する。一方、メモリコントローラ１０４は、加算処理に先んじて、加算処理を行なうブロックに対応する原画像データをメモリ１０３より読出し、原画像バッファ１２６に記憶しておく。そして、原画像バッファ１２６は、加算処理後の補正係数が出力されるタイミングと合わせて、原画像データを、色成分と、輝度成分とに分離して、色補正処理部１２７と、輝度補正処理１２８とに送る。
【００４２】
色補正処理部１２７と、輝度補正処理部１２８とでは各々原画像データに対応する補正係数を乗算処理しバッファ１２９に記憶する。バッファ１２９では補正処理後のデータが８×８サイズ分蓄積された時点でコーデック部１３０へデータを転送する。
【００４３】
図７から図１０までに、前記処理全体を制御するコントローラ１１４の動作シーケンスの一例を示す。図７では、メモリ１０３からの原画像リードから縮小処理後のデータをバッファ１０９、１１０、１１１へ記憶するまでのシーケンスを示している。また図８から図１０までには、バッファ１１５、１１６、１１７からのリードからコーデック１３０へのデータ転送までのシーケンスを時間軸の長さを変えて示している。
【００４４】
図７において、コントローラ１１４は、７０１で図４及び図５に示した通りの順序でメモリから原画像をリードし、７０２で縮小処理１にて、１／２縮小処理を行い、７０３で順次１／２縮小データをバッファ１０９へ記憶する。
【００４５】
同時にコントローラ１１４は、１／２縮小データを、縮小処理２に渡し、７０４で更に１／２縮小処理（原画像データの１／４縮小）を行い、７０５で順次バッファ１１０へ記憶する。
【００４６】
更にコントローラ１１４は、１／４縮小データを、縮小処理３に渡し、７０６で１／１０縮小処理（原画像データの１／４０縮小）を行い、７０７で順次バッファ１１１へ記憶する。なお、図７においてイタリック体はバッファ内での座標系を示し、普通体は画面上における座標を示している。
【００４７】
図８では、コントローラ１１４は、８０１にてバッファ１１５からバッファ内（１／２縮小データ）の座標における（０，０）、（１，０）、（２，０）、（３，０）、（４，０）を読出し、８０２にて２倍拡大処理を行なう。すると、拡大処理後の座標で（０，０）から（０，７）までに相当する２倍拡大データが生成される。
【００４８】
同様にコントローラ１１４は、８０３にてバッファ１１６からバッファ内（１／４縮小データ）の座標における（０，０）、（１，０）を、８０４にてバッファ１１７からバッファ内（１／４０縮小データ）の座標における（０，０）、（１，０）を読出す。そして、コントローラ１１４は、各々４倍拡大処理、４０倍拡大処理を行い、拡大処理後の座標、即ち原画像と同サイズの座標系において（０，０）から（０，７）までに相当するデータを生成する（８０５，８０６）。
【００４９】
次にコントローラ１１４は、８０７，８０８，８０９にて座標毎にテーブルを参照し、８１０にて三つのテーブル値を加算し、補正係数を算出する。それと同時にコントローラ１１４は、８１３にて原画像データ（０，０）から（０，７）までを原画像バッファに読みこんでおき、８１１、８１２にて原画像データと、補正係数とを乗算し補正データを生成する。
【００５０】
そして、コントローラ１１４は、８１４にて補正データを順次バッファ１２９へ記憶し、更に８１５にてコーデック部１３０へ転送する。なお、図８においてイタリック体はバッファ内での座標系を示し、普通体は画面上における座標を示している。
【００５１】
以下、上述した処理を図９に示した順序で８ライン分繰り返し行なうと、８×８のブロックが生成される。ここで、８１６は図８における１ライン（８ｐｉｘｅｌ）分の処理を示している。
【００５２】
更に、上述したブロック単位での処理を図１０に示した順序で繰り返し行なうことでブロック毎に補正データの出力を行う事が出来る。ここで、９０１は図９における８×８のブロック分の処理を示している。
【００５３】
この結果、ブロックの出力順序は図４に示したブロック読出し順序と同様となる。以上の処理を行なうことで、コーデック部１３０に対して、その処理単位であるブロック単位で画像処理を施したデータを転送することが可能になる。よって、画像処理後のデータを一時メモリに保存し、ラスタ・ブロック変換等の処理を行なう必要がない。
【００５４】
また、画面の水平方向のライン単位でバッファを構成することがなくなるので原画像データのサイズに依存することなく画像補正処理装置の構成をすることが可能になる。
【００５５】
なお、以上の説明におけるブロックサイズ、画面サイズ、縮小率、フィルタサイズ、拡大率等の数値は一例であって、本実施形態はこれらに限定されるものではない。また、縮小、拡大の手法についても上述した説明に限定されるものではない。
【００５６】
（実施形態２）
実施形態１においては、ブロックの出力順序は図４のように横（水平）方向に全画面分出力し、しかる後に次のラインに移り、出力するものであった。
【００５７】
この出力方法は後段の処理においてコーデック部がＪＰＥＧの圧縮を行なう場合は好適である。しかし、例えばＭＰＥＧ４のように（後述する図１１参照）１１０２、１１０３、１１０４、１１０５、…、１１１１、１１１２、１１１３、…の順序でコーデック部１３０に入力することが求められる場合にはブロックの置換処理が必要となる。
【００５８】
本実施形態では、ＭＰＥＧ４の場合に好適な出力を行なう事が可能な構成について説明する。なお、実施形態２では主に実施形態１と異なる点について記述する。
【００５９】
まず、コーデック部１３０からコントローラ１１４に対して、ブロック転送順序を指定する通知が送られる。より具体的には通信制御部２０１を介して、読出し順序設定部２０３に対して設定がなされる。
【００６０】
ここでは、図１１のＭＰＥＧ方式が設定されたとする。すると、ブロック動作制御部２１３は、設定に応じて、ブロック単位での読出し順序及びデータ転送順序を変更する。より具体的には、ブロック動作制御部２１３は、カウンタ２１４が以下の通りに動作するよう制御する。
【００６１】
即ち、まず実施形態１と同様に、ブロック動作制御部２１３は、ピクセルカウンタ２１５、ラインカウンタ２１６で１ブロック（図１１におけるブロック１１０２）をカウントする。ブロック動作制御部２１３は、次にブロック水平カウンタ２１７をカウントアップし、次の１ブロック（図１１におけるブロック１１０３）をカウントする。
【００６２】
しかる後に、ブロック動作制御部２１３は、ブロック水平カウンタ２１７をカウントダウン、ブロック垂直カウンタ２１８をカウントアップし、図１１におけるブロック１１０４をカウントする。更にブロック動作制御部２１３は、ブロック水平カウンタ２１７をカウントアップし、図１１におけるブロック１１０５をカウントする。
【００６３】
以下、ブロック動作制御部２１３は、上述したカウント動作を繰り返し、図１１におけるブロック１１０６、１１０７、…の順にカウントしていく。２０８から２１２までの各制御部は前記カウント値を受け取り、カウント値に応じて制御を行なう。
【００６４】
即ち、メモリコントローラ１０４がメモリ１０３から原画像データを読み出す順序は図４で示したものに変わり、図１１で示した順序で読み込まれる。
【００６５】
なお、実施形態２においても、ブロック内の読出し順序は実施形態１の図５と同様である。また、読み込んだ後の縮小処理についても、実施形態１の図７に示したような動作シーケンスで行われる。読出し順序が変更されることから縮小処理に必要なデータの蓄積順序は異なったものとなるが、順次縮小処理を行い、バッファ１０９〜１１１に記憶していく構成も実施形態１と同様である。
【００６６】
実施形態２におけるバッファ１１５〜１１７よりデータを読み出した後の動作シーケンスにおけるブロック内の処理についても、実施形態１の図８及び図９と同様である。但し、実施形態１のブロック単位に動作シーケンスを示した図１０については、図１２に示す動作シーケンスに変更となる。
【００６７】
図１２において、１２０１から１２０２までは実施形態１の図１０と同様だが、１２０３以降の処理順序が異なったものとなる。この結果、ブロックの出力順序は図１１に示したブロック読出し順序と同様となる。
【００６８】
なお、最初のブロック転送順序指定において、図４のＪＰＥＧ方式が指定された場合は実施形態１と同様の動作を行なう。
【００６９】
以上のように構成すれば、コーデック部１３０からの設定により、ブロックの処理順序を異なったものにすることが可能になり、異なったブロック順序の入力を要求するコーデック部１３０に対応することができる。
【００７０】
また、本実施形態では領域設定をコーデック部１３０から行なったが、これを例えば外部のアプリケーションＣＰＵから行なうような構成としてもよい。
【００７１】
（実施形態３）
上述した実施形態においては、画面全体（原画像データ全体）に対して補正処理を施したが、これを一部分の領域を切り出し、前記領域に対してのみ補正処理を施す構成としてもよい。
【００７２】
図１３において、１３０１は画面全体（原画像データ全体）を示し、１３０２が補正処理を施す領域を示している。ここで、１３０３は領域の開始位置座標（ｘｓ，ｙｓ）、１３０４は領域の終了位置座標（ｘｅ，ｙｅ）である。
【００７３】
以下、本実施形態の動作を説明する。コーデック部１３０は、まず要求する範囲（画面範囲）をコントローラ１１４へ通知する。なお、通知は開始位置座標（ｘｓ，ｙｓ）と、終了位置座標（ｘｅ，ｙｅ）とを指定することで行なわれる。
【００７４】
コントローラ１１４は、開始位置座標を読出し開始位置設定部２０４へ設定し、終了位置座標を読出し終了位置設定部２０５へ設定する。ブロック動作制御部２１３は、これらの設定に応じて、ブロック読出し範囲を変更する。
【００７５】
より具体的には、コントローラ１１４は、カウンタ２１４内のピクセルカウンタ２１５及びラインカウンタ２１６の初期値を開始位置座標に設定すると共に、カウンタ値の範囲を開始位置から終了位置までの間で動作させる。
【００７６】
但し、例えば縮小処理３での原画像からの縮小率を１／４０とした場合、コントローラ１１４は、読出し範囲は４０×４０を単位とし、開始座標位置についても（４０×ａ，４０×ｂ）（ａ、ｂは整数）とする。
【００７７】
図１４は、補正処理領域１３０２内のブロック構造の一例を示す図である。また、図１５は、メモリからの原画像データリードから、バッファ１０９〜１１１へ記憶するまでの動作シーケンスの一例を示す図である。
【００７８】
メモリ１０３からの原画像データリードは開始座標位置（ｘｓ，ｙｓ）から開始される他は、実施形態１の図７と同様である。なお、図１５においてイタリック体はバッファ内での座標系を示し、普通体は画面上における座標を示している。
【００７９】
図１６、１７、１８にはバッファ１１５、１１６、１１７からのリードからコーデック１３０へのデータ転送までのシーケンスを時間軸の長さを変えて示している。拡大処理以降における画素の座標が（ｘｓ，ｙｓ）から開始となる他は実施形態１の図８、９、１０と同様である。但し、上述した実施形態では画面終了位置まで動作を行なったが、本実施形態では終了位置座標（ｘｅ，ｙｅ）まで処理動作を行い、処理動作を終了する。なお、図１６においてイタリック体はバッファ内での座標系を示し、普通体は画面上における座標を示している。
【００８０】
以上のような構成とすることで、画面（原画像データ）の一部分に対してのみ画像補正処理を行なうことが可能となる。
【００８１】
また、本実施形態においても領域設定をコーデック部１３０から行なったが、これを例えば外部のアプリケーションＣＰＵから行なうような構成としてもよい。
【００８２】
（実施形態４）
実施形態３においては単一の領域を切り出し、前記領域に対してのみ補正処理を施したが、複数の領域を切り出し、各々の領域に対して補正処理を施す構成としてもよい。
【００８３】
図１９は、複数の領域１９０２、１９０３に対して開始位置座標（ｘｓ１，ｙｓ１）、（ｘｓ２，ｙｓ２）及び終了位置座標（ｘｅ１，ｙｅ１）、（ｘｅ２，ｙｅ２）を設定した場合の一例を示す図である。
【００８４】
以下、本実施形態の動作を実施形態３と異なる点について、主に説明する。
【００８５】
コーデック部１３０は、要求する第１、第２の画面範囲の開始位置座標、終了位置座標をコントローラ１１４へ通知する。コントローラ１１４は、第１の開始位置座標を読出し開始位置設定部２０４へ、終了位置座標を読出し終了位置設定部２０５へ設定すると共に、第２の開始位置座標を読出し開始位置２設定部２０６へ、終了位置座標を読出し終了位置２設定部２０７へ設定する。
【００８６】
ブロック動作制御部２１３は、前記設定に従いブロック読出しを複数回実行する。より具体的には、ブロック動作制御部２１３は、カウンタ２１４に対して、実施形態３で行ったようなカウント動作を複数回実行する。その際、カウンタの初期値等は毎回セットされる。
【００８７】
図２０は、コントローラ１１４におけるバッファ１１５〜１１７からのリードから、データ転送までの動作シーケンスの一例を示す図である。最初にコントローラ１１４は、領域１９０２に対して補正処理を行い、データ転送を行なう（２００１）。
【００８８】
転送終了後、コントローラ１１４は、２００２において各バッファのクリアを行なう。そして、２００３においてコントローラ１１４は、領域１９０３に対して補正処理、データ転送処理を行ない、動作を終了する。
【００８９】
本実施形態では二つの領域に対する補正処理を施す例について述べたが、もちろんこれに限定されるものではなく三つ以上の領域に対しても適用可能である。
【００９０】
以上のように構成することで、画面（原画像データ）の複数の領域に対して画像補正処理を行うことが可能となる。
【００９１】
上述した実施形態によれば、原画像データのサイズに装置の規模が依存せず、且つ原画像全体に対して適用可能な補正技術を提供することができる。
【００９２】
従来は、原画像データのサイズに依存した構成であったが、上述した実施形態によれば、画像補正処理装置が出力するブロックサイズによって決められるバッファを備えればよいので、様々な原画像データサイズに対応することができる。
【００９３】
また、上述した実施形態によれば、ＪＰＥＧやＭＰＥＧ等、各種のコーデックに対応することもできる。また、上述した実施形態によれば、画面（原画像データ）の所望の一部分を切り出して画像補正処理を行うこともできる。また、上述した実施形態によれば、複数の領域を切り出して、画像補正処理を行うこともできる。
【００９４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００９５】
【図１】画像補正処理装置のハードウェア構成の一例を示すブロック図である。
【図２】コントローラ１１４のより詳細なハードウェア構成の一例を示すブロック図である。
【図３】メモリ１０３における画像データのデータ配置の一例を示した図である。
【図４】ブロック読み出し順序の一例を示す図（その１）である。
【図５】ブロック内での読出し順序の一例を示す図である。
【図６】線形補間の一例を示す概念図である。
【図７】コントローラ１１４の動作シーケンスの一例を示す図（その１）である。
【図８】コントローラ１１４の動作シーケンスの一例を示す図（その２）である。
【図９】コントローラ１１４の動作シーケンスの一例を示す図（その３）である。
【図１０】コントローラ１１４の動作シーケンスの一例を示す図（その４）である。
【図１１】ブロック読み出し順序の一例を示す図（その２）である。
【図１２】コントローラ１１４の動作シーケンスの一例を示す図（その５）である。
【図１３】補正処理領域１３０２の設定に関する一例を示す図である。
【図１４】補正処理領域１３０２内のブロック構造の一例を示す図である。
【図１５】コントローラ１１４の動作シーケンスの一例を示す図（その６）である。
【図１６】コントローラ１１４の動作シーケンスの一例を示す図（その７）である。
【図１７】コントローラ１１４の動作シーケンスの一例を示す図（その８）である。
【図１８】コントローラ１１４の動作シーケンスの一例を示す図（その９）である。
【図１９】複数の領域１９０２、１９０３に対して開始位置座標（ｘｓ１，ｙｓ１）、（ｘｓ２，ｙｓ２）及び終了位置座標（ｘｅ１，ｙｅ１）、（ｘｅ２，ｙｅ２）を設定した場合の一例を示す図である。
【図２０】コントローラ１１４の動作シーケンスの一例を示す図（その１０）である。
【符号の説明】
【００９６】
１０１  画像入力部
１０２  現像処理部
１０３  メモリ
１０４  メモリコントローラ
１０５  輝度抽出部
１０６  縮小処理１
１０７  縮小処理２
１０８  縮小処理３
１０９  バッファ１
１１０  バッファ２
１１１  バッファ３
１１２  セレクタ
１１３  フィルタ
１１４  コントローラ
１１５  バッファ４
１１６  バッファ５
１１７  バッファ６
１１８  拡大処理１
１１９  拡大処理２
１２０  拡大処理３
１２１  ＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）
１２２  テーブル参照１
１２３  テーブル参照２
１２４  テーブル参照３
１２５  加算処理部
１２６  原画像バッファ
１２７  色補正処理部
１２８  輝度補正処理部
１２９  バッファ７
１３０  コーデック部
【図１】
2007213251.tif 000003
【図２】
2007213251.tif 000004
【図３】
2007213251.tif 000005
【図４】
2007213251.tif 000006
【図５】
2007213251.tif 000007
【図６】
2007213251.tif 000008
【図７】
2007213251.tif 000009
【図８】
2007213251.tif 000010
【図９】
2007213251.tif 000011
【図１０】
2007213251.tif 000012
【図１１】
2007213251.tif 000013
【図１２】
2007213251.tif 000014
【図１３】
2007213251.tif 000015
【図１４】
2007213251.tif 000016
【図１５】
2007213251.tif 000017
【図１６】
2007213251.tif 000018
【図１７】
2007213251.tif 000019
【図１８】
2007213251.tif 000020
【図１９】
2007213251.tif 000021
【図２０】
2007213251.tif 000022