JP2004048595A - 画像符号化方法および装置 - Google Patents
画像符号化方法および装置 Download PDFInfo
- Publication number
- JP2004048595A JP2004048595A JP2002206098A JP2002206098A JP2004048595A JP 2004048595 A JP2004048595 A JP 2004048595A JP 2002206098 A JP2002206098 A JP 2002206098A JP 2002206098 A JP2002206098 A JP 2002206098A JP 2004048595 A JP2004048595 A JP 2004048595A
- Authority
- JP
- Japan
- Prior art keywords
- image
- matching
- images
- frame
- mapping
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
Abstract
【課題】複数の画像データを圧縮符号化する技術を提供する。
【解決手段】符号化側において、参照フレーム生成ユニット26は、仮想フレームVF(n−1)と差分ΔF(n−1)とを用いて参照フレームRF(n−1)を生成し、マッチングプロセッサ16は、隣り合う参照フレームRF(n−1)と後続する現実のフレームF(n)との間でマッチングをとって、マップファイルMP(n−1,n)を生成する。復号側は、マッチングの開始点となる基準フレームと、マップファイルおよび差分を用いて、もとの画像を再生することができる。
【選択図】 図25
【解決手段】符号化側において、参照フレーム生成ユニット26は、仮想フレームVF(n−1)と差分ΔF(n−1)とを用いて参照フレームRF(n−1)を生成し、マッチングプロセッサ16は、隣り合う参照フレームRF(n−1)と後続する現実のフレームF(n)との間でマッチングをとって、マップファイルMP(n−1,n)を生成する。復号側は、マッチングの開始点となる基準フレームと、マップファイルおよび差分を用いて、もとの画像を再生することができる。
【選択図】 図25
Description
【0001】
【発明の属する技術分野】
この発明は、画像処理技術に関し、とくに画像データを符号化する技術に関する。
【0002】
【従来の技術】
動画圧縮技術は高い圧縮率と良好な画質の両方の要求を満足することを究極の目標として研究され、ストレージメディアからネットワークや放送などの伝送メディアへとその応用範囲を拡大している。近年、パーソナルコンピュータ(PC)からだけでなく、携帯電話などの通信端末を利用してインターネットへ接続することが一般的になり、動画圧縮技術への期待がますます高まっている。
【0003】
【発明が解決しようとする課題】
現在、MPEG(Motion Picture Expert Group)が動画圧縮の事実上の世界標準として認知されているが、周知のごとくブロック歪が高圧縮化を阻むことがある。
【0004】
本発明はそうした状況に鑑みてなされたものであり、その目的は良好な画質を実現しながら画像データを圧縮する符号化技術を提供することにある。また本発明の目的は、圧縮対象である画像データに対して、圧縮状況に応じて動的な符号化を施す技術を提供することにある。また本発明の目的は、柔軟性の高い符号化技術を提供することにある。
【0005】
【課題を解決するための手段】
以下、本発明の画像符号化技術および画像復号技術は、主に動画について説明するが、モーフィング、ウォークスルーなどの映像効果など、用途は動画に限られない。
【0006】
本発明のある態様は、3枚以上の現実の画像を取得する画像入力ユニットと、マッチングの開始点となる基準画像を定める設定ユニットと、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するマッチングプロセッサと、マッチングの計算結果をもとに仮想的な画像を生成するユニットとを備える画像符号化装置を提供する。「隣り合う画像」は、時系列的に連続して並ぶ2つの画像を意味し、マッチングの対象となる画像は、画像入力ユニットにおいて取得された現実の画像に限らず、マッチングの計算結果をもとに生成される仮想的な画像であってもよく、また現実の画像と仮想的な画像との差分を用いて生成される後述する参照画像であってもよい。マッチングの対象となる時系列的に後の画像は、現実の画像であることが好ましい。以下「点」と「画素」とは区別せずに用いるが、「点」および「画素」は基本的には一つの点および画素を示す概念であり、場合によっては点および画素の集合体を示すものであってもよい。この態様の画像符号化装置によると、基準画像以降の画像をマッチングの計算結果を用いて表現することにより、高い圧縮率による画像符号化を実現することが可能となる。
【0007】
画像符号化装置は、現実の画像と仮想的な画像の差分をとるユニットをさらに備えてもよい。対応しあう点を検出するユニットは、仮想的な画像と差分を用いて生成される参照画像と、それに後続する現実の画像との間でマッチングを計算してもよい。現実の画像と同一または非常に近似した参照画像をマッチングの対象とすることにより、復号再生画像の画質を向上することができる。参照画像が現実の画像と同一の場合には、対応しあう点を検出するユニットは、現実の画像とそれに後続する現実の画像との間でマッチングを計算してもよい。また、対応しあう点を検出するユニットは、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算してもよい。この場合、仮想的な画像をマッチングの対象とすることにより、少ない演算量でマッチングを実現することができる。
【0008】
設定ユニットは、差分の大きさに基づいて新たな基準画像を設定してもよく、また所定の期間ごとに新たな基準画像を設定してもよい。基準画像を更新することにより、現実の画像との誤差が累積することを防止することができる。
【0009】
本発明の別の態様は、3枚以上の現実の画像を取得するステップと、マッチングの開始点となる基準画像を定めるステップと、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するステップと、マッチングの計算結果をもとに仮想的な画像を生成するステップと、現実の画像と仮想的な画像の差分をとるステップと、仮想的な画像と差分をもとに参照画像を生成するステップとを備え、対応しあう点を検出するステップは、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化方法を提供する。
【0010】
本発明のさらに別の態様は、3枚以上の現実の画像を取得するステップと、マッチングの開始点となる基準画像を定めるステップと、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するステップと、マッチングの計算結果をもとに仮想的な画像を生成するステップとを備え、対応しあう点を検出するステップは、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化方法を提供する。
【0011】
本発明のさらに別の態様は、3枚以上の現実の画像を取得する機能と、マッチングの開始点となる基準画像を定める機能と、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出する機能と、マッチングの計算結果をもとに仮想的な画像を生成する機能と、現実の画像と仮想的な画像の差分をとる機能と、仮想的な画像と差分をもとに参照画像を生成する機能とをコンピュータに実行させ、対応しあう点を検出する機能は、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とするコンピュータプログラムを提供する。
【0012】
本発明のさらに別の態様は、3枚以上の現実の画像を取得する機能と、マッチングの開始点となる基準画像を定める機能と、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出する機能と、マッチングの計算結果をもとに仮想的な画像を生成する機能とをコンピュータに実行させ、対応しあう点を検出する機能は、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とするコンピュータプログラムを提供する。
【0013】
以上の各構成、ステップを任意に入れ替えたり、方法と装置の間で表現を一部または全部入れ替え、または追加したり、表現をコンピュータプログラム、記録媒体等に変更したものもまた、本発明として有効である。
【0014】
【発明の実施の形態】
はじめに、実施の形態で利用する多重解像度特異点フィルタ技術とそれを用いた画像マッチング処理を「前提技術」として詳述する。これらの技術は本出願人がすでに特許第2927350号を得ている技術であり、本発明との組合せに最適である。ただし、実施の形態で採用可能な画像マッチング技術はこれに限られない。図19以降、前提技術を利用した画像データ符号化技術を具体的に説明する。
【0015】
[前提技術の実施の形態]
最初に[1]で前提技術の要素技術を詳述し、[2]で処理手順を具体的に説明する。さらに[3]で前提技術に基づき改良を施した点について述べる。
【0016】
[1]要素技術の詳細
[1.1]イントロダクション
特異点フィルタと呼ばれる新たな多重解像度フィルタを導入し、画像間のマッチングを正確に計算する。オブジェクトに関する予備知識は一切不要である。画像間のマッチングの計算は、解像度の階層を進む間、各解像度において計算される。その際、粗いレベルから精細なレベルへと順に解像度の階層を辿っていく。計算に必要なパラメータは、人間の視覚システムに似た動的計算によって完全に自動設定される。画像間の対応点を人手で特定する必要はない。
【0017】
本前提技術は、例えば完全に自動的なモーフィング、物体認識、立体写真測量、ボリュームレンダリング、少ないフレームからの滑らかな動画像の生成などに応用できる。モーフィングに用いる場合、与えられた画像を自動的に変形することができる。ボリュームレンダリングに用いる場合、断面間の中間的な画像を正確に再構築することができる。断面間の距離が遠く、断面の形状が大きく変化する場合でも同様である。
【0018】
[1.2]特異点フィルタの階層
前提技術に係る多重解像度特異点フィルタは、画像の解像度を落としながら、しかも画像に含まれる各特異点の輝度及び位置を保存することができる。ここで画像の幅をN、高さをMとする。以下簡単のため、N=M=2n(nは自然数)と仮定する。また、区間[0,N]⊂RをIと記述する。(i,j)における画像の画素をp(i,j)と記述する(i,j∈I)。
【0019】
ここで多重解像度の階層を導入する。階層化された画像群は多重解像度フィルタで生成される。多重解像度フィルタは、もとの画像に対して二次元的な探索を行って特異点を検出し、検出された特異点を抽出してもとの画像よりも解像度の低い別の画像を生成する。ここで第mレベルにおける各画像のサイズは2m×2m(0≦m≦n)とする。特異点フィルタは次の4種類の新たな階層画像をnから下がる方向で再帰的に構築する。
【0020】
【数1】
ただしここで、
【数2】
とする。以降これら4つの画像を副画像(サブイメージ)と呼ぶ。minx≦t≦x+1、maxx≦t≦x+1をそれぞれα及びβと記述すると、副画像はそれぞれ以下のように記述できる。
【0021】
P(m,0)=α(x)α(y)p(m+1,0)
P(m,1)=α(x)β(y)p(m+1,1)
P(m,2)=β(x)α(y)p(m+1,2)
P(m,3)=β(x)β(y)p(m+1,3)
すなわち、これらはαとβのテンソル積のようなものと考えられる。副画像はそれぞれ特異点に対応している。これらの式から明らかなように、特異点フィルタはもとの画像について2×2画素で構成されるブロックごとに特異点を検出する。その際、各ブロックのふたつの方向、つまり縦と横について、最大画素値または最小画素値をもつ点を探索する。画素値として、前提技術では輝度を採用するが、画像に関するいろいろな数値を採用することができる。ふたつの方向の両方について最大画素値となる画素は極大点、ふたつの方向の両方について最小画素値となる画素は極小点、ふたつの方向の一方について最大画素値となるとともに、他方について最小画素値となる画素は鞍点として検出される。
【0022】
特異点フィルタは、各ブロックの内部で検出された特異点の画像(ここでは1画素)でそのブロックの画像(ここでは4画素)を代表させることにより、画像の解像度を落とす。特異点の理論的な観点からすれば、α(x)α(y)は極小点を保存し、β(x)β(y)は極大点を保存し、α(x)β(y)及びβ(x)α(y)は鞍点を保存する。
【0023】
はじめに、マッチングをとるべき始点(ソース)画像と終点(デスティネーション)画像に対して別々に特異点フィルタ処理を施し、それぞれ一連の画像群、すなわち始点階層画像と終点階層画像を生成しておく。始点階層画像と終点階層画像は、特異点の種類に対応してそれぞれ4種類ずつ生成される。
【0024】
この後、一連の解像度レベルの中で始点階層画像と終点階層画像のマッチングがとられていく。まずp(m,0)を用いて極小点のマッチングがとられる。次に、その結果に基づき、p(m,1)を用いて鞍点のマッチングがとられ、p(m,2)を用いて他の鞍点のマッチングがとられる。そして最後にp(m,3)を用いて極大点のマッチングがとられる。
【0025】
図1(c)と図1(d)はそれぞれ図1(a)と図1(b)の副画像p(5,0)を示している。同様に、図1(e)と図1(f)はp(5,1)、図1(g)と図1(h)はp(5,2)、図1(i)と図1(j)はp(5,3)をそれぞれ示している。これらの図からわかるとおり、副画像によれば画像の特徴部分のマッチングが容易になる。まずp(5,0)によって目が明確になる。目は顔の中で輝度の極小点だからである。p(5,1)によれば口が明確になる。口は横方向で輝度が低いためである。p(5,2)によれば首の両側の縦線が明確になる。最後に、p(5,3)によって耳や頬の最も明るい点が明確になる。これらは輝度の極大点だからである。
【0026】
特異点フィルタによれば画像の特徴が抽出できるため、例えばカメラで撮影された画像の特徴と、予め記録しておいたいくつかのオブジェクトの特徴を比較することにより、カメラに映った被写体を識別することができる。
【0027】
[1.3]画像間の写像の計算
始点画像の位置(i,j)の画素をp(n) (i,j)と書き、同じく終点画像の位置(k,l)の画素をq(n) (k,l)で記述する。i,j,k,l∈Iとする。画像間の写像のエネルギー(後述)を定義する。このエネルギーは、始点画像の画素の輝度と終点画像の対応する画素の輝度の差、及び写像の滑らかさによって決まる。最初に最小のエネルギーを持つp(m,0)とq(m,0)間の写像f(m,0):p(m,0)→q(m,0)が計算される。f(m,0)に基づき、最小エネルギーを持つp(m,1)、q(m,1)間の写像f(m,1)が計算される。この手続は、p(m,3)とq(m,3)の間の写像f(m,3)の計算が終了するまで続く。各写像f(m,i)(i=0,1,2,…)を副写像と呼ぶことにする。f(m,i)の計算の都合のために、iの順序は次式のように並べ替えることができる。並べ替えが必要な理由は後述する。
【数3】
ここでσ(i)∈{0,1,2,3}である。
【0028】
[1.3.1]全単射
始点画像と終点画像の間のマッチングを写像で表現する場合、その写像は両画像間で全単射条件を満たすべきである。両画像に概念上の優劣はなく、互いの画素が全射かつ単射で接続されるべきだからである。しかしながら通常の場合とは異なり、ここで構築すべき写像は全単射のディジタル版である。前提技術では、画素は格子点によって特定される。
【0029】
始点副画像(始点画像について設けられた副画像)から終点副画像(終点画像について設けられた副画像)への写像は、f(m,s):I/2n−m×I/2n−m→I/2n−m×I/2n−m(s=0,1,…)によって表される。ここで、f(m,s)(i,j)=(k,l)は、始点画像のp(m,s) (i,j)が終点画像のq(m,s) (k,l)に写像されることを意味する。簡単のために、f(i,j)=(k,l)が成り立つとき画素q(k,l)をqf(i,j)と記述する。
【0030】
前提技術で扱う画素(格子点)のようにデータが離散的な場合、全単射の定義は重要である。ここでは以下のように定義する(i,i’,j,j’,k,lは全て整数とする)。まず始めに、始点画像の平面においてRによって表記される各正方形領域、
【数4】
を考える(i=0,…,2m−1、j=0,…,2m−1)。ここでRの各辺(エッジ)の方向を以下のように定める。
【0031】
【数5】
この正方形は写像fによって終点画像平面における四辺形に写像されなければならない。f(m,s)(R)によって示される四辺形、
【数6】
は、以下の全単射条件を満たす必要がある。
【0032】
1.四辺形f(m,s)(R)のエッジは互いに交差しない。
2.f(m,s)(R)のエッジの方向はRのそれらに等しい(図2の場合、時計回り)。
3.緩和条件として収縮写像(リトラクション:retractions)を許す。
【0033】
何らかの緩和条件を設けないかぎり、全単射条件を完全に満たす写像は単位写像しかないためである。ここではf(m,s)(R)のひとつのエッジの長さが0、すなわちf(m,s)(R)は三角形になってもよい。しかし、面積が0となるような図形、すなわち1点または1本の線分になってはならない。図2(R)がもとの四辺形の場合、図2(A)と図2(D)は全単射条件を満たすが、図2(B)、図2(C)、図2(E)は満たさない。
【0034】
実際のインプリメンテーションでは、写像が全射であることを容易に保証すべく、さらに以下の条件を課してもよい。つまり始点画像の境界上の各画素は、終点画像において同じ位置を占める画素に写影されるというものである。すなわち、f(i,j)=(i,j)(ただしi=0,i=2m−1,j=0,j=2m−1の4本の線上)である。この条件を以下「付加条件」とも呼ぶ。
【0035】
[1.3.2]写像のエネルギー
[1.3.2.1]画素の輝度に関するコスト
写像fのエネルギーを定義する。エネルギーが最小になる写像を探すことが目的である。エネルギーは主に、始点画像の画素の輝度とそれに対応する終点画像の画素の輝度の差で決まる。すなわち、写像f(m,s)の点(i,j)におけるエネルギーC(m,s) (i,j)は次式によって定まる。
【0036】
【数7】
ここで、V(p(m,s) (i,j))及びV(q(m,s) f(i,j))はそれぞれ画素p(m,s) (i,j)及びq(m,s) f(i,j)の輝度である。fのトータルのエネルギーC(m,s)は、マッチングを評価するひとつの評価式であり、つぎに示すC(m,s) (i,j)の合計で定義できる。
【数8】
【0037】
[1.3.2.2]滑らかな写像のための画素の位置に関するコスト
滑らかな写像を得るために、写像に関する別のエネルギーDfを導入する。このエネルギーは画素の輝度とは関係なく、p(m,s) (i,j)およびq(m,s) f(i,j)の位置によって決まる(i=0,…,2m−1,j=0,…,2m−1)。点(i,j)における写像f(m,s)のエネルギーD(m,s) (i,j)は次式で定義される。
【0038】
【数9】
ただし、係数パラメータηは0以上の実数であり、また、
【数10】
【数11】
とする。ここで、
【数12】
であり、i’<0およびj’<0に対してf(i’,j’)は0と決める。E0は(i,j)及びf(i,j)の距離で決まる。E0は画素があまりにも離れた画素へ写影されることを防ぐ。ただしE0は、後に別のエネルギー関数で置き換える。E1は写像の滑らかさを保証する。E1は、p(i,j)の変位とその隣接点の変位の間の隔たりを表す。以上の考察をもとに、マッチングを評価する別の評価式であるエネルギーDfは次式で定まる。
【数13】
【0039】
[1.3.2.3]写像の総エネルギー
写像の総エネルギー、すなわち複数の評価式の統合に係る総合評価式はλC(m,s) f+D(m,s) fで定義される。ここで係数パラメータλは0以上の実数である。目的は総合評価式が極値をとる状態を検出すること、すなわち次式で示す最小エネルギーを与える写像を見いだすことである。
【0040】
【数14】
λ=0及びη=0の場合、写像は単位写像になることに注意すべきである(すなわち、全てのi=0,…,2m−1及びj=0,…,2m−1に対してf(m,s)(i,j)=(i,j)となる)。後述のごとく、本前提技術では最初にλ=0及びη=0の場合を評価するため、写像を単位写像から徐々に変形していくことができる。仮に総合評価式のλの位置を変えてC(m,s) f+λD(m,s) fと定義したとすれば、λ=0及びη=0の場合に総合評価式がC(m,s) fだけになり、本来何等関連のない画素どうしが単に輝度が近いというだけで対応づけられ、写像が無意味なものになる。そうした無意味な写像をもとに写像を変形していってもまったく意味をなさない。このため、単位写像が評価の開始時点で最良の写像として選択されるよう係数パラメータの与えかたが配慮されている。
【0041】
オプティカルフローもこの前提技術同様、画素の輝度の差と滑らかさを考慮する。しかし、オプティカルフローは画像の変換に用いることはできない。オブジェクトの局所的な動きしか考慮しないためである。前提技術に係る特異点フィルタを用いることによって大域的な対応関係を検出することができる。
【0042】
[1.3.3]多重解像度の導入による写像の決定
最小エネルギーを与え、全単射条件を満足する写像fminを多重解像度の階層を用いて求める。各解像度レベルにおいて始点副画像及び終点副画像間の写像を計算する。解像度の階層の最上位(最も粗いレベル)からスタートし、各解像度レベルの写像を、他のレベルの写像を考慮に入れながら決定する。各レベルにおける写像の候補の数は、より高い、つまりより粗いレベルの写像を用いることによって制限される。より具体的には、あるレベルにおける写像の決定に際し、それよりひとつ粗いレベルにおいて求められた写像が一種の拘束条件として課される。
【0043】
まず、
【数15】
が成り立つとき、p(m−1,s) (i’,j’)、q(m−1,s) (i’,j’)をそれぞれp(m,s) (i,j)、q(m,s) (i,j)のparentと呼ぶことにする。[x]はxを越えない最大整数である。またp(m,s) (i,j)、q(m,s) (i,j)をそれぞれp(m−1,s) (i’,j’)、q(m−1,s) (i’,j’)のchildと呼ぶ。関数parent(i,j)は次式で定義される。
【0044】
【数16】
p(m,s) (i,j)とq(m,s) (k,l)の間の写像f(m,s)は、エネルギー計算を行って最小になったものを見つけることで決定される。f(m,s)(i,j)=(k,l)の値はf(m−1,s)(m=1,2,…,n)を用いることによって、以下のように決定される。まず、q(m,s) (k, l)は次の四辺形の内部になければならないという条件を課し、全単射条件を満たす写像のうち現実性の高いものを絞り込む。
【0045】
【数17】
ただしここで、
【数18】
である。こうして定めた四辺形を、以下p(m,s) (i,j)の相続(inherited)四辺形と呼ぶことにする。相続四辺形の内部において、エネルギーを最小にする画素を求める。
【0046】
図3は以上の手順を示している。同図において、始点画像のA,B,C,Dの画素は、第m−1レベルにおいてそれぞれ終点画像のA’,B’,C’,D’へ写影される。画素p(m,s) (i,j)は、相続四辺形A’B’C’D’の内部に存在する画素q(m,s) f(m)(i,j)へ写影されなければならない。以上の配慮により、第m−1レベルの写像から第mレベルの写像への橋渡しがなされる。
【0047】
先に定義したエネルギーE0は、第mレベルにおける副写像f(m,0)を計算するために、次式に置き換える。
【0048】
【数19】
また、副写像f(m,s)を計算するためには次式を用いる。
【0049】
【数20】
こうしてすべての副写像のエネルギーを低い値に保つ写像が得られる。式20により、異なる特異点に対応する副写像が、副写像どうしの類似度が高くなるように同一レベル内で関連づけられる。式19は、f(m,s)(i,j)と、第m−1レベルの画素の一部と考えた場合の(i,j)が射影されるべき点の位置との距離を示している。
【0050】
仮に、相続四辺形A’B’C’D’の内部に全単射条件を満たす画素が存在しない場合は以下の措置をとる。まず、A’B’C’D’の境界線からの距離がL(始めはL=1)である画素を調べる。それらのうち、エネルギーが最小になるものが全単射条件を満たせば、これをf(m,s)(i,j)の値として選択する。そのような点が発見されるか、またはLがその上限のL(m)maxに到達するまで、Lを大きくしていく。L(m)maxは各レベルmに対して固定である。そのような点が全く発見されない場合、全単射の第3の条件を一時的に無視して変換先の四辺形の面積がゼロになるような写像も認め、f(m,s)(i,j)を決定する。それでも条件を満たす点が見つからない場合、つぎに全単射の第1及び第2条件を外す。
【0051】
多重解像度を用いる近似法は、写像が画像の細部に影響されることを回避しつつ、画像間の大域的な対応関係を決定するために必須である。多重解像度による近似法を用いなければ、距離の遠い画素間の対応関係を見いだすことは不可能である。その場合、画像のサイズはきわめて小さなものに限定しなければならず、変化の小さな画像しか扱うことができない。さらに、通常写像に滑らかさを要求するため、そうした画素間の対応関係を見つけにくくしている。距離のある画素から画素への写像のエネルギーは高いためである。多重解像度を用いた近似法によれば、そうした画素間の適切な対応関係を見いだすことができる。それらの距離は、解像度の階層の上位レベル(粗いレベル)において小さいためである。
【0052】
[1.4]最適なパラメータ値の自動決定
既存のマッチング技術の主な欠点のひとつに、パラメータ調整の困難さがある。大抵の場合、パラメータの調整は人手作業によって行われ、最適な値を選択することはきわめて難しい。前提技術に係る方法によれば、最適なパラメータ値を完全に自動決定することができる。
【0053】
前提技術に係るシステムはふたつのパラメータ、λ及びηを含む。端的にいえば、λは画素の輝度の差の重みであり、ηは写像の剛性を示している。これらのパラメータの値は初期値が0であり、まずη=0に固定してλを0から徐々に増加させる。λの値を大きくしながら、しかも総合評価式(式14)の値を最小にする場合、各副写像に関するC(m,s) fの値は一般に小さくなっていく。このことは基本的にふたつの画像がよりマッチしなければならないことを意味する。しかし、λが最適値を超えると以下の現象が発生する。
【0054】
1.本来対応すべきではない画素どうしが、単に輝度が近いというだけで誤って対応づけられる。
2.その結果、画素どうしの対応関係がおかしくなり、写像がくずれはじめる。
3.その結果、式14においてD(m,s) fが急激に増加しようとする。 4.その結果、式14の値が急激に増加しようとするため、D(m,s) fの急激な増加を抑制するようf(m,s)が変化し、その結果C(m,s) fが増加する。
【0055】
したがって、λを増加させながら式14が最小値をとるという状態を維持しつつC(m,s) fが減少から増加に転じる閾値を検出し、そのλをη=0における最適値とする。つぎにηを少しづつ増やしてC(m,s) fの挙動を検査し、後述の方法でηを自動決定する。そのηに対応してλも決まる。
【0056】
この方法は、人間の視覚システムの焦点機構の動作に似ている。人間の視覚システムでは、一方の目を動かしながら左右両目の画像のマッチングがとられる。オブジェクトがはっきりと認識できるとき、その目が固定される。
【0057】
[1.4.1]λの動的決定
λは0から所定の刻み幅で増加されていき、λの値が変わる度に副写像が評価される。式14のごとく、総エネルギーはλC(m,s) f+D(m,s) fによって定義される。式9のD(m,s) fは滑らかさを表すもので、理論的には単位写像の場合に最小になり、写像が歪むほどE0もE1も増加していく。E1は整数であるから、D(m,s) fの最小刻み幅は1である。このため、現在のλC(m,s) (i,j)の変化(減少量)が1以上でなければ、写像を変化させることによって総エネルギーを減らすことはできない。なぜなら、写像の変化に伴ってD(m,s) fは1以上増加するため、λC(m,s) (i,j)が1以上減少しない限り総エネルギーは減らないためである。
【0058】
この条件のもと、λの増加に伴い、正常な場合にC(m,s) (i,j)が減少することを示す。C(m,s) (i,j)のヒストグラムをh(l)と記述する。h(l)はエネルギーC(m,s) (i,j)がl2である画素の数である。λl2≧1が成り立つために、例えばl2=1/λの場合を考える。λがλ1からλ2まで微小量変化するとき、
【数21】
で示されるA個の画素が、
【数22】
のエネルギーを持つより安定的な状態に変化する。ここでは仮に、これらの画素のエネルギーがすべてゼロになると近似している。この式はC(m,s) fの値が、
【数23】
だけ変化することを示し、その結果、
【数24】
が成立する。h(l)>0であるから、通常C(m,s) fは減少する。しかし、λが最適値を越えようとするとき、上述の現象、つまりC(m,s) fの増加が発生する。この現象を検出することにより、λの最適値を決定する。
【0059】
なお、H(h>0)及びkを定数とするとき、
【数25】
と仮定すれば、
【数26】
が成り立つ。このときk≠−3であれば、
【数27】
となる。これがC(m,s) fの一般式である(Cは定数)。
【0060】
λの最適値を検出する際、さらに安全を見て、全単射条件を破る画素の数を検査してもよい。ここで各画素の写像を決定する際、全単射条件を破る確率をp0と仮定する。この場合、
【数28】
が成立しているため、全単射条件を破る画素の数は次式の率で増加する。
【0061】
【数29】
従って、
【数30】
は定数である。仮にh(l)=Hlkを仮定するとき、例えば、
【数31】
は定数になる。しかしλが最適値を越えると、上の値は急速に増加する。この現象を検出し、B0λ3/2+k/2/2mの値が異常値B0thresを越えるかどうかを検査し、λの最適値を決定することができる。同様に、B1λ3/2+k/2/2mの値が異常値B1thresを越えるかどうかを検査することにより、全単射の第3の条件を破る画素の増加率B1を確認する。ファクター2mを導入する理由は後述する。このシステムはこれら2つの閾値に敏感ではない。これらの閾値は、エネルギーC(m,s) fの観察では検出し損なった写像の過度の歪みを検出するために用いることができる。
【0062】
なお実験では、副写像f(m,s)を計算する際、もしλが0.1を越えたらf(m,s)の計算は止めてf(m,s+1)の計算に移行した。λ>0.1のとき、画素の輝度255レベル中のわずか「3」の違いが副写像の計算に影響したためであり、λ>0.1のとき正しい結果を得ることは困難だったためである。
【0063】
[1.4.2]ヒストグラムh(l)
C(m,s) fの検査はヒストグラムh(l)に依存しない。全単射及びその第3の条件の検査の際、h(l)に影響を受けうる。実際に(λ,C(m,s) f)をプロットすると、kは通常1付近にある。実験ではk=1を用い、B0λ2とB1λ2を検査した。仮にkの本当の値が1未満であれば、B0λ2とB1λ2は定数にならず、ファクターλ(1−k)/2に従って徐々に増加する。h(l)が定数であれば、例えばファクターはλ1/2である。しかし、こうした差は閾値B0thresを正しく設定することによって吸収することができる。
【0064】
ここで次式のごとく始点画像を中心が(x0,y0)、半径rの円形のオブジェクトであると仮定する。
【0065】
【数32】
一方、終点画像は、次式のごとく中心(x1,y1)、半径がrのオブジェクトであるとする。
【0066】
【数33】
ここでc(x)はc(x)=xkの形であるとする。中心(x0,y0)及び(x1,y1)が十分遠い場合、ヒストグラムh(l)は次式の形となる。
【0067】
【数34】
k=1のとき、画像は背景に埋め込まれた鮮明な境界線を持つオブジェクトを示す。このオブジェクトは中心が暗く、周囲にいくに従って明るくなる。k=−1のとき、画像は曖昧な境界線を持つオブジェクトを表す。このオブジェクトは中心が最も明るく、周囲にいくに従って暗くなる。一般のオブジェクトはこれらふたつのタイプのオブジェクトの中間にあると考えてもさして一般性を失わない。したがって、kは−1≦k≦1として大抵の場合をカバーでき、式27が一般に減少関数であることが保障される。
【0068】
なお、式34からわかるように、rは画像の解像度に影響されること、すなわちrは2mに比例することに注意すべきである。このために[1.4.1]においてファクター2mを導入した。
【0069】
[1.4.3]ηの動的決定
パラメータηも同様の方法で自動決定できる。はじめにη=0とし、最も細かい解像度における最終的な写像f(n)及びエネルギーC(n) fを計算する。つづいて、ηをある値Δηだけ増加させ、再び最も細かい解像度における最終写像f(n)及びエネルギーC(n) fを計算し直す。この過程を最適値が求まるまで続ける。ηは写像の剛性を示す。次式の重みだからである。
【0070】
【数35】
ηが0のとき、D(n) fは直前の副写像と無関係に決定され、現在の副写像は弾性的に変形され、過度に歪むことになる。一方、ηが非常に大きな値のとき、D(n) fは直前の副写像によってほぼ完全に決まる。このとき副写像は非常に剛性が高く、画素は同じ場所に射影される。その結果、写像は単位写像になる。ηの値が0から次第に増えるとき、後述のごとくC(n) fは徐々に減少する。しかしηの値が最適値を越えると、図4に示すとおり、エネルギーは増加し始める。同図のX軸はη、Y軸はCfである。
【0071】
この方法でC(n) fを最小にする最適なηの値を得ることができる。しかし、λの場合に比べていろいろな要素が計算に影響する結果、C(n) fは小さく揺らぎながら変化する。λの場合は、入力が微小量変化するたびに副写像を1回計算しなおすだけだが、ηの場合はすべての副写像が計算しなおされるためである。このため、得られたC(n) fの値が最小であるかどうかを即座に判断することはできない。最小値の候補が見つかれば、さらに細かい区間を設定することによって真の最小値を探す必要がある。
【0072】
[1.5]スーパーサンプリング
画素間の対応関係を決定する際、自由度を増やすために、f(m,s)の値域をR×Rに拡張することができる(Rは実数の集合)。この場合、終点画像の画素の輝度が補間され、非整数点、
【数36】
における輝度を持つf(m,s)が提供される。つまりスーパーサンプリングが行われる。実験では、f(m,s)は整数及び半整数値をとることが許され、
【数37】
は、
【数38】
によって与えられた。
【0073】
[1.6]各画像の画素の輝度の正規化
始点画像と終点画像がきわめて異なるオブジェクトを含んでいるとき、写像の計算に元の画素の輝度がそのままでは利用しにくい。輝度の差が大きいために輝度に関するエネルギーC(m,s) fが大きくなりすぎ、正しい評価がしづらいためである。
【0074】
例えば、人の顔と猫の顔のマッチングをとる場合を考える。猫の顔は毛で覆われており、非常に明るい画素と非常に暗い画素が混じっている。この場合、ふたつの顔の間の副写像を計算するために、まず副画像を正規化する。すなわち、最も暗い画素の輝度を0、最も明るいそれを255に設定し、他の画素の輝度は線形補間によって求めておく。
【0075】
[1.7]インプリメンテーション
始点画像のスキャンに従って計算がリニアに進行する帰納的な方法を用いる。始めに、1番上の左端の画素(i,j)=(0,0)についてf(m,s)の値を決定する。次にiを1ずつ増やしながら各f(m,s)(i,j)の値を決定する。iの値が画像の幅に到達したとき、jの値を1増やし、iを0に戻す。以降、始点画像のスキャンに伴いf(m,s)(i,j)を決定していく。すべての点について画素の対応が決まれば、ひとつの写像f(m,s)が決まる。
【0076】
あるp(i,j)について対応点qf(i,j)が決まれば、つぎにp(i,j+1)の対応点qf(i,j+1)が決められる。この際、qf(i,j+1)の位置は全単射条件を満たすために、qf(i,j)の位置によって制限される。したがって、先に対応点が決まる点ほどこのシステムでは優先度が高くなる。つねに(0,0)が最も優先される状態がつづくと、求められる最終の写像に余計な偏向が加わる。本前提技術ではこの状態を回避するために、f(m,s)を以下の方法で決めていく。
【0077】
まず(s mod 4)が0の場合、(0,0)を開始点としi及びjを徐々に増やしながら決めていく。(s mod 4)が1の場合、最上行の右端点を開始点とし、iを減少、jを増加させながら決めていく。(s mod 4)が2のとき、最下行の右端点を開始点とし、i及びjを減少させながら決めていく。(smod 4)が3の場合、最下行の左端点を開始点とし、iを増加、jを減少させながら決めていく。解像度が最も細かい第nレベルには副写像という概念、すなわちパラメータsが存在しないため、仮にs=0及びs=2であるとしてふたつの方向を連続的に計算した。
【0078】
実際のインプリメンテーションでは、全単射条件を破る候補に対してペナルティを与えることにより、候補(k,l)の中からできる限り全単射条件を満たすf(m,s)(i,j)(m=0,…,n)の値を選んだ。第3の条件を破る候補のエネルギーD(k、l)にはφを掛け、一方、第1または第2の条件を破る候補にはψを掛ける。今回はφ=2、ψ=100000を用いた。
【0079】
前述の全単射条件のチェックのために、実際の手続として(k,l)=f(m,s)(i,j)を決定する際に以下のテストを行った。すなわちf(m,s)(i,j)の相続四辺形に含まれる各格子点(k,l)に対し、次式の外積のz成分が0以上になるかどうかを確かめる。
【0080】
【数39】
ただしここで、
【数40】
【数41】
である(ここでベクトルは三次元ベクトルとし、z軸は直交右手座標系において定義される)。もしWが負であれば、その候補についてはD(m,s) (k,l)にψを掛けることによってペナルティを与え、できるかぎり選択しないようにする。
【0081】
図5(a)、図5(b)はこの条件を検査する理由を示している。図5(a)はペナルティのない候補、図5(b)はペナルティがある候補をそれぞれ表す。隣接画素(i,j+1)に対する写像f(m,s)(i,j+1)を決定する際、Wのz成分が負であれば始点画像平面上において全単射条件を満足する画素は存在しない。なぜなら、q(m,s) (k,l)は隣接する四辺形の境界線を越えるためである。
【0082】
[1.7.1]副写像の順序
インプリメンテーションでは、解像度レベルが偶数のときにはσ(0)=0、σ(1)=1、σ(2)=2、σ(3)=3、σ(4)=0を用い、奇数のときはσ(0)=3、σ(1)=2、σ(2)=1、σ(3)=0、σ(4)=3を用いた。このことで、副写像を適度にシャッフルした。なお、本来副写像は4種類であり、sは0〜3のいずれかである。しかし、実際にはs=4に相当する処理を行った。その理由は後述する。
【0083】
[1.8]補間計算
始点画像と終点画像の間の写像が決定された後、対応しあう画素の輝度が補間される。実験では、トライリニア補間を用いた。始点画像平面における正方形p(i,j)p(i+1,j)p(i,j+1)p(i+1,j+1)が終点画像平面上の四辺形qf(i,j)qf(i+1,j)qf(i,j+1)qf(i+1,j+1)に射影されると仮定する。簡単のため、画像間の距離を1とする。始点画像平面からの距離がt(0≦t≦1)である中間画像の画素r(x,y,t)(0≦x≦N−1,0≦y≦M−1)は以下の要領で求められる。まず画素r(x,y,t)の位置(ただしx,y,t∈R)を次式で求める。
【0084】
【数42】
つづいてr(x,y,t)における画素の輝度が次の式を用いて決定される。
【0085】
【数43】
ここでdx及びdyはパラメータであり、0から1まで変化する。
【0086】
[1.9]拘束条件を課したときの写像
いままでは拘束条件がいっさい存在しない場合の写像の決定を述べた。しかし、始点画像と終点画像の特定の画素間に予め対応関係が規定されているとき、これを拘束条件としたうえで写像を決定することができる。
【0087】
基本的な考えは、まず始点画像の特定の画素を終点画像の特定の画素に移す大まかな写像によって始点画像を大まかに変形し、しかる後、写像fを正確に計算する。
【0088】
まず始めに、始点画像の特定の画素を終点画像の特定の画素に射影し、始点画像の他の画素を適当な位置に射影する大まかな写像を決める。すなわち、特定の画素に近い画素は、その特定の画素が射影される場所の近くに射影されるような写像である。ここで第mレベルの大まかな写像をF(m)と記述する。
【0089】
大まかな写像Fは以下の要領で決める。まず、いくつかの画素について写像を特定する。始点画像についてns個の画素、
【数44】
を特定するとき、以下の値を決める。
【0090】
【数45】
始点画像の他の画素の変位量は、p(ih,jh)(h=0,…,ns−1)の変位に重み付けをして求められる平均である。すなわち画素p(i,j)は、終点画像の以下の画素に射影される。
【0091】
【数46】
ただしここで、
【数47】
【数48】
とする。
【0092】
つづいて、F(m)に近い候補写像fがより少ないエネルギーを持つように、その写像fのエネルギーD(m,s) (i,j)を変更する。正確には、D(m,s) (i,j)は、
【数49】
である。ただし、
【数50】
であり、κ,ρ≧0とする。最後に、前述の写像の自動計算プロセスにより、fを完全に決定する。
【0093】
ここで、f(m,s)(i,j)がF(m)(i,j)に十分近いとき、つまりそれらの距離が、
【数51】
以内であるとき、E2 (m,s) (i,j)が0になることに注意すべきである。そのように定義した理由は、各f(m,s)(i,j)がF(m)(i,j)に十分近い限り、終点画像において適切な位置に落ち着くよう、その値を自動的に決めたいためである。この理由により、正確な対応関係を詳細に特定する必要がなく、始点画像は終点画像にマッチするように自動的にマッピングされる。
【0094】
[2]具体的な処理手順
[1]の各要素技術による処理の流れを説明する。
図6は前提技術の全体手順を示すフローチャートである。同図のごとく、まず多重解像度特異点フィルタを用いた処理を行い(S1)、つづいて始点画像と終点画像のマッチングをとる(S2)。ただし、S2は必須ではなく、S1で得られた画像の特徴をもとに画像認識などの処理を行ってもよい。
【0095】
図7は図6のS1の詳細を示すフローチャートである。ここではS2で始点画像と終点画像のマッチングをとることを前提としている。そのため、まず特異点フィルタによって始点画像の階層化を行い(S10)、一連の始点階層画像を得る。つづいて同様の方法で終点画像の階層化を行い(S11)、一連の終点階層画像を得る。ただし、S10とS11の順序は任意であるし、始点階層画像と終点階層画像を並行して生成していくこともできる。
【0096】
図8は図7のS10の詳細を示すフローチャートである。もとの始点画像のサイズは2n×2nとする。始点階層画像は解像度が細かいほうから順に作られるため、処理の対象となる解像度レベルを示すパラメータmをnにセットする(S100)。つづいて第mレベルの画像p(m,0)、p(m,1)、p(m,2)、p(m,3)から特異点フィルタを用いて特異点を検出し(S101)、それぞれ第m−1レベルの画像p(m−1,0)、p(m−1,1)、p(m−1,2)、p(m−1,3)を生成する(S102)。ここではm=nであるため、p(m,0)=p(m,1)=p(m,2)=p(m,3)=p(n)であり、ひとつの始点画像から4種類の副画像が生成される。
【0097】
図9は第mレベルの画像の一部と、第m−1レベルの画像の一部の対応関係を示している。同図の数値は各画素の輝度を示す。同図のp(m,s)はp(m,0)〜p(m,3)の4つの画像を象徴するもので、p(m−1,0)を生成する場合には、p(m,s)はp(m,0)であると考える。[1.2]で示した規則により、p(m−1,0)は例えば同図で輝度を記入したブロックについて、そこに含まれる4画素のうち「3」、p(m−1,1)は「8」、p(m−1 ,2)は「6」、p(m−1,3)を「10」をそれぞれ取得し、このブロックをそれぞれ取得したひとつの画素で置き換える。したがって、第m−1レベルの副画像のサイズは2m−1×2m−1になる。
【0098】
つづいてmをデクリメントし(図8のS103)、mが負になっていないことを確認し(S104)、S101に戻ってつぎに解像度の粗い副画像を生成していく。この繰り返し処理の結果、m=0、すなわち第0レベルの副画像が生成された時点でS10が終了する。第0レベルの副画像のサイズは1×1である。
【0099】
図10はS10によって生成された始点階層画像をn=3の場合について例示している。最初の始点画像のみが4つの系列に共通であり、以降特異点の種類に応じてそれぞれ独立に副画像が生成されていく。なお、図8の処理は図7のS11にも共通であり、同様の手順を経て終点階層画像も生成される。以上で図6のS1による処理が完了する。
【0100】
前提技術では、図6のS2に進むためにマッチング評価の準備をする。図11はその手順を示している。同図のごとく、まず複数の評価式が設定される(S30)。[1.3.2.1]で導入した画素に関するエネルギーC(m,s) fと[1.3.2.2]で導入した写像の滑らかさに関するエネルギーD(m,s) fがそれである。つぎに、これらの評価式を統合して総合評価式を立てる(S31)。[1.3.2.3]で導入した総エネルギーλC(m,s) f+D(m,s) fがそれであり、[1.3.2.2]で導入したηを用いれば、
【数52】
となる。ただし、総和はi、jについてそれぞれ0、1…、2m−1で計算する。以上でマッチング評価の準備が整う。
【0101】
図12は図6のS2の詳細を示すフローチャートである。[1]で述べたごとく、始点階層画像と終点階層画像のマッチングは互いに同じ解像度レベルの画像どうしでとられる。画像間の大域的なマッチングを良好にとるために、解像度が粗いレベルから順にマッチングを計算する。特異点フィルタを用いて始点階層画像および終点階層画像を生成しているため、特異点の位置や輝度は解像度の粗いレベルでも明確に保存されており、大域的なマッチングの結果は従来に比べて非常に優れたものになる。
【0102】
図12のごとく、まず係数パラメータηを0、レベルパラメータmを0に設定する(S20)。つづいて、始点階層画像中の第mレベルの4つの副画像と終点階層画像中の第mレベルの4つの副画像のそれぞれの間でマッチングを計算し、それぞれ全単射条件を満たし、かつエネルギーを最小にするような4種類の副写像f(m,s)(s=0,1,2,3)を求める(S21)。全単射条件は[1.3.3]で述べた相続四辺形を用いて検査される。この際、式17、18が示すように、第mレベルにおける副写像は第m−1レベルのそれらに拘束されるため、より解像度の粗いレベルにおけるマッチングが順次利用されていく。これは異なるレベル間の垂直的参照である。なお、いまm=0であってそれより粗いレベルはないが、この例外的な処理は図13で後述する。
【0103】
一方、同一レベル内における水平的参照も行われる。[1.3.3]の式20のごとく、f(m,3)はf(m,2)に、f(m,2)はf(m,1)に、f(m,1)はf(m,0)に、それぞれ類似するように決める。その理由は、特異点の種類が違っても、それらがもともと同じ始点画像と終点画像に含まれている以上、副写像がまったく異なるという状況は不自然だからである。式20からわかるように、副写像どうしが近いほどエネルギーは小さくなり、マッチングが良好とみなされる。
【0104】
なお、最初に決めるべきf(m,0)については同一のレベルで参照できる副写像がないため、式19に示すごとくひとつ粗いレベルを参照する。ただし、実験ではf(m,3)まで求まった後、これを拘束条件としてf(m,0)を一回更新するという手続をとった。これは式20にs=4を代入し、f(m,4)を新たなf(m,0)とすることに等しい。f(m,0)とf(m,3)の関連度が低くなり過ぎる傾向を回避するためであり、この措置によって実験結果がより良好になった。この措置に加え、実験では[1.7.1]に示す副写像のシャッフルも行った。これも本来特異点の種類ごとに決まる副写像どうしの関連度を密接に保つ趣旨である。また、処理の開始点に依存する偏向を回避するために、sの値にしたがって開始点の位置を変える点は[1.7]で述べたとおりである。
【0105】
図13は第0レベルにおいて副写像を決定する様子を示す図である。第0レベルでは各副画像がただひとつの画素で構成されるため、4つの副写像f(0,s)はすべて自動的に単位写像に決まる。図14は第1レベルにおいて副写像を決定する様子を示す図である。第1レベルでは副画像がそれぞれ4画素で構成される。同図ではこれら4画素が実線で示されている。いま、p(1,s)の点xの対応点をq(1,s)の中で探すとき、以下の手順を踏む。
【0106】
1.第1レベルの解像度で点xの左上点a、右上点b、左下点c、右下点dを求める。
2.点a〜dがひとつ粗いレベル、つまり第0レベルにおいて属する画素を探す。図14の場合、点a〜dはそれぞれ画素A〜Dに属する。ただし、画素A〜Cは本来存在しない仮想的な画素である。
3.第0レベルですでに求まっている画素A〜Dの対応点A’〜D’をq(1,s)の中にプロットする。画素A’〜C’は仮想的な画素であり、それぞれ画素A〜Cと同じ位置にあるものとする。
4.画素Aの中の点aの対応点a’が画素A’の中にあるとみなし、点a’をプロットする。このとき、点aが画素Aの中で占める位置(この場合、右下)と、点a’が画素A’の中で占める位置が同じであると仮定する。
5.4と同様の方法で対応点b’〜d’をプロットし、点a’〜d’で相続四辺形を作る。
6.相続四辺形の中でエネルギーが最小になるよう、点xの対応点x’を探す。対応点x’の候補として、例えば画素の中心が相続四辺形に含まれるものに限定してもよい。図14の場合、4つの画素がすべて候補になる。
【0107】
以上がある点xの対応点の決定手順である。同様の処理を他のすべての点について行い、副写像を決める。第2レベル以上のレベルでは、次第に相続四辺形の形が崩れていくと考えられるため、図3に示すように画素A’〜D’の間隔が空いていく状況が発生する。
【0108】
こうして、ある第mレベルの4つの副写像が決まれば、mをインクリメントし(図12のS22)、mがnを超えていないことを確かめて(S23)、S21に戻る。以下、S21に戻るたびに次第に細かい解像度のレベルの副写像を求め、最後にS21に戻ったときに第nレベルの写像f(n)を決める。この写像はη=0に関して定まったものであるから、f(n)(η=0)と書く。
【0109】
つぎに異なるηに関する写像も求めるべく、ηをΔηだけシフトし、mをゼロクリアする(S24)。新たなηが所定の探索打切り値ηmaxを超えていないことを確認し(S25)、S21に戻り、今回のηに関して写像f(n)(η=Δη)を求める。この処理を繰り返し、S21でf(n)(η=iΔη)(i=0,1,…)を求めていく。ηがηmaxを超えたときS26に進み、後述の方法で最適なη=ηoptを決定し、f(n)(η=ηopt)を最終的に写像f(n)とする。
【0110】
図15は図12のS21の詳細を示すフローチャートである。このフローチャートにより、ある定まったηについて、第mレベルにおける副写像が決まる。副写像を決める際、前提技術では副写像ごとに最適なλを独立して決める。
【0111】
同図のごとく、まずsとλをゼロクリアする(S210)。つぎに、そのときのλについて(および暗にηについて)エネルギーを最小にする副写像f(m,s)を求め(S211)、これをf(m,s)(λ=0)と書く。異なるλに関する写像も求めるべく、λをΔλだけシフトし、新たなλが所定の探索打切り値λmaxを超えていないことを確認し(S213)、S211に戻り、以降の繰り返し処理でf(m,s)(λ=iΔλ)(i=0,1,…)を求める。λがλmaxを超えたときS214に進み、最適なλ=λoptを決定し、f(m,s)(λ=λopt)を最終的に写像f(m,s)とする(S214)。
【0112】
つぎに、同一レベルにおける他の副写像を求めるべく、λをゼロクリアし、sをインクリメントする(S215)。sが4を超えていないことを確認し(S216)、S211に戻る。s=4になれば上述のごとくf(m,3)を利用してf(m,0)を更新し、そのレベルにおける副写像の決定を終了する。
【0113】
図16は、あるmとsについてλを変えながら求められたf(m,s)(λ=iΔλ)(i=0,1,…)に対応するエネルギーC(m,s) fの挙動を示す図である。[1.4]で述べたとおり、λが増加すると通常C(m,s) fは減少する。しかし、λが最適値を超えるとC(m,s) fは増加に転じる。そこで本前提技術ではC(m,s) fが極小値をとるときのλをλoptと決める。同図のようにλ>λoptの範囲で再度C(m,s) fが小さくなっていっても、その時点ではすでに写像がくずれていて意味をなさないため、最初の極小点に注目すればよい。λoptは副写像ごとに独立して決めていき、最後にf(n)についてもひとつ定まる。
【0114】
一方、図17は、ηを変えながら求められたf(n)(η=iΔη)(i=0,1,…)に対応するエネルギーC(n) fの挙動を示す図である。ここでもηが増加すると通常C(n) fは減少するが、ηが最適値を超えるとC(n) fは増加に転じる。そこでC(n) fが極小値をとるときのηをηoptと決める。図17は図4の横軸のゼロ付近を拡大した図と考えてよい。ηoptが決まればf(n)を最終決定することができる。
【0115】
以上、本前提技術によれば種々のメリットが得られる。まずエッジを検出する必要がないため、エッジ検出タイプの従来技術の課題を解消できる。また、画像に含まれるオブジェクトに対する先験的な知識も不要であり、対応点の自動検出が実現する。特異点フィルタによれば、解像度の粗いレベルでも特異点の輝度や位置を維持することができ、オブジェクト認識、特徴抽出、画像マッチングに極めて有利である。その結果、人手作業を大幅に軽減する画像処理システムの構築が可能となる。
【0116】
なお、本前提技術について次のような変形技術も考えられる。
(1)前提技術では始点階層画像と終点階層画像の間でマッチングをとる際にパラメータの自動決定を行ったが、この方法は階層画像間ではなく、通常の2枚の画像間のマッチングをとる場合全般に利用できる。
【0117】
たとえば2枚の画像間で、画素の輝度の差に関するエネルギーE0と画素の位置的なずれに関するエネルギーE1のふたつを評価式とし、これらの線形和Etot=αE0+E1を総合評価式とする。この総合評価式の極値付近に注目してαを自動決定する。つまり、いろいろなαについてEtotが最小になるような写像を求める。それらの写像のうち、αに関してE1が極小値をとるときのαを最適パラメータと決める。そのパラメータに対応する写像を最終的に両画像間の最適マッチングとみなす。
【0118】
これ以外にも評価式の設定にはいろいろな方法があり、例えば1/E1と1/E2のように、評価結果が良好なほど大きな値をとるものを採用してもよい。総合評価式も必ずしも線形和である必要はなく、n乗和(n=2、1/2、−1、−2など)、多項式、任意の関数などを適宜選択すればよい。
【0119】
パラメータも、αのみ、前提技術のごとくηとλのふたつの場合、それ以上の場合など、いずれでもよい。パラメータが3以上の場合はひとつずつ変化させて決めていく。
【0120】
(2)本前提技術では、総合評価式の値が最小になるよう写像を決めた後、総合評価式を構成するひとつの評価式であるC(m,s) fが極小になる点を検出してパラメータを決定した。しかし、こうした二段階処理の代わりに、状況によっては単に総合評価式の最小値が最小になるようにパラメータを決めても効果的である。その場合、例えばαE0+βE1を総合評価式とし、α+β=1なる拘束条件を設けて各評価式を平等に扱うなどの措置を講じてもよい。パラメータの自動決定の本質は、エネルギーが最小になるようにパラメータを決めていく点にあるからである。
【0121】
(3)前提技術では各解像度レベルで4種類の特異点に関する4種類の副画像を生成した。しかし、当然4種類のうち1、2、3種類を選択的に用いてもよい。例えば、画像中に明るい点がひとつだけ存在する状態であれば、極大点に関するf(m,3)だけで階層画像を生成しても相応の効果が得られるはずである。その場合、同一レベルで異なる副写像は不要になるため、sに関する計算量が減る効果がある。
【0122】
(4)本前提技術では特異点フィルタによってレベルがひとつ進むと画素が1/4になった。例えば3×3で1ブロックとし、その中で特異点を探す構成も可能であり、その場合、レベルがひとつ進むと画素は1/9になる。
【0123】
(5)始点画像と終点画像がカラーの場合、それらをまず白黒画像に変換し、写像を計算する。その結果求められた写像を用いて始点のカラー画像を変換する。それ以外の方法として、RGBの各成分について副写像を計算してもよい。
【0124】
[3]前提技術の改良点
以上の前提技術を基本とし、マッチング精度を向上させるためのいくつかの改良がなされている。ここではその改良点を述べる。
【0125】
[3.1]色情報を考慮に入れた特異点フィルタおよび副画像
画像の色情報を有効に用いるために、特異点フィルタを以下のように変更した。まず色空間としては、人間の直感に最も合致するといわれているHISを用い、色を輝度に変換する式には、人間の目の感度に最も近いといわれているものを選んだ。
【0126】
【数53】
ここで画素aにおけるY(輝度)をY(a)、S(彩度)をS(a)として、次のような記号を定義する。
【0127】
【数54】
上の定義を用いて以下のような5つのフィルタを用意する。
【0128】
【数55】
このうち上から4つのフィルタは改良前の前提技術におけるフィルタとほぼ同じで、輝度の特異点を色情報も残しながら保存する。最後のフィルタは色の彩度の特異点をこちらも色情報を残しながら保存する。
【0129】
これらのフィルタによって、各レベルにつき5種類の副画像(サブイメージ)が生成される。なお、最も高いレベルの副画像は元画像に一致する。
【数56】
【0130】
[3.2]エッジ画像およびその副画像
輝度微分(エッジ)の情報をマッチングに利用するため、一次微分エッジ検出フィルタを用いる。このフィルタはあるオペレータHとの畳み込み積分で実現できる。
【0131】
【数57】
ここでHは演算スピードなども考慮し、以下のようなオペレータを用いた。
【0132】
【数58】
次にこの画像を多重解像度化する。フィルタにより0を中心とした輝度をもつ画像が生成されるため、次のような平均値画像が副画像としては最も適切である。
【0133】
【数59】
式59の画像は後述するForward Stage、すなわち初回副写像導出ステージの計算の際、エネルギー関数に用いられる。
【0134】
エッジの大きさ、すなわち絶対値も計算に必要である。
【数60】
この値は常に正であるため、多重解像度化には最大値フィルタを用いる。
【0135】
【数61】
式61の画像は後述するForward Stageの計算の際、計算する順序を決定するのに用いられる。
【0136】
[3.3]計算処理手順
計算は最も粗い解像度の副画像から順に行う。副画像は5つあるため、各レベルの解像度において計算は複数回行われる。これをターンと呼び、最大計算回数をtで表すことにする。各ターンは前記Forward Stageと、副写像再計算ステージであるRefinement Stageという二つのエネルギー最小化計算から構成される。図18は第mレベルにおける副写像を決める計算のうち改良点に係るフローチャートである。
【0137】
同図のごとく、sをゼロクリアする(S40)。つぎにForward Stage(S41)において始点画像pから終点画像qへの写像f( m,s )をエネルギー最小化によって求める。ここで最小化するエネルギーは、対応する画素値によるエネルギーCと、写像の滑らかさによるエネルギーDの線形和である。
【0138】
エネルギーCは、輝度の差によるエネルギーCI(前記改良前の前提技術におけるエネルギーCと等価)と、色相、彩度によるエネルギーCC、輝度微分(エッジ)の差によるエネルギーCEで構成され、それぞれ次のように表される。
【0139】
【数62】
エネルギーDは前記改良前の前提技術と同じものを用いる。ただし前記改良前の前提技術において、写像の滑らかさを保証するエネルギーE1を導出する際、隣接する画素のみを考慮していたが、周囲の何画素を考慮するかをパラメータdで指定できるように改良した。
【0140】
【数63】
次のRefinement Stageに備えて、このステージでは終点画像qから始点画像pへの写像g(m,s)も同様に計算する。
【0141】
Refinement Stage(S42)ではForward Stageにおいて求めた双方向の写像f(m,s)およびg(m,s)を基に、より妥当な写像f’(m,s)を求める。ここでは新たに定義されるエネルギーMについてエネルギー最小化計算を行う。エネルギーMは終点画像から始点画像への写像gとの整合度M0と、もとの写像との差M1より構成される。
【0142】
【数64】
対称性を損なわないように、終点画像qから始点画像pへの写像g’(m,s)も同様の方法で求めておく。
【0143】
その後、sをインクリメントし(S43)、sがtを超えていないことを確認し(S44)、次のターンのForward Stage(S41)に進む。その際前記E0を次のように置き換えてエネルギー最小化計算を行う。
【数65】
【0144】
[3.4]写像の計算順序
写像の滑らかさを表すエネルギーE1を計算する際、周囲の点の写像を用いるため、それらの点がすでに計算されているかどうかがエネルギーに影響を与える。すなわち、どの点から順番に計算するかによって、全体の写像の精度が大きく変化する。そこでエッジの絶対値画像を用いる。エッジの部分は情報量を多く含むため、エッジの絶対値が大きいところから先に写像計算を行う。このことによって、特に二値画像のような画像に対して非常に精度の高い写像を求めることができるようになった。
【0145】
前提技術では2枚のキーフレーム間のマッチングをとって対応する位置情報(以下、「対応位置情報」ともいう)を生成し、この位置情報をもとに中間フレームを生成した。キーフレームはマッチングの対象となる画像であり、前提技術では始点画像および終点画像と表現されている。この技術は動画の圧縮に利用でき、現実に実験ではMPEGを超える画質と圧縮率の両立が確認されはじめている。
【0146】
[画像符号化に関する実施の形態]
以下の実施の形態では、この前提技術を応用し、2枚のフレームから対応位置情報を求め、復号側では後のフレーム(終点画像)を、先のフレーム(始点画像)と対応位置情報を用いて生成する。したがって、後のフレームを再現するためのデータ量を圧縮することが可能となる。なお、以下では「フレーム」と「画像」を区別なく用いる。
【0147】
図19は、2枚の画像データを符号化する処理の一例を概念的に示す。先のフレームをF1、後のフレームをF2とし、符号化側は、それらの間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をマップファイルMP12に記録する。復号側には、フレームF1とマップファイルMP12とが供給される。符号化側と復号側に同じマッチング機能を実装しておくことにより、復号側は、フレームF1とマップファイルMP12とから、仮想的なフレームVF2(Virtual Frame)を生成する。以下、説明の便宜上、マッチングの計算結果をもとに生成される画像を「仮想フレーム」と呼び、元の画像を「現実のフレーム」と呼ぶこともある。仮想的なフレームVF2は、現実のフレームF2と同一または少なくとも近似した画像であり、その近似度はマップファイルMP12の精度などに依存する。
【0148】
図20は、2枚の画像データを符号化する処理の別の例を概念的に示す。この方法は図19で示した符号化処理をさらに応用したものであり、現実のフレームに一層近時度の高いフレームを生成することを目的とする。図19で説明したように、まずフレームF1とマップファイルMP12とを用いて仮想的なフレームVF2を生成し、現実のフレームF2の画素値と仮想フレームVF2の画素値との差分ΔF2をとる。以下、画素値は「色」ともいうが、色に限らず任意の属性であってもよい。システム設計上、差分データに割り当てられるデータ量が十分に大きい場合には、フレームF2と仮想フレームVF2との完全に正確な差分Δを取得することができ、フレームF2は、フレームF1、マップファイルMP1 2および差分ΔF2を用いて再現される。なお、圧縮率の関係からデータ量が小さい場合であっても、差分ΔF2を用いない場合と比較すると、フレームF2と、差分ΔF2を用いて生成されるフレームとの近似度は非常に高いものとなる。以上、図19および図20を用いて、2枚のフレームF1、F2の間で符号化する方法について説明した。以下では、3枚以上のフレームを画像符号化する方法について3つの実施例に分けて説明する。
【0149】
<第1の実施例>
図21は、3枚以上の画像データを符号化する処理の第1の実施例を概念的に示す。この第1の実施例では、符号化側において、隣り合う現実のフレームF1、F2、F3の間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をそれぞれマップファイルMP12およびMP23に記録する。復号側には、フレームF1とマップファイルMP12およびMP23とが供給される。復号側装置は、フレームF1とマップファイルMP12とを用いて仮想フレームVF2を再生し、また仮想フレームVF2とマップファイルMP23とを用いて仮想フレームVF3を再生する。
【0150】
<第2の実施例>
図22は、3枚以上の画像データを符号化する処理の第2の実施例を概念的に示す。この第2の実施例では、符号化側において、まず隣り合う現実のフレームF1およびF2の間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をマップファイルMP12に記録する。続いて、フレームF1とマップファイルMP12を用いて、仮想フレームVF2を生成する。この方法は、復号側の処理として図19に関連して説明したとおりである。続いて、隣り合う仮想フレームVF2と現実のフレームF3との間でマッチングをとり、対応位置情報をマップファイルMP23に記録する。以後この処理を繰り返し、画像データを符号化する。第2の実施例では、隣り合う仮想フレームVF(n−1)と現実のフレームF(n)との間でマッチングをとり、マップファイルMP(n−1,n)を生成することを特徴とする。こうすることで、対応位置情報が、復号側で連続再生されるフレーム間の点の位置関係を表現することができる。
【0151】
フレームがF1からF3までの3枚の場合、復号側には、フレームF1とマップファイルMP12およびMP23とが供給される。復号側装置は、フレームF1とマップファイルMP12とを用いて仮想フレームVF2を再生し、また仮想フレームVF2とマップファイルMP23とを用いて仮想フレームVF3を再生する。したがって、復号側の表示装置には、フレームF1、仮想フレームVF2およびVF3が表示されることになる。なお当然のことながら、フレームの枚数は3枚に限られない。
【0152】
図23は、第2の実施例における画像符号化装置10aの構成を示す。各機能ブロックは、たとえばPC(パーソナルコンピュータ)にCD−ROMなどの記録媒体からロードされるプログラムで実現できる。プログラムはネットワークを通じてPCにロードされてもよい。画像符号化装置10aは、画像入力ユニット12、設定ユニット14、マッチングプロセッサ16、基準画像圧縮ユニット18、仮想フレーム生成ユニット20、ストリーム生成ユニット22、差分生成ユニット24および格納部30を備える。格納部30は、マップファイル保持部32と基準画像保持部34とを含む。
【0153】
画像入力ユニット12はネットワーク、ストレージなどから符号化すべき複数の画像データを入力する。画像入力ユニット12は通信機能、ストレージ制御機能を有してもよく、または自身が画像を撮影する光学機器であってもよい。入力される画像データは30枚/秒で構成される動画であってもよい。
【0154】
設定ユニット14は画像データに含まれるフレームの中から、マッチングの開始点となる基準フレームを定める。符号化を行う最初のフレームを基準フレームとして設定し、時系列的に画像データが入力される場合には、最初に入力されるフレームを基準フレームとする。基準フレームの設定は、ユーザにより任意に選択されてもよく、また設定ユニット14により自動的に実行されてもよい。図22を参照して、基準フレームをF1とする。基準画像圧縮ユニット18は基準フレームをフレーム内圧縮し、格納部30の基準画像保持部34に記録する。
【0155】
基準フレームを含む画像データはマッチングプロセッサ16に供給される。マッチングプロセッサ16は、前提技術その他の技術によって基準フレームF1とフレームF2の間のマッチングをとり、対応しあう点を検出して対応位置情報を記録したマップファイルMP12を生成し、格納部30のマップファイル保持部32に格納する。続いて、仮想フレーム生成ユニット20が、フレームF1とマップファイルMP12をもとに仮想的なフレームVF2を生成する。仮想フレームVF2はマッチングプロセッサ16に送られる。
【0156】
次にマッチングプロセッサ16は、仮想フレームVF2と現実のフレームF3との間のマッチングをとり、マップファイルMP23を生成して、マップファイル保持部32に格納する。仮想フレーム生成ユニット20は仮想フレームVF2とマップファイルMP23をもとに仮想フレームVF3を生成し、マッチングプロセッサ16に供給する。以後、マッチングプロセッサ16は、仮想フレームVF(n−1)と現実のフレームF(n)とのマッチングをとり、マップファイルMP(n−1,n)を生成していく。
【0157】
差分生成ユニット24は、現実のフレームF(n)の画素値と仮想フレームVF(n)の画素値との差分をとり、設定ユニット14に供給する。設定ユニット14は、差分が所定の閾値を超えた場合、仮想フレームVF(n)と現実のフレームF(n)とのズレが大きくなったことを判定し、新たな基準フレームを設定して、上記符号化処理を繰り返す。設定ユニット14は差分の大きさを用いずに、所定の期間ごとに新たな基準フレームを設定してもよい。基準フレームを設定しなおすことで、仮想フレームに差分が累積して現実のフレームとの誤差が大きくなることを防止できる。
【0158】
ストリーム生成ユニット22は、マップファイル保持部32および基準画像保持部34に保持されるマップファイルMPおよび基準フレームF1をストリーム化して、符号化画像データを生成する。設定ユニット14において複数の基準フレームが設定された場合には、それらの基準フレームおよび各基準フレームに基づいて生成されたマップファイルがストリーム化される。
【0159】
<第3の実施例>
図24は、3枚以上の画像データを符号化する処理の第3の実施例を概念的に示す。この第3の実施例では、符号化側において、まず隣り合う現実のフレームF1およびF2の間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をマップファイルMP12に記録する。次に、フレームF1とマップファイルMP12を用いて、仮想フレームVF2を生成する。続いて現実のフレームF2の画素値と仮想フレームVF2の画素値との差分ΔF2をとる。この方法については、図19および図20に関連して説明したとおりである。
【0160】
次に、仮想フレームVF2と差分ΔF2を用いて、第2の仮想的なフレームRF2を生成する。先の仮想フレームVFと区別するために、以下、第2の仮想フレームを「参照フレームRF(Reference Frame)」と呼ぶ。ΔF2が現実のフレームF2の画素値と仮想フレームVF2の画素値との差分を完全に表現するものであれば、参照フレームRF2はフレームF2と同一となる。一方、差分ΔF2の表現に十分なビットが割り当てられない場合には、現実のフレームF2と参照フレームRF2とは全く同一の画像とはならないが、差分を仮想フレームVF2に加える分だけ、仮想フレームVF2よりも参照フレームRF2の方が、フレームF2をより忠実に再現するものとなる。
【0161】
参照フレームRF2を生成した後、この参照フレームRF2とフレームF3とのマッチングをとり、対応位置情報をマップファイルMP23に記録する。続いて参照フレームRF2とマップファイルMP23を用いて、仮想フレームVF3を生成し、現実のフレームF3の画素値と仮想フレームVF3の画素値との差分ΔF3をとる。以後この処理を繰り返し、画像データを符号化する。第3の実施例では、仮想フレームVF(n−1)と差分ΔF(n−1)とを用いて参照フレームRF(n−1)を生成し、隣り合う参照フレームRF(n−1)と現実のフレームF(n)との間でマッチングをとって、マップファイルMP(n−1,n)を生成することを特徴とする。こうすることで、対応位置情報が、復号側で連続再生されるフレーム間の点の位置関係を表現することができる。
【0162】
フレームがF1からF3までの3枚の場合、復号側には、フレームF1、マップファイルMP12およびMP23と、差分ΔF2およびΔF3が供給される。復号側装置は、フレームF1とマップファイルMP12とを用いて仮想フレームVF2を生成し、仮想フレームVF2と差分ΔF2を用いて参照フレームRF2を再生し、また参照フレームRF2とマップファイルMP23とを用いて仮想フレームVF3を生成し、続いて仮想フレームVF3と差分ΔF3を用いて参照フレームRF3を再生する。したがって、復号側の表示装置には、フレームF1、参照フレームRF2およびRF3が表示されることになる。なお当然のことながら、フレームの枚数は3枚に限られない。
【0163】
図25は、第3の実施例における画像符号化装置10bの構成を示す。各機能ブロックは、たとえばPC(パーソナルコンピュータ)にCD−ROMなどの記録媒体からロードされるプログラムで実現できる。プログラムはネットワークを通じてロードされてもよい。画像符号化装置10bは、画像入力ユニット12、設定ユニット14、マッチングプロセッサ16、基準画像圧縮ユニット18、仮想フレーム生成ユニット20、ストリーム生成ユニット22、差分生成ユニット24、参照フレーム生成ユニット26および格納部30を備える。格納部30は、マップファイル保持部32、基準画像保持部34および差分保持部36を含む。図23と同一の符号で示される構成は、図23の対応する構成と同一または同様の機能および動作を実現する。
【0164】
画像入力ユニット12は画像データを入力し、設定ユニット14は画像データに含まれるフレームの中から、マッチングの開始点となる基準フレームを定める。図24を参照して、基準フレームをF1とする。基準画像圧縮ユニット18は基準フレームをフレーム内圧縮し、格納部30の基準画像保持部34に記録する。
【0165】
基準フレームを含む画像データはマッチングプロセッサ16に供給される。マッチングプロセッサ16は、前提技術その他の技術によって基準フレームF1とフレームF2の間のマッチングをとり、対応しあう点を検出して対応位置情報を記録したマップファイルMP12を生成し、マップファイル保持部32に格納する。続いて、仮想フレーム生成ユニット20が、フレームF1とマップファイルMP12をもとに仮想的なフレームVF2を生成する。仮想フレームVF2は差分生成ユニット24に送られる。
【0166】
差分生成ユニット24は、現実のフレームF2も受け取り、フレームF2の画素値と仮想フレームVF2の画素値の差分ΔF2をとり、差分保持部36に記録する。この差分画像はハフマン符号化その他の符号化により、効果的に圧縮することが好ましい。参照フレーム生成ユニット26は、仮想フレームVF2と差分ΔF2を用いて、参照フレームRF2を生成する。差分ΔF2の表現に割り当てられるビット数に依存するが、参照フレームRF2は現実のフレームF2と同一または非常に近似した画像となる。生成された参照フレームRF2はマッチングプロセッサ16および仮想フレーム生成ユニット20に供給される。
【0167】
マッチングプロセッサ16は、参照フレームRF2と現実のフレームF3との間のマッチングをとり、対応しあう点を検出して対応位置情報を記録したマップファイルMP23を生成し、マップファイル保持部32に格納する。仮想フレーム生成ユニット20は、参照フレームRF2とマップファイルMP23を用いて、仮想フレームVF3を生成する。差分生成ユニット24は、現実のフレームF3の画素値と仮想フレームVF3の画素値の差分ΔF3をとり、差分保持部36に記録する。参照フレーム生成ユニット26は、仮想フレームVF3と差分ΔF3を用いて、参照フレームRF3を生成する。以後、マッチングプロセッサ16は、参照フレームRF(n−1)と現実のフレームF(n)とのマッチングをとってマップファイルMP(n−1,n)を生成し、差分生成ユニット24はフレームF(n)の画素値と仮想フレームVF(n)の画素値の差分をとっていく。
【0168】
ストリーム生成ユニット22は、マップファイル保持部32、基準画像保持部34および差分保持部36にそれぞれ保持されるマップファイルMP、基準フレームF1および差分Δをストリーム化して、符号化画像データを生成する。
【0169】
以上、実施の形態をもとに本発明を説明した。なお本発明はこの実施の形態に限定されることなく、そのさまざまな変形例もまた、本発明の態様として有効である。
【図面の簡単な説明】
【図1】図1(a)と図1(b)は、ふたりの人物の顔に平均化フィルタを施して得られる画像、図1(c)と図1(d)は、ふたりの人物の顔に関して前提技術で求められるp(5,0)の画像、図1(e)と図1(f)は、ふたりの人物の顔に関して前提技術で求められるp(5,1)の画像、図1(g)と図1(h)は、ふたりの人物の顔に関して前提技術で求められるp(5,2)の画像、図1(i)と図1(j)は、ふたりの人物の顔に関して前提技術で求められるp(5,3)の画像をそれぞれディスプレイ上に表示した中間調画像の写真である。
【図2】図2(R)はもとの四辺形を示す図、図2(A)、図2(B)、図2(C)、図2(D)、図2(E)はそれぞれ相続四辺形を示す図である。
【図3】始点画像と終点画像の関係、および第mレベルと第m−1レベルの関係を相続四辺形を用いて示す図である。
【図4】パラメータηとエネルギーCfの関係を示す図である。
【図5】図5(a)、図5(b)は、ある点に関する写像が全単射条件を満たすか否かを外積計算から求める様子を示す図である。
【図6】前提技術の全体手順を示すフローチャートである。
【図7】図6のS1の詳細を示すフローチャートである。
【図8】図7のS10の詳細を示すフローチャートである。
【図9】第mレベルの画像の一部と、第m−1レベルの画像の一部の対応関係を示す図である。
【図10】前提技術で生成された始点階層画像を示す図である。
【図11】図6のS2に進む前に、マッチング評価の準備の手順を示す図である。
【図12】図6のS2の詳細を示すフローチャートである。
【図13】第0レベルにおいて副写像を決定する様子を示す図である。
【図14】第1レベルにおいて副写像を決定する様子を示す図である。
【図15】図12のS21の詳細を示すフローチャートである。
【図16】あるf(m,s)についてλを変えながら求められたf(m,s)(λ=iΔλ)に対応するエネルギーC(m,s) fの挙動を示す図である。
【図17】ηを変えながら求められたf(n)(η=iΔη)(i=0,1,…)に対応するエネルギーC(n) fの挙動を示す図である。
【図18】改良後の前提技術において第mレベルにおける副写像を求めるフローチャートである。
【図19】実施の形態に係る画像データを符号化する処理の一例を概念的に示す図である。
【図20】実施の形態に係る画像データを符号化する処理の別の例を概念的に示す図である。
【図21】第1の実施例に係る3枚以上の画像データを符号化する処理を概念的に示す図である。
【図22】第2の実施例に係る3枚以上の画像データを符号化する処理を概念的に示す図である。
【図23】第2の実施例に係る画像符号化装置の構成を示す図である。
【図24】第3の実施例に係る3枚以上の画像データを符号化する処理を概念的に示す図である。
【図25】第3の実施例に係る画像符号化装置の構成を示す図である。
【符号の説明】
10a、10b・・・画像符号化装置、12・・・画像入力ユニット、14・・・設定ユニット、16・・・マッチングプロセッサ、18・・・基準画像圧縮ユニット、20・・・仮想フレーム生成ユニット、22・・・ストリーム生成ユニット、24・・・差分生成ユニット、26・・・参照フレーム生成ユニット、30・・・格納部、32・・・マップファイル保持部、34・・・基準画像保持部、36・・・差分保持部。
【発明の属する技術分野】
この発明は、画像処理技術に関し、とくに画像データを符号化する技術に関する。
【0002】
【従来の技術】
動画圧縮技術は高い圧縮率と良好な画質の両方の要求を満足することを究極の目標として研究され、ストレージメディアからネットワークや放送などの伝送メディアへとその応用範囲を拡大している。近年、パーソナルコンピュータ(PC)からだけでなく、携帯電話などの通信端末を利用してインターネットへ接続することが一般的になり、動画圧縮技術への期待がますます高まっている。
【0003】
【発明が解決しようとする課題】
現在、MPEG(Motion Picture Expert Group)が動画圧縮の事実上の世界標準として認知されているが、周知のごとくブロック歪が高圧縮化を阻むことがある。
【0004】
本発明はそうした状況に鑑みてなされたものであり、その目的は良好な画質を実現しながら画像データを圧縮する符号化技術を提供することにある。また本発明の目的は、圧縮対象である画像データに対して、圧縮状況に応じて動的な符号化を施す技術を提供することにある。また本発明の目的は、柔軟性の高い符号化技術を提供することにある。
【0005】
【課題を解決するための手段】
以下、本発明の画像符号化技術および画像復号技術は、主に動画について説明するが、モーフィング、ウォークスルーなどの映像効果など、用途は動画に限られない。
【0006】
本発明のある態様は、3枚以上の現実の画像を取得する画像入力ユニットと、マッチングの開始点となる基準画像を定める設定ユニットと、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するマッチングプロセッサと、マッチングの計算結果をもとに仮想的な画像を生成するユニットとを備える画像符号化装置を提供する。「隣り合う画像」は、時系列的に連続して並ぶ2つの画像を意味し、マッチングの対象となる画像は、画像入力ユニットにおいて取得された現実の画像に限らず、マッチングの計算結果をもとに生成される仮想的な画像であってもよく、また現実の画像と仮想的な画像との差分を用いて生成される後述する参照画像であってもよい。マッチングの対象となる時系列的に後の画像は、現実の画像であることが好ましい。以下「点」と「画素」とは区別せずに用いるが、「点」および「画素」は基本的には一つの点および画素を示す概念であり、場合によっては点および画素の集合体を示すものであってもよい。この態様の画像符号化装置によると、基準画像以降の画像をマッチングの計算結果を用いて表現することにより、高い圧縮率による画像符号化を実現することが可能となる。
【0007】
画像符号化装置は、現実の画像と仮想的な画像の差分をとるユニットをさらに備えてもよい。対応しあう点を検出するユニットは、仮想的な画像と差分を用いて生成される参照画像と、それに後続する現実の画像との間でマッチングを計算してもよい。現実の画像と同一または非常に近似した参照画像をマッチングの対象とすることにより、復号再生画像の画質を向上することができる。参照画像が現実の画像と同一の場合には、対応しあう点を検出するユニットは、現実の画像とそれに後続する現実の画像との間でマッチングを計算してもよい。また、対応しあう点を検出するユニットは、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算してもよい。この場合、仮想的な画像をマッチングの対象とすることにより、少ない演算量でマッチングを実現することができる。
【0008】
設定ユニットは、差分の大きさに基づいて新たな基準画像を設定してもよく、また所定の期間ごとに新たな基準画像を設定してもよい。基準画像を更新することにより、現実の画像との誤差が累積することを防止することができる。
【0009】
本発明の別の態様は、3枚以上の現実の画像を取得するステップと、マッチングの開始点となる基準画像を定めるステップと、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するステップと、マッチングの計算結果をもとに仮想的な画像を生成するステップと、現実の画像と仮想的な画像の差分をとるステップと、仮想的な画像と差分をもとに参照画像を生成するステップとを備え、対応しあう点を検出するステップは、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化方法を提供する。
【0010】
本発明のさらに別の態様は、3枚以上の現実の画像を取得するステップと、マッチングの開始点となる基準画像を定めるステップと、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するステップと、マッチングの計算結果をもとに仮想的な画像を生成するステップとを備え、対応しあう点を検出するステップは、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化方法を提供する。
【0011】
本発明のさらに別の態様は、3枚以上の現実の画像を取得する機能と、マッチングの開始点となる基準画像を定める機能と、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出する機能と、マッチングの計算結果をもとに仮想的な画像を生成する機能と、現実の画像と仮想的な画像の差分をとる機能と、仮想的な画像と差分をもとに参照画像を生成する機能とをコンピュータに実行させ、対応しあう点を検出する機能は、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とするコンピュータプログラムを提供する。
【0012】
本発明のさらに別の態様は、3枚以上の現実の画像を取得する機能と、マッチングの開始点となる基準画像を定める機能と、基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出する機能と、マッチングの計算結果をもとに仮想的な画像を生成する機能とをコンピュータに実行させ、対応しあう点を検出する機能は、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とするコンピュータプログラムを提供する。
【0013】
以上の各構成、ステップを任意に入れ替えたり、方法と装置の間で表現を一部または全部入れ替え、または追加したり、表現をコンピュータプログラム、記録媒体等に変更したものもまた、本発明として有効である。
【0014】
【発明の実施の形態】
はじめに、実施の形態で利用する多重解像度特異点フィルタ技術とそれを用いた画像マッチング処理を「前提技術」として詳述する。これらの技術は本出願人がすでに特許第2927350号を得ている技術であり、本発明との組合せに最適である。ただし、実施の形態で採用可能な画像マッチング技術はこれに限られない。図19以降、前提技術を利用した画像データ符号化技術を具体的に説明する。
【0015】
[前提技術の実施の形態]
最初に[1]で前提技術の要素技術を詳述し、[2]で処理手順を具体的に説明する。さらに[3]で前提技術に基づき改良を施した点について述べる。
【0016】
[1]要素技術の詳細
[1.1]イントロダクション
特異点フィルタと呼ばれる新たな多重解像度フィルタを導入し、画像間のマッチングを正確に計算する。オブジェクトに関する予備知識は一切不要である。画像間のマッチングの計算は、解像度の階層を進む間、各解像度において計算される。その際、粗いレベルから精細なレベルへと順に解像度の階層を辿っていく。計算に必要なパラメータは、人間の視覚システムに似た動的計算によって完全に自動設定される。画像間の対応点を人手で特定する必要はない。
【0017】
本前提技術は、例えば完全に自動的なモーフィング、物体認識、立体写真測量、ボリュームレンダリング、少ないフレームからの滑らかな動画像の生成などに応用できる。モーフィングに用いる場合、与えられた画像を自動的に変形することができる。ボリュームレンダリングに用いる場合、断面間の中間的な画像を正確に再構築することができる。断面間の距離が遠く、断面の形状が大きく変化する場合でも同様である。
【0018】
[1.2]特異点フィルタの階層
前提技術に係る多重解像度特異点フィルタは、画像の解像度を落としながら、しかも画像に含まれる各特異点の輝度及び位置を保存することができる。ここで画像の幅をN、高さをMとする。以下簡単のため、N=M=2n(nは自然数)と仮定する。また、区間[0,N]⊂RをIと記述する。(i,j)における画像の画素をp(i,j)と記述する(i,j∈I)。
【0019】
ここで多重解像度の階層を導入する。階層化された画像群は多重解像度フィルタで生成される。多重解像度フィルタは、もとの画像に対して二次元的な探索を行って特異点を検出し、検出された特異点を抽出してもとの画像よりも解像度の低い別の画像を生成する。ここで第mレベルにおける各画像のサイズは2m×2m(0≦m≦n)とする。特異点フィルタは次の4種類の新たな階層画像をnから下がる方向で再帰的に構築する。
【0020】
【数1】
ただしここで、
【数2】
とする。以降これら4つの画像を副画像(サブイメージ)と呼ぶ。minx≦t≦x+1、maxx≦t≦x+1をそれぞれα及びβと記述すると、副画像はそれぞれ以下のように記述できる。
【0021】
P(m,0)=α(x)α(y)p(m+1,0)
P(m,1)=α(x)β(y)p(m+1,1)
P(m,2)=β(x)α(y)p(m+1,2)
P(m,3)=β(x)β(y)p(m+1,3)
すなわち、これらはαとβのテンソル積のようなものと考えられる。副画像はそれぞれ特異点に対応している。これらの式から明らかなように、特異点フィルタはもとの画像について2×2画素で構成されるブロックごとに特異点を検出する。その際、各ブロックのふたつの方向、つまり縦と横について、最大画素値または最小画素値をもつ点を探索する。画素値として、前提技術では輝度を採用するが、画像に関するいろいろな数値を採用することができる。ふたつの方向の両方について最大画素値となる画素は極大点、ふたつの方向の両方について最小画素値となる画素は極小点、ふたつの方向の一方について最大画素値となるとともに、他方について最小画素値となる画素は鞍点として検出される。
【0022】
特異点フィルタは、各ブロックの内部で検出された特異点の画像(ここでは1画素)でそのブロックの画像(ここでは4画素)を代表させることにより、画像の解像度を落とす。特異点の理論的な観点からすれば、α(x)α(y)は極小点を保存し、β(x)β(y)は極大点を保存し、α(x)β(y)及びβ(x)α(y)は鞍点を保存する。
【0023】
はじめに、マッチングをとるべき始点(ソース)画像と終点(デスティネーション)画像に対して別々に特異点フィルタ処理を施し、それぞれ一連の画像群、すなわち始点階層画像と終点階層画像を生成しておく。始点階層画像と終点階層画像は、特異点の種類に対応してそれぞれ4種類ずつ生成される。
【0024】
この後、一連の解像度レベルの中で始点階層画像と終点階層画像のマッチングがとられていく。まずp(m,0)を用いて極小点のマッチングがとられる。次に、その結果に基づき、p(m,1)を用いて鞍点のマッチングがとられ、p(m,2)を用いて他の鞍点のマッチングがとられる。そして最後にp(m,3)を用いて極大点のマッチングがとられる。
【0025】
図1(c)と図1(d)はそれぞれ図1(a)と図1(b)の副画像p(5,0)を示している。同様に、図1(e)と図1(f)はp(5,1)、図1(g)と図1(h)はp(5,2)、図1(i)と図1(j)はp(5,3)をそれぞれ示している。これらの図からわかるとおり、副画像によれば画像の特徴部分のマッチングが容易になる。まずp(5,0)によって目が明確になる。目は顔の中で輝度の極小点だからである。p(5,1)によれば口が明確になる。口は横方向で輝度が低いためである。p(5,2)によれば首の両側の縦線が明確になる。最後に、p(5,3)によって耳や頬の最も明るい点が明確になる。これらは輝度の極大点だからである。
【0026】
特異点フィルタによれば画像の特徴が抽出できるため、例えばカメラで撮影された画像の特徴と、予め記録しておいたいくつかのオブジェクトの特徴を比較することにより、カメラに映った被写体を識別することができる。
【0027】
[1.3]画像間の写像の計算
始点画像の位置(i,j)の画素をp(n) (i,j)と書き、同じく終点画像の位置(k,l)の画素をq(n) (k,l)で記述する。i,j,k,l∈Iとする。画像間の写像のエネルギー(後述)を定義する。このエネルギーは、始点画像の画素の輝度と終点画像の対応する画素の輝度の差、及び写像の滑らかさによって決まる。最初に最小のエネルギーを持つp(m,0)とq(m,0)間の写像f(m,0):p(m,0)→q(m,0)が計算される。f(m,0)に基づき、最小エネルギーを持つp(m,1)、q(m,1)間の写像f(m,1)が計算される。この手続は、p(m,3)とq(m,3)の間の写像f(m,3)の計算が終了するまで続く。各写像f(m,i)(i=0,1,2,…)を副写像と呼ぶことにする。f(m,i)の計算の都合のために、iの順序は次式のように並べ替えることができる。並べ替えが必要な理由は後述する。
【数3】
ここでσ(i)∈{0,1,2,3}である。
【0028】
[1.3.1]全単射
始点画像と終点画像の間のマッチングを写像で表現する場合、その写像は両画像間で全単射条件を満たすべきである。両画像に概念上の優劣はなく、互いの画素が全射かつ単射で接続されるべきだからである。しかしながら通常の場合とは異なり、ここで構築すべき写像は全単射のディジタル版である。前提技術では、画素は格子点によって特定される。
【0029】
始点副画像(始点画像について設けられた副画像)から終点副画像(終点画像について設けられた副画像)への写像は、f(m,s):I/2n−m×I/2n−m→I/2n−m×I/2n−m(s=0,1,…)によって表される。ここで、f(m,s)(i,j)=(k,l)は、始点画像のp(m,s) (i,j)が終点画像のq(m,s) (k,l)に写像されることを意味する。簡単のために、f(i,j)=(k,l)が成り立つとき画素q(k,l)をqf(i,j)と記述する。
【0030】
前提技術で扱う画素(格子点)のようにデータが離散的な場合、全単射の定義は重要である。ここでは以下のように定義する(i,i’,j,j’,k,lは全て整数とする)。まず始めに、始点画像の平面においてRによって表記される各正方形領域、
【数4】
を考える(i=0,…,2m−1、j=0,…,2m−1)。ここでRの各辺(エッジ)の方向を以下のように定める。
【0031】
【数5】
この正方形は写像fによって終点画像平面における四辺形に写像されなければならない。f(m,s)(R)によって示される四辺形、
【数6】
は、以下の全単射条件を満たす必要がある。
【0032】
1.四辺形f(m,s)(R)のエッジは互いに交差しない。
2.f(m,s)(R)のエッジの方向はRのそれらに等しい(図2の場合、時計回り)。
3.緩和条件として収縮写像(リトラクション:retractions)を許す。
【0033】
何らかの緩和条件を設けないかぎり、全単射条件を完全に満たす写像は単位写像しかないためである。ここではf(m,s)(R)のひとつのエッジの長さが0、すなわちf(m,s)(R)は三角形になってもよい。しかし、面積が0となるような図形、すなわち1点または1本の線分になってはならない。図2(R)がもとの四辺形の場合、図2(A)と図2(D)は全単射条件を満たすが、図2(B)、図2(C)、図2(E)は満たさない。
【0034】
実際のインプリメンテーションでは、写像が全射であることを容易に保証すべく、さらに以下の条件を課してもよい。つまり始点画像の境界上の各画素は、終点画像において同じ位置を占める画素に写影されるというものである。すなわち、f(i,j)=(i,j)(ただしi=0,i=2m−1,j=0,j=2m−1の4本の線上)である。この条件を以下「付加条件」とも呼ぶ。
【0035】
[1.3.2]写像のエネルギー
[1.3.2.1]画素の輝度に関するコスト
写像fのエネルギーを定義する。エネルギーが最小になる写像を探すことが目的である。エネルギーは主に、始点画像の画素の輝度とそれに対応する終点画像の画素の輝度の差で決まる。すなわち、写像f(m,s)の点(i,j)におけるエネルギーC(m,s) (i,j)は次式によって定まる。
【0036】
【数7】
ここで、V(p(m,s) (i,j))及びV(q(m,s) f(i,j))はそれぞれ画素p(m,s) (i,j)及びq(m,s) f(i,j)の輝度である。fのトータルのエネルギーC(m,s)は、マッチングを評価するひとつの評価式であり、つぎに示すC(m,s) (i,j)の合計で定義できる。
【数8】
【0037】
[1.3.2.2]滑らかな写像のための画素の位置に関するコスト
滑らかな写像を得るために、写像に関する別のエネルギーDfを導入する。このエネルギーは画素の輝度とは関係なく、p(m,s) (i,j)およびq(m,s) f(i,j)の位置によって決まる(i=0,…,2m−1,j=0,…,2m−1)。点(i,j)における写像f(m,s)のエネルギーD(m,s) (i,j)は次式で定義される。
【0038】
【数9】
ただし、係数パラメータηは0以上の実数であり、また、
【数10】
【数11】
とする。ここで、
【数12】
であり、i’<0およびj’<0に対してf(i’,j’)は0と決める。E0は(i,j)及びf(i,j)の距離で決まる。E0は画素があまりにも離れた画素へ写影されることを防ぐ。ただしE0は、後に別のエネルギー関数で置き換える。E1は写像の滑らかさを保証する。E1は、p(i,j)の変位とその隣接点の変位の間の隔たりを表す。以上の考察をもとに、マッチングを評価する別の評価式であるエネルギーDfは次式で定まる。
【数13】
【0039】
[1.3.2.3]写像の総エネルギー
写像の総エネルギー、すなわち複数の評価式の統合に係る総合評価式はλC(m,s) f+D(m,s) fで定義される。ここで係数パラメータλは0以上の実数である。目的は総合評価式が極値をとる状態を検出すること、すなわち次式で示す最小エネルギーを与える写像を見いだすことである。
【0040】
【数14】
λ=0及びη=0の場合、写像は単位写像になることに注意すべきである(すなわち、全てのi=0,…,2m−1及びj=0,…,2m−1に対してf(m,s)(i,j)=(i,j)となる)。後述のごとく、本前提技術では最初にλ=0及びη=0の場合を評価するため、写像を単位写像から徐々に変形していくことができる。仮に総合評価式のλの位置を変えてC(m,s) f+λD(m,s) fと定義したとすれば、λ=0及びη=0の場合に総合評価式がC(m,s) fだけになり、本来何等関連のない画素どうしが単に輝度が近いというだけで対応づけられ、写像が無意味なものになる。そうした無意味な写像をもとに写像を変形していってもまったく意味をなさない。このため、単位写像が評価の開始時点で最良の写像として選択されるよう係数パラメータの与えかたが配慮されている。
【0041】
オプティカルフローもこの前提技術同様、画素の輝度の差と滑らかさを考慮する。しかし、オプティカルフローは画像の変換に用いることはできない。オブジェクトの局所的な動きしか考慮しないためである。前提技術に係る特異点フィルタを用いることによって大域的な対応関係を検出することができる。
【0042】
[1.3.3]多重解像度の導入による写像の決定
最小エネルギーを与え、全単射条件を満足する写像fminを多重解像度の階層を用いて求める。各解像度レベルにおいて始点副画像及び終点副画像間の写像を計算する。解像度の階層の最上位(最も粗いレベル)からスタートし、各解像度レベルの写像を、他のレベルの写像を考慮に入れながら決定する。各レベルにおける写像の候補の数は、より高い、つまりより粗いレベルの写像を用いることによって制限される。より具体的には、あるレベルにおける写像の決定に際し、それよりひとつ粗いレベルにおいて求められた写像が一種の拘束条件として課される。
【0043】
まず、
【数15】
が成り立つとき、p(m−1,s) (i’,j’)、q(m−1,s) (i’,j’)をそれぞれp(m,s) (i,j)、q(m,s) (i,j)のparentと呼ぶことにする。[x]はxを越えない最大整数である。またp(m,s) (i,j)、q(m,s) (i,j)をそれぞれp(m−1,s) (i’,j’)、q(m−1,s) (i’,j’)のchildと呼ぶ。関数parent(i,j)は次式で定義される。
【0044】
【数16】
p(m,s) (i,j)とq(m,s) (k,l)の間の写像f(m,s)は、エネルギー計算を行って最小になったものを見つけることで決定される。f(m,s)(i,j)=(k,l)の値はf(m−1,s)(m=1,2,…,n)を用いることによって、以下のように決定される。まず、q(m,s) (k, l)は次の四辺形の内部になければならないという条件を課し、全単射条件を満たす写像のうち現実性の高いものを絞り込む。
【0045】
【数17】
ただしここで、
【数18】
である。こうして定めた四辺形を、以下p(m,s) (i,j)の相続(inherited)四辺形と呼ぶことにする。相続四辺形の内部において、エネルギーを最小にする画素を求める。
【0046】
図3は以上の手順を示している。同図において、始点画像のA,B,C,Dの画素は、第m−1レベルにおいてそれぞれ終点画像のA’,B’,C’,D’へ写影される。画素p(m,s) (i,j)は、相続四辺形A’B’C’D’の内部に存在する画素q(m,s) f(m)(i,j)へ写影されなければならない。以上の配慮により、第m−1レベルの写像から第mレベルの写像への橋渡しがなされる。
【0047】
先に定義したエネルギーE0は、第mレベルにおける副写像f(m,0)を計算するために、次式に置き換える。
【0048】
【数19】
また、副写像f(m,s)を計算するためには次式を用いる。
【0049】
【数20】
こうしてすべての副写像のエネルギーを低い値に保つ写像が得られる。式20により、異なる特異点に対応する副写像が、副写像どうしの類似度が高くなるように同一レベル内で関連づけられる。式19は、f(m,s)(i,j)と、第m−1レベルの画素の一部と考えた場合の(i,j)が射影されるべき点の位置との距離を示している。
【0050】
仮に、相続四辺形A’B’C’D’の内部に全単射条件を満たす画素が存在しない場合は以下の措置をとる。まず、A’B’C’D’の境界線からの距離がL(始めはL=1)である画素を調べる。それらのうち、エネルギーが最小になるものが全単射条件を満たせば、これをf(m,s)(i,j)の値として選択する。そのような点が発見されるか、またはLがその上限のL(m)maxに到達するまで、Lを大きくしていく。L(m)maxは各レベルmに対して固定である。そのような点が全く発見されない場合、全単射の第3の条件を一時的に無視して変換先の四辺形の面積がゼロになるような写像も認め、f(m,s)(i,j)を決定する。それでも条件を満たす点が見つからない場合、つぎに全単射の第1及び第2条件を外す。
【0051】
多重解像度を用いる近似法は、写像が画像の細部に影響されることを回避しつつ、画像間の大域的な対応関係を決定するために必須である。多重解像度による近似法を用いなければ、距離の遠い画素間の対応関係を見いだすことは不可能である。その場合、画像のサイズはきわめて小さなものに限定しなければならず、変化の小さな画像しか扱うことができない。さらに、通常写像に滑らかさを要求するため、そうした画素間の対応関係を見つけにくくしている。距離のある画素から画素への写像のエネルギーは高いためである。多重解像度を用いた近似法によれば、そうした画素間の適切な対応関係を見いだすことができる。それらの距離は、解像度の階層の上位レベル(粗いレベル)において小さいためである。
【0052】
[1.4]最適なパラメータ値の自動決定
既存のマッチング技術の主な欠点のひとつに、パラメータ調整の困難さがある。大抵の場合、パラメータの調整は人手作業によって行われ、最適な値を選択することはきわめて難しい。前提技術に係る方法によれば、最適なパラメータ値を完全に自動決定することができる。
【0053】
前提技術に係るシステムはふたつのパラメータ、λ及びηを含む。端的にいえば、λは画素の輝度の差の重みであり、ηは写像の剛性を示している。これらのパラメータの値は初期値が0であり、まずη=0に固定してλを0から徐々に増加させる。λの値を大きくしながら、しかも総合評価式(式14)の値を最小にする場合、各副写像に関するC(m,s) fの値は一般に小さくなっていく。このことは基本的にふたつの画像がよりマッチしなければならないことを意味する。しかし、λが最適値を超えると以下の現象が発生する。
【0054】
1.本来対応すべきではない画素どうしが、単に輝度が近いというだけで誤って対応づけられる。
2.その結果、画素どうしの対応関係がおかしくなり、写像がくずれはじめる。
3.その結果、式14においてD(m,s) fが急激に増加しようとする。 4.その結果、式14の値が急激に増加しようとするため、D(m,s) fの急激な増加を抑制するようf(m,s)が変化し、その結果C(m,s) fが増加する。
【0055】
したがって、λを増加させながら式14が最小値をとるという状態を維持しつつC(m,s) fが減少から増加に転じる閾値を検出し、そのλをη=0における最適値とする。つぎにηを少しづつ増やしてC(m,s) fの挙動を検査し、後述の方法でηを自動決定する。そのηに対応してλも決まる。
【0056】
この方法は、人間の視覚システムの焦点機構の動作に似ている。人間の視覚システムでは、一方の目を動かしながら左右両目の画像のマッチングがとられる。オブジェクトがはっきりと認識できるとき、その目が固定される。
【0057】
[1.4.1]λの動的決定
λは0から所定の刻み幅で増加されていき、λの値が変わる度に副写像が評価される。式14のごとく、総エネルギーはλC(m,s) f+D(m,s) fによって定義される。式9のD(m,s) fは滑らかさを表すもので、理論的には単位写像の場合に最小になり、写像が歪むほどE0もE1も増加していく。E1は整数であるから、D(m,s) fの最小刻み幅は1である。このため、現在のλC(m,s) (i,j)の変化(減少量)が1以上でなければ、写像を変化させることによって総エネルギーを減らすことはできない。なぜなら、写像の変化に伴ってD(m,s) fは1以上増加するため、λC(m,s) (i,j)が1以上減少しない限り総エネルギーは減らないためである。
【0058】
この条件のもと、λの増加に伴い、正常な場合にC(m,s) (i,j)が減少することを示す。C(m,s) (i,j)のヒストグラムをh(l)と記述する。h(l)はエネルギーC(m,s) (i,j)がl2である画素の数である。λl2≧1が成り立つために、例えばl2=1/λの場合を考える。λがλ1からλ2まで微小量変化するとき、
【数21】
で示されるA個の画素が、
【数22】
のエネルギーを持つより安定的な状態に変化する。ここでは仮に、これらの画素のエネルギーがすべてゼロになると近似している。この式はC(m,s) fの値が、
【数23】
だけ変化することを示し、その結果、
【数24】
が成立する。h(l)>0であるから、通常C(m,s) fは減少する。しかし、λが最適値を越えようとするとき、上述の現象、つまりC(m,s) fの増加が発生する。この現象を検出することにより、λの最適値を決定する。
【0059】
なお、H(h>0)及びkを定数とするとき、
【数25】
と仮定すれば、
【数26】
が成り立つ。このときk≠−3であれば、
【数27】
となる。これがC(m,s) fの一般式である(Cは定数)。
【0060】
λの最適値を検出する際、さらに安全を見て、全単射条件を破る画素の数を検査してもよい。ここで各画素の写像を決定する際、全単射条件を破る確率をp0と仮定する。この場合、
【数28】
が成立しているため、全単射条件を破る画素の数は次式の率で増加する。
【0061】
【数29】
従って、
【数30】
は定数である。仮にh(l)=Hlkを仮定するとき、例えば、
【数31】
は定数になる。しかしλが最適値を越えると、上の値は急速に増加する。この現象を検出し、B0λ3/2+k/2/2mの値が異常値B0thresを越えるかどうかを検査し、λの最適値を決定することができる。同様に、B1λ3/2+k/2/2mの値が異常値B1thresを越えるかどうかを検査することにより、全単射の第3の条件を破る画素の増加率B1を確認する。ファクター2mを導入する理由は後述する。このシステムはこれら2つの閾値に敏感ではない。これらの閾値は、エネルギーC(m,s) fの観察では検出し損なった写像の過度の歪みを検出するために用いることができる。
【0062】
なお実験では、副写像f(m,s)を計算する際、もしλが0.1を越えたらf(m,s)の計算は止めてf(m,s+1)の計算に移行した。λ>0.1のとき、画素の輝度255レベル中のわずか「3」の違いが副写像の計算に影響したためであり、λ>0.1のとき正しい結果を得ることは困難だったためである。
【0063】
[1.4.2]ヒストグラムh(l)
C(m,s) fの検査はヒストグラムh(l)に依存しない。全単射及びその第3の条件の検査の際、h(l)に影響を受けうる。実際に(λ,C(m,s) f)をプロットすると、kは通常1付近にある。実験ではk=1を用い、B0λ2とB1λ2を検査した。仮にkの本当の値が1未満であれば、B0λ2とB1λ2は定数にならず、ファクターλ(1−k)/2に従って徐々に増加する。h(l)が定数であれば、例えばファクターはλ1/2である。しかし、こうした差は閾値B0thresを正しく設定することによって吸収することができる。
【0064】
ここで次式のごとく始点画像を中心が(x0,y0)、半径rの円形のオブジェクトであると仮定する。
【0065】
【数32】
一方、終点画像は、次式のごとく中心(x1,y1)、半径がrのオブジェクトであるとする。
【0066】
【数33】
ここでc(x)はc(x)=xkの形であるとする。中心(x0,y0)及び(x1,y1)が十分遠い場合、ヒストグラムh(l)は次式の形となる。
【0067】
【数34】
k=1のとき、画像は背景に埋め込まれた鮮明な境界線を持つオブジェクトを示す。このオブジェクトは中心が暗く、周囲にいくに従って明るくなる。k=−1のとき、画像は曖昧な境界線を持つオブジェクトを表す。このオブジェクトは中心が最も明るく、周囲にいくに従って暗くなる。一般のオブジェクトはこれらふたつのタイプのオブジェクトの中間にあると考えてもさして一般性を失わない。したがって、kは−1≦k≦1として大抵の場合をカバーでき、式27が一般に減少関数であることが保障される。
【0068】
なお、式34からわかるように、rは画像の解像度に影響されること、すなわちrは2mに比例することに注意すべきである。このために[1.4.1]においてファクター2mを導入した。
【0069】
[1.4.3]ηの動的決定
パラメータηも同様の方法で自動決定できる。はじめにη=0とし、最も細かい解像度における最終的な写像f(n)及びエネルギーC(n) fを計算する。つづいて、ηをある値Δηだけ増加させ、再び最も細かい解像度における最終写像f(n)及びエネルギーC(n) fを計算し直す。この過程を最適値が求まるまで続ける。ηは写像の剛性を示す。次式の重みだからである。
【0070】
【数35】
ηが0のとき、D(n) fは直前の副写像と無関係に決定され、現在の副写像は弾性的に変形され、過度に歪むことになる。一方、ηが非常に大きな値のとき、D(n) fは直前の副写像によってほぼ完全に決まる。このとき副写像は非常に剛性が高く、画素は同じ場所に射影される。その結果、写像は単位写像になる。ηの値が0から次第に増えるとき、後述のごとくC(n) fは徐々に減少する。しかしηの値が最適値を越えると、図4に示すとおり、エネルギーは増加し始める。同図のX軸はη、Y軸はCfである。
【0071】
この方法でC(n) fを最小にする最適なηの値を得ることができる。しかし、λの場合に比べていろいろな要素が計算に影響する結果、C(n) fは小さく揺らぎながら変化する。λの場合は、入力が微小量変化するたびに副写像を1回計算しなおすだけだが、ηの場合はすべての副写像が計算しなおされるためである。このため、得られたC(n) fの値が最小であるかどうかを即座に判断することはできない。最小値の候補が見つかれば、さらに細かい区間を設定することによって真の最小値を探す必要がある。
【0072】
[1.5]スーパーサンプリング
画素間の対応関係を決定する際、自由度を増やすために、f(m,s)の値域をR×Rに拡張することができる(Rは実数の集合)。この場合、終点画像の画素の輝度が補間され、非整数点、
【数36】
における輝度を持つf(m,s)が提供される。つまりスーパーサンプリングが行われる。実験では、f(m,s)は整数及び半整数値をとることが許され、
【数37】
は、
【数38】
によって与えられた。
【0073】
[1.6]各画像の画素の輝度の正規化
始点画像と終点画像がきわめて異なるオブジェクトを含んでいるとき、写像の計算に元の画素の輝度がそのままでは利用しにくい。輝度の差が大きいために輝度に関するエネルギーC(m,s) fが大きくなりすぎ、正しい評価がしづらいためである。
【0074】
例えば、人の顔と猫の顔のマッチングをとる場合を考える。猫の顔は毛で覆われており、非常に明るい画素と非常に暗い画素が混じっている。この場合、ふたつの顔の間の副写像を計算するために、まず副画像を正規化する。すなわち、最も暗い画素の輝度を0、最も明るいそれを255に設定し、他の画素の輝度は線形補間によって求めておく。
【0075】
[1.7]インプリメンテーション
始点画像のスキャンに従って計算がリニアに進行する帰納的な方法を用いる。始めに、1番上の左端の画素(i,j)=(0,0)についてf(m,s)の値を決定する。次にiを1ずつ増やしながら各f(m,s)(i,j)の値を決定する。iの値が画像の幅に到達したとき、jの値を1増やし、iを0に戻す。以降、始点画像のスキャンに伴いf(m,s)(i,j)を決定していく。すべての点について画素の対応が決まれば、ひとつの写像f(m,s)が決まる。
【0076】
あるp(i,j)について対応点qf(i,j)が決まれば、つぎにp(i,j+1)の対応点qf(i,j+1)が決められる。この際、qf(i,j+1)の位置は全単射条件を満たすために、qf(i,j)の位置によって制限される。したがって、先に対応点が決まる点ほどこのシステムでは優先度が高くなる。つねに(0,0)が最も優先される状態がつづくと、求められる最終の写像に余計な偏向が加わる。本前提技術ではこの状態を回避するために、f(m,s)を以下の方法で決めていく。
【0077】
まず(s mod 4)が0の場合、(0,0)を開始点としi及びjを徐々に増やしながら決めていく。(s mod 4)が1の場合、最上行の右端点を開始点とし、iを減少、jを増加させながら決めていく。(s mod 4)が2のとき、最下行の右端点を開始点とし、i及びjを減少させながら決めていく。(smod 4)が3の場合、最下行の左端点を開始点とし、iを増加、jを減少させながら決めていく。解像度が最も細かい第nレベルには副写像という概念、すなわちパラメータsが存在しないため、仮にs=0及びs=2であるとしてふたつの方向を連続的に計算した。
【0078】
実際のインプリメンテーションでは、全単射条件を破る候補に対してペナルティを与えることにより、候補(k,l)の中からできる限り全単射条件を満たすf(m,s)(i,j)(m=0,…,n)の値を選んだ。第3の条件を破る候補のエネルギーD(k、l)にはφを掛け、一方、第1または第2の条件を破る候補にはψを掛ける。今回はφ=2、ψ=100000を用いた。
【0079】
前述の全単射条件のチェックのために、実際の手続として(k,l)=f(m,s)(i,j)を決定する際に以下のテストを行った。すなわちf(m,s)(i,j)の相続四辺形に含まれる各格子点(k,l)に対し、次式の外積のz成分が0以上になるかどうかを確かめる。
【0080】
【数39】
ただしここで、
【数40】
【数41】
である(ここでベクトルは三次元ベクトルとし、z軸は直交右手座標系において定義される)。もしWが負であれば、その候補についてはD(m,s) (k,l)にψを掛けることによってペナルティを与え、できるかぎり選択しないようにする。
【0081】
図5(a)、図5(b)はこの条件を検査する理由を示している。図5(a)はペナルティのない候補、図5(b)はペナルティがある候補をそれぞれ表す。隣接画素(i,j+1)に対する写像f(m,s)(i,j+1)を決定する際、Wのz成分が負であれば始点画像平面上において全単射条件を満足する画素は存在しない。なぜなら、q(m,s) (k,l)は隣接する四辺形の境界線を越えるためである。
【0082】
[1.7.1]副写像の順序
インプリメンテーションでは、解像度レベルが偶数のときにはσ(0)=0、σ(1)=1、σ(2)=2、σ(3)=3、σ(4)=0を用い、奇数のときはσ(0)=3、σ(1)=2、σ(2)=1、σ(3)=0、σ(4)=3を用いた。このことで、副写像を適度にシャッフルした。なお、本来副写像は4種類であり、sは0〜3のいずれかである。しかし、実際にはs=4に相当する処理を行った。その理由は後述する。
【0083】
[1.8]補間計算
始点画像と終点画像の間の写像が決定された後、対応しあう画素の輝度が補間される。実験では、トライリニア補間を用いた。始点画像平面における正方形p(i,j)p(i+1,j)p(i,j+1)p(i+1,j+1)が終点画像平面上の四辺形qf(i,j)qf(i+1,j)qf(i,j+1)qf(i+1,j+1)に射影されると仮定する。簡単のため、画像間の距離を1とする。始点画像平面からの距離がt(0≦t≦1)である中間画像の画素r(x,y,t)(0≦x≦N−1,0≦y≦M−1)は以下の要領で求められる。まず画素r(x,y,t)の位置(ただしx,y,t∈R)を次式で求める。
【0084】
【数42】
つづいてr(x,y,t)における画素の輝度が次の式を用いて決定される。
【0085】
【数43】
ここでdx及びdyはパラメータであり、0から1まで変化する。
【0086】
[1.9]拘束条件を課したときの写像
いままでは拘束条件がいっさい存在しない場合の写像の決定を述べた。しかし、始点画像と終点画像の特定の画素間に予め対応関係が規定されているとき、これを拘束条件としたうえで写像を決定することができる。
【0087】
基本的な考えは、まず始点画像の特定の画素を終点画像の特定の画素に移す大まかな写像によって始点画像を大まかに変形し、しかる後、写像fを正確に計算する。
【0088】
まず始めに、始点画像の特定の画素を終点画像の特定の画素に射影し、始点画像の他の画素を適当な位置に射影する大まかな写像を決める。すなわち、特定の画素に近い画素は、その特定の画素が射影される場所の近くに射影されるような写像である。ここで第mレベルの大まかな写像をF(m)と記述する。
【0089】
大まかな写像Fは以下の要領で決める。まず、いくつかの画素について写像を特定する。始点画像についてns個の画素、
【数44】
を特定するとき、以下の値を決める。
【0090】
【数45】
始点画像の他の画素の変位量は、p(ih,jh)(h=0,…,ns−1)の変位に重み付けをして求められる平均である。すなわち画素p(i,j)は、終点画像の以下の画素に射影される。
【0091】
【数46】
ただしここで、
【数47】
【数48】
とする。
【0092】
つづいて、F(m)に近い候補写像fがより少ないエネルギーを持つように、その写像fのエネルギーD(m,s) (i,j)を変更する。正確には、D(m,s) (i,j)は、
【数49】
である。ただし、
【数50】
であり、κ,ρ≧0とする。最後に、前述の写像の自動計算プロセスにより、fを完全に決定する。
【0093】
ここで、f(m,s)(i,j)がF(m)(i,j)に十分近いとき、つまりそれらの距離が、
【数51】
以内であるとき、E2 (m,s) (i,j)が0になることに注意すべきである。そのように定義した理由は、各f(m,s)(i,j)がF(m)(i,j)に十分近い限り、終点画像において適切な位置に落ち着くよう、その値を自動的に決めたいためである。この理由により、正確な対応関係を詳細に特定する必要がなく、始点画像は終点画像にマッチするように自動的にマッピングされる。
【0094】
[2]具体的な処理手順
[1]の各要素技術による処理の流れを説明する。
図6は前提技術の全体手順を示すフローチャートである。同図のごとく、まず多重解像度特異点フィルタを用いた処理を行い(S1)、つづいて始点画像と終点画像のマッチングをとる(S2)。ただし、S2は必須ではなく、S1で得られた画像の特徴をもとに画像認識などの処理を行ってもよい。
【0095】
図7は図6のS1の詳細を示すフローチャートである。ここではS2で始点画像と終点画像のマッチングをとることを前提としている。そのため、まず特異点フィルタによって始点画像の階層化を行い(S10)、一連の始点階層画像を得る。つづいて同様の方法で終点画像の階層化を行い(S11)、一連の終点階層画像を得る。ただし、S10とS11の順序は任意であるし、始点階層画像と終点階層画像を並行して生成していくこともできる。
【0096】
図8は図7のS10の詳細を示すフローチャートである。もとの始点画像のサイズは2n×2nとする。始点階層画像は解像度が細かいほうから順に作られるため、処理の対象となる解像度レベルを示すパラメータmをnにセットする(S100)。つづいて第mレベルの画像p(m,0)、p(m,1)、p(m,2)、p(m,3)から特異点フィルタを用いて特異点を検出し(S101)、それぞれ第m−1レベルの画像p(m−1,0)、p(m−1,1)、p(m−1,2)、p(m−1,3)を生成する(S102)。ここではm=nであるため、p(m,0)=p(m,1)=p(m,2)=p(m,3)=p(n)であり、ひとつの始点画像から4種類の副画像が生成される。
【0097】
図9は第mレベルの画像の一部と、第m−1レベルの画像の一部の対応関係を示している。同図の数値は各画素の輝度を示す。同図のp(m,s)はp(m,0)〜p(m,3)の4つの画像を象徴するもので、p(m−1,0)を生成する場合には、p(m,s)はp(m,0)であると考える。[1.2]で示した規則により、p(m−1,0)は例えば同図で輝度を記入したブロックについて、そこに含まれる4画素のうち「3」、p(m−1,1)は「8」、p(m−1 ,2)は「6」、p(m−1,3)を「10」をそれぞれ取得し、このブロックをそれぞれ取得したひとつの画素で置き換える。したがって、第m−1レベルの副画像のサイズは2m−1×2m−1になる。
【0098】
つづいてmをデクリメントし(図8のS103)、mが負になっていないことを確認し(S104)、S101に戻ってつぎに解像度の粗い副画像を生成していく。この繰り返し処理の結果、m=0、すなわち第0レベルの副画像が生成された時点でS10が終了する。第0レベルの副画像のサイズは1×1である。
【0099】
図10はS10によって生成された始点階層画像をn=3の場合について例示している。最初の始点画像のみが4つの系列に共通であり、以降特異点の種類に応じてそれぞれ独立に副画像が生成されていく。なお、図8の処理は図7のS11にも共通であり、同様の手順を経て終点階層画像も生成される。以上で図6のS1による処理が完了する。
【0100】
前提技術では、図6のS2に進むためにマッチング評価の準備をする。図11はその手順を示している。同図のごとく、まず複数の評価式が設定される(S30)。[1.3.2.1]で導入した画素に関するエネルギーC(m,s) fと[1.3.2.2]で導入した写像の滑らかさに関するエネルギーD(m,s) fがそれである。つぎに、これらの評価式を統合して総合評価式を立てる(S31)。[1.3.2.3]で導入した総エネルギーλC(m,s) f+D(m,s) fがそれであり、[1.3.2.2]で導入したηを用いれば、
【数52】
となる。ただし、総和はi、jについてそれぞれ0、1…、2m−1で計算する。以上でマッチング評価の準備が整う。
【0101】
図12は図6のS2の詳細を示すフローチャートである。[1]で述べたごとく、始点階層画像と終点階層画像のマッチングは互いに同じ解像度レベルの画像どうしでとられる。画像間の大域的なマッチングを良好にとるために、解像度が粗いレベルから順にマッチングを計算する。特異点フィルタを用いて始点階層画像および終点階層画像を生成しているため、特異点の位置や輝度は解像度の粗いレベルでも明確に保存されており、大域的なマッチングの結果は従来に比べて非常に優れたものになる。
【0102】
図12のごとく、まず係数パラメータηを0、レベルパラメータmを0に設定する(S20)。つづいて、始点階層画像中の第mレベルの4つの副画像と終点階層画像中の第mレベルの4つの副画像のそれぞれの間でマッチングを計算し、それぞれ全単射条件を満たし、かつエネルギーを最小にするような4種類の副写像f(m,s)(s=0,1,2,3)を求める(S21)。全単射条件は[1.3.3]で述べた相続四辺形を用いて検査される。この際、式17、18が示すように、第mレベルにおける副写像は第m−1レベルのそれらに拘束されるため、より解像度の粗いレベルにおけるマッチングが順次利用されていく。これは異なるレベル間の垂直的参照である。なお、いまm=0であってそれより粗いレベルはないが、この例外的な処理は図13で後述する。
【0103】
一方、同一レベル内における水平的参照も行われる。[1.3.3]の式20のごとく、f(m,3)はf(m,2)に、f(m,2)はf(m,1)に、f(m,1)はf(m,0)に、それぞれ類似するように決める。その理由は、特異点の種類が違っても、それらがもともと同じ始点画像と終点画像に含まれている以上、副写像がまったく異なるという状況は不自然だからである。式20からわかるように、副写像どうしが近いほどエネルギーは小さくなり、マッチングが良好とみなされる。
【0104】
なお、最初に決めるべきf(m,0)については同一のレベルで参照できる副写像がないため、式19に示すごとくひとつ粗いレベルを参照する。ただし、実験ではf(m,3)まで求まった後、これを拘束条件としてf(m,0)を一回更新するという手続をとった。これは式20にs=4を代入し、f(m,4)を新たなf(m,0)とすることに等しい。f(m,0)とf(m,3)の関連度が低くなり過ぎる傾向を回避するためであり、この措置によって実験結果がより良好になった。この措置に加え、実験では[1.7.1]に示す副写像のシャッフルも行った。これも本来特異点の種類ごとに決まる副写像どうしの関連度を密接に保つ趣旨である。また、処理の開始点に依存する偏向を回避するために、sの値にしたがって開始点の位置を変える点は[1.7]で述べたとおりである。
【0105】
図13は第0レベルにおいて副写像を決定する様子を示す図である。第0レベルでは各副画像がただひとつの画素で構成されるため、4つの副写像f(0,s)はすべて自動的に単位写像に決まる。図14は第1レベルにおいて副写像を決定する様子を示す図である。第1レベルでは副画像がそれぞれ4画素で構成される。同図ではこれら4画素が実線で示されている。いま、p(1,s)の点xの対応点をq(1,s)の中で探すとき、以下の手順を踏む。
【0106】
1.第1レベルの解像度で点xの左上点a、右上点b、左下点c、右下点dを求める。
2.点a〜dがひとつ粗いレベル、つまり第0レベルにおいて属する画素を探す。図14の場合、点a〜dはそれぞれ画素A〜Dに属する。ただし、画素A〜Cは本来存在しない仮想的な画素である。
3.第0レベルですでに求まっている画素A〜Dの対応点A’〜D’をq(1,s)の中にプロットする。画素A’〜C’は仮想的な画素であり、それぞれ画素A〜Cと同じ位置にあるものとする。
4.画素Aの中の点aの対応点a’が画素A’の中にあるとみなし、点a’をプロットする。このとき、点aが画素Aの中で占める位置(この場合、右下)と、点a’が画素A’の中で占める位置が同じであると仮定する。
5.4と同様の方法で対応点b’〜d’をプロットし、点a’〜d’で相続四辺形を作る。
6.相続四辺形の中でエネルギーが最小になるよう、点xの対応点x’を探す。対応点x’の候補として、例えば画素の中心が相続四辺形に含まれるものに限定してもよい。図14の場合、4つの画素がすべて候補になる。
【0107】
以上がある点xの対応点の決定手順である。同様の処理を他のすべての点について行い、副写像を決める。第2レベル以上のレベルでは、次第に相続四辺形の形が崩れていくと考えられるため、図3に示すように画素A’〜D’の間隔が空いていく状況が発生する。
【0108】
こうして、ある第mレベルの4つの副写像が決まれば、mをインクリメントし(図12のS22)、mがnを超えていないことを確かめて(S23)、S21に戻る。以下、S21に戻るたびに次第に細かい解像度のレベルの副写像を求め、最後にS21に戻ったときに第nレベルの写像f(n)を決める。この写像はη=0に関して定まったものであるから、f(n)(η=0)と書く。
【0109】
つぎに異なるηに関する写像も求めるべく、ηをΔηだけシフトし、mをゼロクリアする(S24)。新たなηが所定の探索打切り値ηmaxを超えていないことを確認し(S25)、S21に戻り、今回のηに関して写像f(n)(η=Δη)を求める。この処理を繰り返し、S21でf(n)(η=iΔη)(i=0,1,…)を求めていく。ηがηmaxを超えたときS26に進み、後述の方法で最適なη=ηoptを決定し、f(n)(η=ηopt)を最終的に写像f(n)とする。
【0110】
図15は図12のS21の詳細を示すフローチャートである。このフローチャートにより、ある定まったηについて、第mレベルにおける副写像が決まる。副写像を決める際、前提技術では副写像ごとに最適なλを独立して決める。
【0111】
同図のごとく、まずsとλをゼロクリアする(S210)。つぎに、そのときのλについて(および暗にηについて)エネルギーを最小にする副写像f(m,s)を求め(S211)、これをf(m,s)(λ=0)と書く。異なるλに関する写像も求めるべく、λをΔλだけシフトし、新たなλが所定の探索打切り値λmaxを超えていないことを確認し(S213)、S211に戻り、以降の繰り返し処理でf(m,s)(λ=iΔλ)(i=0,1,…)を求める。λがλmaxを超えたときS214に進み、最適なλ=λoptを決定し、f(m,s)(λ=λopt)を最終的に写像f(m,s)とする(S214)。
【0112】
つぎに、同一レベルにおける他の副写像を求めるべく、λをゼロクリアし、sをインクリメントする(S215)。sが4を超えていないことを確認し(S216)、S211に戻る。s=4になれば上述のごとくf(m,3)を利用してf(m,0)を更新し、そのレベルにおける副写像の決定を終了する。
【0113】
図16は、あるmとsについてλを変えながら求められたf(m,s)(λ=iΔλ)(i=0,1,…)に対応するエネルギーC(m,s) fの挙動を示す図である。[1.4]で述べたとおり、λが増加すると通常C(m,s) fは減少する。しかし、λが最適値を超えるとC(m,s) fは増加に転じる。そこで本前提技術ではC(m,s) fが極小値をとるときのλをλoptと決める。同図のようにλ>λoptの範囲で再度C(m,s) fが小さくなっていっても、その時点ではすでに写像がくずれていて意味をなさないため、最初の極小点に注目すればよい。λoptは副写像ごとに独立して決めていき、最後にf(n)についてもひとつ定まる。
【0114】
一方、図17は、ηを変えながら求められたf(n)(η=iΔη)(i=0,1,…)に対応するエネルギーC(n) fの挙動を示す図である。ここでもηが増加すると通常C(n) fは減少するが、ηが最適値を超えるとC(n) fは増加に転じる。そこでC(n) fが極小値をとるときのηをηoptと決める。図17は図4の横軸のゼロ付近を拡大した図と考えてよい。ηoptが決まればf(n)を最終決定することができる。
【0115】
以上、本前提技術によれば種々のメリットが得られる。まずエッジを検出する必要がないため、エッジ検出タイプの従来技術の課題を解消できる。また、画像に含まれるオブジェクトに対する先験的な知識も不要であり、対応点の自動検出が実現する。特異点フィルタによれば、解像度の粗いレベルでも特異点の輝度や位置を維持することができ、オブジェクト認識、特徴抽出、画像マッチングに極めて有利である。その結果、人手作業を大幅に軽減する画像処理システムの構築が可能となる。
【0116】
なお、本前提技術について次のような変形技術も考えられる。
(1)前提技術では始点階層画像と終点階層画像の間でマッチングをとる際にパラメータの自動決定を行ったが、この方法は階層画像間ではなく、通常の2枚の画像間のマッチングをとる場合全般に利用できる。
【0117】
たとえば2枚の画像間で、画素の輝度の差に関するエネルギーE0と画素の位置的なずれに関するエネルギーE1のふたつを評価式とし、これらの線形和Etot=αE0+E1を総合評価式とする。この総合評価式の極値付近に注目してαを自動決定する。つまり、いろいろなαについてEtotが最小になるような写像を求める。それらの写像のうち、αに関してE1が極小値をとるときのαを最適パラメータと決める。そのパラメータに対応する写像を最終的に両画像間の最適マッチングとみなす。
【0118】
これ以外にも評価式の設定にはいろいろな方法があり、例えば1/E1と1/E2のように、評価結果が良好なほど大きな値をとるものを採用してもよい。総合評価式も必ずしも線形和である必要はなく、n乗和(n=2、1/2、−1、−2など)、多項式、任意の関数などを適宜選択すればよい。
【0119】
パラメータも、αのみ、前提技術のごとくηとλのふたつの場合、それ以上の場合など、いずれでもよい。パラメータが3以上の場合はひとつずつ変化させて決めていく。
【0120】
(2)本前提技術では、総合評価式の値が最小になるよう写像を決めた後、総合評価式を構成するひとつの評価式であるC(m,s) fが極小になる点を検出してパラメータを決定した。しかし、こうした二段階処理の代わりに、状況によっては単に総合評価式の最小値が最小になるようにパラメータを決めても効果的である。その場合、例えばαE0+βE1を総合評価式とし、α+β=1なる拘束条件を設けて各評価式を平等に扱うなどの措置を講じてもよい。パラメータの自動決定の本質は、エネルギーが最小になるようにパラメータを決めていく点にあるからである。
【0121】
(3)前提技術では各解像度レベルで4種類の特異点に関する4種類の副画像を生成した。しかし、当然4種類のうち1、2、3種類を選択的に用いてもよい。例えば、画像中に明るい点がひとつだけ存在する状態であれば、極大点に関するf(m,3)だけで階層画像を生成しても相応の効果が得られるはずである。その場合、同一レベルで異なる副写像は不要になるため、sに関する計算量が減る効果がある。
【0122】
(4)本前提技術では特異点フィルタによってレベルがひとつ進むと画素が1/4になった。例えば3×3で1ブロックとし、その中で特異点を探す構成も可能であり、その場合、レベルがひとつ進むと画素は1/9になる。
【0123】
(5)始点画像と終点画像がカラーの場合、それらをまず白黒画像に変換し、写像を計算する。その結果求められた写像を用いて始点のカラー画像を変換する。それ以外の方法として、RGBの各成分について副写像を計算してもよい。
【0124】
[3]前提技術の改良点
以上の前提技術を基本とし、マッチング精度を向上させるためのいくつかの改良がなされている。ここではその改良点を述べる。
【0125】
[3.1]色情報を考慮に入れた特異点フィルタおよび副画像
画像の色情報を有効に用いるために、特異点フィルタを以下のように変更した。まず色空間としては、人間の直感に最も合致するといわれているHISを用い、色を輝度に変換する式には、人間の目の感度に最も近いといわれているものを選んだ。
【0126】
【数53】
ここで画素aにおけるY(輝度)をY(a)、S(彩度)をS(a)として、次のような記号を定義する。
【0127】
【数54】
上の定義を用いて以下のような5つのフィルタを用意する。
【0128】
【数55】
このうち上から4つのフィルタは改良前の前提技術におけるフィルタとほぼ同じで、輝度の特異点を色情報も残しながら保存する。最後のフィルタは色の彩度の特異点をこちらも色情報を残しながら保存する。
【0129】
これらのフィルタによって、各レベルにつき5種類の副画像(サブイメージ)が生成される。なお、最も高いレベルの副画像は元画像に一致する。
【数56】
【0130】
[3.2]エッジ画像およびその副画像
輝度微分(エッジ)の情報をマッチングに利用するため、一次微分エッジ検出フィルタを用いる。このフィルタはあるオペレータHとの畳み込み積分で実現できる。
【0131】
【数57】
ここでHは演算スピードなども考慮し、以下のようなオペレータを用いた。
【0132】
【数58】
次にこの画像を多重解像度化する。フィルタにより0を中心とした輝度をもつ画像が生成されるため、次のような平均値画像が副画像としては最も適切である。
【0133】
【数59】
式59の画像は後述するForward Stage、すなわち初回副写像導出ステージの計算の際、エネルギー関数に用いられる。
【0134】
エッジの大きさ、すなわち絶対値も計算に必要である。
【数60】
この値は常に正であるため、多重解像度化には最大値フィルタを用いる。
【0135】
【数61】
式61の画像は後述するForward Stageの計算の際、計算する順序を決定するのに用いられる。
【0136】
[3.3]計算処理手順
計算は最も粗い解像度の副画像から順に行う。副画像は5つあるため、各レベルの解像度において計算は複数回行われる。これをターンと呼び、最大計算回数をtで表すことにする。各ターンは前記Forward Stageと、副写像再計算ステージであるRefinement Stageという二つのエネルギー最小化計算から構成される。図18は第mレベルにおける副写像を決める計算のうち改良点に係るフローチャートである。
【0137】
同図のごとく、sをゼロクリアする(S40)。つぎにForward Stage(S41)において始点画像pから終点画像qへの写像f( m,s )をエネルギー最小化によって求める。ここで最小化するエネルギーは、対応する画素値によるエネルギーCと、写像の滑らかさによるエネルギーDの線形和である。
【0138】
エネルギーCは、輝度の差によるエネルギーCI(前記改良前の前提技術におけるエネルギーCと等価)と、色相、彩度によるエネルギーCC、輝度微分(エッジ)の差によるエネルギーCEで構成され、それぞれ次のように表される。
【0139】
【数62】
エネルギーDは前記改良前の前提技術と同じものを用いる。ただし前記改良前の前提技術において、写像の滑らかさを保証するエネルギーE1を導出する際、隣接する画素のみを考慮していたが、周囲の何画素を考慮するかをパラメータdで指定できるように改良した。
【0140】
【数63】
次のRefinement Stageに備えて、このステージでは終点画像qから始点画像pへの写像g(m,s)も同様に計算する。
【0141】
Refinement Stage(S42)ではForward Stageにおいて求めた双方向の写像f(m,s)およびg(m,s)を基に、より妥当な写像f’(m,s)を求める。ここでは新たに定義されるエネルギーMについてエネルギー最小化計算を行う。エネルギーMは終点画像から始点画像への写像gとの整合度M0と、もとの写像との差M1より構成される。
【0142】
【数64】
対称性を損なわないように、終点画像qから始点画像pへの写像g’(m,s)も同様の方法で求めておく。
【0143】
その後、sをインクリメントし(S43)、sがtを超えていないことを確認し(S44)、次のターンのForward Stage(S41)に進む。その際前記E0を次のように置き換えてエネルギー最小化計算を行う。
【数65】
【0144】
[3.4]写像の計算順序
写像の滑らかさを表すエネルギーE1を計算する際、周囲の点の写像を用いるため、それらの点がすでに計算されているかどうかがエネルギーに影響を与える。すなわち、どの点から順番に計算するかによって、全体の写像の精度が大きく変化する。そこでエッジの絶対値画像を用いる。エッジの部分は情報量を多く含むため、エッジの絶対値が大きいところから先に写像計算を行う。このことによって、特に二値画像のような画像に対して非常に精度の高い写像を求めることができるようになった。
【0145】
前提技術では2枚のキーフレーム間のマッチングをとって対応する位置情報(以下、「対応位置情報」ともいう)を生成し、この位置情報をもとに中間フレームを生成した。キーフレームはマッチングの対象となる画像であり、前提技術では始点画像および終点画像と表現されている。この技術は動画の圧縮に利用でき、現実に実験ではMPEGを超える画質と圧縮率の両立が確認されはじめている。
【0146】
[画像符号化に関する実施の形態]
以下の実施の形態では、この前提技術を応用し、2枚のフレームから対応位置情報を求め、復号側では後のフレーム(終点画像)を、先のフレーム(始点画像)と対応位置情報を用いて生成する。したがって、後のフレームを再現するためのデータ量を圧縮することが可能となる。なお、以下では「フレーム」と「画像」を区別なく用いる。
【0147】
図19は、2枚の画像データを符号化する処理の一例を概念的に示す。先のフレームをF1、後のフレームをF2とし、符号化側は、それらの間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をマップファイルMP12に記録する。復号側には、フレームF1とマップファイルMP12とが供給される。符号化側と復号側に同じマッチング機能を実装しておくことにより、復号側は、フレームF1とマップファイルMP12とから、仮想的なフレームVF2(Virtual Frame)を生成する。以下、説明の便宜上、マッチングの計算結果をもとに生成される画像を「仮想フレーム」と呼び、元の画像を「現実のフレーム」と呼ぶこともある。仮想的なフレームVF2は、現実のフレームF2と同一または少なくとも近似した画像であり、その近似度はマップファイルMP12の精度などに依存する。
【0148】
図20は、2枚の画像データを符号化する処理の別の例を概念的に示す。この方法は図19で示した符号化処理をさらに応用したものであり、現実のフレームに一層近時度の高いフレームを生成することを目的とする。図19で説明したように、まずフレームF1とマップファイルMP12とを用いて仮想的なフレームVF2を生成し、現実のフレームF2の画素値と仮想フレームVF2の画素値との差分ΔF2をとる。以下、画素値は「色」ともいうが、色に限らず任意の属性であってもよい。システム設計上、差分データに割り当てられるデータ量が十分に大きい場合には、フレームF2と仮想フレームVF2との完全に正確な差分Δを取得することができ、フレームF2は、フレームF1、マップファイルMP1 2および差分ΔF2を用いて再現される。なお、圧縮率の関係からデータ量が小さい場合であっても、差分ΔF2を用いない場合と比較すると、フレームF2と、差分ΔF2を用いて生成されるフレームとの近似度は非常に高いものとなる。以上、図19および図20を用いて、2枚のフレームF1、F2の間で符号化する方法について説明した。以下では、3枚以上のフレームを画像符号化する方法について3つの実施例に分けて説明する。
【0149】
<第1の実施例>
図21は、3枚以上の画像データを符号化する処理の第1の実施例を概念的に示す。この第1の実施例では、符号化側において、隣り合う現実のフレームF1、F2、F3の間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をそれぞれマップファイルMP12およびMP23に記録する。復号側には、フレームF1とマップファイルMP12およびMP23とが供給される。復号側装置は、フレームF1とマップファイルMP12とを用いて仮想フレームVF2を再生し、また仮想フレームVF2とマップファイルMP23とを用いて仮想フレームVF3を再生する。
【0150】
<第2の実施例>
図22は、3枚以上の画像データを符号化する処理の第2の実施例を概念的に示す。この第2の実施例では、符号化側において、まず隣り合う現実のフレームF1およびF2の間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をマップファイルMP12に記録する。続いて、フレームF1とマップファイルMP12を用いて、仮想フレームVF2を生成する。この方法は、復号側の処理として図19に関連して説明したとおりである。続いて、隣り合う仮想フレームVF2と現実のフレームF3との間でマッチングをとり、対応位置情報をマップファイルMP23に記録する。以後この処理を繰り返し、画像データを符号化する。第2の実施例では、隣り合う仮想フレームVF(n−1)と現実のフレームF(n)との間でマッチングをとり、マップファイルMP(n−1,n)を生成することを特徴とする。こうすることで、対応位置情報が、復号側で連続再生されるフレーム間の点の位置関係を表現することができる。
【0151】
フレームがF1からF3までの3枚の場合、復号側には、フレームF1とマップファイルMP12およびMP23とが供給される。復号側装置は、フレームF1とマップファイルMP12とを用いて仮想フレームVF2を再生し、また仮想フレームVF2とマップファイルMP23とを用いて仮想フレームVF3を再生する。したがって、復号側の表示装置には、フレームF1、仮想フレームVF2およびVF3が表示されることになる。なお当然のことながら、フレームの枚数は3枚に限られない。
【0152】
図23は、第2の実施例における画像符号化装置10aの構成を示す。各機能ブロックは、たとえばPC(パーソナルコンピュータ)にCD−ROMなどの記録媒体からロードされるプログラムで実現できる。プログラムはネットワークを通じてPCにロードされてもよい。画像符号化装置10aは、画像入力ユニット12、設定ユニット14、マッチングプロセッサ16、基準画像圧縮ユニット18、仮想フレーム生成ユニット20、ストリーム生成ユニット22、差分生成ユニット24および格納部30を備える。格納部30は、マップファイル保持部32と基準画像保持部34とを含む。
【0153】
画像入力ユニット12はネットワーク、ストレージなどから符号化すべき複数の画像データを入力する。画像入力ユニット12は通信機能、ストレージ制御機能を有してもよく、または自身が画像を撮影する光学機器であってもよい。入力される画像データは30枚/秒で構成される動画であってもよい。
【0154】
設定ユニット14は画像データに含まれるフレームの中から、マッチングの開始点となる基準フレームを定める。符号化を行う最初のフレームを基準フレームとして設定し、時系列的に画像データが入力される場合には、最初に入力されるフレームを基準フレームとする。基準フレームの設定は、ユーザにより任意に選択されてもよく、また設定ユニット14により自動的に実行されてもよい。図22を参照して、基準フレームをF1とする。基準画像圧縮ユニット18は基準フレームをフレーム内圧縮し、格納部30の基準画像保持部34に記録する。
【0155】
基準フレームを含む画像データはマッチングプロセッサ16に供給される。マッチングプロセッサ16は、前提技術その他の技術によって基準フレームF1とフレームF2の間のマッチングをとり、対応しあう点を検出して対応位置情報を記録したマップファイルMP12を生成し、格納部30のマップファイル保持部32に格納する。続いて、仮想フレーム生成ユニット20が、フレームF1とマップファイルMP12をもとに仮想的なフレームVF2を生成する。仮想フレームVF2はマッチングプロセッサ16に送られる。
【0156】
次にマッチングプロセッサ16は、仮想フレームVF2と現実のフレームF3との間のマッチングをとり、マップファイルMP23を生成して、マップファイル保持部32に格納する。仮想フレーム生成ユニット20は仮想フレームVF2とマップファイルMP23をもとに仮想フレームVF3を生成し、マッチングプロセッサ16に供給する。以後、マッチングプロセッサ16は、仮想フレームVF(n−1)と現実のフレームF(n)とのマッチングをとり、マップファイルMP(n−1,n)を生成していく。
【0157】
差分生成ユニット24は、現実のフレームF(n)の画素値と仮想フレームVF(n)の画素値との差分をとり、設定ユニット14に供給する。設定ユニット14は、差分が所定の閾値を超えた場合、仮想フレームVF(n)と現実のフレームF(n)とのズレが大きくなったことを判定し、新たな基準フレームを設定して、上記符号化処理を繰り返す。設定ユニット14は差分の大きさを用いずに、所定の期間ごとに新たな基準フレームを設定してもよい。基準フレームを設定しなおすことで、仮想フレームに差分が累積して現実のフレームとの誤差が大きくなることを防止できる。
【0158】
ストリーム生成ユニット22は、マップファイル保持部32および基準画像保持部34に保持されるマップファイルMPおよび基準フレームF1をストリーム化して、符号化画像データを生成する。設定ユニット14において複数の基準フレームが設定された場合には、それらの基準フレームおよび各基準フレームに基づいて生成されたマップファイルがストリーム化される。
【0159】
<第3の実施例>
図24は、3枚以上の画像データを符号化する処理の第3の実施例を概念的に示す。この第3の実施例では、符号化側において、まず隣り合う現実のフレームF1およびF2の間でマッチングをとり、フレーム間で対応しあう点を検出して対応位置情報をマップファイルMP12に記録する。次に、フレームF1とマップファイルMP12を用いて、仮想フレームVF2を生成する。続いて現実のフレームF2の画素値と仮想フレームVF2の画素値との差分ΔF2をとる。この方法については、図19および図20に関連して説明したとおりである。
【0160】
次に、仮想フレームVF2と差分ΔF2を用いて、第2の仮想的なフレームRF2を生成する。先の仮想フレームVFと区別するために、以下、第2の仮想フレームを「参照フレームRF(Reference Frame)」と呼ぶ。ΔF2が現実のフレームF2の画素値と仮想フレームVF2の画素値との差分を完全に表現するものであれば、参照フレームRF2はフレームF2と同一となる。一方、差分ΔF2の表現に十分なビットが割り当てられない場合には、現実のフレームF2と参照フレームRF2とは全く同一の画像とはならないが、差分を仮想フレームVF2に加える分だけ、仮想フレームVF2よりも参照フレームRF2の方が、フレームF2をより忠実に再現するものとなる。
【0161】
参照フレームRF2を生成した後、この参照フレームRF2とフレームF3とのマッチングをとり、対応位置情報をマップファイルMP23に記録する。続いて参照フレームRF2とマップファイルMP23を用いて、仮想フレームVF3を生成し、現実のフレームF3の画素値と仮想フレームVF3の画素値との差分ΔF3をとる。以後この処理を繰り返し、画像データを符号化する。第3の実施例では、仮想フレームVF(n−1)と差分ΔF(n−1)とを用いて参照フレームRF(n−1)を生成し、隣り合う参照フレームRF(n−1)と現実のフレームF(n)との間でマッチングをとって、マップファイルMP(n−1,n)を生成することを特徴とする。こうすることで、対応位置情報が、復号側で連続再生されるフレーム間の点の位置関係を表現することができる。
【0162】
フレームがF1からF3までの3枚の場合、復号側には、フレームF1、マップファイルMP12およびMP23と、差分ΔF2およびΔF3が供給される。復号側装置は、フレームF1とマップファイルMP12とを用いて仮想フレームVF2を生成し、仮想フレームVF2と差分ΔF2を用いて参照フレームRF2を再生し、また参照フレームRF2とマップファイルMP23とを用いて仮想フレームVF3を生成し、続いて仮想フレームVF3と差分ΔF3を用いて参照フレームRF3を再生する。したがって、復号側の表示装置には、フレームF1、参照フレームRF2およびRF3が表示されることになる。なお当然のことながら、フレームの枚数は3枚に限られない。
【0163】
図25は、第3の実施例における画像符号化装置10bの構成を示す。各機能ブロックは、たとえばPC(パーソナルコンピュータ)にCD−ROMなどの記録媒体からロードされるプログラムで実現できる。プログラムはネットワークを通じてロードされてもよい。画像符号化装置10bは、画像入力ユニット12、設定ユニット14、マッチングプロセッサ16、基準画像圧縮ユニット18、仮想フレーム生成ユニット20、ストリーム生成ユニット22、差分生成ユニット24、参照フレーム生成ユニット26および格納部30を備える。格納部30は、マップファイル保持部32、基準画像保持部34および差分保持部36を含む。図23と同一の符号で示される構成は、図23の対応する構成と同一または同様の機能および動作を実現する。
【0164】
画像入力ユニット12は画像データを入力し、設定ユニット14は画像データに含まれるフレームの中から、マッチングの開始点となる基準フレームを定める。図24を参照して、基準フレームをF1とする。基準画像圧縮ユニット18は基準フレームをフレーム内圧縮し、格納部30の基準画像保持部34に記録する。
【0165】
基準フレームを含む画像データはマッチングプロセッサ16に供給される。マッチングプロセッサ16は、前提技術その他の技術によって基準フレームF1とフレームF2の間のマッチングをとり、対応しあう点を検出して対応位置情報を記録したマップファイルMP12を生成し、マップファイル保持部32に格納する。続いて、仮想フレーム生成ユニット20が、フレームF1とマップファイルMP12をもとに仮想的なフレームVF2を生成する。仮想フレームVF2は差分生成ユニット24に送られる。
【0166】
差分生成ユニット24は、現実のフレームF2も受け取り、フレームF2の画素値と仮想フレームVF2の画素値の差分ΔF2をとり、差分保持部36に記録する。この差分画像はハフマン符号化その他の符号化により、効果的に圧縮することが好ましい。参照フレーム生成ユニット26は、仮想フレームVF2と差分ΔF2を用いて、参照フレームRF2を生成する。差分ΔF2の表現に割り当てられるビット数に依存するが、参照フレームRF2は現実のフレームF2と同一または非常に近似した画像となる。生成された参照フレームRF2はマッチングプロセッサ16および仮想フレーム生成ユニット20に供給される。
【0167】
マッチングプロセッサ16は、参照フレームRF2と現実のフレームF3との間のマッチングをとり、対応しあう点を検出して対応位置情報を記録したマップファイルMP23を生成し、マップファイル保持部32に格納する。仮想フレーム生成ユニット20は、参照フレームRF2とマップファイルMP23を用いて、仮想フレームVF3を生成する。差分生成ユニット24は、現実のフレームF3の画素値と仮想フレームVF3の画素値の差分ΔF3をとり、差分保持部36に記録する。参照フレーム生成ユニット26は、仮想フレームVF3と差分ΔF3を用いて、参照フレームRF3を生成する。以後、マッチングプロセッサ16は、参照フレームRF(n−1)と現実のフレームF(n)とのマッチングをとってマップファイルMP(n−1,n)を生成し、差分生成ユニット24はフレームF(n)の画素値と仮想フレームVF(n)の画素値の差分をとっていく。
【0168】
ストリーム生成ユニット22は、マップファイル保持部32、基準画像保持部34および差分保持部36にそれぞれ保持されるマップファイルMP、基準フレームF1および差分Δをストリーム化して、符号化画像データを生成する。
【0169】
以上、実施の形態をもとに本発明を説明した。なお本発明はこの実施の形態に限定されることなく、そのさまざまな変形例もまた、本発明の態様として有効である。
【図面の簡単な説明】
【図1】図1(a)と図1(b)は、ふたりの人物の顔に平均化フィルタを施して得られる画像、図1(c)と図1(d)は、ふたりの人物の顔に関して前提技術で求められるp(5,0)の画像、図1(e)と図1(f)は、ふたりの人物の顔に関して前提技術で求められるp(5,1)の画像、図1(g)と図1(h)は、ふたりの人物の顔に関して前提技術で求められるp(5,2)の画像、図1(i)と図1(j)は、ふたりの人物の顔に関して前提技術で求められるp(5,3)の画像をそれぞれディスプレイ上に表示した中間調画像の写真である。
【図2】図2(R)はもとの四辺形を示す図、図2(A)、図2(B)、図2(C)、図2(D)、図2(E)はそれぞれ相続四辺形を示す図である。
【図3】始点画像と終点画像の関係、および第mレベルと第m−1レベルの関係を相続四辺形を用いて示す図である。
【図4】パラメータηとエネルギーCfの関係を示す図である。
【図5】図5(a)、図5(b)は、ある点に関する写像が全単射条件を満たすか否かを外積計算から求める様子を示す図である。
【図6】前提技術の全体手順を示すフローチャートである。
【図7】図6のS1の詳細を示すフローチャートである。
【図8】図7のS10の詳細を示すフローチャートである。
【図9】第mレベルの画像の一部と、第m−1レベルの画像の一部の対応関係を示す図である。
【図10】前提技術で生成された始点階層画像を示す図である。
【図11】図6のS2に進む前に、マッチング評価の準備の手順を示す図である。
【図12】図6のS2の詳細を示すフローチャートである。
【図13】第0レベルにおいて副写像を決定する様子を示す図である。
【図14】第1レベルにおいて副写像を決定する様子を示す図である。
【図15】図12のS21の詳細を示すフローチャートである。
【図16】あるf(m,s)についてλを変えながら求められたf(m,s)(λ=iΔλ)に対応するエネルギーC(m,s) fの挙動を示す図である。
【図17】ηを変えながら求められたf(n)(η=iΔη)(i=0,1,…)に対応するエネルギーC(n) fの挙動を示す図である。
【図18】改良後の前提技術において第mレベルにおける副写像を求めるフローチャートである。
【図19】実施の形態に係る画像データを符号化する処理の一例を概念的に示す図である。
【図20】実施の形態に係る画像データを符号化する処理の別の例を概念的に示す図である。
【図21】第1の実施例に係る3枚以上の画像データを符号化する処理を概念的に示す図である。
【図22】第2の実施例に係る3枚以上の画像データを符号化する処理を概念的に示す図である。
【図23】第2の実施例に係る画像符号化装置の構成を示す図である。
【図24】第3の実施例に係る3枚以上の画像データを符号化する処理を概念的に示す図である。
【図25】第3の実施例に係る画像符号化装置の構成を示す図である。
【符号の説明】
10a、10b・・・画像符号化装置、12・・・画像入力ユニット、14・・・設定ユニット、16・・・マッチングプロセッサ、18・・・基準画像圧縮ユニット、20・・・仮想フレーム生成ユニット、22・・・ストリーム生成ユニット、24・・・差分生成ユニット、26・・・参照フレーム生成ユニット、30・・・格納部、32・・・マップファイル保持部、34・・・基準画像保持部、36・・・差分保持部。
Claims (9)
- 3枚以上の現実の画像を取得する画像入力ユニットと、
マッチングの開始点となる基準画像を定める設定ユニットと、
基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するマッチングプロセッサと、
マッチングの計算結果をもとに仮想的な画像を生成するユニットと、
現実の画像と仮想的な画像の差分をとるユニットと、
仮想的な画像と差分をもとに参照画像を生成するユニットとを備え、
前記対応しあう点を検出するユニットは、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化装置。 - 3枚以上の現実の画像を取得する画像入力ユニットと、
マッチングの開始点となる基準画像を定める設定ユニットと、
基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するマッチングプロセッサと、
マッチングの計算結果をもとに仮想的な画像を生成するユニットとを備え、
前記対応しあう点を検出するユニットは、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化装置。 - 現実の画像と仮想的な画像の差分をとるユニットをさらに備えることを特徴とする請求項2に記載の画像符号化装置。
- 前記設定ユニットは、前記差分の大きさに基づいて、新たな基準画像を設定することを特徴とする請求項3に記載の画像符号化装置。
- 前記設定ユニットは、所定の期間ごとに新たな基準画像を設定することを特徴とする請求項2に記載の画像符号化装置。
- 3枚以上の現実の画像を取得するステップと、
マッチングの開始点となる基準画像を定めるステップと、
基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するステップと、
マッチングの計算結果をもとに仮想的な画像を生成するステップと、
現実の画像と仮想的な画像の差分をとるステップと、
仮想的な画像と差分をもとに参照画像を生成するステップとを備え、
前記対応しあう点を検出するステップは、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化方法。 - 3枚以上の現実の画像を取得するステップと、
マッチングの開始点となる基準画像を定めるステップと、
基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出するステップと、
マッチングの計算結果をもとに仮想的な画像を生成するステップとを備え、
前記対応しあう点を検出するステップは、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とする画像符号化方法。 - 3枚以上の現実の画像を取得する機能と、
マッチングの開始点となる基準画像を定める機能と、
基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出する機能と、
マッチングの計算結果をもとに仮想的な画像を生成する機能と、
現実の画像と仮想的な画像の差分をとる機能と、
仮想的な画像と差分をもとに参照画像を生成する機能とをコンピュータに実行させ、
前記対応しあう点を検出する機能は、参照画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とするコンピュータプログラム。 - 3枚以上の現実の画像を取得する機能と、
マッチングの開始点となる基準画像を定める機能と、
基準画像から順に隣り合う画像の間でマッチングを計算し、それらの画像の間で対応しあう点を検出する機能と、
マッチングの計算結果をもとに仮想的な画像を生成する機能とをコンピュータに実行させ、
前記対応しあう点を検出する機能は、仮想的な画像とそれに後続する現実の画像との間でマッチングを計算することを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002206098A JP2004048595A (ja) | 2002-07-15 | 2002-07-15 | 画像符号化方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002206098A JP2004048595A (ja) | 2002-07-15 | 2002-07-15 | 画像符号化方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004048595A true JP2004048595A (ja) | 2004-02-12 |
Family
ID=31711222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002206098A Pending JP2004048595A (ja) | 2002-07-15 | 2002-07-15 | 画像符号化方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004048595A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007069350A1 (ja) * | 2005-12-12 | 2007-06-21 | Monolith Co., Ltd. | 画像符号化および復号の方法と装置 |
WO2007069320A1 (ja) * | 2005-12-14 | 2007-06-21 | Monolith Co., Ltd. | 動画符号化方法および動画復号方法 |
WO2007072543A1 (ja) * | 2005-12-19 | 2007-06-28 | Monolith Co., Ltd. | 動画符号化方法 |
-
2002
- 2002-07-15 JP JP2002206098A patent/JP2004048595A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007069350A1 (ja) * | 2005-12-12 | 2007-06-21 | Monolith Co., Ltd. | 画像符号化および復号の方法と装置 |
WO2007069320A1 (ja) * | 2005-12-14 | 2007-06-21 | Monolith Co., Ltd. | 動画符号化方法および動画復号方法 |
WO2007072543A1 (ja) * | 2005-12-19 | 2007-06-28 | Monolith Co., Ltd. | 動画符号化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3889233B2 (ja) | 画像符号化方法と装置および画像復号方法と装置 | |
JP2008252860A (ja) | 画像処理方法及び画像処理装置 | |
JP3877651B2 (ja) | 画像処理方法と装置 | |
JPWO2005122593A1 (ja) | 動画符号化方法および動画復号方法 | |
JP2002271788A (ja) | 画像符号化方法と装置および画像復号方法および装置 | |
JP4050472B2 (ja) | 画像生成方法、装置およびシステム | |
JP4039858B2 (ja) | 画像マッチング方法と装置、および画像符号化方法と装置 | |
JP2002344970A (ja) | 画像符号化および復号のための方法および装置 | |
JP2003037842A (ja) | 画像符号化方法、復号方法および画像符号化装置、復号装置 | |
JP2004048595A (ja) | 画像符号化方法および装置 | |
JP2004048116A (ja) | 画像データ符号化および復号のための方法および装置 | |
JP2002190020A (ja) | 映像効果方法および装置 | |
JP3839353B2 (ja) | 画像符号化方法と装置および画像復号方法および装置 | |
JP2004048496A (ja) | 画像符号化方法および装置、画像復号方法および装置と、画像配信装置 | |
JP4524412B2 (ja) | 画像符号化方法、復号方法および画像符号化装置、復号装置 | |
JP2002230575A (ja) | 映像効果方法および装置 | |
JP2004023487A (ja) | 監視装置、および監視方法 | |
JP3827981B2 (ja) | 画像符号化方法と装置および画像復号方法と装置 | |
JP2002359842A (ja) | 画像符号化方法と装置および画像復号方法と装置 | |
JP2004064156A (ja) | コンテンツサーバ、およびそのサーバにおけるコンテンツの提供方法 | |
JP2007288614A (ja) | 画像圧縮方法、画像圧縮装置、および動画符号化方法 | |
JP2004040340A (ja) | 画像符号化方法および装置 | |
JP2004064474A (ja) | 画像符号化および復号のための方法および装置 | |
JP2004048627A (ja) | 画像符号化方法と装置及び画像復号方法と装置 | |
JP2004032219A (ja) | 画像表示方法および装置、画像配信方法および装置。 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090609 |