(57)【特許請求の範囲】
【請求項１】
少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、１つのパイプライン内に構成された画像処理パイプラインと、
前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、
前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す、予め設定された歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、前記画像処理部の特性に応じて決定された、予め設定された画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、
を備え、
前記シーケンサからの１回の算出動作開始の制御に応じて、前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行う、
ことを特徴とする画像処理装置。
【請求項２】
前記歪補正範囲算出部は、
前記歪曲収差補正入力範囲の算出または前記倍率色収差補正入力範囲の算出が終わる毎に、前記歪曲収差補正入力範囲の算出が終了したことを表す割込信号と、前記倍率色収差補正入力範囲の算出が終了したことを表す割込信号とを、前記シーケンサに順次出力する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記歪補正範囲算出部は、
画像データの出力範囲と該出力範囲内に含まれるそれぞれの画素の位置を表す座標を変換する座標変換係数とに基づいて、画像データの入力範囲を算出する座標変換部と、
前記座標変換部によって算出された前記画像データの入力範囲を、前記歪曲収差補正入力範囲として保持する歪曲収差補正入力範囲保持部と、
前記歪曲収差補正座標変換係数または前記倍率色収差補正座標変換係数のいずれか一方を選択する座標変換係数選択部と、
前記歪曲収差補正入力範囲保持部に保持されている前記歪曲収差補正入力範囲を、前記画像処理糊代に基づいて拡張することによって、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲を表す倍率色収差補正出力範囲を算出する範囲拡張部と、
前記歪曲収差補正出力範囲または前記範囲拡張部によって算出された前記倍率色収差補正出力範囲のいずれか一方を選択する出力範囲選択部と、
を備え、
前記歪曲収差補正入力範囲を算出するとき、
前記座標変換係数選択部は、
前記歪曲収差補正座標変換係数を選択し、該選択した前記歪曲収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、
前記出力範囲選択部は、
前記歪曲収差補正出力範囲を選択し、該選択した前記歪曲収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、
前記座標変換部は、
入力された前記歪曲収差補正出力範囲と前記歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正入力範囲を算出し、該算出した前記歪曲収差補正入力範囲を前記歪曲収差補正入力範囲保持部に出力し、
前記倍率色収差補正入力範囲を算出するとき、
前記座標変換係数選択部は、
前記倍率色収差補正座標変換係数を選択し、該選択した前記倍率色収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、
前記出力範囲選択部は、
前記倍率色収差補正出力範囲を選択し、該選択した前記倍率色収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、
前記座標変換部は、
入力された前記倍率色収差補正出力範囲と前記倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正入力範囲を算出する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像処理糊代は、
前記画像処理パイプライン内において、前記倍率色収差補正処理部と前記歪曲収差補正処理部との間に位置する前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分である、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分は、該画像処理部による画像処理によって失われる画像データの数である、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像データの数は、
前記画像処理部に備えたフィルタの特性に応じて算出する、
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、１つのパイプライン内に構成された画像処理パイプラインと、前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、予め設定された歪曲収差補正出力範囲と歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、予め設定された画像処理糊代と、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備えた画像処理装置の前記シーケンサに、
前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す前記歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記歪曲収差補正座標変換係数と、前記画像処理部の特性に応じて決定した前記画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記倍率色収差補正座標変換係数とを、前記歪補正範囲算出部に予め設定するステップと、
前記シーケンサから１回の算出動作開始の制御を出力し、前記歪補正範囲算出部に前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行わせるステップと、
を含む、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置に備えた画像処理装置では、１枚の静止画像を生成する際に、複数の画像処理が行われる。また、それぞれの画像処理を行う際の処理方法として、１フレームの画像を矩形のブロックに分割し、分割したブロック単位でそれぞれの画像処理を行う方法が提案されている（特許文献１参照）。
【０００３】
ところで、カメラに搭載したイメージャなどの固体撮像装置から出力された画像データには、倍率色収差や歪曲収差などのカメラの光学系による歪みが含まれていることが、一般的に知られている。このため、倍率色収差や歪曲収差などの光学系の歪みを補正する画像処理を備えた画像処理装置が提案されている（特許文献２参照）。特許文献２で開示された従来の画像処理装置では、倍率色収差の補正と歪曲収差の補正とをまとめて歪補正とし、同一の歪補正処理部で一括して画像処理を行っている。
【０００４】
図７は、特許文献２で開示された従来の画像処理装置の概略構成を示したブロック図である。図７に示した従来の画像処理装置では、１枚の静止画像を生成するために必要なそれぞれの画像処理を直結した、パイプラインが構成されている。より具体的には、「ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）→入力ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）部→ＹＣ（輝度色変換）処理部→ＮＲ（ノイズ除去）処理部→歪補正処理部→出力ＤＭＡ部→ＤＲＡＭ」という順番で、それぞれのブロックの画像処理を行うパイプラインを構成している。図７に示した従来の画像処理装置では、パイプライン処理の全体を制御するシーケンサによって、パイプラインを構成する各画像処理部の設定や動作が制御される。
【０００５】
それぞれの画像処理を、図７に示したようなパイプラインで構成することによって、１枚の静止画像を生成するための画像処理に伴う、ＤＲＡＭのバス帯域の圧迫を抑えることができる。これにより、１枚の静止画像を生成するための画像処理を短時間で行う、すなわち、処理を高速化することができる。
【０００６】
一方、歪補正処理をブロック単位で行う場合、出力する画像の範囲（ブロック）よりも大きな範囲の画像データを、歪補正処理部に入力する必要がある。しかも、歪補正処理部に入力する画像データの範囲は、処理して出力する画像のブロック毎に、その入力範囲が異なる。これは、１フレームの画像を分割したブロックの位置によって、カメラの光学系による歪みの現れ方が異なるためである。そこで、特許文献２で開示された従来の画像処理装置では、出力する画像のブロックを歪補正処理する際に必要な画像データの入力範囲を、予め算出する歪補正範囲算出部を備えている。すなわち、特許文献２で開示された従来の画像処理装置は、多くの処理時間を要する画像データの入力範囲の算出処理を、専用の構成要素によって行う構成となっている。
【０００７】
シーケンサは、パイプライン処理を開始する前に、歪補正処理を行う際に必要な画像データの入力範囲を、出力するそれぞれのブロック毎に、歪補正範囲算出部に予め算出させる。歪補正範囲算出部は、歪補正処理を行って出力する画像データの出力範囲に対応した、歪補正処理前、すなわち、歪んでいる状態の画像データの入力領域を算出し、算出した入力領域に外接する（囲む）矩形の範囲を、歪補正処理を行って出力する画像データの出力範囲を得るために必要な画像データの入力範囲として算出する。
【０００８】
図８は、特許文献２で開示された従来の画像処理装置に備えた歪補正範囲算出部の概略構成を示したブロック図である。図８に示したように、従来の画像処理装置に備えた歪補正範囲算出部は、歪補正座標変換係数設定レジスタと、歪補正出力範囲設定レジスタと、歪補正範囲算出ブロックと、歪補正入力範囲結果レジスタと、を備えている。シーケンサは、歪補正範囲算出部に歪補正処理を行う際の画像データの入力範囲を算出させるとき、歪補正座標変換係数と歪補正出力範囲とを歪補正範囲算出部に設定して、歪補正範囲算出部による画像データの入力範囲の算出を開始させる。
【０００９】
歪補正範囲算出ブロックは、シーケンサによって設定された歪補正出力範囲を、処理するブロック（歪補正処理を行って出力する画像データの出力範囲）とする。そして、歪補正範囲算出ブロックは、シーケンサによって設定された歪補正座標変換係数に基づいて、歪補正出力範囲内の画像データに含まれるそれぞれの画素に対応した、歪補正処理を行う前の画像データ内の画素の位置（座標）を算出、すなわち、座標変換する。これにより、図７に示したような、歪んでいる状態の入力領域（座標変換後）が求められる。そして、歪補正範囲算出ブロックは、座標変換によって求めた入力領域に外接する（囲む）矩形の範囲を、歪補正処理を行って出力する画像データの出力範囲（歪補正出力範囲）を得るために必要な画像データの入力範囲とした歪補正入力範囲を算出し、算出した歪補正入力範囲を、歪補正入力範囲結果レジスタに格納する。そして、歪補正範囲算出ブロックは、画像データの入力範囲の算出が終了したことを表す終了割込を、シーケンサに出力する。
【００１０】
シーケンサは、歪補正範囲算出部から、画像データの入力範囲の算出が終了したことを表す終了割込が入力されると、パイプライン処理を開始する。パイプライン処理を開始するとき、シーケンサは、パイプラインを構成する各画像処理部にそれぞれ必要な設定を行い、その後、各画像処理部の動作を開始させる。このとき、歪補正処理部には、歪補正入力範囲結果レジスタに格納された歪補正入力範囲を、歪補正処理を行う際の画像データの入力範囲として設定する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第４１７９７０１号公報
【特許文献２】特開２００５−４４０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ところで、一般的に、倍率色収差補正は、ＹＣ処理によって三板化やＮＲ処理がされた状態の画像データ（図７においては、ＹＣｂＣｒデータ）に基づいて行うよりも、イメージャから出力された状態のＲＡＷデータ（図７においては、Ｂａｙｅｒデータ）に基づいて行う方が、より正確に倍率色収差を補正することができ、高画質の画像を生成することができることが知られている。これは、倍率色収差は、イメージャに備えた画素の色（Ｒ，Ｇ，Ｂ）毎に、光学系による被写体光のズレ量が異なるため、三板化されて各色（Ｒ，Ｇ，Ｂ）が混ざった状態の画像データでは、それぞれの色毎にズレ量を正確に補正することができないからである。
【００１３】
そこで、従来の画像処理装置と同様のパイプラインの構成を維持しながら、歪補正処理を、倍率色収差補正と歪曲収差補正とに分けて行うことが考えられる。すなわち、「ＤＲＡＭ→入力ＤＭＡ部→倍率色収差補正処理部→ＹＣ処理部→ＮＲ処理部→歪曲収差補正処理部→出力ＤＭＡ部→ＤＲＡＭ」という順番で、それぞれのブロックの画像処理を行うパイプラインを構成することが考えられる。このようにパイプラインを構成することによって、高画質の画像を生成することができるようになる。
【００１４】
しかしながら、１つのパイプライン内で倍率色収差補正と歪曲収差補正とを分けて構成した場合、図８に示したような従来の画像処理装置に備えた歪補正範囲算出部では、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を正確に行うことができない。これは、倍率色収差補正処理と歪曲収差補正処理との間に、ＹＣ処理とＮＲ処理とが行われることに起因する。より具体的には、従来の画像処理装置に備えた歪補正範囲算出部は、図８に示したように、歪補正座標変換係数設定レジスタと歪補正出力範囲設定レジスタとを１組しか備えておらず、歪補正入力範囲結果レジスタも１つしか備えていない。このため、従来の歪補正範囲算出部では、１回の画像データの入力範囲の算出動作の起動で、１種類の入力範囲の算出処理しか行うことができない。すなわち、１回の画像データの入力範囲の算出動作の起動で、倍率色収差補正用の画像データの入力範囲の算出または、歪曲収差補正用の画像データの入力範囲の算出のいずれか一方の入力範囲の算出処理しか行うことができない。仮に、倍率色収差補正と歪曲収差補正との両方に対応した画像データの入力範囲の算出を、１回の算出動作の起動で行ったとしても、倍率色収差補正処理と歪曲収差補正処理との間に行われるＹＣ処理とＮＲ処理とを考慮して、余裕を持った入力範囲、すなわち、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲よりも大きな範囲を、入力範囲として算出することになってしまう。
【００１５】
このため、従来の歪補正範囲算出部では、歪曲収差補正用の画像データの入力範囲の算出動作と、倍率色収差補正用の画像データの入力範囲の算出動作とを、２回に分けて行う必要がある。しかし、この場合には、パイプライン処理の処理時間にロスが発生してしまう、という問題がある。
【００１６】
図９は、従来の画像処理装置におけるパイプライン処理において歪補正処理を、倍率色収差補正処理と歪曲収差補正処理とに分けて行う場合のタイミングを示したタイミングチャートである。なお、図９に示したタイミングチャートは、ブロックＮのパイプライン処理を実行している間に、ブロックＮ＋１のパイプライン処理を行うための各画像処理部（倍率色収差補正処理部、ＹＣ処理部、ＮＲ処理部、および歪曲収差補正処理部）の設定を行う場合のタイミングを示している。
【００１７】
ブロックＮのパイプライン処理を開始すると、まず、シーケンサは、処理Ａにおいて、歪曲収差補正処理を行って出力するブロックの画像データの出力範囲を、歪補正出力範囲として設定し、さらに、歪曲収差補正処理に対応した歪補正座標変換係数を設定して、従来の歪補正範囲算出部に、歪曲収差補正用の画像データの入力範囲の算出動作を行わせる。これにより、従来の歪補正範囲算出部は、歪曲収差補正用の画像データの入力範囲の算出動作ａを実行する。そして、従来の歪補正範囲算出部は、歪曲収差補正用の画像データの入力範囲の算出動作ａが終了すると、画像データの入力範囲の算出が終了したことを表す終了割込を、シーケンサに出力する。
【００１８】
歪補正範囲算出部から、画像データの入力範囲の算出が終了したことを表す終了割込が入力されると、シーケンサは、処理Ｂにおいて、歪補正範囲算出部が算出した歪曲収差補正用の画像データの入力範囲（歪補正入力範囲）を、歪曲収差補正部に設定する。
【００１９】
続いて、シーケンサは、処理Ｃにおいて、歪補正範囲算出部が算出した歪補正入力範囲に基づいて、ＮＲ処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、ＮＲ処理部に必要な設定を行う。続いて、シーケンサは、処理Ｄにおいて、算出したＮＲ処理部に必要な画像データの入力範囲に基づいて、ＹＣ処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、ＹＣ処理部に必要な設定を行う。
【００２０】
続いて、シーケンサは、処理Ｅにおいて、算出したＹＣ処理部に必要な画像データの入力範囲を、倍率色収差補正処理を行って出力するブロックの画像データの出力範囲として、歪補正出力範囲に設定し、さらに、倍率色収差補正処理に対応した歪補正座標変換係数を設定して、従来の歪補正範囲算出部に、倍率色収差補正用の画像データの入力範囲の算出動作を行わせる。これにより、従来の歪補正範囲算出部は、倍率色収差補正用の画像データの入力範囲の算出動作ｅを実行する。そして、従来の歪補正範囲算出部は、倍率色収差補正用の画像データの入力範囲の算出動作ｅが終了すると、画像データの入力範囲の算出が終了したことを表す終了割込を、シーケンサに出力する。
【００２１】
歪補正範囲算出部から、画像データの入力範囲の算出が終了したことを表す終了割込が入力されると、シーケンサは、処理Ｆにおいて、歪補正範囲算出部が算出した倍率色収差補正用の画像データの入力範囲（歪補正入力範囲）を、倍率色収差補正部に設定する。これにより、次のブロックＮ＋１のパイプライン処理を開始することができるようになる。
【００２２】
このように、シーケンサは、次のブロックＮ＋１のパイプライン処理を行う際の画像データの入力範囲の算出と設定との動作を事前に行う。以降、同様に、シーケンサは、その次のブロックＮ＋２以降のパイプライン処理を行うための動作を行う。
【００２３】
しかし、図９を見てわかるように、歪補正範囲算出部が画像データの入力範囲の算出動作を行っている期間は、シーケンサが歪補正範囲算出部の算出結果を待っている状態となり、シーケンサは、何も動作を行っていない。このため、シーケンサによるＮＲ処理部に必要な設定やＹＣ処理部に必要な設定を行うタイミングが遅くなっている。
【００２４】
上記に述べたように、歪補正範囲算出部が、歪補正処理に必要な画像データの入力範囲を算出する処理は、多くの処理時間を要する処理である。このため、現在処理しているブロックのパイプライン処理を実行している期間中に、シーケンサによる次のブロックのパイプライン処理を行うための各画像処理部に必要な画像データの入力範囲の算出や、算出した画像データの入力範囲に基づいた各画像処理部に必要な設定が終わらない可能性がある。すなわち、図９に示したように、現在処理しているブロック（ブロックＮ）のパイプライン処理の期間より、次に処理するブロック（ブロックＮ＋１）の画像データの入力範囲を算出する期間の方が、長くなってしまう可能性がある。次に処理するブロックの画像データの入力範囲を算出する期間の方が、現在処理しているブロックのパイプライン処理の期間より長くなってしまう、すなわち、シーケンサによる処理が、現在処理しているブロックのパイプライン処理の実行期間中に終わらないと、図９に示したように、ブロックＮのパイプライン処理と、ブロックＮ＋１のパイプライン処理との間に、処理時間のロスが発生してしまう、という問題がある。なお、ロスする処理時間は、ブロックの分割を細かくするほど長くなることが考えられる。
【００２５】
そこで、倍率色収差補正の処理をパイプラインから切り離し、イメージャから出力された状態のＲＡＷデータ（Ｂａｙｅｒデータ）での倍率色収差補正処理を行ってから、歪曲収差補正を含むパイプライン処理を行う構成も考えられる。この場合には、まず、ＤＲＡＭに格納されているＢａｙｅｒデータを読み出し、倍率色収差補正を行った後に、倍率色収差補正後のＢａｙｅｒデータを再度、ＤＲＡＭに書き込む（格納する）。その後、ＤＲＡＭに格納されている倍率色収差補正後のＢａｙｅｒデータを読み出し、歪曲収差補正を含む画像処理（パイプライン処理）を行った後に、歪曲収差補正を含む画像処理後の画像データ（ＹＣｂＣｒデータ）を、ＤＲＡＭに書き込む（格納する）ことになる。このような構成にすることによって、上記に述べたような、歪補正範囲算出部による画像データの入力範囲の算出動作に関する問題、すなわち、次に処理するブロックの画像データの入力範囲の算出期間と、現在処理しているブロックのパイプライン処理の期間との関係によって発生する処理時間のロスに関する問題はなくなると考えられる。
【００２６】
しかし、この場合には、１枚の静止画像を生成するための画像処理を、２つのパイプライン処理で行うことになってしまう。より具体的には、「ＤＲＡＭ→入力ＤＭＡ部→倍率色収差補正処理部→出力ＤＭＡ部→ＤＲＡＭ」というパイプライン処理と、「ＤＲＡＭ→入力ＤＭＡ部→ＹＣ処理部→ＮＲ処理部→歪曲収差補正処理部→出力ＤＭＡ部→ＤＲＡＭ」というパイプライン処理との２つのパイプライン処理で、１枚の静止画像を生成することになる。このため、ＤＲＡＭに対する画像処理に関するアクセス回数が２倍となり、画像処理に伴うＤＲＡＭのバス帯域を圧迫してしまう、という問題がある。さらに、２つのパイプライン処理の間に処理時間のロスが発生してしまう可能性もある。
【００２７】
本発明は、上記の課題認識に基づいてなされたものであり、１つのパイプライン内に倍率色収差補正と歪曲収差補正とを分けて構成した場合においても、１回の起動で、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を正確に行うことができる歪補正範囲算出部を備えた画像処理装置および画像処理方法を提供することを目的としている。
【課題を解決するための手段】
【００２８】
上記の課題を解決するため、本発明の画像処理装置は、少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、１つのパイプライン内に構成された画像処理パイプラインと、前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す、予め設定された歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、前記画像処理部の特性に応じて決定された、予め設定された画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備え、前記シーケンサからの１回の算出動作開始の制御に応じて、前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行う、ことを特徴とする。
【００２９】
また、本発明の前記歪補正範囲算出部は、前記歪曲収差補正入力範囲の算出または前記倍率色収差補正入力範囲の算出が終わる毎に、前記歪曲収差補正入力範囲の算出が終了したことを表す割込信号と、前記倍率色収差補正入力範囲の算出が終了したことを表す割込信号とを、前記シーケンサに順次出力する、ことを特徴とする。
【００３０】
また、本発明の前記歪補正範囲算出部は、画像データの出力範囲と該出力範囲内に含まれるそれぞれの画素の位置を表す座標を変換する座標変換係数とに基づいて、画像データの入力範囲を算出する座標変換部と、前記座標変換部によって算出された前記画像データの入力範囲を、前記歪曲収差補正入力範囲として保持する歪曲収差補正入力範囲保持部と、前記歪曲収差補正座標変換係数または前記倍率色収差補正座標変換係数のいずれか一方を選択する座標変換係数選択部と、前記歪曲収差補正入力範囲保持部に保持されている前記歪曲収差補正入力範囲を、前記画像処理糊代に基づいて拡張することによって、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲を表す倍率色収差補正出力範囲を算出する範囲拡張部と、前記歪曲収差補正出力範囲または前記範囲拡張部によって算出された前記倍率色収差補正出力範囲のいずれか一方を選択する出力範囲選択部と、を備え、前記歪曲収差補正入力範囲を算出するとき、前記座標変換係数選択部は、前記歪曲収差補正座標変換係数を選択し、該選択した前記歪曲収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、前記出力範囲選択部は、前記歪曲収差補正出力範囲を選択し、該選択した前記歪曲収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、前記座標変換部は、入力された前記歪曲収差補正出力範囲と前記歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正入力範囲を算出し、該算出した前記歪曲収差補正入力範囲を前記歪曲収差補正入力範囲保持部に出力し、前記倍率色収差補正入力範囲を算出するとき、前記座標変換係数選択部は、前記倍率色収差補正座標変換係数を選択し、該選択した前記倍率色収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、前記出力範囲選択部は、前記倍率色収差補正出力範囲を選択し、該選択した前記倍率色収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、前記座標変換部は、入力された前記倍率色収差補正出力範囲と前記倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正入力範囲を算出する、ことを特徴とする。
【００３１】
また、本発明の画像処理装置における前記画像処理糊代は、前記画像処理パイプライン内において、前記倍率色収差補正処理部と前記歪曲収差補正処理部との間に位置する前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分である、ことを特徴とする。
【００３２】
また、本発明の画像処理装置における前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分は、該画像処理部による画像処理によって失われる画像データの数である、ことを特徴とする。
【００３３】
また、本発明の画像処理装置における前記画像データの数は、前記画像処理部に備えたフィルタの特性に応じて算出する、ことを特徴とする。
【００３４】
また、本発明の画像処理方法は、少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、１つのパイプライン内に構成された画像処理パイプラインと、前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、予め設定された歪曲収差補正出力範囲と歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、予め設定された画像処理糊代と、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備えた画像処理装置の前記シーケンサに、前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す前記歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記歪曲収差補正座標変換係数と、前記画像処理部の特性に応じて決定した前記画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記倍率色収差補正座標変換係数とを、前記歪補正範囲算出部に予め設定するステップと、前記シーケンサから１回の算出動作開始の制御を出力し、前記歪補正範囲算出部に前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行わせるステップと、を含む、ことを特徴とする。
【発明の効果】
【００３５】
本発明によれば、１つのパイプライン内に倍率色収差補正と歪曲収差補正とを分けて構成した場合においても、１回の起動で、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を正確に行うことができるという効果が得られる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態における画像処理装置の概略構成を示したブロック図である。
【図２】本実施形態の画像処理装置に備えた歪補正範囲算出部の基本構成を示したブロック図である。
【図３】本実施形態の画像処理装置に備えた歪補正範囲算出部の概略構成を示したブロック図である。
【図４】本実施形態の画像処理装置に備えた歪補正範囲算出部による入力範囲の算出処理の手順を示したフローチャートである。
【図５】本実施形態の画像処理装置に備えた歪補正範囲算出部による入力範囲の算出処理の動作の一例を模式的に示した図である。
【図６】本実施形態の画像処理装置におけるパイプライン処理のタイミングを示したタイミングチャートである。
【図７】従来の画像処理装置の概略構成を示したブロック図である。
【図８】従来の画像処理装置に備えた歪補正範囲算出部の概略構成を示したブロック図である。
【図９】従来の画像処理装置におけるパイプライン処理において歪補正処理を分けて行う場合のタイミングを示したタイミングチャートである。
【発明を実施するための形態】
【００３７】
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態における画像処理装置の概略構成を示したブロック図である。図１に示した本実施形態の画像処理装置１は、ＤＲＡＭ１０と、シーケンサ２０と、歪補正範囲算出部３０と、入力ＤＭＡ部４０と、倍率色収差補正処理部５０と、ＹＣ処理部６０と、ＮＲ処理部７０と、歪曲収差補正処理部８０と、出力ＤＭＡ部９０と、バス１００と、を備えている。本実施形態の画像処理装置１は、例えば、静止画用カメラなどの撮像装置に備えられる。
【００３８】
本実施形態の画像処理装置１における画像処理は、図１に示したように、入力ＤＭＡ部４０、倍率色収差補正処理部５０、ＹＣ処理部６０、ＮＲ処理部７０、歪曲収差補正処理部８０、および出力ＤＭＡ部９０が直列に接続されたパイプライン処理によって、それぞれの構成要素における画像処理を順次行う。図１をみてわかるように、画像処理装置１によるパイプライン処理では、１つのパイプライン、いわゆる、１パスのパイプライン内で倍率色収差補正と歪曲収差補正との歪補正を分けて行う。
【００３９】
ＤＲＡＭ１０は、バス１００に接続され、撮像装置において処理される様々なデータを記憶する。例えば、撮像装置に備えた図示しないイメージャから出力された静止画像の画像データ（以下、「Ｂａｙｅｒデータ」ともいう）を記憶する。本実施形態の画像処理装置１においては、ＤＲＡＭ１０に記憶された１フレームのＢａｙｅｒデータを、複数の矩形のブロックに分割し、分割したブロック単位でそれぞれの構成要素による画像処理を行う。
【００４０】
シーケンサ２０は、本実施形態の画像処理装置１のパイプライン処理を行う際、パイプラインを構成する各構成要素の処理シーケンスを制御する。シーケンサ２０は、パイプライン処理を行うブロックに応じた設定および処理の開始を制御する制御信号を、各構成要素に出力する。シーケンサ２０は、画像処理装置１のパイプライン処理を開始する前に、それぞれの構成要素が画像処理を行って出力するブロックの画像データ（以下、「ブロック画像データ」という）の出力範囲に応じた、画像処理前のブロック画像データの入力範囲を算出する。なお、シーケンサ２０は、倍率色収差補正処理部５０および歪曲収差補正処理部８０に設定する画像処理（歪補正）前のブロック画像データの入力範囲は、歪補正範囲算出部３０に算出させる。シーケンサ２０は、シーケンサ２０自体が算出した、または歪補正範囲算出部３０に算出させた処理を行うブロックのブロック画像データの入力範囲を、各構成要素に設定した後、それぞれの構成要素に処理を開始させる。
【００４１】
歪補正範囲算出部３０は、シーケンサ２０による設定および制御信号に応じて、歪補正処理を行った後に出力するブロック画像データの出力範囲に対応した、歪補正処理前のブロック画像データの入力範囲を算出する。歪補正範囲算出部３０は、歪曲収差補正処理部８０による歪曲収差の補正処理前のブロック画像データの入力範囲と、倍率色収差補正処理部５０による倍率色収差の補正処理前のブロック画像データの入力範囲とを、それぞれ算出する。歪補正範囲算出部３０は、シーケンサ２０による１回の処理開始の制御（１回の開始トリガの入力）で、歪曲収差補正処理部８０による歪曲収差の補正処理前のブロック画像データの入力範囲の算出と、倍率色収差補正処理部５０による倍率色収差の補正処理前のブロック画像データの入力範囲の算出とを、連続して行う。また、歪補正範囲算出部３０は、歪曲収差補正処理部８０と倍率色収差補正処理部５０とのそれぞれのブロック画像データの入力範囲の算出が終了する毎に、ブロック画像データの入力範囲の算出が終了したことを表す終了割込（終了割込１および終了割込２）を、順次シーケンサ２０に出力する。なお、歪補正範囲算出部３０の構成および動作に関しては、後述する。
【００４２】
入力ＤＭＡ部４０は、ＤＲＡＭ１０に記憶しているブロック画像データ（以下、「ブロックＢａｙｅｒデータ」ともいう）を読み出して、パイプラインの次の構成要素である倍率色収差補正処理部５０に出力するためのパイプラインの構成要素である。入力ＤＭＡ部４０は、シーケンサ２０から入力された制御信号に応じて、バス１００を介してＤＲＡＭ１０からブロックＢａｙｅｒデータを読み出し、読み出したブロックＢａｙｅｒデータを、倍率色収差補正処理部５０に出力する。
【００４３】
倍率色収差補正処理部５０は、入力されたブロック画像データ（ブロックＢａｙｅｒデータ）の倍率色収差を補正するためのパイプラインの構成要素である。倍率色収差補正処理部５０は、シーケンサ２０から入力された制御信号に応じて、ブロックＢａｙｅｒデータの倍率色収差を補正したブロックＢａｙｅｒデータを生成し、生成した倍率色収差を補正した後のブロックＢａｙｅｒデータを、ＹＣ処理部６０に出力する。
【００４４】
ＹＣ処理部６０は、入力された倍率色収差を補正した後のブロック画像データ（ブロックＢａｙｅｒデータ）に対して種々のデジタル的な画像処理を行って、Ｙ（輝度）データおよびＣ（色）データを生成するためのパイプラインの構成要素である。ＹＣ処理部６０は、シーケンサ２０から入力された制御信号に応じて、倍率色収差補正処理部５０から入力されたブロックＢａｙｅｒデータに応じたＹデータおよびＣデータ（以下、まとめて、「ブロックＹＣｂＣｒデータ」ともいう）を生成し、生成したブロックＹＣｂＣｒデータを、ＮＲ処理部７０に出力する。
【００４５】
ＮＲ処理部７０は、入力されたブロック画像データ（ブロックＹＣｂＣｒデータ）に対して種々のデジタル的な画像処理を行って、ブロックＹＣｂＣｒデータに含まれるノイズを低減するためのパイプラインの構成要素である。ＮＲ処理部７０は、シーケンサ２０から入力された制御信号に応じて、ＹＣ処理部６０から入力されたブロックＹＣｂＣｒデータに含まれるノイズを低減し、ノイズを低減したブロックＹＣｂＣｒデータを、歪曲収差補正処理部８０に出力する。
【００４６】
歪曲収差補正処理部８０は、入力されたノイズを低減したブロック画像データ（ブロックＹＣｂＣｒデータ）の歪曲収差を補正するためのパイプラインの構成要素である。歪曲収差補正処理部８０は、シーケンサ２０から入力された制御信号に応じて、ノイズを低減したブロックＹＣｂＣｒデータの歪曲収差を補正したブロックＹＣｂＣｒデータを生成し、生成した歪曲収差を補正した後のブロックＹＣｂＣｒデータを、出力ＤＭＡ部９０に出力する。
【００４７】
出力ＤＭＡ部９０は、入力された歪曲収差を補正した後のブロック画像データ（ブロックＹＣｂＣｒデータ）を、ＤＲＡＭ１０に書き込む（記憶する）ためのパイプラインの構成要素である。出力ＤＭＡ部９０は、シーケンサ２０から入力された制御信号に応じて、歪曲収差補正処理部８０から入力された歪曲収差を補正した後のブロックＹＣｂＣｒデータを、バス１００を介してＤＲＡＭ１０に出力する。
【００４８】
このように、画像処理装置１内の各構成要素が、１フレームのＢａｙｅｒデータを分割したブロック毎に、シーケンサ２０から出力された制御信号に応じた画像処理を順次行うことによって、各ブロックのＢａｙｅｒデータに対する一連の画像処理を行う。
【００４９】
次に、歪補正範囲算出部３０について説明する。図２は、本実施形態の画像処理装置１に備えた歪補正範囲算出部３０の基本構成を示したブロック図である。図２に示したように、歪補正範囲算出部３０は、歪曲収差補正座標変換係数設定レジスタ３１と、歪曲収差補正出力範囲設定レジスタ３２と、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３と、倍率色収差補正座標変換係数設定レジスタ３４と、歪補正範囲算出ブロック３５と、歪曲収差補正入力範囲結果レジスタ３６と、倍率色収差補正入力範囲結果レジスタ３７と、を備えている。
【００５０】
シーケンサ２０は、歪補正範囲算出部３０に歪曲収差補正処理部８０と倍率色収差補正処理部５０とのそれぞれのブロック画像データの入力範囲の算出を行わせるとき、歪曲収差補正座標変換係数設定レジスタ３１と、歪曲収差補正出力範囲設定レジスタ３２と、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３と、倍率色収差補正座標変換係数設定レジスタ３４とに、それぞれ必要な設定を行い、歪補正範囲算出部３０によるブロック画像データの入力範囲の算出を開始させる。
【００５１】
歪曲収差補正出力範囲設定レジスタ３２には、歪曲収差補正処理部８０が出力する歪曲収差を補正した後のブロック画像データ（ブロックＹＣｂＣｒデータ）の範囲を、歪曲収差補正出力範囲として設定する。
【００５２】
歪曲収差補正座標変換係数設定レジスタ３１には、ＮＲ処理部７０が出力するノイズを低減した後のブロック画像データ（ブロックＹＣｂＣｒデータ）内のそれぞれの画素の位置を座標変換するため、例えば、ブロック画像データ（ブロックＹＣｂＣｒデータ）内のそれぞれの画素毎に、光学系の中心からの距離を近似して表した、歪曲収差補正の座標変換係数を設定する。より具体的には、歪曲収差補正出力範囲設定レジスタ３２設定された歪曲収差を補正した後のブロックＹＣｂＣｒデータの出力範囲内に含まれるそれぞれの画素の位置（座標）を、歪曲収差補正を行う前の歪んでいる状態のブロックＹＣｂＣｒデータの範囲内の画素の位置（座標）に変換するための係数を、歪曲収差補正座標変換係数として設定する。
【００５３】
倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３には、倍率色収差補正処理部５０と歪曲収差補正処理部８０との間で行われる画像処理（本実施形態においては、ＹＣ処理部６０とＮＲ処理部７０とによる画像処理）によって失われるブロック画像データ（ブロックＹＣｂＣｒデータ）のデータ数を、倍率色収差〜歪曲収差間画像処理糊代として設定する。すなわち、歪曲収差補正処理部８０に入力する歪曲収差補正をする前のブロックＹＣｂＣｒデータの範囲と、倍率色収差補正処理部５０が出力する倍率色収差を補正した後のブロックＢａｙｅｒデータの範囲との差分を、倍率色収差〜歪曲収差間画像処理糊代として設定する。
【００５４】
この倍率色収差〜歪曲収差間画像処理糊代の値は、倍率色収差補正処理部５０と歪曲収差補正処理部８０との間で行われる画像処理（本実施形態においては、ＹＣ処理部６０とＮＲ処理部７０とによる画像処理）の特性に応じた値である。例えば、倍率色収差〜歪曲収差間画像処理糊代の値は、倍率色収差補正処理部５０と歪曲収差補正処理部８０との間で行われるＹＣ処理部６０とＮＲ処理部７０とのそれぞれのフィルタサイズに基づいて算出する。この場合、例えば、ＹＣ処理部６０のフィルタサイズが７×７で、ＮＲ処理部７０のフィルタサイズが３３×３３であった場合、倍率色収差〜歪曲収差間画像処理糊代の値は、（７−１）＋（３３−１）＝３８となる。この値は、ＹＣ処理部６０とＮＲ処理部７０とのそれぞれのフィルタによって失われるデータ数と同等である。
【００５５】
倍率色収差補正座標変換係数設定レジスタ３４には、入力されたブロック画像データ（ブロックＢａｙｅｒデータ）内のそれぞれの画素の位置を座標変換するため、例えば、ブロック画像データ（ブロックＢａｙｅｒデータ）内のそれぞれの画素毎に、光学系の中心からの距離を近似して表した、倍率色収差補正の座標変換係数を設定する。より具体的には、歪曲収差補正処理部８０に入力する歪曲収差補正をする前のブロックＹＣｂＣｒデータの入力範囲内に含まれるそれぞれの画素の位置（座標）を、倍率色収差補正を行う前の歪んでいる状態のブロックＢａｙｅｒデータの範囲内の画素の位置（座標）に変換するための係数を、倍率色収差補正座標変換係数として設定する。これは、倍率色収差補正処理部５０による倍率色収差補正は、歪曲収差補正処理部８０による歪曲収差補正よりも先に行われる歪補正処理であるためである。
【００５６】
歪補正範囲算出ブロック３５は、シーケンサ２０から入力された処理開始の制御信号（開始トリガ）に応じて、まず、歪曲収差補正座標変換係数と歪曲収差補正出力範囲とに基づいて、歪曲収差補正処理部８０による歪曲収差の補正処理前のブロック画像データ（ブロックＹＣｂＣｒデータ）の入力範囲を、歪曲収差補正入力範囲として算出する。そして、歪補正範囲算出ブロック３５は、歪曲収差補正入力範囲の算出が終了したことを表す終了割込１を、シーケンサ２０に出力する。
【００５７】
続いて、歪補正範囲算出ブロック３５は、算出した歪曲収差補正入力範囲と、倍率色収差〜歪曲収差間画像処理糊代と、倍率色収差補正座標変換係数とに基づいて、倍率色収差補正処理部５０による倍率色収差の補正処理前のブロック画像データ（ブロックＢａｙｅｒデータ）の入力範囲を、倍率色収差補正入力範囲として算出する。そして、歪補正範囲算出ブロック３５は、倍率色収差補正入力範囲の算出が終了したことを表す終了割込２を、シーケンサ２０に出力する。
【００５８】
このように、歪補正範囲算出ブロック３５は、最初に歪曲収差補正入力範囲を算出し、続いて、歪補正範囲算出ブロック３５自体が算出した歪曲収差補正入力範囲を、倍率色収差補正の出力範囲として、倍率色収差補正入力範囲の算出を行う。
【００５９】
歪曲収差補正入力範囲結果レジスタ３６は、歪補正範囲算出ブロック３５が算出した歪曲収差補正入力範囲を、歪補正範囲算出部３０が算出した歪曲収差補正入力範囲の結果として保持する。
【００６０】
倍率色収差補正入力範囲結果レジスタ３７は、歪補正範囲算出ブロック３５が算出した倍率色収差補正入力範囲を、歪補正範囲算出部３０が算出した倍率色収差補正入力範囲の結果として保持する。
【００６１】
このような構成によって、歪補正範囲算出部３０は、シーケンサ２０から入力された１回の開始トリガに応じて、歪曲収差補正入力範囲の算出と、倍率色収差補正入力範囲の算出とを、自動で連続して行うことができる。
【００６２】
次に、歪補正範囲算出部３０についてより詳細に説明する。図３は、本実施形態の画像処理装置１に備えた歪補正範囲算出部３０の概略構成を示したブロック図である。図３に示したように、歪補正範囲算出部３０は、歪補正範囲算出ブロック３５として、制御部３５１と、セレクタ３５２と、座標変換部３５３と、セレクタ３５４と、範囲拡張部３５５と、セレクタ３５６と、を備えている。
【００６３】
制御部３５１は、歪補正範囲算出ブロック３５による歪曲収差補正入力範囲の算出、または倍率色収差補正入力範囲の算出の全体を制御する。制御部３５１は、シーケンサ２０から入力された開始トリガに応じて、歪曲収差補正入力範囲の算出、または倍率色収差補正入力範囲の算出を行うための制御信号を、歪補正範囲算出ブロック３５内の各構成要素に出力する。また、制御部３５１は、座標変換部３５３から入力された終了割込を、歪曲収差補正入力範囲の算出が終了したことを表す終了割込１、または倍率色収差補正入力範囲の算出が終了したことを表す終了割込２として、シーケンサ２０に出力する。なお、制御部３５１による歪補正範囲算出ブロック３５の制御に関しては、後述する。
【００６４】
セレクタ３５２は、制御部３５１から入力された制御信号に応じて、歪曲収差補正座標変換係数設定レジスタ３１に設定された歪曲収差補正座標変換係数、または倍率色収差補正座標変換係数設定レジスタ３４に設定された倍率色収差補正座標変換係数のいずれか一方の座標変換係数を選択し、選択した座標変換係数を、座標変換部３５３に出力する。
【００６５】
座標変換部３５３は、セレクタ３５２から入力された座標変換係数と、セレクタ３５６から入力された歪補正出力範囲とに基づいて、歪補正入力範囲を算出し、算出した歪補正入力範囲をセレクタ３５４に出力する。より具体的には、セレクタ３５６から入力された歪補正出力範囲を、出力するブロック画像データの出力範囲とし、セレクタ３５２から入力された座標変換係数に基づいて、歪補正出力範囲内のブロック画像データに含まれるそれぞれの画素に対応した、歪補正処理を行う前のブロック画像データ内の画素の位置（座標）を算出、すなわち、座標変換する。これにより、歪んでいる状態のブロック画像データの入力領域が求められる。そして、座標変換部３５３は、座標変換によって求めた入力領域に外接する（囲む）矩形の範囲を、歪補正入力範囲として算出し、算出した歪補正入力範囲を、セレクタ３５４に出力する。また、座標変換部３５３は、歪補正入力範囲の算出が終了したことを表す終了割込を、制御部３５１に出力する。
【００６６】
セレクタ３５４は、制御部３５１から入力された制御信号に応じて、座標変換部３５３から入力された歪補正入力範囲を、歪補正範囲算出ブロック３５が算出した歪曲収差補正入力範囲、または倍率色収差補正入力範囲の算出結果として、歪曲収差補正入力範囲結果レジスタ３６、または倍率色収差補正入力範囲結果レジスタ３７のいずれか一方の入力範囲結果レジスタに出力する。
【００６７】
範囲拡張部３５５は、歪曲収差補正入力範囲結果レジスタ３６に保持している歪曲収差補正入力範囲に、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３に設定された倍率色収差〜歪曲収差間画像処理糊代を加算した歪補正出力範囲を算出する。すなわち、範囲拡張部３５５は、歪曲収差補正入力範囲の結果を得た後に、シーケンサ２０自体が行う、ＮＲ処理部７０とＹＣ処理部６０とに必要な画像データの入力範囲の算出と同等の算出を、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３に設定された倍率色収差〜歪曲収差間画像処理糊代を加算することによって行っている。従って、範囲拡張部３５５によって算出された歪補正出力範囲が、倍率色収差補正処理部５０が出力する倍率色収差を補正した後のブロック画像データ（ブロックＢａｙｅｒデータ）の範囲（以下、「倍率色収差補正出力範囲」という）となる。
【００６８】
セレクタ３５６は、制御部３５１から入力された制御信号に応じて、歪曲収差補正出力範囲設定レジスタ３２に設定された歪曲収差補正出力範囲、または範囲拡張部３５５によって算出された倍率色収差補正出力範囲のいずれか一方の歪補正出力範囲を選択し、選択した歪補正出力範囲を、座標変換部３５３に出力する。
【００６９】
次に、歪補正範囲算出部３０の動作について、図４および図５を参照して説明する。図４は、本実施形態の画像処理装置１に備えた歪補正範囲算出部３０による入力範囲の算出処理の手順を示したフローチャートである。図５は、本実施形態の画像処理装置１に備えた歪補正範囲算出部３０による入力範囲の算出処理の動作の一例を模式的に示した図である。
【００７０】
シーケンサ２０は、ブロック画像データのパイプライン処理を開始する前に、パイプラインを構成する倍率色収差補正処理部５０、ＹＣ処理部６０、ＮＲ処理部７０、および歪曲収差補正処理部８０のそれぞれが、画像処理を行って出力するブロックの画像データの出力範囲に応じた、画像処理前の画像データの入力範囲を算出する。まず、ステップＳ１０において、シーケンサ２０は、歪曲収差補正座標変換係数設定レジスタ３１と、歪曲収差補正出力範囲設定レジスタ３２と、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３と、倍率色収差補正座標変換係数設定レジスタ３４とに、それぞれ必要な設定を行う。
【００７１】
より具体的には、シーケンサ２０は、歪補正範囲算出部３０の歪曲収差補正座標変換係数設定レジスタ３１に、歪曲収差補正座標変換係数を設定し、歪曲収差補正出力範囲設定レジスタ３２に、歪曲収差補正出力範囲を設定する。ここでは、歪曲収差補正出力範囲設定レジスタ３２に設定する歪曲収差補正出力範囲として、図５（ａ）に示した歪曲収差補正出力範囲Ａが設定されたものとする。また、シーケンサ２０は、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３に倍率色収差〜歪曲収差間画像処理糊代を設定する。ここでは、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３に設定する倍率色収差〜歪曲収差間画像処理糊代として、図５（ｂ）に示した倍率色収差〜歪曲収差間画像処理糊代ｃｄが設定されたものとする。また、シーケンサ２０は、倍率色収差補正座標変換係数設定レジスタ３４に、倍率色収差補正座標変換係数を設定する。
【００７２】
続いて、ステップＳ２０において、シーケンサ２０は、歪補正範囲算出部３０に開始トリガを印加（出力）する。これにより、歪補正範囲算出部３０は、ステップＳ３０以降において、シーケンサ２０から入力された開始トリガに応じた、歪曲収差補正処理部８０による歪曲収差の補正処理前のブロック画像データの入力範囲と、倍率色収差補正処理部５０による倍率色収差の補正処理前のブロック画像データの入力範囲との算出処理が開始される。
【００７３】
ステップＳ３０において、制御部３５１は、まず、セレクタ３５２に、歪曲収差補正座標変換係数設定レジスタ３１に設定された歪曲収差補正座標変換係数を選択させ、セレクタ３５６に、歪曲収差補正出力範囲設定レジスタ３２に設定された歪曲収差補正出力範囲を選択させる制御信号を出力する。これにより、座標変換部３５３には、歪曲収差補正座標変換係数と歪曲収差補正出力範囲とが入力される。
【００７４】
その後、制御部３５１は、座標変換部３５３に歪補正入力範囲の算出処理を開始させる。座標変換部３５３では、セレクタ３５６から入力された歪曲収差補正出力範囲Ａを、出力するブロック画像データの出力範囲とし、セレクタ３５２から入力された歪曲収差補正座標変換係数に基づいて、歪曲収差補正出力範囲Ａ内のブロック画像データに含まれるそれぞれの画素に対応した、歪曲収差補正処理を行う前のブロック画像データ内の画素の位置（座標）に座標変換する。これにより、図５（ａ）に示したような、歪曲収差で歪んでいる状態のブロック画像データの入力領域ａが求められる。そして、座標変換部３５３は、座標変換によって求めた入力領域ａに外接する（囲む）矩形の範囲を、歪曲収差補正入力範囲Ｂ（図５（ａ）参照）として算出し、算出した歪曲収差補正入力範囲Ｂを、セレクタ３５４に出力する。また、座標変換部３５３は、歪曲収差補正入力範囲Ｂの算出が終了したことを表す終了割込を、制御部３５１に出力する。
【００７５】
続いて、ステップＳ４０において、制御部３５１は、セレクタ３５４に、座標変換部３５３から入力された歪補正入力範囲の出力先として、歪曲収差補正入力範囲結果レジスタ３６を選択させる制御信号を出力する。これにより、座標変換部３５３が算出した歪曲収差補正入力範囲Ｂが、歪曲収差補正入力範囲結果レジスタ３６に出力され、保持される。
【００７６】
また、ステップＳ５０において、制御部３５１は、座標変換部３５３から入力された終了割込を、歪補正範囲算出部３０によって歪曲収差補正入力範囲Ｂの算出が終了したことを表す終了割込１として、シーケンサ２０に出力する。これにより、シーケンサ２０は、歪曲収差補正入力範囲結果レジスタ３６に保持された歪曲収差補正入力範囲Ｂを読み出して、歪曲収差補正処理部８０に設定することができる。
【００７７】
また、ステップＳ６０において、範囲拡張部３５５は、歪曲収差補正入力範囲結果レジスタ３６に保持された歪曲収差補正入力範囲Ｂに、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３設定された倍率色収差〜歪曲収差間画像処理糊代ｃｄを加算して、歪補正出力範囲を拡張した倍率色収差補正出力範囲Ｅを算出する。
【００７８】
続いて、ステップＳ７０において、制御部３５１は、まず、セレクタ３５２に、倍率色収差補正座標変換係数設定レジスタ３４に設定された倍率色収差補正座標変換係数を選択させ、セレクタ３５６に、範囲拡張部３５５によって算出された倍率色収差補正出力範囲Ｅを選択させる制御信号を出力する。これにより、座標変換部３５３には、倍率色収差補正座標変換係数と倍率色収差補正出力範囲Ｅとが入力される。
【００７９】
その後、制御部３５１は、座標変換部３５３に歪補正入力範囲の算出処理を再度開始させる。座標変換部３５３では、セレクタ３５６から入力された倍率色収差補正出力範囲Ｅを、出力するブロック画像データの出力範囲とし、セレクタ３５２から入力された倍率色収差補正座標変換係数に基づいて、倍率色収差補正出力範囲Ｅ内のブロック画像データに含まれるそれぞれの画素に対応した、倍率色収差補正処理を行う前のブロック画像データ内の画素の位置（座標）に座標変換する。これにより、図５（ｃ）に示したような、倍率色収差で歪んでいる状態のブロック画像データの入力領域ｅが求められる。そして、座標変換部３５３は、座標変換によって求めた入力領域ｅに外接する（囲む）矩形の範囲を、倍率色収差補正入力範囲Ｆ（図５（ｃ）参照）として算出し、算出した倍率色収差補正入力範囲Ｆを、セレクタ３５４に出力する。また、座標変換部３５３は、倍率色収差補正入力範囲Ｆの算出が終了したことを表す終了割込を、制御部３５１に出力する。
【００８０】
続いて、ステップＳ８０において、制御部３５１は、セレクタ３５４に、座標変換部３５３から入力された歪補正入力範囲の出力先として、倍率色収差補正入力範囲結果レジスタ３７を選択させる制御信号を出力する。これにより、座標変換部３５３が算出した倍率色収差補正入力範囲Ｆが、倍率色収差補正入力範囲結果レジスタ３７に出力され、保持される。
【００８１】
また、ステップＳ９０において、制御部３５１は、座標変換部３５３から入力された終了割込を、歪補正範囲算出部３０によって倍率色収差補正入力範囲Ｆの算出が終了したことを表す終了割込２として、シーケンサ２０に出力し、ブロック画像データの入力範囲の算出処理を完了する。これにより、シーケンサ２０は、倍率色収差補正入力範囲結果レジスタ３７に保持された倍率色収差補正入力範囲Ｆを読み出して、倍率色収差補正処理部５０に設定することができる。
【００８２】
このようにして、歪補正範囲算出部３０は、最初に歪曲収差補正入力範囲Ｂを算出し、算出した歪曲収差補正入力範囲Ｂと倍率色収差〜歪曲収差間画像処理糊代とに基づいて、倍率色収差補正出力範囲Ｅを算出し、さらに、倍率色収差補正入力範囲Ｆを算出する。これにより、歪補正範囲算出部３０では、シーケンサ２０から入力された１回の開始トリガに応じた、歪曲収差補正処理部８０による歪曲収差の補正処理前のブロック画像データの入力範囲の算出と、倍率色収差補正処理部５０による倍率色収差の補正処理前のブロック画像データの入力範囲の算出とを、自動で連続して行うことができる。
【００８３】
これにより、画像処理装置１では、シーケンサ２０が、歪曲収差補正入力範囲結果レジスタ３６に保持された歪曲収差補正入力範囲Ｂと、倍率色収差補正入力範囲結果レジスタ３７に保持された倍率色収差補正入力範囲Ｆとを、歪曲収差補正処理部８０と倍率色収差補正処理部５０とに、それぞれ設定することができる。また、画像処理装置１では、歪補正範囲算出部３０が自動で倍率色収差補正入力範囲Ｆを算出するため、倍率色収差補正入力範囲Ｆを算出している間に、シーケンサ２０自体が行うＮＲ処理部７０とＹＣ処理部６０とに必要な画像データの入力範囲の算出と設定を行うことができる。そして、シーケンサ２０は、倍率色収差補正処理部５０に倍率色収差補正入力範囲Ｆを設定した後、入力ＤＭＡ部４０が読み出すべきブロック画像データ（ブロックＢａｙｅｒデータ）の大きさや位置を設定して、画像処理装置１のパイプライン処理を実行することができる。
【００８４】
ここで、画像処理装置１のパイプライン処理について説明する。図６は、本実施形態の画像処理装置１におけるパイプライン処理のタイミングを示したタイミングチャートである。なお、図６に示したタイミングチャートは、ブロックＮのパイプライン処理を実行している間に、ブロックＮ＋１のパイプライン処理を行うための各画像処理部（倍率色収差補正処理部５０、ＹＣ処理部６０、ＮＲ処理部７０、および歪曲収差補正処理部８０）の設定を行う場合のタイミングを示している。
【００８５】
ブロックＮのパイプライン処理を開始すると、まず、シーケンサ２０は、処理Ａにおいて、歪補正範囲算出部３０内の各レジスタにそれぞれ必要な設定を行い、開始トリガを出力して入力範囲の算出処理を開始させる。
【００８６】
これにより、歪補正範囲算出部３０は、歪曲収差補正処理部８０による歪曲収差の補正処理前のブロック画像データの入力範囲（図５（ａ）に示した歪曲収差補正入力範囲Ｂ）の算出処理ａ（図４に示したステップＳ３０〜ステップＳ５０）を実行し、終了割込１をシーケンサ２０に出力する。また、歪補正範囲算出部３０は、引き続き、倍率色収差補正処理部５０による倍率色収差の補正処理前のブロック画像データの入力範囲（図５（ｃ）に示した倍率色収差補正入力範囲Ｆ）の算出処理ｅ（図４に示したステップＳ６０〜ステップＳ９０）を実行する。
【００８７】
歪補正範囲算出部３０から、終了割込１が入力されると、シーケンサ２０は、処理Ｂにおいて、歪補正範囲算出部３０が算出した歪曲収差補正入力範囲Ｂを、歪曲収差補正処理部８０に設定する。
【００８８】
続いて、シーケンサ２０は、処理Ｃにおいて、歪補正範囲算出部３０が算出した歪曲収差補正入力範囲Ｂに基づいて、ＮＲ処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、ＮＲ処理部に必要な設定を行う。続いて、シーケンサ２０は、処理Ｄにおいて、算出したＮＲ処理部に必要な画像データの入力範囲に基づいて、ＹＣ処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、ＹＣ処理部に必要な設定を行う。
【００８９】
その後、歪補正範囲算出部３０は、算出処理ｅが終了すると、終了割込２をシーケンサ２０に出力する。歪補正範囲算出部３０から、終了割込２が入力されると、シーケンサ２０は、処理Ｆにおいて、歪補正範囲算出部３０が算出した倍率色収差補正入力範囲Ｆを、倍率色収差補正処理部５０に設定する。これにより、次のブロックＮ＋１のパイプライン処理を開始することができるようになる。
【００９０】
このように、シーケンサ２０は、次のブロックＮ＋１のパイプライン処理を行う際のブロック画像データの入力範囲の算出と設定との動作を事前に行う。以降、同様に、シーケンサ２０は、その次のブロックＮ＋２以降のパイプライン処理を行うための動作を行う。
【００９１】
図６を見てわかるように、シーケンサ２０は、歪補正範囲算出部３０が入力範囲の算出処理を行っている期間でも、ＮＲ処理部７０に必要な設定やＹＣ処理部６０に必要な設定を行うことができる。これにより、画像処理装置１では、従来の画像処理装置におけるパイプライン処理よりも、シーケンサ２０が歪補正範囲算出部３０の算出結果を待っている、すなわち、シーケンサ２０が何も動作を行っていない期間を短くすることができる。このことにより、画像処理装置１では、パイプライン処理の処理時間のロスをなくすことができる。
【００９２】
上記に述べたとおり、本発明を実施するための形態によれば、歪補正範囲算出部に、倍率色収差補正と歪曲収差補正との座標変換係数を、それぞれの別に設定する。また、歪補正範囲算出部には、倍率色収差補正と歪曲収差補正との間で行われる他の画像処理によって失われる画像データの数（他の画像処理部の入力範囲と出力範囲との差分）を設定する。そして、シーケンサから入力された１回の開始トリガに応じて、歪補正範囲算出部が、歪曲収差補正処理部に設定する画像データの入力範囲の算出に引き続き、倍率色収差補正処理部に設定する画像データの入力範囲の算出を自動で行う。これにより、本発明を実施するための形態の画像処理装置では、光学系の歪みを補正する画像処理である倍率色収差補正処理部と歪曲収差補正処理部とを分けて１つのパイプライン内に構成した、いわゆる、１パスのパイプラインである場合でも、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を、正確に行うことができる。また、本発明を実施するための形態の画像処理装置では、１つのパイプライン（１パスのパイプライン）内に倍率色収差補正処理部と歪曲収差補正処理部とを構成しているため、ＤＲＡＭに対する画像処理に関するアクセス回数が増加することなく、画像処理に伴うＤＲＡＭのバス帯域を圧迫してしまうことがない。
【００９３】
また、本発明を実施するための形態によれば、歪補正範囲算出部が、倍率色収差補正処理部と歪曲収差補正処理部とに設定する画像データの入力範囲を算出している期間中に、シーケンサが、倍率色収差補正処理部と歪曲収差補正処理部との間に行われる他の画像処理部に必要な画像データの入力範囲の算出と設定とを行うことができる。これにより、本発明を実施するための形態の画像処理装置では、シーケンサが歪補正範囲算出部の処理が完了するのを待っている、何も動作しない期間を短くすることができる。このことにより、本発明を実施するための形態の画像処理装置では、従来の画像処理装置のパイプライン処理において、それぞれのパイプライン処理の間に発生していた処理時間のロスをなくすことができる。これにより、本発明を実施するための形態の画像処理装置における画像処理の高速を実現することができる。
【００９４】
なお、本実施形態においては、倍率色収差補正処理部５０と歪曲収差補正処理部８０との間で行われる画像処理が、ＹＣ処理部６０およびＮＲ処理部７０による画像処理である場合について説明した。しかし、倍率色収差補正処理部５０と歪曲収差補正処理部８０との間で行われる画像処理は、本発明を実施するための形態に限定されるものではなく、様々な画像処理を行うことができる。この場合には、倍率色収差補正処理部５０と歪曲収差補正処理部８０との間で行われる画像処理の特性に応じた倍率色収差〜歪曲収差間画像処理糊代を、歪補正範囲算出部３０内の倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３に設定することになる。
【００９５】
また、本実施形態においては、歪補正範囲算出部に、倍率色収差補正と歪曲収差補正との座標変換係数を、それぞれの別に設定している。一般的に、倍率色収の方が、歪曲収差よりも歪みの量が少ないことが考えられる。このため、倍率色収差補正の座標変換係数を、歪曲収差補正の座標変換係数よりも少ない係数にすることができる。
【００９６】
なお、本実施形態においては、歪補正範囲算出部３０が、歪曲収差補正処理部８０に設定する歪曲収差補正入力範囲Ｂと、倍率色収差補正処理部５０に設定する倍率色収差補正入力範囲Ｆとを両方算出する場合について説明したが、歪補正範囲算出部３０が、いずれか一方の入力範囲を算出する、すなわち、歪曲収差補正入力範囲Ｂと倍率色収差補正入力範囲Ｆとを単独で算出する構成とすることもできる。
【００９７】
例えば、歪曲収差補正入力範囲Ｂのみを算出する場合には、シーケンサ２０が、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ３３と倍率色収差補正座標変換係数設定レジスタ３４とを設定せずに、開始トリガを印加（出力）する構成とし、歪補正範囲算出部３０から入力された終了割込２を無視する構成とすることによって実現することができる。  また、例えば、制御部３５１に、シーケンサ２０から入力された歪曲収差補正の開始トリガに応じて、歪曲収差補正入力範囲Ｂのみを算出する構成を追加し、歪曲収差補正座標変換係数設定レジスタ３１と歪曲収差補正出力範囲設定レジスタ３２とを設定した後に、シーケンサ２０が歪曲収差補正の開始トリガを印加（出力）する構成とすることによって実現することもできる。
【００９８】
また、例えば、倍率色収差補正入力範囲Ｆのみを算出する場合には、歪曲収差補正座標変換係数設定レジスタ３１に、倍率色収差補正の座標変換係数を設定し、歪曲収差補正出力範囲設定レジスタ３２に、倍率色収差補正処理部５０が出力する倍率色収差を補正した後のブロック画像データ（ブロックＢａｙｅｒデータ）の範囲を、歪曲収差補正出力範囲の代わりに設定することによって実現することができる。また、例えば、制御部３５１に、シーケンサ２０から入力された倍率色収差補正の開始トリガに応じて、倍率色収差補正入力範囲Ｆのみを算出する構成を追加し、歪曲収差補正入力範囲Ｂが、歪曲収差補正入力範囲結果レジスタ３６に保持されている状態で、シーケンサ２０が倍率色収差補正の開始トリガを印加（出力）する構成とすることによって実現することもできる。
【００９９】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０１００】
１・・・画像処理装置
１０・・・ＤＲＡＭ
２０・・・シーケンサ
３０・・・歪補正範囲算出部
３１・・・歪曲収差補正座標変換係数設定レジスタ
３２・・・歪曲収差補正出力範囲設定レジスタ
３３・・・倍率色収差〜歪曲収差間画像処理糊代設定レジスタ
３４・・・倍率色収差補正座標変換係数設定レジスタ
３５・・・歪補正範囲算出ブロック（座標変換部，座標変換係数選択部，範囲拡張部，出力範囲選択部）
３５１・・・制御部
３５２・・・セレクタ（座標変換係数選択部）
３５３・・・座標変換部
３５４・・・セレクタ（座標変換部）
３５５・・・範囲拡張部
３５６・・・セレクタ（出力範囲選択部）
３６・・・歪曲収差補正入力範囲結果レジスタ（歪曲収差補正入力範囲保持部）
３７・・・倍率色収差補正入力範囲結果レジスタ
４０・・・入力ＤＭＡ部
５０・・・倍率色収差補正処理部
６０・・・ＹＣ処理部（画像処理部）
７０・・・ＮＲ処理部（画像処理部）
８０・・・歪曲収差補正処理部
９０・・・出力ＤＭＡ部
１００・・・バス
【図１】
0005829094.tif 000002
【図２】
0005829094.tif 000003
【図３】
0005829094.tif 000004
【図４】
0005829094.tif 000005
【図５】
0005829094.tif 000006
【図６】
0005829094.tif 000007
【図７】
0005829094.tif 000008
【図８】
0005829094.tif 000009
【図９】
0005829094.tif 000010