(57)【特許請求の範囲】
【請求項１】
レンズからの距離が異なる位置にそれぞれ前記レンズと平行に設けられた複数の撮像面で撮像された、錯乱円の半径がそれぞれ異なる対象物体の複数の画像を取得する取得手段と、
前記取得手段により取得された複数の前記画像の重みを算出する第１の算出手段と、
前記取得手段により取得された複数の前記画像の平均値を算出する第２の算出手段と、
前記第１の算出手段により算出された前記重みと、前記第２の算出手段により算出された複数の前記画像の平均値に基づいて、重み付き平均を求めることにより、１つの前記対象物体にピントの合った画像を生成する画像生成手段と
を備える画像処理装置。
【請求項２】
複数の前記撮像面で前記対象物体の画像を撮像する撮像手段をさらに備える
ことを特徴とする画像処理装置。
【請求項３】
レンズからの距離が異なる位置にそれぞれ前記レンズと平行に設けられた複数の撮像面で撮像された、錯乱円の半径がそれぞれ異なる対象物体の複数の画像を取得する取得ステップと、
前記取得ステップの処理により取得された複数の前記画像の重みを算出する第１の算出ステップと、
前記取得ステップの処理により取得された複数の前記画像の平均値を算出する第２の算出ステップと、
前記第１の算出ステップの処理により算出された前記重みと、前記第２の算出ステップの処理により算出された複数の前記画像の平均値に基づいて、重み付き平均を求めることにより、１つの前記対象物体にピントの合った画像を生成する画像生成ステップと
を含む画像処理方法。
【請求項４】
レンズからの距離が異なる位置にそれぞれ前記レンズと平行に設けられた複数の撮像面で撮像され、錯乱円の半径がそれぞれ異なる対象物体の複数の画像を取得する取得ステップと、
前記取得ステップの処理により取得された複数の前記画像の重みを算出する第１の算出ステップと、
前記取得ステップの処理により取得された複数の前記画像の平均値を算出する第２の算出ステップと、
前記第１の算出ステップの処理により算出された前記重みと、前記第２の算出ステップの処理により算出された複数の前記画像の平均値に基づいて、重み付き平均を求めることにより、１つの前記対象物体にピントの合った画像を生成する画像生成ステップと
を含む処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、例えば、複数のピントのぼけ具合の異なる画像を用いて、ピントの合った１枚の画像を作成することができるようにした画像処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
最近、カメラの中でも、オートフォーカスカメラが主流になりつつある。このオートフォーカスカメラは、対象物体までの距離を測定して、その距離に対応してレンズを最適な位置（フォーカスの合った、すなわち、ピントの合った画像を撮像面に投影することができる位置）に移動させた後、対象物体を撮影することにより、ピントの合った画像を得ることができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、ピントを合わせるために、レンズを移動させるための高価な部品を必要とする課題があった。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、低コストで、レンズを移動させることなく、ピントの合った画像を作成することができるようにするものである。
【０００５】
【課題を解決するための手段】
本発明の画像処理装置は、レンズからの距離が異なる位置にそれぞれレンズと平行に設けられた複数の撮像面で撮像された、錯乱円の半径がそれぞれ異なる対象物体の複数の画像を取得する取得手段と、取得手段により取得された複数の画像の重みを算出する第１の算出手段と、取得手段により取得された複数の画像の平均値を算出する第２の算出手段と、第１の算出手段により算出された重みと、第２の算出手段により算出された複数の画像の平均値に基づいて、重み付き平均を求めることにより、１つの対象物体にピントの合った画像を生成する画像生成手段とを備えることを特徴とする。
【０００６】
本発明の画像処理装置は、複数の撮像面で対象物体の画像を撮像する撮像手段をさらに設けるようにすることができる。
【０００７】
本発明の画像処理方法は、レンズからの距離が異なる位置にそれぞれレンズと平行に設けられた複数の撮像面で撮像された、錯乱円の半径がそれぞれ異なる対象物体の複数の画像を取得する取得ステップと、取得ステップの処理により取得された複数の画像の重みを算出する第１の算出ステップと、取得ステップの処理により取得された複数の画像の平均値を算出する第２の算出ステップと、第１の算出ステップの処理により算出された重みと、第２の算出ステップの処理により算出された複数の画像の平均値に基づいて、重み付き平均を求めることにより、１つの対象物体にピントの合った画像を生成する画像生成ステップとを含むことを特徴とする。
【０００８】
本発明の記録媒体に記録されているプログラムは、レンズからの距離が異なる位置にそれぞれレンズと平行に設けられた複数の撮像面で撮像され、錯乱円の半径がそれぞれ異なる対象物体の複数の画像を取得する取得ステップと、取得ステップの処理により取得された複数の画像の重みを算出する第１の算出ステップと、取得ステップの処理により取得された複数の画像の平均値を算出する第２の算出ステップと、第１の算出ステップの処理により算出された重みと、第２の算出ステップの処理により算出された複数の画像の平均値に基づいて、重み付き平均を求めることにより、１つの対象物体にピントの合った画像を生成する画像生成ステップとを含むことを特徴とする。
【０００９】
本発明の画像処理装置および方法、並びに記録媒体に記録されているプログラムにおいては、撮像された複数の画像の重みが算出されるとともに、複数の画像の平均値が算出され、算出された重みと複数の画像の平均値に基づいて、重み付き平均が求められることにより、１つの対象物体にピントの合った画像が生成される。
【００１０】
【発明の実施の形態】
図１は、本発明を適用した実施の形態の構成例を示す図である。なお、説明をわかりやすくするために、撮像装置２と画像処理装置３は、個々に図示されているが、一体となっていてもよい。
【００１１】
撮影対象物体１は、撮影の対象になる物体である。撮像装置２は、レンズ１１（図２）からの距離が異なるCCD１２−１乃至１２−３（図２）により、撮影対象物体１の画像を撮像する。画像処理装置３は、撮像装置２で撮影された撮影対象物体１の３枚の画像を用いて、ピントの合った（フォーカスの合った）１枚の画像を作成する。
【００１２】
図２は、撮像装置２の光学系の構成例を示す図である。
【００１３】
レンズ１１は、撮影対象物体１より入射された光を、図示せぬハーフミラーを介して、CCD（Charge Coupled Device）１２−１の撮像面１２−１ａ，CCD１２−２の撮像面１２−２ａ、およびCCD１２−３の撮像面１２−３ａにそれぞれ導く。ここで、レンズ１１は、焦点距離がＺであり、直径がＤであり、撮影対象物体１との距離がＡであるとする。
【００１４】
CCD１２−１乃至１２−３は、レンズ１１の取り付け基準面から撮像面１２−１ａ乃至１２−３ａまでの距離（フランジバック）が、それぞれ異なる位置に配置されており、複数の撮像画像を得ることができる。ここで、レンズ１１の基準面とCCD１２−１の撮像面１２−１ａとの距離はB1であり、レンズ１１の基準面とCCD１２−２の撮像面１２−２ａとの距離はB2であり、レンズ１１の基準面とCCD１２−３の撮像面１２−３ａとの距離はB3であるとする。また、レンズ１１の基準面と撮影対象物体１の結像位置Ｑとの距離はＢであり、B1＜B2＜B3＜Ｂの関係が成り立つとする。
【００１５】
なお、距離B1乃至距離B3は固定されており、距離Ａの値に関わらず、それらの値は、常に一定にされるとともに、距離Ｂに対して、距離B1と距離B2の差、および、距離B2と距離B3の差が微小であるように設定されている。ただし、レンズ１１と結像位置Ｑとの距離Ｂは、撮影対象物体１とレンズ１１との距離Ａに応じて変化する。
【００１６】
CCD１２−１の撮像面１２−１ａでは、ピントがかなりずれた画像が撮像される。すなわち、錯乱円の半径がR1となる画像が撮像される。この画像は、ピントの合ったシャープな画像（レンズ１１から距離Ｂだけ離れた位置に撮像面を配置した場合に撮影される画像）に対して、半径R1のボックスフィルタをかけた画像と等価である。
【００１７】
なお、半径Ｒのボックスフィルタとは、原点から半径Ｒ内の位置（領域）においては、１／(πＲ2)であり、それ以外の位置においては、０となるフィルタのことである。
【００１８】
CCD１２−２の撮像面１２−２ａでは、CCD１２−１の撮像面１２−１ａで撮像される画像に比べると多少はピントが合っているが、それでもまだ、ピントがずれた画像が撮像される。すなわち、錯乱円の半径がR2となる画像が撮像される。この画像は、ピントの合ったシャープな画像（レンズ１１から距離Ｂだけ離れた位置に撮像面を配置した場合に撮影される画像）に対して、半径R2のボックスフィルタをかけた画像と等価である。
【００１９】
CCD１２−３の撮像面１２−３ａでは、CCD１２−２の撮像面１２−２ａで撮像される画像に比べると多少はピントが合っているが、それでもまだ、ピントがずれた画像が撮像される。すなわち、錯乱円の半径がR3となる画像が撮像される。この画像は、ピントの合ったシャープな画像（レンズ１１から距離Ｂだけ離れた位置に撮像面を配置した場合に撮影される画像）に対して、半径R3のボックスフィルタをかけた画像と等価である。
【００２０】
このように、撮像装置２では、半径R1の錯乱円である画像、半径R2の錯乱円である画像、および、半径R3の錯乱円である画像を撮像し、画像処理装置３に出力する。
【００２１】
なお、上述したように、距離B1と距離B2の差、および、距離B2と距離B3の差が微小であるように設定されているので、半径R1と半径R2、および、半径R2と半径R3は、ほぼ等しくなる。また、図２に示されるように、半径R1，半径R2、および半径R3は、R1＞R2＞R3の関係が成り立つ。
【００２２】
図３は、画像処理装置３のハードウェアの電気的構成例を示すブロック図である。
【００２３】
演算処理回路２１は、バス２５を介してプログラムメモリ２２に格納されている処理プログラムを読み出し、後述する処理を行う。プログラムメモリ２２は、演算処理回路２１が処理を行うためのプログラムや、演算処理回路２１の動作上必要なデータを記憶する。データメモリ２３は、演算前の画像データや、演算処理回路２１で処理された処理データ（ピントの合った画像データ）などを記憶する。フレームメモリ２４は、データメモリ２３に記憶された処理データを画像表示部２９に表示するために、その処理データを一旦格納する。演算処理回路２１、プログラムメモリ２２、データメモリ２３、およびフレームメモリ２４は、バス２５を介して相互に接続されているとともに、入出力インターフェース２６にも接続されている。
【００２４】
入出力インターフェース２６には、撮像装置２で撮影された複数の画像データを入力したり、処理データを外部装置に出力したりするための入出力端子２７、キーボードやマウスよりなる入力部２８、LCD（Liquid Crystal Display），CRT（Cathode Ray Tube）などより構成される画像表示部２９が接続されている。また、入出力インターフェース２６には、必要に応じて、プログラムをインストールするためのドライブ３０が接続されており、磁気ディスク４１、光ディスク４２、光磁気ディスク４３、または半導体メモリ４４などが装着される。
【００２５】
次に、本発明の実施の形態の動作を説明する前に、撮像装置２より画像処理装置３に供給される画像（以下、G(x,y)と記載する）について詳しく説明する。
【００２６】
まず、画像G(x,y）に対して、次式（１）で表わされる計算を考える。
【数１】
0004280957.tif 000002
【００２７】
ここで、H(x,y,T)は、位置(x,y）から距離Ｔだけ離れた全ての位置における画像G（x,y）の平均値を表し、θは、角度変数を表している。すなわち、上記式（１）では、位置（x,y）から(Tcos(θ),Tsin(θ))だけずれた位置の画像G(x,y)の値が、θ＝０乃至２πの間で積分され、積分された値を２πで除算することにより、画像G(x,y)の平均値が算出される。以下、画像G(x,y)の平均値は、画像H(x,y,T)と記載する。
【００２８】
この画像G(x,y)は、ピントの合ったシャープな画像F(x,y)に対して、半径Ｒだけピンぼけした画像であるとする。すなわち、錯乱円の半径がＲの画像が、画像G(x,y)であるとする。以下、錯乱円の半径がＲである画像は、画像G(x,y,R)と記載する。
【００２９】
上述したように、半径Ｒの錯乱円である画像G(x,y,R)は、ピントの合ったシャープな画像F(x,y）に対して、半径Ｒのボックスフィルタをかけた画像と等価であるので、半径Ｒの錯乱円である画像G(x,y,R)は、次式（２）で表わされる。
【数２】
0004280957.tif 000003
【００３０】
ここで、S(R)は、半径Ｒの円内を表わしている。すなわち、上記式（２）では、（u,v）だけずれた位置のシャープな画像F(x,y)の値が、半径Ｒの円内(S(R))で二重積分され、二重積分された値をπＲ2で除算することにより、画像G(x,y,R)の値が算出される。
【００３１】
この半径Ｒの錯乱円である画像G(x,y,R)の平均値は、上記式（２）を上記式（１）に代入することにより算出され、次式（３）で表わされる。
【数３】
0004280957.tif 000004
【００３２】
ここで、H(x,y,T,R)は、位置(x,y）から距離Ｔだけ離れた全ての位置における、半径Ｒの錯乱円である画像G(x,y,R)の平均値を表し、θは、角度変数を表わしている。以下、半径Ｒの錯乱円である画像G(x,y,R)の平均値は、画像H(x,y,T,R)と記載する。
【００３３】
このように、半径Ｒの錯乱円である画像G(x,y,R)に対して、上記式（１）の計算を行うことにより、新たな画像H(x,y,T,R）が得られる。この新たな画像H(x,y,T,R）は、ピントの合ったシャープな画像F(x,y)に対して、上記式（３）の計算を行うことにより得られた画像H(x,y,T,R)と一致する。
【００３４】
次に、ピントの合ったシャープな画像F(x,y)の各点の値が、上記式（３）により算出される画像H(x,y,T,R）の値にどの程度寄与しているのか否かを考える。すなわち、位置(x+p，y+q)における画像F(x,y)の値が、位置(x,y)における画像H(x,y,T,R)の値にどの程度寄与しているのか否かを表わすデータHC（x,y,x+p,y+q,T,R）を算出することを考える。
【００３５】
このデータHC（x,y,x+p,y+q,T,R）は、ピントの合ったシャープな画像F(x,y)として、位置(x+p,y+q)においては１、それ以外においては０であると仮定して、上記式（３）を算出することにより求められる。すなわち、データHC(x,y,x+p,y+q,T,R）は、デルタ関数を用いて、次式（４）で表わされる。
【数４】
0004280957.tif 000005
【００３６】
ここで、(u,v)の二重積分は、ｘ座標が、x+Tcos(θ)−(x+p)で、ｙ座標が、y+Tsin(θ)−(y+q)である点が、半径Ｒ内の位置に存在すれば１、存在しなければ０となる。すなわち、点(x+Tcos(θ),y+Tsin(θ))を中心とする半径Ｒ内に、点(x+p,y+q)が存在すれば１、存在しなければ０とする。
【００３７】
このように、上記式（４）において、(u,v)の二重積分の値が１となる範囲を図４に示す。
【００３８】
図４において、横軸をｘ軸とし、縦軸をｙ軸とする（なお、図４以降の図においても同様とする）。同図において、領域５１および領域５２は、いずれも半径Ｒの円であり、点(x,y)から距離Ｔだけ離れた位置にその円の中心があり、かつ、円周上に点(x+p,y+q)が存在する。また、ｘ軸方向に対して、点(x,y)から領域５１の中心方向の角度はφ1であり、点(x,y)から領域５２の中心方向の角度はφ2である。なお、距離Ｔは、Ｔ＞Ｒであるとする。
【００３９】
このように、角度φ1と角度φ2を定義した場合、角度φ1と角度φ2の間に角度θが存在すれば、点(x+Tcos(θ),y+Tsin(θ))を中心とする半径Ｒ内に点（x+p,y+q）が存在することになる。従って、次式（５）で表わされるように、上記式（４）を変形することができる。ここで、Δφは、Δφ＝φ2−φ1を表わしている。
【数５】
0004280957.tif 000006
【００４０】
図５は、上記式（５）により算出されるデータHC(x,y,x+p,y+q,T,R)がどのような範囲の値であるのかを示す図である。ここで、Δφは、図４に示されたφ2−φ1と等しい値である。
【００４１】
図５において、領域６１は、半径Ｒの円であり、原点Ｏから距離Ｔだけ離れた位置にその円の中心(T,0）があり、かつ、円周上に、原点Ｏからの距離がＬである点P1，P2が存在する。ここで、Ｌは、図４に示された、点(x,y）と点(x+p,y+q）との距離を表わしており、Ｌ＝√(p2+q2)である。Δφは、原点Ｏから見た、点P1と点P2からなる円弧の部分の角度を表わしている。なお、距離Ｌは、(Ｔ−Ｒ)≦Ｌ≦(Ｔ＋Ｒ)であるとする。
【００４２】
このように、距離Ｔが、Ｔ＞Ｒで、かつ、点(x,y)と点(x+p,y+q)との距離Ｌが、(Ｔ−Ｒ)≦Ｌ≦(Ｔ＋Ｒ)となる場合には、上記式（４）に示されたデータHC(x,y,x+p,y+q,T,R)の値を算出することができる。また、距離Ｔが、Ｔ＜Ｒとなる場合にも、同様に、上記式（４）に示されたデータHC(x,y,x+p,y+q,T,R)の値を算出することができる。
【００４３】
図６は、距離Ｔが、Ｔ＜Ｒで、かつ、点(x,y)と点(x+p,y+q)との距離Ｌが、(Ｒ−Ｔ)≦Ｌ≦(Ｔ＋Ｒ)となる場合に、上記式（４）により算出されるデータHC(x,y,x+p,y+q,T,R）がどのような範囲の値であるのかを示す図である。
【００４４】
図６において、領域７１は、半径Ｒの円であり、原点Ｏから距離Ｔだけ離れた位置にその円の中心(T,0)があり、かつ、円周上に、原点Ｏからの距離がＬである点P1，P2が存在する。ここで、Ｌは、図４に示された、点(x,y)と点(x+p,y+q)との距離を表わしており、Ｌ＝√(p2+q2)である。Δφは、原点Ｏから見た、点P1と点P2からなる円弧の部分の角度を表わしている。
【００４５】
図７は、距離Ｔが、Ｔ＜Ｒで、かつ、点(x,y)と点(x+p,y+q)との距離Ｌが、Ｌ＜(Ｒ−Ｔ)となる場合に、上記式（４）により算出されるデータHC(x,y,x+p,y+q,T,R)がどのような範囲の値であるのかを示す図である。
【００４６】
図７において、領域８１は、半径Ｒの円であり、かつ、原点Ｏから距離Ｔだけ離れた位置にその円の中心(T,0)がある。この場合、Δφは、全ての角度θ（０度乃至３６０度）において、(Tcos(θ),Tsin(θ))を中心とする半径Ｒ内に点(p,q)が存在するので、Δφ＝３６０度である。
【００４７】
図５乃至図７に示された図からわかるように、上記式（４）のデータHC(x,y,x+p,y+q,T,R)は、値ｘ、値ｙ、値ｐ、および値ｑに、直接は関係しておらず、点(x,y）と点(x+p,y+q)との距離Ｌに関係している。以下、説明をわかりやすくするために、データHC(x,y,x+p,y+q,T,R）は、データHC(L,T,R)と記載する。
【００４８】
ところで、Ｔ＞Ｒで、かつ、Ｌ＜(Ｔ−Ｒ)となる場合や、あるいは、Ｔ＞Ｒで、かつ、(Ｔ＋Ｒ)＜Ｌとなる場合には、任意の角度θ（０度乃至３６０度）において、(Tcos(θ),Tsin(θ))を中心とする半径Ｒ内に点(p,q)は存在しないことを考慮すると、上記式（４）は、次式（６）で表わされる。
【数６】
0004280957.tif 000007
【００４９】
ここで、Ｍは、次式（７）で表わされる。
【数７】
0004280957.tif 000008
【００５０】
このように、半径Ｒの錯乱円である画像G(x,y,R)に対して、上記式（１）を算出することにより、新たな画像H(x,y,T,R)を得ることができる。この新たな画像H(x,y,T,R)は、ピントの合ったシャープな画像F(x,y)に対して、上記式（３）により算出された画像H(x,y,T,R)と一致する。
【００５１】
ここで、任意の位置(x,y)に着目すると、この任意の位置(x,y)における画像H(x,y,T,R)の値は、上記式（３）で示されたように、各位置(x+p,y+q)における画像F(x,y)の値に重みを付けて加算（積分）することで得られる。この重み（すなわち寄与率）は、Ｌ＝√(p2+q2)の関数であり、その値は、上記式（６）に示されたデータHC(L,T,R)である。
【００５２】
次に、ピントの合ったシャープな１枚の画像F(x,y)に対して、ピントのぼけ具合の異なる３枚の画像を考える。
$
これら３枚の画像のピントのぼけ具合（すなわち、錯乱円の半径）を、R1，R2，R3（R1＞R2＞R3）とする。これにより、３枚の画像は、G1(x,y,R1)、G2(x,y,R2)、およびG3(x,y,R3)と表わされる。そして、これらの画像G1(x,y,R1)、画像G2(x,y,R2)、および画像G3(x,y,R3)に対して、上記式（３）を算出する。なお、画像G1(x,y,R1)に対しては、Ｔ＝R2とし、画像G2(x,y,R2)に対しては、Ｔ＝R1とし、画像G3(x,y,R3)に対しては、Ｔ＝R1＋R2−R3とする。
【００５３】
上記式（３）の算出の結果、画像G1(x,y,R1)の平均値は画像H(x,y,R2,R1)、画像G2(x,y,R2)の平均値はH(x,y,R1,R2)、画像G3(x,y,R3)の平均値はH(x,y,R1+R2-R3,R3)となる。これら３枚の画像に対して、重みW1，W2，W3を用いて、次式（８）に従って、重み付き平均を行う。
【数８】
0004280957.tif 000009
【００５４】
ここで、H3(x,y,R1,R2,R3,W1,W2,W3)は、３枚の画像のH(x,y,R2,R1)、H(x,y,R1,R2)、およびH(x,y,R1+R2-R3,R3)の重み付き平均を表わしており、以下、画像H3と略記する。このように、任意の位置(x,y)における、画像H3の値は、各位置(x+p,y+q)における画像F(x,y)の値に重みを付けて加算（積分）することで得られる。この重み（すなわち、寄与率）は、次式（９）で表わされる。
【数９】
0004280957.tif 000010
【００５５】
ここで、H3C(L,R1,R2,R3,W1,W2,W3)は、画像H3の重みを表わし、以下、重みH3Cと略記する。Ｌは、図４に示された、点(x,y)と点(x+p,y+q)との距離を表わしており、Ｌ＝√(p2＋q2)である。
【００５６】
図８は、上記式（９）により算出される重みH3Cがどのような範囲の値であるのかを示す図である。
【００５７】
図８において、領域９１乃至領域９３は、それぞれ、半径Ｒ1、半径Ｒ2、および、半径Ｒ3の円であり、かつ、それらの円の中心が(R2,0)、(R1,0)、および、(R1+R2-R3,0)である。ここで、距離Ｌが、Ｌ＜(R1−R2)である場合を例として、同図に示される距離L1を考える。
【００５８】
この場合、上記式（９）に示された右辺の第１項であるW1・HC(L,R2,R1)は、図７を参照して説明したように、上記式（６）に示された０≦Ｌ≦(Ｒ−Ｔ)の範囲に相当するので、次式で表わされる。
W1・HC(L,R2,R1)＝W1・(360/2(πR1)2)
なお、上記式（９）に示された右辺の第２項であるW2・HC(L,R1,R2)、および、第３項であるW3・HC(L,R1+R2-R3,R3)は、ともに０である。
【００５９】
次に、距離Ｌが、(R1−R2)≦Ｌ＜(R1＋R2)−(２・R3)である場合を例として、図８に示される距離L2を考える。ここで、原点Ｏから見た、点N1、点N2、点N3、および点N4からなる円弧の部分の角度を∠N1N2N3N4と表わし、原点Ｏから見た、点N2と点N3からなる円弧の部分の角度を∠N2N3と表わす。
【００６０】
この場合、上記式（９）に示された右辺の第１項であるW1・HC(L,R2,R1)は、次式で表わされる。
W1・HC(L,R2,R1)＝W1・(∠N1N2N3N4/2(πR1)2)
また、上記式（９）に示された右辺の第２項であるW2・HC(L,R1,R2)は、次式で表わされる。
W2・HC(L,R1,R2)＝W2・(∠N2N3/2(πR2)2)
なお、上記式（９）に示された右辺の第３項であるW3・HC(L,R1+R2-R3,R3)は、０である。
【００６１】
次に、距離Ｌが、(R1＋R2−R3)≦Ｌ＜(R1＋R2)である場合を例として、図８に示される距離L3を考える。ここで、原点Ｏから見た、点N5、点N6、点N7、点N8、点N9、および点N10からなる円弧の部分の角度を∠N5N6N7N8N9N10と表わし、原点Ｏから見た、点N6、点N7、点N8、および点N9からなる円弧の部分の角度を∠N6N7N8N9と表わし、原点Ｏから見た、点N7と点N8からなる円弧の部分の角度を∠N7N8と表わす。
【００６２】
この場合、上記式（９）に示された右辺の第１項であるW1・HC(L,R2,R1)は、次式で表わされる。
W1・HC(L,R2,R1)＝W1・（∠N5N6N7N8N9N10/2(πR1)2）
また、上記式（９）に示された右辺の第２項であるW2・HC(L,R1,R2)は、次式で表わされる。
W2・HC(L,R1,R2）＝W2・（∠N6N7N8N9/2(πR2)2）
さらにまた、上記式（９）に示された右辺の第３項であるW3・HC(L,R1+R2-R3,R3）は、次式で表わされる。
W3・HC(L,R1+R2-R3,R3)＝W3・（∠N7N8/2(πR3)2）
【００６３】
なお、距離Ｌが、(R1＋R2)≦Ｌである場合、上記式（９）に示された右辺の各項は、すべて０である。
【００６４】
図８からわかるように、例えば、W1＝(πR1)2、W2＝-2・(πR2)2、および、W3＝(πR3)2とすると、Ｌ＝L1である場合、重みH3Cの値は、次式で表わされる。
H3C＝360/2＝180
また、Ｌ＝L2である場合、重みH3Cの値は、次式で表わされる。
H3C＝(∠N1N2N3N4/2）−2・(∠N2N3/2)
この値は、図８からもわかるように、ほぼ０である。また、Ｌ＝L3である場合、重みH3Cの値は、次式で表わされる。
Ｈ3C＝(∠N5N6N7N8N9N10/2)−2・(∠N6N7N8N9/2)＋(∠N7N8/2)
この値は、図８からもわかるように、ほぼ０である。
【００６５】
このように、重みW1，W2，W3を設定すると、距離Ｌが、Ｌ＜(R1−R2)となる場合に比べて、Ｌ≧(R1−R2)の場合には、３枚の画像の重みH3Cの値が、極端に０に近づく。従って、位置(x,y)の画像H3の値に寄与するシャープな画像F(x,y)の値は、その位置が(x,y)付近に存在するもののみであることがわかる。
【００６６】
次に、ピントの合ったシャープな１枚の画像F(x,y)に対して、ピントのぼけ具合の異なる２枚の画像を考える。
【００６７】
これら２枚の画像のピントのぼけ具合（すなわち、錯乱円の半径）を、R1，R2(R1＞R2)とする。すなわち、２枚の画像は、G1(x,y,R1)、および、G2(x,y,R2)と表わされる。そして、これらの画像G1(x,y,R1)および画像G2(x,y,R2)に対して、上記式（３）を算出する。なお、画像G1(x,y,R1)に対しては、Ｔ＝R2とし、画像G2(x,y,R2)に対しては、Ｔ＝R1とする。
【００６８】
上記式（３）の算出の結果、画像G1(x,y,R1)の平均値は画像H(x,y,R2,R1)、画像G2(x,y,R2)の平均値は画像H(x,y,R1,R2)となる。これら２枚の画像に対して、重みW1，W2を用いて、次式（１０）に従って、重み付き平均を行う。
【数１０】
0004280957.tif 000011
【００６９】
ここで、H2(x,y,R1,R2,W1,W2)は、２枚の画像のH(x,y,R2,R1)およびH(x,y,R1,R2)の重み付き平均を表わしており、以下、画像H2と略記する。このように、任意の位置(x,y)における、画像H2の値は、各位置(x+p,y+q)における画像F(x,y)の値に重みを付けて加算（積分）することで得られる。この重み（すなわち、寄与率）は、次式（１１）で表わされる。
【数１１】
0004280957.tif 000012
【００７０】
ここで、H2C(L,R1,R2,W1,W2)は、画像H2の重みを表わし、以下、重みH2Cと略記する。Ｌは、図４に示された、点(x,y)と点(x+p,y+q)との距離を表わしており、Ｌ＝√(p2＋q2)である。
【００７１】
図９は、上記式（１１）により算出される重みＨ2Cがどのような範囲の値であるのかを示す図である。
【００７２】
図９において、領域１０１および領域１０２は、それぞれ、半径R1および半径R2であり、かつ、それらの円の中心が(R2,0)および(R1,0)である。ここで、距離Ｌが、Ｌ＜(R1−R2)である場合を例として、同図に示される距離L4を考える。
【００７３】
この場合、上記式（１１）に示された右辺の第１項であるW1・HC(L.R2,R1)は、図７を参照して説明したように、上記式（６）に示された０≦Ｌ≦(Ｒ−Ｔ)の範囲に相当するので、次式で表わされる。
W1・HC(L.R2,R1)＝W1・(360/2(πR1)2)
なお、上記式（９）に示された右辺の第２項であるW2・HC(L,R1,R2)は、０である。
【００７４】
次に、距離Ｌが、(R1−R2)≦Ｌ＜(R1＋R2)である場合を例として、図９に示される距離L5を考える。ここで、原点Ｏから見た、点N11、点Ｎ12、点Ｎ13、および点Ｎ14からなる円弧の部分の角度を∠N11Ｎ12Ｎ13Ｎ14と表わし、原点Ｏから見た、点Ｎ12と点Ｎ13からなる円弧の部分の角度を∠Ｎ12Ｎ13と表わす。
【００７５】
この場合、上記式（１１）に示された右辺の第１項であるW1・HC(L,R2,R1)は、次式で表わされる。
W1・HC(L,R2,R1)＝W1・(∠N11Ｎ12Ｎ13Ｎ14/2(πR1)2)
また、上記式（１１）に示された右辺の第２項であるW2・HC(L,R1,R2)は、次式で表わされる。
W2・HC(L,R1,R2)＝W2・(∠Ｎ12Ｎ13/2(πR2)2)
【００７６】
なお、距離Ｌが、(R1＋R2)≦Ｌである場合、上記式（１１）に示された右辺の各項は、すべて０である。
【００７７】
図９に示される図からわかるように、例えば、W1＝(πR1)2、および、W2＝−Ｃ・(πR2)2とすると、Ｌ＝L4である場合、重みH2Cの値は、次式で表わされる。ここで、Ｃは、ほぼ1.2となる値である。
H2C＝360/2＝180
また、Ｌ＝L5である場合、重みH2Cの値は、次式で表わされる。
H2C＝(∠N11Ｎ12Ｎ13Ｎ14/2)−Ｃ・(∠Ｎ12Ｎ13/2）
この値は、図９からもわかるように、ほぼ０である。
【００７８】
このように、重みW1，W2を設定すると、距離Ｌが、Ｌ＜(R1−R2)となる場合に比べて、Ｌ≧(R1−R2)の場合には、２枚の画像の重みH2Cの値が、極端に０に近づく。従って、位置(x,y)の画像H2の値に寄与するシャープな画像F(x,y)の値は、その位置が(x,y)付近に存在するもののみであることがわかる。
【００７９】
次に、図１０のフローチャートを参照して、画像処理装置３が実行する、ピントのぼけ具合の異なる３枚の画像を用いて、ピントの合ったシャープな１枚の画像に修復する処理について説明する。
【００８０】
ステップＳ１において、演算処理回路２１は、修復を行う（ピント合わせを行う）ための複数（いまの場合、３枚）の画像データを撮像装置２から読み込み、入出力端子２７、入出力インタフェース２６、およびバス２５を介してデータメモリ２３に一旦記憶させる。これにより、データメモリ２３には、３枚の画像G1(x,y)、画像G2(x,y)、および画像G3(x,y)が記憶される。
【００８１】
ステップＳ２において、入力部２８は、ステップＳ１の処理で読み込まれた３枚の画像データに対して、ぼけ具合（錯乱円の半径）の入力を行う。すなわち、ユーザにより入力部２８が操作され、３枚の画像データに対して、ぼけ具合の入力が行われる。これにより３枚の画像G1(x,y,R1)、画像G2(x,y,R2)、および画像G3(x,y,R3)が設定される。
【００８２】
ステップＳ３において、演算処理回路２１は、データメモリ２３に記憶されている３枚の画像データを読み出し、重みW1，W2，W3を算出する。ここで、演算処理回路２１は、上記式（９）に示された重みH3Cの値が、Ｌ＞(R1−R2)の範囲において、なるべく小さい値となるような重みW1，W2，W3を算出する。そして、演算処理回路２１は、算出した重みW1，W2，W3をデータメモリ２３に記憶する。
【００８３】
ステップＳ４において、演算処理回路２１は、データメモリ２３に記憶されている３枚の画像データの平均値をそれぞれ算出する。すなわち、演算処理回路２１は、画像G1(x,y,R1)、画像G2(x,y,R2)、および画像G3(x,y,R3)の平均値を、次式（１２）、次式（１３）、および、次式（１４）に従って、それぞれ算出する。
【数１２】
0004280957.tif 000013
【数１３】
0004280957.tif 000014
【数１４】
0004280957.tif 000015
【００８４】
上記式（１２）では、位置（x,y）から(R2cos(θ),R2sin(θ))だけずれた位置の画像G1(x,y,R1)の値が、θ＝０乃至２πの間で積分され、積分された値を２πで除算することにより、画像G1(x,y,R1)の平均値が算出される。上記式（１３）では、位置（x,y）から(R1cos(θ),R1sin(θ))だけずれた位置の画像G2(x,y,R2)の値が、θ＝０乃至２πの間で積分され、積分された値を２πで除算することにより、画像G2(x,y,R2)の平均値が算出される。上記式（１４）では、位置（x,y）から((R1+R2-R3)cos(θ), (R1+R2-R3)sin(θ))だけずれた位置の画像G3(x,y,R3)の値が、θ＝０乃至２πの間で積分され、積分された値を２πで除算することにより、画像G3(x,y,R3)の平均値が算出される。
【００８５】
ステップＳ５において、演算処理回路２１は、ステップＳ４の処理で算出された３枚の画像データの平均値である画像h1(x,y)、画像h2(x,y)、および画像h3(x,y)に対して、ステップＳ３の処理で算出された重みW1，W2，W3を用いて、次式（１５）に従って、重み付き平均を行う。
【数１５】
0004280957.tif 000016
【００８６】
上記式（１５）では、画像h1(x,y)、画像h2(x,y)、および、画像h3(x,y)の値に、それぞれ、重みW1，W2，W3を付けて加算することで、画像H3が得られる。
【００８７】
そして、ステップＳ５において、演算処理回路２１は、算出された画像H3をデータメモリ２３に記憶させる。
【００８８】
ステップＳ６において、演算処理回路２１は、ステップＳ５の処理で算出され、データメモリ２３に記憶されている画像H3を読み出し、フレームメモリ２４に一旦記憶させる。そして、演算処理回路２１は、フレームメモリ２４に記憶されている画像を、バス２５および入出力インタフェース２６を介して画像表示部２９に出力させ、処理は終了される。
【００８９】
このように、３枚のピントのぼけ具合（錯乱円の半径）の異なる画像の重み付き平均を行うことにより、ピントの合ったシャープな１枚の画像を得ることができる。
【００９０】
ところで、上述した処理では、半径R1、半径R2、および半径R3は、いずれも、その値が既知であると仮定して、入力部２８を用いてユーザにより入力されたが、一般的には、この値は、不明である。従って、半径R1、半径R2、および半径R3の値を、変化させて、最適な画像H3が得られるまで、上述した処理を繰り返し行うようにすれば良い。
【００９１】
ここで、最適な画像H3を得るためには、画像表示部２９に表示された画像をユーザにより判断させるか（ピントが合っているか否かを目で見て判断させるか）、あるいは、ピントの合っていない画像には高周波成分が含まれていないことを利用して、高周波成分が含まれているのか否かを自動でチェックさせる。
【００９２】
しかしながら、図２に示された図より明らかな様に、半径R1、半径R2、および半径R3は、次式（１６）の関係が成り立つ。
【数１６】
0004280957.tif 000017
【００９３】
ここで、距離Ｂの値は不定であるが、半径R1、半径R2、および半径R3との間には、上記式（１６）を満たすような関係がある。従って、上記式（１６）の関係を満たすような半径R1、半径R2、および半径R3についてのみ、上述した処理を行えば良い。
【００９４】
また、撮影対象物体１とレンズ１１との距離Ａが既知であれば、次式（１７）に従って、距離Ｂの値を算出することができる。
【数１７】
0004280957.tif 000018
【００９５】
このように、半径R1、半径R2、および半径R3は、上記式（１６）と式（１７）により算出（確定）される。
【００９６】
さらにまた、画像G1(x,y)、画像G2(x,y)、および画像G3(x,y)をそれぞれ解析することにより、半径R1、半径R2、および半径R3の比を算出することもできる。すなわち、上述したように、画像G1(x,y)、画像G2(x,y)、および画像G3(x,y)は、それぞれ、半径R1、半径R2、および半径R3のボックスフィルタをかけた画像である。例えば、画像Ｇに、半径Ｒのボックスフィルタをかけた場合、周波数ωの成分は、次式（１８）で表わされる。
【数１８】
0004280957.tif 000019
【００９７】
従って、画像G1(x,y)、画像G2(x,y)、および画像G3(x,y)に対して、それぞれ、周波数分解して、各周波数の成分ωを算出し、各周波数における成分の比が、次式（１９）を満たすような、半径R1、半径R2、および半径R3の比を決定すれば良い。
【数１９】
0004280957.tif 000020
【００９８】
このように、半径R1、半径R2、および半径R3の比が、上記式（１９）により算出（確定）される。
【００９９】
以上のように、すべての半径R1、半径R2、および半径R3に対して、上述した処理を行う必要はなく、上記式（１６）と式（１７）により算出される半径R1、半径R2、および半径R3、あるいは、上記式（１９）を満たすような、半径R1、半径R2、および半径R3についてのみ処理を行えば良い。
【０１００】
次に、画像処理装置３が実行する、ピントのぼけ具合の異なる２枚の画像を用いて、ピントの合ったシャープな１枚の画像に修復する処理について、再び、図１０のフローチャートを参照して説明する。
【０１０１】
ステップＳ１において、演算処理回路２１は、修復を行う（ピント合わせを行う）ための複数（いまの場合、２枚）の画像データを撮像装置２から読み込み、入出力端子２７、入出力インタフェース２６、およびバス２５を介してデータメモリ２３に一旦記憶させる。これにより、データメモリ２３には、３枚の画像G1(x,y)、および、画像G2(x,y)が記憶される。
【０１０２】
ステップＳ２において、入力部２８は、ステップＳ１の処理で読み込まれた２枚の画像データに対して、ぼけ具合（錯乱円の半径）の入力を行う。すなわち、ユーザにより入力部２８が操作され、２枚の画像データに対して、ぼけ具合の入力が行われる。これにより、画像G1(x,y,R1)、および、画像G2(x,y,R2)が設定される。
【０１０３】
ステップＳ３において、演算処理回路２１は、データメモリ２３に記憶されている２枚の画像データを読み出し、重みW1，W2を算出する。ここで、演算処理回路２１は、上記式（１１）に示された重みH2Cの値が、Ｌ＞(R1−R2)の範囲において、なるべく小さい値となるような重みW1，W2を算出する。そして、演算処理回路２１は、算出した重みW1，W2をデータメモリ２３に記憶する。
【０１０４】
ステップＳ４において、演算処理回路２１は、データメモリ２３に記憶されている２枚の画像データの平均値をそれぞれ算出する。すなわち、演算処理回路２１は、画像G1(x,y,R1)、および、画像G2(x,y,R2)の平均値を、上記式（１２）、および、上記式（１３）に従って、それぞれ算出する。
【０１０５】
ステップＳ５において、演算処理回路２１は、ステップＳ４の処理で算出された２枚の画像データの平均値である画像h1(x,y)、および、画像h2(x,y)に対して、ステップＳ３の処理で算出された重みW1，W2を用いて、次式（２０）に従って、重み付き平均を行う。
【数２０】
0004280957.tif 000021
【０１０６】
上記式（２０）では、画像h1(x,y)、および、画像h2(x,y)の値に、それぞれ、重みW1，W2を付けて加算することで、画像H2が得られる。
【０１０７】
そして、ステップＳ５において、演算処理回路２１は、算出された画像H2をデータメモリ２３に記憶させる。
【０１０８】
ステップＳ６において、演算処理回路２１は、ステップＳ５の処理で算出され、データメモリ２３に記憶されている画像H2を読み出し、フレームメモリ２４に一旦記憶させる。そして、演算処理回路２１は、フレームメモリ２４に記憶されている画像を、バス２５および入出力インタフェース２６を介して画像表示部２９に出力させ、処理は終了される。
【０１０９】
このように、２枚のピントのぼけ具合（錯乱円の半径）の異なる画像の重み付き平均を行うことにより、ピントの合ったシャープな１枚の画像を得ることができる。
【０１１０】
また、２枚または３枚のぼけ具合の異なる画像に限らず、４枚以上のぼけ具合の異なる画像の重み付き平均を行うことにより、ピントの合ったシャープな１枚の画像を得ることができる。
【０１１１】
従って、複数枚のぼけ具合の異なる画像から、ピントの合ったシャープな１枚の画像を算出する場合、一般的には、次式（２１）で表わされる。
【数２１】
0004280957.tif 000022
【０１１２】
ここで、HK(x,y)は、ｋ枚の異なる錯乱円（半径Ri（ｉ＝１乃至ｋ））を持つ画像Gi(x,y)の重み付き平均を表わしている。距離Tijおよび重みWijは、次式（２２）において、Ｌの値が大きい場合に、ほぼ０の値となるように設定される。
【数２２】
0004280957.tif 000023
【０１１３】
ここで、HKC(L,{Tij})は、画像HK(x,y)の重みを表わしており、上記式（２２）に示された右辺の項は、上記式（６）により定義される。
【０１１４】
例えば、３枚の異なる錯乱円を持つ画像の場合、ｋ＝３、Ｊ(1)＝１、Ｊ(2)＝１、Ｊ(3)＝１、T11＝R2、T21＝R1，T31＝R1＋R2−R3、W11＝W1＝(πR1)2、W21＝W2＝−2・(πR2)2、W31＝W3＝(πR3)2である。
【０１１５】
また、例えば、２枚の異なる錯乱円を持つ画像の場合、ｋ＝２、Ｊ(1)＝１、Ｊ(2)＝１、T11＝R2、T21＝R1、W11＝W1＝(πR1)2、W21＝W2＝−1.2・(πR2)2である。
【０１１６】
以上のように、レンズを移動させることなく、複数枚のぼけ具合の異なる画像から、ピントの合ったシャープな１枚の画像を得ることができる。
【０１１７】
また、レンズ１１に入射される光の赤色、緑色、および青色のそれぞれの色に対して、ピントのぼけ具合の異なる画像をもつものとして、重み付き平均を行うようにしてもよい。これにより、色収差を無視することができないようなレンズにも対応することができる。
【０１１８】
さらにまた、奥行きのある風景を撮影した場合には、画面を分割して、それぞれピントのぼけ具合の異なる画像をもつものとして、重み付き平均を行うようにしてもよい。これにより、パンフォーカス（画像内に撮影されている手前から奥までの全ての被写体に焦点が合っている状態）の画像を得ることができる。
【０１１９】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１２０】
この記録媒体は、図３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４１（フロッピディスクを含む）、光磁気ディスク４２（MD（Mini-Disk）を含む）、光ディスク４３（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、もしくは不揮発性メモリ４４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているプログラムメモリ２２などで構成される。
【０１２１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２２】
【発明の効果】
以上のように、本発明の画像処理装置および方法、並びに記録媒体に記録されているプログラムによれば、低コストで、ピントの合った画像を生成することができる。
【図面の簡単な説明】
【図１】本発明を適用した実施の形態の構成例を示す図である。
【図２】図１の撮像装置の光学系の構成例を示す図である。
【図３】図１の画像処理装置のハードウェアの電気的構成例を示すブロック図である。
【図４】式（４）において、(u,v)の二重積分の値が１である範囲を示す図である。
【図５】式（５）で算出される値がどのような範囲の値であるのかを示す図である。
【図６】式（４）で算出される値がどのような範囲の値であるのかを示す図である。
【図７】式（４）で算出される値がどのような範囲の値であるのかを示す他の例の図である。
【図８】式（９）で算出される値がどのような範囲の値であるのかを示す図である。
【図９】式（１１）で算出される値がどのような範囲の値であるのかを示す図である。
【図１０】画像修復処理を説明するフローチャートである。
【符号の説明】
１  撮影対象物体，  ２  撮像装置，  ３  画像処理装置，  １１  レンズ，１２−１乃至１２−３  CCD，  １２−１ａ乃至１２−３ａ  撮像面，  ２１演算処理回路，  ２２  プログラムメモリ，  ２３  データメモリ，  ２４  フレームメモリ，  ２７  入出力端子，  ２８  入力部，  ２９  画像表示部
【図１】
0004280957.tif 000024
【図２】
0004280957.tif 000025
【図３】
0004280957.tif 000026
【図４】
0004280957.tif 000027
【図５】
0004280957.tif 000028
【図６】
0004280957.tif 000029
【図７】
0004280957.tif 000030
【図８】
0004280957.tif 000031
【図９】
0004280957.tif 000032
【図１０】
0004280957.tif 000033