(57)【要約】【課題】複数枚の低解像度画像から生成される高解像度画像の画質を向上させることを課題とする。【解決手段】位置合わせ用座標変換部（４０３）は、入力された複数枚の画像のうち、位置合わせの基準となる１枚の画像を基準画像とし、基準画像に対して、基準画像を除く他の複数枚の画像の位置を合わせる。画素挿入処理部（４０４）は、基準画像に対して、他の複数の画像の画素を挿入する。方向別フィルタリング処理部（４０６）は、画素が挿入された後の画像からエッジの方向を判別して、その判別したエッジの方向に基づき、画素の挿入がなされた後の画像に対して、エッジの方向別のフィルタリングを行う。【選択図】図９
2017045273.tif 000002
【特許請求の範囲】
【請求項１】
複数枚の低解像度の画像を用いて高解像度の画像を生成する画像処理装置であって、
入力された複数枚の画像のうち、位置合わせの基準となる１枚の画像を基準画像とし、前記基準画像に対して、前記基準画像を除く他の複数枚の画像の位置を合わせる位置合わせ手段と、
前記基準画像に対して、前記他の複数の画像の画素を挿入して高解像度の画像を生成する画素挿入手段と、
前記画素が挿入された後の画像からエッジの方向を判別して、前記判別したエッジの方向に基づき、前記画素の挿入がなされた後の画像に対して、前記エッジの方向別のフィルタリングを行うフィルタ手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記フィルタ手段は、前記画素が挿入された後の画像の中の着目画素の画素値と前記着目画素の周辺の複数の画素の画素値とを用いてエッジの方向を判別するためのフィルタ処理を行って、前記画素が挿入された後の画像のエッジの方向を判別することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記フィルタ手段は、
前記位置合わせを行うために前記基準画像に対して設定された座標値に基づいて、前記基準画像に対する前記他の複数の画像の位置ズレ量を求め、
前記位置ズレ量に基づいて、前記画素が挿入された後の画像からエッジの方向の判別が行えるか否かを判定して、前記判別が行えたエッジの方向に基づいて前記方向別のフィルタリングを行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記フィルタ手段は、前記位置ズレ量が所定の閾値未満である場合に、前記画素が挿入された後の画像からエッジの方向の判別が行えると判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記フィルタ手段は、前記位置ズレ量に基づいて、前記画素が挿入された後の画像から前記エッジの方向を判別する際のフィルタ処理で用いるタップ数を決定することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記フィルタ手段は、前記位置ズレ量に基づいて、前記画素が挿入された後の画像からエッジの方向を判別する際のフィルタ処理で用いる各タップに対するフィルタ係数を決定することを特徴とする請求項３〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記フィルタ手段は、前記位置ズレ量に基づいて、前記画素が挿入された後の画像から前記エッジの方向を判別する際の方向数を決定することを特徴とする請求項３〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記フィルタ手段は、前記画素が挿入された後の画像の解像度に応じて、前記画素が挿入された後の画像から前記エッジの方向を判別する際の方向数を決定することを特徴とする請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項９】
前記フィルタ手段は、
前記画素の挿入がなされた後の画像について、画素値がゼロである欠落画素の画素数と、画素値がゼロより大きい非欠落画素の画素数との割合を求め、
前記割合に基づいて、前記画素が挿入された後の画像からエッジの方向の判別が行えるか否かを判定して、前記判別が行えたエッジの方向に基づいて前記方向別のフィルタリングを行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１０】
前記フィルタ手段は、欠落画素の画素数と非欠落画素の画素数との割合として、前記画素の挿入がなされた後の画像のうちで非欠落画素が占める割合を求め、前記割合が所定の閾値未満である場合に、前記画素が挿入された後の画像からエッジの方向の判別が行えると判定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記画素が挿入される前の画像の中の着目画素の画素値と前記着目画素の周辺の複数の画素の画素値とを用いてエッジの方向を判別するためのフィルタ処理を行って、前記画素が挿入される前の画像のエッジの方向を判別する方向判別手段を有し、
前記フィルタ手段は、前記画素が挿入された後の画像からエッジの方向の判別が行えないと判定した場合には、前記方向判別手段により判別された前記エッジの方向に基づいて、前記画素が挿入された後の画像に対して、前記エッジの方向別のフィルタリングを行うことを特徴とする請求項３〜１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記方向判別手段は、前記画素が挿入される前の前記基準画像と前記他の複数枚の画像を用いてそれぞれ前記エッジの方向を判別し、
前記フィルタ手段は、前記画素が挿入された後の画像からエッジの方向の判別が行えないと判定した場合には、前記画素が挿入される前の前記基準画像と前記他の複数枚の画像からそれぞれ判別された複数のエッジの方向を各方向別に合計し、前記合計した数が最も多い方向に基づいて、前記画素が挿入された後の画像に対して、前記エッジの方向別のフィルタリングを行うことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記フィルタ手段は、
前記画素が挿入された後の画像からエッジの方向の判別が行える場合には、前記画素が挿入された後の画像から前記エッジの方向を判別する際のフィルタ処理で用いたタップ数を、前記エッジの方向別のフィルタリングの際のタップ数として決定し、
前記画素が挿入された後の画像からエッジの方向の判別が行えないと判定した場合には、前記方向判別手段が前記エッジの方向を判別する際のフィルタ処理で用いたタップ数を、前記エッジの方向別のフィルタリングの際のタップ数として決定することを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
複数枚の低解像度の画像を用いて高解像度の画像を生成する画像処理方法であって、
位置合わせ手段が、入力された複数枚の画像のうち、位置合わせの基準となる１枚の画像を基準画像とし、前記基準画像に対して、前記基準画像を除く他の複数枚の画像の位置を合わせるステップと、
画素挿入手段が、前記基準画像に対して、前記他の複数の画像の画素を挿入して高解像度の画像を生成するステップと、
フィルタ手段が、前記画素が挿入された後の画像からエッジの方向を判別して、前記判別したエッジの方向に基づき、前記画素の挿入がなされた後の画像に対して、前記エッジの方向別のフィルタリングを行うステップと
を含むことを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１〜１３のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数枚の低解像度の画像から高解像度の画像を生成する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
低解像度の画像から高解像度の画像を生成する超解像技術の一つとして、複数枚の低解像度画像を用いて１枚の高解像度画像を作成するような超解像（以下、複数枚超解像と表記する。）技術が知られている。このような複数枚超解像技術は、デジタルカメラ等において、例えば電子ズームにより拡大されて撮影された画像の画質を上げる際などに用いられている。
【０００３】
例えば、ベイヤー配列の色フィルタを有する撮像素子により得られた複数枚の低解像度画像から１枚の高解像度画像が生成される場合の複数枚超解像の処理について簡単に説明する。ベイヤー配列に対応した複数枚の低解像画像からは、Ｒ（赤），Ｇ（緑），Ｂ（青）のそれぞれ同一色成分別の画像が各々生成される。同一色成分別の各画像は、元の低解像度画像において同色成分の各画素に対応した座標にはその色成分の画素値が配され、他の色成分の画素に対応した座標にはゼロ値の画素が補間されて生成される。さらに、それら各色成分別の画像に対して拡大処理が行われることで、各色成分別の高解像度画像が生成される。その後、各色成分別の高解像度画像の中でゼロ値が補間されている座標に対して、他の画像において対応した座標の画素値が挿入される。そして、そのような画素の挿入がなされた後の各色成分別の高解像度画像から、１枚の超解像画像が作成される。
【０００４】
ここで、複数枚超解像の画素挿入処理では、信号の帯域が低くなるのを避けるために、画素挿入がなされる画像に対し、画素挿入の対象画素（ゼロ値の補間画素）の座標に最も近い座標に対応した画素を、他の画像から取得してそのまま挿入する処理が行われる。
【０００５】
ただし、画素をそのまま挿入すると、例えば画素挿入が行われる側の画像の画素と、挿入された画素との間で位置ズレが生じていた場合には、その位置ズレ部分で不自然な信号の切り替わりが見えてしまうことがある。このように不自然な信号の切り替わり部分は、画質劣化として見えてしまう。したがって、画素挿入が行われた画像に対しては、なるべく画像信号の帯域が低くならないようにしつつ、画素の位置ズレによる不自然な信号の切り替わりによる画質劣化を抑えるような処理が望まれる。
【０００６】
なお、特許文献１には、低解像度の入力画像に対して補間画素を生成し、その補間画素を入力画像に対して挿入することで高解像度の拡大画像を生成する技術が開示されている。また、この特許文献１には、補間画素の挿入により生成された拡大画像に対して、エッジ強調処理を施し、さらにエッジ強調処理された画像に対して、エッジの方向に応じて異なるフィルタ処理を施す技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−５４２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ここで、前述したように、複数枚超解像では画素挿入により高解像度画像が生成され、同様に、特許文献１に記載の技術では補間画素の挿入により拡大画像が生成されている。このため、前述したような画素の位置ズレにより不自然な信号の切り替わりが生ずるという複数枚超解像の処理における問題点に対処するために、特許文献１に記載の技術を適用することが考えられる。
【０００９】
しかしながら、複数枚超解像の処理に対して特許文献１に記載されている技術を適用したとすると、画素挿入の際の位置ズレにより発生する不自然な信号の切り替わり部分が、エッジ強調処理により更に強調されてしまうことになる。このため、特許文献１に記載されているようなエッジの方向に応じた異なるフィルタ処理を行ったとしても、画質向上の効果は殆ど得られない。また、画像内にノイズ等が発生していたような場合には、エッジ強調処理によってそのノイズが更に強調されてしまい、画質が劣化してしまう虞もある。
【００１０】
本発明はこのような問題点に鑑みてなされたものであり、複数枚の低解像度画像から生成される高解像度画像の画質を向上させることを可能とする画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、複数枚の低解像度の画像を用いて高解像度の画像を生成する画像処理装置であって、入力された複数枚の画像のうち、位置合わせの基準となる１枚の画像を基準画像とし、前記基準画像に対して、前記基準画像を除く他の複数枚の画像の位置を合わせる位置合わせ手段と、前記基準画像に対して、前記他の複数の画像の画素を挿入して高解像度の画像を生成する画素挿入手段と、前記画素が挿入された後の画像からエッジの方向を判別して、前記判別したエッジの方向に基づき、前記画素の挿入がなされた後の画像に対して、前記エッジの方向別のフィルタリングを行うフィルタ手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数枚の低解像度画像から生成される高解像度画像の画質を向上させることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のデジタルカメラの概略構成を示す図である。
【図２】本実施形態のデジタルカメラ内の画像処理部の構成例を示す図である。
【図３】画像処理部の全体の処理のフローチャートである。
【図４】複数枚超解像の処理で発生する位置ズレの説明図である。
【図５】ベイヤー配列による各画素の色成分分離の説明図である。
【図６】座標変換係数算出部の構成例を示す図である。
【図７】座標変換係数算出部における処理のフローチャートである。
【図８】３タップのフィルタによる方向判別の説明図である。
【図９】超解像処理部の構成例を示す図である。
【図１０】超解像処理部における処理のフローチャートである。
【図１１】座標変換の説明図である。
【図１２】超解像画像の生成の際の画素挿入の説明図である。
【図１３】画素挿入処理部における処理のフローチャートである。
【図１４】参照座標の説明に用いる図である。
【図１５】超解像画像における非欠落画素と欠落画素の割合の説明図である。
【図１６】方向別フィルタリング処理部における処理のフローチャートである。
【図１７】初期タップ数の説明図である。
【図１８】５タップのフィルタによる方向判別の説明図である。
【図１９】方向判別結果の集計処理の説明図である。
【図２０】方向別フィルタリング処理のフィルタ係数算出方法の説明図である。
【発明を実施するための形態】
【００１４】
以下、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
本実施形態の画像処理装置は、例えばデジタルカメラのような撮像装置だけでなく、タブレット端末、スマートフォン、電子ゲーム機、ドライブレコーダ、ナビゲーション装置、パーソナルコンピュータなど様々な情報処理装置であってもよい。この場合の情報処理装置は、その装置自身に搭載されているカメラ機能により撮影された撮影画像、又は、デジタルカメラ等により撮影された撮影画像を取得し、その撮影画像に対して後述する本実施形態に係る各処理を実行する。また、情報処理装置における本実施形態に係る処理は、内部のＣＰＵ等においてコンピュータプログラムを実行することにより実現されてもよい。本実施形態に係る処理を実現するためのコンピュータプログラムは、記録媒体や各種ネットワークや通信回線を介して情報処理装置に提供される。
本実施形態の画像処理装置は、複数枚の低解像度画像を用い、低解像度画像の画素数に対して水平，垂直方向でそれぞれｋ倍に画素数を拡大した高解像度画像を生成して、高解像度化を実現する超解像処理を行う。
【００１５】
図１には、本実施形態の画像処理装置が適用されたデジタルカメラの概略構成を示す。
図１において、光学系１０１は、ズームレンズやフォーカスレンズ等から構成されるレンズ群、絞り調整機構、及び、シャッター機構等を有している。この光学系１０１は、撮像素子１０２の撮像面上に被写体像等を結像させ、また、撮像素子１０２の撮像面に被写体像を結像させる際の被写体像の倍率や、ピント位置、光量等を調整する。
【００１６】
撮像素子１０２は、光学系１０１により撮像面上に結像された被写体像等の光学像を光電変換して電気信号に変換するＣＣＤやＣＭＯＳセンサー等の光電変換素子である。また、撮像素子１０２は、撮像面上にいわゆるベイヤー配列となされたＲ（赤），Ｇ（緑），青（Ｂ）の原色カラーフィルタを備えており、カラー画像の撮像が可能となされている。Ａ／Ｄ変換部１０３は、撮像素子１０２から入力されたアナログ撮像信号をデジタルの画像データに変換する。Ａ／Ｄ変換部１０３から出力された画像データは、画像処理部１０４に送られる。
【００１７】
画像処理部１０４は、ホワイトバランス補正処理や歪補正、ノイズリダクション処理、現像処理等の通常の信号処理の他に、入力された複数枚の画像を用いて本実施形態の超解像処理を行う。また、画像処理部１０４は、Ａ／Ｄ変換部１０３から出力された画像だけでなく、記録部１０８から読み出された画像に対しても同様の超解像処理を行うことができる。画像処理部１０４にて行われる超解像処理の詳細は後述する。
【００１８】
操作部１０６は、各種ボタンやキー、ダイヤル、タッチパネル等で構成され、それらがユーザにより操作されたときに、そのユーザ操作による指示情報を生成して、システム制御部１０５に出力する。表示部１０７は、液晶ディスプレイや有機ＥＬ（Electro Luminescence）ディスプレイなどで構成され、撮像素子１０２で撮像されて画像処理部１０４で現像された画像や、記録部１０８から読み出され画像等を表示する。記録部１０８は、例えば半導体メモリが搭載されたメモリカードや光磁気ディスク等の回転記録体を収容したパッケージなどを用いた情報記録媒体に、画像データや各種情報等を記録し、また、それらデータや情報を読み出す。記録部１０８は、それら情報記録媒体を着脱可能な機能を備えていてもよい。また、情報記録媒体には、画像データや各種情報の他にプログラムが格納されていてもよい。バス１０９は、画像処理部１０４、システム制御部１０５、表示部１０７、及び記録部１０８の間で画像データをやり取りするために用いられる。
【００１９】
システム制御部１０５は、本実施形態の画像処理装置全体の動作を制御、統括する制御機能部である。システム制御部１０５は、画像処理部１０４で処理された画像から得られる輝度値や、操作部１０６を介して入力されたユーザ指示情報に基づいて、光学系１０１や撮像素子１０２の駆動制御も行う。また、システム制御部１０５は、表示部１０７の表示制御や記録部１０８の書き込みと読み出しの制御も行う。
【００２０】
以下、画像処理部１０４において行われる超解像処理に関わる具体的な構成と処理の流れ等について説明をする。図２には、画像処理部１０４で行われる超解像処理に関わる具体的な一構成例を示す。
図２に示すように、画像処理部１０４は、超解像処理に関わる主要な構成として、基準画像選択部２０１、ベイヤー分離部２０２、座標変換係数算出部２０３、メモリ部２０４、超解像処理部２０５、ＹＵＶ変換部２０６を有する。
また、図３には、図２に示した構成の画像処理部１０４で行われる処理のフローチャートを示す。以下、図３のフローチャートを参照しながら、図２に構成における各部の動作を説明する。
【００２１】
画像処理部１０４は、ステップＳ５０１において、図１のＡ／Ｄ変換部１０３から順に入力された画像を取得するか、又は、図１の記録部１０８から順に読み出された画像を取得する。なお、このとき画像処理部１０４に入力される画像は、前述したカラーフィルタのベイヤー配列に対応した各画素からなる画像であるため、以下、「ベイヤー画像」と表記する。画像処理部１０４は、ステップＳ５０１において、Ｎ枚のベイヤー画像を順番に取得する。ステップＳ５０１の後、画像処理部１０４は、基準画像選択部２０１にて行われるステップＳ５０２に処理を移行させる。
【００２２】
ステップＳ５０２では、基準画像選択部２０１は、ステップＳ５０１で順に取得された複数枚（Ｎ枚）のベイヤー画像のうち、超解像処理を行う上で基準となる画像を選択する。本実施形態の場合、基準画像選択部２０１は、順に取得した複数枚のベイヤー画像のうち例えば１枚目の画像を、基準となる画像として選択する。なお、超解像処理を行う上で基準となる画像とは、後述する位置合わせの基準となる画像を指す。以下の説明では、位置合わせの基準となる画像を「基準画像」と表記し、それ以外の画像を「非基準画像」と表記する。
【００２３】
詳細は後述するが、本実施形態では、基準画像に対して非基準画像の画素を挿入することで超解像画像が生成される。ここで、例えば、図４に示すように、画素２００３は画素挿入がなされない画素で、画素２００４は他の画像からの画素が挿入される画素である場合を例に挙げる。例えば、画素２００４の中心座標２００１と、その画素２００４に対して挿入される画素の中心座標２００２との間に、位置ズレＤが生じていたとする。このような位置ズレＤが生じている場合、画素２００３と画素挿入がなされた後の画素２００４との間で、不自然な信号の切り替わりが発生して画質劣化として見えてしまう。したがって、本実施形態では、画素挿入がなされる際の位置ズレＤを考慮して、基準画像に対して非基準画像の位置合わせを行うようになされている。
【００２４】
ステップＳ５０２の後、基準画像選択部２０１は、処理をステップＳ５０３に進める。
ステップＳ５０３では、基準画像選択部２０１は、前述した複数枚のベイヤー画像から基準画像を選択した後、その基準画像を最初に出力し、次に、各非基準画像を入力の順に出力する。この例では、ステップＳ５０１において取得されたＮ枚のベイヤー画像のうち、１枚目の画像が基準画像として出力され、以下、２枚目〜Ｎ枚目の画像が非基準画像として入力の順に出力される。また、基準画像選択部２０１は、それら画像を順に出力する際には、Ｎ枚のベイヤー画像のうちの何枚目の画像であるかを表す変数Ｍを設定する。例えば基準画像が出力される際には、変数Ｍは「１」に設定される。ステップＳ５０３の後、画像処理部１０４は、ベイヤー分離部２０２にて行われるステップＳ５０４に処理を移行させる。
【００２５】
ステップＳ５０４において、ベイヤー分離部２０２は、ステップＳ５０３にて基準画像選択部２０１から出力されるＭ枚目のベイヤー画像を、Ｒ（赤），Ｇ（緑），Ｂ（青）の各色成分別に分離して、それぞれ同一色成分別の３枚のモザイク画像を生成する。なお、変数Ｍが「１」である場合には、ベイヤー分離部２０２は、ベイヤー画像の基準画像から、Ｒ，Ｇ，Ｂの色成分別の３枚のモザイク画像を生成することになる。
【００２６】
以下、図５を参照して、ベイヤー分離部２０２にて行われるベイヤー画像の色成分分離処理について説明する。
図５（ａ）は、基準画像選択部２０１から出力された、水平方向の画素数が「Ｗ」で垂直方向の画素数が「Ｈ」となされたベイヤー画像の一例を示す。また、図５（ｂ）〜図５（ｄ）は、図５（ａ）のベイヤー画像を、Ｒ，Ｇ，Ｂの各色成分別にそれぞれ分離した各モザイク画像を示している。これら各色成分別のモザイク画像は、元のベイヤー画像において同色成分の各画素に対応した座標にはその色成分の画素値が配され、他の色成分の画素に対応した座標にはゼロ（０）値の画素が補間されて生成される。具体的には、図５（ｂ）はＲの色成分に対応したモザイク画像を示している。以下、Ｒの色成分を「Ｒ成分」と表記する。図５（ｂ）のモザイク画像は、図５（ａ）のベイヤー画像のＲ成分に対応した各画素値の情報を持つ非欠落画素９０１Ｒと、図５（ａ）のベイヤー画像の画素値の情報を持たずにゼロ（０）値が挿入された欠落画素９０２とで構成されている。同様に、図５（ｃ），図５（ｄ）のモザイク画像は、それぞれ図５（ａ）のベイヤー画像のＧ，Ｂの色成分対応した各画素値の情報を持つ非欠落画素９０１Ｇ，９０１Ｂと、ゼロ値が挿入された欠落画素９０２とで構成されている。以下、Ｇの色成分を「Ｇ成分」、Ｂの色成分を「Ｂ成分」と表記する。
【００２７】
これら図５（ａ）〜図５（ｄ）で説明したようなベイヤー分離処理にて生成されたＲ，Ｇ，Ｂの各色成分別の３枚のモザイク画像のデータは、超解像処理部２０５と座標変換係数算出部２０３とメモリ部２０４に送られる。そして、ステップＳ５０４の後、画像処理部１０４は、後述するステップＳ５０５とステップＳ５０６の処理を経て、ステップＳ５０７に処理を進める。
【００２８】
ステップＳ５０７では、画像処理部１０４は、変数Ｍがベイヤー画像の取得枚数である「Ｎ」になっていないか判定する。画像処理部１０４は、ステップＳ５０７においてＭがＮになっていない（Ｍ≠Ｎ）と判定した場合には、ステップＳ５０８に処理を進め、変数Ｍをインクリメント（「１」だけ増加）して、ステップＳ５０４に処理を戻す。そして、画像処理部１０４は、ステップＳ５０７において、ＭがＮになった（Ｍ＝Ｎ）と判定した場合には、ステップＳ５０９に処理を進める。
【００２９】
ステップＳ５０８で変数ＭがインクリメントされてステップＳ５０４の処理に戻ると、ベイヤー分離部２０２では、次のベイヤー画像に対するベイヤー分離処理が行われることになる。その後、画像処理部１０４は、後述するステップＳ５０５とＳ５０６の処理を行った後、ステップＳ５０７に処理を進める。このように、画像処理部１０４は、ステップＳ５０４〜Ｓ５０７までの処理を、ステップＳ５０８でのインクリメントにより変数Ｍがベイヤー画像の取得枚数Ｎになるまで繰り返す。すなわち、画像処理部１０４は、ステップＳ５０４からステップＳ５０７までの処理を、１枚目（Ｍ＝１）のベイヤー画像（基準画像）から、２枚目（Ｍ＝２）〜Ｎ枚目（Ｍ＝Ｎ）の各ベイヤー画像（非基準画像）まで順番に行う。
【００３０】
ステップＳ５０５の処理は、座標変換係数算出部２０３にて行われる。座標変換係数算出部２０３は、ステップＳ５０５において、基準画像に対する各非基準画像の位置合わせのために必要な座標変換係数を算出する。本実施形態の場合、座標変換係数算出部２０３は、Ｇ成分のモザイク画像に対して後述するデモザイク処理を行い、そのデモザイク処理後の画像に対して歪曲補正処理を行い、その歪曲補正処理後の画像から、Ｇ成分の位置合わせ用画像を作成する。以下、Ｇ成分の位置合わせ用画像を、「位置合わせ用Ｇ画像」と表記する。座標変換係数算出部２０３は、変数Ｍが「１」のときには基準画像の位置合わせ用Ｇ画像をメモリ部２０４に保存し、その後ステップＳ５０８で変数Ｍがインクリメントされる毎に各非基準画像の位置合わせ用Ｇ画像を順番に生成してメモリ部２０４に保存する。そして、座標変換係数算出部２０３は、基準画像の位置合わせ用Ｇ画像と、その後に順番に生成された各非基準画像の位置合わせ用Ｇ画像とを用い、基準画像とそれら各非基準画像との間でそれぞれ位置合わせを行うための射影変換係数を算出する。
【００３１】
図６には、図３のステップＳ５０５の座標変換係数算出処理を行う図２の座標変換係数算出部２０３の詳細な構成を示す。
この図６に示すように、座標変換係数算出部２０３は、デモザイク処理部３０１、歪曲補正処理部３０２、射影変換係数算出部３０３、方向判別処理部３０４を有して構成されている。
また、図７には、図６に示した座標変換係数算出部２０３で行われる処理のフローチャートを示す。以下、図７のフローチャートを参照しながら、図６に構成における各部の動作を説明する。
【００３２】
座標変換係数算出部２０３は、ステップＳ６０１において、前述したベイヤー分離部２０２から入力されたＭ枚目のＧ成分のモザイク画像を取得する。ステップＳ６０１の後、座標変換係数算出部２０３は、デモザイク処理部３０１にて行われるステップＳ６０２に処理を移行させる。
【００３３】
ステップＳ６０２では、デモザイク処理部３０１は、ステップＳ６０１で取得したＭ枚目のＧ成分のモザイク画像に対し、デモザイク処理を行う。デモザイク処理としては、線形補間処理や適応補間処理などの公知の処理が用いられる。線形補間処理や適応補間処理の詳細な説明は省略する。ステップＳ６０２の後、座標変換係数算出部２０３は、歪曲補正処理部３０２にて行われるステップＳ６０３に処理を移行させる。
【００３４】
ステップＳ６０３では、歪曲補正処理部３０２は、ステップＳ６０２でデモザイク処理された後のＧ成分の画像に対し、歪曲補正処理のための座標補正処理を行う。歪曲補正処理としては、図１の光学系１０１のレンズが有する歪曲収差特性を表すレンズ情報に基づいた画像変形による補正などの公知の処理を用いることができ、その詳細な説明については省略する。なお、歪曲収差特性を表すレンズ情報は、光学系１０１のレンズの光軸中心からの像高に基づいたＲ，Ｇ，Ｂの各色成分のズレ量を表す情報である。この歪曲収差特性を表すレンズ情報は、例えば光学系１０１が有するメモリ（図１では図示を省略している。）や記録部１０８等に記憶され、システム制御部１０５にて読み出されて画像処理部１０４の歪曲補正処理部３０２に供給される。ステップＳ６０２の後、座標変換係数算出部２０３は、ステップＳ６０４に処理を進める。
【００３５】
ステップＳ６０４では、座標変換係数算出部２０３は、ステップＳ６０３で歪曲補正処理されたＧ成分の画像が、１枚目（Ｍ＝１）の基準画像から生成された画像か否か判定する。座標変換係数算出部２０３は、ステップＳ６０４において、１枚目（Ｍ＝１）の基準画像から生成された画像であると判定した場合には、ステップＳ６１１に処理を進める。ステップＳ６１１の処理は、方向判別処理部３０４にて行われる処理である。一方、座標変換係数算出部２０３は、ステップＳ６０４において、１枚目（Ｍ＝１）の基準画像から生成された画像でないと判定した場合、つまり非基準画像から生成された画像であると判定した場合には、ステップＳ６０５へ処理を進める。ステップＳ６０５の処理は、射影変換係数算出部３０３にて行われる処理である。
【００３６】
ステップＳ６１１の処理に進んだ場合、方向判別処理部３０４は、ステップＳ６０３の歪曲補正処理後の１枚目（基準画像）のＧ成分の画像を「基準位置合わせ用Ｇ画像」とする。さらに、方向判別処理部３０４は、この基準位置合わせ用Ｇ画像の全ての画素に対し、エッジの方向判別処理を行う。方向判別処理部３０４にて行われる方向判別処理は、後述する射影変換係数算出部３０３がステップＳ６０９にて行う方向判別処理と同様であり、射影変換係数算出部３０３が行う方向判別処理の詳細は後述する。ステップＳ６１１の後、方向判別処理部３０４は、ステップＳ６１２に処理を進める。
【００３７】
ステップＳ６１２では、方向判別処理部３０４は、基準の位置合わせ用Ｇ画像と、方向判別処理により得られた方向判別結果の情報とを、メモリ部２０４に保存する。ステップＳ６１２の後、座標変換係数算出部２０３は、図７のフローチャートの処理を終了する。これにより、画像処理部１０４は、図３のステップＳ５０６に処理を進める。
【００３８】
一方、ステップＳ６０４で変数Ｍが２以上であるためステップＳ６０５の処理に進んだ場合、射影変換係数算出部３０３は、ステップＳ６０３で歪曲補正されたＧ成分の画像を「非基準位置合わせ用Ｇ画像」とする。また、このときの射影変換係数算出部３０３は、メモリ部２０４から基準の位置合わせ用Ｇ画像を取得する。ステップＳ６０５の後、射影変換係数算出部３０３は、ステップＳ６０６に処理を進める。
【００３９】
ステップＳ６０６では、射影変換係数算出部３０３は、ステップＳ６０５で得た非基準位置合わせ用Ｇ画像と基準位置合わせ用Ｇ画像とを用いて、それら画像間の位置ズレ量を検出する。具体的には、射影変換係数算出部３０３は、基準位置合わせ用Ｇ画像に対応する非基準位置合わせ用Ｇ画像の位置ズレ量を画像内の複数個所で検出する。位置ズレ量検出処理は、パターンマッチングを用いた処理など公知の処理を用いることができ、その詳細な説明については省略する。ステップＳ６０６の後、射影変換係数算出部３０３は、ステップＳ６０７に処理を進める。
【００４０】
ステップＳ６０７では、射影変換係数算出部３０３は、ステップＳ６０６で検出した位置ズレ量から座標変換係数を算出する。本実施形態の場合、射影変換係数算出部３０３は、座標変換係数として、下記の式（１）に示す射影変換式の係数ａ0〜ａ7を算出する。係数ａ0〜ａ7は、例えば最小二乗法などの公知の手法を用いて算出することができ、その詳細な説明については省略する。なお、式（１）の（ｘｐ，ｙｐ）は、座標（ｘ，ｙ）の射影変換後の座標である。ステップＳ６０７の後、射影変換係数算出部３０３は、ステップＳ６０８に処理を進める。
【００４１】
ｘｐ＝（ａ0ｘ＋ａ1ｙ＋ａ2）／（ａ6ｘ＋ａ7ｙ＋１）
ｙｐ＝（ａ3ｘ＋ａ4ｙ＋ａ5）／（ａ6ｘ＋ａ7ｙ＋１）    ・・・式（１）
【００４２】
ステップＳ６０８では、射影変換係数算出部３０３は、ステップＳ６０７で算出した座標変換係数ａ0〜ａ7を元に、非基準位置合わせ用Ｇ画像を変形する。これにより、非基準位置合わせ用Ｇ画像と基準位置合わせ用Ｇ画像との間の位置が合わせられたことになる。なお、変形処理としては、公知のバイリニア補間処理などを用いることができ、その詳細な説明については省略する。ステップＳ６０８の後、射影変換係数算出部３０３は、ステップＳ６０９に処理を進める。
【００４３】
ステップＳ６０９では、射影変換係数算出部３０３は、ステップＳ６０８で変形したＭ枚目の非基準画像の位置合わせ用Ｇ画像の全ての画素に対し、それぞれエッジの方向判別処理を行う。
【００４４】
以下、図８（ａ）〜図８（ｄ）を用いて、射影変換係数算出部３０３がステップＳ６０９にて行う方向判別処理について説明する。
本実施形態において、射影変換係数算出部３０３が行う方向判別処理は、図８（ａ）〜図８（ｄ）に示すように、例えば着目画素１６０１を中心として、その着目画素１６０１の周辺の３×３画素から４方向を判別する処理となされている。ここで、３×３画素の周辺画素のうち、着目画素１６０１に対して方向判別処理の対象となされる画素を「対象画素」と表記する。射影変換係数算出部３０３は、図８（ａ）の対象画素１６０２，１６０３の方向、図８（ｂ）の対象画素１６０４，１６０５の方向、図８（ｃ）の対象画素１６０６，１６０７の方向、図８（ｄ）の対象画素１６０８，１６０９の方向を判別する。
【００４５】
具体的には、着目画素１６０１の画素の値を「ｐｉｘ」、対象画素の値をｐｉｘ１，ｐｉｘ２とすると、射影変換係数算出部３０３は、下記式（２）のような差分絶対値和ｓａｄの算出処理を、図８（ａ）〜図８（ｄ）に示した４方向分についてそれぞれ行う。なお、式（２）中の「ｐｉｘｉ」は、対象画素の値ｐｉｘ１，ｐｉｘ２が用いられる。
【００４６】
【数１】
2017045273.tif 000003
【００４７】
そして、射影変換係数算出部３０３は、図８（ａ）〜図８（ｄ）に示した４方向分についてそれぞれ求めた差分絶対値和ｓａｄ１，ｓａｄ２，ｓａｄ３，ｓａｄ４の中で、最小の差分絶対値和ｍｉｎ＿ｓａｄが算出された方向を、方向判別結果とする。すなわち、この最小の差分絶対値和ｍｉｎ＿ｓａｄが算出された方向は、エッジの方向を表している。ただし、最小の差分絶対値和ｍｉｎ＿ｓａｄと、他の各差分絶対値和ｓａｄと間の差分が、差分との比較用として予め設定されている例えば所定の閾値以下であった場合には、射影変換係数算出部３０３は、着目画素とその周辺画素との間には殆ど差が無いと判断する。そして、この場合、射影変換係数算出部３０３は、４方向全てについてエッジの方向が検出されなかったとし、方向判別結果としてエラーを出力する。なお、最小の差分絶対値和ｍｉｎ＿ｓａｄと他の各差分絶対値和ｓａｄの差分に対する前述の所定の閾値は、任意のパラメータとして、例えば撮影された画像のシーン毎に変えられてもよい。
【００４８】
図７に説明を戻す。
図７のステップＳ６０９の後、射影変換係数算出部３０３は、ステップＳ６１０に処理を進める。ステップＳ６１０では、射影変換係数算出部３０３は、ステップＳ６０７で算出した座標変換係数をＭ枚目の非基準画像に対する座標変換係数とし、ステップＳ６０８で算出した方向判別結果をＭ枚目の非基準画像の方向判別結果とし、メモリ部２０４に保存する。座標変換係数と方向判別結果は後の超解像処理部２０５で使用する。メモリ部２０４に保存された、Ｍ枚目の非基準画像に対する座標変換係数とその方向判別結果の情報は、後に超解像処理部２０５で使用される。ステップＳ６１０の後、座標変換係数算出部２０３は、図７のフローチャートの処理を終了する。
以上が、座標変換係数算出部２０３における図３のステップＳ５０５の処理の流れである。
【００４９】
図３に説明を戻す。
図３のステップＳ５０５の処理の後、画像処理部１０４は、図２の超解像処理部２０５にて行われるステップＳ５０６に処理を移行させる。
ステップＳ５０６において、超解像処理部２０５は、低解像度画像を用いて、高解像度画像を作成する超解像処理を行う。本実施形態の場合、超解像処理部２０５は、基準画像のベイヤー分離処理後のＲ，Ｇ，Ｂの各色成分別のモザイク画像と、非基準画像のベイヤー分離処理後のＲ，Ｇ，Ｂの各色成分別のモザイク画像とを用いた超解像処理を行う。超解像処理部２０５における超解像処理の詳細については後述する。
【００５０】
ステップＳ５０６の後、画像処理部１０４は、前述したステップ５０７に処理を進める。そして、ステップＳ５０７において、変数Ｍがベイヤー画像の取得枚数Ｎになった（Ｍ＝Ｎ）と判定した場合に、画像処理部１０４は、図２のＹＵＶ変換部２０６にて行われるステップＳ５０９に処理を移行させる。
【００５１】
ステップＳ５０９の処理に進むと、ＹＵＶ変換部２０６は、超解像処理部２０５の超解像処理により生成されたＲ，Ｇ，Ｂの各色成分別の超解像画像から、ＹＵＶ画像を作成する。すなわち、このＹＵＶ画像は、Ｒ，Ｇ，Ｂの各色成分の超解像画像から作成された高解像度の超解像画像である。式（３）には、ＹＵＶ変換部２０６が、Ｒ，Ｇ，Ｂの各色成分の画像データからＹＵＶ画像のデータを生成する際のデータ変換式を示す。
【００５２】
Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ
Ｕ＝−０．１６９Ｒ−０．３３１Ｇ＋０．５Ｂ          ・・・式（３）
Ｖ＝０．５Ｒ−０．４１９Ｇ−０．０８１Ｂ
【００５３】
そして、画像処理部１０４は、ステップＳ５０９にて作成されたＹＵＶ画像のデータを出力すると、図３のフローチャートの処理を終了する。
【００５４】
以下、図２の超解像処理部２０５が図３のフローチャートのステップＳ５０６で行う超解像処理の詳細について説明する。
本実施形態では、Ｒ，Ｇ，Ｂの各色成分別の低解像度画像の画素数を水平，垂直方向でそれぞれｋ倍に拡大した高解像度から超解像画像が生成される例を挙げて、超解像処理部２０５による超解像処理を説明する。
【００５５】
本実施形態では、低解像度画像の画素数を水平，垂直方向でｋ倍に拡大した高解像度画像が生成されるため、超解像処理部２０５は、低解像度画像の各画素の座標と高解像度画像の各画素の座標とを対応させるための座標変換処理を行う。この座標変換処理の際、超解像処理部２０５は、Ｇ成分の低解像度画像については、歪曲補正のための座標変換と、低解像度画像と高解像度画像との間で各画素の座標を対応させる位置合わせのための座標変換とを行う。また座標変換処理の際、超解像処理部２０５は、Ｒ，Ｂ成分の低解像度画像については、倍率色収差補正のための座標変換と、歪曲補正のための座標変換と、低解像度画像と高解像度画像との間で各画素の座標を対応させる位置合わせのための座標変換とを行う。そして、超解像処理部２０５は、Ｒ，Ｇ，Ｂの各色成分別の低解像度画像に対する座標変換処理後の各座標の画素値を、Ｒ，Ｇ，Ｂの各色成分別の高解像度画像のそれぞれ対応した座標の画素値として挿入するような処理を行う。このような画素値の挿入がなされた後、超解像処理部２０５は、Ｒ，Ｇ，Ｂの各成分別の高解像度画像に対して、後述するような欠落画素の補間処理とエッジの方向別のフィルタリング処理を行う。
【００５６】
図９には、図２の超解像処理部２０５の詳細な構成例を示す。
図９に示すように、超解像処理部２０５は、倍率色収差座標補正部４０１、歪曲座標補正部４０２、位置合わせ用座標変換部４０３、画素挿入処理部４０４、欠落補間処理部４０５、方向別フィルタリング処理部４０６を有して構成されている。
また、図１０には、図９に示した超解像処理部２０５の各部で行われる処理のフローチャートを示す。以下、図１０のフローチャートを参照しながら、図９に構成における各部の動作を説明する。
【００５７】
図１０のフローチャートにおいて、ステップＳ７０１からステップＳ７０６までの処理は、Ｒ，Ｇ，Ｂの各色成分の各画素の座標のみに関する処理となされている。このため、超解像処理部２０５は、先ずステップＳ７０１の処理として、Ｒ，Ｇ，Ｂの色成分別の低解像度画像である各モザイク画像の座標をそれぞれ（０，０）に初期化する。本実施形態において、Ｒ，Ｇ，Ｂの各色成分別のモザイク画像において初期化された座標（０，０）は、図１１（ａ）に示すように例えば左上の画素の中心の座標を表している。そして、図１１（ａ）に示すように、座標（０，０）から右方向がｘ方向で下方向がｙ方向となされている。したがって、Ｒ，Ｇ，Ｂの各色成分別のモザイク画像の中の各画素の座標は、それぞれ座標Ｒ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）で表される。ステップＳ７０１の後、超解像処理部２０５は、倍率色収差座標補正部４０１にて行われるステップＳ７０２に処理を移行させる。
【００５８】
ステップＳ７０２では、倍率色収差座標補正部４０１は、Ｒ成分とＢ成分の各モザイク画像の各画素の座標Ｒ（ｘ，ｙ）と座標Ｂ（ｘ，ｙ）に対して、倍率色収差補正のための座標補正処理を行う。本実施形態では、倍率色収差座標補正部４０１は、図１の光学系１０１のレンズが有する倍率色収差特性を表すレンズ情報に基づいて、倍率色収差補正のための座標補正処理を行う。この倍率色収差特性を表すレンズ情報は、光学系１０１のレンズの光軸中心からの像高に基づいた、Ｇ成分に対するＲ，Ｂ成分の各ズレ量を表す情報であり、倍率色収差補正によりＲ成分とＢ成分についてのみ座標補正を行うための情報となされている。この倍率色収差特性を表すレンズ情報は、例えば、光学系１０１に備えられているメモリ（図１では図示を省略している）や記録部１０８等に記憶されており、システム制御部１０５にて読み出されて画像処理部１０４の超解像処理部２０５に供給される。
【００５９】
図１１（ｂ）と図１１（ｄ）は、ステップＳ７０２による倍率色収差補正のための座標補正処理前後のＲ成分とＢ成分の各座標を表している。図１１（ｂ）の図中の白丸は、倍率色収差補正のための座標補正処理前のＲ成分の各画素の座標Ｒ（ｘ，ｙ）を表し、図中の黒丸は座標補正処理後の各座標Ｒ（ｘｒ，ｙｒ）を表している。同様に、図１１（ｄ）の図中の白丸は、倍率色収差補正のための座標補正処理前のＢ成分の各画素の座標Ｂ（ｘ，ｙ）を表し、図中の黒丸は座標補正処理後の各座標Ｂ（ｘｂ，ｙｂ）を表している。なお、図１１（ｃ）は、Ｇ成分のモザイク画像の各画素の座標Ｇ（ｘ，ｙ）を表している。Ｇ成分については、倍率色収差座標補正部４０１による座標補正処理がなされないため、図１１（ｃ）には倍率色収差補正のための座標補正処理後の座標は描かれていない。ステップＳ７０２の後、超解像処理部２０５は、歪曲座標補正部４０２にて行われるステップＳ７０３に処理を移行させる。
【００６０】
ステップＳ７０３では、歪曲座標補正部４０２は、Ｇ成分の各画素の座標Ｇ（ｘ，ｙ）と、倍率色収差補正の座標補正処理後のＲ，Ｂ成分の各画素の座標Ｒ（ｘｒ，ｙｒ），Ｂ（ｘｂ，ｙｂ）とに対して、歪曲収差補正のための座標補正処理を行う。本実施形態では、歪曲座標補正部４０２は、光学系１０１のレンズが有する歪曲収差特性を表すレンズ情報に基づいて歪曲色収差補正のための座標補正処理を行う。この歪曲収差特性を表すレンズ情報は、光学系１０１のレンズの光軸中心からの像高に基づいたＲ，Ｇ，Ｂの各色成分のズレ量を表す情報であり、歪曲収差補正のための座標補正処理をＲ，Ｇ，Ｂの各色成分について行うための情報となされている。この歪曲収差特性を表すレンズ情報は、倍率色収差特性のレンズ情報と同様に、例えば光学系１０１のメモリ等に記憶され、システム制御部１０５にて読み出されて画像処理部１０４の超解像処理部２０５に供給される。
【００６１】
図１１（ｅ）〜図１１（ｇ）は、ステップＳ７０３による歪曲収差補正のための座標補正処理前後のＲ，Ｇ，Ｂの各色成分の各座標を表している。図１１（ｅ）の図中の白丸は歪曲収差補正のための座標補正処理前のＲ成分の各画素の座標Ｒ（ｘｒ，ｙｒ）を表し、図中の黒丸は座標補正処理後の各座標Ｒ（ｘｒｄ，ｙｒｄ）を表している。同様に、図１１（ｇ）の図中の白丸は歪曲収差補正のための座標補正処理前のＢ成分の各画素の座標Ｂ（ｘｂ，ｙｂ）を表し、図中の黒丸は座標補正処理がなされた後の各座標Ｂ（ｘｂｄ，ｙｂｄ）を表している。また、図１１（ｆ）の図中の白丸は歪曲収差補正のための座標補正処理前のＧ成分の各画素の座標Ｇ（ｘ，ｙ）を表し、図中の黒丸は座標補正処理後の各座標Ｇ（ｘｄ，ｙｄ）を表している。ステップＳ７０３の後、超解像処理部２０５は、位置合わせ用座標変換部４０３にて行われるステップＳ７０４に処理を移行させる。
【００６２】
ステップＳ７０４では、位置合わせ用座標変換部４０３は、この時点で超解像処理部２０５に入力されているＲ，Ｇ，Ｂの各色成分別のモザイク画像が、１枚目の画像（基準画像）から生成されたモザイク画像であるか否かを判定する。位置合わせ用座標変換部４０３は、ステップＳ７０４において、１枚目の基準画像から生成されたモザイク画像であると判定した場合にはステップＳ７０５に処理を進める。一方、位置合わせ用座標変換部４０３は、ステップＳ７０４において、１枚目の画像でない非基準画像から生成されたモザイク画像であると判定した場合にはステップＳ７０６に処理を進める。
【００６３】
ステップＳ７０５の処理に進むと、位置合わせ用座標変換部４０３は、歪曲座標補正部４０２による座標補正処理後のＲ，Ｇ，Ｂの各色成分の各座標に対して座標拡大処理を行う。すなわち、ステップＳ７０５では、１枚目の基準画像に対応したＲ，Ｇ，Ｂの各色成分の座標に対して、座標拡大処理が行われる。本実施形態の場合、位置合わせ用座標変換部４０３は、歪曲座標補正部４０２による座標補正処理後の座標Ｒ（ｘｒｄ，ｙｒｄ），Ｇ（ｘｄ，ｙｄ），Ｂ（ｘｂｄ，ｙｂｄ）に対し、下記式（４）の演算により、座標のｘとｙの値をそれぞれｋ倍に拡大する。なお、式（４）中のｋは、高解像度画像を生成する際の拡大率を表すパラメータである。
【００６４】
Ｒ（ｘｒｄ，ｙｒｄ）・ｋ＝Ｒ（ｘｒｄ・ｋ，ｙｒｄ・ｋ）
Ｇ（ｘｄ，ｙｄ）・ｋ＝Ｇ（ｘｄ・ｋ，ｙｄ・ｋ）          ・・・式（４）
Ｂ（ｘｂｄ，ｙｂｄ）・ｋ＝Ｂ（ｘｂｄ・ｋ，ｙｂｄ・ｋ）
【００６５】
図１１（ｈ）〜図１１（ｊ）は、ステップＳ７０５の処理による位置合わせ用座標変換部４０３による座標拡大処理の前後の各座標を表している。図１１（ｈ）の図中の白丸は座標拡大処理前のＲ成分の各座標Ｒ（ｘｒｄ，ｙｒｄ）を表し、図中の黒丸は座標拡大処理後の各座標Ｒ（ｘｒｄ・ｋ，ｙｒｄ・ｋ）を表している。図１１（ｉ）の図中の白丸は座標拡大処理前のＧ成分の各座標Ｇ（ｘｄ，ｙｄ）を表し、図中の黒丸は座標拡大処理後の各座標Ｇ（ｘｄ・ｋ，ｙｄ・ｋ）を表している。同様に、図１１（ｊ）の図中の白丸は座標拡大処理前のＢ成分の各画素の座標Ｂ（ｘｂｄ，ｙｂｄ）を表し、図中の黒丸は座標拡大処理後の各座標Ｂ（ｘｂｄ・ｋ，ｙｂｄ・ｋ）を表している。
【００６６】
以下、ステップＳ７０５で行われる基準画像のＲ，Ｇ，Ｂの各色成分の座標に対する座標拡大処理後の各座標値を、座標Ｒ（ｘ'，ｙ'），Ｇ（ｘ'，ｙ'），Ｂ（ｘ'，ｙ'）と表記する。ステップＳ７０５の後、超解像処理部２０５は、画素挿入処理部４０４にて行われるステップＳ７０７に処理を移行させる。
【００６７】
一方、ステップＳ７０６の処理に進んだ場合、位置合わせ用座標変換部４０３は、歪曲座標補正部４０２による座標補正処理後のＲ，Ｇ，Ｂの各色成分の各座標に対して、射影変換処理と座標拡大処理を行う。具体的には、位置合わせ用座標変換部４０３は、図２の座標変換係数算出部２０３で求められてメモリ部２０４に保存された座標変換係数を読み出し、その座標変換係数を用いて非基準画像のＲ，Ｇ，Ｂの各色成分の各座標に対して射影変換処理を行う。これにより、基準画像のＲ，Ｇ，Ｂの各色成分の各座標に対して、非基準画像のＲ，Ｇ，Ｂの各色成分の座標が合わせられることになる。そして、位置合わせ用座標変換部４０３は、その射影変換処理後のＲ，Ｇ，Ｂの各色成分の座標に対して、座標のｘ値とｙ値をそれぞれｋ倍に拡大する座標拡大処理を行う。
【００６８】
本実施形態では、低解像度画像の画素数を水平，垂直両方向でｋ倍に拡大した高解像度画像を生成するので、位置合わせ用座標変換部４０３は、前述の式（１）の射影変換式に対して更に水平，垂直両方向でｋ倍に座標を拡大するような式（５）の演算を行う。
【００６９】
ｘ'＝ｋ・（ａ0ｘ＋ａ1ｙ＋ａ2）／（ａ6ｘ＋ａ7ｙ＋１）
ｙ'＝ｋ・（ａ3ｘ＋ａ4ｙ＋ａ5）／（ａ6ｘ＋ａ7ｙ＋１）    ・・・式（５）
【００７０】
なお、式（５）において、各係数ａ0〜ａ7は、前述した式（１）で用いたものと同じである。また、式（５）に対して入力される座標（ｘ，ｙ）の値は、歪曲座標補正部４０２がステップＳ７０３で求めた座標Ｒ（ｘｒｄ，ｙｒｄ），Ｇ（ｘｄ，ｙｄ），Ｂ（ｘｂｄ，ｙｂｄ）の値である。
【００７１】
以下、ステップＳ７０６で行われる非基準画像のＲ，Ｇ，Ｂの各色成分の座標に対する射影変換処理と座標拡大処理後の各座標値を、前述のステップＳ７０５の場合と同様に、座標Ｒ（ｘ'，ｙ'），Ｇ（ｘ'，ｙ'），Ｂ（ｘ'，ｙ'）と表記する。ステップＳ７０６の後、超解像処理部２０５は、画素挿入処理部４０４にて行われるステップＳ７０７に処理を移行させる。
【００７２】
ステップＳ７０７では、画素挿入処理部４０４は、図２のメモリ部２０４に保存されているＲ，Ｇ，Ｂの各色成分別のモザイク画像の各画素値を読み出す。具体的には、画素挿入処理部４０４は、ステップＳ７０２からステップＳ７０７までの座標補正処理と座標変換処理が行われる前の各座標Ｒ（ｘ，ｙ），Ｇ（ｘ，ｙ），Ｂ（ｘ，ｙ）に対応した各画素値を読み出す。以下の説明では、それら各座標Ｒ（ｘ，ｙ），Ｇ（ｘ，ｙ），Ｂ（ｘ，ｙ）に対応した各画素値をＲｐｉｘ，Ｇｐｉｘ，Ｂｐｉｘと表記する。ステップＳ７０７の後、画素挿入処理部４０４は、ステップＳ７０８に処理を進める。
【００７３】
ステップＳ７０８では、画素挿入処理部４０４は、それら各画素値Ｒｐｉｘ，Ｇｐｉｘ，Ｂｐｉｘと、基準画像と非基準画像の前述した各座標Ｒ（ｘ'，ｙ'），Ｇ（ｘ'，ｙ'），Ｂ（ｘ'，ｙ'）とを用いて、Ｒ，Ｇ，Ｂの色成分毎に画素挿入処理を行う。
【００７４】
以下、超解像処理における画素挿入処理の概念について、図１２（ａ）と図１２（ｂ）を用いて説明する。
なお、図１２（ａ）と図１２（ｂ）は、例えばＧ成分を例に挙げて、画素挿入の概念を説明するための図である。ここでは、例えば、水平方向の画素数がＷで垂直方向の画像数がＨの複数枚の低解像度画像を用い、水平，垂直方向に画素数を２倍に拡大した超解像画像を生成する際に、図１２（ａ）に示すような高解像度画像１０ａに対して画素挿入処理を行う例を説明する。
【００７５】
図１２（ａ）に示した高解像度画像１０ａは、水平方向が画素数Ｗで垂直方向が画素数Ｈの低解像度画像を２倍に拡大して水平方向が画素数２Ｗで垂直方向が画素数２Ｈとなされた画像であり、超解像度画像を生成するための土台の役割を担う画像である。ここでは、説明を判り易くするために、図１２（ａ）の例の高解像度画像１０ａは、全ての画素値が欠落画素を意味するゼロ値となされているとする。超解像処理における画素挿入処理は、低解像度画像の非欠落画素１００１の値を、高解像度画像１０ａの欠落画素１００２に挿入する処理である。このような画素挿入処理を、複数枚の低解像度画像を用いて行うことにより、図１２（ｂ）に示すような超解像画像１０ｂを生成することができる。
【００７６】
本実施形態の場合、図９の画素挿入処理部４０４は、低解像度の基準画像から高解像度画像を生成し、基準画像の高解像度画像の欠落画素を、低解像度画像である複数枚の非基準画像の非欠落画素の画素値を用いて置き換えるような画素挿入処理を行う。
【００７７】
図１３には、図９の画素挿入処理部４０４が図１０のステップＳ７０８で行う画素挿入処理のフローチャートを示す。
以下、図１３のフローチャートを参照しながら、画素挿入処理部４０４による画素挿入処理について詳細に説明する。なお、図１３ではＧ成分を例に挙げて画素挿入処理を説明しているが、Ｒ，Ｂ成分の場合も同様の処理であり、図１３においてＧ成分に係る処理をそれぞれＲ，Ｂ成分の処理に代えることで実現できるため、Ｒ，Ｂ成分の画素挿入処理の説明については省略する。
【００７８】
画素挿入処理部４０４は、先ず、ステップＳ８０１の処理として、基準画像から求められた前述したＧ成分の座標座標Ｇ（ｘ'，ｙ'）に最も近く且つ整数で表すことのできる座標を参照座標Ｇ０（ｘ０，ｙ０）として算出する。図１４（ａ）は、Ｇ成分の高解像度画像１１００において、座標Ｇ（ｘ'，ｙ'）と参照座標Ｇ０（ｘ０，ｙ０）の一例を示した図である。図１４（ｂ）は、図１４（ａ）の座標Ｇ（ｘ'，ｙ'）と参照座標Ｇ０（ｘ０，ｙ０）の１画素分を抜き出して拡大した図である。参照座標Ｇ０（ｘ０，ｙ０）は、下記の式（６）により算出される。ステップＳ８０１の後、画素挿入処理部４０４は、ステップＳ８０２に処理を進める。
【００７９】
【数２】
2017045273.tif 000004
【００８０】
ステップＳ８０２では、画素挿入処理部４０４は、前述の画素値Ｇｐｉｘがゼロ値（０）でないか否か（ゼロより大きいか否か）の判定を行う。画素挿入処理部４０４は、ステップＳ８０２において画素値Ｇｐｉｘがゼロ値でないと判定した場合には、その画素値Ｇｐｉｘの画素は非欠落画素であると判断して、ステップＳ８０３に処理を進める。一方、画素挿入処理部４０４は、ステップＳ８０２において画素値Ｇｐｉｘがゼロ値であると判定した場合には、その画素値Ｇｐｉｘの画素は欠落画素であると判断して、ステップＳ８０４に処理を進める。
【００８１】
ステップＳ８０２からステップＳ８０３の処理に進むと、画素挿入処理部４０４は、図１４（ｂ）に示すように座標Ｇ（ｘ'，ｙ'）と参照座標Ｇ０（ｘ０，ｙ０）との間の距離ｄ（Ｇ）を算出する。この距離ｄ（Ｇ）は、後のステップＳ８０８やＳ８１０の判定の際に用いられる。
【００８２】
以下、図１２（ａ）と図１２（ｂ）を用いて、距離ｄ（Ｇ）について説明する。
座標Ｇ（ｘ'，ｙ'）に最も近く存在し且つ整数で表される参照座標Ｇ０（ｘ０，ｙ０）は、高解像度画像１１００の或る画素の中心を示す座標である。したがって、本実施形態では、画素挿入処理部４０４は、図１４（ｂ）の画素の拡大図で示すように、参照座標Ｇ０（ｘ０，ｙ０）に対し、座標Ｇ（ｘ'，ｙ'）がどれだけ近いかを評価する指標として距離ｄ（Ｇ）を算出する。そして、画素挿入処理部４０４は、その距離ｄ（Ｇ）の値を用いて、画素挿入を行うか否かの判定を行う。画素挿入処理部４０４は、下記の式（７）により距離ｄ（Ｇ）を算出する。ステップＳ８０３の後、画素挿入処理部４０４は、ステップＳ８０５に処理を進める。
【００８３】
【数３】
2017045273.tif 000005
【００８４】
一方、ステップＳ８０２からステップＳ８０４の処理に進んだ場合、画素挿入処理部４０４は、画素値Ｇｐｉｘが欠落画素であると判断しているので、例外処理として、距離ｄ（Ｇ）で表現できる最大の値を入力する。例えば８ビットまでしか距離ｄ（Ｇ）が表現できない場合は、その距離ｄ（Ｇ）の値として「２５５」を入力する。ステップＳ８０４の後、画素挿入処理部４０４は、ステップＳ８０５に処理を進める。
【００８５】
ステップＳ８０５では、画素挿入処理部４０４は、変数Ｍが「１」より大きいか否か判定する。すなわち、ステップＳ８０５では、現時点において処理されているＭ枚目の画像が２枚目以降の非基準画像であるか、又は、１枚目の基準画像であるかが判定される。画素挿入処理部４０４は、ステップＳ８０５において変数Ｍが「１」より大きく、２枚目以降の非基準画像の処理であると判定した場合には、ステップＳ８０８に処理を進める。一方、画素挿入処理部４０４は、ステップＳ８０５において変数Ｍが１であり、１枚目の基準画像の処理であると判定した場合には、ステップＳ８０６に処理を進める。
【００８６】
ステップＳ８０６の処理に進むと、画素挿入処理部４０４は、ステップＳ８０３で求めた距離ｄ（Ｇ）を、基準画像における座標Ｇ（ｘ'，ｙ'）と参照座標Ｇ０（ｘ０，ｙ０）の距離ｄ０（Ｇ）としてメモリ部２０４に保存する。画素挿入処理部４０４は、これ以降、距離ｄ０（Ｇ）を２枚目以降の非基準画像で求められる距離ｄ（Ｇ）の値との比較に用いる。そして、画素挿入処理部４０４は、随時、距離ｄ（Ｇ）の値に応じて、距離ｄ０（Ｇ）の値を更新する。ステップＳ８０６の後、画素挿入処理部４０４は、ステップＳ８０７に処理を進める。
【００８７】
ステップＳ８０７では、画素挿入処理部４０４は、基準画像における座標Ｇ（ｘ'，ｙ'）の画素値Ｇｐｉｘを、参照座標Ｇ０（ｘ０，ｙ０）の画素値Ｇｐｉｘ０としてメモリ部２０４に保存する。そして、画素挿入処理部４０４は、１枚目の基準画像のみについて、各画素値Ｇｐｉｘ０を用いて高解像度画像１１００を新規に作成する。この基準画像のみで画素値Ｇｐｉｘ０を用いて新規に作成された高解像度画像１１００は、後に行われるステップＳ８１２で２枚目以降の画像からの画素値が挿入されることにより随時更新されることになる。ステップＳ８０７の後、画素挿入処理部４０４は、現時点で処理の対象となっている座標（ｘ'，ｙ'）に対する画素挿入処理を終了する。その後、画素挿入処理部４０４は、次の画像の処理を行うときに、図１３のフローチャートの処理を開始する。
【００８８】
ステップＳ８０５からステップＳ８０８の処理に進むと、画素挿入処理部４０４は、距離ｄ（Ｇ）が、距離との比較用に予め設定されている所定の閾値ＴＨ（Ｇ）未満であるか否か判定する。画素挿入処理部４０４は、ステップＳ８０８において、距離ｄ（Ｇ）が閾値ＴＨ（Ｇ）未満であると判定した場合には、ステップＳ８０９に処理を進める。一方、画素挿入処理部４０４は、ステップＳ８０８において、距離ｄ（Ｇ）が閾値ＴＨ（Ｇ）以上であると判定した場合には、現時点で処理に対象となっている座標（ｘ'，ｙ'）についての画素挿入処理を終了する。その後、画素挿入処理部４０４は、次の画像の処理を行うときに、図１３のフローチャートの処理を開始する。
【００８９】
ステップＳ８０９の処理に進んだ場合、画素挿入処理部４０４は、参照座標Ｇ０（ｘ０，ｙ０）について保存している距離ｄ０（Ｇ）の値をメモリ部２０４から読み出す。ステップＳ８０９の後、画素挿入処理部４０４は、ステップＳ８１０に処理を進める。
【００９０】
ステップＳ８１０では、画素挿入処理部４０４は、距離ｄ（Ｇ）と距離ｄ０（Ｇ）を比較する。画素挿入処理部４０４は、ステップＳ８１０において、距離ｄ（Ｇ）が距離ｄ０（Ｇ）よりも小さいと判定した場合はステップＳ８１１に処理を進める。一方、画素挿入処理部４０４は、ステップＳ８１０において、距離ｄ（Ｇ）が距離ｄ０（Ｇ）以上であると判定した場合は、現時点で処理の対象となっている座標（ｘ'，ｙ'）の画素挿入処理を終了する。
【００９１】
ステップＳ８１１の処理に進むと、画素挿入処理部４０４は、距離ｄ０（Ｇ）の値を、距離ｄ（Ｇ）に更新してメモリ部２０４に保存する。ステップＳ８１１の後、画素挿入処理部４０４は、ステップＳ８１２に処理を進める。
【００９２】
ステップＳ８１２では、画素挿入処理部４０４は、距離ｄ（Ｇ）に対応する画素値Ｇｐｉｘを画素値Ｇｐｉｘ０として更新して、メモリ部２０４に保存する。メモリ部２０４への保存後、画素挿入処理部４０４は、現時点で処理の対象となっている座標（ｘ'，ｙ'）の画素挿入処理を終了する。以上が、画素挿入処理部４０４により行われるステップＳ７０８の詳細な処理である。
【００９３】
図１０に説明を戻す。
ステップＳ７０８の後、超解像処理部２０５は、ステップＳ７０９に処理を進める。ステップＳ７０９では、超解像処理部２０５は、ステップＳ７０８による画素挿入処理後、現時点で処理の対象となっているＭ枚目の画像の全ての座標に対し、ステップＳ７０２からステップＳ７０８までの処理が終わったか否かを判定する。超解像処理部２０５は、ステップＳ７０９において、全ての座標に対する処理が終わっていないと判定した場合にはステップＳ７１０に処理を進め、全ての座標に対する処理が終わったと判定した場合にはステップＳ７１１に処理を進める。
【００９４】
ステップＳ７１０の処理に進んだ場合、超解像処理部２０５は、現時点で処理の対象となっている各座標Ｒ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）を、次の座標に更新して、ステップＳ７０２以降の処理を行う。
【００９５】
ステップＳ７１１の処理に進んだ場合、超解像処理部２０５は、現時点で処理の対象となっている画像が最後のＮ枚目の画像か否かを判定する。超解像処理部２０５は、ステップＳ７１１において、最後のＮ枚目の画像であると判定した場合にはステップＳ７１２に処理を進め、一方、最後のＮ枚目の画像でないと判定した場合にはステップＳ７１４に処理を進める。
【００９６】
ステップＳ７１２の処理は、欠落補間処理部４０５により行われる処理である。ステップＳ７１２において、欠落補間処理部４０５は、ステップＳ７０８による画素挿入処理がそれぞれ終わった後のＮ枚目のＲ，Ｇ，Ｂの各色成分別の高解像度画像に対して、それぞれ欠落補間処理を行う。ステップＳ７１２で行われる欠落補間処理は、Ｒ，Ｇ，Ｂの各色成分別の高解像度画像の中で未だに欠落画素であり値がゼロになっている画素を、周辺の非欠落画素から、エッジの方向を加味した適応補間処理により生成した画素値で置き換える処理である。このステップＳ７１２の欠落補間処理後のＲ，Ｇ，Ｂの各色成分別の高解像度画像は、全ての画素が非欠落画素で構成された画像になる。
【００９７】
なお、本実施形態では、欠落補間処理の一例として適応補間処理を用いている。欠落補間処理は、線形補間処理であってもよい。これらの適応補間処理や線形補間処理は公知の技術であるためその説明は省略する。
また、超解像処理部２０５は、欠落補間処理部４０５による欠落補間処理が行われる前に、画像の中で非欠落画素が占める割合を算出し、その割合に応じて各処理部を制御してもよい。
【００９８】
以下、非欠落画素が占める割合に応じた制御例について、図１５を用いて説明する。
図１５は、水平，垂直方向の画素数がＷ，Ｈの低解像度画像に対し、水平，垂直方向共に画素数をｋ倍に拡大した高解像度画像１２００を示した図である。ここで、例えば、非欠落画素１２０２の画素数が高解像度画像１２００の全画素数に対して５０％以上でない場合、エッジの方向を加味した適応補間の際に欠落画素１２０１を正確に生成することができなくなる。この場合、最終的に得られる超解像画像は、高画質とは言えず、超解像処理の効果が小さくなってしまう。このため、超解像処理部２０５は、下記の式（８）により、超解像画像において非欠落画素が占める割合を算出する。なお、式（８）のｋは低解像度画像を拡大して超解像度画像を生成する際の拡大率である。
【００９９】
割合(％)＝｛(高解像度画像中の非欠落画素の総数)／ｋ２×Ｗ×Ｈ｝×１００(％)
・・・式（８）
【０１００】
超解像処理部２０５は、Ｒ，Ｇ，Ｂの各色成分別の三枚の高解像度画像に対して前述の割合算出を行い、それら各色成分別の三つの割合のうち、いずれか１つでも５０％以上になっている場合には、超解像処理エラーとして、超解像処理を中止する。なお、超解像処理エラーとなった場合、超解像処理部２０５は、１枚目の画像（基準画像）におけるＲ，Ｇ，Ｂの各色成分別の低解像度画像を、水平，垂直方向ともにｋ倍に拡大した高解像度画像を、後段のＹＵＶ変換部２０６へ出力するようにしてもよい。
【０１０１】
また、超解像処理部２０５は、Ｒ，Ｇ，Ｂの各色成分別の前述した三つの割合のうち、いずれか１つでも５０％以上になっている場合、図１０のステップＳ７０１まで処理を戻し、例えばｋ／２倍の高解像度画像を生成する処理を行うようにしてもよい。
【０１０２】
ステップＳ７１２の後、超解像処理部２０５は、方向別フィルタリング処理部４０６にて行われるステップＳ７１３に処理を移行させる。
ステップＳ７１３では、方向別フィルタリング処理部４０６は、欠落補間処理部４０５による欠落補間処理後のＲ，Ｇ，Ｂの各色成分別の高解像度画像に対し、方向別フィルタリング処理を行う。ステップＳ７１３の方向別フィルタリング処理の説明は後述する。
【０１０３】
ステップＳ７１３の後、超解像処理部２０５は、ステップＳ７１４に処理を進め、方向別フィルタリング処理後のＲ，Ｇ，Ｂの各色成分別の超解像画像を、メモリ部２０４に保存して図１０のフローチャートの超解像処理を終了する。
【０１０４】
以下、図１０のステップＳ７１３において方向別フィルタリング処理部４０６が行う方向別フィルタリング処理について詳細に説明する。
本実施形態の方向別フィルタリング処理は、Ｒ，Ｇ，Ｂの各色成分別の高解像度画像に対し、エッジの方向に沿ったフィルタリングを行う処理である。方向別フィルタリング処理部４０６は、エッジ方向に沿ったフィルタリング処理を行うことにより、画素挿入時の位置ズレで発生する不自然な信号の切り替わりによる画質劣化を少なくし、なおかつ画像の帯域を出来る限り低下させないようにしている。また、方向別フィルタリング処理部４０６は、エッジ以外の部分に例えばノイズ等が発生していた場合、それらのノイズの増加を抑圧する処理も行う。
【０１０５】
図１６には、方向別フィルタリング処理部４０６による処理のフローチャートを示す。
以下、図１６のフローチャートに沿って、方向別フィルタリング処理について説明する。なお、図１６ではＧ成分の高解像度に対する方向別フィルタリング処理を例に挙げて説明しているが、Ｒ，Ｂ成分の場合も同様の処理であり、図１６においてＧ成分に係る処理をそれぞれＲ，Ｂ成分の処理に代えることで実現できる。このため、Ｒ，Ｂ成分の高解像度画像に対する方向別フィルタリング処理の説明については省略する。
方向別フィルタリング処理部４０６による処理は、大まかには、先ず、エッジの方向を判別し、次に、その方向判別結果によるエッジの方向に沿ってフィルタリング処理を行うような流れとなっている。
【０１０６】
方向別フィルタリング処理部４０６は、先ずステップＳ１３０１の処理として、エッジの方向判別処理のためのフィルタ処理に使用するフィルタのための初期タップ数と、その後の方向別フィルタリング処理で使用するフィルタのための初期タップ数とを決定する。これらタップ数は、画素挿入処理に係る画素（以下、着目画素と表記する。）に対してその周辺の幾つの画素で方向判別を行う際の方向数と、その後の方向別フィルタリング処理を行う際の方向数に対応した数として初期設定される。
【０１０７】
本実施形態の場合、方向判別処理のためのフィルタ処理に使用する初期タップ数と、方向別フィルタリング処理のため初期タップ数は、具体的には以下のような第１，第２の二つのパラメータを基に決定される。第１のパラメータは、画像処理部１０４に入力された低解像度画像を水平，垂直方向に何倍に拡大した超解像画像を生成するのかを表す情報である。第２のパラメータは、生成した超解像画像を更に水平，垂直方向に何倍に拡大した画像を出力画像にするのかを表す情報である。
【０１０８】
図１７には、方向判別処理と方向別フィルタリング処理の初期タップ数と、画像処理部１０４に入力された低解像度画像に対する超解像画像の拡大率と、生成された超解像画像に対する出力画像の拡大率との関係を示す。一例として、入力された低解像度画像を水平，垂直方向に２倍に拡大した超解像画像を生成し、その超解像画像を拡大せずにそのまま出力画像とした場合、方向判別処理に使用する初期タップ数と方向別フィルタリングの初期タップ数は、５タップとなされる。すなわち、本実施形態によれば、入力された低解像度画像に対する超解像画像の拡大率と、超解像画像に対する出力画像の拡大率とに応じて、タップ数が変更されることで、エッジを判別する際の方向数が決定されている。
【０１０９】
図１６に説明を戻す。
ステップＳ１３０１の初期タップ数の設定処理の後、方向別フィルタリング処理部４０６は、ステップＳ１３０２に処理を進める。
ステップＳ１３０２では、方向別フィルタリング処理部４０６は、Ｇ成分の高解像度画像の座標Ｇ（ｘ'，ｙ'）を座標Ｇ（０，０）に初期化する。ステップＳ１３０２の後、方向別フィルタリング処理部４０６は、ステップＳ１３０３に処理を進める。
なお、ステップＳ１３０３からステップＳ１３１２までの各処理は、全て座標毎に行われる処理である。
【０１１０】
ステップＳ１３０３では、方向別フィルタリング処理部４０６は、前述したＧ成分の高解像度画像の座標Ｇ（ｘ'，ｙ'）と参照座標Ｇ０（ｘ０，ｙ０）から求められた距離ｄ０（Ｇ）を、挿入される挿入画素の距離ｄ０（Ｇ）として取得する。このときの距離ｄ０（Ｇ）は、１枚目の基準画像に対する非基準画像の位置ズレ量を表す値として取得される。したがって、距離ｄ０（Ｇ）は、２枚目以降の非基準画像が、１枚目の基準画像の座標に対し、どの程度ずれているかを表す指標となっている。ステップＳ１３０３の後、方向別フィルタリング処理部４０６は、ステップＳ１３０４に処理を進める。
【０１１１】
ステップＳ１３０４では、方向別フィルタリング処理部４０６は、着目画素の座標Ｇ（ｘ'，ｙ'）に対応する挿入画素の距離ｄ０（Ｇ）の値に応じて、Ｇ成分の高解像度画像で方向判別処理を行うことができるか否かを判定する。この判定は、例えば前述した図１３のステップＳ８０８での比較処理と同様に、距離ｄ０（Ｇ）の値と予め設定された所定の閾値ＴＨ（Ｇ）との比較により行うことができる。例えば、方向別フィルタリング処理部４０６は、距離ｄ（Ｇ）が所定の閾値ＴＨ（Ｇ）未満である場合に、Ｇ成分の高解像度画像で方向判別処理を行うことができると判定する。また、方向判別処理を行えるか否かの判定は、前述した式（８）で算出したＧ成分の高解像度画像に対する非欠落画素の割合と、割合との比較用として予め設定されている所定の閾値（例えば５０％）との比較により行うこともできる。例えば、方向別フィルタリング処理部４０６は、非欠落画素の割合が閾値（５０％）未満である場合に、Ｇ成分の高解像度画像で方向判別処理を行うことができると判定する。そして、方向別フィルタリング処理部４０６は、ステップＳ１３０４において、Ｇ成分の高解像度画像で方向判別処理を行うことができると判定した場合にはステップＳ１３０５に処理を進める。一方、方向別フィルタリング処理部４０６は、ステップＳ１３０４において方向別判定処理を行うことができないと判定した場合には、低解像度画像の方向判別結果を用いて方向別フィルタリング処理を行うとしてステップＳ１３０７に処理を進める。
【０１１２】
ステップＳ１３０５の処理に進むと、方向別フィルタリング処理部４０６は、着目画素の座標Ｇ（ｘ'，ｙ'）の方向判別処理で使用する方向判別のタップ数を決定する。このときのタップ数は、前述のステップＳ１３０１で決定した初期タップ数から増やすべきか否かを判定することで決定される。この場合の判定は、着目画素の座標Ｇ（ｘ'，ｙ'）に対応する挿入画素の距離ｄ０（Ｇ）の値と、距離との比較用として予め設定された所定の閾値との比較により行ってもよいし、その時の座標や画素値に応じて決めてもよい。閾値との比較の場合、一例として、着目画素の座標Ｇ（ｘ'，ｙ'）に対応する挿入画素の距離ｄ０（Ｇ）の値が閾値未満である場合、方向別フィルタリング処理部４０６は、方向判別処理で使用するタップ数を初期タップ数より増やす。ステップＳ１３０５の後、方向別フィルタリング処理部４０６は、ステップＳ１３０６に処理を進める。
【０１１３】
ステップＳ１３０６では、方向別フィルタリング処理部４０６は、Ｇ成分の高解像度画像の着目画素の座標Ｇ（ｘ'，ｙ'）に対し、その周辺の画素を用いて、方向判別処理を行う。この場合の方向判別処理は、前述の方向判別処理部３０４による方向判別処理と同様であるが、ここでは５タップで方向判別処理を行う場合について説明する。
【０１１４】
図１８（ａ）〜図１８（ｌ）を用いて、５タップによる方向判別処理について説明する。
図１８（ａ）〜図１８（ｌ）は、それぞれ着目画素１５０１と方向判別に用いられる各周辺画素１５０２〜１５２５を示している。本実施形態の場合、方向別フィルタリング処理部４０６は、図１８（ａ）〜図１８（ｌ）に示すように、着目画素１５０１に対し、各周辺画素１５０２〜１５２５のうち方向判別のための対象となるそれぞれ四つずつ対象画素の値を用いて合計で１２方向の判別を行う。
【０１１５】
これら図１８（ａ）〜図１８（ｌ）に示した１２方向全てについて述べると説明が煩雑になるため、一例として図１８（ａ）のみを挙げることにする。図１８（ａ）の例において、着目画素１５０１の画素値をｐｉｘとし、方向判別の対象画素１５０２，１５０３，１５０４，１５０５の画素値をそれぞれｐｉｘ１，ｐｉｘ２，ｐｉｘ３，ｐｉｘ４とする。方向別フィルタリング処理部４０６は、下記の式（９）により、着目画素１５０１の画素値ｐｉｘと対象画素１５０２，１５０３，１５０４，１５０５の各画素値ｐｉｘ１，ｐｉｘ２，ｐｉｘ３，ｐｉｘ４との差分絶対値和ｓａｄを算出する。なお、式（９）中のｐｉｘｉは対象画素１５０２〜１５０５の各画素値ｐｉｘ１〜ｐｉｘ４である。
【０１１６】
【数４】
2017045273.tif 000006
【０１１７】
方向別フィルタリング処理部４０６は、図１８（ｂ）〜図１８（ｌ）についても図１８（ａ）の例と同様にして、それぞれ差分絶対値和ｓａｄを求める。図１８（ａ）〜図１８（ｌ）の１２方向について各々求められた差分絶対値和ｓａｄを、ｓａｄ１〜ｓａｄ１２とする。方向別フィルタリング処理部４０６は、それら１２方向の差分絶対値和ｓａｄ１〜ｓａｄ１２の中で最も差分絶対値和の小さい差分絶対値和ｍｉｎ＿ｓａｄを求める。そして、方向別フィルタリング処理部４０６は、その最小差分絶対値和ｍｉｎ＿ｓａｄを方向判別処理により求めた方向とする。
【０１１８】
ただし、方向別フィルタリング処理部４０６は、最小差分絶対値和ｍｉｎ＿ｓａｄと他の各差分絶対値和との差分が、予め設定されている所定の閾値以下である場合には、１２方向全てに該当しないと判断し、方向判別結果としてエラーを出力する。なお、最小差分絶対値和ｍｉｎ＿ｓａｄと他の各差分絶対値和との差分に対する閾値は、任意のパラメータとして、画像のシーン毎に代えられてもよい。
【０１１９】
なお、ステップＳ１３０５、ステップＳ１３０６の処理について、本実施形態では、方向別フィルタリング処理を行う対象であるＧ成分の高解像度画像を用いて前述した処理を行ったが、例えばＲ成分やＢ成分の高解像度画像を用いた処理であってもよい。ステップＳ１３０６の後、方向別フィルタリング処理部４０６は、ステップＳ１３１０に処理を進める。
【０１２０】
ここで、ステップＳ１３０５、ステップＳ１３０６の処理は、高解像度画像を用いた方向判別処理である。これに対し、以下のステップＳ１３０７からステップＳ１３０９では、複数の入力画像の方向判別結果を用いた方向判別処理が行われる。すなわち、前述のステップＳ１３０４で方向別判定処理を行うことができないと判定された場合、ステップ１３０７〜Ｓ１３０９では、低解像度画像の方向判別結果を用いて方向別フィルタリング処理が行われる。
【０１２１】
ステップＳ１３０７の処理に進むと、方向別フィルタリング処理部４０６は、前述の方向判別処理部３０４で行われてメモリ部２０４に保存されている方向判別結果を取得する。このとき、方向別フィルタリング処理部４０６は、座標Ｇ（ｘ'，ｙ'）に対応する方向判別結果を、複数枚の低解像画像の分だけ取得する。なお、座標Ｇ（ｘ'，ｙ'）に対応する低解像画像の座標（ｘ，ｙ）は、座標（ｘ'，ｙ'）をそれぞれ前述の倍率であるｋで割った座標（ｘ'／ｋ，ｙ'／ｋ）に最も近い座標である。ステップＳ１３０７の後、方向別フィルタリング処理部４０６は、ステップＳ１３０８に処理を進める。
【０１２２】
ステップＳ１３０８では、方向別フィルタリング処理部４０６は、前述のステップＳ１３０７で取得した入力画像の枚数分の低解像度画像の方向判別結果を集計（同じ方向別の判別結果の枚数を合計）する処理を行う。
【０１２３】
以下、図１９（ａ）〜図１９（ｅ）と図１９（ｆ）を用いて、入力画像の枚数分の低解像度画像の方向判別結果を集計する処理について説明する。
なお、図１９（ａ）〜図１９（ｄ）の例は、低解像画像の方向判別結果を３タップで判別した結果を示している。図１９（ａ）〜図１９（ｄ）は、それぞれ着目画素１７０１と方向判別に用いられる各周辺画素１７０２〜１７０９を示している。
【０１２４】
方向別フィルタリング処理部４０６は、着目画素１７０１に対し、各周辺画素１７０２〜１７０９のうち方向判別のための対象となるそれぞれ二つずつ対象画素の値を用いた４方向の各判別結果を集計する。着目画素１７０１に対し、図１９（ａ）が対象画素１７０２と１７０３、図１９（ｂ）が対象画素１７０４と１７０５、図１９（ｃ）が対象画素１７０６と１７０７、図１９（ｄ）が対象画素１７０８と１７０９の方向を判別する例である。なお、図１９（ｅ）は、４方向全てで方向判別が出来なかった場合（エラー判定された場合）の方向判別結果を表している。ここで、図１９（ａ）〜図１９（ｅ）に示した各方向判別結果をｄｉｔｅｃｔ［０］，ｄｉｔｅｃｔ［１］，ｄｉｔｅｃｔ［２］，ｄｉｔｅｃｔ［３］，ｄｉｔｅｃｔ［ｅｒｒ］とする。方向別フィルタリング処理部４０６は、各方向判別結果をｄｉｔｅｃｔ［０］，ｄｉｔｅｃｔ［１］，ｄｉｔｅｃｔ［２］，ｄｉｔｅｃｔ［３］，ｄｉｔｅｃｔ［ｅｒｒ］に対し、図１９（ｆ）に示すように各低解像画像の方向判別結果を入力枚数分合計する。
【０１２５】
図１６に説明を戻す。
ステップＳ１３０８の後、方向別フィルタリング処理部４０６は、ステップＳ１３０９に処理を進める。
ステップＳ１３０９では、方向別フィルタリング処理部４０６は、ステップＳ１３０８で集計したうち、最も集計枚数が多かった方向を、着目画素の座標Ｇ（ｘ'，ｙ'）に対応する方向判別結果として取得する。ステップＳ１３０９の後、方向別フィルタリング処理部４０６は、ステップＳ１３１０に処理を進める。
【０１２６】
ステップＳ１３１０では、方向別フィルタリング処理部４０６は、方向別フィルタリング処理を行う際のタップ数を決定する。このときのタップ数は、前述のステップＳ１３０５からステップＳ１３０６までの処理により方向判別結果を取得したか、ステップＳ１３０７からステップＳ１３０９までの処理により方向判別結果を取得したかによって決定される。方向別フィルタリング処理部４０６は、ステップＳ１３０５からステップＳ１３０６までの処理により方向判別結果が取得された場合には、ステップＳ１３０５で決定した方向判別のタップ数と同じタップ数を使用する。一方、方向別フィルタリング処理部４０６は、ステップＳ１３０７からステップＳ１３０９までの処理により方向判別結果が取得された場合には、例えば３タップを使用する。なお、詳細な説明は後述するが、方向判別結果がエラー出力であった場合には、方向別フィルタリング処理部４０６は、３×３タップを使用する。ステップＳ１３１０の後、方向別フィルタリング処理部４０６は、ステップＳ１３１１に処理を進める。
【０１２７】
ステップＳ１３１１では、方向別フィルタリング処理部４０６は、ステップＳ１３１０で決定されたタップ数に応じて、方向別フィルタリング処理を行うためのフィルタ係数を決定する。
【０１２８】
以下、図２０（ａ）〜図２０（ｆ）を用いて、方向別フィルタリングの処理を行うためのフィルタ係数の決定処理について説明する。なお、ここではタップ数を５タップとした場合の例を挙げている。また、本実施形態では、方向判別結果として、図２０（ａ）に示すように着目画素１８０１と対象画素１８０２〜１８０５による判別結果が得られている場合を例に挙げる。
【０１２９】
図２０（ａ）の例のような方向判別結果による着目画素１８０１と対象画素１８０２〜１８０５のフィルタ係数を決定する場合、方向別フィルタリング処理部４０６は、図２０（ｂ）に示すように、先ず仮のフィルタ係数を決定する。例えば５タップのフィルタ係数として、着目画素１８０１のフィルタ係数が「６」、対象画素１８０２と１８０５のフィルタ係数が「１」、対象画素１８０３と１８０４のフィルタ係数が「４」となされた（１，４，６，４，１）のフィルタ係数が用いられる。なお、３タップのフィルタ係数の場合は、例えば着目画素のフィルタ係数が「２」で二つの対象画素のフィルタ係数が「１」となされた、（１，２，１）のフィルタ係数が用いられる。
【０１３０】
また、図２０（ｃ）に示すように、方向別フィルタリング処理部４０６は、対象画素１８０２〜１８０５と着目画素１８０１における画素挿入時の距離ｄ０（Ｇ）をそれぞれメモリ部２０４から取得する。なお、ここでは、着目画素１８０１における距離はｄ０（０）とし、対象画素１８０２，１８０３，１８０４，１８０５における各距離はそれぞれｄ０（−２），ｄ０（−１），ｄ０（１），ｄ０（２）であるとする。この例の場合、方向別フィルタリング処理部４０６は、図２０（ｃ）の例で取得した距離ｄ０（０）を基に、図２０（ｄ）に示すような重みテーブルを作成する。なお、重みテーブルは、距離ｄ０（０）の重みを「１」とし、最大の重みを「２」とした重みテーブルであり、距離ｄ０（０）を基準とした所定の閾値により作成される。さらに、方向別フィルタリング処理部４０６は、重みテーブルにより、着目画素１８０１の重みｗ（０）、対象画素１８０２の重みｗ（−２）、対象画素１８０３の重みｗ（−１）、対象画素１８０４の重みｗ（１）、対象画素１８０５の重みｗ（２）を算出する。そして、方向別フィルタリング処理部４０６は、図２０（ｂ）の仮のフィルタ係数と図２０（ｄ）の重みを乗算することにより、図２０（ｅ）に示すようなフィルタ係数を決定する。
【０１３１】
なお、方向判別の結果がエラー出力となっている場合、方向別フィルタリング処理部４０６は、図２０（ｆ）に示すような予め決められた３×３のタップの各フィルタ係数を用いる。
本実施形態では、図２０（ａ）〜図２０（ｆ）で説明した方法で方向別フィルタリング処理を行うためのフィルタ係数を決定する例を挙げたが、この方法に限らず、例えば図２０（ｂ）の仮のフィルタ係数のように予め決められたフィルタ係数を用いてもよい。
【０１３２】
図１６に説明を戻す。ステップＳ１３１１の後、方向別フィルタリング処理部４０６は、ステップＳ１３１２に処理を進める。
ステップＳ１３１２では、方向別フィルタリング処理部４０６は、ステップＳ１３１１で決定したフィルタ係数を用いて、方向別フィルタリングの処理を行う。ここで、例えば、着目画素の画素値をｐｉｘ０とし、４方向に方向判別された対象画素の各画素値をそれぞれｐｉｘ１，ｐｉｘ２，ｐｉｘ３，ｐｉｘ４とする。また、各画素のフィルタリング係数をｆ［０］，ｆ［１］，ｆ［２］，ｆ［３］，ｆ［４］とすると、５タップのときの方向別フィルタリングの処理は、下記の式（１０）を用いてフィルタリング後の着目画素の画素値ｐｉｘを算出する処理となる。
【０１３３】
【数５】
2017045273.tif 000007
【０１３４】
なお、ここでは５タップを例に挙げたが、３タップの場合においても、方向別フィルタリング処理、方向判別結果がエラー出力となったときのフィルタリング処理も同様である。ステップＳ１３１２の後、方向別フィルタリング処理部４０６は、ステップＳ１３１３に処理を進める。
【０１３５】
ステップＳ１３１３は、方向別フィルタリング処理部４０６は、Ｇ成分の高解像度画像の全ての画素に対して前述のステップＳ１３１２の処理が完了したか否かを判定する。方向別フィルタリング処理部４０６は、ステップＳ１３１３において、完了したと判定した場合には、ステップＳ１３１５に処理を進め、一方、完了していないと判定した場合には、ステップＳ１３１４に処理を進める。
【０１３６】
ステップＳ１３１４の処理に進んだ場合、方向別フィルタリング処理部４０６は、Ｇ成分の高解像度画像の座標Ｇ（ｘ'，ｙ'）を次の画素の座標に更新し、ステップＳ１３０３に処理を戻す。
【０１３７】
一方、ステップＳ１３１５では、方向別フィルタリング処理部４０６は、前述のステップＳ１３１４までの処理でＧ成分の高解像度画像の全ての画素に対し、方向別フィルタリングの処理を行った後の画像を、Ｇ成分の最終的な超解像画像として出力する。その後、方向別フィルタリング処理部４０６は、この図１６の方向別フィルタリングの処理を終了する。
方向別フィルタリング処理部４０６は、以上のような処理を、Ｒ成分の高解像度画像、Ｂ成分の高解像度画像に対しても同様に行って、それぞれＲ，Ｂ成分の最終的な超解像画像として出力する。
【０１３８】
以上説明したように、本実施形態によれば、エッジ方向に沿ったフィルタリング処理を行うことにより、画像の帯域を出来る限り低下させることなく、画素の位置ズレで不自然な信号の切り替わりが発生することによる画質劣化を少なくすることができる。また、本実施形態によれば、エッジ以外の部分に例えばノイズ等が発生していた場合でも、それらのノイズの増加を抑圧することができる。
【０１３９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１４０】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１４１】
１０１  光学系、１０２  撮像素子、１０３  Ａ／Ｄ変換部、１０４  画像処理部、１０５  システム制御部、１０６  操作部、１０７  表示部、１０８  記録部、１０９  バス、２０１  基準画像選択部、２０２  ベイヤー分離部、２０３  座標変換係数算出部、２０４  メモリ部、２０５  超解像処理部、２０６  ＹＵＶ変換部、３０１  デモザイク処理部、３０２  歪曲補正処理部、３０３  射影変換係数算出部、４０１  倍率色収差座標補正部、４０２  歪曲座標補正部、４０３  位置合わせ用座標変換部、４０４  画素挿入処理部、４０５  欠落補間処理部、４０６  方向別フィルタリング処理部
【図１】
2017045273.tif 000008
【図２】
2017045273.tif 000009
【図３】
2017045273.tif 000010
【図４】
2017045273.tif 000011
【図５】
2017045273.tif 000012
【図６】
2017045273.tif 000013
【図７】
2017045273.tif 000014
【図８】
2017045273.tif 000015
【図９】
2017045273.tif 000016
【図１０】
2017045273.tif 000017
【図１１】
2017045273.tif 000018
【図１２】
2017045273.tif 000019
【図１３】
2017045273.tif 000020
【図１４】
2017045273.tif 000021
【図１５】
2017045273.tif 000022
【図１６】
2017045273.tif 000023
【図１７】
2017045273.tif 000024
【図１８】
2017045273.tif 000025
【図１９】
2017045273.tif 000026
【図２０】
2017045273.tif 000027