(57)【特許請求の範囲】
【請求項１】
画像データの注目画素ごとに、周辺画素の値を用いて、演算処理を行う画像処理手段と、
前記注目画素の位置に応じて、互いに異なる係数組の中から、いずれかの係数組を選択する選択手段とを備え、
前記画像処理手段は、前記選択手段により選択された係数組を用いて、前記画像データに前記演算処理を行う画像処理装置であって、
Ｎ個の無効画素を有する第１の周辺画素に含まれる、無効画素に隣接する第１の有効画素に対する係数の値は、（Ｎ−１）個の無効画素を有する第２の周辺画素に含まれる、無効画素に隣接する第２の有効画素および前記第２の有効画素に隣接する第３の有効画素のそれぞれの係数の値を加算した値に設定し、
前記第２の有効画素と前記第３の有効画素のそれぞれの係数の値を加算した値が、前記第３の有効画素に隣接する、前記第２の周辺画素に含まれる、第４の有効画素の係数よりも小さい場合、前記第１の有効画素に対する係数の値として設定された値を、前記第３の有効画素の係数の値に入れ替えることを特徴とする画像処理装置。
【請求項２】
前記複数の係数組のそれぞれが、前記周辺画素に含まれる少なくとも１つの無効画素の位置に対応して、複数の係数を有していることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記選択手段は、前記画像データの撮影条件、前記画像データのノイズレベル、前記画像データのエッジの状態、及び前記画像データの周波数特性の少なくとも１つと、前記注目画素の位置に応じて、前記いずれかの係数組を選択することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記撮影条件は、ＩＳＯ感度、および、シャッタースピードの少なくともいずれか１つであることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記無効画素の位置それぞれに対応する係数の値は０に設定されることを特徴とする請求項２記載の画像処理装置。
【請求項６】
画像データの注目画素ごとに、周辺画素の値を用いて、演算処理を行う画像処理工程と、
前記注目画素の位置に応じて、互いに異なる係数組の中から、いずれかの係数組を選択する選択工程とを有し、
前記画像処理工程で、前記選択工程で選択された係数組を用いて、前記画像データに前記演算処理を行う画像処理方法であって、
Ｎ個の無効画素を有する第１の周辺画素に含まれる、無効画素に隣接する第１の有効画素に対する係数の値は、（Ｎ−１）個の無効画素を有する第２の周辺画素に含まれる、無効画素に隣接する第２の有効画素および前記第２の有効画素に隣接する第３の有効画素のそれぞれの係数の値を加算した値に設定し、
前記第２の有効画素と前記第３の有効画素のそれぞれの係数の値を加算した値が、前記第３の有効画素に隣接する、前記第２の周辺画素に含まれる、第４の有効画素の係数よりも小さい場合、前記第１の有効画素に対する係数の値として設定された値を、前記第３の有効画素の係数の値に入れ替えることを特徴とする画像処理方法。
【請求項７】
請求項６記載の画像処理方法を画像処理装置に実行させるためのコンピュータに読み取り可能なプログラム。
【請求項８】
請求項６記載の画像処理方法を画像処理装置に実行させるためのプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び方法、並びにプログラム及び記憶媒体に関し、特に、画像データの画像端領域における画像処理技術に関する。
【背景技術】
【０００２】
従来、画像データに対して、ＦＩＲ型デジタルフィルタなどを利用して周辺の画素を参照した画像処理を行う場合、画像端に関してはその周辺に無効画素を含むため、画像端の有効画素をコピーして画像処理が行われていた。従来の画像端における画像処理の概要を図１９に示す。図１９は、例えば、画像端で画素コピーして５タップ（ＴＡＰ）の画像処理する場合について示している。
【０００３】
図１９において、画素列１６０１は入力画像データである。画素列１６０２は、画像端を画素コピーした後の画像データである。画素列１６０３は、画像処理後の出力画像データである。
【０００４】
１６０４は、画像端画素を画像左側に２画素コピーすること示している。１６０５，１６０６は５ＴＡＰの画像処理を示している。１６０６は、出力Ｏ９が画素列１６０２のＤ７〜Ｄ１１の周辺５画素を参照して演算処理によって出力されることを示す。１６０７は画像端を示しており、画像端１６０７より右側が出力画像領域である。１６０８は画像端１６０７より左側にある入力画像データの無効画素である。従来は、画像端での５ＴＡＰの画像処理１６０５の入力画素が有効データとなるように、無効画素１６０８の位置に画素コピー１６０４が行われる。これにより、５ＴＡＰの入力画素が常にコピー画素を含む有効な画素データとなるようにする。
【０００５】
図２０は、従来の画像処理装置の構成例を示すブロック図である。
【０００６】
図２０において、２０１は周辺画素をコピーする周辺画素ＣＯＰＹ部である。２０２は、例えば、フィルタ処理等の画像処理を行う画像処理部である。２０３は、画像領域の位置情報を制御する画像領域制御部である。入力画像データ（以下、「ＩＮＤＡＴ」と称す）は、周辺画素ＣＯＰＹ部２０１で周辺画素コピーされ、ＣＰＤＡＴとして画像処理部２０２に出力される。ＣＰＤＡＴは、画像処理部２０２でフィルタ処理され、ＯＵＴＤＡＴとして出力される。ＣＯＰＹＬＷＩＮは画像左端のコピー領域の情報、ＣＯＰＹＲＷＩＮは画像右端のコピー領域の情報であり、画像領域制御部２０３から周辺画素ＣＯＰＹ部２０１に対して出力される。ＯＵＴＷＩＮは、出力画像領域の情報であり、画像領域制御部２０３から画像処理部２０２へ出力される。
【０００７】
図２１は、図２０の画像処理装置における入出力信号のタイミングチャートである。なお、図示例では、クロック信号の１サイクルごとに‘１’から順に番号を付し、クロック１〜クロックｎとして説明する。
【０００８】
図２１において、ＩＮＤＡＴ３０２のクロック４が画像左端であり、画素値はＤ１である。ＣＰＤＡＴ３０４は、ＩＮＤＡＴ３０２の画像左端の画素値Ｄ１がコピーされ、クロック５，６では画素値がＤ１となる。
【０００９】
一方、ＩＮＤＡＴ３０２のクロック１７が画像右端であり、画素値はＤｎである。ＣＰＤＡＴ３０４は、ＩＮＤＡＴ３０２の画像右端の画素値Ｄｎがコピーされ、クロック２１，２２では画素値がＤｎとなる。
【００１０】
２０５はＣＯＰＹＬＷＩＮのタイミングチャート、２０６はＣＯＰＹＲＷＩＮのタイミングチャート、２０７はＯＵＴＷＩＮのタイミングチャートである。
【００１１】
特許文献１では、上記と同様に、周辺画素コピーによるＦＩＲフィルタ処理に関する技術が提案されている。また、デブロッキングフィルタに関して圧縮による画質劣化の一つであるブロックノイズ軽減においてフィルタ処理を施し、ブロック境界の近傍においてのみフィルタ処理を施す方式が規格化されている（非特許文献１）。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平０８−１３８０４５号公報
【非特許文献】
【００１３】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４規格書
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述した従来の画像処理や特許文献１では、周辺画素を参照して画像処理を行う場合、画像端では参照範囲に合わせて画像端の画素をコピーすることで出力画像の画像端部分が不定値とならないようにしている。このような従来の画像処理では、画素コピーを前提として、画像端においても一律の画像処理が行われ、画像端に適切な画像処理が行われず、画像端周辺の画素参照範囲の領域において画質が劣化するおそれがある。
【００１５】
また、非特許文献１のように、規格に従って画像位置によって画像処理が切り替えられているが、入力画像データの画像端における有効画像領域また出力画像領域を考慮した画像処理ではない。このように、出力画像の画像端周辺の画質が本来想定している画質からかけ離れ、画質が劣化するおそれがある。
【００１６】
本発明は、上記問題に鑑みてなされたものであり、画像端を参照範囲に含む出力画像領域においても、本来想定している画質に近い適切な画質設計が可能となり、画質劣化を最小限に抑えることができる画像処理装置及び方法、並びにプログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明の画像処理装置は、画像データの注目画素ごとに、周辺画素の値を用いて、演算処理を行う画像処理手段と、前記注目画素の位置に応じて、互いに異なる係数組の中から、いずれかの係数組を選択する選択手段とを備え、前記画像処理手段は、前記選択手段により選択された係数組を用いて、前記画像データに前記演算処理を行う画像処理装置であって、Ｎ個の無効画素を有する第１の周辺画素に含まれる、無効画素に隣接する第１の有効画素に対する係数の値は、（Ｎ−１）個の無効画素を有する第２の周辺画素に含まれる、無効画素に隣接する第２の有効画素および前記第２の有効画素に隣接する第３の有効画素のそれぞれの係数の値を加算した値に設定し、前記第２の有効画素と前記第３の有効画素のそれぞれの係数の値を加算した値が、前記第３の有効画素に隣接する、前記第２の周辺画素に含まれる、第４の有効画素の係数よりも小さい場合、前記第１の有効画素に対する係数の値として設定された値を、前記第３の有効画素の係数の値に入れ替えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、出力画像領域によらず、入力画像端において有効画素領域を考慮した参照画素範囲による適切な画像処理が行える。これにより、出力画像の画像端周辺などの画像端を参照範囲に含む出力画像領域においても、本来想定している画質に近い適切な画質設計が可能となり、画質劣化を最小限に抑えることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】図１の画像処理装置を搭載した撮像装置の構成例を示すブロック図である。
【図３】図１における画像処理部の内部構成を示す図である。
【図４】図１における係数テーブル１〜係数テーブルＭの内部構成を示す図である。
【図５】（ａ）は係数テーブル１の内容例、（ｂ）は係数テーブル２の内容例、（ｃ）は係数テーブル３の内容例を示す図である。
【図６Ａ】図１の画像処理装置における入出力信号のタイミングチャートである。
【図６Ｂ】図１の画像処理装置における入出力信号のタイミングチャートである。
【図７】図１における係数組選択制御部の内部構成を示す図である。
【図８】図７における係数組選択決定部において、入力される情報ごとに係数セットＫＳＥＴを決めるための条件テーブルの一例を示す図である。
【図９】画像左端用の係数を係数算出方式１で算出する算出処理の流れを示すフローチャートである。
【図１０】画像右端用の係数を係数算出方式１で算出する算出処理の流れを示すフローチャートである。
【図１１】２種類の係数の算出方式を用いて実際に算出した係数の一例を示す図であり、（ａ）は係数算出方式１によるもの、（ｂ）は後述する係数算出方式２によるものである。
【図１２】画像左端用の係数を係数算出方式２で算出する算出処理を示すフローチャートである。
【図１３】画像右端用の係数を係数算出方式２で算出する算出処理を示すフローチャートである。
【図１４】本発明の第２の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図１５】図１４におけるフィルタ選択テーブルの内容例を示す図である。
【図１６Ａ】図１４の画像処理装置における入出力信号のタイミングチャートである（１／４）。
【図１６Ｂ】図１４の画像処理装置における入出力信号のタイミングチャートである（２／４）
【図１６Ｃ】図１４の画像処理装置における入出力信号のタイミングチャートである（３／４）。
【図１６Ｄ】図１４の画像処理装置における入出力信号のタイミングチャートである（４／４）。
【図１７】図１４におけるフィルタ組選択制御部の内部構成を示す図である。
【図１８】図１７におけるフィルタ組選択決定部１４０６において、入力される情報ごとにフィルタ選択値ＦＳＥＬを決めるための条件テーブルの一例を示す図である。
【図１９】従来の画像端における画像処理の概要を示す図である。
【図２０】従来の画像処理装置の構成例を示すブロック図である。
【図２１】図２０の画像処理装置における入出力信号のタイミングチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００２１】
［第１の実施形態］
第１の実施形態では、画像処理パラメータ（例えば、ＦＩＲフィルタにおけるフィルタ係数）を画像端の周辺領域で制御する技術について説明する。
【００２２】
図１は、本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【００２３】
図１において、１０１は、例えば、ＦＩＲフィルタ等で構成され、入力画像データ（ＩＮＤＡＴ）が入力されると、出力画像データ（ＯＵＴＤＡＴ）を出力する画像処理部である。１０２は、画像領域の位置情報を制御する画像領域制御部であり、画像処理部１０１にＯＵＴＷＩＮを出力し、係数選択値生成部１０３にＫＷＩＮを出力する。ＯＵＴＷＩＮは画像出力領域を表す制御信号である。ＫＷＩＮはＦＩＲフィルタの係数切り替えを画像領域によって行うための制御信号である。画像処理部１０１にＯＵＴＷＩＮが入力され、出力画像領域が制御される。
【００２４】
係数選択値生成部１０３は、画像領域制御部１０２からＫＷＩＮが入力され、画像領域に従った係数選択値ＫＳＥＬを生成する。係数組選択制御部１０５は、係数組選択値ＫＳＥＴＳＥＬを生成してセレクタ（ＭＵＸ）１０４に出力する。
【００２５】
１０６〜１０８は、ＦＩＲフィルタの係数の組テーブルである。本実施形態では、係数テーブル１＿１０６〜係数テーブルＭ１０８のＭ種類の係数テーブルがあるものとする。
【００２６】
セレクタ１０４は、係数組選択制御部１０５から入力される係数組選択値ＫＳＥＴＳＥＬに応じて、係数テーブル１＿１０６〜係数テーブルＭ１０８から所定の係数（Ｋ１〜ＫＮ）を選択する。選択されたＮ個の係数Ｋ１〜ＫＮは、ＦＩＲ係数として、セレクタ１０４から画像処理部１０１に出力される。
【００２７】
図２は、図１の画像処理装置を搭載した撮像装置４１００の構成例を示すブロック図である。本実施形態では、図１に示す画像処理装置を図２の画像処理部４２４として説明する。
【００２８】
図２において、４１０３はフォーカスレンズを含む撮影レンズ、４１０１は絞り機能を備えるシャッター、４２２は光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等で構成される撮像部である。４１０２はバリアであり、撮影レンズ４１０３を含む撮像系を覆うことにより、撮影レンズ４１０３、シャッター４１０１、撮像部４２２を含む撮像系の汚れや破損を防止する。
【００２９】
４２３はＡ／Ｄ変換器であり、アナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器４２３は、撮像部４２２から出力されるアナログ信号をデジタル信号に変換するために用いられる。
【００３０】
４２４は撮像装置４１００の画像処理部であり、例えば、図１に示す画像処理装置で構成される。画像処理部４２４は、Ａ／Ｄ変換器４２３からのデータやメモリ制御部４１５からのデータに対して、所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。
【００３１】
また、画像処理部４２４では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部４５０が露光制御、測距制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（フラッシュプリ発光）処理が行われる。画像処理部４２４では、さらに、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてＴＴＬ方式のＡＷＢ（オートホワイトバランス）処理が行われる。画像処理部４２４の入力画像データは撮影画像であってもよく、出力画像データは撮影画像に対して記録画像データを生成する一過程の結果であってもよく、さまざまな撮影条件、画像特徴などから決定される画像処理が施されている。詳細ついては後述する。
【００３２】
Ａ／Ｄ変換器４２３からの出力データは、画像処理部４２４及びメモリ制御部４１５を介して、或いは、メモリ制御部４１５を介してメモリ４３２に直接書き込まれる。メモリ４３２は、撮像部４２２によって得られ、Ａ／Ｄ変換器４２３によりデジタルデータに変換された画像データや、表示部４２８に表示するための画像データを格納する。メモリ４３２は、所定枚数の静止画像や所定時間の動画像及び音声を格納するのに十分な記憶容量を備えている。また、メモリ４３２は、画像表示用のメモリ（ビデオメモリ）を兼ねている。
【００３３】
４１３はＤ／Ａ変換器であり、メモリ４３２に格納されている画像表示用のデータをアナログ信号に変換して表示部４２８に供給する。こうして、メモリ４３２に書き込まれた表示用の画像データは、Ｄ／Ａ変換器４１３を介して表示部４２８により表示される。表示部４２８は、ＬＣＤ等の表示器上に、Ｄ／Ａ変換器４１３からのアナログ信号に応じた表示を行う。
【００３４】
不揮発性メモリ４５６は、電気的に消去・記憶可能なメモリであり、例えばＥＥＰＲＯＭ等が用いられる。不揮発性メモリ４５６には、システム制御部４５０の動作用の定数、プログラム等が記憶される。ここでいうプログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
【００３５】
システム制御部４５０は、図２の撮像装置４１００全体を制御する。前述した不揮発性メモリ４５６に記憶されたプログラムを実行することで、後述する本実施形態の各処理を実現する。４５２はシステムメモリであり、ＲＡＭで構成される。システムメモリ４５２には、システム制御部４５０の動作用の定数、変数等が記憶されると共に、不揮発性メモリ４５６から読み出したプログラム等を展開するためのメモリとして用いられる。また、システム制御部４５０は、メモリ４３２、Ｄ／Ａ変換器４１３、表示部４２８等を制御することにより表示制御も行う。
【００３６】
加速度センサー４８２は、撮像装置４１００に加えられた物理的な加速度を、その方向と共に検知することができるセンサーである。加速度センサーの制御は、システム制御部４５０によって行われ、検知される情報は後述する本実施形態の処理によって適宜扱われる。
【００３７】
モード切替スイッチ４６０、第１シャッタースイッチ４６２、第２シャッタースイッチ４６４、及び操作部４７０は、システム制御部４５０に各種の動作指示を入力するための操作手段である。
【００３８】
モード切替スイッチ４６０は、システム制御部４５０の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替える。第１シャッタースイッチ４６２は、撮像装置４１００に設けられたシャッターボタン（不図示）の半押し（撮影準備指示）でＯＮとなり、第１シャッタースイッチ信号ＳＷ１をシステム制御部４５０に出力する。第１シャッタースイッチ信号ＳＷ１により、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作が開始される。
【００３９】
第２シャッタースイッチ４６４は、シャッターボタンの全押し（撮影指示）でＯＮとなり、第２シャッタースイッチ信号ＳＷ２をシステム制御部４５０に出力する。システム制御部４５０は、第２シャッタースイッチ信号ＳＷ２により、撮像部４２２からの信号読み出しから記録媒体４２００に画像データを書き込むまでの一連の撮影処理の動作が開始される。
【００４０】
操作部４７０には各種操作部材が配置されており、各種操作部材で表示部４２８に表示される種々の機能アイコンを選択操作することができる。また、操作部材には、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると、各種設定が可能なメニュー画面が表示部４２８に表示される。利用者は、表示部４２８に表示されたメニュー画面と、不図示の４方向ボタンやＳＥＴボタンを用いて直感的に各種設定を行うことができる。
【００４１】
４８０は電源制御部であり、電池検出回路、ＤＣ−ＤＣコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部４８０は、その検出結果及びシステム制御部４５０の指示に基づいてＤＣ−ＤＣコンバータ（不図示）を制御し、必要な電圧を必要な期間、記録媒体４２００を含む各部へ供給する。
【００４２】
４３０は電源部であり、アルカリ電池やリチウム電池等の一次電池、ＮｉＣｄ電池、ＮｉＭＨ電池、Ｌｉ電池等の二次電池、またはＡＣアダプター等からなる。４１８は、メモリカードやハードディスク等の記録媒体４２００とのインターフェース（Ｉ／Ｆ）である。記録媒体４２００はメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
【００４３】
図３は、図１における画像処理部１０１の内部構成を示す図である。
【００４４】
５０１〜５０７はＤフリップフロップ（Ｄ−ＦＦ）であり、内部クロックに同期して入力画像の画素値を保持、シフトする遅延素子である。５０８〜５１３は乗算器であり、各Ｄ−ＦＦ５０１〜５０７の出力とＦＩＲ係数ＫＮ〜Ｋ１の乗算を行う。５１４は加算器であり、乗算器５０８〜５１３の出力を全て加算して出力する。加算器５１４の出力は、ＦＩＲフィルタのＯＵＴＤＡＴとして出力される。
【００４５】
図４は、図１における係数テーブル１＿１０６〜係数テーブルＭ１０８の内部構成を示す図である。
【００４６】
６０１は、係数テーブル１＿１０６〜係数テーブルＭ１０８の各係数テーブルである。係数テーブル６０１は、Ｋ１テーブル６０２〜ＫＮテーブル６０４の複数のテーブルで構成される。Ｋ１テーブル６０２〜ＫＮテーブル６０４には、係数選択値ＫＳＥＬが入力される。Ｋ１テーブル６０２〜ＫＮテーブル６０４は、入力された係数選択値ＫＳＥＬに従って、係数Ｋ１〜ＫＮをそれぞれ出力する。係数テーブル６０１は、１組Ｎ個の係数Ｋ１〜ＫＮを係数選択値ＫＳＥＬに従って出力する。
【００４７】
図５は、図１における係数テーブル１＿１０６〜Ｍ１０８の内容例を示す図である。図示例では、３種類の係数テーブルの内容を示している。図５（ａ）は係数テーブル１＿１０６の内容であり、図５（ｂ）は係数テーブル２＿１０７の内容、図５（ｃ）は係数テーブル３の内容である。係数テーブル１〜３の出力係数はＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３である。
【００４８】
図６Ａ及び図６Ｂは、図１の画像処理装置における入出力信号のタイミングチャートである。
【００４９】
ＣＬＫ８０１は同期クロック信号である。ＣＬＫ８０１のクロック信号の１サイクルごとに１画素ずつ画像処理が行われる。なお、図示例では、クロック信号の１サイクルごとに‘１’から順に番号を付し、クロック１〜クロックｎとして説明する。
【００５０】
ＩＮＤＡＴ８０２は入力画像データの信号である。ＯＵＴＤＡＴ８０３は出力画像データの信号である。ＯＵＴＷＩＮ８０４は出力画像領域の制御信号である。ＫＷＩＮ８０５は係数用領域制御信号である。ＫＳＥＬ８０６は係数選択値である。ＫＳＥＴ１＿８０７は係数テーブル１の出力係数セットである。ＫＳＥＴ２＿８０８は係数テーブル２の出力係数セットである。ＫＳＥＴ３＿８０９は係数テーブル３の出力係数セットである。
【００５１】
ＫＳＥＴＳＥＬ８１０は、係数テーブル１の出力係数セットＫＳＥＴ１＿８０７を選択する場合の係数組選択値である。ＫＳＥＴ８１１は、ＫＳＥＴ１＿８０７が選択された場合の係数セットを示す。
【００５２】
ＫＳＥＴＳＥＬ８１２は、係数テーブル２の出力係数セットＫＳＥＴ２＿８０８を選択する場合の係数組選択値である。ＫＳＥＴ８１３は、ＫＳＥＴ２＿８０８が選択された場合の係数セットを示す。
【００５３】
ＫＳＥＴＳＥＬ８１４は、係数テーブル３の出力係数セットＫＳＥＴ３＿８０９を選択する場合の係数組選択値である。ＫＳＥＴ８１５は、ＫＳＥＴ３＿８０９が選択された場合の係数セットを示す。
【００５４】
ＩＮＤＡＴ８０２は、クロック１〜３では不定値‘Ｘ’である。クロック４〜１７の間は、順次有効画素値が入力される。入力画像データの有効画素の左端はクロック４であり、画素値はＤ１である。左端から入力画像データの画素値はＤ１，Ｄ２，Ｄ３の順で入力され、クロック１３からＤｎ−４，Ｄｎ−３，Ｄｎ−２，Ｄｎ−１，Ｄｎと入力される。入力画像データの有効画素の右端はクロック１７であり、画素値はＤｎである。クロック１８以降のＩＮＤＡＴ８０２は不定値‘Ｘ’である。
【００５５】
ＯＵＴＤＡＴ８０３は、クロック７〜クロック２０の間で出力される。出力画像データの左端はクロック７で出力値がＯ１であり、出力画像データの右端がクロック２０で出力値はＯｎである。
【００５６】
出力画像領域はＯＵＴＷＩＮ８０４によって制御される。ＯＵＴＷＩＮ８０４が‘Ｈ’の期間、ＯＵＴＤＡＴ８０３は有効である。また、ＯＵＴＷＩＮ８０４によって、画像処理及びＩＮＤＡＴ８０２の有効画素領域を考慮した適切な出力画像領域が制御できる。
【００５７】
係数選択値ＫＳＥＬ８０６は、係数選択値生成部１０３によって、係数用領域制御信号ＫＷＩＮ８０５を基に制御される。本実施形態では、ＫＷＩＮ８０５が‘Ｈ’の次のクロックでＫＳＥＬ８０６がインクリメントされる。ＫＳＥＬ８０６の初期値は‘０’であり、画像左端では、クロック７から１クロックごとにＫＳＥＬ８０６に１，２，３，４とインクリメントされる。クロック１０〜１７の間ではＫＳＥＬ８０６は‘４’であり、画像右端では、クロック１８から１クロックごとに、５，６，７，０となる。係数選択値生成部１０３には、予め係数選択値ＫＳＥＬの最大値‘７’が設定されており、これによって初期値０に戻る。
【００５８】
係数セットＫＳＥＴ１＿８０７は、係数選択値ＫＳＥＬ８０６によって係数テーブル１＿１０６から選択出力される。選択出力される係数セットＫＳＥＴ１は、図５（ａ）に示す係数テーブル１＿１０６に従って決まる。クロック１〜６では、ＫＳＥＬ８０６は０でＫＳＥＴ１はＫ１ｔａｐ、クロック７ではＫＳＥＬ８０６は１でＫＳＥＴ１はＫ１ｔａｐ、クロック８，９，１０ではそれぞれＫＳＥＬ８０６は２，３，４でＫＳＥＴ１はいずれもＫ３ｔａｐとなる。ＫＳＥＬ８０６は、クロック１１以降クロック１７まで４であり、係数セットＫＳＥＴ１＿８０７はＫ３ｔａｐである。クロック１８，１９でＫＳＥＬ８０６は５，６となり、ＫＳＥＴ１＿８０７はＫ３ｔａｐである。クロック２０でＫＳＥＬ８０６は７となり、ＫＳＥＴ１＿８０７はＫ１ｔａｐである。クロック２１以降ＫＳＥＬ８０６は０となり、ＫＳＥＴ１＿８０７はＫ１ｔａｐである。このように、画像端周辺において、ＦＩＲフィルタで使用する係数セットが選択される。
【００５９】
同様に、係数セットＫＳＥＴ２＿８０８は、係数選択値ＫＳＥＬ８０６によって係数テーブル２＿１０７から選択出力される。選択出力される係数セットＫＳＥＴ２は、図５（ｂ）に示す係数テーブル２＿１０７に従って決まる。係数セットＫＳＥＴ２＿８０８では、クロック１〜クロック７はＫ１ｔａｐ、クロック８はＫ３ｔａｐ、クロック９〜１８はＫ５ｔａｐ、クロック１９はＫ３ｔａｐ、クロック２０以降はＫ１ｔａｐとなる。
【００６０】
同様に、係数セットＫＳＥＴ３＿８０９は、係数選択値ＫＳＥＬ８０６によって係数テーブル３から選択出力される。選択出力される係数セットＫＳＥＴ３は、図５（ｃ）に示す係数テーブル３に従って決まる。
【００６１】
係数セットＫＳＥＴ３＿８０９では、クロック１〜クロック６はＫ１ｔａｐ、クロック７はＫ５ｔａｐ１、クロック８はＫ５ｔａｐ２、クロック９はＫ５ｔａｐ３、クロック１０〜１７はＫ７ｔａｐとなる。また、クロック１８はＫ５ｔａｐ３、クロック１９はＫ５ｔａｐ４、クロック２０はＫ５ｔａｐ５、クロック２１以降はＫ１ｔａｐとなる。
【００６２】
ＫＳＥＴ８１１は、ＫＳＥＴＳＥＬ８１０が１のときを示し、ＫＳＥＴにＫＳＥＴ１がセレクタ１０４によって選択されている場合を示す。ＫＳＥＴ８１３は、ＫＳＥＴＳＥＬ８１２が２のときを示し、ＫＳＥＴにＫＳＥＴ２がセレクタ１０４によって選択されている場合を示す。ＫＳＥＴ８１５は、ＫＳＥＴＳＥＬ８１４が３であって、ＫＳＥＴにＫＳＥＴ３がセレクタ１０４によって選択されている場合を示す。
【００６３】
図７は、図１における係数組選択制御部１０５の内部構成を示す図である。
【００６４】
図７において、９０２はノイズレベル検出部であり、ＩＮＤＡＴからノイズレベル（ＳＮ比）を検出して出力する。９０３は画像特徴抽出部であり、ＩＮＤＡＴから画像特徴を抽出して出力する。画像特徴にはエッジ、ベタがあり、特にエッジの場合はエッジ方向などの情報がある。９０４は周波数特性部であり、ＩＮＤＡＴの周波数特性を検出して周波数帯域を出力する。
【００６５】
９０５は垂直位置判別部であり、画像の垂直方向の画像領域制御信号ＶＷＩＮが入力される。垂直位置判別部９０５は、この垂直方向の画像領域制御信号ＶＷＩＮを基に垂直方向の画像端である上端下端からの距離情報を出力する。
【００６６】
なお、ここまでの一連の説明では、水平方向の画像処理の場合を想定している。垂直方向の画像処理の場合、９０５は水平位置判別部となり、水平方向の画像領域制御信号が入力される。
【００６７】
９０６は係数組選択決定部である。係数組選択決定部９０６では、画像データに付加されている撮影時の撮影条件、ノイズレベル、画像特徴、周波数帯域、上下端距離（または水平端距離）が入力され、これら情報を基にＫＳＥＴＳＥＬを出力する。
【００６８】
図８は、図７における係数組選択決定部９０６において、入力される情報ごとに係数セットＫＳＥＴを決めるための条件テーブルの一例を示す図である。図示のＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３は、図５（ａ）、図５（ｂ）、図５（ｃ）に示すような、定義された係数セットのことである。
【００６９】
図８（ａ）は、撮影条件に対して決まる係数セットＫＳＥＴａを示す。図示例では、撮影条件の一例としてＩＳＯ感度を利用している。ＩＳＯ感度が低い方から順に、ＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３が適用される。なお、ＩＳＯ感度に限らず、他の撮影条件、例えばシャッタースピードで決まるＴＶ値などでも同様に条件テーブルで定義できる。
【００７０】
図８（ｂ）は、ノイズレベルとして、ＳＮ比に対して決まる係数セットＫＳＥＴｂを示す。ＳＮ比は、ノイズレベルに対する信号レベルの大きさを示す値である。ノイズレベルが低い方から順に、ＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３が適用される。
【００７１】
図８（ｃ）は、画像特徴に対して決まる係数セットＫＳＥＴｃを示す。垂直方向のエッジ画像の場合にはＫＳＥＴ１、斜めエッジの場合にはＫＳＥＴ２、水平エッジとベタの場合にはＫＳＥＴ３が適用される。なお、本実施形態では、水平方向の画像処理の場合について説明したが、垂直方向の画像処理に適用する場合は、ＫＳＥＴ１が水平方向のエッジ画像に、ＫＳＥＴ３が垂直エッジ画像に適用されるものとする。
【００７２】
図８（ｄ）は、周波数特性に対して決まる係数セットＫＳＥＴｄを示す。高周波数帯域画像の方から順に、ＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３が適用される。
【００７３】
図８（ｅ）は、入力画像の垂直位置に対して決まる係数セットＫＳＥＴｅを示す。画像処理対象の注目画素が、上端若しくは下端からの距離が遠い方から順に、ＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３が適用される。なお、本実施形態では、水平方向の画像処理の場合について説明したが、垂直方向の画像処理に適用する場合は、画像処理対象の注目画素が左端若しくは右端からの距離が遠い方から順に、ＫＳＥＴ１、ＫＳＥＴ２、ＫＳＥＴ３が適用されるものとする。
【００７４】
本実施形態では、上述した図８（ａ）〜図８（ｅ）に示す条件テーブルに基づいて決定された係数セットＫＳＥＴａ〜ＫＳＥＴｅから最終的に一つの係数セットＫＳＥＴを求める。ＫＳＥＴの求め方の一例としては、次式１のように、ＫＳＥＴａ〜ＫＳＥＴｅの最大値を求める方法がある。
【００７５】
ＫＳＥＴ＝ＭＡＸ（ＫＳＥＴａ，ＫＳＥＴｂ，ＫＳＥＴｃ，ＫＳＥＴｄ，ＫＳＥＴｅ）     式１
ただし、ＫＳＥＴ１＜ＫＳＥＴ２＜ＫＳＥＴ３とする。
【００７６】
次に、係数テーブル１＿１０６〜係数テーブルＭ１０８に定義される係数の算出方式について説明する。
【００７７】
図９は、画像左端用の係数を係数算出方式１で算出する算出処理の流れを示すフローチャートである。なお、以下に説明する処理は、例えば、画像処理装置内のＣＰＵ等が実行するものとして説明するが、これに限定されるものではない。
【００７８】
図示例では、いずれも画像端でない画像中央領域における画像処理の係数Ｋ１〜ＫＮが与えられたものとして、画像端用の係数が算出される。画像端用の係数は、注目画素が画像端に対してどの位置にあるかによってそれぞれ個別に後述の算出方式によって求められる。画像端用の係数が適用されるのは、注目画素に対して参照する周辺画素に入力画像外の領域の無効画素が含まれる場合である。
【００７９】
まず、ステップＳ１０２では、ＣＰＵは、処理画素位置ｉ＝１にして初期化を行う。次に、ステップＳ１０３では、ＣＰＵは、入力画素ＩＤＡＴｉが無効画素か否かを判断する。無効画素でないと判定した場合は、本処理を終了する。一方、無効画素であると判定した場合はステップＳ１０４に進み、ＣＰＵは、右隣の画素用の係数Ｋ（ｉ＋１）に無効画素用の係数Ｋｉ−Ｋ０を加算して、新たな係数Ｋ（ｉ＋１）とする。ここで係数値Ｋ０は無効画素用の係数値とする。
【００８０】
次に、ステップＳ１０５では、ＣＰＵは、無効画素用の係数ＫｉをＫ０にする。次に、ステップＳ１０６では、ＣＰＵは、処理画素位置ｉを１つ増やす。
【００８１】
次に、ステップＳ１０７では、ＣＰＵは、処理画素位置ｉが（Ｎ＋１）／２に等しいか否かを判定する。ここでＮはタップ（ＴＡＰ）数を示し、係数はＫ１〜ＫＮとする。また、（Ｎ＋１）／２は、ＴＡＰ処理の中央画素である注目画素の画素位置のことである。
【００８２】
ステップＳ１０７の判定の結果、等しいと判定した場合は、本処理を終了する。一方、等しくないと判定した場合は、ステップＳ１０３に戻り、係数算出処理を繰り返す。
【００８３】
図１０は、画像右端用の係数を係数算出方式１で算出する算出処理の流れを示すフローチャートである。
【００８４】
まず、ステップＳ２０２では、ＣＰＵは、処理画素位置ｉ＝Ｎで初期化する。次に、ステップＳ２０３では、ＣＰＵは、入力画素ＩＤＡＴｉが無効画素か否かを判断する。無効画素でないと判定した場合は、本処理を終了する。一方、無効画素であると判定した場合はステップＳ２０４に進み、ＣＰＵは、左隣の画素用の係数Ｋ（ｉ−１）に無効画素用の係数Ｋｉ−Ｋ０を加算して、新たな係数Ｋ（ｉ−１）とする。ここで係数値Ｋ０は無効画素用の係数値とする。
【００８５】
次に、ステップＳ２０５では、ＣＰＵは、無効画素用の係数ＫｉをＫ０にする。次に、ステップＳ２０６では、ＣＰＵは、処理画素位置ｉを１つ減らす。
【００８６】
次に、ステップＳ２０７では、ＣＰＵは、処理画素位置ｉが（Ｎ＋１）／２に等しいか否かを判定する。ここでＮはタップ数を示し、係数はＫ１〜ＫＮとする。また、（Ｎ＋１）／２は、ＴＡＰ処理の中央画素である注目画素の画素位置のことである。ステップＳ２０７の判定の結果、等しいと判定した場合は、本処理を終了する。一方、等しくないと判定した場合は、ステップＳ２０３に戻り、係数算出処理を繰り返す。
【００８７】
次に、２種類の係数の算出方式を用いて実際に算出した係数について図１１を参照して説明する。
【００８８】
図１１（ａ）は、係数算出方式２を用いて実際に算出した係数の一例を示す図である。なお、図１１（ｂ）については後述する。
【００８９】
図１１（ａ）では、１１ＴＡＰの係数Ｋ１〜Ｋ１１の場合について示している。表の左側は、各タップに入力される画素が無効画素（×）か有効画素（○）かを示しており、Ｋ６の入力画素が注目画素（◎）で有効画素を前提としている。表の右側は、表の左側に対応する係数Ｋ１〜Ｋ１１の値を示しており、実際の係数はここで示される値を係数の合計値６６で割った値である。
【００９０】
１７０１は画像左端の画素が注目画素の場合であり、１７０２は画像左端から２画素目が注目画素の場合である。１７０３は画像左端から３画素目、１７０４は４画素目、１７０５は５画素目の場合である。
【００９１】
１７１１は画像右端の画素が注目画素の場合、１７１０は画像右端から２画素目、１７０９は３画素目、１７０８は４画素目、１７０７は５画素目の場合である。
【００９２】
１７０６は画像左端６画素目から内側でかつ画像右端６画素目から内側の場合である。
【００９３】
次に、画像左端に無効画素がある場合の係数算出方式１による係数について説明する。
【００９４】
１７０５は１７０６と比較するとＫ１が無効画素であり、Ｋ１の値を“０”とし、１７０６のＫ１の値“１”をＫ２の値“２”に加算して、１７０５のＫ２の値を“３”とする。
【００９５】
１７０４は１７０５と比較するとＫ２が無効画素であり、Ｋ２の値を“０”とし、１７０５のＫ２の値“３”をＫ３の値“４”に加算して、１７０４のＫ３の値を“７”とする。
【００９６】
以下同様に、１７０３の係数Ｋ４が“１３”、１７０２の係数Ｋ５が“２３”、１７０１の係数Ｋ６が“４３”というように算出することができる。
【００９７】
一方、画像右端に無効画素がある場合も、上記と同様に係数を算出することができる。例えば、１７０７の係数Ｋ１０が“３”、１７０８の係数Ｋ９が“７”、１７０９の係数Ｋ８が“１３”、１７１０の係数Ｋ７が“２３”、１７１１の係数Ｋ６が“４３”というように算出することができる。
【００９８】
図１２は、画像左端用の係数を係数算出方式２で算出する算出処理を示すフローチャートである。
【００９９】
図示例では、いずれも画像端でない画像中央領域における画像処理の係数Ｋ１〜ＫＮが与えられたものとして、画像端用の係数が算出される。画像端用の係数は、注目画素が画像端に対してどの位置にあるかによってそれぞれ個別に後述の算出方式によって求められる。画像端用の係数が適用されるのは、注目画素に対して参照する周辺画素に入力画像外の領域の無効画素が含まれる場合である。
【０１００】
まず、ステップＳ３０２では、ＣＰＵは、処理画素位置ｉ＝１にして初期化を行う。次に、ステップＳ３０３では、ＣＰＵは、入力画素ＩＤＡＴｉが無効画素か否かを判断する。無効画素でないと判定した場合は、本処理を終了する。一方、無効画素であると判定した場合はステップＳ３０４に進み、ＣＰＵは、右隣の画素用の係数Ｋ（ｉ＋１）に無効画素用の係数Ｋｉ−Ｋ０を加算して、新たな係数Ｋ（ｉ＋１）とする。ここで係数値Ｋ０は無効画素用の係数値とする。
【０１０１】
次に、ステップＳ３０５では、ＣＰＵは、無効画素用の係数ＫｉをＫ０にする。次に、ステップＳ３０６では、ＣＰＵは、処理画素位置ｉを１つ増やす。
【０１０２】
次に、ステップＳ３０７では、ＣＰＵは、処理画素位置ｉが（Ｎ＋１）／２に等しいか否かを判定する。ここでＮはタップ（ＴＡＰ）数を示し、係数はＫ１〜ＫＮとする。また、（Ｎ＋１）／２は、ＴＡＰ処理の中央画素である注目画素の画素位置のことである。
【０１０３】
ステップＳ３０７の判定の結果、等しくないと判定した場合はステップＳ３０３に戻り、ステップＳ３０３からステップＳ３０７の処理を繰り返す。一方、ステップＳ３０７で等しいと判定した場合はステップＳ３０８に進む。
【０１０４】
ステップＳ３０８では、ＣＰＵは、係数Ｋｉと左隣の画素用の係数Ｋ（ｉ−１）を比較し、Ｋｉの方が大きいと判定した場合は、本処理を終了する。一方、係数Ｋｉの方が小さいか等しい（係数以下）と判定した場合はステップＳ３０９に進み、ＣＰＵは、ＫｉとＫ（ｉ−１）の係数の値を入れ替える。
【０１０５】
次に、ステップＳ３１０では、ＣＰＵは、処理画素位置ｉが（Ｎ＋１）／２に等しいか否かを判定する。等しいと判定した場合は、本処理を終了する。一方、等しくないと判定した場合はステップＳ３１２に進み、ＣＰＵは、処理画素位置ｉを１つ増やす。次に、ステップＳ３０８に戻り、ステップＳ３０８からステップＳ３１０の処理を繰り返す。
【０１０６】
図１３は、画像右端用の係数を係数算出方式２で算出する算出処理を示すフローチャートである。
【０１０７】
まず、ステップＳ４０２では、ＣＰＵは、処理画素位置ｉ＝Ｎにして初期化を行う。次に、ステップＳ４０３では、ＣＰＵは、入力画素ＩＤＡＴｉが無効画素か否かを判断する。無効画素でないと判定した場合は、本処理を終了する。一方、無効画素であると判定した場合はステップＳ４０４に進み、ＣＰＵは、左隣の画素用の係数Ｋ（ｉ−１）に無効画素用の係数Ｋｉ−Ｋ０を加算して、新たな係数Ｋ（ｉ−１）とする。ここで係数値Ｋ０は無効画素用の係数値とする。
【０１０８】
次に、ステップＳ４０５では、ＣＰＵは、無効画素用の係数ＫｉをＫ０にする。次に、ステップＳ４０６では、ＣＰＵは、処理画素位置ｉを１つ減らす。
【０１０９】
次に、ステップＳ４０７では、ＣＰＵは、処理画素位置ｉが（Ｎ＋１）／２に等しいか否かを判定する。ここでＮはタップ（ＴＡＰ）数を示し、係数はＫ１〜ＫＮとする。また、（Ｎ＋１）／２は、ＴＡＰ処理の中央画素である注目画素の画素位置のことである。
【０１１０】
ステップＳ４０７の判定の結果、等しくないと判定した場合はステップＳ４０３に戻り、ステップＳ４０３からステップＳ４０７の処理を繰り返す。一方、ステップＳ４０７で等しいと判定した場合はステップＳ４０８に進む。
【０１１１】
ステップＳ４０８では、ＣＰＵは、係数Ｋｉと右隣の画素用の係数Ｋ（ｉ＋１）を比較し、Ｋｉの方が大きいと判定した場合は、本処理を終了する。一方、係数Ｋｉの方が小さいか等しい（係数以下）と判定した場合はステップＳ４０９に進み、ＣＰＵは、ＫｉとＫ（ｉ＋１）の係数の値を入れ替える。
【０１１２】
次に、ステップＳ４１０では、ＣＰＵは、処理画素位置ｉが（Ｎ＋１）／２に等しいか否かを判定する。等しいと判定した場合は、本処理を終了する。一方、等しくないと判定した場合はステップＳ４１２に進み、ＣＰＵは、処理画素位置ｉを１つ減らす。次に、ステップＳ４０８に戻り、ステップＳ４０８からステップＳ４１０の処理を繰り返す。
【０１１３】
図１１（ｂ）は、係数算出方式２を用いて実際に算出した係数の一例を示す図である。
【０１１４】
図１１（ｂ）では、１１ＴＡＰの係数Ｋ１〜Ｋ１１の場合について示している。表の左側は、各タップに入力される画素が無効画素（×）か有効画素（○）かを示しており、Ｋ６の入力画素が注目画素（◎）で有効画素を前提としている。表の右側は、表の左側に対応する係数Ｋ１〜Ｋ１１の値を示しており、実際の係数はここで示される値を係数の合計値６６で割った値である。
【０１１５】
１７１２は画像左端の画素が注目画素の場合であり、１７１３は画像左端から２画素目が注目画素の場合である。１７１４は画像左端から３画素目、１７１５は４画素目、１７１６は５画素目の場合である。
【０１１６】
１７２２は画像右端の画素が注目画素の場合、１７２１は画像右端から２画素目、１７２０は３画素目、１７１９は４画素目、１７１８は５画素目の場合である。
【０１１７】
１７１７は画像左端６画素目から内側でかつ画像右端６画素目から内側の場合である。
【０１１８】
次に、画像左端に無効画素がある場合の係数算出方式２による係数について説明する。
【０１１９】
１７１６は１７１７と比較するとＫ１が無効画素であり、Ｋ１の値を“０”とし、１７１７のＫ１の値“１”をＫ２の値“２”に加算し、１７１６のＫ２の値を“３”とする。Ｋ３の値は“４”であり、Ｋ２の値“３”より大きいので算出を終了する。
【０１２０】
１７１５は１７１６と比較するとＫ２が無効画素であり、Ｋ２の値を“０”とし、１７１６のＫ２の値“３”をＫ３の値“４”に加算し、１７１５のＫ３の値を“７”とする。Ｋ４は“６”でＫ３の“７”より小さいので、Ｋ３とＫ４の値を入れ替えてＫ３を“６”、Ｋ４を“７”とする。Ｋ５は“１０”でＫ４の“７”より大きいので、算出を終了する。
【０１２１】
以下同様にして、係数が算出できる。
【０１２２】
以上のように、係数テーブル１＿１０６〜係数テーブルＭ１０８、係数用領域ＫＷＩＮ、及び出力画像領域ＯＵＴＷＩＮによって、画像端周辺においても画像処理における有効画素領域を考慮した適切な画質設計が行える。
【０１２３】
また、係数組選択制御部１０５によって、各種条件ごとに適用する係数テーブルを切り替えることで、画像端周辺においても各種条件ごとに適切な画質設計が行える。
【０１２４】
なお、本実施形態では、ＦＩＲフィルタを採用した場合について説明したが、周辺画素を参照しつつ処理を行う他の画像処理の場合についても同様に適用することができる。
【０１２５】
また、本実施形態では、３種類の係数テーブルを例に説明したが、４種類以上であっても同様に本発明を実現することができる。
【０１２６】
さらに、本実施形態では、水平方向の画像処理を例に説明したが、垂直方向の画像処理についても同様に実現できる。
【０１２７】
また、本実施形態では、２つの係数算出方式について説明したが、これに限るものではない。係数テーブルも算出方式に依存するものでなく、画質設計におけるタップ数、係数値に応じて自由に定義することができる。
【０１２８】
［第２の実施形態］
第２の実施形態では、画像処理における参照画素範囲、例えばＦＩＲフィルタにおけるタップ数を画像端の周辺領域で制御する例について説明する。
【０１２９】
図１４は、本発明の第２の実施形態に係る画像処理装置の構成例を示すブロック図である。なお、第２の実施形態では、第１の実施形態と同様に、図２の画像処理部４２４が、図１４に示す画像処理装置で構成されるものとする。
【０１３０】
図１４において、１１０１は周辺画素ＣＯＰＹ部である。周辺画素ＣＯＰＹ部１１０１は、ＩＮＤＡＴの画像端より外側の無効画素領域を、画像端の有効画素でコピー置換して擬似的に有効画像領域を外側方向に広げる画像処理を行う（第一の画像処理）。ＩＮＤＡＴは、周辺画素ＣＯＰＹ部１１０１で周辺画素コピー処理され、ＣＰＤＡＴとして出力される。
【０１３１】
１１１３〜１１１５、及び１１０２，１１０３，１１０４は画像処理部（例えば、フィルタ）である（第二の画像処理）。本実施形態では、１ＴＡＰ（フィルタ処理なし）、３ＴＡＰ、５ＴＡＰ、７ＴＡＰで構成される場合について説明する。Ｎ＿ＴＡＰとは、フィルタ処理における参照画素範囲がＮ画素であることを示す。
【０１３２】
１１１３，１１１４，１１１５はＤフリップフロップ（Ｄ−ＦＦ）であり、１ＴＡＰＯＵＴはＣＰＤＡＴの３クロック遅延となる。
【０１３３】
１１０５は第一のセレクタ（ＭＵＸ）である。第一のセレクタ１１０５は、入力されるフィルタ選択値ＦＳＥＬに従って、出力１ＴＡＰＯＵＴ、３ＴＡＰフィルタ１１０２の出力３ＴＡＰＯＵＴ、５ＴＡＰフィルタ１１０３の出力５ＴＡＰＯＵＴ、７ＴＡＰフィルタ１１０４の出力７ＴＡＰＯＵＴから選択する。そして、出力画像データ（ＯＵＴＤＡＴ）として出力する。
【０１３４】
１１０６は画像領域制御部であり、ウィンドウ制御信号ＣＯＰＹＬＷＩＮ、ＣＯＰＹＲＷＩＮ、ＯＵＴＷＩＮ、ＦＷＩＮを出力する。ＣＯＰＹＬＷＩＮは画像左端の画素コピー領域の制御信号である。ＣＯＰＹＲＷＩＮは画像右端の画素コピー領域の制御信号である。ＯＵＴＷＩＮは画像出力領域を表す制御信号である。ＦＷＩＮは画像処理部の各フィルタの切り替えを行う画像領域を指定する制御信号である。ＯＵＴＷＩＮは、出力画像領域を制御するための制御信号であり、各画像処理部１１０２，１１０３，１１０４に入力される。
【０１３５】
１１０７はフィルタ番号生成部であり、画像領域制御部１１０６からＦＷＩＮが入力され、画像領域に従ったフィルタ番号ＦＮＯを生成する。フィルタ選択テーブル１＿１１１０〜フィルタ選択テーブルＭ１１１２は、フィルタ処理なしも含めた各フィルタからフィルタ番号ＦＮＯに従ってフィルタを選択するフィルタ選択値のテーブルである。図示例では、Ｍ種類のフィルタ選択テーブルがある場合を示す。
【０１３６】
１１０８は第二のセレクタ（ＭＵＸ）である。第二のセレクタ１１０８は、入力されるフィルタ組選択値ＦＳＥＬＳＥＬに従って、フィルタ選択テーブル１＿１１１０〜Ｍ１１１２から選択したフィルタ選択値ＦＳＥＬを第一のセレクタ１１０５に出力する。
【０１３７】
１１０９はフィルタ組選択制御部である。フィルタ組選択制御部１１０９は、フィルタ組選択値ＦＳＥＬＳＥＬを生成して出力する。
【０１３８】
図１５は、図１４におけるフィルタ選択テーブル１＿１１１０〜Ｍ１１１２の内容例を示す図である。図示例では、３種類のフィルタ選択テーブルの内容を示している。
【０１３９】
図１５において、ＦＮＯは、フィルタ番号生成部１１０７から出力されるフィルタ番号である。
【０１４０】
フィルタ番号ＦＮＯに対するフィルタ選択値ＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３が、フィルタ選択テーブル１＿１１１０、フィルタ選択テーブル２＿１１１１、フィルタ選択テーブル３の内容である。例えば、フィルタ選択テーブル２＿１１１１では、ＦＮＯが０，１では１ｔａｐ、２では３ｔａｐ、ＦＮＯが３，４，５では５ｔａｐ、６では３ｔａｐ、７では１ｔａｐである。
【０１４１】
１ｔａｐ、３ｔａｐ、５ｔａｐ、７ｔａｐは、第一のセレクタ１１０５が、１ＴＡＰＯＵＴ、３ＴＡＰＯＵＴ、５ＴＡＰＯＵＴ、７ＴＡＰＯＵＴを選択するためのフィルタ選択値ＦＳＥＬである。例えば、
図１６Ａ〜図１６Ｄは、図１４の画像処理装置における入出力信号のタイミングチャートである。
【０１４２】
ＣＬＫ１３０１は同期クロックである。ＣＬＫ１３０１のクロック信号の１サイクルごとに１画素ずつ画像処理が行われる。なお、図示例では、クロック信号の１サイクルごとに‘１’から順に番号を付し、クロック１〜クロックｎとして説明する。
【０１４３】
ＩＮＤＡＴ１３０２は入力画像データの信号である。ＣＰＤＡＴ１３０３は周辺画素コピー後の画像データである。１ＴＡＰＯＵＴ１３０４はＣＰＤＡＴ１３０３の３クロック遅延の画像データである。３ＴＡＰＯＵＴ１３０５は３ＴＡＰフィルタの出力画像データである。５ＴＡＰＯＵＴ１３０６は５ＴＡＰフィルタの出力画像データである。７ＴＡＰＯＵＴ１３０７は７ＴＡＰフィルタの出力画像データである。ＯＵＴＤＡＴ１３０８は第一のセレクタ１１０５で選択された出力画像データである。
【０１４４】
ＣＯＰＹＬＷＩＮ１３０９は、画像左端の画素コピー領域の制御信号である。ＣＯＰＹＲＷＩＮ１３１０は画像右端の画素コピー領域の制御信号である。ＯＵＴＷＩＮ１３１１は出力画像領域の制御信号である。ＦＷＩＮ１３１２はフィルタ選択用領域制御信号である。ＦＮＯ１３１３はフィルタ番号である。ＦＳＥＬ１＿１３１４は、フィルタ選択テーブル１の出力フィルタ選択値である。ＦＳＥＬ２＿１３１５は、フィルタ選択テーブル２の出力フィルタ選択値である。ＦＳＥＬ３＿１３１６は、フィルタ選択テーブル３の出力フィルタ選択値である。
【０１４５】
ＦＳＥＬＳＥＬ１３１７は、フィルタ選択テーブル１の出力フィルタ選択値ＦＳＥＬ１＿１３１４を選択する場合のフィルタ組選択値である。ＦＳＥＬ１３１８は、ＦＳＥＬ１＿１３１４が選択された場合のフィルタ選択値を示す。ＯＵＴＤＡＴ１３１９は、フィルタ選択値がＦＳＥＬ１３１８の場合に第一のセレクタ１１０５で選択出力された出力画像データを示す。
【０１４６】
ＦＳＥＬＳＥＬ１３２０は、フィルタ選択テーブル２の出力フィルタ選択値ＦＳＥＬ２＿１３１５を選択する場合のフィルタ組選択値である。ＦＳＥＬ１３２１は、ＦＳＥＬ２＿１３１５が選択された場合のフィルタ選択値を示す。ＯＵＴＤＡＴ１３２２は、フィルタ選択値がＦＳＥＬ１３２１の場合に第一のセレクタ１１０５で選択出力された出力画像データを示す。
【０１４７】
ＦＳＥＬＳＥＬ１３２３は、フィルタ選択テーブル３の出力フィルタ選択値ＦＳＥＬ３＿１３１６を選択する場合のフィルタ組選択値である。ＦＳＥＬ１３２４は、ＦＳＥＬ３＿１３１６が選択された場合のフィルタ選択値を示す。ＯＵＴＤＡＴ１３２５は、フィルタ選択値がＦＳＥＬ１３２４の場合に第一のセレクタ１１０５で選択出力された出力画像データを示す。
【０１４８】
ＩＮＤＡＴ１３０２は、クロック１〜２では不定値‘Ｘ’である。クロック３からクロック１８まで順次、有効画素値が入力される。入力画像の有効画素の左端は、クロック３であり、画素値はＤ１である。左端から入力画像の画素値はＤ１，Ｄ２，Ｄ３の順で入力され、クロック１５からＤｎ−３，Ｄｎ−２，Ｄｎ−１，Ｄｎと入力される。入力画像データの有効画素の右端はクロック１８であり、画素値はＤｎである。クロック１９以降はＩＮＤＡＴ１３０２は不定値‘Ｘ’である。
【０１４９】
ＣＰＤＡＴ１３０３は、ＩＮＤＡＴ１３０２のクロック３の画像左端の画素値Ｄ１がコピーされ、クロック４，５では画素値がＤ１となる。画像左端のコピー領域は、ＣＯＰＹＬＷＩＮ１３０９が‘Ｈ’のときに行われる。
【０１５０】
ＣＰＤＡＴ１３０３は、ＩＮＤＡＴ１３０２のクロック１８の画像右端の画素値Ｄｎがコピーされ、クロック２２，２３では画素値がＤｎとなる。画像右端のコピー領域は、ＣＯＰＹＲＷＩＮ１３１０が‘Ｈ’のときに行われる。
【０１５１】
ＯＵＴＤＡＴ１３０８は、クロック９〜クロック２４の間で出力される。出力画像データの左端はクロック９で出力値がＯ１であり、出力画像データの右端がクロック２４で出力値はＯｎである。
【０１５２】
出力画像領域はＯＵＴＷＩＮ１３１１によって制御される。ＯＵＴＷＩＮ１３１１が‘Ｈ’の期間、ＯＵＴＤＡＴ１３０８は有効である。また、ＯＵＴＷＩＮ１３０８によって、画像処理及びＩＮＤＡＴ１３０２の有効画素領域を考慮した適切な出力画像領域が制御できる。
【０１５３】
フィルタ番号ＦＮＯ１３１３は、フィルタ番号生成部１１０７によって、フィルタ選択用領域制御信号ＦＷＩＮ１３１２を基に制御される。本実施形態では、ＦＷＩＮ１３１２が‘Ｈ’の次のクロックでＦＮＯ１３１３がインクリメントされる。ＦＮＯ１３１３の初期値は‘０’であり、画像左端では、クロック９から１クロックごとに１，２，３，４とインクリメントされる。クロック２１まではＦＮＯ１３１３は‘４’で、画像右端では、クロック２２から１クロックごとに５，６，７，０となる。フィルタ番号生成部１１０７には、予めフィルタ番号ＦＮＯの最大値‘７’が設定されており、これによって初期値０に戻る。
【０１５４】
フィルタ選択値ＦＳＥＬ１＿１３１４は、フィルタ番号ＦＮＯ１３１３によってフィルタ選択テーブル１＿１３１０から選択出力される。選択出力されるフィルタ選択値ＦＳＥＬ１＿１３１４は、図１５に示すフィルタ選択テーブルに従って決まる。クロック１〜８では、ＦＮＯ１３１３は０でＦＳＥＬ１＿１３１４は１ｔａｐ、クロック９ではＦＮＯ１３１３は１でＦＳＥＬ１＿１３１４は１ｔａｐとなる。また、クロック１０，１１，１２ではそれぞれＦＮＯ１３１３は２，３，４でＦＳＥＬ１＿１３１４はいずれも３ｔａｐとなる。
【０１５５】
ＦＮＯ１３１３は、クロック１３以降クロック２１まで４であり、フィルタ選択値ＦＳＥＬ１＿１３１４は３ｔａｐである。クロック２２，２３でＦＮＯ１３１３は５，６となり、ＦＳＥＬ１＿１３１４は３ｔａｐである。クロック２４でＦＮＯ１３１３は７となり、ＦＳＥＬ１＿１３１４は１ｔａｐである。クロック２５以降ＦＮＯ１３１３は０となり、ＦＳＥＬ１＿１３１４は１ｔａｐである。このように、画像端周辺において、フィルタで使用するフィルタ選択テーブルが選択される。
【０１５６】
同様に、フィルタ選択値ＦＳＥＬ２＿１３１５は、フィルタ番号ＦＮＯ１３１３によってフィルタ選択テーブル２＿１１１１から選択出力される。選択出力されるフィルタ選択値ＦＳＥＬ２は、図１５に示すフィルタ選択テーブルに従って決まる。フィルタ選択値ＦＳＥＬ２＿１３１５では、クロック１〜クロック９は１ｔａｐ、クロック１０は３ｔａｐ、クロック１１〜２２は５ｔａｐ、クロック２３は３ｔａｐ、クロック２４以降は１ｔａｐとなる。
【０１５７】
同様に、フィルタ選択値ＦＳＥＬ３＿１３１６は、フィルタ番号ＦＮＯ１３１３によってフィルタ選択テーブル３から選択出力される。選択出力されるフィルタ選択値ＦＳＥＬ３は、図１５に示すフィルタ選択テーブルに従って決まる。フィルタ選択値ＦＳＥＬ３＿１３１６では、クロック１〜クロック８は１ｔａｐ、クロック９〜１１は５ｔａｐ、クロック１２〜２１までは７ｔａｐ、クロック２２〜２４は５ｔａｐ、クロック２５以降は１ｔａｐとなる。
【０１５８】
ＦＳＥＬ１３１８は、フィルタ組選択値ＦＳＥＬＳＥＬ１３１７が１のときを示し、第二のセレクタ１１０８によってＦＳＥＬ１が選択されている場合を示す。このとき、ＯＵＴＤＡＴ１３０８はＯＵＴＤＡＴ１３１９のようになる。
【０１５９】
ＦＳＥＬ１３２１は、フィルタ組選択値ＦＳＥＬＳＥＬ１３２０が２のときを示し、第二のセレクタ１１０８によってＦＳＥＬ２が選択されている場合を示す。このとき、ＯＵＴＤＡＴ１３０８はＯＵＴＤＡＴ１３２２のようになる。
【０１６０】
ＦＳＥＬ１３２４は、フィルタ組選択値ＦＳＥＬＳＥＬ１３２３が３のときを示し、第二のセレクタ１１０８によってＦＳＥＬ３が選択されている場合を示す。このとき、ＯＵＴＤＡＴ１３０８はＯＵＴＤＡＴ１３２５のようになる。
【０１６１】
図１７は、図１４におけるフィルタ組選択制御部１１０９の内部構成を示す図である。
【０１６２】
図１７において、１４０２はノイズレベル検出部であり、ＩＮＤＡＴからノイズレベル（ＳＮ比）を検出して出力する。１４０３は画像特徴抽出部であり、ＩＮＤＡＴから画像特徴を抽出して出力する。画像特徴にはエッジ、ベタがあり、特にエッジの場合はエッジ方向などの情報がある。１４０４は周波数特性部であり、ＩＮＤＡＴの周波数特性を検出して周波数帯域を出力する。
【０１６３】
１４０５は垂直位置判別部であり、画像の垂直方向の画像領域制御信号ＶＷＩＮが入力される。垂直位置判別部１４０５は、この垂直方向の画像領域制御信号ＶＷＩＮを基に垂直方向の画像端である上端下端からの距離情報を出力する。
【０１６４】
なお、ここまでの一連の説明では、水平方向の画像処理の場合を想定している。垂直方向の画像処理の場合、１４０５は水平位置判別部となり、水平方向の画像領域制御信号が入力される。
【０１６５】
１４０６はフィルタ組選択決定部である。フィルタ組選択決定部１４０６では、画像データに付加されている撮影時の撮影条件、ノイズレベル、画像特徴、周波数帯域、上下端距離が入力され、これら情報を基にフィルタ組選択値ＦＳＥＬＳＥＬを出力する。
【０１６６】
図１８は、図１７におけるフィルタ組選択決定部１４０６において、入力される情報ごとにフィルタ選択値ＦＳＥＬを決めるための条件テーブルの一例を示す図である。図示のＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３は、図１５で定義されたフィルタ選択値のテーブル出力のことである。
【０１６７】
図１８（ａ）は、撮影条件に対して決まるフィルタ選択値ＦＳＥＬａを示す。図示例では、撮影条件の一例としてＩＳＯ感度を利用している。ＩＳＯ感度が低い方から順に、ＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３が適用される。なお、ＩＳＯ感度に限らず、他の撮影条件、例えばシャッタースピードで決まるＴＶ値などでも同様に条件テーブルで定義できる。
【０１６８】
図１８（ｂ）は、ノイズレベルとして、ＳＮ比に対して決まるフィルタ選択値ＦＳＥＬｂを示す。ＳＮ比は、ノイズレベルに対する信号レベルの大きさを示す値である。ノイズレベルが低い方から順に、ＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３が適用される。
【０１６９】
図１８（ｃ）は、画像特徴に対して決まるフィルタ選択値ＦＳＥＬｃを示す。垂直方向のエッジ画像の場合ＦＳＥＬ１、斜めエッジの場合ＦＳＥＬ２、水平エッジとベタの場合ＫＦＳＥＬ３が適用される。なお、本実施形態では、水平方向の画像処理の場合について説明したが、垂直方向の画像処理に適用する場合は、ＦＳＥＬ１が水平方向のエッジ画像に、ＦＳＥＬ３が垂直エッジ画像に適用されるものとする。
【０１７０】
図１８（ｄ）は、周波数特性に対して決まるフィルタ選択値ＦＳＥＬｄを示す。高周波数帯域画像の方から順に、ＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３が適用される。
【０１７１】
図１８（ｅ）は、入力画像の垂直位置に対して決まるフィルタ選択値ＦＳＥＬｅを示す。画像処理対象の注目画素が、上端若しくは下端からの距離が遠い方から順に、ＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３が適用される。なお、本実施形態では、水平方向の画像処理の場合について説明したが、垂直方向の画像処理に適用する場合は、画像処理対象の注目画素が左端若しくは右端からの距離が遠い方から順に、ＦＳＥＬ１、ＦＳＥＬ２、ＦＳＥＬ３が適用されるものとする。
【０１７２】
本実施形態では、上述した図１８（ａ）〜図１８（ｅ）に示す条件テーブルに基づいて決定されたフィルタ選択値ＦＳＥＬａ〜ＦＳＥＬｅから最終的に一つのフィルタ選択値ＦＳＥＬを求める。ＦＳＥＬの求め方の一例としては、次式２のように、ＦＳＥＬａ〜ＦＳＥＬｅの最大値を求める方法がある。
【０１７３】
ＦＳＥＬ＝ＭＡＸ（ＦＳＥＬａ，ＦＳＥｌｂ，ＦＳＥＬｃ，ＦＳＥＬｄ，ＦＳＥＬｅ）     式２
ただし、ＦＳＥＬ１＜ＦＳＥＬ２＜ＦＳＥＬ３とする。
【０１７４】
以上のように、フィルタ選択テーブル１＿１１１０〜フィルタ選択テーブルＭ１１１２、フィルタ選択用領域ＦＷＩＮ、及び出力画像領域ＯＵＴＷＩＮによって、画像端周辺においても画像処理における有効画素領域を考慮した適切な画質設計が行える。
【０１７５】
また、フィルタ組選択制御部１１０９によって、各種条件ごとに適用するフィルタ選択テーブルを切り替えることで、画像端周辺においても各種条件ごとに適切な画質設計が行える。
【０１７６】
なお、本実施形態では、画像処理としてＮタップ（ＴＡＰ）フィルタを採用した場合について説明したが、周辺画素を参照しつつ処理を行う他の画像処理の場合についても同様に適用することができる。
【０１７７】
また、本実施形態では、３種類のフィルタ選択テーブルを例に説明したが、４種類以上であっても同様に本発明を実現することができる。
【０１７８】
さらに、本実施形態では、水平方向の画像処理を例に説明したが、垂直方向の画像処理についても同様に本発明を実現できる。
【０１７９】
また、本実施形態では、周辺画素ＣＯＰＹ部１１０１を利用した場合について説明したが、これに限るものでない。例えば、画像処理部であるフィルタ１１０２〜１１０４で画像端の有効画素を考慮した処理を行うか、画像端用の画像処理行う専用フィルタなどを設けることにより、周辺画素ＣＯＰＹ部１１０１を利用することなく、画像端周辺での適切な画像処理を実現できる。
【０１８０】
さらに、各画像処理の係数の算出については、第１の実施形態で説明した２つの係数算出方式をそのまま適用できる。
【０１８１】
また、本実施形態では、２つの係数算出方式について説明したが、これに限るものではない。各画像処理も算出方式に依存するものでなく、画質設計におけるタップ数、係数値に応じて自由に定義することができる。
【０１８２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１８３】
１０１  画像処理部
１０２  画像領域制御部
１０３  係数選択値生成部
１０４  セレクタ
１０５  係数組選択制御部
１０６  係数テーブル１
１０７  係数テーブル２
１０８  係数テーブルＭ
【図１】
0005665508.tif 000002
【図２】
0005665508.tif 000003
【図３】
0005665508.tif 000004
【図４】
0005665508.tif 000005
【図５】
0005665508.tif 000006
【図６Ａ】
0005665508.tif 000007
【図６Ｂ】
0005665508.tif 000008
【図７】
0005665508.tif 000009
【図８】
0005665508.tif 000010
【図９】
0005665508.tif 000011
【図１０】
0005665508.tif 000012
【図１１】
0005665508.tif 000013
【図１２】
0005665508.tif 000014
【図１３】
0005665508.tif 000015
【図１４】
0005665508.tif 000016
【図１５】
0005665508.tif 000017
【図１６Ａ】
0005665508.tif 000018
【図１６Ｂ】
0005665508.tif 000019
【図１６Ｃ】
0005665508.tif 000020
【図１６Ｄ】
0005665508.tif 000021
【図１７】
0005665508.tif 000022
【図１８】
0005665508.tif 000023
【図１９】
0005665508.tif 000024
【図２０】
0005665508.tif 000025
【図２１】
0005665508.tif 000026