(57)【要約】      （修正有）【課題】一部の画素の情報が欠落した画像を復元する画像処理装置等を提供する。【解決手段】画像処理装置１０１において、記憶部１０２には、画素値を推定すべき領域Bが存在する画像の画素の位置(x,y)と画素値I(x,y)と(x,y)∈Bであるか否かが記憶され、更新パラメータ計算部１０４は、画素値I(x,y)の勾配等の微分値を参照して、勾配線および等高線が滑らかであり、画素値の空間変化が小さくなるような評価関数E[I]を、前者を高速に、後者を低速に、それぞれ更新するための更新パラメータ∂I/∂tを計算し、更新部１０５は、評価関数E[I]の計算値に基づいて計算された歩み幅αを用いて、Bに含まれる位置(x,y)の画素値を、I(x,y)からI(x,y)+α(∂I/∂t)に更新し、繰返制御部１０６は、画素値が収束するまで、更新パラメータの計算と画素値の更新を繰り返す。【選択図】図１
2009239829.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する画素のそれぞれについて、当該画素の位置(x,y)と、当該位置における画素値I(x,y)と、当該画像に対する推定対象領域Bについて、(x,y)∈Bか否か、が記憶される記憶部、
ある量Aのある方向θに沿う偏微分を
Aθ = (∂A/∂x)cosθ + (∂A/∂y)sinθ = Axcosθ + Aysinθ，
と表記することとして、当該推定対象領域Bに含まれる位置(x,y)のそれぞれについて、
（ａ）当該画素値Iの勾配
grad I = (Ix,Iy) = (∂I/∂x,∂I/∂y)，
（ｂ）当該勾配grad Iに沿う勾配線の方向ξ，
（ｃ）当該方向ξに直交する等高線の方向η = ξ + π/2，
（ｄ）Iの等高線の曲率パラメータ
K = Iy2Ixx - 2IxIyIxy + Ix2Iyy，
k = Iηη = K/〔Ix2 + Iy2〕，
（ｅ）Iの勾配線の曲率パラメータ
M = (Ix2 - Iy2)Ixy - IxIy(Iyy - Ixx)，
m = Iξη = M/〔Ix2 + Iy2〕，
を数値計算し、所定の正定数λにより、更新パラメータ
∂I/∂t = Kη + Mξ - (Kξξ + Kηη) + λ(k+m)
を数値計算する更新パラメータ計算部、
前記数値計算された更新パラメータ∂I/∂tと、正の更新幅αと、により、前記記憶部において、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)を、
I(x,y) + α(∂I/∂t)
に更新する更新部、
当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)が所定の収束条件を満たすまで、前記更新パラメータ計算部による数値計算と、前記更新部による更新と、を繰り返し、当該所定の収束条件が満たされると、前記記憶部に記憶される画素値による画像を処理結果とする繰返制御部
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
評価関数
E[I] = ∫(x,y)∈B (k2 + m2)Iξ2 dxdy
を数値計算する評価関数計算部
をさらに備え、
前記更新部は、最急降下法もしくは共役勾配法により、前記計算された評価関数E[I]を参照して、当該更新幅αを決定する
ことを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
前記記憶部に記憶される画素値による画像をユーザに提示して、当該ユーザから対象領域を指定する入力を受け付ける入力受付部
をさらに備え、
前記繰返制御部は、前記受け付けられた入力に指定される対象領域を、当該推定対象領域Bとして、前記記憶部に記憶させてから、当該繰り返しを開始する
ことを特徴とする画像処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の画像処理装置であって、
前記繰返制御部は、生成した乱数を、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)として前記記憶部に記憶させてから、当該繰り返しを開始する
ことを特徴とする画像処理装置。
【請求項５】
請求項１から４のいずれか１項に記載の画像処理装置であって、
当該所定の正定数λは、画素値がとりうる値の範囲の０.１倍である
ことを特徴とする画像処理装置。
【請求項６】
請求項１から５のいずれか１項に記載の画像処理装置であって、
前記記憶部には、当該位置のそれぞれに対してＲＧＢ（Red，Green，Blue）表現の値が記憶され、Ｒ成分、Ｇ成分、Ｂ成分のそれぞれを、当該画素値Iとして処理する
ことを特徴とする画像処理装置。
【請求項７】
請求項１から５のいずれか１項に記載の画像処理装置であって、
前記記憶部には、当該位置のそれぞれに対してＣＭＹ（Cyan，Magenta，Yellow）表現の値が記憶され、Ｃ成分、Ｍ成分、Ｙ成分のそれぞれを、当該画素値Iとして処理する
ことを特徴とする画像処理装置。
【請求項８】
請求項１から５のいずれか１項に記載の画像処理装置であって、
前記記憶部には、当該位置のそれぞれに対して明度もしくは輝度、色相、彩度表現の値が記憶され、明度もしくは輝度、色相、彩度のそれぞれを、当該画素値Iとして処理する
ことを特徴とする画像処理装置。
【請求項９】
記憶部、更新パラメータ計算部、更新部、繰返制御部を有する画像処理装置が実行する画像処理方法であって、
前記記憶部には、画像を構成する画素のそれぞれについて、当該画素の位置(x,y)と、当該位置における画素値I(x,y)と、当該画像に対する推定対象領域Bについて、(x,y)∈Bか否か、が記憶され、
ある量Aのある方向θに沿う偏微分を
Aθ = (∂A/∂x)cosθ + (∂A/∂y)sinθ = Axcosθ + Aysinθ，
と表記することとして、前記更新パラメータ計算部が、当該推定対象領域Bに含まれる位置(x,y)のそれぞれについて、
（ａ）当該画素値Iの勾配
grad I = (Ix,Iy) = (∂I/∂x,∂I/∂y)，
（ｂ）当該勾配grad Iに沿う勾配線の方向ξ，
（ｃ）当該方向ξに直交する等高線の方向η = ξ + π/2，
（ｄ）Iの等高線の曲率パラメータ
K = Iy2Ixx - 2IxIyIxy + Ix2Iyy，
k = Iηη = K/〔Ix2 + Iy2〕，
（ｅ）Iの勾配線の曲率パラメータ
M = (Ix2 - Iy2)Ixy - IxIy(Iyy - Ixx)，
m = Iξη = M/〔Ix2 + Iy2〕，
を数値計算し、所定の正定数λにより、更新パラメータ
∂I/∂t = Kη + Mξ - (Kξξ + Kηη) + λ(k + m)
を数値計算する更新パラメータ計算工程、
前記更新部が、前記数値計算された更新パラメータ∂I/∂tと、正の更新幅αと、により、前記記憶部において、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)を、
I(x,y) + α(∂I/∂t)
に更新する更新工程、
前記繰返制御部が、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)が所定の収束条件を満たすまで、前記更新パラメータ計算部による数値計算と、前記更新部による更新と、を繰り返し、当該所定の収束条件が満たされると、前記記憶部に記憶される画素値による画像を処理結果とする繰返制御工程
を備えることを特徴とする画像処理方法。
【請求項１０】
コンピュータを、
画像を構成する画素のそれぞれについて、当該画素の位置(x,y)と、当該位置における画素値I(x,y)と、当該画像に対する推定対象領域Bについて、(x,y)∈Bか否か、が記憶される記憶部、
ある量Aのある方向θに沿う偏微分を
Aθ = (∂A/∂x)cosθ + (∂A/∂y)sinθ = Axcosθ + Aysinθ，
と表記することとして、当該推定対象領域Bに含まれる位置(x,y)のそれぞれについて、
（ａ）当該画素値Iの勾配
grad I = (Ix,Iy) = (∂I/∂x,∂I/∂y)，
（ｂ）当該勾配grad Iに沿う勾配線の方向ξ，
（ｃ）当該方向ξに直交する等高線の方向η = ξ + π/2，
（ｄ）Iの等高線の曲率パラメータ
K = Iy2Ixx - 2IxIyIxy + Ix2Iyy，
k = Iηη = K/〔Ix2 + Iy2〕，
（ｅ）Iの勾配線の曲率パラメータ
M = (Ix2 - Iy2)Ixy - IxIy(Iyy - Ixx)，
m = Iξη = M/〔Ix2 + Iy2〕，
を数値計算し、所定の正定数λにより、更新パラメータ
∂I/∂t = Kη + Mξ - (Kξξ + Kηη) + λ(k + m)
を数値計算する更新パラメータ計算部、
前記数値計算された更新パラメータ∂I/∂tと、正の更新幅αと、により、前記記憶部において、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)を、
I(x,y) + α(∂I/∂t)
に更新する更新部、
当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)が所定の収束条件を満たすまで、前記更新パラメータ計算部による数値計算と、前記更新部による更新と、を繰り返し、当該所定の収束条件が満たされると、前記記憶部に記憶される画素値による画像を処理結果とする繰返制御部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一部の画素の情報が欠落した画像を復元するのに好適な画像処理装置、画像処理方法、ならびに、これをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、画素情報が欠落したブラインドスポット（Blind Spot）の画素を、周囲の画素から埋めることで復元する技術が提案されている。このような技術に関連して、人間が脳の神経細胞を用いて行う画像認識のモデルが、以下の文献に開示されている。
【非特許文献１】H.Komatsu, The neural mechanisms of perceptual filling-in, Nature Neuroscience, vol.7，pp.200-231，２００６年
【０００３】
ここで、[非特許文献１]では、Ｖ１ニューロンとＶ２ニューロンという２種類のニューロンの経路が画像認識において活動することを報告している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、[非特許文献１]では、これらのニューロンの具体的な機能については何らの言及もない。したがって、どのように画像のブラインドスポットを復元するか、については、まったく判明していなかった。
【０００５】
そこで、このような基礎研究を踏まえて、具体的に画像のブラインドスポットの画素値を埋めるための技術が強く求められている。
【０００６】
本発明は、以上のような課題を解決するためのもので、一部の画素の情報が欠落した画像を復元するのに好適な画像処理装置、画像処理方法、ならびに、これをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点に係る画像処理装置は、記憶部、更新パラメータ計算部、更新部、繰返制御部を備え、以下のように構成する。
【０００８】
ここで、記憶部には、画像を構成する画素のそれぞれについて、当該画素の位置(x,y)と、当該位置における画素値I(x,y)と、当該画像に対する推定対象領域Bについて、(x,y)∈Bか否か、が記憶される。
【０００９】
一方、更新パラメータ計算部は、ある量Aのある方向θに沿う偏微分を
Aθ = (∂A/∂x)cosθ + (∂A/∂y)sinθ = Axcosθ + Aysinθ，
と表記することとして、当該推定対象領域Bに含まれる位置(x,y)のそれぞれについて、
（ａ）当該画素値Iの勾配
grad I = (Ix,Iy) = (∂I/∂x,∂I/∂y)，
（ｂ）当該勾配grad Iに沿う勾配線の方向ξ，
（ｃ）当該方向ξに直交する等高線の方向η = ξ + π/2，
（ｄ）Iの等高線の曲率パラメータ
K = Iy2Ixx - 2IxIyIxy + Ix2Iyy，
k = Iηη = K/〔Ix2 + Iy2〕，
（ｅ）Iの勾配線の曲率パラメータ
M = (Ix2 - Iy2)Ixy - IxIy(Iyy - Ixx)，
m = Iξη = M/〔Ix2 + Iy2〕，
を数値計算し、所定の正定数λにより、更新パラメータ
∂I/∂t = Kη + Mξ - (Kξξ + Kηη) + λ(k + m)
を数値計算する。
【００１０】
そして、更新部は、数値計算された更新パラメータ∂I/∂tと、正の更新幅αと、により、前記記憶部において、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)を、
I(x,y) + α(∂I/∂t)
に更新する。
【００１１】
一方、繰返制御部は、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)が所定の収束条件を満たすまで、更新パラメータ計算部による数値計算と、更新部による更新と、を繰り返し、当該所定の収束条件が満たされると、記憶部に記憶される画素値による画像を処理結果とする。
【００１２】
また、本発明の画像処理装置は、評価関数計算部をさらに備え、以下のように構成することができる。
【００１３】
すなわち、評価関数計算部は、評価関数
E[I] = ∫(x,y)∈B (k2 + m2)Iξ2 dxdy
を数値計算する。
【００１４】
一方、更新部は、最急降下法もしくは共役勾配法により、計算された評価関数E[I]を参照して、当該更新幅αを決定する。
【００１５】
また、本発明の画像処理装置は、入力受付部をさらに備え、以下のように構成することができる。
【００１６】
ここで、入力受付部は、記憶部に記憶される画素値による画像をユーザに提示して、当該ユーザから対象領域を指定する入力を受け付ける。
【００１７】
一方、繰返制御部は、受け付けられた入力に指定される対象領域を、当該推定対象領域Bとして、記憶部に記憶させてから、当該繰り返しを開始する。
【００１８】
また、本発明の画像処理装置において、繰返制御部は、生成した乱数を、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)として記憶部に記憶させてから、当該繰り返しを開始するように構成することができる。
【００１９】
また、本発明の画像処理装置において、当該所定の正定数λは、画素値がとりうる値の範囲の０.１倍であるように構成することができる。
【００２０】
また、本発明の画像処理装置において、記憶部には、当該位置のそれぞれに対してＲＧＢ（Red，Green，Blue）表現の値が記憶され、Ｒ成分、Ｇ成分、Ｂ成分のそれぞれを、当該画素値Iとして処理するように構成することができる。
【００２１】
また、本発明の画像処理装置において、記憶部には、当該位置のそれぞれに対してＣＭＹ（Cyan，Magenta，Yellow）表現の値が記憶され、Ｃ成分、Ｍ成分、Ｙ成分のそれぞれを、当該画素値Iとして処理するように構成することができる。
【００２２】
また、本発明の画像処理装置において、記憶部には、当該位置のそれぞれに対して明度もしくは輝度、色相、彩度表現の値が記憶され、明度もしくは輝度、色相、彩度のそれぞれを、当該画素値Iとして処理するように構成することができる。
【００２３】
本発明のその他に係る画像処理方法は、記憶部、更新パラメータ計算部、更新部、繰返制御部を備える画像処理装置が実行し、更新パラメータ計算工程、更新工程、繰返制御工程を備え、以下のように構成する。
【００２４】
ここで、記憶部には、画像を構成する画素のそれぞれについて、当該画素の位置(x,y)と、当該位置における画素値I(x,y)と、当該画像に対する推定対象領域Bについて、(x,y)∈Bか否か、が記憶される。
【００２５】
一方、更新パラメータ計算工程では、更新パラメータ計算部が、ある量Aのある方向ζに沿う偏微分を
Aθ = (∂A/∂x)cosθ + (∂A/∂y)sinθ = Axcosθ + Aysinθ，
と表記することとして、当該推定対象領域Bに含まれる位置(x,y)のそれぞれについて、
（ａ）当該画素値Iの勾配
grad I = (Ix,Iy) = (∂I/∂x,∂I/∂y)，
（ｂ）当該勾配grad Iに沿う勾配線の方向ξ，
（ｃ）当該方向ξに直交する等高線の方向η = ξ + π/2，
（ｄ）Iの等高線の曲率パラメータ
K = Iy2Ixx - 2IxIyIxy + Ix2Iyy，
k = Iηη = K/〔Ix2 + Iy2〕，
（ｅ）Iの勾配線の曲率パラメータ
M = (Ix2 - Iy2)Ixy - IxIy(Iyy - Ixx)，
m = Iξη = M/〔Ix2 + Iy2〕，
を数値計算し、所定の正定数λにより、更新パラメータ
∂I/∂t = Kη + Mξ - (Kξξ + Kηη) + λ(k + m)
を数値計算する。
【００２６】
そして、更新工程では、更新部が、数値計算された更新パラメータ∂I/∂tと、正の更新幅αと、により、記憶部において、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)を
I(x,y) + α(∂I/∂t)
に更新する。
【００２７】
一方、繰返制御工程では、繰返制御部が、当該推定対象領域Bに含まれる位置(x,y)の画素値I(x,y)が所定の収束条件を満たすまで、更新パラメータ計算部による数値計算と、更新部による更新と、を繰り返し、当該所定の収束条件が満たされると、記憶部に記憶される画素値による画像を処理結果とする。
【００２８】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像処理装置の各部として機能させるように構成する。
【００２９】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００３０】
上記プログラムは、プログラムが実行されるコンピュータやディジタル信号プロセッサとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータやディジタル信号プロセッサとは独立して配布・販売することができる。
【発明の効果】
【００３１】
本発明によれば、一部の画素の情報が欠落した画像を復元するのに好適な画像処理装置、画像処理方法、ならびに、これをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３２】
以下に本発明の実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００３３】
また、以下の説明では、一般的なコンピュータ（ＣＰＵ（Central Processing Unit）の制御下で、ＲＡＭ（Random Access Memory）を一時記憶とし、ハードディスクを不揮発記憶とし、入出力ポートで外部機器とのやりとりを行うのが典型的である。）等の情報処理装置にてプログラムを動作させることで画像処理装置を実現する典型例を説明するが、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、その他の電子回路によって実現することも可能である。
【実施例１】
【００３４】
図１は、本発明の実施形態の一つに係る画像処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００３５】
本実施形態に係る画像処理装置１０１は、記憶部１０２、更新パラメータ計算部１０４、更新部１０５、繰返制御部１０６を備える。また、評価関数計算部１０３、入力受付部１０７をさらに備えることとするのが典型的である。
【００３６】
これらの各要素は、ＣＰＵ（Central Processing Unit）の制御の下、ＲＡＭ（Random Access Memory）やハードディスク、各種のメモリカードや外部記憶装置を一時的な記憶領域ならびにデータの入力元および出力先として使用でき、ユーザとのやりとりにおいては、キーボードやマウスなどの入力機器やＣＲＴ（Cathode Ray Tube）や液晶ディスプレイなどの表示機器を利用できるようなコンピュータにおいて、所定のプログラムを実行することによって実現することができる。
【００３７】
図２は、本実施形態の画像処理装置が実行する画像処理方法の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００３８】
本処理は、ＣＰＵの制御の下、ＲＡＭやハードディスクなどの各種記憶装置、入力機器や表示機器などが共働して、実行する。
【００３９】
本処理が開始されると、ＣＰＵは、ハードディスクに記憶された画像の画素情報を、ＲＡＭに読み出す（ステップＳ２０１）。一般に、画像の画素の位置は、x座標とy座標の対(x,y)によって表現できる。そこで、当該位置(x,y)における画素値を、以下では、I(x,y)のように表記するものとする。
【００４０】
このような画素値は、２次元配列に記憶するのが典型的である。この２次元配列の添字としては、上記x座標およびy座標を利用する。以下では、２次元配列Iに画素情報が記憶されるものとして、x行y列の要素をI(x,y)のように表記する。
【００４１】
なお、２次元配列Iの行数および列数は、画像のx軸方向の幅、および、y軸方向の高さと一致させる。
【００４２】
ここで、モノクロ画像の場合には、画素値I(x,y)は、０.０〜１.０の間の浮動小数点値あるいは固定小数点値、あるいは、０〜２５５や０〜６５５３５の間の整数値とするのが典型的である。
【００４３】
一方、カラー画像の場合には、データの表現手法として、以下のようなものが用いられている。
（１）ＲＧＢ（Red，Green，Blue）表現。Ｒ成分、Ｇ成分、Ｂ成分の３つにより、画素情報を表現する。
（２）ＣＭＹ（Cyan，Magenta，Yellow）表現。記憶され、Ｃ成分、Ｍ成分、Ｙ成分の３つにより、画素情報を表現する。
（３）明度もしくは輝度、色相、彩度による表現。明度もしくは輝度、色相、彩度の３つにより、画素情報を表現する。
【００４４】
理解を容易にするため、以下では、モノクロ画像について処理をする例を考えるが、カラー画像の場合には、上記の各種表現における各成分を「モノクロ画像における画素値」として、それぞれ以下に説明するように独立に処理すれば良い。
【００４５】
なお、ここでＲＡＭ内の配列Iにロードされる画像は、その中にブラインドスポットが存在するようなものである。ブラインドスポットとしては、たとえば、以下のような状況が考えられる。
【００４６】
絵や写真の染み、汚れ、折れ目、破れ目、穴などが存在する場合には、当該領域がブラインドスポットに相当する。また、人間の顔写真などにおいて、ほくろやしわなどを修正したい場合には、当該ほくろやしわなどを囲む領域をブラインドスポットとして採用する。
【００４７】
画像の画素値をロードしたら、各画素の位置(x,y)が推定対象領域Bであるブラインドスポットに含まれるか否かの情報を、初期化する（ステップＳ２０２）。
【００４８】
この情報は、あらかじめハードディスク等に蓄積された情報をＲＡＭに読み込むこととしても良いし、ステップＳ２０１で読み込まれた画像情報を表示画面に表示して、ユーザがマウス等を操作することで、指定することとしても良い。後者の場合には、ＣＰＵの制御の下、表示機器とマウスの入力機器が共働して、入力受付部１０７として機能することとなる。
【００４９】
位置(x,y)が推定対象領域Bに含まれるか否かを記憶する手法として最も簡単なのは、２次元ビット配列Bを用意し、そのx行y列の要素に、(x,y)∈Bが成立するか否かの論理値を記憶する、というものである。
【００５０】
このほか、ユーザがマウス等を操作して、ブラインドスポットを多角形で囲むことにより、推定対象領域Bを指定した場合には、当該多角形の頂点の列を記憶して、位置(x,y)が多角形の内部か外部かを、必要に応じて計算することとしても良い。
【００５１】
また、一つの画像におけるブラインドスポットは、一つには限られず、複数存在しても良い。
【００５２】
図３および図４は、画像とブラインドスポットの例を示す説明図である。以下、本図を参照して説明する。
【００５３】
図３に示す例は、黒い正方形の背景に白い横線が配置された画像において、中央に正方形のブラインドスポットが配置された状況である。ブラインドスポット内には、ランダム雑音的な画素値が配置されている。
【００５４】
図４に示す例は、帆船の浮かぶ湖を林の中から覗いた風景写真に対して、市松模様のような（焼けたワッフル型を押しあてたために焼け焦げが生じたかのような）ブラインドスポットが配置された状況である。各ブラインドスポット内には、一様な画素値が配置されている。
【００５５】
本実施形態においてブラインドスポット内を充填する過程は、非ブラインドスポットからブラインドスポットへ、両者の境界を介して、画素値が滲み出るかのようなシミュレーション計算を行うことに相当する、と考えることができる。したがって、処理を開始する際のブラインドスポット内の画素値としては、元の画像の画素値をそのまま利用しても良いし、ランダムな画素値を配置しても良いし、あらかじめ定めた一定の画素値を配置することとしても良い。
【００５６】
さて、以下では、注目している位置(x,y)が明らかである場合には、添字をつけて配列の要素を「I(x,y)」のように表記するのではなく、適宜、「I」のように、添字を省略して表記する。また、理解を容易にするため、ある量Aのある方向θに沿う偏微分を
Aθ = (∂A/∂x)cosθ + (∂A/∂y)sinθ = Axcosθ + Aysinθ，
と表記することとする。
【００５７】
x軸は、θ = 0の場合に相当し、y軸は、θ = π/2の場合に相当するので、A0，Aπ/2と表記することも可能であるが、一般的な数学の記法に基づき、xによる偏微分をAx、yによる偏微分をAyのように表記するものとする。
【００５８】
表記のように、本実施形態では、２次元配列Iに画素値が記憶されるが、数値微分ならびに数値積分に必要な以下の値を一時的に記憶するため、２次元配列Iと同じ行数列数の２次元配列をＲＡＭ内に用意する。
（１）Ix，Iy，すなわち、画素値Iの分布を、各位置で、xで偏微分した値、ならびに、yで偏微分した値；
（２）Ixx，Ixy，Iyy，すなわち、画素値Iの分布を、各位置で、xで２階偏微分した値、xおよびyで偏微分した値、ならびに、yで２階偏微分した値；
（３）Iξ，すなわち、画素値Iの分布の、各位置における勾配線の方向における傾き；
（４）k = Iξη，m = Iηη，K，M；
（５）Kξ，Kη，Kξξ，Kηη；
（６）Mξ
【００５９】
本手法においては、これらの２次元配列には、位置(x,y)∈Bのそれぞれについての計算結果を格納すれば十分である。すなわち、一般には、(x,y)∈Bを満たさない位置(x,y)については、値を計算する必要もないし、その結果を記憶する必要もない。ただし、数値微分を行う必要があるため、(x,y)∈Bの境界付近については、(x,y)∈Bでない位置についても、数値微分で参照される範囲については、値を計算したり、結果を記憶する必要がある。
【００６０】
本実施形態においては、２階の偏微分までを考慮するため、周縁領域は、推定対象領域Bを周囲に２ドットずつ広げた領域とするのが典型的である。以下、推定対象領域Bおよびその周縁の領域を合わせた領域を領域Dと呼ぶことにする。
【００６１】
さて、ＣＰＵは、領域Dに含まれる位置(x,y)のそれぞれについて、Ix，Iyを数値計算して、結果を記憶する（ステップＳ２０３）。なお、フローチャート内では、理解を容易にするため、「領域Dに含まれる(x,y)のすべてについて」の繰返しループを実行することを、フローチャートの箱隅に三角形を描くことで表記するものとする。
【００６２】
本実施形態では、２次元配列Iの各要素に画素値が記憶されており、x座標およびy座標の刻み幅は１である。そこで、数値微分の手法としては、以下のような簡易な手法を採用することができる。
Ix(x,y) = I(x+1,y)-I(x,y)，
Iy(x,y) = I(x,y+1)-I(x,y)
【００６３】
このほか、
Ix(x,y) =〔I(x+1,y)-I(x-1,y)〕/2
とする等、各種の数値微分の技術を適用することとしても良い。
【００６４】
ついで、領域Dに含まれる位置(x,y)のそれぞれについて、Ixx，Ixy，Iyyを数値計算して、結果を記憶する（ステップＳ２０４）。
【００６５】
ステップＳ２０３における１階偏微分の計算結果を利用すれば、
Ixx(x,y) = Ix(x+1,y)-Ix(x,y)，
Ixy(x,y) = Ix(x,y+1)-Ix(x,y)，
Iyy(x,y) = Iy(x,y+1)-Iy(x,y)
のように計算が可能である。
【００６６】
また、上記と同様に、
Ixy(x,y) =〔Ix(x,y+1)-Ix(x,y) + ，Iy(x+1,y)-Iy(x,y)〕/2
とする等、各種の数値微分の技術を適用することとしても良い。
【００６７】
さらに、領域Dに含まれる位置(x,y)のそれぞれについて、方向ξ，ηを数値計算して、結果を記憶する（ステップＳ２０５）。
【００６８】
各位置における方向ξ，ηについては、角度の即値を記憶するのではなく、その余弦および正弦の値を記憶するのが典型的である。
【００６９】
ここで、画素値Iの分布について考える。
【００７０】
画素値Iには、同じ値を結ぶ等高線と、この等高線に直交する勾配線と、を考えることができる。図５は、等高線と勾配線の関係を示す説明図である。以下、本図を参照して説明する。
【００７１】
本図では、画素値Iの値の大きさを色の濃さで表現している。本図（ｂ）には、等高線をLevel Setとして、勾配線をFlow Curveとして、それぞれ表記している。本図（ａ）は、勾配線の方向ξおよび等高線の方向ηの関係を示している。
【００７２】
ここで、勾配線の方向は、ベクトル
grad I = (Ix,Iy)
に平行であるから、各位置において、勾配線の方向ξの余弦および正弦は、
cosξ = Ix/(Ix2 + Iy2)1/2，
sinξ = Iy/(Ix2 + Iy2)1/2
のように計算することができる。Ix = Iy = 0の場合は、ξとして任意の値を採用することができるので、たとえばcosξ = 1，sinξ = 0とすれば良い。
【００７３】
すなわち、画素値Iの等高線の方向ηは、各位置における画素値Iの勾配線の方向ξに直交するから、
η = ξ + π/2
が成立することとなるが、これも、
cosη = -sinξ，
sinη = cosξ
のように、角度の正弦および余弦によって、方向を表現すれば良い。
【００７４】
なお、正弦および余弦により方向を表現する場合には、ηの値はξの値から上記のように直ちに得られるため、ξの値のみを記憶すれば十分である。
【００７５】
さらに、領域Dに含まれる位置(x,y)のそれぞれについて、Iの等高線の曲率パラメータ
K = Iy2Ixx - 2IxIyIxy + Ix2Iyy，
k = Iηη = K/〔Ix2 + Iy2〕，
および、Iの勾配線の曲率パラメータ
M = (Ix2 - Iy2)Ixy - IxIy(Iyy - Ixx)，
m = Iξη = M/〔Ix2 + Iy2〕，
を数値計算して、結果を記憶する（ステップＳ２０６）。K，M，k，mはいずれも、位置(x,y)についてすでに計算ずみの値から計算が可能である。
【００７６】
なお、上記の計算手法には明記していないが、
Iξξ = 〔Iy2Ixx + 2IxIyIxy + Ix2Iyy〕/〔Ix2 + Iy2〕
である。
【００７７】
さて、上記のように、２次元配列として記憶されたIの分布から、順次差分等を計算することで、
Ix，Iy，Ixx，Ixy，Iyy，Iξ，Iξξ，Iξη，Iηη
を計算することができた。
【００７８】
したがって、２次元配列として記憶された任意の量Aの分布から、上記と同様に順次差分等を計算し、途中経過をＲＡＭに保存しておき、適宜参照して計算に用いることで、
Ax，Ay，Axx，Axy，Ayy，Aξ，Aξξ，Aξη，Aηη
を計算することができる。
【００７９】
そこで、領域Dに含まれる位置(x,y)のそれぞれについて、２次元配列として記憶された量KおよびMの分布から、上記の手法により、
Kη，Mξ，Kξξ，Kηη
を数値計算して、結果を記憶する（ステップＳ２０７）。
【００８０】
そして、領域Dに含まれる位置(x,y)のそれぞれについて、更新パラメータ
∂I/∂t = Kη + Mξ - (Kξξ + Kηη) + λ(k + m)
を数値計算して、結果を記憶する（ステップＳ２０８）。
【００８１】
ここで、λは、正の定数であり、発明者の実験によれば、ほとんど場合において、画素値としてとりうる最大値の０.１倍程度とすれば好適な結果が得られることがわかっている。このほか、画像全体の画素値の標準偏差を求め、その標準偏差の所定の定数倍をλとすることとしても良い。この場合の「所定の定数」は、実験により、好適な値を定めることとなる。
【００８２】
更新パラメータは、現在の画素値を更新すべき「傾き」を表すものである。したがって、この「傾き」に「歩み幅（ステップ幅）」を乗じることで、更新による差分が求められる。この歩み幅をαと呼ぶ。そこで、本画像処理装置は、この正の歩み幅αを計算する（ステップＳ２０９）。
【００８３】
歩み幅αは、領域Dに含まれる位置(x,y)のすべてについて共通の値とするのが典型的である。ここで、収束に時間がかかっても良いのであれば、適当な微小値を採用すれば良い。
【００８４】
また、最急降下法や共役勾配法等、公知の技術によって、好適な歩み幅を、一次探索を用いて求めることが可能である。この場合には、評価関数
E[I] = ∫(x,y)∈B (k2 + m2)Iξ2 dxdy
を数値計算し、これまでに利用した歩み幅αならびにその時の評価関数E[I]の値の履歴から、評価関数E[I]を最小化し、収束を高速化するような歩み幅αを、一次探索により求めることができる。
【００８５】
なお、上記のように、微分の場合の刻み幅はx座標、y座標とも1であったから、当該評価関数の値は、
E[I] = Σ(x,y)∈B (k2 + m2)Iξ2
のように、単なる乗算ならびに加算によって計算することができる。
【００８６】
なお、歩み幅αの各種の決定の手法については後述する。
【００８７】
このようにして、歩み幅αが決まったら、領域Dに含まれる位置(x,y)のそれぞれについて、ＲＡＭに記憶されている画素値I(x,y)を、値
I(x,y) + α(∂I/∂t)
に更新する（ステップＳ２１０）。なお、フローチャートでは、この更新を、代入演算「←」で表記している。
【００８８】
なお、当該評価関数E[I]のうち、項
(k2 + m2)
は、画素値の等高線および勾配線の形状が滑らかであることを意味するものであり、項
Iξ2
は、画素値の空間変化が小さいことを意味するもので、E[I]を最小化することで、滑らかかつ自然に画像が復元できるものと考えられる。
【００８９】
また、通常の最急降下法や共役勾配法では、評価関数E[I]を微分することで、更新パラメータ∂I/∂tを求めることとしているが、本実施形態では、項k，mについては更新を高速に行い、項Iζについては更新を遅く最適化を行うため、上記のような更新パラメータ∂I/∂tを採用している。
【００９０】
人間が脳の神経細胞でブラインドスポットを復元する場合には、伝播速度が速いＶ２細胞系の経路と、伝播速度が遅いＶ１細胞系の経路と、の２つの経路を採用するが、本実施形態における更新パラメータ∂I/∂tの定義を採用することで、Ｖ１細胞、Ｖ２細胞を模した計算を行っている、と考えることもできる。
【００９１】
さて、各画素値の更新が終了したら、領域Dに含まれる位置の画素値が収束したか否かを判断する（ステップＳ２１１）。収束したか否かは、たとえば、更新量の最大値
max(x,y)∈D|α(∂I/∂t)|
が、画素値の最大値
max(x,y)∈D I
に比べて、十分に小さければ、収束した、と判定することができる。ここで、十分に小さい、とは、たとえば、表示装置の画素値分解能よりも小さい、等の判断基準を採用すれば良い。たとえば、表示装置が２４ビットカラーの表示が可能である場合には、画素値分解能は1/256 = 0.00391程度と考えられるから、更新量の最大値が画素値の最大値の0.39パーセント未満であることをもって、収束した、と判定することが可能である。
【００９２】
収束していなければ（ステップＳ２１１；Ｎｏ）、ステップＳ２０３に戻る。一方、収束していれば（ステップＳ２１１；Ｙｅｓ）、ＲＡＭに記憶されている２次元配列配列Iにより、ブラインドスポットの充填が終わった画素値が表現されていることとなるので、本処理を終了する。
【００９３】
さて、歩み幅αの決め方の具体的な手法について、以下に説明する。
【００９４】
上述した通り、αとしては、微小な正定数値を採用するのが最も簡単であるが、このほかのバリエーションとして、以下のような手法が考えられる。
【００９５】
まず、αとして、ある正数値を初期値として与える。そして、更新量の最大値
max(x,y)∈D|α(∂I/∂t)|
が減少し続けている間は、αの値はそのまま維持し、更新量の最大値が増加したら、αの値を減少させる。αの値を減少させる場合には、たとえば、半分にする、あるいは、前回の更新量最大値と今回の更新量最大値の比を乗じる、などの手法が採用できる。一般に収束値近付くにつれて、|(∂I/∂t)|の値は減少していくと考えられるからである。
【００９６】
この他の手法が、上述の通り、評価関数を用いる手法である。具体的には、評価関数E[I]を求める計算および、必要に応じて、過去に計算された値の履歴を用いる。すなわち、t回目の繰返しにおいて得られた評価関数値をE[I](t)のように表記するものとすると、t回目の繰り返しにおいて用いる歩み幅の値α(t)を
α(t) = argminα E[I + α(∂I/∂t)](t)
のように計算する、というものである。
【００９７】
この手法は、最急降下法や共役勾配法で利用される手法であり、いわゆる一次探索を用いることができる。一次探索は、上記のα(t)を厳密に解くのではなく、現在までに計算された値から近似解を求めて採用することに相当する。
【００９８】
歩み幅の設定には、このような種々の技術を適用することができる。
【００９９】
（本実施形態の適用例）
図６、図７、図８、図９、図１０、図１１は、図３に示す画像に対して上記の処理を繰り返した途中経過を順に示す説明図であり、図１２、図１３、図１４、図１５、図１６、図１７、図１８、図１９は、図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【０１００】
これらの図に示すように、ブラインドスポットには、境界から画素の色が染み込んで、その染み込みが安定した時点で、画素値が復元された状況となる。図１１および図１９を見ればわかる通り、ブラインドスポットが配置されていた領域についても、きれいに画素値が充填されており、良好な結果が得られていることがわかる。
【産業上の利用可能性】
【０１０１】
上記のように、本発明によれば、一部の画素の情報が欠落した画像を復元するのに好適な画像処理装置、画像処理方法、ならびに、これをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１０２】
【図１】本実施形態に係る画像処理装置の概要構成を示す模式図である。
【図２】本実施形態に係る画像処理装置にて実行される画像処理の制御の流れを示すフローチャートである。
【図３】ブラインドスポットが配置された画像の例を示す説明図である。
【図４】ブラインドスポットが配置された画像の例を示す説明図である。
【図５】画素値の分布と等高線、勾配線の方向の位置関係を示す説明図である。
【図６】図３に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図７】図３に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図８】図３に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図９】図３に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１０】図３に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１１】図３に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１２】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１３】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１４】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１５】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１６】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１７】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１８】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【図１９】図４に示す画像に対して上記の処理を繰り返した途中経過を示す説明図である。
【符号の説明】
【０１０３】
１０１  画像処理装置
１０２  記憶部
１０３  評価関数計算部
１０４  更新パラメータ計算部
１０５  更新部
１０６  繰返制御部
１０７  入力受付部
【図１】
2009239829.tif 000003
【図２】
2009239829.tif 000004
【図３】
2009239829.tif 000005
【図４】
2009239829.tif 000006
【図５】
2009239829.tif 000007
【図６】
2009239829.tif 000008
【図７】
2009239829.tif 000009
【図８】
2009239829.tif 000010
【図９】
2009239829.tif 000011
【図１０】
2009239829.tif 000012
【図１１】
2009239829.tif 000013
【図１２】
2009239829.tif 000014
【図１３】
2009239829.tif 000015
【図１４】
2009239829.tif 000016
【図１５】
2009239829.tif 000017
【図１６】
2009239829.tif 000018
【図１７】
2009239829.tif 000019
【図１８】
2009239829.tif 000020
【図１９】
2009239829.tif 000021