説明

画像処理装置および画像処理方法

【課題】1つのパイプライン内に倍率色収差補正と歪曲収差補正とを分けて構成した場合においても、1回の起動でそれぞれに適した入力範囲を正確に算出できる歪補正範囲算出部を備えた画像処理装置および画像処理方法を提供する。
【解決手段】少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、倍率色収差補正後の画像データに画像処理を行って歪曲収差補正処理部に出力する画像処理部とが、1つのパイプラインで構成された画像処理パイプラインと、各構成要素の制御するシーケンサと、予め設定された歪曲収差補正出力範囲と歪曲収差補正座標変換係数とに基づいて歪曲収差補正入力範囲を算出し、さらに、算出した歪曲収差補正入力範囲と、予め設定された画像処理糊代と倍率色収差補正座標変換係数とに基づいて倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置に備えた画像処理装置では、1枚の静止画像を生成する際に、複数の画像処理が行われる。また、それぞれの画像処理を行う際の処理方法として、1フレームの画像を矩形のブロックに分割し、分割したブロック単位でそれぞれの画像処理を行う方法が提案されている(特許文献1参照)。
【0003】
ところで、カメラに搭載したイメージャなどの固体撮像装置から出力された画像データには、倍率色収差や歪曲収差などのカメラの光学系による歪みが含まれていることが、一般的に知られている。このため、倍率色収差や歪曲収差などの光学系の歪みを補正する画像処理を備えた画像処理装置が提案されている(特許文献2参照)。特許文献2で開示された従来の画像処理装置では、倍率色収差の補正と歪曲収差の補正とをまとめて歪補正とし、同一の歪補正処理部で一括して画像処理を行っている。
【0004】
図7は、特許文献2で開示された従来の画像処理装置の概略構成を示したブロック図である。図7に示した従来の画像処理装置では、1枚の静止画像を生成するために必要なそれぞれの画像処理を直結した、パイプラインが構成されている。より具体的には、「DRAM(Dynamic Random Access Memory)→入力DMA(Direct Memory Access)部→YC(輝度色変換)処理部→NR(ノイズ除去)処理部→歪補正処理部→出力DMA部→DRAM」という順番で、それぞれのブロックの画像処理を行うパイプラインを構成している。図7に示した従来の画像処理装置では、パイプライン処理の全体を制御するシーケンサによって、パイプラインを構成する各画像処理部の設定や動作が制御される。
【0005】
それぞれの画像処理を、図7に示したようなパイプラインで構成することによって、1枚の静止画像を生成するための画像処理に伴う、DRAMのバス帯域の圧迫を抑えることができる。これにより、1枚の静止画像を生成するための画像処理を短時間で行う、すなわち、処理を高速化することができる。
【0006】
一方、歪補正処理をブロック単位で行う場合、出力する画像の範囲(ブロック)よりも大きな範囲の画像データを、歪補正処理部に入力する必要がある。しかも、歪補正処理部に入力する画像データの範囲は、処理して出力する画像のブロック毎に、その入力範囲が異なる。これは、1フレームの画像を分割したブロックの位置によって、カメラの光学系による歪みの現れ方が異なるためである。そこで、特許文献2で開示された従来の画像処理装置では、出力する画像のブロックを歪補正処理する際に必要な画像データの入力範囲を、予め算出する歪補正範囲算出部を備えている。すなわち、特許文献2で開示された従来の画像処理装置は、多くの処理時間を要する画像データの入力範囲の算出処理を、専用の構成要素によって行う構成となっている。
【0007】
シーケンサは、パイプライン処理を開始する前に、歪補正処理を行う際に必要な画像データの入力範囲を、出力するそれぞれのブロック毎に、歪補正範囲算出部に予め算出させる。歪補正範囲算出部は、歪補正処理を行って出力する画像データの出力範囲に対応した、歪補正処理前、すなわち、歪んでいる状態の画像データの入力領域を算出し、算出した入力領域に外接する(囲む)矩形の範囲を、歪補正処理を行って出力する画像データの出力範囲を得るために必要な画像データの入力範囲として算出する。
【0008】
図8は、特許文献2で開示された従来の画像処理装置に備えた歪補正範囲算出部の概略構成を示したブロック図である。図8に示したように、従来の画像処理装置に備えた歪補正範囲算出部は、歪補正座標変換係数設定レジスタと、歪補正出力範囲設定レジスタと、歪補正範囲算出ブロックと、歪補正入力範囲結果レジスタと、を備えている。シーケンサは、歪補正範囲算出部に歪補正処理を行う際の画像データの入力範囲を算出させるとき、歪補正座標変換係数と歪補正出力範囲とを歪補正範囲算出部に設定して、歪補正範囲算出部による画像データの入力範囲の算出を開始させる。
【0009】
歪補正範囲算出ブロックは、シーケンサによって設定された歪補正出力範囲を、処理するブロック(歪補正処理を行って出力する画像データの出力範囲)とする。そして、歪補正範囲算出ブロックは、シーケンサによって設定された歪補正座標変換係数に基づいて、歪補正出力範囲内の画像データに含まれるそれぞれの画素に対応した、歪補正処理を行う前の画像データ内の画素の位置(座標)を算出、すなわち、座標変換する。これにより、図7に示したような、歪んでいる状態の入力領域(座標変換後)が求められる。そして、歪補正範囲算出ブロックは、座標変換によって求めた入力領域に外接する(囲む)矩形の範囲を、歪補正処理を行って出力する画像データの出力範囲(歪補正出力範囲)を得るために必要な画像データの入力範囲とした歪補正入力範囲を算出し、算出した歪補正入力範囲を、歪補正入力範囲結果レジスタに格納する。そして、歪補正範囲算出ブロックは、画像データの入力範囲の算出が終了したことを表す終了割込を、シーケンサに出力する。
【0010】
シーケンサは、歪補正範囲算出部から、画像データの入力範囲の算出が終了したことを表す終了割込が入力されると、パイプライン処理を開始する。パイプライン処理を開始するとき、シーケンサは、パイプラインを構成する各画像処理部にそれぞれ必要な設定を行い、その後、各画像処理部の動作を開始させる。このとき、歪補正処理部には、歪補正入力範囲結果レジスタに格納された歪補正入力範囲を、歪補正処理を行う際の画像データの入力範囲として設定する。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特許第4179701号公報
【特許文献2】特開2005−44098号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
ところで、一般的に、倍率色収差補正は、YC処理によって三板化やNR処理がされた状態の画像データ(図7においては、YCbCrデータ)に基づいて行うよりも、イメージャから出力された状態のRAWデータ(図7においては、Bayerデータ)に基づいて行う方が、より正確に倍率色収差を補正することができ、高画質の画像を生成することができることが知られている。これは、倍率色収差は、イメージャに備えた画素の色(R,G,B)毎に、光学系による被写体光のズレ量が異なるため、三板化されて各色(R,G,B)が混ざった状態の画像データでは、それぞれの色毎にズレ量を正確に補正することができないからである。
【0013】
そこで、従来の画像処理装置と同様のパイプラインの構成を維持しながら、歪補正処理を、倍率色収差補正と歪曲収差補正とに分けて行うことが考えられる。すなわち、「DRAM→入力DMA部→倍率色収差補正処理部→YC処理部→NR処理部→歪曲収差補正処理部→出力DMA部→DRAM」という順番で、それぞれのブロックの画像処理を行うパイプラインを構成することが考えられる。このようにパイプラインを構成することによって、高画質の画像を生成することができるようになる。
【0014】
しかしながら、1つのパイプライン内で倍率色収差補正と歪曲収差補正とを分けて構成した場合、図8に示したような従来の画像処理装置に備えた歪補正範囲算出部では、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を正確に行うことができない。これは、倍率色収差補正処理と歪曲収差補正処理との間に、YC処理とNR処理とが行われることに起因する。より具体的には、従来の画像処理装置に備えた歪補正範囲算出部は、図8に示したように、歪補正座標変換係数設定レジスタと歪補正出力範囲設定レジスタとを1組しか備えておらず、歪補正入力範囲結果レジスタも1つしか備えていない。このため、従来の歪補正範囲算出部では、1回の画像データの入力範囲の算出動作の起動で、1種類の入力範囲の算出処理しか行うことができない。すなわち、1回の画像データの入力範囲の算出動作の起動で、倍率色収差補正用の画像データの入力範囲の算出または、歪曲収差補正用の画像データの入力範囲の算出のいずれか一方の入力範囲の算出処理しか行うことができない。仮に、倍率色収差補正と歪曲収差補正との両方に対応した画像データの入力範囲の算出を、1回の算出動作の起動で行ったとしても、倍率色収差補正処理と歪曲収差補正処理との間に行われるYC処理とNR処理とを考慮して、余裕を持った入力範囲、すなわち、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲よりも大きな範囲を、入力範囲として算出することになってしまう。
【0015】
このため、従来の歪補正範囲算出部では、歪曲収差補正用の画像データの入力範囲の算出動作と、倍率色収差補正用の画像データの入力範囲の算出動作とを、2回に分けて行う必要がある。しかし、この場合には、パイプライン処理の処理時間にロスが発生してしまう、という問題がある。
【0016】
図9は、従来の画像処理装置におけるパイプライン処理において歪補正処理を、倍率色収差補正処理と歪曲収差補正処理とに分けて行う場合のタイミングを示したタイミングチャートである。なお、図9に示したタイミングチャートは、ブロックNのパイプライン処理を実行している間に、ブロックN+1のパイプライン処理を行うための各画像処理部(倍率色収差補正処理部、YC処理部、NR処理部、および歪曲収差補正処理部)の設定を行う場合のタイミングを示している。
【0017】
ブロックNのパイプライン処理を開始すると、まず、シーケンサは、処理Aにおいて、歪曲収差補正処理を行って出力するブロックの画像データの出力範囲を、歪補正出力範囲として設定し、さらに、歪曲収差補正処理に対応した歪補正座標変換係数を設定して、従来の歪補正範囲算出部に、歪曲収差補正用の画像データの入力範囲の算出動作を行わせる。これにより、従来の歪補正範囲算出部は、歪曲収差補正用の画像データの入力範囲の算出動作aを実行する。そして、従来の歪補正範囲算出部は、歪曲収差補正用の画像データの入力範囲の算出動作aが終了すると、画像データの入力範囲の算出が終了したことを表す終了割込を、シーケンサに出力する。
【0018】
歪補正範囲算出部から、画像データの入力範囲の算出が終了したことを表す終了割込が入力されると、シーケンサは、処理Bにおいて、歪補正範囲算出部が算出した歪曲収差補正用の画像データの入力範囲(歪補正入力範囲)を、歪曲収差補正部に設定する。
【0019】
続いて、シーケンサは、処理Cにおいて、歪補正範囲算出部が算出した歪補正入力範囲に基づいて、NR処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、NR処理部に必要な設定を行う。続いて、シーケンサは、処理Dにおいて、算出したNR処理部に必要な画像データの入力範囲に基づいて、YC処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、YC処理部に必要な設定を行う。
【0020】
続いて、シーケンサは、処理Eにおいて、算出したYC処理部に必要な画像データの入力範囲を、倍率色収差補正処理を行って出力するブロックの画像データの出力範囲として、歪補正出力範囲に設定し、さらに、倍率色収差補正処理に対応した歪補正座標変換係数を設定して、従来の歪補正範囲算出部に、倍率色収差補正用の画像データの入力範囲の算出動作を行わせる。これにより、従来の歪補正範囲算出部は、倍率色収差補正用の画像データの入力範囲の算出動作eを実行する。そして、従来の歪補正範囲算出部は、倍率色収差補正用の画像データの入力範囲の算出動作eが終了すると、画像データの入力範囲の算出が終了したことを表す終了割込を、シーケンサに出力する。
【0021】
歪補正範囲算出部から、画像データの入力範囲の算出が終了したことを表す終了割込が入力されると、シーケンサは、処理Fにおいて、歪補正範囲算出部が算出した倍率色収差補正用の画像データの入力範囲(歪補正入力範囲)を、倍率色収差補正部に設定する。これにより、次のブロックN+1のパイプライン処理を開始することができるようになる。
【0022】
このように、シーケンサは、次のブロックN+1のパイプライン処理を行う際の画像データの入力範囲の算出と設定との動作を事前に行う。以降、同様に、シーケンサは、その次のブロックN+2以降のパイプライン処理を行うための動作を行う。
【0023】
しかし、図9を見てわかるように、歪補正範囲算出部が画像データの入力範囲の算出動作を行っている期間は、シーケンサが歪補正範囲算出部の算出結果を待っている状態となり、シーケンサは、何も動作を行っていない。このため、シーケンサによるNR処理部に必要な設定やYC処理部に必要な設定を行うタイミングが遅くなっている。
【0024】
上記に述べたように、歪補正範囲算出部が、歪補正処理に必要な画像データの入力範囲を算出する処理は、多くの処理時間を要する処理である。このため、現在処理しているブロックのパイプライン処理を実行している期間中に、シーケンサによる次のブロックのパイプライン処理を行うための各画像処理部に必要な画像データの入力範囲の算出や、算出した画像データの入力範囲に基づいた各画像処理部に必要な設定が終わらない可能性がある。すなわち、図9に示したように、現在処理しているブロック(ブロックN)のパイプライン処理の期間より、次に処理するブロック(ブロックN+1)の画像データの入力範囲を算出する期間の方が、長くなってしまう可能性がある。次に処理するブロックの画像データの入力範囲を算出する期間の方が、現在処理しているブロックのパイプライン処理の期間より長くなってしまう、すなわち、シーケンサによる処理が、現在処理しているブロックのパイプライン処理の実行期間中に終わらないと、図9に示したように、ブロックNのパイプライン処理と、ブロックN+1のパイプライン処理との間に、処理時間のロスが発生してしまう、という問題がある。なお、ロスする処理時間は、ブロックの分割を細かくするほど長くなることが考えられる。
【0025】
そこで、倍率色収差補正の処理をパイプラインから切り離し、イメージャから出力された状態のRAWデータ(Bayerデータ)での倍率色収差補正処理を行ってから、歪曲収差補正を含むパイプライン処理を行う構成も考えられる。この場合には、まず、DRAMに格納されているBayerデータを読み出し、倍率色収差補正を行った後に、倍率色収差補正後のBayerデータを再度、DRAMに書き込む(格納する)。その後、DRAMに格納されている倍率色収差補正後のBayerデータを読み出し、歪曲収差補正を含む画像処理(パイプライン処理)を行った後に、歪曲収差補正を含む画像処理後の画像データ(YCbCrデータ)を、DRAMに書き込む(格納する)ことになる。このような構成にすることによって、上記に述べたような、歪補正範囲算出部による画像データの入力範囲の算出動作に関する問題、すなわち、次に処理するブロックの画像データの入力範囲の算出期間と、現在処理しているブロックのパイプライン処理の期間との関係によって発生する処理時間のロスに関する問題はなくなると考えられる。
【0026】
しかし、この場合には、1枚の静止画像を生成するための画像処理を、2つのパイプライン処理で行うことになってしまう。より具体的には、「DRAM→入力DMA部→倍率色収差補正処理部→出力DMA部→DRAM」というパイプライン処理と、「DRAM→入力DMA部→YC処理部→NR処理部→歪曲収差補正処理部→出力DMA部→DRAM」というパイプライン処理との2つのパイプライン処理で、1枚の静止画像を生成することになる。このため、DRAMに対する画像処理に関するアクセス回数が2倍となり、画像処理に伴うDRAMのバス帯域を圧迫してしまう、という問題がある。さらに、2つのパイプライン処理の間に処理時間のロスが発生してしまう可能性もある。
【0027】
本発明は、上記の課題認識に基づいてなされたものであり、1つのパイプライン内に倍率色収差補正と歪曲収差補正とを分けて構成した場合においても、1回の起動で、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を正確に行うことができる歪補正範囲算出部を備えた画像処理装置および画像処理方法を提供することを目的としている。
【課題を解決するための手段】
【0028】
上記の課題を解決するため、本発明の画像処理装置は、少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、1つのパイプライン内に構成された画像処理パイプラインと、前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す、予め設定された歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、前記画像処理部の特性に応じて決定された、予め設定された画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備える、ことを特徴とする。
【0029】
また、本発明の前記歪補正範囲算出部は、前記シーケンサからの1回の算出動作開始の制御に応じて、前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行い、前記歪曲収差補正入力範囲の算出または前記倍率色収差補正入力範囲の算出が終わる毎に、前記歪曲収差補正入力範囲の算出が終了したことを表す割込信号と、前記倍率色収差補正入力範囲の算出が終了したことを表す割込信号とを、前記シーケンサに順次出力する、ことを特徴とする。
【0030】
また、本発明の前記歪補正範囲算出部は、画像データの出力範囲と該出力範囲内に含まれるそれぞれの画素の位置を表す座標を変換する座標変換係数とに基づいて、画像データの入力範囲を算出する座標変換部と、前記座標変換部によって算出された前記画像データの入力範囲を、前記歪曲収差補正入力範囲として保持する歪曲収差補正入力範囲保持部と、前記歪曲収差補正座標変換係数または前記倍率色収差補正座標変換係数のいずれか一方を選択する座標変換係数選択部と、前記歪曲収差補正入力範囲保持部に保持されている前記歪曲収差補正入力範囲を、前記画像処理糊代に基づいて拡張することによって、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲を表す倍率色収差補正出力範囲を算出する範囲拡張部と、前記歪曲収差補正出力範囲または前記範囲拡張部によって算出された前記倍率色収差補正出力範囲のいずれか一方を選択する出力範囲選択部と、を備え、前記歪曲収差補正入力範囲を算出するとき、前記座標変換係数選択部は、前記歪曲収差補正座標変換係数を選択し、該選択した前記歪曲収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、前記出力範囲選択部は、前記歪曲収差補正出力範囲を選択し、該選択した前記歪曲収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、前記座標変換部は、入力された前記歪曲収差補正出力範囲と前記歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正入力範囲を算出し、該算出した前記歪曲収差補正入力範囲を前記歪曲収差補正入力範囲保持部に出力し、前記倍率色収差補正入力範囲を算出するとき、前記座標変換係数選択部は、前記倍率色収差補正座標変換係数を選択し、該選択した前記倍率色収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、前記出力範囲選択部は、前記倍率色収差補正出力範囲を選択し、該選択した前記倍率色収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、前記座標変換部は、入力された前記倍率色収差補正出力範囲と前記倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正入力範囲を算出する、ことを特徴とする。
【0031】
また、本発明の画像処理装置における前記画像処理糊代は、前記画像処理パイプライン内において、前記倍率色収差補正処理部と前記歪曲収差補正処理部との間に位置する前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分である、ことを特徴とする。
【0032】
また、本発明の画像処理装置における前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分は、該画像処理部による画像処理によって失われる画像データの数である、ことを特徴とする。
【0033】
また、本発明の画像処理装置における前記画像データの数は、前記画像処理部に備えたフィルタの特性に応じて算出する、ことを特徴とする。
【0034】
また、本発明の画像処理方法は、少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、1つのパイプライン内に構成された画像処理パイプラインと、前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、予め設定された歪曲収差補正出力範囲と歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、予め設定された画像処理糊代と、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備えた画像処理装置の前記シーケンサに、前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す前記歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記歪曲収差補正座標変換係数と、前記画像処理部の特性に応じて決定した前記画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記倍率色収差補正座標変換係数とを、前記歪補正範囲算出部に予め設定するステップと、前記シーケンサから1回の算出動作開始の制御を出力し、前記歪補正範囲算出部に前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行わせるステップと、前記歪補正範囲算出部から前記歪曲収差補正入力範囲の算出が終了したことを表す割込信号が入力されたときに、該算出された前記歪曲収差補正入力範囲を取得するステップと、前記歪補正範囲算出部から前記倍率色収差補正入力範囲の算出が終了したことを表す割込信号が入力されたときに、該算出された前記倍率色収差補正入力範囲を取得するステップと、を含む、ことを特徴とする。
【発明の効果】
【0035】
本発明によれば、1つのパイプライン内に倍率色収差補正と歪曲収差補正とを分けて構成した場合においても、1回の起動で、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を正確に行うことができるという効果が得られる。
【図面の簡単な説明】
【0036】
【図1】本発明の実施形態における画像処理装置の概略構成を示したブロック図である。
【図2】本実施形態の画像処理装置に備えた歪補正範囲算出部の基本構成を示したブロック図である。
【図3】本実施形態の画像処理装置に備えた歪補正範囲算出部の概略構成を示したブロック図である。
【図4】本実施形態の画像処理装置に備えた歪補正範囲算出部による入力範囲の算出処理の手順を示したフローチャートである。
【図5】本実施形態の画像処理装置に備えた歪補正範囲算出部による入力範囲の算出処理の動作の一例を模式的に示した図である。
【図6】本実施形態の画像処理装置におけるパイプライン処理のタイミングを示したタイミングチャートである。
【図7】従来の画像処理装置の概略構成を示したブロック図である。
【図8】従来の画像処理装置に備えた歪補正範囲算出部の概略構成を示したブロック図である。
【図9】従来の画像処理装置におけるパイプライン処理において歪補正処理を分けて行う場合のタイミングを示したタイミングチャートである。
【発明を実施するための形態】
【0037】
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態における画像処理装置の概略構成を示したブロック図である。図1に示した本実施形態の画像処理装置1は、DRAM10と、シーケンサ20と、歪補正範囲算出部30と、入力DMA部40と、倍率色収差補正処理部50と、YC処理部60と、NR処理部70と、歪曲収差補正処理部80と、出力DMA部90と、バス100と、を備えている。本実施形態の画像処理装置1は、例えば、静止画用カメラなどの撮像装置に備えられる。
【0038】
本実施形態の画像処理装置1における画像処理は、図1に示したように、入力DMA部40、倍率色収差補正処理部50、YC処理部60、NR処理部70、歪曲収差補正処理部80、および出力DMA部90が直列に接続されたパイプライン処理によって、それぞれの構成要素における画像処理を順次行う。図1をみてわかるように、画像処理装置1によるパイプライン処理では、1つのパイプライン、いわゆる、1パスのパイプライン内で倍率色収差補正と歪曲収差補正との歪補正を分けて行う。
【0039】
DRAM10は、バス100に接続され、撮像装置において処理される様々なデータを記憶する。例えば、撮像装置に備えた図示しないイメージャから出力された静止画像の画像データ(以下、「Bayerデータ」ともいう)を記憶する。本実施形態の画像処理装置1においては、DRAM10に記憶された1フレームのBayerデータを、複数の矩形のブロックに分割し、分割したブロック単位でそれぞれの構成要素による画像処理を行う。
【0040】
シーケンサ20は、本実施形態の画像処理装置1のパイプライン処理を行う際、パイプラインを構成する各構成要素の処理シーケンスを制御する。シーケンサ20は、パイプライン処理を行うブロックに応じた設定および処理の開始を制御する制御信号を、各構成要素に出力する。シーケンサ20は、画像処理装置1のパイプライン処理を開始する前に、それぞれの構成要素が画像処理を行って出力するブロックの画像データ(以下、「ブロック画像データ」という)の出力範囲に応じた、画像処理前のブロック画像データの入力範囲を算出する。なお、シーケンサ20は、倍率色収差補正処理部50および歪曲収差補正処理部80に設定する画像処理(歪補正)前のブロック画像データの入力範囲は、歪補正範囲算出部30に算出させる。シーケンサ20は、シーケンサ20自体が算出した、または歪補正範囲算出部30に算出させた処理を行うブロックのブロック画像データの入力範囲を、各構成要素に設定した後、それぞれの構成要素に処理を開始させる。
【0041】
歪補正範囲算出部30は、シーケンサ20による設定および制御信号に応じて、歪補正処理を行った後に出力するブロック画像データの出力範囲に対応した、歪補正処理前のブロック画像データの入力範囲を算出する。歪補正範囲算出部30は、歪曲収差補正処理部80による歪曲収差の補正処理前のブロック画像データの入力範囲と、倍率色収差補正処理部50による倍率色収差の補正処理前のブロック画像データの入力範囲とを、それぞれ算出する。歪補正範囲算出部30は、シーケンサ20による1回の処理開始の制御(1回の開始トリガの入力)で、歪曲収差補正処理部80による歪曲収差の補正処理前のブロック画像データの入力範囲の算出と、倍率色収差補正処理部50による倍率色収差の補正処理前のブロック画像データの入力範囲の算出とを、連続して行う。また、歪補正範囲算出部30は、歪曲収差補正処理部80と倍率色収差補正処理部50とのそれぞれのブロック画像データの入力範囲の算出が終了する毎に、ブロック画像データの入力範囲の算出が終了したことを表す終了割込(終了割込1および終了割込2)を、順次シーケンサ20に出力する。なお、歪補正範囲算出部30の構成および動作に関しては、後述する。
【0042】
入力DMA部40は、DRAM10に記憶しているブロック画像データ(以下、「ブロックBayerデータ」ともいう)を読み出して、パイプラインの次の構成要素である倍率色収差補正処理部50に出力するためのパイプラインの構成要素である。入力DMA部40は、シーケンサ20から入力された制御信号に応じて、バス100を介してDRAM10からブロックBayerデータを読み出し、読み出したブロックBayerデータを、倍率色収差補正処理部50に出力する。
【0043】
倍率色収差補正処理部50は、入力されたブロック画像データ(ブロックBayerデータ)の倍率色収差を補正するためのパイプラインの構成要素である。倍率色収差補正処理部50は、シーケンサ20から入力された制御信号に応じて、ブロックBayerデータの倍率色収差を補正したブロックBayerデータを生成し、生成した倍率色収差を補正した後のブロックBayerデータを、YC処理部60に出力する。
【0044】
YC処理部60は、入力された倍率色収差を補正した後のブロック画像データ(ブロックBayerデータ)に対して種々のデジタル的な画像処理を行って、Y(輝度)データおよびC(色)データを生成するためのパイプラインの構成要素である。YC処理部60は、シーケンサ20から入力された制御信号に応じて、倍率色収差補正処理部50から入力されたブロックBayerデータに応じたYデータおよびCデータ(以下、まとめて、「ブロックYCbCrデータ」ともいう)を生成し、生成したブロックYCbCrデータを、NR処理部70に出力する。
【0045】
NR処理部70は、入力されたブロック画像データ(ブロックYCbCrデータ)に対して種々のデジタル的な画像処理を行って、ブロックYCbCrデータに含まれるノイズを低減するためのパイプラインの構成要素である。NR処理部70は、シーケンサ20から入力された制御信号に応じて、YC処理部60から入力されたブロックYCbCrデータに含まれるノイズを低減し、ノイズを低減したブロックYCbCrデータを、歪曲収差補正処理部80に出力する。
【0046】
歪曲収差補正処理部80は、入力されたノイズを低減したブロック画像データ(ブロックYCbCrデータ)の歪曲収差を補正するためのパイプラインの構成要素である。歪曲収差補正処理部80は、シーケンサ20から入力された制御信号に応じて、ノイズを低減したブロックYCbCrデータの歪曲収差を補正したブロックYCbCrデータを生成し、生成した歪曲収差を補正した後のブロックYCbCrデータを、出力DMA部90に出力する。
【0047】
出力DMA部90は、入力された歪曲収差を補正した後のブロック画像データ(ブロックYCbCrデータ)を、DRAM10に書き込む(記憶する)ためのパイプラインの構成要素である。出力DMA部90は、シーケンサ20から入力された制御信号に応じて、歪曲収差補正処理部80から入力された歪曲収差を補正した後のブロックYCbCrデータを、バス100を介してDRAM10に出力する。
【0048】
このように、画像処理装置1内の各構成要素が、1フレームのBayerデータを分割したブロック毎に、シーケンサ20から出力された制御信号に応じた画像処理を順次行うことによって、各ブロックのBayerデータに対する一連の画像処理を行う。
【0049】
次に、歪補正範囲算出部30について説明する。図2は、本実施形態の画像処理装置1に備えた歪補正範囲算出部30の基本構成を示したブロック図である。図2に示したように、歪補正範囲算出部30は、歪曲収差補正座標変換係数設定レジスタ31と、歪曲収差補正出力範囲設定レジスタ32と、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33と、倍率色収差補正座標変換係数設定レジスタ34と、歪補正範囲算出ブロック35と、歪曲収差補正入力範囲結果レジスタ36と、倍率色収差補正入力範囲結果レジスタ37と、を備えている。
【0050】
シーケンサ20は、歪補正範囲算出部30に歪曲収差補正処理部80と倍率色収差補正処理部50とのそれぞれのブロック画像データの入力範囲の算出を行わせるとき、歪曲収差補正座標変換係数設定レジスタ31と、歪曲収差補正出力範囲設定レジスタ32と、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33と、倍率色収差補正座標変換係数設定レジスタ34とに、それぞれ必要な設定を行い、歪補正範囲算出部30によるブロック画像データの入力範囲の算出を開始させる。
【0051】
歪曲収差補正出力範囲設定レジスタ32には、歪曲収差補正処理部80が出力する歪曲収差を補正した後のブロック画像データ(ブロックYCbCrデータ)の範囲を、歪曲収差補正出力範囲として設定する。
【0052】
歪曲収差補正座標変換係数設定レジスタ31には、NR処理部70が出力するノイズを低減した後のブロック画像データ(ブロックYCbCrデータ)内のそれぞれの画素の位置を座標変換するため、例えば、ブロック画像データ(ブロックYCbCrデータ)内のそれぞれの画素毎に、光学系の中心からの距離を近似して表した、歪曲収差補正の座標変換係数を設定する。より具体的には、歪曲収差補正出力範囲設定レジスタ32設定された歪曲収差を補正した後のブロックYCbCrデータの出力範囲内に含まれるそれぞれの画素の位置(座標)を、歪曲収差補正を行う前の歪んでいる状態のブロックYCbCrデータの範囲内の画素の位置(座標)に変換するための係数を、歪曲収差補正座標変換係数として設定する。
【0053】
倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33には、倍率色収差補正処理部50と歪曲収差補正処理部80との間で行われる画像処理(本実施形態においては、YC処理部60とNR処理部70とによる画像処理)によって失われるブロック画像データ(ブロックYCbCrデータ)のデータ数を、倍率色収差〜歪曲収差間画像処理糊代として設定する。すなわち、歪曲収差補正処理部80に入力する歪曲収差補正をする前のブロックYCbCrデータの範囲と、倍率色収差補正処理部50が出力する倍率色収差を補正した後のブロックBayerデータの範囲との差分を、倍率色収差〜歪曲収差間画像処理糊代として設定する。
【0054】
この倍率色収差〜歪曲収差間画像処理糊代の値は、倍率色収差補正処理部50と歪曲収差補正処理部80との間で行われる画像処理(本実施形態においては、YC処理部60とNR処理部70とによる画像処理)の特性に応じた値である。例えば、倍率色収差〜歪曲収差間画像処理糊代の値は、倍率色収差補正処理部50と歪曲収差補正処理部80との間で行われるYC処理部60とNR処理部70とのそれぞれのフィルタサイズに基づいて算出する。この場合、例えば、YC処理部60のフィルタサイズが7×7で、NR処理部70のフィルタサイズが33×33であった場合、倍率色収差〜歪曲収差間画像処理糊代の値は、(7−1)+(33−1)=38となる。この値は、YC処理部60とNR処理部70とのそれぞれのフィルタによって失われるデータ数と同等である。
【0055】
倍率色収差補正座標変換係数設定レジスタ34には、入力されたブロック画像データ(ブロックBayerデータ)内のそれぞれの画素の位置を座標変換するため、例えば、ブロック画像データ(ブロックBayerデータ)内のそれぞれの画素毎に、光学系の中心からの距離を近似して表した、倍率色収差補正の座標変換係数を設定する。より具体的には、歪曲収差補正処理部80に入力する歪曲収差補正をする前のブロックYCbCrデータの入力範囲内に含まれるそれぞれの画素の位置(座標)を、倍率色収差補正を行う前の歪んでいる状態のブロックBayerデータの範囲内の画素の位置(座標)に変換するための係数を、倍率色収差補正座標変換係数として設定する。これは、倍率色収差補正処理部50による倍率色収差補正は、歪曲収差補正処理部80による歪曲収差補正よりも先に行われる歪補正処理であるためである。
【0056】
歪補正範囲算出ブロック35は、シーケンサ20から入力された処理開始の制御信号(開始トリガ)に応じて、まず、歪曲収差補正座標変換係数と歪曲収差補正出力範囲とに基づいて、歪曲収差補正処理部80による歪曲収差の補正処理前のブロック画像データ(ブロックYCbCrデータ)の入力範囲を、歪曲収差補正入力範囲として算出する。そして、歪補正範囲算出ブロック35は、歪曲収差補正入力範囲の算出が終了したことを表す終了割込1を、シーケンサ20に出力する。
【0057】
続いて、歪補正範囲算出ブロック35は、算出した歪曲収差補正入力範囲と、倍率色収差〜歪曲収差間画像処理糊代と、倍率色収差補正座標変換係数とに基づいて、倍率色収差補正処理部50による倍率色収差の補正処理前のブロック画像データ(ブロックBayerデータ)の入力範囲を、倍率色収差補正入力範囲として算出する。そして、歪補正範囲算出ブロック35は、倍率色収差補正入力範囲の算出が終了したことを表す終了割込2を、シーケンサ20に出力する。
【0058】
このように、歪補正範囲算出ブロック35は、最初に歪曲収差補正入力範囲を算出し、続いて、歪補正範囲算出ブロック35自体が算出した歪曲収差補正入力範囲を、倍率色収差補正の出力範囲として、倍率色収差補正入力範囲の算出を行う。
【0059】
歪曲収差補正入力範囲結果レジスタ36は、歪補正範囲算出ブロック35が算出した歪曲収差補正入力範囲を、歪補正範囲算出部30が算出した歪曲収差補正入力範囲の結果として保持する。
【0060】
倍率色収差補正入力範囲結果レジスタ37は、歪補正範囲算出ブロック35が算出した倍率色収差補正入力範囲を、歪補正範囲算出部30が算出した倍率色収差補正入力範囲の結果として保持する。
【0061】
このような構成によって、歪補正範囲算出部30は、シーケンサ20から入力された1回の開始トリガに応じて、歪曲収差補正入力範囲の算出と、倍率色収差補正入力範囲の算出とを、自動で連続して行うことができる。
【0062】
次に、歪補正範囲算出部30についてより詳細に説明する。図3は、本実施形態の画像処理装置1に備えた歪補正範囲算出部30の概略構成を示したブロック図である。図3に示したように、歪補正範囲算出部30は、歪補正範囲算出ブロック35として、制御部351と、セレクタ352と、座標変換部353と、セレクタ354と、範囲拡張部355と、セレクタ356と、を備えている。
【0063】
制御部351は、歪補正範囲算出ブロック35による歪曲収差補正入力範囲の算出、または倍率色収差補正入力範囲の算出の全体を制御する。制御部351は、シーケンサ20から入力された開始トリガに応じて、歪曲収差補正入力範囲の算出、または倍率色収差補正入力範囲の算出を行うための制御信号を、歪補正範囲算出ブロック35内の各構成要素に出力する。また、制御部351は、座標変換部353から入力された終了割込を、歪曲収差補正入力範囲の算出が終了したことを表す終了割込1、または倍率色収差補正入力範囲の算出が終了したことを表す終了割込2として、シーケンサ20に出力する。なお、制御部351による歪補正範囲算出ブロック35の制御に関しては、後述する。
【0064】
セレクタ352は、制御部351から入力された制御信号に応じて、歪曲収差補正座標変換係数設定レジスタ31に設定された歪曲収差補正座標変換係数、または倍率色収差補正座標変換係数設定レジスタ34に設定された倍率色収差補正座標変換係数のいずれか一方の座標変換係数を選択し、選択した座標変換係数を、座標変換部353に出力する。
【0065】
座標変換部353は、セレクタ352から入力された座標変換係数と、セレクタ356から入力された歪補正出力範囲とに基づいて、歪補正入力範囲を算出し、算出した歪補正入力範囲をセレクタ354に出力する。より具体的には、セレクタ356から入力された歪補正出力範囲を、出力するブロック画像データの出力範囲とし、セレクタ352から入力された座標変換係数に基づいて、歪補正出力範囲内のブロック画像データに含まれるそれぞれの画素に対応した、歪補正処理を行う前のブロック画像データ内の画素の位置(座標)を算出、すなわち、座標変換する。これにより、歪んでいる状態のブロック画像データの入力領域が求められる。そして、座標変換部353は、座標変換によって求めた入力領域に外接する(囲む)矩形の範囲を、歪補正入力範囲として算出し、算出した歪補正入力範囲を、セレクタ354に出力する。また、座標変換部353は、歪補正入力範囲の算出が終了したことを表す終了割込を、制御部351に出力する。
【0066】
セレクタ354は、制御部351から入力された制御信号に応じて、座標変換部353から入力された歪補正入力範囲を、歪補正範囲算出ブロック35が算出した歪曲収差補正入力範囲、または倍率色収差補正入力範囲の算出結果として、歪曲収差補正入力範囲結果レジスタ36、または倍率色収差補正入力範囲結果レジスタ37のいずれか一方の入力範囲結果レジスタに出力する。
【0067】
範囲拡張部355は、歪曲収差補正入力範囲結果レジスタ36に保持している歪曲収差補正入力範囲に、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33に設定された倍率色収差〜歪曲収差間画像処理糊代を加算した歪補正出力範囲を算出する。すなわち、範囲拡張部355は、歪曲収差補正入力範囲の結果を得た後に、シーケンサ20自体が行う、NR処理部70とYC処理部60とに必要な画像データの入力範囲の算出と同等の算出を、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33に設定された倍率色収差〜歪曲収差間画像処理糊代を加算することによって行っている。従って、範囲拡張部355によって算出された歪補正出力範囲が、倍率色収差補正処理部50が出力する倍率色収差を補正した後のブロック画像データ(ブロックBayerデータ)の範囲(以下、「倍率色収差補正出力範囲」という)となる。
【0068】
セレクタ356は、制御部351から入力された制御信号に応じて、歪曲収差補正出力範囲設定レジスタ32に設定された歪曲収差補正出力範囲、または範囲拡張部355によって算出された倍率色収差補正出力範囲のいずれか一方の歪補正出力範囲を選択し、選択した歪補正出力範囲を、座標変換部353に出力する。
【0069】
次に、歪補正範囲算出部30の動作について、図4および図5を参照して説明する。図4は、本実施形態の画像処理装置1に備えた歪補正範囲算出部30による入力範囲の算出処理の手順を示したフローチャートである。図5は、本実施形態の画像処理装置1に備えた歪補正範囲算出部30による入力範囲の算出処理の動作の一例を模式的に示した図である。
【0070】
シーケンサ20は、ブロック画像データのパイプライン処理を開始する前に、パイプラインを構成する倍率色収差補正処理部50、YC処理部60、NR処理部70、および歪曲収差補正処理部80のそれぞれが、画像処理を行って出力するブロックの画像データの出力範囲に応じた、画像処理前の画像データの入力範囲を算出する。まず、ステップS10において、シーケンサ20は、歪曲収差補正座標変換係数設定レジスタ31と、歪曲収差補正出力範囲設定レジスタ32と、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33と、倍率色収差補正座標変換係数設定レジスタ34とに、それぞれ必要な設定を行う。
【0071】
より具体的には、シーケンサ20は、歪補正範囲算出部30の歪曲収差補正座標変換係数設定レジスタ31に、歪曲収差補正座標変換係数を設定し、歪曲収差補正出力範囲設定レジスタ32に、歪曲収差補正出力範囲を設定する。ここでは、歪曲収差補正出力範囲設定レジスタ32に設定する歪曲収差補正出力範囲として、図5(a)に示した歪曲収差補正出力範囲Aが設定されたものとする。また、シーケンサ20は、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33に倍率色収差〜歪曲収差間画像処理糊代を設定する。ここでは、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33に設定する倍率色収差〜歪曲収差間画像処理糊代として、図5(b)に示した倍率色収差〜歪曲収差間画像処理糊代cdが設定されたものとする。また、シーケンサ20は、倍率色収差補正座標変換係数設定レジスタ34に、倍率色収差補正座標変換係数を設定する。
【0072】
続いて、ステップS20において、シーケンサ20は、歪補正範囲算出部30に開始トリガを印加(出力)する。これにより、歪補正範囲算出部30は、ステップS30以降において、シーケンサ20から入力された開始トリガに応じた、歪曲収差補正処理部80による歪曲収差の補正処理前のブロック画像データの入力範囲と、倍率色収差補正処理部50による倍率色収差の補正処理前のブロック画像データの入力範囲との算出処理が開始される。
【0073】
ステップS30において、制御部351は、まず、セレクタ352に、歪曲収差補正座標変換係数設定レジスタ31に設定された歪曲収差補正座標変換係数を選択させ、セレクタ356に、歪曲収差補正出力範囲設定レジスタ32に設定された歪曲収差補正出力範囲を選択させる制御信号を出力する。これにより、座標変換部353には、歪曲収差補正座標変換係数と歪曲収差補正出力範囲とが入力される。
【0074】
その後、制御部351は、座標変換部353に歪補正入力範囲の算出処理を開始させる。座標変換部353では、セレクタ356から入力された歪曲収差補正出力範囲Aを、出力するブロック画像データの出力範囲とし、セレクタ352から入力された歪曲収差補正座標変換係数に基づいて、歪曲収差補正出力範囲A内のブロック画像データに含まれるそれぞれの画素に対応した、歪曲収差補正処理を行う前のブロック画像データ内の画素の位置(座標)に座標変換する。これにより、図5(a)に示したような、歪曲収差で歪んでいる状態のブロック画像データの入力領域aが求められる。そして、座標変換部353は、座標変換によって求めた入力領域aに外接する(囲む)矩形の範囲を、歪曲収差補正入力範囲B(図5(a)参照)として算出し、算出した歪曲収差補正入力範囲Bを、セレクタ354に出力する。また、座標変換部353は、歪曲収差補正入力範囲Bの算出が終了したことを表す終了割込を、制御部351に出力する。
【0075】
続いて、ステップS40において、制御部351は、セレクタ354に、座標変換部353から入力された歪補正入力範囲の出力先として、歪曲収差補正入力範囲結果レジスタ36を選択させる制御信号を出力する。これにより、座標変換部353が算出した歪曲収差補正入力範囲Bが、歪曲収差補正入力範囲結果レジスタ36に出力され、保持される。
【0076】
また、ステップS50において、制御部351は、座標変換部353から入力された終了割込を、歪補正範囲算出部30によって歪曲収差補正入力範囲Bの算出が終了したことを表す終了割込1として、シーケンサ20に出力する。これにより、シーケンサ20は、歪曲収差補正入力範囲結果レジスタ36に保持された歪曲収差補正入力範囲Bを読み出して、歪曲収差補正処理部80に設定することができる。
【0077】
また、ステップS60において、範囲拡張部355は、歪曲収差補正入力範囲結果レジスタ36に保持された歪曲収差補正入力範囲Bに、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33設定された倍率色収差〜歪曲収差間画像処理糊代cdを加算して、歪補正出力範囲を拡張した倍率色収差補正出力範囲Eを算出する。
【0078】
続いて、ステップS70において、制御部351は、まず、セレクタ352に、倍率色収差補正座標変換係数設定レジスタ34に設定された倍率色収差補正座標変換係数を選択させ、セレクタ356に、範囲拡張部355によって算出された倍率色収差補正出力範囲Eを選択させる制御信号を出力する。これにより、座標変換部353には、倍率色収差補正座標変換係数と倍率色収差補正出力範囲Eとが入力される。
【0079】
その後、制御部351は、座標変換部353に歪補正入力範囲の算出処理を再度開始させる。座標変換部353では、セレクタ356から入力された倍率色収差補正出力範囲Eを、出力するブロック画像データの出力範囲とし、セレクタ352から入力された倍率色収差補正座標変換係数に基づいて、倍率色収差補正出力範囲E内のブロック画像データに含まれるそれぞれの画素に対応した、倍率色収差補正処理を行う前のブロック画像データ内の画素の位置(座標)に座標変換する。これにより、図5(c)に示したような、倍率色収差で歪んでいる状態のブロック画像データの入力領域eが求められる。そして、座標変換部353は、座標変換によって求めた入力領域eに外接する(囲む)矩形の範囲を、倍率色収差補正入力範囲F(図5(c)参照)として算出し、算出した倍率色収差補正入力範囲Fを、セレクタ354に出力する。また、座標変換部353は、倍率色収差補正入力範囲Fの算出が終了したことを表す終了割込を、制御部351に出力する。
【0080】
続いて、ステップS80において、制御部351は、セレクタ354に、座標変換部353から入力された歪補正入力範囲の出力先として、倍率色収差補正入力範囲結果レジスタ37を選択させる制御信号を出力する。これにより、座標変換部353が算出した倍率色収差補正入力範囲Fが、倍率色収差補正入力範囲結果レジスタ37に出力され、保持される。
【0081】
また、ステップS90において、制御部351は、座標変換部353から入力された終了割込を、歪補正範囲算出部30によって倍率色収差補正入力範囲Fの算出が終了したことを表す終了割込2として、シーケンサ20に出力し、ブロック画像データの入力範囲の算出処理を完了する。これにより、シーケンサ20は、倍率色収差補正入力範囲結果レジスタ37に保持された倍率色収差補正入力範囲Fを読み出して、倍率色収差補正処理部50に設定することができる。
【0082】
このようにして、歪補正範囲算出部30は、最初に歪曲収差補正入力範囲Bを算出し、算出した歪曲収差補正入力範囲Bと倍率色収差〜歪曲収差間画像処理糊代とに基づいて、倍率色収差補正出力範囲Eを算出し、さらに、倍率色収差補正入力範囲Fを算出する。これにより、歪補正範囲算出部30では、シーケンサ20から入力された1回の開始トリガに応じた、歪曲収差補正処理部80による歪曲収差の補正処理前のブロック画像データの入力範囲の算出と、倍率色収差補正処理部50による倍率色収差の補正処理前のブロック画像データの入力範囲の算出とを、自動で連続して行うことができる。
【0083】
これにより、画像処理装置1では、シーケンサ20が、歪曲収差補正入力範囲結果レジスタ36に保持された歪曲収差補正入力範囲Bと、倍率色収差補正入力範囲結果レジスタ37に保持された倍率色収差補正入力範囲Fとを、歪曲収差補正処理部80と倍率色収差補正処理部50とに、それぞれ設定することができる。また、画像処理装置1では、歪補正範囲算出部30が自動で倍率色収差補正入力範囲Fを算出するため、倍率色収差補正入力範囲Fを算出している間に、シーケンサ20自体が行うNR処理部70とYC処理部60とに必要な画像データの入力範囲の算出と設定を行うことができる。そして、シーケンサ20は、倍率色収差補正処理部50に倍率色収差補正入力範囲Fを設定した後、入力DMA部40が読み出すべきブロック画像データ(ブロックBayerデータ)の大きさや位置を設定して、画像処理装置1のパイプライン処理を実行することができる。
【0084】
ここで、画像処理装置1のパイプライン処理について説明する。図6は、本実施形態の画像処理装置1におけるパイプライン処理のタイミングを示したタイミングチャートである。なお、図6に示したタイミングチャートは、ブロックNのパイプライン処理を実行している間に、ブロックN+1のパイプライン処理を行うための各画像処理部(倍率色収差補正処理部50、YC処理部60、NR処理部70、および歪曲収差補正処理部80)の設定を行う場合のタイミングを示している。
【0085】
ブロックNのパイプライン処理を開始すると、まず、シーケンサ20は、処理Aにおいて、歪補正範囲算出部30内の各レジスタにそれぞれ必要な設定を行い、開始トリガを出力して入力範囲の算出処理を開始させる。
【0086】
これにより、歪補正範囲算出部30は、歪曲収差補正処理部80による歪曲収差の補正処理前のブロック画像データの入力範囲(図5(a)に示した歪曲収差補正入力範囲B)の算出処理a(図4に示したステップS30〜ステップS50)を実行し、終了割込1をシーケンサ20に出力する。また、歪補正範囲算出部30は、引き続き、倍率色収差補正処理部50による倍率色収差の補正処理前のブロック画像データの入力範囲(図5(c)に示した倍率色収差補正入力範囲F)の算出処理e(図4に示したステップS60〜ステップS90)を実行する。
【0087】
歪補正範囲算出部30から、終了割込1が入力されると、シーケンサ20は、処理Bにおいて、歪補正範囲算出部30が算出した歪曲収差補正入力範囲Bを、歪曲収差補正処理部80に設定する。
【0088】
続いて、シーケンサ20は、処理Cにおいて、歪補正範囲算出部30が算出した歪曲収差補正入力範囲Bに基づいて、NR処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、NR処理部に必要な設定を行う。続いて、シーケンサ20は、処理Dにおいて、算出したNR処理部に必要な画像データの入力範囲に基づいて、YC処理部に必要な画像データの入力範囲を算出し、算出した画像データの入力範囲に基づいて、YC処理部に必要な設定を行う。
【0089】
その後、歪補正範囲算出部30は、算出処理eが終了すると、終了割込2をシーケンサ20に出力する。歪補正範囲算出部30から、終了割込2が入力されると、シーケンサ20は、処理Fにおいて、歪補正範囲算出部30が算出した倍率色収差補正入力範囲Fを、倍率色収差補正処理部50に設定する。これにより、次のブロックN+1のパイプライン処理を開始することができるようになる。
【0090】
このように、シーケンサ20は、次のブロックN+1のパイプライン処理を行う際のブロック画像データの入力範囲の算出と設定との動作を事前に行う。以降、同様に、シーケンサ20は、その次のブロックN+2以降のパイプライン処理を行うための動作を行う。
【0091】
図6を見てわかるように、シーケンサ20は、歪補正範囲算出部30が入力範囲の算出処理を行っている期間でも、NR処理部70に必要な設定やYC処理部60に必要な設定を行うことができる。これにより、画像処理装置1では、従来の画像処理装置におけるパイプライン処理よりも、シーケンサ20が歪補正範囲算出部30の算出結果を待っている、すなわち、シーケンサ20が何も動作を行っていない期間を短くすることができる。このことにより、画像処理装置1では、パイプライン処理の処理時間のロスをなくすことができる。
【0092】
上記に述べたとおり、本発明を実施するための形態によれば、歪補正範囲算出部に、倍率色収差補正と歪曲収差補正との座標変換係数を、それぞれの別に設定する。また、歪補正範囲算出部には、倍率色収差補正と歪曲収差補正との間で行われる他の画像処理によって失われる画像データの数(他の画像処理部の入力範囲と出力範囲との差分)を設定する。そして、シーケンサから入力された1回の開始トリガに応じて、歪補正範囲算出部が、歪曲収差補正処理部に設定する画像データの入力範囲の算出に引き続き、倍率色収差補正処理部に設定する画像データの入力範囲の算出を自動で行う。これにより、本発明を実施するための形態の画像処理装置では、光学系の歪みを補正する画像処理である倍率色収差補正処理部と歪曲収差補正処理部とを分けて1つのパイプライン内に構成した、いわゆる、1パスのパイプラインである場合でも、倍率色収差補正と歪曲収差補正とのそれぞれに適した入力範囲の算出を、正確に行うことができる。また、本発明を実施するための形態の画像処理装置では、1つのパイプライン(1パスのパイプライン)内に倍率色収差補正処理部と歪曲収差補正処理部とを構成しているため、DRAMに対する画像処理に関するアクセス回数が増加することなく、画像処理に伴うDRAMのバス帯域を圧迫してしまうことがない。
【0093】
また、本発明を実施するための形態によれば、歪補正範囲算出部が、倍率色収差補正処理部と歪曲収差補正処理部とに設定する画像データの入力範囲を算出している期間中に、シーケンサが、倍率色収差補正処理部と歪曲収差補正処理部との間に行われる他の画像処理部に必要な画像データの入力範囲の算出と設定とを行うことができる。これにより、本発明を実施するための形態の画像処理装置では、シーケンサが歪補正範囲算出部の処理が完了するのを待っている、何も動作しない期間を短くすることができる。このことにより、本発明を実施するための形態の画像処理装置では、従来の画像処理装置のパイプライン処理において、それぞれのパイプライン処理の間に発生していた処理時間のロスをなくすことができる。これにより、本発明を実施するための形態の画像処理装置における画像処理の高速を実現することができる。
【0094】
なお、本実施形態においては、倍率色収差補正処理部50と歪曲収差補正処理部80との間で行われる画像処理が、YC処理部60およびNR処理部70による画像処理である場合について説明した。しかし、倍率色収差補正処理部50と歪曲収差補正処理部80との間で行われる画像処理は、本発明を実施するための形態に限定されるものではなく、様々な画像処理を行うことができる。この場合には、倍率色収差補正処理部50と歪曲収差補正処理部80との間で行われる画像処理の特性に応じた倍率色収差〜歪曲収差間画像処理糊代を、歪補正範囲算出部30内の倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33に設定することになる。
【0095】
また、本実施形態においては、歪補正範囲算出部に、倍率色収差補正と歪曲収差補正との座標変換係数を、それぞれの別に設定している。一般的に、倍率色収の方が、歪曲収差よりも歪みの量が少ないことが考えられる。このため、倍率色収差補正の座標変換係数を、歪曲収差補正の座標変換係数よりも少ない係数にすることができる。
【0096】
なお、本実施形態においては、歪補正範囲算出部30が、歪曲収差補正処理部80に設定する歪曲収差補正入力範囲Bと、倍率色収差補正処理部50に設定する倍率色収差補正入力範囲Fとを両方算出する場合について説明したが、歪補正範囲算出部30が、いずれか一方の入力範囲を算出する、すなわち、歪曲収差補正入力範囲Bと倍率色収差補正入力範囲Fとを単独で算出する構成とすることもできる。
【0097】
例えば、歪曲収差補正入力範囲Bのみを算出する場合には、シーケンサ20が、倍率色収差〜歪曲収差間画像処理糊代設定レジスタ33と倍率色収差補正座標変換係数設定レジスタ34とを設定せずに、開始トリガを印加(出力)する構成とし、歪補正範囲算出部30から入力された終了割込2を無視する構成とすることによって実現することができる。 また、例えば、制御部351に、シーケンサ20から入力された歪曲収差補正の開始トリガに応じて、歪曲収差補正入力範囲Bのみを算出する構成を追加し、歪曲収差補正座標変換係数設定レジスタ31と歪曲収差補正出力範囲設定レジスタ32とを設定した後に、シーケンサ20が歪曲収差補正の開始トリガを印加(出力)する構成とすることによって実現することもできる。
【0098】
また、例えば、倍率色収差補正入力範囲Fのみを算出する場合には、歪曲収差補正座標変換係数設定レジスタ31に、倍率色収差補正の座標変換係数を設定し、歪曲収差補正出力範囲設定レジスタ32に、倍率色収差補正処理部50が出力する倍率色収差を補正した後のブロック画像データ(ブロックBayerデータ)の範囲を、歪曲収差補正出力範囲の代わりに設定することによって実現することができる。また、例えば、制御部351に、シーケンサ20から入力された倍率色収差補正の開始トリガに応じて、倍率色収差補正入力範囲Fのみを算出する構成を追加し、歪曲収差補正入力範囲Bが、歪曲収差補正入力範囲結果レジスタ36に保持されている状態で、シーケンサ20が倍率色収差補正の開始トリガを印加(出力)する構成とすることによって実現することもできる。
【0099】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【0100】
1・・・画像処理装置
10・・・DRAM
20・・・シーケンサ
30・・・歪補正範囲算出部
31・・・歪曲収差補正座標変換係数設定レジスタ
32・・・歪曲収差補正出力範囲設定レジスタ
33・・・倍率色収差〜歪曲収差間画像処理糊代設定レジスタ
34・・・倍率色収差補正座標変換係数設定レジスタ
35・・・歪補正範囲算出ブロック(座標変換部,座標変換係数選択部,範囲拡張部,出力範囲選択部)
351・・・制御部
352・・・セレクタ(座標変換係数選択部)
353・・・座標変換部
354・・・セレクタ(座標変換部)
355・・・範囲拡張部
356・・・セレクタ(出力範囲選択部)
36・・・歪曲収差補正入力範囲結果レジスタ(歪曲収差補正入力範囲保持部)
37・・・倍率色収差補正入力範囲結果レジスタ
40・・・入力DMA部
50・・・倍率色収差補正処理部
60・・・YC処理部(画像処理部)
70・・・NR処理部(画像処理部)
80・・・歪曲収差補正処理部
90・・・出力DMA部
100・・・バス

【特許請求の範囲】
【請求項1】
少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、1つのパイプライン内に構成された画像処理パイプラインと、
前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、
前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す、予め設定された歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、前記画像処理部の特性に応じて決定された、予め設定された画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、
を備える、
ことを特徴とする画像処理装置。
【請求項2】
前記歪補正範囲算出部は、
前記シーケンサからの1回の算出動作開始の制御に応じて、前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行い、
前記歪曲収差補正入力範囲の算出または前記倍率色収差補正入力範囲の算出が終わる毎に、前記歪曲収差補正入力範囲の算出が終了したことを表す割込信号と、前記倍率色収差補正入力範囲の算出が終了したことを表す割込信号とを、前記シーケンサに順次出力する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記歪補正範囲算出部は、
画像データの出力範囲と該出力範囲内に含まれるそれぞれの画素の位置を表す座標を変換する座標変換係数とに基づいて、画像データの入力範囲を算出する座標変換部と、
前記座標変換部によって算出された前記画像データの入力範囲を、前記歪曲収差補正入力範囲として保持する歪曲収差補正入力範囲保持部と、
前記歪曲収差補正座標変換係数または前記倍率色収差補正座標変換係数のいずれか一方を選択する座標変換係数選択部と、
前記歪曲収差補正入力範囲保持部に保持されている前記歪曲収差補正入力範囲を、前記画像処理糊代に基づいて拡張することによって、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲を表す倍率色収差補正出力範囲を算出する範囲拡張部と、
前記歪曲収差補正出力範囲または前記範囲拡張部によって算出された前記倍率色収差補正出力範囲のいずれか一方を選択する出力範囲選択部と、
を備え、
前記歪曲収差補正入力範囲を算出するとき、
前記座標変換係数選択部は、
前記歪曲収差補正座標変換係数を選択し、該選択した前記歪曲収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、
前記出力範囲選択部は、
前記歪曲収差補正出力範囲を選択し、該選択した前記歪曲収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、
前記座標変換部は、
入力された前記歪曲収差補正出力範囲と前記歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正入力範囲を算出し、該算出した前記歪曲収差補正入力範囲を前記歪曲収差補正入力範囲保持部に出力し、
前記倍率色収差補正入力範囲を算出するとき、
前記座標変換係数選択部は、
前記倍率色収差補正座標変換係数を選択し、該選択した前記倍率色収差補正座標変換係数を、前記座標変換係数として前記座標変換部に出力し、
前記出力範囲選択部は、
前記倍率色収差補正出力範囲を選択し、該選択した前記倍率色収差補正出力範囲を、前記画像データの出力範囲として前記座標変換部に出力し、
前記座標変換部は、
入力された前記倍率色収差補正出力範囲と前記倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正入力範囲を算出する、
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記画像処理糊代は、
前記画像処理パイプライン内において、前記倍率色収差補正処理部と前記歪曲収差補正処理部との間に位置する前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分である、
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記画像処理部に入力する画像データの入力範囲と、該画像処理部によって画像処理されて出力される画像処理後の画像データの出力範囲との差分は、該画像処理部による画像処理によって失われる画像データの数である、
ことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記画像データの数は、
前記画像処理部に備えたフィルタの特性に応じて算出する、
ことを特徴とする請求項5に記載の画像処理装置。
【請求項7】
少なくとも、撮像光学系の倍率色収差を補正する倍率色収差補正処理部と、撮像光学系の歪曲収差を補正する歪曲収差補正処理部と、前記倍率色収差補正処理部によって倍率色収差が補正された画像データに対して画像処理を行い、画像処理後の画像データを前記歪曲収差補正処理部に出力する画像処理部とが、1つのパイプライン内に構成された画像処理パイプラインと、前記画像処理パイプラインに含まれるそれぞれの構成要素の動作を制御するシーケンサと、予め設定された歪曲収差補正出力範囲と歪曲収差補正座標変換係数とに基づいて、前記歪曲収差補正処理部に入力する画像処理後の画像データの入力範囲を表す歪曲収差補正入力範囲を算出し、さらに、該算出した歪曲収差補正入力範囲と、予め設定された画像処理糊代と、予め設定された倍率色収差補正座標変換係数とに基づいて、前記倍率色収差補正処理部に入力する画像データの入力範囲を表す倍率色収差補正入力範囲を算出する歪補正範囲算出部と、を備えた画像処理装置の前記シーケンサに、
前記歪曲収差補正処理部が出力する歪曲収差を補正した後の画像データの出力範囲を表す前記歪曲収差補正出力範囲と、前記歪曲収差補正出力範囲内に含まれるそれぞれの画素の位置を表す座標を、歪曲収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記歪曲収差補正座標変換係数と、前記画像処理部の特性に応じて決定した前記画像処理糊代と、前記倍率色収差補正処理部が出力する倍率色収差を補正した後の画像データの出力範囲内に含まれるそれぞれの画素の位置を表す座標を、倍率色収差を補正する前のそれぞれの画素の位置を表す座標に変換するための前記倍率色収差補正座標変換係数とを、前記歪補正範囲算出部に予め設定するステップと、
前記シーケンサから1回の算出動作開始の制御を出力し、前記歪補正範囲算出部に前記歪曲収差補正入力範囲の算出と、前記倍率色収差補正入力範囲の算出とを連続して行わせるステップと、
前記歪補正範囲算出部から前記歪曲収差補正入力範囲の算出が終了したことを表す割込信号が入力されたときに、該算出された前記歪曲収差補正入力範囲を取得するステップと、
前記歪補正範囲算出部から前記倍率色収差補正入力範囲の算出が終了したことを表す割込信号が入力されたときに、該算出された前記倍率色収差補正入力範囲を取得するステップと、
を含む、
ことを特徴とする画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−89113(P2013−89113A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−230674(P2011−230674)
【出願日】平成23年10月20日(2011.10.20)
【出願人】(000000376)オリンパス株式会社 (11,466)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】