JP4461165B2 - 画像処理装置、方法およびプログラム - Google Patents

画像処理装置、方法およびプログラム Download PDF

Info

Publication number
JP4461165B2
JP4461165B2 JP2007250181A JP2007250181A JP4461165B2 JP 4461165 B2 JP4461165 B2 JP 4461165B2 JP 2007250181 A JP2007250181 A JP 2007250181A JP 2007250181 A JP2007250181 A JP 2007250181A JP 4461165 B2 JP4461165 B2 JP 4461165B2
Authority
JP
Japan
Prior art keywords
frame
pixel
reference frame
value
pixel value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007250181A
Other languages
English (en)
Other versions
JP2009081734A (ja
Inventor
秀則 竹島
敏充 金子
孝 井田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007250181A priority Critical patent/JP4461165B2/ja
Priority to US12/233,030 priority patent/US20090079876A1/en
Publication of JP2009081734A publication Critical patent/JP2009081734A/ja
Application granted granted Critical
Publication of JP4461165B2 publication Critical patent/JP4461165B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/20Circuitry for controlling amplitude response
    • H04N5/205Circuitry for controlling amplitude response for correcting amplitude versus frequency characteristic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • G06T3/4069Super resolution, i.e. output image resolution higher than sensor resolution by subpixel displacement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Description

本発明は、例えば、入力画像からより高い解像度で鮮鋭な画像を得る際に用いる、動きベクトルの推定方法についての画像処理装置、方法およびプログラムに関する。
画像を高い解像度に変換する際、鮮鋭さを保つために、複数のフレームで対応する点を探すことで非整数座標のサンプリング点での画素値を推定し、それらの情報を統合して出力解像度における画像を求める手法がある。この技術は超解像(Super-Resolution)という名称で知られている(例えば、非特許文献1参照)。非特許文献1に示されているように、超解像は動き推定と画像再構成の推定の2段階で行われる。
動き推定(Registration)の性能は推定画像の画質に大きく影響する。動き推定においては、フレーム間で対応する点が求められればどのような手法(例えば、Lucas-Kanade法やHorn-Schunck法、あるいはブロックマッチング)でも利用可能であるが、動き推定誤り(Registration Error)が生じると高解像度画像を劣化させることが知られている。複数の動きやオクルージョン、重ね合わせ情報を考慮したロバストな動きモデルで動きを推定するのがよいとしている(例えば、非特許文献1参照)。
S. C. Park et al., "Super-Resolution Image Reconstruction: A Technical Overview," IEEE Signal Processing Magazine, pp.21-36, May 2003.
ロバストな動きモデルを設計し大域的な動きを推定した場合、モデルに合致する部分では画像再構成により鮮鋭感は向上するが、モデルから外れた部分で大きなRegistration Errorが生じ、画像再構成において期待する画像が得られない。
一方、小領域のブロックマッチングで合致した画素とその周辺数画素で2次関数フィッティングを行う手法のように、局所的な制約のみで動き推定を行う場合、Registration Errorはあまり大きくならないが、画像再構成を行っても鮮鋭感はあまり向上しない。
局所的な推定手法を用いても鮮鋭感の向上が見られない原因は、Aperture問題にあることが実験的にわかっている。第1のフレームから第2のフレームへの動きを推定する場合に、動きを一意的に推定することができない。この問題がAperture問題と呼ばれている。Aperture問題が起こる部分では、第1のフレームである画素に対応する第2のフレームの位置を算出しようとしても、どの位置が選ばれるかは不明である。従来の手法では特に恣意的な制御をしていないため、どの位置が選ばれるかは探索アルゴリズムの持つ性質により決まる。
この発明は、上述した事情を考慮してなされたものであり、Aperture問題が起こる領域においてサンプリング点が偏る現象を回避し、超解像により高周波成分を再現する画像処理装置、方法およびプログラムを提供することを目的とする。
上述の課題を解決するため、本発明の画像処理装置は、複数のフレームの画像を受け付ける第1受付手段と、出力解像度を受け付ける第2受付手段と、前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、前記第1受付手段が受け付けたフレームのうち、前記基準フレームでない1フレームを他フレームとして設定する第2設定手段と、予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段と、を具備することを特徴とする。
また、本発明の画像処理装置は、少なくとも1フレームの画像を受け付ける第1受付手段と、出力解像度を受け付ける第2受付手段と、前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、前記第1受付手段が受け付けたフレームのうち、前記基準フレームを他フレームとして設定する第2設定手段と、予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段と、を具備することを特徴とする。
さらに、本発明の画像処理装置は、複数のフレームの画像を受け付ける第1受付手段と、出力解像度を受け付ける第2受付手段と、前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、前記第1受付手段が受け付けたフレームのうち、前記基準フレームでない複数のフレームを他フレームとして設定する第2設定手段と、予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、前記他フレームごとに、前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段と、を具備することを特徴とする。
本発明の画像処理装置、方法およびプログラムによれば、Aperture問題が起こる領域においてサンプリング点が偏る現象を回避し、超解像により高周波成分を再現することができる。
以下、図面を参照しながら本発明の実施形態に係る画像処理装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
(問題の詳細)
どこに問題があるかについて詳細に説明する。
上記の非特許文献1に示されているように、超解像は次のように動き推定と画像再構成の推定の2段階で行われる。以下、便宜上、高解像度画像を算出したいフレーム(基準フレーム)を変換対象フレーム、それ以外のフレームを他フレームと呼ぶことにする。
ステップ1(Registration):入力される第k番目の他フレームの各画素について、変換対象フレームの対応する点を動き推定により探す。得られた点は、変換対象フレームにおける新たなサンプリング点として次のステップで利用する。
ステップ2(Image Reconstruction):変換対象フレームの出力解像度での画素値を
Figure 0004461165
入力される変換対象フレームの低解像度画像の画素値を
Figure 0004461165
入力される第k番目の他フレームの低解像度画像の画素値を
Figure 0004461165
第k番目のノイズをnであらわす。なお、画素値としては例えば画像の輝度値やRGBの各成分値が扱える。ステップ1で求めた対応点情報に既知のカメラ画素サンプリングモデル・ダウンサンプリング方法を組み合わせた行列Wが与えられると、k=0、1、・・・として解くべき式は
Figure 0004461165
とかける。この式は未知のノイズを含み、またW −1が存在するかも不明であるが、超解像ではノイズの平均的な性質を考えて、この式をなるべく満たすように
Figure 0004461165
を推定する。推定方法として、ML(Maximum likelihood)推定やMAP(Maximum a posteriori)推定、POCS法(Projection onto Convex Sets method)、Iterative back projection法のように多くの手法が利用できる。
局所的な推定手法を用いても鮮鋭感の向上が見られない原因は、次に述べるAperture問題にあることが実験的にわかっている。図1を例に、第1のフレームから第2のフレームへの動きを推定する問題を考える。第1のフレームで105にあった物体の境界線が、物体の移動によって第2のフレームでは101に移動したとする。このとき、例えば領域106と局所的に一致する部分を探すと、102〜104に示すように、対応する領域は1つではなくたくさん存在することになり、動きを一意的に推定することができない。この問題がAperture問題であり、Aperture問題が起こる部分では、第1のフレームである画素に対応する第2のフレームの位置を算出しようとしても、どの位置が選ばれるかは不明である。従来の手法では特に恣意的な制御をしていないため、どの位置が選ばれるかは探索アルゴリズムの持つ性質により決まる。
ところで、超解像において鮮鋭感を向上できる(つまり、低解像度の画像において欠落している高周波成分を再現できる)か否かは、動き推定により得られるサンプリング点によって決まる。図2に、縦横それぞれ2倍に拡大する場合に理想的なサンプリング点の一例を示す。201(黒丸印)は高解像度化の対象とする画像フレーム自身のサンプリング点を、202(星印)は他のフレームからの動き推定によって得られたサンプリング点を表す。図2の202で示されているように、各サンプリング点の中間に推定で得られたサンプリング点が配置され、各サンプリング点の間隔が拡大率の逆数以下(この場合は1/2)であれば、高解像度化に必要となる、欠落した高周波成分を再現するための情報が含まれている可能性が高いと期待できる。仮に他のフレームから対応するサンプリング点が同数得られたとしても、図3の301のように、高解像度化の対象とする画像フレーム自身のサンプリング点201に近いサンプリング点ばかりが得られた場合は、欠落した高周波成分を再現するための情報が含まれていることは期待できない。
以上の2つの場合を考えると、Aperture問題が起こる領域では、用いる探索アルゴリズムが図2に近い選択をするのか、それとも図3に近い選択をするのかによって、高周波成分を再現できるか否かが決まることがわかる。
後述するように本実施形態の画像高品質化装置は、Aperture問題が起こる領域において図3の301のようにサンプリング点が偏る現象を回避し、超解像により高周波成分を再現することができる。
一例として、整数画素位置の変位についてブロックマッチングを行い、得られた位置の周辺でブロック間の誤差としてパラメトリックな誤差関数を仮定した関数フィッティングを行い、誤差関数の極小位置をサブピクセル変位として求める方法を考える。ここでブロックマッチングとは、第1のフレームに設定されたテンプレート領域に対し、第2のフレームで前記テンプレート領域と類似する領域を探す手法の1つで、具体的には、まず第2のフレームで適当な探索範囲を設定し、次に探索範囲内でテンプレートと同じ形状の領域を順次取り出し、それらのうちでテンプレートと取り出した領域の画素値の誤差の合計(以下ブロック誤差)が最小となる領域を求め、対応する位置を探す方法である。テンプレート領域としては、例えば、対応するサンプリング点を求めたい画素を中心とした正方形・長方形・円やひし形の領域を設定することができる(本実施形態では、長方形以外の領域についてもブロックと呼ぶ)。探索範囲としては、例えば、第1のフレームにおけるテンプレートの位置を中心とし、その周囲を範囲として設定することができる。ブロック誤差としては、SSD(各画素における画素値の2乗距離の合計値;Sum of Squared Distance)やSAD(各画素における画素値の絶対値距離の合計値;Sum of Absolute Distance)を使うことができる。なお、時刻t、画素(p、q)の輝度をI(p,q,t)、時刻tにおける画素(p、q)の時刻t+Δtに対する動きベクトルを(Δp、Δq)で表すと、SSDおよびSADはそれぞれ
Figure 0004461165
Figure 0004461165
で表せる。blockはブロックマッチングで誤差の評価に使うブロックを表す。関数フィッティングとは、ブロックマッチングで得られた位置でのブロック誤差と、その周辺の位置でのブロック誤差に基づいてサブピクセル位置ずれを推定する(サブピクセルシフト値を推定)方法である。具体的には、例えばブロック誤差としてSSDを用いる場合、1次元のサブピクセル位置ずれの算出には誤差関数を2次曲線とすれば次の式
Figure 0004461165
になり(位置ずれ修正後の動きベクトルはΔp+subpixelになる)、SADを用いる場合は誤差関数を絶対値関数とすれば次の式
Figure 0004461165
になる。ただし、E(i)(iは動きベクトルの最小位置からのずれを表す)は、iに対応する位置におけるブロック誤差を示す。ここで、「<=」は「≦」の意味であり、以下同様の意味で使用する。2次元のサブピクセル位置ずれを推定する方法の1つはこれを水平・垂直方向のそれぞれについて適用することである。あるいは、例えばSSDを利用する場合誤差関数を2次元で考えれば、2次元のサブピクセル位置ずれ(δx、δy)は次の式
Figure 0004461165
を満たすと仮定でき、例えばδx、δyとしてそれぞれ−1〜+1の9点についてSSDの実測値を与えてa〜fの係数の最小2乗解を求める、あるいは適当な6点を与えてa〜fの係数の解を求めることにより、(δx、δy)を偏微分=0で得られる2つの式を解いて推定できる。また、1次元のサブピクセル位置ずれの式を用い、2次元の変位を同時に推定する方法も提案されている(例えば、清水、奥富、「領域ベースマッチングのための2次元同時サブピクセル推定法」電子情報通信学会論文誌D-II、Vol. J87-D-II、No. 2、pp.554-564、2004参照)。なお、従来は使われていない方法であるが、本発明では、例えばHarrisのコーナ検出法(C. Harris, M. Stephens, A Combined Corner and Edge Detector, Alvey Vision Conference, pp. 147-151, 1988)を利用してコーナ判定を行い、コーナ部分では2次元のサブピクセル位置ずれの式を、そうでない部分では1次元のサブピクセル位置ずれの式を使っても良い。
このように、精度の高い動きベクトルを求めるためのサブピクセル位置ずれ推定は数多く存在する。しかし、これらの手法はあくまでもAperture問題が起こらないことを前提としており、Aperture問題が起こる場合については検討されていない。
Aperture問題が起こる場合、図1にも示されているように、ある位置に対応する位置が多数存在する。したがって、ある程度広い探索範囲に対してブロックマッチングを行えば、SSDやSADの値が十分に小さい位置が見つかる可能性が高い。このような位置が見つかった場合、ブロックマッチングで得られた位置は誤差関数を描いた場合にすでに極小値付近にあることが多く、いかに高精度なサブピクセル推定方法を適用しても、それにより修正された位置はブロックマッチングで得られた位置とほとんど変わらないことになる。このことから、広く行われている、整数画素単位の変位に対してブロックマッチングを行い、それらを利用して関数フィッティングを行うという方法では、Aperture問題が起こる部分では整数画素単位の変位に対して行うブロックマッチングで十分に誤差の小さい位置が見つかり、その見つかった位置の近辺に対応位置が集中することになる。したがって図3の301に示すようなサンプリング点ばかりが得られることになり、これらのサンプリング点を利用して超解像を行っても鮮鋭な画像は得られない。これは、画像処理分野の用語でいえば、Aperture問題の起こる部分では、サンプリング点の間隔が出力解像度の画素間隔よりも広すぎて画素値の高周波成分の復元が期待できないためだと考えられる。また、ブロックマッチングではなく、例えば「B. D. Lucas and T. Kanade, “An Iterative Image Registration Technique with an Application to Stereo Vision,” in Proc. 7th Intl. Joint Conf. on Artificial Intelligence (IJCAI) 1981, August 24-28, pp. 674-679.」でのLucas−Kanade法や「B. K. P. Horn and B. G. Schunck, “Determining Optical Flow,” Artificial Intelligence, vol. 17, pp.185-203, 1981.」でのHorn-Schunck法のように整数画素単位の動きを求める別の手法を用いた場合でも、Aperture問題が起こる部分で推定結果が偏る図
3の現象を(手法により偏りの程度は変化するものの)完全に回避することは難しい。
Aperture問題が起こる領域においてサンプリング点が偏る現象を回避し、超解像により高周波成分を再現するためには、Aperture問題が起こった場合に選択される位置が図3ではなく図2に近くなるようにすればよい。いいかえれば、必要なサンプリング位置に近いほど選択される可能性が上がるという事前知識を、何らかの方法で動き推定に取り込めばよい。
(用語の定義)
以下、背景技術と同様に、高解像度画像を算出したいフレームを変換対象フレーム、それ以外のフレームを他フレームと呼ぶことにする。ただし本実施形態では、背景技術と違い、変換対象フレームを他フレームと同じように扱ってフレーム内対応点を求めたり、1つの他フレームから複数の対応点を求めたりするので、注意が必要である。
(基本アイディア)
上述したように、Aperture問題が起こる領域では、何も工夫しないと図3のような偏りが生じやすい。図3はブロックマッチングを整数画素で行ったうえで関数フィッティングによって修正した場合の例であり、手法によって偏りの種類は変わるが、対応点(=サンプリング点)が必要な位置ではなく別の位置に存在する現象は、Aperture問題によって位置が不定となるために多かれ少なかれ生じることは避けられない。
本発明の基本アイディアは、次の条件Aと条件Bをなるべく満たす動き推定手法を新たに考案し、それを利用して、Aperture問題が起こる領域において超解像で必要なサンプリング点が得られるようにする。
条件A.予め位置が不定の場合に望ましいサブピクセル位置ずれを与えておき、Aperture問題によって不定となる場合にはサンプリング点として選択される位置が与えられた位置になるべく近くなるようにする(その位置が選択されやすいように、事前知識を何らかの方法で組み込む)。
条件B.Aperture問題の起こらない領域についてはサンプリング点の制御はできないが、その場合には組み込まれた事前知識の影響がなるべく出ないようにする(正しい位置が選択されやすいようにする)。
事前知識を組み込むため、条件Aと条件Bを同時に完全に満たすことは難しいが、その影響を小さくすることはできる。所望のサンプリング点を選択されやすくする方法の具体例については後述する(動き推定に何を用いるかによって変わる)。
まず、所望のサンプリング点を選択されやすくする方法を利用して超解像を行う方法について説明する。
変換対象フレームで利用できるサンプリング点は、他フレームから変換対象フレームへの動きを推定することで得られる、というのが従来の考え方である。しかし、本実施形態では、他フレームと変換対象フレームで対応する部分があるなら、それが正確な動きでなくてもよいと考える。例えば、直線のように合同なブロックを数多く含む図形ではAperture問題が起こるが、この場合、なるべく正確な動きを求めるのではなく、Aperture問題が起きていればどの動きを使っても悪影響はないと考え、超解像に都合のよい、利用できるサンプリング点が図2に近くなる動きを見つけるようにする。
(超解像全体の流れ)
次に、Image Reconstructionも含めた、本実施形態の画像処理装置について図4を参照して説明する。
本実施形態の画像処理装置は、図4に示すように、一時記憶部401、演算部402、入出力受付部403、映像受付部404、映像出力部405、不揮発記憶部406、外部入出力部407、映像入力部408、映像表示部409を含む。なお、図4は、汎用的な演算装置を用いてソフトウェアにより実施する場合の一例である。
一時記憶部401は、1フレーム以上の画像フレームを記憶する。また、一時記憶部401は、予め設定された1以上のサブピクセル位置ずれ(サブピクセルシフト)を記憶している。
演算部402は、サブピクセル位置ずれに対応して注目画素をずらし、注目画素に対応する変換対象フレーム内の推定サンプリング点を推定し、推定サンプリング点に対応する注目画素の画素値を、推定サンプリング点の画素値として設定し、 各推定サンプリング点において、出力解像度に対応する高解像度画素値から低解像度画素値を算出する点広がり関数の重み係数ベクトルと出力解像度での画素値のベクトル積が前記推定サンプリング点の画素値に等しいとして、出力解像度での画素値を算出する。
より詳細には、演算部402は、以下の演算を行う。演算部402は、一時記憶部401に記憶された1フレーム以上の画像フレームのうちの1フレームを変換対象フレームとして設定する。また、演算部402は、一時記憶部401に記憶されたフレームのうち、変換対象フレームとして設定されたフレーム以外の1以上のフレームを他フレームとして設定する。なお、1フレームで画像処理装置をする場合には、変換対象フレームと他フレームとは同一フレームになる。本実施形態の画像処理装置が、入力した低解像度フレームを用いて、例えば、時間順序で超解像度画像を生成する。図5では、高解像度化装置が5枚目の高解像度フレームを生成している。この高解像度化処理をそのときに行っている低解像度フレーム、この例では5枚目のフレームを基準フレームと呼ぶ。基準フレームを高解像度化するために、図5では低解像度フレームのうち、基準フレームとその前の時刻の2枚のフレームを用いて高解像度化を行う。図6では、高解像度化装置が基準フレームの低解像度フレームだけを用いてそれの高解像度化を行っている。静止画像の場合は、入力される低解像度画像は1枚だけなので、それが基準フレームに相当し、その1枚だけを用いて高解像度化する。便宜上、静止画像は1フレームであると表現する。
演算部402は、注目他フレームから変換対象フレーム内への動きを求めたい位置の集合(注目画素集合)を定める。例えば、注目他フレームの全画素とする。あるいは、注目他フレームを適当な間隔で分割し、分割領域内の全画素とする。あるいは例えば、注目他フレーム内にエッジ検出フィルタ(例えばSobelフィルタ)を適用してその大きさが一定以上の画素を求め、得られた画素とその周辺画素を注目画素集合としてもよい。なお、周辺画素とは得られた画素からの距離が一定以下の画素のことで、画像からの距離は例えばL1距離やL2距離、L∞距離で求める。
演算部402は、各サブピクセル位置ずれについて、Aperture問題が起こる領域で注目するサブピクセル位置ずれに偏るような動き推定を実行し、注目画素集合から変換対象フレーム内で対応する位置を求める。各注目画素に対応する変換対象フレーム内の位置を推定サンプリング点と呼ぶ。演算部402は、一時記憶部401にアクセスしながら対応する位置を探す。
演算部402は、一時記憶部401にアクセスしながら、各推定サンプリング点について、出力解像度の画素値の重みつき関数である点広がり関数(Point Spread Function)を設定する。点広がり関数は、例えば入出力解像度と画像サンプリングモデルにより決まる注目画素領域を設定する。
演算部402は、各推定サンプリング点の画素値として、対応する注目画素の画素値を設定する。そして、演算部402は、各推定サンプリング点において、Image Reconstructionを実行して、出力画像を算出する。点広がり関数の重み係数ベクトルと出力解像度での画素値
Figure 0004461165
のベクトル積がその推定サンプリング点での画素値に等しいという式をまとめ、行列として表記すると、
Figure 0004461165
と表せる。この式に未知のノイズベクトル
Figure 0004461165
を加えると、出力解像度での画素値が満たす式は
Figure 0004461165
と表せる。この式を用いてImage Reconstructionを実行する、例えばMAP法、POCSを実行することで、出力画像を算出できる。
外部入出力部407は、演算部402の演算で使用されるプログラム、外部パラメータ(例えば、出力解像度)を入力したり、Image Reconstructionによって得られた出力画像を出力する。入出力受付部403は、外部入出力部407を介して入力されたプログラム、外部パラメータを受け付け、一時記憶部401に記憶させる。
映像入力部408は、低解像度なフレームを入力映像として取得し、映像受付部404に渡す。映像受付部404は、映像入力部408から入力映像を受け取り、一時記憶部401に渡す。映像出力部405は、演算部402が生成した超解像度画像を取得し、映像表示部409に渡す。映像表示部409は、映像出力部405が取得した超解像度画像を表示する。
不揮発記憶部406は、処理中の他フレームで考慮するサブピクセル位置ずれの集合を定める。例えば、(0、0)、(0、0.5)、(0.5、0)、(0.5、0.5)の4通りとする。なお、集合はそれぞれのずれについて別の集合であってもよい。また、これらは、一時記憶部401が記憶していてもよい。これらは、演算部402が入力して演算に使用する。
次に、本実施形態の画像処理装置を回路で実現する場合の一例について図7を参照して説明する。
図7に示す画像処理装置は、DSP1 701、DSP2 702、共有メモリ703、メモリ704,705、映像受付部404、映像入力部408、映像出力部405、映像表示部409を含む。
DSP1 701は、共有メモリ703にアクセスしながら対応する位置を探し、その結果を共有メモリに書き込む。その際、例えば共有メモリ703を使うとアクセスが遅くなるならば、メモリ704をワークエリアとして使うとよい。例えばブロックマッチングを実行するのであれば、テンプレートとなるブロック、および他フレーム内の探索範囲の画素値をワークエリアにコピーし、対応する位置の探索はメモリ704内で行う。
DSP1 701が所望の出力解像度を与え、変換対象フレームを入力する、あるいは与えられた画像に変換対象フレームを設定する。DSP1 701が1つ以上の他フレームを入力する。DSP1 701が、メモリ704が予め記憶している、処理中の注目他フレームで考慮するサブピクセル位置ずれの集合を入力する。DSP1 701が、注目他フレームから変換対象フレーム内への動きを求めたい位置の集合(注目画素集合)を定める。DSP1 701が、各サブピクセル位置ずれについて、Aperture問題が起こる領域で注目するサブピクセル位置ずれに偏るような動き推定を実行し、注目画素集合から変換対象フレーム内で対応する位置を求める。
DSP2 702は、共有メモリ703に書き込まれた結果を使って点広がり関数を設定する。DSP2 702が、各推定サンプリング点について、出力解像度の画素値の重みつき関数である点広がり関数(Point Spread Function)を設定する。DSP2 702が、各推定サンプリング点の画素値として、対応する注目画素の画素値を設定する。DSP2 702が、各推定サンプリング点において、点広がり関数の重み係数ベクトルと出力解像度での画素値のベクトル積がその推定サンプリング点での画素値に等しいという式をまとめ、この式に未知のノイズベクトルを加え、この式を用いてImage Reconstructionを実行する。
共有メモリ703は、映像入力部408が低解像度なフレームを入力映像として取得し、映像受付部404が映像入力部408から入力映像を受け取り、入力された1フレーム以上の画像フレームを記憶している。
メモリ704,705は、それぞれDSP1 701、DSP2 702の専用のメモリであり、例えば、それぞれの演算で使用するプログラムまたはデータを格納している。
次に、本実施形態の画像処理装置の動作の一例について図8を参照して説明する。
ステップ1(S801〜S802):演算部402またはDSP1 701が所望の出力解像度を与え、変換対象フレームを入力する、あるいは与えられた画像に変換対象フレームを設定する。
ステップ2(S803):演算部402またはDSP1 701が1つ以上の他フレームを入力する。ただし、他フレームは変換対象フレーム自身であってもよい。なお、他フレームと変換対象フレームの解像度は必ずしも同一でなくてもよい。例えば、先のステップで格納された画像フレームのうち1つ以上のフレームを他フレームとする。
ステップ3.各他フレームについて次の操作を実行する。
ステップ3−1(S804):演算部402またはDSP1 701が、メモリ704または不揮発記憶部406が予め記憶している、処理中の注目他フレームで考慮するサブピクセル位置ずれ(サブピクセルシフト値)の集合を入力する。これらの集合は、例えば、(0、0)、(0、0.5)、(0.5、0)、(0.5、0.5)の4通りとする。なお、集合はそれぞれのずれについて別の集合であってもよい。このようなパラメータは、例えば、DSP1 701のプログラムあるいはデータ(例えば、メモリ704に格納される)、一時記憶部401あるいは不揮発記憶部406のデータとして予め与えることができる。
ステップ3−2(S805):演算部402またはDSP1 701が、注目他フレームから変換対象フレーム内への動きを求めたい位置の集合(注目画素集合)を定める。例えば、注目他フレームの全画素とする。あるいは、注目他フレームを適当な間隔で分割し、分割領域内の全画素とする。あるいは例えば、注目他フレーム内にエッジ検出フィルタ(例えばSobelフィルタ)を適用してその大きさが一定以上の画素を求め、得られた画素とその周辺画素を注目画素集合としてもよい。なお、周辺画素とは得られた画素からの距離が一定以下の画素のことで、画像からの距離は例えばL1距離やL2距離、L∞距離で求める。
ステップ3−3(S805):演算部402またはDSP1 701が、各サブピクセル位置ずれ(サブピクセルシフト値)について、Aperture問題が起こる領域で注目するサブピクセル位置ずれに偏るような動き推定を実行し、注目画素集合から変換対象フレーム内で対応する位置を求める。各注目画素に対応する変換対象フレーム内の位置を推定サンプリング点と呼ぶ。図4では例えば演算部402が一時記憶部401にアクセスしながら対応する位置を探す。
ステップ4(S806):演算部402またはDSP2 702が、各推定サンプリング点について、出力解像度の画素値の重みつき関数である点広がり関数(Point Spread Function)を設定する。点広がり関数は、例えば入出力解像度と画像サンプリングモデルにより決まる注目画素領域を設定する。
ステップ5(S807):演算部402またはDSP2 702が、各推定サンプリング点の画素値として、対応する注目画素の画素値を設定する。
ステップ6(S808):演算部402またはDSP2 702が、各推定サンプリング点において、点広がり関数の重み係数ベクトルと出力解像度での画素値のベクトル積がその推定サンプリング点での画素値に等しいという式をまとめ、この式に未知のノイズベクトルを加え、この式を用いてImage Reconstructionを実行する。例えばMAP法、POCSを実行することで、出力画像を算出できる。得られた結果を映像出力部405に送る。
他フレームと変換対象フレームの解像度が同一でない場合は画素サンプリングモデルが変化するが、サンプリングモデルの変更に応じて点広がり関数を変えることで対応できる。
ここで、変換対象フレームおよび他フレームは、例えば、それぞれを動画像の1フレームとする、あるいは複数のカメラで撮影した複数の静止画像とすることができる。また、入力が1枚の静止画像の場合でも、変換対象フレームおよび他フレームを入力された1枚の静止画像とすることができる。
次に、利用できるサンプリング点を図2に近づける手法について説明する。ここでは、3つの手法について説明する。
(第1手法:バイアスをかける方法を複数フレーム位相ずらしに使う)
ここでは、一例として、他フレームとして3フレームが利用可能な場合を考える。利用できるサンプリング点を図2に近くする方法の1つは、図9に示すように、3つの他フレームを、それぞれ
Figure 0004461165
に偏るようにすることである。偏りとして与える小数値は、サブピクセル位置ずれである。このとき、Aperture問題が起こる部分では図10に示すように、変換対象フレームのサンプリング点201以外に、
Figure 0004461165
の位置、つまり図10の1001、1002、1003に近い位置でサンプリング点が見つかることになる。これらのサンプリング点は超解像による解像度の拡大において都合がよい。なお、この例は縦横それぞれ2倍程度の拡大で都合がよいが、それ以上の拡大でも失われた高周波成分が復元される可能性は従来の手法よりも高い。もちろん、サンプリング点のサブピクセル位置ずれが0.5である必要はなく、また等間隔である必要もない。例えば、水平方向の解像度のみを高くしたいのであれば、他フレームとして3フレームを利用する場合、
Figure 0004461165
のようにしてもよい。なお、他フレームとして利用できるフレーム数が3フレームである必要もない。
(第2手法:バイアスをかける方法を複数フレームでの複数位相利用に使う)
利用できるサンプリング点を図2に近くする別の方法は、図11に示すように、各他フレームについて
Figure 0004461165
に偏る動きを算出することである。サブピクセル位置ずれを制御することで、Aperture問題が起こる部分では別のサンプリング点が得られ、Aperture問題が起こらない部分では同一のサンプリング点が得られると期待できる。このとき、他フレームが1つしかなくても、Aperture問題が起こる部分では4フレーム分のサンプリング点が得られることになる。他フレームの数によらず、Aperture問題が起こる部分では得られるサンプリング点が図10の1001、1002、1003に近い位置になる。他フレームの数が2フレーム以上の場合でも、図11に示すようにそれぞれについて動きに偏りを与えることで、なお先の例と同様、サンプリング点のサブピクセル位置ずれが0.5である必要はなく、また等間隔である必要もない。
(第3手法:バイアスをかける方法をフレーム内での複数位相利用に使う)
Aperture問題が起こる部分では変換対象フレーム自身が合同な図形を持つことを利用して、変換対象フレームから変換対象フレーム自身への動きを求め、変換対象フレームのみで超解像を行う方法も考えられる。このとき、利用できるサンプリング点を図2に近くする別の方法として、図12に示すように、変換対象フレームから変換対象フレーム自身への動きを、例えばサブピクセル位置ずれが
Figure 0004461165
の位置について求める方法が考えられる。なお、対象とする画素自身への対応関係、つまり変換対象フレームから変換対象フレーム自身への動き(0、0)の対応関係を求めないように、動き推定では何らかの方法を用いて(例えば、ブロックマッチングで動きの推定をする場合であれば自分自身のブロックについて照合を行わない、あるいは求めた動きと動きベクトル(0、0)との差分ベクトルの大きさが一定値以下の動きベクトルを除去する)自身への対応を除去することが望ましい(ただし自分自身への動きベクトルの除去は必須ではない)。なお、変換対象フレームについてこの方法を用いたうえで、それ以外の方法については前記の方法のいずれかを用いてもよい。
次に、Image Reconstructionについて説明する。
(POCS)
なお、Image Reconstructionについては上記の非特許文献1に記載されているものが利用できる。例えば、次の方法を用いると逐次的にImage Reconstructionを行うことができる。
はじめに、高解像度画像の各画素について、変換対象フレームにキュービックコンボリューション法などを適用して仮の画素値を与える(高解像度画像での仮の画素値を仮画素値と呼ぶ)。そして、低解像度画像の各画素位置において、対応する高解像度画像の仮画素値を使ったときのサンプリング値(これを仮サンプリング値と呼ぶことにする)を計算する。ここで、画素値とは画面をサンプリング間隔にしたがって複数の矩形に分割したときに、各矩形の輝度の分布を代表する値であり、矩形の中央に位置するものと考える。入力画像と出力画像の矩形の大きさの比は画素の密度によって決まり、例えば解像度が縦横1/2になるのであれば、矩形は縦横2倍になる。各低解像度画像の画素での仮サンプリング値は、対応する高解像度画像の画素に仮画素値が与えられているとき、低解像度画像の画素値をサンプリングする際に利用した高解像度画像での仮画素値の加重平均を求めることで得られる。このとき、高解像度画像が正確なものであれば、低解像度画像として撮影されたものである画素値と仮サンプリング値は一致するが、実際には一致しないことが多い。そこで、これらを近づけるように高解像度画像の仮画素値を更新する。低解像度画像の画素値と仮サンプリング値の差分を求め、それを減らすように高解像度画像中の各仮画素値を加減算する。高解像度画像において対応する画素値は複数あるため、差分をサンプリング時に用いた重みで分け、それぞれの画素値に加減算する。この加減算により、計算を行った低解像度の画素については画素値と仮サンプリング値が近づく。この加減算により、別の低解像度の画素については画素値と仮サンプリング値が遠ざかる可能性もあるが、経験的には、この操作をたくさんの画素について行えば、画素値と仮サンプリング値が近づくことが多いことがわかっている。超解像では、この操作を低解像度画像全体について別途定めた回数だけ行い、得られた高解像度画像の仮画素値を出力する。
Image Reconstructionの操作は、
Figure 0004461165
を近似的に解くことに相当し、Image Reconstructionにおける加減算の手法には多くのバリエーションが存在する。例えば、POCSを用いてImage Reconstructionを行う場合は、次の流れに従う。以下の処理は、例えば、演算部402またはDSP1 701が行う。
ステップ1:低解像度から高解像度への変換行列Wを与え、ノイズを無視した式y=Wxを立てる。Wは変換対象フレームの各画素値、他フレームから変換対象フレームへの対応点、各対応点に対応する他フレームの各画素値、および高解像度画素値からの各低解像度画素値の算出関数である点広がり関数により定める。ノイズを無視した式y=Wxは、低解像度画素値が各高解像度画素値の重みつき和に等しいとした等式を並べて行列表記したものである。前記重みつき和の重みは低解像度画素と高解像度画素の位置関係や撮像系を考えて与える。例えば、高解像度の画素格子で考えたときに低解像度画素の中心が置かれる位置を中心として、別途定めた分散を持つガウス分布を係数とした重み値を設定することができる。
ステップ2:y=Wxを構成する各式は、第i番目の画素について次の形で書ける。
Figure 0004461165
y[i]はスカラー値、W[i]は重みを並べた横ベクトル、xは高解像度画素値を並べた縦ベクトルである。ノイズの影響をあまり受けずに各式
Figure 0004461165
を満たすxを求めるために、POCSでは、ステップサイズβ[i]、および定数δ[i]を別途与え、次の繰り返し演算を実行する。なお、
Figure 0004461165
はxの推定値を意味する。
Figure 0004461165
ステップサイズβ[i]や定数δ[i]はすべてのiに対して同じ値(例えばβ[i]=1、δ[i]=10)でもよいし、例えば
Figure 0004461165
のように画素によって変えてもよい。なお、
Figure 0004461165
の初期値は、変換対象フレームに線形補間やキュービックコンボリューション法などを適用して与える。
ステップ3:別途定めた回数だけステップ2を繰り返す。
ステップ4:得られた推定高解像度画像
Figure 0004461165
を出力する。
以上がPOCSによるImage Reconstructionの流れである。以下の処理は、例えば、演算部402またはDSP1 701が行う。
また、MAP法を用いたImage Reconstructionの流れは次の通りである。
ステップ1:、POCSと同様の方法でy=Wxを立てる。
ステップ2:y=Wxの等式に対する誤差が大きいほどエネルギーが高くなる第1の項と、予め準備した自然画像の一般的な性質に対する画像xの誤差が大きいほどエネルギーが高くなる第2の項の2つを結合したエネルギー関数を考え、それを最小化する画像xを探す。例えば、自然画像の一般的な性質として近傍の画素の輝度値があまり変化しないと仮定すると、エネルギー関数として
Figure 0004461165
という式を立てることができる。ここで、ノルムの右下の1はL1ノルムをあらわし、λは前記第2の項に対する重み、Pは平行移動を表す行列である。mは考える平行移動のバリエーションをあらわし、例えばPとして
:水平方向の平行移動
:垂直方向の平行移動
の2通りを考えれば、前記第2項は縦横それぞれについて隣接画素のずれの大きさの和を求め、その合計値をλ、λで重みづけした値になる。
Eを最小化する方法として例えばsteepest descent法が利用できる。steepest descent法とは、xの推定値
Figure 0004461165
をエネルギー関数の勾配方向に−β倍したステップ進める操作を繰り返す方法であり、その更新は
Figure 0004461165
により行われる。この式をそのまま実行してもよいし、
Figure 0004461165
の各行の式、および
Figure 0004461165
の各行の式について、それをエネルギー関数の勾配方向を構成する式として(勾配項から注目する式以外を除去して)上記の更新式を順次適用することで、推定値
Figure 0004461165
を逐次更新してもよい。なお、
Figure 0004461165
の初期値は、変換対象フレームに線形補間やキュービックコンボリューション法などを適用して与える。
ステップ3:別途定めた回数だけステップ2を繰り返す。
ステップ4:得られた推定高解像度画像
Figure 0004461165
を出力する。
なお、ここで示したMAP法のエネルギー関数は一例であり、このエネルギー関数でなくてもかまわない。
次に、図9から図12を参照して説明した、利用できるサンプリング点を図2に近づける手法で実際にどの様に計算するのかについて以下3つの例を挙げて説明する。
(所望のサンプリング点を選択されやすくする方法)
以上の例からわかるように、所望のサンプリング点を選択されやすくする方法があれば、それを利用して高い解像度への変換を効果的に行える。次に、所望のサンプリング点を選択されやすくする方法について述べる。
(例1:ブロックマッチングSSDの場合)
ブロック誤差関数としてLα誤差
Figure 0004461165
あるいは、ロバスト関数ρを用いたロバスト誤差
Figure 0004461165
を用い、ブロックマッチングにより誤差値(Lα誤差あるいはロバスト誤差の値)が最小となる位置を求めたうえで、関数フィッティングを施して小数精度のずれを求める方法を考える。なお、SSD、SADはそれぞれα=2、1のLα誤差に相当する。ロバスト関数ρとしては、例えばHuberのロバスト関数
Figure 0004461165
がある。また、例えばSAD誤差関数に上限を定めた
Figure 0004461165
のような関数でもよい。あるいは、ロバスト関数ρとして例えばC. V. Stewart, “Robust Parameter Estimation in Computer Vision,” SIAM Review, vol. 41, no. 3, pp.513-537に記載されている関数を用いてもかまわない。なお、RGBやCMYK、L*u*v*のように多次元の色空間を用いる場合は、例えばRGB色空間であれば0.299R+0.587G+0.114Bにより1次元に射影するなどして1次元に変換してもよいし、例えば各次元における誤差値の和や重みつき和、最大値を用いてもよい。
第1フレーム内に設定したブロックに対応する第2フレーム内のブロックを求めるブロックマッチングは、例えば次のステップで行う。なお、この手法は第1フレーム内のブロックと第2フレーム内のブロックの対応づけを行うものであるが、超解像のように第1フレームの各画素に対応する第2フレームの位置を求める場合は、例えば、第1のフレームで注目画素を中心とした注目ブロックを配置し、それに対応する第2フレームのブロックを求め、得られたブロックの中心の位置を第1のフレームの注目画素に対応する第2フレームの位置とすることができる。あるいは、第1のフレームのブロック内の全画素(あるいは中心に近い一部の画素)について、第2フレームで求めたブロックにおいて、ブロック内の位置関係が同じ画素の位置を対応する位置としてもよい。以下の処理は、例えば、演算部402またはDSP1 701が行う。
ステップ1:2フレームで候補とするブロック(候補ブロック)を決める。なお、ブロックの形やサイズは縦横各5画素のように別途与える。画素単位の動きベクトルを全探索で求める場合は、例えば、図13に示すように、候補ブロック1301を設定した探索範囲1302内で予め決めた探索ステップ間隔(例えば、1画素間隔)で配置できる。
ステップ2:各候補ブロックについて、ブロック誤差関数の値を求める。
ステップ3:ブロック誤差関数の値が最小となる位置を求める。最小となる位置が2つ以上存在する場合はそのいずれを選択してもよい。例えば、探索範囲の中心に近い位置や最初に見つかった位置、最後に見つかった位置のように別途基準を決めておき、それを選択すればよい。
ブロックマッチングで得られる位置は、x、y(縦横)の成分が探索ステップ間隔で量子化されているため、量子化幅よりも高い精度で位置を求める場合は、実施形態の最初のところで説明したように、誤差関数の形を仮定して誤差値から誤差関数のパラメータを推定し、その極小位置を求める関数フィッティングを使う。SAD(L1誤差)やSSD(L2誤差)であればそれぞれ上記で説明した次の式
Figure 0004461165
Figure 0004461165
を利用するのが一般的であるが、それ以外の誤差関数であっても、上記のいずれかの式をあてはめて位置を近似的に求めることは可能である。あるいは、関数フィッティングでのみSADやSSDを用い、ブロックマッチングでは別の誤差関数を用いてもよい。
なお、探索ステップの量子化幅が整数はなく小数の場合は、ブロック誤差の算出において、第2フレームの非整数画素位置の画素値が必要になる。このとき、非整数画素位置の画素値としては、何らかの補間方法(例えばバイリニア法やバイキュービック法、キュービックコンボリューション法)を適用して求めたものを利用する。サブピクセル位置ずれに対応して前記他フレームをずらした画像フレームを画素値の補間により生成する。
実施形態の最初のところで説明したように、画像中でAperture問題の起こる領域において、サンプリング点はアルゴリズム自身が持つ性質により決まる。このようにブロックマッチングと関数フィッティングにより対応位置を求めた場合は、整数画素位置の近く(正確には、量子化幅で決まる位置の近く)に偏ることがわかっている。これは探索過程でバイアスがかけられているとみなせるから、別の位置に偏らせることができれば有用である。第1フレームから第2フレームへの動きを求める際、Aperture問題により起こる、対応点の量子化幅未満の偏り(簡単に言えば、位置あるいは動きベクトルの小数成分の偏り)を制御する方法について図14を参照して説明する。以下の処理は、例えば、演算部402またはDSP1 701が行う。
ステップ1(S1401):画像の第1フレームを入力する。
ステップ2(S1401):画像の第2フレームを入力する。
ステップ3(S1402):偏らせたいサブピクセル位置ずれの値を入力する。例えば(0.5、0.5)を入力する。
ステップ4(S1403):第2フレームを入力されたサブピクセル位置ずれの値だけずらした位相ずれ第2フレームを、何らかの補間方法(例えばバイリニア法やバイキュービック法、キュービックコンボリューション法)により求める。キュービックコンボリューション法については、例えば、R. G. Keys, “Cubic Convolution Interpolation for Digital Image Processing,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. ASSP-29, no. 6, 1981.を参照。
ステップ5(S1404):第1フレームに動きを求めたい画素あるいはブロックの集合(注目画素集合)を設定する。
ステップ6(S1405):第1フレームに設定した各画素(あるいはブロック)について、第1フレームから位相ずれ第2フレームへの動きを求める。
ステップ7(S1406):求めた各動きベクトル(あるいは対応位置)は、第1フレームから位相ずれ第2フレームへの動きとなっている。そこで、各動きベクトルにサブピクセル位置ずれの値を加算することで、第1フレームから元の第2フレームへの動きを求める。
ステップ8(S1407):求めた動きベクトルを出力する。
なお、超解像に利用する際は第1フレーム(移動元)の位置が整数画素位置でないと扱いにくいが、第1フレーム(移動元)の位置が整数でなくてもよいときは補間対象を第1フレームとしてもよい。具体的な流れは次の通りになる。以下の処理は、例えば、演算部402またはDSP1 701が行う。
ステップ1:画像の第1フレームを入力する。
ステップ2:画像の第2フレームを入力する。
ステップ3:偏らせたいサブピクセル位置ずれの値を入力する。例えば(0.5、0.5)を入力する。
ステップ4:第1フレームを入力されたサブピクセル位置ずれの値だけずらした位相ずれ第1フレームを、何らかの補間方法により求める。
ステップ5:位相ずれ第1フレームに動きを求めたい画素あるいはブロックの集合(注目画素集合)を設定する。
ステップ6:位相ずれ第1フレームに設定した各画素(あるいはブロック)について、第1フレームから第2フレームへの動きを求める。
ステップ7:各動きベクトルからサブピクセル位置ずれを引くことで、第1フレームから第2フレームへの動きが得られる。ただし、第1フレームの移動元は整数画素位置ではなくサブピクセル位置ずれを引いた位置になる。
なお、ステップ1・ステップ2の後で各画像に対してフィルタ処理、例えば平均化フィルタやガウシアンフィルタといったローパスフィルタを適用してもよい。本実施形態では補間画像を参照ブロックとしてマッチングを行うためもともと参照ブロックが正確でなく、特に高域成分が不正確であると考えられるが、ローバスフィルタを適用しておけばその問題に起因する誤差を減らせると考えられる。また、次に述べるLucas-Kanade法やエネルギー最小化についても、同様にあらかじめフィルタを適用しておいてもよい。
(例2:Lucas-Kanade法の場合)
Lucas-Kanade法は、フレーム間で対応する2つの画素(x,y,t)と(x+Δx,y+Δy,t+Δt)を考えたときに、次の式を最小化する位置を求める方法である。なお、ブロック内の各画素での誤差に中心を重視するなどの重み係数をつけてもよい。重みの有無により特に計算方法は変わらない(必要な重みをかければよい)ため、以下の式では省略する。
Figure 0004461165
この式に1次のテイラー展開を適用すると、画素(x,y,t)に対して最小化すべき式は次の局所的なエネルギー関数になることがわかる。ただし、u(=Δx/Δt)、v(=Δy/Δt)はそれぞれ水平・垂直方向の速度を表す。
Figure 0004461165
Σはブロック内の各画素についての和を表す。この式の最小化は最小2乗解の算出により行える。この方法では特定のサブピクセル位置ずれへの偏りはなく、Aperture問題が起こる領域における推定の振る舞いは予測できない。また、Aperture問題が起こる領域ではLucas-Kanade法の信頼性が低くなる。一方、Aperture問題の起こらないところではサブピクセル位置ずれを制御する必要がない。したがって、まずLucas-Kanade法で動きを求め、信頼性が低いと判定された画素でのみ、先に説明した、本実施形態でブロックマッチングを利用する方法に切り替えればよい。この方法の利点は、Aperture問題が起こらない限り、高精度で知られるLucas-Kanade法を利用できることである。
なおLucas-Kanade法の信頼性を判定する方法はいろいろ考えられるが、例えば次の方法で判定できる。
方法1.最小2乗解の算出において次の行列の逆行列を求めることになるが、この逆行列を安定して算出できるかを評価する。
Figure 0004461165
行列において、Ix、Iyはそれぞれブロック内の画素における輝度の偏微分を表し、Σはブロック内の各画素の総和を求めることを表す。安定して算出できるかの評価は、例えば、「行列式の値の絶対値」を「行列の4要素の絶対値のうち最大の数値」で除した値が、しきい値を上回れば信頼できる、そうでなければ信頼できないとすれば可能である。あるいは、単に行列式の値の絶対値がしきい値を上回るかにより判定してもよい。
方法2.求めた動きベクトルが、予め定めた一定範囲内(例えば、縦横それぞれ−32画素〜+32画素の範囲)に収まっていなければ信頼性が低いと判定する。
(例3:エネルギー最小化の場合)
動きを求める別の方法として、Horn-Schunck法のように、個々の動きの整合性と画面全体での動きベクトルの滑らかさのバランスを最適化する方法が知られている。この方法(動きの全体最適化)では、例えば、次のエネルギー関数を(近似的に)最小化する問題として定式化できる。
Figure 0004461165
この式はLucas-Kanade法の式と類似しているが、このエネルギー関数は個々の画素ではなく画像全体に対して1つの関数として与えられており、各Σは動きを算出したいフレームのすべての画素についての和を表す。λは別途定めた重み係数を表す。2つのρはLα誤差でもロバスト誤差でもよい(同じ関数でなくてもよい)。Hornらの定式化は2つのρとしてSSDを用いることに相当する。また、前者の項は個々の動きの整合性(動きベクトルを適用した場合に輝度の誤差が小さくなるか)を評価する項、後者の項は動きベクトルが滑らかでない場合にエネルギー値を増やす(ペナルティを与える)ための項であるが、それぞれ別の形をとることもある。例えば、前者の項は、画素ごとにその周辺のブロック誤差とすることもできる。また、第1項は、時刻t(解像度変換では他フレームに相当)における注目画素の画素値I(x,y,t)と、時刻t+Δt(解像度変換では変換対象フレームに相当)において時刻tの注目画素の位置を動きベクトルだけずらした位置での画素値I(x+Δx、y+Δy、t+Δt)に対し、差分I(x+Δx、y+Δy、t+Δt)−I(x,y,t)の大きさが大きいほどエネルギー値が高くなる項であり、第2項は、動きベクトルの小数部とサブピクセルずれの差分の大きさが大きいほどエネルギー値が高くなる項である。
このような形のエネルギー関数の最小化は例えば変分法を用いれば可能であるが、このときはLucas-Kanade法と同様に特定のサブピクセル位置ずれへの偏りはなく、Aperture問題が起こる領域における推定の振る舞いは予測できない。
特定のサブピクセル位置への偏りを制御するには、次のように制御項を加えればよい。
Figure 0004461165
ここで、ηは別途定めた重み係数を表す。ρ他のρと同様、Lα誤差でもロバスト誤差でもよい。なお、[x]はxを超えない最大の整数を表す。Δu、Δvはそれぞれ水平・垂直方向についての所望のサブピクセル位置ずれを表す。
このような形を関数に偏微分可能であることを要求する変分法で解くことは難しいが、直接エネルギー関数の最小化を評価する方法、例えば、Belief PropagationやGraph Cuts法、Gibbsサンプラを用いれば解ける。
例えばBelief Propagationで解くには次のようにする。まず、各画素を(グラフ理論における)グラフのノードとみなし、各ノードについて、とりうる動きベクトルを適当な間隔で量子化して離散値で表現し、それらにラベルx={0,1,・・・,L−1}を割り当てる。ラベルの添え字iはノード番号、あるいは単にノードと呼ぶ。次に、エネルギー関数を次の式に変形する。
Figure 0004461165
エネルギー関数を最小化するためには、次の繰り返し演算を行う。以下の処理は、例えば、演算部402またはDSP1 701が行う。
ステップ1:t=0とする(tはメッセージ更新回数を表す)。各エッジ(p、q)∈Nに対し、
Figure 0004461165
の初期値を与える(あるいはすべて0で初期化する)。
ステップ2:各エッジ(p、q)∈Nに対し、
Figure 0004461165
を次のメッセージ更新式により更新する。
Figure 0004461165
ただし、Σsは(s、p)∈Nかつs≠qを満たすすべてのsに対する和を表す。
ステップ3:tを1増やす。tが予め決めておいた繰り返し回数Tより小さいなら、ステップ2に戻る。
ステップ4:各qに対して、次のビリーフと呼ばれる値を求める。
Figure 0004461165
ただし、Σpは(p、q)∈Nを満たすすべてのpに対する和を表す。
ステップ5:各qに対してb(x)を最小とするラベルx={0,1,・・・,L−1}を選ぶ。
以上の方法で各ノードのラベルを選択すれば、エネルギーを最小化する動きベクトルが得られる。
なお、Lucas-Kanade法で解くべき式は、動きの全体最適化の式において、Σをブロック内の和、λを0とした場合に相当する。したがってサブピクセル位置への偏りを制御する項を加える方法は、Lucas-Kanade法でもまったく同じ考え方で解ける。
なお、第1フレームから第2フレームへの動きの全体最適化あるいはLucas-Kanade法の処理の一例について図15を参照して説明する。以下の処理は、例えば、演算部402またはDSP1 701が行う。
ステップ1(S1401):画像の第1フレームを入力する。
ステップ2(S1401):画像の第2フレームを入力する。
ステップ3(S1402):偏らせたいサブピクセル位置ずれの値(サブピクセルシフト値)を入力する。例えば(0.5、0.5)を入力する。
ステップ4(S1501):第1フレームに注目画素(動きを求めたい画素)を設定する。Lucas-Kanade法では例えば1画素あるいはブロック、全体最適化では例えば画面の全画素あるいは別途定めた領域(例えば、画面の数ライン分)とする。
ステップ5(S1502):注目画素について最適な動きベクトルを、エネルギー最小化、例えばBelief Propagationにより求める。ただし、エネルギー関数は、サブピクセル位置への偏りを評価する項を含むものとする。
ステップ6(S1503):求めた動きベクトルを出力する。
(動きバイアスの効果)
以上に説明した方法を用いれば、ブロックマッチングと関数フィッティングの組み合わせ、Lucas-Kanade法や動きの全体最適化の手法において、動きベクトル(画素の対応位置)をAperture問題の起こる部分について所望のサブピクセル位置に偏らせることができるようになる。先に説明したように、例えば、複数のフレームを用いた超解像において、各他フレームについて
Figure 0004461165
に偏る動きを算出することで、Aperture問題が起こる部分では別のサンプリング点、Aperture問題が起こらない部分では同一のサンプリング点を得る可能性が高くなり、それを利用した超解像において画像の高周波成分の復元能力を向上できる。したがって本実施形態の画像処理装置は、特に超解像で鮮鋭な画像を得るのに有効である。
なお、本発明は、画面全体や物体単位などの大域的な動きを算出する際の基礎技術としても使える(画面全体の動きは、例えば、手ぶれの補正に利用でき、また物体単位の動きは、例えば、ロボットが移動物の動きを追跡する際に利用できる)。大域的な動きを算出する方法の1つとして、局所的な動きベクトルのうち信頼性の高いものを求め、それらの動きをロバスト推定により統合する方法がある。このとき信頼性の低い動きベクトルが多数混入すると、推定で得られる大域的な動きの精度は下がってしまう。本発明で推定される位置はAperture問題が起こる部分でのみ変化するのであるから、例えばブロックマッチングと関数フィッティングを用いて
Figure 0004461165
の2通りのサブピクセル位置に偏らせて対応点を算出し、得られるベクトルが一致しない(ベクトルの差が一定範囲内にない)動きベクトルを捨てたうえで、残った動きベクトルに対してロバスト推定を行えば、信頼性の低いベクトルの混入が避けられ、高い精度で大域的な動きを求められる。
以上に示した実施形態によれば、Aperture問題が起こる領域において、選択されるサンプリング点の間隔を出力解像度の画素間隔よりも意図的に小さく制御することができることにより、得られた対応サンプリング点に基づいて超解像を行ったときに画素値の高周波成分が再現できる。これにより、入力画像よりも高い解像度で鮮鋭な画像が得られる。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の画像処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の画像処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
あるフレームから次フレームへの動き推定の場合での動きを一意的に推定することができない一例を示す図。 画像を縦横それぞれ2倍に拡大する場合に理想的なサンプリング点の一例を示す図。 対象画像フレーム自身のサンプリング点に近いサンプリング点が得られた場合の一例を示す図。 本実施形態の画像処理装置のブロック図。 複数枚のフレームを使用して高解像度化を行う場合の一例を示す図。 1枚のフレームを使用して高解像度化を行う場合の一例を示す図。 本実施形態の画像処理装置の図4とは異なる別のブロック図。 図4または図7の画像処理装置の動作の一例を示すフローチャート。 図10のようなサンプリング点に近づける第1手法を説明するための図。 理想的なサンプリング点の一例を示す図。 図10のようなサンプリング点に近づける第2手法を説明するための図。 図10のようなサンプリング点に近づける第3手法を説明するための図。 画素単位の動きベクトルを全探索で求める場合の探索手法を説明するための図。 Aperture問題により起こる、対応点の量子化幅未満の偏りを制御する一手法を示すフローチャート。 動きの全体最適化あるいはLucas-Kanade法の処理の一例を示すフローチャート。
符号の説明
102,103,104,106・・・領域、201,202,301,1001〜1003・・・サンプリング点、401・・・一時記憶部、402・・・演算部、403・・・入出力受付部、404・・・映像受付部、405・・・映像出力部、406・・・不揮発記憶部、407・・・外部入出力部、408・・・映像入力部、409・・・映像表示部、701・・・DSP1、702・・・DSP2、703・・・共有メモリ、704,705・・・メモリ、901,1201〜1203・・・変換対象フレーム、902〜904,1101〜1106・・・他フレーム、905,1108,1204・・・超解像画像、1301・・・候補ブロック、1302・・・探索範囲。

Claims (12)

  1. 複数のフレームの画像を受け付ける第1受付手段と、
    出力解像度を受け付ける第2受付手段と、
    前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、
    前記第1受付手段が受け付けたフレームのうち、前記基準フレームでない1フレームを他フレームとして設定する第2設定手段と、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、
    前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段と、を具備することを特徴とする画像処理装置。
  2. 少なくとも1フレームの画像を受け付ける第1受付手段と、
    出力解像度を受け付ける第2受付手段と、
    前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、
    前記第1受付手段が受け付けたフレームのうち、前記基準フレームを他フレームとして設定する第2設定手段と、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、
    前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段と、を具備することを特徴とする画像処理装置。
  3. 複数のフレームの画像を受け付ける第1受付手段と、
    出力解像度を受け付ける第2受付手段と、
    前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、
    前記第1受付手段が受け付けたフレームのうち、前記基準フレームでない複数のフレームを他フレームとして設定する第2設定手段と、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、
    前記他フレームごとに、前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段と、を具備することを特徴とする画像処理装置。
  4. 前記推定手段は、
    画素値の補間により前記基準フレームを前記サブピクセルシフト値だけずらした仮基準フレームを生成する生成手段と、
    前記他フレームに注目位置を設定する注目位置設定手段と、
    前記注目位置を基準として注目ブロックを設定する注目ブロック設定手段と、
    前記注目ブロック内の画素値パターンと類似した画素値パターンを持つ前記仮基準フレーム内の位置を算出する第2算出手段と、
    前記仮基準フレーム内の位置を前記サブピクセルシフト値だけ補正して、前記注目位置に対応する前記基準フレーム内の位置を取得して対応点とする取得手段と、
    を具備することを特徴とする請求項1から請求項のいずれか1項に記載の画像処理装置。
  5. 前記第2算出手段は、
    前記基準フレームに前記注目ブロックと同じ大きさのブロックである候補ブロックを順次設定する設定手段と、
    前記注目ブロック内の各画素について前記注目ブロック内の画素値と該画素値に対応する前記候補ブロック内の画素値との差分を画素値間の誤差を求める誤差関数に入力して得られた値である誤差値を求め、該誤差値の総和であるブロック誤差を算出する第算出手段と、
    前記候補ブロックのうちの、前記ブロック誤差が最小となる候補ブロックを最適候補ブロックとして選択する選択手段と、
    前記最適候補ブロックの周辺に設定された1以上の候補ブロックである周辺候補ブロックに対しブロック誤差を算出する第算出手段と、
    前記最適候補ブロックのブロック誤差および前記周辺候補ブロックにおけるブロック誤差に基づき、前記誤差関数の係数を算出する第算出手段と、
    係数が算出された誤差関数が最小となる位置を前記基準フレーム内の位置として算出する第算出手段と、を具備することを特徴とする請求項に記載の画像処理装置。
  6. 前記推定手段は、
    前記他フレームでの注目画素の画素値と前記基準フレームでの注目画素とを動きベクトルだけずらした位置での画素値の差分の大きさが大きいほどエネルギー値が高くなる項、および動きベクトルの小数部とサブピクセルシフト値の差分の大きさが大きいほどエネルギー値が高くなる項を含むエネルギー関数を設定する設定手段と、
    前記エネルギー関数を最小化する動きベクトルを算出し、それを対応点とする算出手段と、
    を具備することを特徴とする請求項1から請求項のいずれか1項に記載の画像処理装置。
  7. 複数のフレームの画像を受け付け、
    出力解像度を受け付け、
    前記フレームのうちの1フレーム基準フレームとして設定し、
    前記フレームのうち、前記基準フレームでない1フレームを他フレームとして設定し、
    予め設定された数値であるサブピクセルシフト値を1以上記憶している第1記憶手段を用意し、
    前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定し、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段を用意し、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出することを特徴とする画像処理方法。
  8. 少なくとも1フレームの画像を受け付け、
    出力解像度を受け付け、
    前記フレームのうちの1フレーム基準フレームとして設定し、
    前記フレームのうち、前記基準フレームを他フレームとして設定し、
    予め設定された数値であるサブピクセルシフト値を1以上記憶している第1記憶手段を用意し、
    前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定し、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段を用意し、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出することを特徴とする画像処理方法。
  9. 複数のフレームの画像を受け付け、
    出力解像度を受け付け、
    前記フレームのうちの1フレームを基準フレームとして設定し、
    前記フレームのうち、前記基準フレームでない複数のフレームを他フレームとして設定し、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段を用意し、
    前記他フレームごとに、前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定し、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段を用意し、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出することを特徴とする画像処理方法。
  10. コンピュータを、
    複数のフレームの画像を受け付ける第1受付手段と、
    出力解像度を受け付ける第2受付手段と、
    前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、
    前記第1受付手段が受け付けたフレームのうち、前記基準フレームでない1フレームを他フレームとして設定する第2設定手段と、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、
    前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段として機能させるための画像処理プログラム。
  11. コンピュータを、
    少なくとも1フレームの画像を受け付ける第1受付手段と、
    出力解像度を受け付ける第2受付手段と、
    前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、
    前記第1受付手段が受け付けたフレームのうち、前記基準フレームを他フレームとして設定する第2設定手段と、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、
    前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段として機能させるための画像処理プログラム。
  12. コンピュータを、
    複数のフレームの画像を受け付ける第1受付手段と、
    出力解像度を受け付ける第2受付手段と、
    前記フレームのうちの1フレームを基準フレームとして設定する第1設定手段と、
    前記第1受付手段が受け付けたフレームのうち、前記基準フレームでない複数のフレームを他フレームとして設定する第2設定手段と、
    予め設定された小数値であるサブピクセルシフト値を1以上記憶している第1記憶手段と、
    前記他フレームごとに、前記他フレームの画素に対応する前記基準フレーム上の対応点位置を、前記対応点の位置の小数部前記サブピクセルシフト値に近い値ほど選択されやすいように推定する推定手段と、
    前記出力解像度の画像上の画素値から前記基準フレームの解像度の画像上の画素値を算出するための点広がり関数を保持する第2記憶手段と、
    前記基準フレーム上の前記対応点における画素値として、対応する前記他フレーム上の画素値を設定した上で、前記点広がり関数を用いて前記基準フレームの出力解像度での画素値を算出する第1算出手段として機能させるための画像処理プログラム。
JP2007250181A 2007-09-26 2007-09-26 画像処理装置、方法およびプログラム Expired - Fee Related JP4461165B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007250181A JP4461165B2 (ja) 2007-09-26 2007-09-26 画像処理装置、方法およびプログラム
US12/233,030 US20090079876A1 (en) 2007-09-26 2008-09-18 Image processing apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007250181A JP4461165B2 (ja) 2007-09-26 2007-09-26 画像処理装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009081734A JP2009081734A (ja) 2009-04-16
JP4461165B2 true JP4461165B2 (ja) 2010-05-12

Family

ID=40471189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007250181A Expired - Fee Related JP4461165B2 (ja) 2007-09-26 2007-09-26 画像処理装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US20090079876A1 (ja)
JP (1) JP4461165B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4411339B2 (ja) * 2007-07-31 2010-02-10 キヤノン株式会社 カラー画像形成装置およびその制御方法
US8090220B2 (en) * 2008-07-23 2012-01-03 Raytheon Company Resolution enhancement of video sequences with arbitrary enhancement factor
JP4762336B2 (ja) 2009-09-15 2011-08-31 株式会社東芝 映像処理装置及び映像処理方法
KR101651203B1 (ko) * 2010-02-01 2016-08-26 삼성전자주식회사 화질 개선을 수반한 영상 확대 방법 및 그 장치
US8896715B2 (en) 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
CN106231328B (zh) 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
LT3697089T (lt) 2010-04-13 2022-01-10 Ge Video Compression, Llc Paveldėjimas ėminių masyvo multimedžio poskaidinyje
CN102939750B (zh) 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
KR102480988B1 (ko) 2010-04-13 2022-12-26 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
JP2011233039A (ja) * 2010-04-28 2011-11-17 Sony Corp 画像処理装置、画像処理方法、撮像装置、およびプログラム
JP5529685B2 (ja) * 2010-09-03 2014-06-25 パナソニック株式会社 画像符号化方法、画像復号化方法、画像符号化装置及び画像復号化装置
US9634690B2 (en) 2010-09-30 2017-04-25 Alcatel Lucent Method and apparatus for arbitrary resolution video coding using compressive sampling measurements
US8994837B2 (en) * 2010-11-26 2015-03-31 Intel Mobile Communications GmbH Image processing devices and image processing methods of moving objects
JP5803124B2 (ja) 2011-02-10 2015-11-04 セイコーエプソン株式会社 ロボット、位置検出装置、位置検出プログラム、および位置検出方法
US9398310B2 (en) * 2011-07-14 2016-07-19 Alcatel Lucent Method and apparatus for super-resolution video coding using compressive sampling measurements
US9824426B2 (en) 2011-08-01 2017-11-21 Microsoft Technology Licensing, Llc Reduced latency video stabilization
US8811774B1 (en) * 2012-01-19 2014-08-19 Pixelworks, Inc. Super resolution using an interpretive scaler
EP2677733A3 (en) * 2012-06-18 2015-12-09 Sony Mobile Communications AB Array camera imaging system and method
US9008363B1 (en) 2013-01-02 2015-04-14 Google Inc. System and method for computing optical flow
US9547466B2 (en) * 2013-05-29 2017-01-17 Vmware, Inc. Systems and methods for using screen sampling to detect display changes
JP6236259B2 (ja) * 2013-09-06 2017-11-22 株式会社東芝 画像処理装置、画像処理方法、及び画像処理プログラム
US9563806B2 (en) 2013-12-20 2017-02-07 Alcatel Lucent Methods and apparatuses for detecting anomalies using transform based compressed sensing matrices
US9894324B2 (en) 2014-07-15 2018-02-13 Alcatel-Lucent Usa Inc. Method and system for modifying compressive sensing block sizes for video monitoring using distance information
US10275863B2 (en) * 2015-04-03 2019-04-30 Cognex Corporation Homography rectification
US9602762B2 (en) * 2015-06-12 2017-03-21 Sharp Laboratories Of America, Inc. Fallback in frame rate conversion system
JP6234648B1 (ja) * 2016-01-15 2017-11-22 オリンパス株式会社 画像解析装置、画像解析システム、及び画像解析装置の作動方法
US10235763B2 (en) 2016-12-01 2019-03-19 Google Llc Determining optical flow
US10681267B2 (en) * 2017-12-28 2020-06-09 Facebook, Inc. Systems and methods for increasing resolution of images captured by a camera sensor
US10560641B2 (en) 2017-12-28 2020-02-11 Facebook, Inc. Systems and methods for generating a bias for a camera sensor for increasing resolution of captured images
US11949909B2 (en) * 2020-12-29 2024-04-02 Qualcomm Incorporated Global motion estimation using road and ground object labels for geometry-based point cloud compression
US20230186487A1 (en) * 2021-12-13 2023-06-15 Qualcomm Incorporated Vectorized bilinear shift for replacing grid sampling in optical flow estimation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825930A (en) * 1997-03-05 1998-10-20 Samsung Electronics Co., Ltd. Motion estimating method
US6628845B1 (en) * 1999-10-20 2003-09-30 Nec Laboratories America, Inc. Method for subpixel registration of images
US6711211B1 (en) * 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
JP3576987B2 (ja) * 2001-03-06 2004-10-13 株式会社東芝 画像のテンプレートマッチング方法及び画像処理装置
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US7085323B2 (en) * 2002-04-03 2006-08-01 Stmicroelectronics, Inc. Enhanced resolution video construction method and apparatus
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
JP4282645B2 (ja) * 2005-08-31 2009-06-24 株式会社東芝 撮像装置
JP4203498B2 (ja) * 2005-09-22 2009-01-07 アドバンスド・マスク・インスペクション・テクノロジー株式会社 画像補正装置、パターン検査装置、画像補正方法、及び、パターン欠陥検査方法
JP4157567B2 (ja) * 2006-04-11 2008-10-01 株式会社東芝 動画像の高解像度化方法及び装置
JP4116649B2 (ja) * 2006-05-22 2008-07-09 株式会社東芝 高解像度化装置および方法
JP4818053B2 (ja) * 2006-10-10 2011-11-16 株式会社東芝 高解像度化装置および方法
JP5238220B2 (ja) * 2007-10-29 2013-07-17 株式会社東芝 解像度変換装置、方法およびプログラム

Also Published As

Publication number Publication date
JP2009081734A (ja) 2009-04-16
US20090079876A1 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
JP4461165B2 (ja) 画像処理装置、方法およびプログラム
US8958484B2 (en) Enhanced image and video super-resolution processing
JP5385969B2 (ja) 画像の超解像のための方法及び装置
Yu et al. Robust video stabilization by optimization in cnn weight space
US9854168B2 (en) One-pass video stabilization
JP5238220B2 (ja) 解像度変換装置、方法およびプログラム
JP5166156B2 (ja) 解像度変換装置、方法およびプログラム
US20040091171A1 (en) Mosaic construction from a video sequence
JP6236259B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
WO2009150882A1 (ja) 画像位置合わせ処理装置、領域拡張処理装置及び画質改善処理装置
JP2005100407A (ja) 複数のソース画像からパノラマ画像を作成するシステム及び方法
JP2010122934A (ja) 画像処理装置、および画像処理方法、並びにプログラム
WO2005024723A1 (ja) 画像合成システム、画像合成方法及びプログラム
Dai et al. Sparse representation-based multiple frame video super-resolution
JP2011071986A (ja) 低解像度ビデオから高解像度ビデオを生成する方法
JP2000244851A (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
US20200160560A1 (en) Method, system and apparatus for stabilising frames of a captured video sequence
JP6075294B2 (ja) 画像処理システム及び画像処理方法
JP2005506626A (ja) 動き推定ユニット及び方法並びにかような動き推定ユニットを備えた画像処理装置
JP5566199B2 (ja) 画像処理装置およびその制御方法、並びにプログラム
JP2002163647A (ja) レンズ歪み係数算出装置および算出方法、レンズ歪み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4686388B2 (ja) 画像拡大装置及び画像拡大方法
JP2000354244A (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP2009064193A (ja) 解像度変換装置及び方法
Farin et al. Enabling arbitrary rotational camera motion using multisprites with minimum coding cost

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100119

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100215

R151 Written notification of patent or utility model registration

Ref document number: 4461165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees