(画像出力装置の構成)
以下、本発明の実施の形態に係る画像出力装置を、図を参照しながら説明する。なお、この画像出力装置は、民生用のプリンタ1としているが、ファクシミリ装置、複写装置、スキャナー装置、またはこれらの装置のうち2以上の機能を実現する複合装置にも適用できる。
図1は、本発明の実施の形態に係る画像出力装置
の一実施例であるプリンタ1の主要な基本構成を示すブロック図 である。外部機器2は、デジタルカメラ、デジタルカメラが搭載された携帯電話またはパーソナルコンピュータ等で、プリンタ1に画像データや各種コマンド等を出力している。以下、外部機器2がデジタルカメラであるものとして説明する。このプリンタ1は、インターフェース部3(通信部)と、処理部4と、表示/操作部5と、メモリ部6と、メモリ制御部7と、駆動部10と、を主要構成として有している。
インターフェース部3は、外部機器2とのデータ及びコマンド等の通信制御を行なう。処理部4は、主にCPUとプログラム用ROM,ワーク用RAM,I/Oポート等の周辺回路等で構成され、プリンタ1全体の動作制御を行なう。表示/操作部5(LCD等の表示部とキースイッチ等の操作部を含む。決定手段、調整手段および表示部となる。)は、ユーザに対しプリンタ1の操作に必要な情報を表示し、かつ、ユーザがプリンタ1を操作する際のタッチパネルとなる。メモリ部6は、D−RAMまたはS−RAM等の半導体メモリからなり、画像データおよび生成された変化要因情報のデータ等を格納する。メモリ制御部7は、メモリ部6へのリードおよびライトを制御し、主に表示/操作部5からのパラメータを格納するパラメータ記憶部8と、メモリ部6のリード及びライトのアドレスを発生させるアドレス制御部9とを有する。駆動部10は、用紙等の被記録媒体を移動するための駆動源である搬送モータ(図示省略)と、記録用インクを吐出する記録ヘッド部(図示省略)と、記録ヘッド部を画像信号に応じて駆動するヘッド駆動部(図示省略)と、各種の駆動を制御するモータ駆動部(図示省略)と、キャリッジ部(図示省略)を移動するための駆動源であるキャリッジモータ(図示省略)等からなる。これら駆動部10等の各構成要素の動作によって、デジタルカメラに格納されている画像データが、用紙等の被記録媒体へと出力(印刷)されることとなる。
図1に示す破線で囲んだ画像復元処理部11について詳述する。画像復元処理部11は、プリンタ1の構成要素のうち、インターフェース部3、処理部4、メモリ部6およびメモリ制御部7の各機能の全部または一部によって構成されている。インターフェース部3が外部機器2との通信によって受信した原画像のデータは、処理部4に送られ処理部4によって処理される。その処理の際の各種データは、メモリ制御部7を介してメモリ部6に記録される。その各種データは、変化要因情報のデータおよびその生成過程に生成されるデータ、ならびに復元画像のデータ(元画像のデータ)およびその復元過程に生成されるデータを含む。
処理部4は、画像処理プロセッサを有しており、ASIC(Application Specific Integrated Circuit)のようなハードウェアで構成されている。そして、処理部4は、後述する変化要因情報のデータの生成に係る処理および画像の復元処理を実行する。
また、この処理部4は、各種データを記憶する記憶部(図示省略)を有し、その記憶部には後述する比較用画像データおよび比較用画像信号データを生成する際の元となる画像のデータが保管されることがある。さらに処理部4は、ASICのようなハードウェアとして構成されるのではなく、ソフトウェアで処理する構成としても良い。
また、メモリ部6は、半導体メモリで構成されているが、ハードディスクドライブ等の磁気記録手段、またはDVD等を使用する光記録手段等を採用しても良い。また、メモリ部6は、変化要因情報のデータまたはそのデータを加工したデータを記録する。そして、メモリ部6は、その変化要因情報のデータの中枢をなすブレの軌跡(履歴)と、その軌跡上の各点にとどまっていた時間(重み)を記憶する。メモリ部6で記録されたデータは、撮影された原画像(劣化等の変化が生じた画像)から元画像(変化する前の画像もしくは本来撮影されるべきであった画像またはそれらの近似画像)への復元処理の際に、処理部4で用いられる。よって、処理部4とメモリ部6との間では、メモリ制御部7を介して相互にデータの受け渡しが可能となっている。
(変化要因情報のデータの生成)
図2に、処理部4が行う変化要因情報のデータの生成処理の一例のフローチャートを示す。
まず、処理部4は、最初の変化要因情報のデータである点像分布関数(PSF:Point Spread Function)の任意の初期値(P0)を設定する(ステップS101)。ここでは、その初期値を強度分布がガウス分布のデータであるガウシアンディスクとして設定する。
次に、処理部4は、ステップS101の処理と併行してまたはその処理の前若しくは後に、受信した原画像のデータImg’を1/4に縮小する。すなわち、原画像のデータImg’のデータを間引いて25%の容量値とする縮小処理(加工)を行う(ステップS102)。この縮小処理を経たデータである縮小データをSImg’と記す。
次に、処理部4は、その縮小データSImg’と同一容量の任意の画像データとしてI0を用い、I0とP0とを重畳積分してブレた比較用の画像データI0’を得る(ステップS103)。なお、任意の画像データI0としては、縮小された原画像のデータSImg’が好ましい。
次に、処理部4は、SImg’とI0’とを比較し、その差分のデータΔを得る(ステップS104)。その差分のデータΔが所定値以内かを判定し(ステップS105)、所定値以内であればステップS120へ移行し、所定値以内でなければステップS106へ移行する。ステップS106では、その差分のデータΔに係数k(変化要因情報(PSF)に基づいた係数)を乗じたものをI0に配分して、最初の復元画像データI0+n(今回はI0+1)を得る。ステップS106において、I0に配分する際には、その配分値(更新量)の妥当性を判断する処理を行う(ステップS107)。そして、その妥当性に応じてI0+nを修正する処理を行う(ステップS108)。次に、ステップS109に移行し、この処理が所定回数に達したか否かを判断し、所定回数(たとえば10回)に達したらステップS120へ移行し、所定回数に達していないときはステップS110へ移行する。
そして処理部4は、I0+1をI0の代わりに用いて(ステップS110)ステップS103の処理を行い、ステップS103、ステップS104、ステップS105、ステップS106、ステップS107、ステップS108、ステップS109およびステップS110の処理を所定回数(今回は10回)繰り返す。その所定回数に達したか否かの判断をステップS109にて行う。
ステップS106の処理は、縮小した原画像のデータSImg’および復元画像データI0+nを構成する画素のデータの一部または全部を移動(配分)させる処理である。なお、ステップS107およびステップS108の詳細については後述する。
次に、ステップS109にて所定回数に達したと判断された場合は、処理部4は、PSFを算出する処理を行う(ステップS120)。その処理は、得られた復元画像データI0+nと縮小された原画像のデータSImg’から新たなPSF(=P)を得る処理である。その処理の具体例は、得られた復元画像データI0+nと原画像の縮小データSImg’をそれぞれフーリエ変換し、周波数空間での割り算によってPSFの周波数特性を算出し、その周波数特性をフーリエ逆変換することによってPSF(=P)を得る。
次に、処理部4は、Pのデータの中枢をなすブレの軌跡の部分(骨格部)のデータの値を2倍にして、骨格部を強調する処理を行う(ステップS121)。図3(A)は、現段階の時点で推定されるPSFをX−Y平面上に示したものである。このX−Y平面は、後述する図6に示す外部機器2であるデジタルカメラのブレが生じやすいX−Y平面に相当する。PSFは、そのデータの中枢をなすブレの軌跡に相当する部分(骨格部)Aと、その周辺のデータ値の小さな部分B(ボケ等の部分)とからなる。この小さな値となる部分Bは、ボケの部分と考えられる。図3(B)は、Aの部分を強調する処理(ステップS121)を行った後のPSFの状態を示している。Aの骨格部分が若干強調されていることがわかる。この処理に当っては、細線化処理が採用されているが、他の強調方法を採用してもよい。この処理の結果、ステップS120で得られたPのデータは、P’のデータとなる。その後、移動エネルギーが最小となるようにP’の原点を設定する処理(詳細は後述する)を行う(ステップS122)。
次に、処理部4は、P’が妥当なPSFか否かを判断する。具体的には、処理部4は、ステップS120からS122までの処理を3回繰り返したか否かを判断する(ステップS123)。繰り返しの回数、すなわちPSFの算出回数が3回を満たしていなければ(N)、P’のデータをP0の代わりに用いて(ステップS124)、ステップS103からS110までの処理を繰り返し、その後再度ステップS120〜S122を実行する。
そして、ステップS123の判断において、PSF算出の回数、すなわち繰り返しの回数が3回を満たしていれば(Y)、処理部4は、後述する拡大処理(ステップS125)において予め定められていた縮小率、すなわち、原画像に対する縮小の程度に至ったか否か、つまり、所定の縮小率に達したかを判断する(ステップS126)。この判断が(N)ならば、得られたP’のデータおよびI0+nのデータを同じ比率で拡大処理する(ステップS125)。この実施の形態では、最後に得られたP’とI0+nを4/3倍する。所定の縮小率に至っていないと判断すると、拡大処理したI0+nのデータをI0のデータの代わりに用い(ステップS127)、拡大処理したP’のデータをP0の代わりに用いる(ステップS124)。そして、原画像のデータを1/3に縮小した新たな縮小画像SImg’を得る。この1/3に縮小した画像は先に4/3倍したデータとは同じサイズの画像となる。そして、処理部4は、新たな各データを用い、ステップS103からS110までの処理を繰り返し、また、ステップS120からS124までの処理を繰り返す。この繰り返しは、ステップS126で所定の縮小率、たとえば原画像のデータに対して1/3の縮小率に達していると判定されたとき(Y)は、ステップS128へ移行する。なお、ステップS125では、得られたP’のデータおよびI0+nのデータを同じ比率で拡大処理しているが、拡大処理するのはP’のデータのみとし、拡大処理したI0+nのデータの代わりに任意の画像データを用い、ステップS125を実行しても良い。その任意の画像データは、たとえばSImg’のデータ等である。但し、ステップS125では、本実施の形態のように得られたP’のデータおよびI0+nのデータを同じ比率で拡大処理した方が、復元処理を経たI0+nのデータを用いるため、良質なPSFを生成できる場合がある。
なお、ステップS125におけるP’のデータの拡大処理は、処理部4が、隣接する画素の間にその隣接する画素の値の平均値の新たな画素のデータを挿入すること(補完法)により行う。また、I0+nのデータの拡大処理は、処理部4が、隣り合う画素の間に新たな画素を挿入することにより行う。その新たな画素の画素値は、隣り合う画素の画素値を平均した値とする。この拡大処理によって所定の縮小率に達したか否かの判断は、処理部4がステップS126で行う。拡大処理によって所定の縮小率に達したら(Y)、処理部4は、現段階で得られているP’を実寸大に拡大する(ステップS128)。すなわち、現段階で得られているP’は、実寸の1/3のものであるから、処理部4は、現段階で得られているP’を3倍に拡大する。この拡大処理も、処理部4が隣り合う画素の間に新たな画素を挿入することにより行う。その新たな画素の画素値は、隣り合う画素の画素値を平均した値とする。なお、ステップS105,S128の各拡大処理に当っては、上述の補間法以外に、処理部4が、隣り合う画素の間にその隣り合う画素の一方の画素の画素値の画素を挿入することにより行う補間法を採用してもよい。
以上の処理によって、プリンタ1によって変化要因情報のデータが新規に生成され(ステップS129)、画像情報からPSFが生成されることとなる。このPSFは、処理部4によってメモリ部6に記憶され、画像の復元処理の際に用いられる。以上の過程を経て得られたPSFを「G」と表す。
(配分値の妥当性を判断する処理)
上述のステップS107で行う、配分値の妥当性を判断する処理について図を用いて説明する。
図4および図5は、図2におけるステップS107およびS108の処理の詳細を説明するための図である。この処理の基本的な考え方は、次の通りである。この処理は、復元画像データI0+nに対し一括して行うものではなく、復元画像データI0+nを構成する画素毎に行うものである。この点はステップS103,S105およびS106の画像全体の処理とは大きく異なる。まず、PSF初期値であるP0によって一つの画素が影響を受ける範囲の複数の画素のうち、更新によって画素値の変化が大きくなるものがある場合は、その複数の画素の範囲にエッジとなる部分が存すると考える。そのエッジとなる部分は、対応する部分の差分のデータΔに基づく更新量が適切な量となり難い。なぜならば、エッジ部分を跨ぐ2つの画素の画素値は、その違いが大きすぎるため、一方の画素から他方の画素へとエッジ部分を越えて画素値を配分しても、その配分は適切なものとはなりにくいためである。そこで、更新によって画素値の変化が周囲に比べ不自然に大きくなる画素については、更新量の絶対値を小さくすることで、エッジ近傍への更新量を適切なものに近づける。
そのためには、まず、所定の差分のデータΔからある画素の更新量(Dc)を算出する(ステップS201)。そして、ブレによって一つの画素が影響を及ぼす範囲の複数の画素(一部の画素)およびその一つの画素との集合を参照し、その参照する各々の画素の更新前の画素値(=Ib)の最小値(=Min)、最大値(=Max)および平均値(=Av)を算出する(ステップS202)。なお、この一部の画素(参照する画素)は、単純に隣接する複数の画素、あるいは所定の画素を中心としてそこから所定の距離に含まれる複数の画素としても良い。
次に、参照する画素のうちの一つの画素の更新後の画素値となるデータ(=Ia)を算出する(ステップS203)。この更新後の画素値Iaは、ある画素に対応した差分のデータδから算出した各画素毎の更新量(Dc)を用いて更新した場合の各画素毎の画素値であり、次の(1)式によって導かれる。
Ia=Ib+Dc ……(1)
次に、修正前の更新量(Dc)の妥当性を判断する。まず、復元画像データを構成する画素のデータとなる更新後の画素値Iaが最小値Min以上であり最大値Max以下である場合には(ステップS204の判断が「Y」(=Yes))、その画素は、周囲の画素との画素値のバランスが自然であり、更新量Dcは、修正せずにそのまま修正後の更新量(Dp)とし、修正値Ia’を得る(ステップS205,S214)。なおステップS214は、修正後の更新量Dpによって修正値Ia’を得るステップである。図5の(A)に示す矢印は、ステップS205およびステップS214の処理を経た状態を概略的に表しており、矢印の黒丸は画素の更新前の画素値Ibを示し、三角の矢示はDpによって更新した後の修正値Ia'を示し、矢印の長さは更新量(Dc=Dp)を示している。左側の矢印は、修正前の更新量Dcの値が正の値の場合、右側の矢印は、修正前の更新量Dcの値が負の値の場合についての一例を示している。
そして、ステップS204の判断が「N」(=No)の場合は、ステップS206へと進む。ここでは、更新後の画素値Iaが最大値Maxを超えてしまっている場合であって更新前の画素値Ibが平均値Av以下である場合には(ステップS206の判断が「Y」(=Yes))、その画素は、周囲の画素との画素値のバランスが不自然であると判断する。そして、更新量Dcは、最大値Maxから更新前の画素値Ibを差し引いた値Dpへと変更される(ステップS207)。この結果、修正値Ia’の画素値は、最大値Maxと等しくなる。図5の(B)に示す矢印は、ステップS207およびステップS214を経た状態を、図5(A)と同様に概略的に表している。左側の矢印は、Dcによって更新した場合のIa、右側の矢印は、Dpによって更新した場合の修正値Ia’を示している。
そして、ステップS206の判断が「N」(=No)の場合は、ステップS208へと進む。ここでは、更新後の画素値Iaが最大値Maxを超えてしまっている場合であって更新前の画素値Ibが平均値Avを越える場合には(ステップS208の判断が「Y」(=Yes))、その画素は、周囲の画素との画素値のバランスが不自然であると判断する。その場合、更新量Dcは、以下の(2)式から得られる値Dpへと変更される(ステップS209)。この結果、修正値Ia’の画素値は、更新後の画素値Iaが最大値Maxをプラス側に超えた分の1/4を最大値Maxに加えた値となる。図5の(C)に示す矢印は、ステップS209およびステップS214を経た状態を、図5(B)と同様に概略的に表している。
Dp=0.25(Ia−Max)+(Max−Ib) …(2)
そして、ステップS208の判断が「N」(=No)の場合は、ステップS210へと進む。ここでは、更新後の画素値Iaが最小値Min未満であって更新前の画素値Ibが平均値Av以下である場合には(ステップS210の判断が「Y」(=Yes))、その画素は、周囲の画素との画素値のバランスが不自然であると判断する。そして、更新量Dcは、以下の(3)式から得られる値Dpへと変更される(ステップS211)。この結果、修正値Ia’の画素値は、更新後の画素値Iaが最小値Minをマイナス側に超えた分の1/4を最小値Minから引いた値となる。図5の(D)に示す矢印は、ステップS211およびステップS214を経た状態を、図5(B)と同様に概略的に表している。
Dp=−(Ib−Min)−0.25(Min−Ia) …(3)
そして、ステップS210の判断が「N」(=No)の場合は、更新後の画素値Iaが最小値Min未満であって更新前の画素値Ibが平均値Avを超えている場合となる(ステップS212)。その場合には、その画素は、周囲の画素との画素値のバランスが不自然である。そして、更新量Dcは、最小値Minから更新前の画素値Ibを差し引いた値Dpへと変更される(ステップS213)。この結果、修正値Ia’の画素値は、最小値Minと等しくなる。図5の(E)に示す矢印は、ステップS213およびステップS214を経た状態を、図5(B)と同様に概略的に表している。
以上のステップS204,S206,S208,S210に示す判断の処理は、所定の基準を満たすか否かを判定する処理となる。なお、このステップS204,S206,S208,S210の判断、およびステップS212の条件を満足するか否かを判断基準としたものの判断の順序は、適宜変更できる。その変更を行ったときも、実際に判断するのは最初から4つめまでである。その4つに該当しなかった場合は、必ず残りの条件に当てはまることとなるため、残りの条件に該当するか否かは、図4におけるステップS212と同様に所定の基準を満たすか否かを判定する処理とはならない。
このように、得られたDpを修正した更新量とし、修正値Ia’が得られることとなる(ステップS214)。この結果、ある画素が更新される(ステップS215)。そして、全ての画素が更新されたか否かの判断を行う(ステップS216)。その判断が「N」(=No)の場合は、参照する画素を変更して(ステップS217)、変更後の参照する画素(他の一部の画素)から所定の基準を求めるためおよび次の画素の修正値Ia’を得るためにステップS202に戻り、ステップS202〜217の処理を繰り返す。この処理では、一つの画素の更新量を修正したら、参照する画素を変更して別の一つの画素の更新量を変更している。そして、ステップS216の判断が「Y」(=Yes)の場合は、全ての画素の修正値Ia’を用いて復元画像データI0+nを修正する(ステップS218)。以上で図2におけるステップS107,108が終了する。
(P’の原点を設定する処理)
上述の図2におけるステップS122で行う、骨格部が強調されたPSFの値であるP’の原点を設定する処理について図1、図6、図7等を用いて説明する。
メモリ部6には、上述の図2におけるステップS122の段階のデータが保存される。すなわち、図6に示す外部機器2であるデジタルカメラのブレと推定できるデータがメモリ部6に保存される。この図6には、図1に示す外部機器2であるデジタルカメラの外観が示されている。この外部機器2の図に示すXYZの各方向軸を中心とした回転がブレとなるが、特に現れやすいのはXとYの方向軸回りである。図7に示すブレに関するデータは、図6におけるX−Y平面上における座標データの経時変化のデータである。そのデータは、図7に示すX−Y平面で表されるようなブレの軌跡の情報およびその軌跡上の各位置にどの程度の期間とどまっていたかの情報を含む。図7に示すX−Y平面の始点A(X1,Y1)は、撮影開始位置であり、軌跡の終点B(XN,YN)は、撮影終了位置である。
ブレによる画像の劣化は、光エネルギーが1点に集中せずに、光エネルギーが図7に示す軌跡A−B上に分散する現象である。よって分散した光エネルギーを1点に集中させることが、原画像を元画像へと復元することとなる。その光エネルギーを集中させる1点は、自由に決定できる。たとえば図7におけるA点、B点、A−Bの軌跡上またはA−Bの軌跡を外れた点に決定できる。
ここで、分散した光エネルギーを集中させる点を「原点位置」と言うこととし、原点位置は、図7に示すX−Y平面上の点0座標(0x,0y)で表すこととする。また、上述したステップS120で算出したPSFの骨格部をステップS121の処理で強調したデータ(P’)をG(Xn,Yn)で表すこととする。これは、各位置(Xn,Yn)においてどの程度の期間とどまっていたかの情報である「重さ」を示し、(4)式を満たす。(4)式は、光エネルギーを1と正規化して取り扱うことを示す。なお、(Xn,Yn)は、図7に示すX−Y平面上の座標である。
・・・(4)
また、分散した光エネルギーを原点位置である点0へ集中させる移動エネルギーをE(0x,0y)で表すこととする。すると分散したエネルギーを原点位置(0x、0y)に集中させる移動エネルギーは、移動距離と重さの関数で表現することができ、たとえば以下の式(5)(n=1,2,・・・N:Nは分散して広がった領域数)で表わすことができる。
・・・(5)
また、より移動距離に重きを置く場合は、以下の式(6)を用いることもできる。この(6)式の方が平方根の計算が無く、計算が楽になる利点がある。
・・・(6)
さらに、より計算を楽にするためには、以下の式(7)を用いることもできる。
・・・(7)
そして、移動エネルギーE(0x,0y)を最小値とする原点位置(0x,0y)を設定する。この設定は、処理部4で行われる。また、処理部4は、新たに原点位置が設定されたデータを、その設定の前にメモリ部6に保存されていたデータに代えて保存する。
(画像復元処理)
次に、以上のように構成された本実施の形態に係るプリンタ1の処理部4の画像復元処理方法(復元手段)の概要を、図8および図9に基づいて説明する。なお、画像復元処理方法は先に説明したステップS102,S103,S104,S105,S106,S107,S108,S110の処理とほぼ同様であり、繰り返し処理となっている。
ここで、変化要因情報のデータを新規に生成する処理を実行する時期または原画像の元画像への復元処理を実行する時期は、処理部4の稼働率が低い時等、プリンタ1へ画像の出力の命令を行った時期から遅らせた時期とすることができる。その場合には、メモリ部6に保存された原画像のデータおよびその原画像についての変化要因情報のデータが、それぞれが関連づけられた状態で長期間に渡り保存される。このように、原画像の復元処理を実行する時期を、原画像を撮影した時期から遅らせる利点は、種々の処理を実行するプリンタ1の処理部4の負担を軽減できることである。
図8中、「Im0」は、任意の初期画像信号であって、メモリ部6に予め保存されている画像信号のデータである。「Im0’」は、その初期画像信号のデータのIm0の劣化画像のデータを示し、比較のための比較用画像信号データである。「G」は、図2に示す処理で推定された変化要因情報(=劣化要因情報(伝達関数))のデータで、メモリ部6に保存されるものである。「Img’」は、原画像のデータである。
「δ」は、原画像のデータImg’と、比較用画像信号データIm0’との差分のデータである。「k」は、変化要因情報のデータに基づく配分比である。「Im0+n」は、初期画像信号のデータIm0に、差分のデータδを変化要因情報のデータGに基づいて配分して新たに生成した復元画像信号のデータである。「Img」は、元画像のデータである。ここで、ImgとImg’の関係は、次の(8)式で表されるものとする。
Img’=Img*G ……(8)
ここで、「*」は、重畳積分を表す演算子である。
なお、差分のデータδは、対応する画素の単純な差分でも良い場合もあるが、一般的には、変化要因情報のデータGにより異なり、次の(9)式で表される。
δ=f(Img’,Img,G) …(9)
処理部4の処理ルーチンは、まず、分散した光エネルギーを集中させる原点位置を決定する(ステップS300)。この決定は、既に図2に示すステップS122で行っている。よって、この処理の詳細な説明は省略する。そして、任意の画像信号データIm0を用意する(ステップS301)。この初期画像信号のデータIm0としては、劣化している原画像のデータImg’を用いても良く、また、黒ベタ、白ベタ、灰色ベタ、市松模様等どのような画像信号のデータを用いても良い。ステップS302で、(8)式のImgの代わりに初期画像信号となる任意の画像信号のデータIm0を入れ、劣化画像信号である比較用画像信号データIm0’を求める。次に、原画像のデータImg’と比較用画像信号データIm0’とを比較し、差分のデータδを算出する(ステップS303)。
そして、差分のデータδの各々の絶対値が所定値未満であるか否かを判断する(ステップS304)。ステップS304で差分のデータδが所定値以上であれば、ステップS305で新たな復元画像信号のデータを生成する処理を行う。すなわち、個々の画素が得られた個々の差分のデータδを変化要因情報のデータGに基づいて、任意の画像信号データIm0に配分し、新たな復元画像信号データIm0+nを生成する。
そして、復元画像信号データIm0+nを生成する際に用いる更新量(配分値)の妥当性を判断し(ステップS306)、復元画像信号データIm0+nを修正する(ステップS307)。このステップS306およびステップS307の処理は、上述した図2に示すステップS106、S107で行う、配分値の妥当性を判断し修正する処理と同様に行う。よって、この処理の詳細な説明は省略する。
その後、図8のステップS302〜S307を繰り返す。この繰り返しの最中の復元画像信号データIm0+nは、処理が行われた途中段階の復元画像信号データとなる。ステップS304において、各画素の差分のデータδの各々の絶対値が所定値未満となったら、繰り返し処理を終了する。そして、繰り返し処理を終了した時点での復元画像信号データIm0+nを元画像のデータImgと推定する。すなわち、各画素の差分のデータδの各々の絶対値の最高値または平均値が所定値より小さくなった場合、比較用画像信号データIm0+n’の元となった復元画像信号データIm0+nは元画像のデータImgと非常に近似したものとなることから、その復元画像信号データIm0+nを元画像のデータImgと推定するのである。なお、メモリ部6には、初期画像信号のデータIm0、変化要因情報のデータG、を記録しておき、必要によりメモリ制御部7によって処理部4に渡すようにしても良い。
表示/操作部5には、図8に示す画像復元の処理を行うか否かを決定する決定ボタン(決定手段)が表示され、ユーザがその決定ボタンを操作することで図8に示す画像復元の処理の実行または不実行が決定される。また、表示/操作部5には、図8に示すステップS302〜S307を繰り返す回数、その繰り返しの期間、またはステップS303で算出される差分のデータδのいずれか一つ以上に基づく情報が表示されるボタンを有し、ユーザは、画像の復元処理の進行をそのボタンの操作によって調整する(この機能が調整手段となる)。たとえば、ユーザーは、極力良質な元画像を取得したい場合には、そのボタンの操作によってステップS302〜S307を繰り返す回数を多く設定したり、その繰り返しの期間を長く設定したり、またはステップS303で算出される差分のデータδを小さく設定する。さらに、表示/操作部5には、原画像および元画像が並べて2つ表示される。そしてユーザは、その原画像および元画像を見比べて、必要に応じていずれの画像を印刷するかを決定するための操作を表示/操作部5によって行う。表示/操作部5に表示する画像としては、原画像および最終の元画像に加えて、途中段階の画像に一つまたは複数を表示するようにしても良い。
上述した繰り返し処理方法(復元手段)の考え方をまとめると以下のようになる。すなわち、この処理方法においては、処理の解を逆問題としては解かず、合理的な解を求める最適化問題として解くのである。逆問題として解く場合、理論上は可能であるが、現実問題としては困難である。
最適化問題として解く場合において、本実施の形態では、次のような条件を前提としている。
すなわち、
(1)入力に対する出力は、一意に決まる。
(2)出力が同じであれば、入力は同じである。
(3)出力が同じになるように、入力を更新し、その更新量を妥当な値に修正しながら反復処理することにより、解を収束させていく。
このことを換言すれば、図9(A)(B)に示すように、原画像のデータImg’と近似である比較用画像信号データIm0’(Im0+n’)を生成できれば、その生成の元データとなる初期画像信号のデータIm0または復元画像信号データIm0+nは、元画像のデータImgとなる。
なお、この実施の形態では、差分のデータδの判定基準となる値は、各データを8ビット(0〜255)で表した場合に、この実施の形態では「6」としている。すなわち、6より小さい、つまり5以下の時は、処理を終了している。
次に、図8に示す手ブレの復元処理方法(ステップS302,S303,S304,S305,S306,S307の反復処理)の詳細を、図10,図11,図12,図13,図14,図15,図16および図17に基づいて説明する。
(手ブレの復元アルゴリズム)
手ブレが無いとき、所定の画素に対応する光エネルギーは、外部機器2であるデジタルカメラの露光時間中、その画素に集中する。また、手ブレがある場合、光エネルギーは、露光時間中にブレた画素に分散する。さらに、露光時間中のブレがわかれば、露光時間中のエネルギーの分散の仕方がわかるため、ブレた画像からブレの無い画像を作ることが可能となる。
以下、簡単のため、横一次元で説明する。画素を左から順にS−1,S,S+1,S+2,S+3,・・・,とし、ある画素Sに注目する。ブレが無いとき、外部機器2であるデジタルカメラの露光時間中のエネルギーは、その画素に集中するため、エネルギーの集中度は「1.0」である。この状態を図10に示す。このときの撮影結果を、図11の表に示す。図11に示すものが、劣化しなかった場合の正しい画像データImgとなる。なお、各データは、8ビット(0〜255)のデータで表している。
露光時間中にブレがあり、露光時間中の50%の時間はS番目の画素に、30%の時間はS+1番目の画素に、20%の時間はS+2番目の画素にそれぞれブレていたとする。エネルギーの分散の仕方は、図12に示す表のとおりとなる。これが本来の変化要因情報のデータとなる。
露光時間中にブレがあり、露光時間中の50%の時間はS番目の画素に、30%の時間はS+1番目の画素に、20%の時間はS+2番目の画素にそれぞれブレていたとする。エネルギーの分散の仕方は、図12に示す表のとおりとなる。これが変化要因情報のデータGとなる。上述の式(5)における「N」の値は「3」となり、「重み」としての50%、30%、および20%の総和が「1」となる。よって、この変化要因情報G(ここでは、横一次元で考えるため、G(Xn)となる)は、上述の式(4)を満たす。
この図12および式(5)に基づいて、移動エネルギーE(0x,0y)を算出する。ここでは、横一次元で考えるため、移動エネルギーは、E(0x)となる。また、移動距離は、画素一つ分の移動距離を「1」として計算する。すると、分散した光エネルギーを画素「S」に集中させる場合の移動エネルギーは、E(0x)は、以下のように計算され、求められる。
(1×0)+(0×0.5)+(1×0.3)+(2×0.2)=0.7
同様に、分散した光エネルギーを画素「S+1」に集中させる場合の移動エネルギーは、E(0x)は、以下のように計算され、求められる。
(1×0.5)+(0×0.3)+(1×0.2)=0.7
同様に、分散した光エネルギーを画素「S+2」に集中させる場合の移動エネルギーは、E(0x)は、以下のように計算され、求められる。
(2×0.5)+(1×0.3)+(0×0.2)=1.3
以上の結果から、図12の場合は、分散した光エネルギーを画素「S」または「S1」に集中させることで、移動エネルギーを最小値の「0.7」とすることができる。また、図12の代わりに「S=0.45」「S+1=0.3」「S+2=0.25」の場合は、画素「S+1」への移動エネルギーの総和が最も小さくなる。すなわち、画素「S」への移動は「0.8」となり画素「S+1」への移動は「0.7」となり、画素「S+2」への移動が「1.2」となるためである。以下、分散した光エネルギーを移動エネルギーが最も小さい位置、すなわち上述の図12の例で画素「S」へと、集中させる場合の繰り返し処理の詳細について説明する。
ブレは、全ての画素で一様であり、線形問題として把握される。そして、上ブレ(縦ブレ)が無いとすると、ブレの状況は、図13に示す表のとおりとなる。図13中の「ブレ画像」として示されるデータが、劣化している原画像のデータImg’となる。具体的には、たとえば「S−3」の画素の「120」は、ブレ情報である変化要因情報のデータGの「0.5」「0.3」「0.2」の配分比に従い、「S−3」の画素に「60」、「S−2]の画素に「36」、「S−1」の画素に「24」というように分散する。同様に、「S−2」の画素データである「60」は、「S−2」に「30」、「S−1」に「18」、「S」に「12」として分散する。この劣化している原画像のデータImg’と、図12に示す変化要因情報のデータGから元画像データImgを算出することとなる。
ステップS301に示す任意の画像信号データIm0としては、どのようなものでも採用できるが、この説明に当たっては、原画像のデータImg’を用いる。すなわち、Im0=Img’として処理を開始する。図14の表中に「入力」とされたものが初期画像信号のデータIm0に相当する。このデータIm0すなわちImg’と、ステップS302で変化要因情報のデータGとを重畳積分する。すなわち、たとえば、初期画像信号のデータIm0の「S−3」の画素の「60」は、S−3の画素に「30」が、「S−2」の画素に「18」が、「S−1」の画素に「12」がそれぞれ割り振られる。他の画素についても同様に配分され、「出力Im0’」として示される比較用画像信号データIm0’が生成される。このため、ステップS303の差分のデータδは、図14の最下欄に示すようになる。この差分のデータδの絶対値の最高値が所定値、たとえば10未満となるか判断する(ステップS304)、この例では「S−3」の画素の差分のデータδが30であり、ステップS304でNo(=N)となり、ステップS305へ移行する。
差分のデータδの配分は、図15に示すように、たとえば「S−3」の画素データ「30」に、自分の所(=「S−3」の画素)の配分比である0.5をかけた「15」を「S−3」の画素に配分し、また「S−2」の画素のデータ「15」にその「S−2」の画素にきているはずの配分比である0.3をかけた「4.5」を配分し、さらに、「S−1」の画素のデータ「9.2」に、その「S−1」の画素にきているはずの配分比である0.2をかけた「1.84」を配分する。「S−3」の画素に配分された総量(各画素毎の更新量Dc)は、「21.34」となり、この値を図4における初期画像信号のデータIm0である、図4におけるIb(ここでは原画像のデータImg’を使用)にプラスして、図8における復元画像信号データIm0+1である、図4における更新後の画素値Iaが算出される。この例では、図15に示すように更新後の画素値Iaは「81.34」となる。このように、差分のデータδを変化要因情報のデータGを使用して、任意の画像信号のデータIm0に配分して、図15中の「次回入力」として示される復元画像信号データIm0+nを生成する。この場合、第1回目であるため、図15では、Im0+1と表している。
この後、図8におけるステップS306にて更新量の妥当性を判断する。この判断に際しては、変化要因情報のデータを生成する際の、図2におけるステップS107,S108と同様の処理(図4および図5に示す処理)を行う。ここで、図2における「任意の画像データI0」は、「任意の画像信号データ任意の画像信号データIm0」と、「比較用の画像データI0’」は、「比較用の画像信号データIm0’」と、「復元画像データI0+n」は、「復元画像信号データIm0+n」となる。
具体的には、この復元画像信号データIm0+1を修正するために、画素毎の更新後の画素値(=Ia)を算出する。この算出は、上述の通り(1)式による。そこで、差分のデータδを各画素に配分する。そして、図15に示すように、各画素ごとに、参照する各々の画素の更新前の画素値(=Ib)の最小値(=Min)、最大値(=Max)および平均値(=Av)を算出する(図4におけるステップS202)。たとえば画素「S−3」は、画素「S−3」、画素「S−2」および画素「S−1」を参照している。よって、図15に示すように、画素「S−3」、画素「S−2」および画素「S−1」の最小値(=Min)、最大値(=Max)および平均値(=Av)を算出する。図に示す例では、画素「S−3」に関しては、最大値が画素「S−1」に「82.00」で、最小値が画素「S−3」の「66.00」となり、平均値は、画素「S−3」「S−2」「S−1」の各値の合計を3で割った値で「69.33」となる。画素「S−2」〜「S+4」についても同様の算出を行う。
そして、IaおよびIbが図4におけるステップS204,S206,S208,S210およびS212のいずれかの条件を満足するのかを判定する。たとえば画素「S−3」のIaは、「Min(60.00)≦Ia(81.34)≦Max(82.00)」の条件を満足するため、図4におけるステップS204の条件を満足する。よって、ステップS205の処理を行い図15の画素「S−3」の欄に示すように、Dcである更新量「21.34」をそのまま修正後の更新量Dpとして用い、修正値Ia’は、修正前のIaと等しい「81.34」となる。「S−2」〜「S」、「S+2」および「S+3」の更新後の画素値Iaについても同様の修正を行う。この修正値Ia’が復元画像信号データIm0+nの修正値となる。
しかし、画素「S+1」では、ステップS204、S206の条件を満足せず、ステップS208に移行する。そして、「Ib(121.00)>Av(113.33)」であり、「Ia(130.11)>Max(121.00)」の条件を満足するため、図4におけるステップS208の条件を満足することになる。よって、図15に示すようにステップS209の処理を行い、「2.28」を修正後の更新量Dpとして用い、修正値Ia’は「123.28」となる。画素「S+4」のIaについては、ステップS206の条件を満足しステップS207の処理を行う。このIa’が復元画像信号データIm0+nの修正値となる。
図16に示すように、この修正された復元画像信号データIm0+1(Ia')がステップS302の新たな入力画像のデータ(=初期画像信号のデータIm0に代わるもの)になり、ステップS302が実行され、ステップS303へと移行し、新しい差分のデータδを得る。その差分のデータδの大きさをステップS304で判断し、所定値より大きい場合、ステップS305で新しい差分のデータδを前回の修正された復元画像信号データIm0+1に配分し、新しい復元画像信号データIm0+2を生成することとなるが、その際に、図15の説明と同様にして新しい復元画像信号データIm0+2を修正する(図17参照)。たとえば、画素「S−3」および「S」の更新後の画素値Iaについては、上述の図15における画素「S−3」と同様の修正を行う。すなわち、更新後の画素値Iaがそのまま修正値Ia’となる。
また、たとえば画素「S+1」では、ステップS204,S206の条件を、満足せず、ステップS208に移行する。そして「Ib(123.28)>Av(116.91)」であり、「Ia(128.00)>Max(123.28)」の条件を満足するため、図4におけるステップS208の条件を満足することとなる。よって、図17に示すようにステップS209の処理を行い、上述の(2)式による値「1.181」を修正後の更新量Dpとして用い、修正値Ia’は「124.46」となる。画素「S+4」の更新後の画素値Iaについては、ステップS206の条件を満足しステップS207の処理を行う。この修正値Ia’が復元画像信号データIm0+nの修正値となる。
また、たとえば画素「S−2」では、ステップS204,S206,S208の条件を、満足せず、ステップS210に移行する。そして「Ib(77.30)≦Av(87.67)」であり、「Ia(76.97)<Min(77.30)」の条件を満足するため、図4におけるステップS210の条件を満足することとなる。よって、ステップS211の処理を行い、図17に示すように上述の(3)式による値「−0.082」を修正後の更新量Dpとして用い、修正値Ia’は「77.22」となる。画素「S−1」および「S+2」の更新後の画素値Iaについても同様の修正を行う。この修正値Ia’が復元画像信号データIm0+nの修正値となる。
その後、修正された復元画像信号データIm0+2を用いてステップS302を遂行することにより、修正された復元画像信号データIm0+2から新しい比較用画像信号データIm0+2 ’が生成される。このように、ステップS302,S303が実行された後、ステップS304へ行き、そこでの判断によりステップS305へ移行する。このような処理を繰り返す。
(本実施の形態によって得られる主な効果)
本実施の形態に係るプリンタ1によって、プリンタ1側に劣化した画像を是正する処理を負担させることができ、カメラ等の負担を軽減しつつ劣化した画像を是正できる。また、画像復元処理部11は、変化要因情報のデータが未知であっても妥当な変化要因情報のデータを生成でき、画像復元を可能とする。また、プリンタ1は、図8に示す差分を利用した繰り返し処理による画像復元の処理を行うため、実用的な画像復元を可能とする。また、プリンタ1は、原画像のデータを受信するインターフェース部3を有し、処理部4はインターフェース部3によって受信される原画像のデータに対して復元処理を行うため、外部機器2の処理負担が軽減される。またプリンタ1は、処理部4の行う処理を行うか否かを決定する決定手段を有するため、画像の復元の処理を要しない画像についてはその処理を省略してプリンタ1の処理負担を軽減することができる。また、プリンタ1は、復元処理の進行を調整する調整手段を有するため、復元が十分でない場合にはさらに復元の進行を進めることが可能であり、復元が十分な場合には、復元の進行を抑えてプリンタ1の処理負担を軽減できる。また、プリンタ1は、原画像および元画像を並べて表示する表示部を有するため、画像復元の前後の画像をユーザが見比べることができ、必要に応じていずれの画像を出力するか等を決定することが可能となる。
また、変化要因情報のデータG(PSF)を生成する処理の際に、処理部4が、図2に示すステップS103からS108の処理を2回以上(たとえば10回)繰り返していることによって、より妥当なPSFが生成される。また、この処理の際に、処理部4が、配分値の妥当性を判断し修正する処理(ステップS107、S108)をすることによって、配分による極端なデータの値の変化を抑制でき、より妥当なPSFが生成される。また、この処理の際に、処理部4が、P’の原点を再設定する処理をすることによって、配分による極端なデータの値の変化を抑制でき、より妥当なPSFが生成される。また、この処理の際に、処理部4が、縮小処理(ステップS102)を実行することによって、変化の大きさも縮小されることから、PSFを推定し易くなり、より妥当なPSFが生成される。
また、PSFを生成する処理の際に、処理部4が、拡大処理(ステップS125)の拡大率を徐々に大きくして繰り返し行うことによって、縮小処理を行って得た妥当な骨格部を有するPSFに基づいて良質でかつ大きなPSFの推定をすることができる。また、この処理の際に、処理部4が、PSFの骨格部の強調をする処理(ステップS121)を行うことによって、ブレに相当する変化の推定に重きを置くPSFを生成できる。また、この処理の際に、処理部4が、PSF初期値をガウシアンディスクに設定することで(ステップS101)、変化がどのようなブレまたはボケを含んでいても、良好なPSFの推定をすることができる。
本実施の形態に係るプリンタ1は、PSFが未知であっても妥当なPSFを生成でき、実用的な画像復元が可能である。よって、ブレ等を機械的に測定する速度センサまたは加速度センサをカメラ等の構成要素から省略することができる。
また、プリンタ1は、図8に示すステップS302〜ステップS307を繰り返すことで、差分のデータδが徐々に小さくなっていき、所定値より小さくなると、ブレていないまたはブレが少ない元画像データImgが得られる。また、このとき、修正処理(図4,図5)を行っているため、得られる元画像データImgと推定される画像データは、リンギングの発生が軽減され、画像の復元状態が良好なものとなる。また、修正処理(図4,図5)によって、復元画像信号データを構成する画素のデータのうち、不自然と思われるものを修正し、画素値の大きな変化を抑制しているため、仮に図2に示す処理によって推定される変化要因情報のデータGが信頼性の低いものであったとしても、妥当な画像の復元が可能となる。
(他の形態)
以上、本実施の形態における画像出力装置としてのプリンタ1について説明したが、本発明の要旨を逸脱しない限り種々変更実施可能である。たとえば、変化要因情報の生成の際には、処理部4が、図2に示すステップS103からS108の処理を2回以上繰り返しているが、1回のみとすることができる。さらに、処理部4が、配分値の妥当性を判断し修正する処理(ステップS107、S108)、P’の原点を再設定する処理(ステップS122)、縮小処理(ステップS102)、拡大処理(ステップS125)、最終的に初期の画像データ用のPSFのデータと同じ大きさのデータとする拡大処理(ステップS128)およびPSFの骨格部の強調をする処理(ステップS121)の全部または一部は、省略できる。さらに、PSFの初期値は、ガウシアンディスクに設定(ステップS101)せず、任意の値を設定できる。
また、上述のように本発明の実施の形態に係る画像出力装置は、プリンタ1に限定されず、ファクシミリ装置、複写装置、スキャナー装置、またはこれらの装置のうち2以上の機能を実現する複合装置とすることができる。また、画像出力装置は、画像復元の処理を終えた画像データを紙媒体に印刷することなく、電子データとして記憶媒体に出力する装置であっても良い。また、画像出力装置がファクシミリ装置の場合には、送信側および受信側の一方または双方の装置によって画像復元の処理を行ってもよく、さらに、送信側の装置によって変化要因情報のデータを新規に生成し、そのデータを受信側の装置に送信し、受信側の装置によって画像復元の処理を行うこととし、送信側および受信側の双方の装置によって画像出力装置が構成されることとしても良い。そのような画像出力装置は、送信側および受信側の装置のそれぞれが処理を分担することとなり、全体としての処理時間が短縮される。
また、図2に示すプリンタ1における変化要因情報のデータを新規に生成する処理は、劣化した画像を唯一の情報として、そのブレの原因となるPSFを推定し、元の物体画像を求める処理であれば、他の処理に代えても良い。たとえば、次の処理を採用しても良い。この処理は、被写体の変化前の画像データ(A0)にPSF(G0)を乗じると、撮影された劣化画像のデータ(A’)となることを前提としている。すなわち「A0・G0=A’」が満たされることを前提とする。そして、A0およびG0に任意の値を与えて、「G0=A’/A0」の計算をする。そしてG0は負の値にならない等の拘束条件を与え、G1を得る。そして、「A’/G1=A1」とし、A0をA1へと変える。そして、A1は負の値にならない等の拘束条件を与え、A2を得る。そして、「A’/A2=G2」とし、G1をG2へと変える。そして、G2は負の値にならない等の拘束条件を与え、G3を得る。このような計算を多数回繰り返して、妥当なPSF得る(たとえば、竹田、小松「ブラインド・デコンボリューションのためのフーリエ反復アルゴリズムにおける非負拘束条件の検討」、光学、日本光学会、平成8年、第25巻、5号、p274−281を参照)。ただし、この処理は、あらゆる画像に対応する拘束条件の設定が困難であり、また、処理時間が長くなることから汎用装置への採用は困難な状況となっている。そのため、図2に示すプリンタ1の処理を採用することが好ましい。
また、たとえばプリンタ1における画像復元処理には、図8に示す処理を採用しているが、他の処理、たとえばウィナーフィルターを用いる処理等を採用できる。また、図8に示す処理を採用する場合でも、原点位置を設定する処理(ステップS300)および更新量の妥当性を判断し修正する処理(ステップS306、S307)の双方または一方は、省略することができる。さらに更新量の妥当性を判断し修正する処理(ステップS306、S307)を採用する場合でも、復元画像信号データIm0+nを修正する方法は、図4および図5に示す方法に限定されない。特に図4に示すステップS204,S206,S208,S210およびS212における場合分け、ステップS205,S207,S209,S211およびS213における差分のデータδを修正する方法は、それぞれ適宜変更することができる。
また、表示/操作部5は、決定ボタン、調整手段のボタンを有し、さらに、原画像および元画像を並べて表示し必要に応じていずれの画像を印刷するかを決定するための操作を行う手段を有している。しかし、これらの一部または全部は省略することができる。また、画像復元処理部11は、プリンタ1の印刷機能を実現する各構成要素の機能の一部を利用して構成されているが、画像復元処理部11にのみ用いられる構成要素が含まれていても良い。また、画像復元処理部11は、画像復元処理部11の機能を実現する単独の部品からなることとしても良い。そのような部品は、プリンタ1へ脱着が自由になるものとすることができる。また、画像復元処理部11は、プログラム化されていても良く、そのプログラムはプリンタ1にインストールおよびアンインストールできるものとされても良い。
また、プリンタ1は、原画像のデータを外部機器2との通信によってインターフェース部3で受信して取得している。しかし、原画像のデータは、原画像を読み取って原画像のデジタルデータを生成する読み取り部をプリンタ1が有し、その読み取り部によって読み取られることとしても良い。その場合は、処理部4は、読み取られた原画像のデジタルデータを用いて変化要因情報のデータを作成し、原画像のデジタルデータに対して復元処理を行うこととなる。このような構成を採用することで、原画像としてデジタルデータ化されていない写真のようなものの画像復元の処理が可能となる。
また、処理部4が、図2に示すステップS103からS108の処理を10回繰り返すこととしており、また、ステップS123において、ステップS103からS122までを繰り返すこととしているが、処理部4の処理速度の状況等によってそれらの回数を増減できる。また、プリンタ1のユーザがそれらの回数を任意に設定できることとしても良い。さらに、縮小処理(ステップS102)および拡大処理(ステップS125)の画像の大きさの比率、拡大処理(ステップS125)の画像の大きさの比率の変更回数は、復元画像の画質等によってそれらの回数を増減できる。
また、縮小処理(ステップS102)および拡大処理(ステップS125)における縮小・拡大の仕方は、画素の間引き・隣り合う画素の画素値を平均した値の新たな画素の挿入によって行っている。しかし、他の手段、たとえば隣接する複数の画素の平均画素値の画素をその複数の画素の代わりに用いる縮小処理、隣り合う画素の画素値をそのまま新たな画素の画素値としてその新たな画素を挿入することによって拡大処理を行っても良い。さらに、PSFの骨格部の強調をする処理(ステップS121)において、骨格部のデータの値を2倍にしているが、1.5倍、3倍、4倍、または5倍等としても良い。
また、処理部4は、最終的に初期画像用のPSFのデータと同じ大きさのデータとする拡大処理(ステップS128)を行っている。しかしこの処理によって初期画像用のPSFのデータと同じ大きさのデータとする必要はなく、初期画像用のPSFのデータと異なる大きさのデータへと拡大処理することができる。
また、処理部4は、PSFを算出する処理を行い(ステップS120)、その処理は、得られた復元画像信号データIm0+nと原画像のデータImg’をそれぞれフーリエ変換し、周波数空間での割り算によってPSFの周波数特性を算出し、その周波数特性をフーリエ逆変換することによってPSF(=P)を得るものである。しかし、他の手段によって、得られる復元画像信号データIm0+nと原画像のデータImg’から新たなPSF(=P)を得る処理を採用できる。
更新量の妥当性を判断し修正する処理(ステップS306、S307)は、必須のものではないが、これらのステップを加えると好ましい復元画像が得られやすくなる。これらのステップにおいては、たとえば、参照する画素としては、影響を及ぼす範囲(影響範囲)のもの以外に、その影響範囲を囲む画素一つ分大きくした範囲としたり、修正しようとする画素を中心として所定の距離の範囲としても良い。また、所定の基準としては、参照する画素の最大値、最小値、平均値を利用してのものではなく、最大値と最小値のみを利用し、修正値を最大・最小を超えた分の1/4や1/3の値を最大値や最小値に付加するようにしても良い。また、上限を最大値の1.2倍、下限を最小値の0.8倍とし、その範囲に入れば、修正しないようにしても良い。すなわち、最大値のX倍、最小値のY倍の範囲に更新後の画素値Iaが入れば修正しないようにしても良い。
上述の繰り返し処理では、処理部4は、図2におけるステップS105や図8におけるステップS304の一旦得た画像を再度処理するかの判断では、画像を構成する複数の各画素毎の差分のデータΔ、δの絶対値が全て所定値未満または絶対値の平均値が所定値未満であるか否かを判断し、画像全体の処理を行うか判断している。しかし、所定値との比較の対象を、画像を構成する複数の各画素毎の差分のデータとし、各画素毎に繰り返し処理を停止するか否かを判断するようにしたりしても良い。また、所定値との比較対象を、各画素の差分のデータδの総和、もしくは各画素の差分のデータΔ、δの絶対値の総和、または以上の4つのうちの2つ以上とすることができる。たとえば、各画素毎の差分のデータΔ、δの中で零から最も離れた値と、各画素毎の差分のデータδの総和の値とが、別々の基準を共に満たすか否かを判断するようにしても良い。このように、所定値と比較する値を適宜選択することで、原画像の種類、変化の状態または復元処理の状況に応じて、適切な処理を行うことができる。
上述の実施の形態では、復元対象を画像データとしている。しかし、これらの復元処理の考え方および手法は、あらゆるデジタルデータの復元処理に適用できる。たとえば、デジタルの音声データの復元等への適用が可能である。その適用の結果、リンギングのように一部に不正確な音声データ等が発生することを効率よく抑制でき、また変化要因情報のデータが不正確であっても、妥当な結果が得られる復元処理が可能となる。
また、上述した処理部4が行う各処理方法は、プログラム化されても良い。また、プログラム化されたものが記憶媒体、たとえばCD、DVD、USBメモリに入れられ、コンピュータによって読みとり可能とされても良い。この場合、画像出力装置1は、その記憶媒体内のプログラム化されたものが画像出力装置1の外部サーバに入れられ、必要によりダウンロードされ、使用されるようにしても良い。この場合、画像出力装置1は、その記憶媒体内のプログラムをダウンロードする通信手段を持つこととなる。
図2、図4、図8等に示す各処理方法においては、処理部4で行った処理をソフトウェアで構成しているが、それぞれ、一部の処理を分担して行うようにした部品からなるハードウェアで構成しても良い。また、変化要因情報のデータGとしては、劣化要因情報のデータのみではなく、単に画像を変化させる情報や、劣化とは逆に、画像を良くする情報を含むものとする。
また、処理の反復回数(ステップS109,ステップS123,ステップS304)が画像出力装置1側で自動的にまたは固定的に設定されている場合、その設定された回数をPSFの値(P,P’)または変化要因情報のデータGによって変更するようにしても良い。たとえば、ある画素のデータがブレにより多数の画素に分散している場合は、反復回数を多くし、分散が少ない場合は反復回数を少なくするようにしても良い。
さらに、反復処理中に、差分のデータΔ、δが発散してきたり、エネルギーが移動した後の画像データのエネルギーが小さくならず大きくなってきたら、処理を中止させるようにしても良い。発散しているか否かは、たとえば差分のデータΔ、δの平均値を見てその平均値が前回より大きくなったら発散していると判断する方法を採用できる。また、反復処理中に、入力を異常な値に変更しようとしたときには、処理を中止させるようにしても良い。たとえば8ビットの場合、変更されようとする値が255を超える値であるときには、処理を中止させる。また、反復処理中、新たなデータである入力を異常な値に変更しようとしたとき、その値を使用せず、正常な値とするようにしても良い。たとえば、8ビットの0〜255の中で、255を超える値を入力データとしようとした際は、マックスの値である255として処理するようにする。
また、出力画像となる復元画像信号データを生成する際、PSFの値(P,P’)や変化要因情報のデータGによっては、復元させようとする画像の領域外へ出てしまうようなデータが発生する場合がある。このような場合、領域外へはみ出るデータは反対側へ入れる。また、領域外から入ってくるべきデータがある場合は、そのデータは反対側から持ってくるようにするのが好ましい。