JP2004048627A - Image encoding method and device, image decoding method and device - Google Patents
Image encoding method and device, image decoding method and device Download PDFInfo
- Publication number
- JP2004048627A JP2004048627A JP2002248723A JP2002248723A JP2004048627A JP 2004048627 A JP2004048627 A JP 2004048627A JP 2002248723 A JP2002248723 A JP 2002248723A JP 2002248723 A JP2002248723 A JP 2002248723A JP 2004048627 A JP2004048627 A JP 2004048627A
- Authority
- JP
- Japan
- Prior art keywords
- blending
- image
- data
- frame
- key
- 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
- 238000000034 method Methods 0.000 title claims description 95
- 238000002156 mixing Methods 0.000 claims abstract description 276
- 230000008569 process Effects 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 63
- 238000004364 calculation method Methods 0.000 abstract description 47
- 230000006835 compression Effects 0.000 abstract description 13
- 238000007906 compression Methods 0.000 abstract description 13
- 238000013507 mapping Methods 0.000 description 130
- 238000010586 diagram Methods 0.000 description 38
- 238000011156 evaluation Methods 0.000 description 29
- 238000012545 processing Methods 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 17
- 238000005070 sampling Methods 0.000 description 15
- 230000006872 improvement Effects 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 210000000887 face Anatomy 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000003708 edge detection Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、画像処理技術に関し、とくに動画の圧縮を中心とする画像の符号化および復号方法と装置に関する。
【0002】
【従来の技術】
動画圧縮の事実上の世界標準であるMPEG(Motion Picture Expert Group)は、CDなどストレージメディアからネットワークや放送などの伝送メディアへとそのターゲットエリアが広がった。放送のデジタル化はMPEGを中心とする圧縮符号化技術なしに考えることはできない。放送と通信の垣根が崩れ、サービス事業者の多様化は必須になり、ブロードバンド時代にデジタル文化がいかなる進展を遂げるか、予測がつきにくい状況にある。
【0003】
【発明が解決しようとする課題】
そうした混沌の中でも、動画の圧縮技術に関する方向性について確かなことがある。すなわち、より高い圧縮率と画質の両立である。MPEGは周知のごとく高圧縮化をブロック歪みが阻むことがある。
この発明はそうした状況に鑑みてなされたものであり、その目的は、良好な動画の圧縮技術、ブロックひずみを回避または軽減する圧縮技術、状況に応じて自然な動画像を再生する圧縮技術、ユーザにとって利便性の高い圧縮技術を提供することにある。また、画像に対して部分的にαブレンディングを適用する技術を提供することである。
【0004】
【課題を解決するための手段】
以下、本発明の画像復号技術および画像符号化技術は、主に動画について説明するが、モーフィング、ウォークスルーなどの映像効果など、用途は動画に限られない。
【0005】
本発明のある態様は、画像符号化装置に関する。この装置は、キーフレームのデータを入力する画像入力部と、所定のふたつのキーフレーム間についてαブレンディングを行うことを指定するαブレンディング指定部と、αブレンディングを行わないふたつのキーフレーム間についてはそれらのキーフレーム間の対応情報データを組み込む形で、αブレンディングを行うふたつのキーフレーム間についてはαブレンディングを行うことが判別できる形でデータストリームを形成するストリーム生成部とを含む。
「フレーム」は画像の単位であるが、以下特に必要がない限り、これと「画像」を区別しない。
この装置によれば、キーフレーム間の対応情報データを使用した動画像の再生にαブレンディングも併用するため、状況に応じてより自然な動画像の再生が可能となる。
ストリーム生成部は、αブレンディングを行うことを判別するために、αブレンディングの実施を指示するデータを明示的に組み込んでデータストリームを形成してもよい。
【0006】
αブレンディング指定部は、キーフレームのデータと対応情報データをもとに中間フレームを生成し、その中から表示品質上問題のある中間フレームを特定し、表示品質上問題のある中間フレームを前後から挟むふたつのキーフレーム間にαブレンディングを行うことを指定してもよい。また、ユーザの指示にもとづき表示品質上問題のある中間フレームを特定してもよい。また、キーフレームと中間フレームの中の所定のふたつの画像の差分がしきい値より大きい場合に、表示品質上問題のある中間フレームを特定してもよい。また、対応情報データの生成過程で得られるデータを観察することにより表示品質上問題のある中間フレームを特定し、表示品質上問題のある中間フレームを前後から挟むふたつのキーフレーム間にαブレンディングを行うことを指定してもよい。
【0007】
「中間フレーム」とは、ふたつのキーフレームに挟まれたフレームである。ここでは、ふたつのキーフレームに挟まれた画像の単位またはひとつの画像だけでなく、ふたつのキーフレームに挟まれた複数の画像も含むものとする。
「表示品質上問題のある中間フレーム」とは、キーフレームデータと対応情報データをもとに生成した中間フレームの画質が、ミスマッチングなどで画質に問題のあるときの中間フレームを意味する。この場合、問題のある中間フレームに対応する対応情報データにも問題があるといえる。また、この問題は必ずしも客観的なものである必要はなく、主観的なものでよい。
【0008】
「表示品質上問題のある中間フレームの特定」とは、中間フレームを直接特定する場合だけでなく、中間フレームに対応した画像、対応情報データ、その他のデータを特定することにより、中間フレームが特定される場合も含む。
「対応情報データの生成過程で得られるデータ」とは、マッチング計算を行う際に得られるデータ、例えば、全単射条件を満たすか否か、写像のエネルギー値などを意味する。さらに、対応情報データも含むものとする。
【0009】
αブレンディング指定部は、ストリーム生成部で形成されたデータストリームを復号し、その結果から表示品質上問題のある中間フレームを再び特定し、ストリーム生成部はαブレンディングを行うふたつのキーフレームを変更して再びデータストリームを形成することにより、αブレンディングを行うふたつのキーフレームの指定とデータストリームの形成を複数回実施してもよい。
【0010】
本発明の別の態様は、画像符号化方法に関する。この方法は、入力されたキーフレームのデータのうち、所定のふたつのキーフレーム間についてαブレンディングを行うことを指定するステップと、αブレンディングを行わないふたつのキーフレーム間についてはそれらのキーフレーム間の対応情報データを組み込む形で、αブレンディングを行うふたつのキーフレーム間についてはαブレンディングを行うことが判別できる形でデータストリームを形成するステップとを含む。
【0011】
本発明のさらに別の態様は、画像復号装置に関する。この装置は、少なくともキーフレーム間の対応情報データを含むデータストリームを入力するストリーム入力部と、入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに中間フレームを生成する中間画像生成部と、入力されたデータストリームからαブレンディングを行うか否かを判別するαブレンディング検出部とを含む。この構成にて、中間画像生成部は、αブレンディングを行うと判別した場合には中間フレームの生成を中止し、αブレンディングを行う。
この装置によれば、画像の再生に加え、αブレンディング処理を行うため、状況に応じてより自然な画像の再生が可能となる。
αブレンディング検出部は、αブレンディングを行うことを、αブレンディングの実施を指示するデータを検出することにより判別してもよい。
【0012】
本発明のさらに別の態様は、画像復号方法に関する。この方法は、入力されたデータストリームからαブレンディングを行うか否かを判別するステップと、αブレンディングを行わないと判別した場合にはデータストリームに含まれる対応情報データとキーフレームのデータをもとに中間フレームを生成するステップと、αブレンディングを行うと判別した場合には中間フレームの生成を中止し、αブレンディングを行うステップとを含む。
【0013】
本発明のさらに別の態様は、プログラムに関する。このプログラムは、入力されたキーフレームのデータのうち、所定のふたつのキーフレーム間についてαブレンディングを行うことを指定するステップと、αブレンディングを行わないふたつのキーフレーム間についてはそれらのキーフレーム間の対応情報データを組み込む形で、αブレンディングを行うふたつのキーフレーム間についてはαブレンディングを行うことが判別できる形でデータストリームを形成するステップとを含む。
【0014】
本発明のさらに別の態様は、プログラムに関する。このプログラムは、入力されたデータストリームからαブレンディングを行うか否かを判別するステップと、αブレンディングを行わないと判別した場合にはデータストリームに含まれる対応情報データとキーフレームのデータをもとに中間フレームを生成するステップと、αブレンディングを行うと判別した場合には中間フレームの生成を中止し、αブレンディングを行うステップとを含む。
【0015】
本発明のさらに別の態様は、画像符号化装置に関する。この装置は、キーフレームのデータを入力する画像入力部と、キーフレーム内の所定の部分に対してαブレンディングを行うことを指定するαブレンディング指定部と、キーフレーム内のαブレンディングを行わない部分に対してはその部分に対応するキーフレーム間の対応情報データを組み込む形で、αブレンディングを行う部分に対してはαブレンディングを行うことが判別できる形でデータストリームを形成するストリーム生成部とを含む。
【0016】
「キーフレーム内の所定の部分に対してαブレンディングを行うことを指定」には、キーフレーム内の所定の部分に対してαブレンディングを行わないことを指定する場合も含まれる。これは、αブレンディングを行う部分と行わない部分が特定されればよいとする。
この装置によれば、キーフレーム間の対応情報データを使用した動画像の再生において、画像の一部分にαブレンディングも併用するため、状況に応じてより自然な動画像の再生が可能となる。
【0017】
αブレンディング指定部は、キーフレームのデータと対応情報データをもとに中間フレームを生成し、中間フレーム内から表示品質上問題のある部分を特定し、中間フレームを前後から挟むふたつのキーフレームのうち特定された部分に対応する部分にαブレンディングを行うことを指定してもよい。また、ユーザからαブレンディングを行う部分を特定するための指示を受けつけ、指示にもとづき処理を行ってもよい。
「表示品質上問題のある部分を特定」には、表示品質上問題のない部分を特定する場合も含まれる。これは、表示品質上問題のない部分とある部分が特定されればよいとする。
「αブレンディングを行う部分を特定するための指示」は、直接キーフレームにおける部分を特定する場合と、間接的に特定する場合を含む。後者の一例は、中間フレームにおける部分を特定する場合である。最終的にαブレンディングを行う部分が特定されればよい。
【0018】
本発明のさらに別の態様は、画像符号化方法に関する。この方法は、入力されたキーフレームのデータのうち、キーフレーム内の所定の部分に対してαブレンディングを行うことを指定するステップと、キーフレーム内のαブレンディングを行わない部分に対してはその部分に対応するキーフレーム間の対応情報データを組み込む形で、αブレンディングを行う部分に対してはαブレンディングを行うことが判別できる形でデータストリームを形成するステップとを含む。
【0019】
本発明のさらに別の態様は、画像復号装置に関する。この装置は、少なくともキーフレーム間の対応情報データを含むデータストリームを入力するストリーム入力部と、入力されたデータストリームからキーフレーム内のαブレンディングを行う部分を判別するαブレンディング検出部と、キーフレーム内のαブレンディングを行わない部分に対しては入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに、αブレンディングを行う部分に対してはαブレンディングをもとに中間フレームを生成する中間画像生成部とを含む。
「αブレンディングを行う部分を判別」には、αブレンディングを行わない部分を判別する場合も含まれる。これは、αブレンディングを行う部分と行わない部分が判別できればよいとする。
この装置によれば、画像の再生について、部分的にαブレンディング処理を行うため、状況に応じてより自然な画像の再生が可能となる。
【0020】
中間画像生成部は、キーフレームのデータからαブレンディングにより初期中間フレームを生成し、αブレンディングを行わない部分に対応する画像を対応情報データとキーフレームのデータから生成し、初期中間フレーム内のαブレンディングを行わない部分に対応する部分を画像で置換して中間フレームを生成してもよい。
「初期中間フレーム」とは、中間フレーム生成段階で生成されるフレームである。
【0021】
本発明のさらに別の態様は、画像復号方法に関する。この方法は、入力されたデータストリームからキーフレーム内のαブレンディングを行う部分を判別するステップと、キーフレーム内のαブレンディングを行わない部分に対しては入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに、αブレンディングを行う部分に対してはαブレンディングをもとに中間フレームを生成するステップとを含む。
【0022】
本発明のさらに別の態様は、プログラムに関する。このプログラムは、入力されたキーフレームのデータのうち、キーフレーム内の所定の部分に対してαブレンディングを行うことを指定するステップと、キーフレーム内のαブレンディングを行わない部分に対してはその部分に対応するキーフレーム間の対応情報データを組み込む形で、αブレンディングを行う部分に対してはαブレンディングを行うことが判別できる形でデータストリームを形成するステップとを含む。
本発明のさらに別の態様は、プログラムに関する。このプログラムは、入力されたデータストリームからキーフレーム内のαブレンディングを行う部分を判別するステップと、キーフレーム内のαブレンディングを行わない部分に対しては入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに、αブレンディングを行う部分に対してはαブレンディングをもとに中間フレームを生成するステップとを含む。
【0023】
以上の各態様において、対応情報を導く技術は、本出願人が先に特許第2927350号にて提案した特異点を用いるマッチング技術(以下「前提技術」という)の応用でもよい。
以上の各構成、工程を任意に入れ替えたり、方法と装置の間で表現を一部または全部入れ替え、または追加したり、表現をコンピュータプログラム、記録媒体等に変更したものもまた、本発明として有効である。
【0024】
【発明の実施の形態】
はじめに、実施の形態で利用する多重解像度特異点フィルタ技術とそれを用いた画像マッチング処理を「前提技術」として詳述する。これらの技術は本出願人がすでに特許第2927350号を得ている技術であり、本発明との組合せに最適である。ただし、実施の形態で採用可能な画像マッチング技術はこれに限られない。図18以降、前提技術を利用した画像データ符号化および復号技術を具体的に説明する。ただし、図32を除く。
【0025】
[前提技術の背景]
最初に[1]で前提技術の要素技術の詳述し、[2]で処理手順を具体的に説明する。さらに[3]で前提技術に基づき改良を施した点について述べる。
【0026】
[1]要素技術の詳細
[1.1]イントロダクション
特異点フィルタと呼ばれる新たな多重解像度フィルタを導入し、画像間のマッチングを正確に計算する。オブジェクトに関する予備知識は一切不要である。画像間のマッチングの計算は、解像度の階層を進む間、各解像度において計算される。その際、粗いレベルから精細なレベルへと順に解像度の階層を辿っていく。計算に必要なパラメータは、人間の視覚システムに似た動的計算によって完全に自動設定される。画像間の対応点を人手で特定する必要はない。
【0027】
本前提技術は、例えば完全に自動的なモーフィング、物体認識、立体写真測量、ボリュームレンダリング、少ないフレームからの滑らかな動画像の生成などに応用できる。モーフィングに用いる場合、与えられた画像を自動的に変形することができる。ボリュームレンダリングに用いる場合、断面間の中間的な画像を正確に再構築することができる。断面間の距離が遠く、断面の形状が大きく変化する場合でも同様である。
【0028】
[1.2]特異点フィルタの階層
前提技術に係る多重解像度特異点フィルタは、画像の解像度を落としながら、しかも画像に含まれる各特異点の輝度及び位置を保存することができる。ここで画像の幅をN、高さをMとする。以下簡単のため、N=M=2n(nは自然数)と仮定する。また、区間[0,N]⊂RをIと記述する。(i,j)における画像の画素をp(i,j)と記述する(i,j∈I)。
【0029】
ここで多重解像度の階層を導入する。階層化された画像群は多重解像度フィルタで生成される。多重解像度フィルタは、もとの画像に対して二次元的な探索を行って特異点を検出し、検出された特異点を抽出してもとの画像よりも解像度の低い別の画像を生成する。ここで第mレベルにおける各画像のサイズは2m×2m(0≦m≦n)とする。特異点フィルタは次の4種類の新たな階層画像をnから下がる方向で再帰的に構築する。
【0030】
【数1】
ただしここで、
【数2】
とする。以降これら4つの画像を副画像(サブイメージ)と呼ぶ。minx≦t≦x+1、maxx≦t≦x+1をそれぞれα及びβと記述すると、副画像はそれぞれ以下のように記述できる。
【0031】
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画素で構成されるブロックごとに特異点を検出する。その際、各ブロックのふたつの方向、つまり縦と横について、最大画素値または最小画素値をもつ点を探索する。画素値として、前提技術では輝度を採用するが、画像に関するいろいろな数値を採用することができる。ふたつの方向の両方について最大画素値となる画素は極大点、ふたつの方向の両方について最小画素値となる画素は極小点、ふたつの方向の一方について最大画素値となるとともに、他方について最小画素値となる画素は鞍点として検出される。
【0032】
特異点フィルタは、各ブロックの内部で検出された特異点の画像(ここでは1画素)でそのブロックの画像(ここでは4画素)を代表させることにより、画像の解像度を落とす。特異点の理論的な観点からすれば、α(x)α(y)は極小点を保存し、β(x)β(y)は極大点を保存し、α(x)β(y)及びβ(x)α(y)は鞍点を保存する。
【0033】
はじめに、マッチングをとるべき始点(ソース)画像と終点(デスティネーション)画像に対して別々に特異点フィルタ処理を施し、それぞれ一連の画像群、すなわち始点階層画像と終点階層画像を生成しておく。始点階層画像と終点階層画像は、特異点の種類に対応してそれぞれ4種類ずつ生成される。
【0034】
この後、一連の解像度レベルの中で始点階層画像と終点階層画像のマッチングがとれらていく。まずp(m,0)を用いて極小点のマッチングがとられる。次に、その結果に基づき、p(m,1)を用いて鞍点のマッチングがとられ、p(m,2)を用いて他の鞍点のマッチングがとられる。そして最後にp(m,3)を用いて極大点のマッチングがとられる。
【0035】
図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)によって耳や頬の最も明るい点が明確になる。これらは輝度の極大点だからである。
【0036】
特異点フィルタによれば画像の特徴が抽出できるため、例えばカメラで撮影された画像の特徴と、予め記録しておいたいくつかのオブジェクトの特徴を比較することにより、カメラに映った被写体を識別することができる。
【0037】
[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の順序は次式のように並べ替えることができる。並べ替えが必要な理由は後述する。
【0038】
【数3】
ここでσ(i)∈{0,1,2,3}である。
【0039】
[1.3.1]全単射
始点画像と終点画像の間のマッチングを写像で表現する場合、その写像は両画像間で全単射条件を満たすべきである。両画像に概念上の優劣はなく、互いの画素が全射かつ単射で接続されるべきだからである。しかしながら通常の場合とは異なり、ここで構築すべき写像は全単射のディジタル版である。前提技術では、画素は格子点によって特定される。
【0040】
始点副画像(始点画像について設けられた副画像)から終点副画像(終点画像について設けられた副画像)への写像は、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)と記述する。
【0041】
前提技術で扱う画素(格子点)のようにデータが離散的な場合、全単射の定義は重要である。ここでは以下のように定義する(i,i’,j,j’,k,lは全て整数とする)。まず始めに、始点画像の平面においてRによって表記される各正方形領域、
【0042】
【数4】
を考える(i=0,…,2m−1、j=0,…,2m−1)。ここでRの各辺(エッジ)の方向を以下のように定める。
【0043】
【数5】
この正方形は写像fによって終点画像平面における四辺形に写像されなければならない。f(m,s)(R)によって示される四辺形、
【0044】
【数6】
は、以下の全単射条件を満たす必要がある。
【0045】
1.四辺形f(m,s)(R)のエッジは互いに交差しない。
【0046】
2.f(m,s)(R)のエッジの方向はRのそれらに等しい(図2の場合、時計回り)。
【0047】
3.緩和条件として収縮写像(リトラクション:retractions)を許す。
【0048】
何らかの緩和条件を設けないかぎり、全単射条件を完全に満たす写像は単位写像しかないためである。ここではf(m,s)(R)のひとつのエッジの長さが0、すなわちf(m,s)(R)は三角形になってもよい。しかし、面積が0となるような図形、すなわち1点または1本の線分になってはならない。図2(R)がもとの四辺形の場合、図2(A)と図2(D)は全単射条件を満たすが、図2(B)、図2(C)、図2(E)は満たさない。
【0049】
実際のインプリメンテーションでは、写像が全射であることを容易に保証すべく、さらに以下の条件を課してもよい。つまり始点画像の境界上の各画素は、終点画像において同じ位置を占める画素に写影されるというものである。すなわち、f(i,j)=(i,j)(ただしi=0,i=2m−1,j=0,j=2m−1の4本の線上)である。この条件を以下「付加条件」とも呼ぶ。
【0050】
[1.3.2]写像のエネルギー
[1.3.2.1]画素の輝度に関するコスト
写像fのエネルギーを定義する。エネルギーが最小になる写像を探すことが目的である。エネルギーは主に、始点画像の画素の輝度とそれに対応する終点画像の画素の輝度の差で決まる。すなわち、写像f(m,s)の点(i,j)におけるエネルギーC(m,s) (i,j)は次式によって定まる。
【0051】
【数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)の合計で定義できる。
【0052】
【数8】
[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)は次式で定義される。
【0053】
【数9】
ただし、係数パラメータηは0以上の実数であり、また、
【数10】
【数11】
とする。ここで、
【0054】
【数12】
であり、i’<0およびj’<0に対してf(i’,j’)は0と決める。E0は(i,j)及びf(i,j)の距離で決まる。E0は画素があまりにも離れた画素へ写影されることを防ぐ。ただしE0は、後に別のエネルギー関数で置き換える。E1は写像の滑らかさを保証する。E1は、p(i,j)の変位とその隣接点の変位の間の隔たりを表す。以上の考察をもとに、マッチングを評価する別の評価式であるエネルギーDfは次式で定まる。
【0055】
【数13】
[1.3.2.3]写像の総エネルギー
写像の総エネルギー、すなわち複数の評価式の統合に係る総合評価式はλC(m,s) f+D(m,s) fで定義される。ここで係数パラメータλは0以上の実数である。目的は総合評価式が極値をとる状態を検出すること、すなわち次式で示す最小エネルギーを与える写像を見いだすことである。
【0056】
【数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だけになり、本来何等関連のない画素どうしが単に輝度が近いというだけで対応づけられ、写像が無意味なものになる。そうした無意味な写像をもとに写像を変形していってもまったく意味をなさない。このため、単位写像が評価の開始時点で最良の写像として選択されるよう係数パラメータの与えかたが配慮されている。
【0057】
オプティカルフローもこの前提技術同様、画素の輝度の差と滑らかさを考慮する。しかし、オプティカルフローは画像の変換に用いることはできない。オブジェクトの局所的な動きしか考慮しないためである。前提技術に係る特異点フィルタを用いることによって大域的な対応関係を検出することができる。
【0058】
[1.3.3]多重解像度の導入による写像の決定
最小エネルギーを与え、全単射条件を満足する写像fminを多重解像度の階層を用いて求める。各解像度レベルにおいて始点副画像及び終点副画像間の写像を計算する。解像度の階層の最上位(最も粗いレベル)からスタートし、各解像度レベルの写像を、他のレベルの写像を考慮に入れながら決定する。各レベルにおける写像の候補の数は、より高い、つまりより粗いレベルの写像を用いることによって制限される。より具体的には、あるレベルにおける写像の決定に際し、それよりひとつ粗いレベルにおいて求められた写像が一種の拘束条件として課される。
【0059】
まず、
【数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)は次式で定義される。
【0060】
【数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)は次の四辺形の内部になければならないという条件を課し、全単射条件を満たす写像のうち現実性の高いものを絞り込む。
【0061】
【数17】
ただしここで、
【数18】
である。こうして定めた四辺形を、以下p(m,s) (i,j)の相続(inherited)四辺形と呼ぶことにする。相続四辺形の内部において、エネルギーを最小にする画素を求める。
【0062】
図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レベルの写像への橋渡しがなされる。
【0063】
先に定義したエネルギーE0は、第mレベルにおける副写像f(m,0)を計算するために、次式に置き換える。
【0064】
【数19】
また、副写像f(m,s)を計算するためには次式を用いる。
【0065】
【数20】
こうしてすべての副写像のエネルギーを低い値に保つ写像が得られる。式20により、異なる特異点に対応する副写像が、副写像どうしの類似度が高くなるように同一レベル内で関連づけられる。式19は、f(m,s)(i,j)と、第m−1レベルの画素の一部と考えた場合の(i,j)が射影されるべき点の位置との距離を示している。
【0066】
仮に、相続四辺形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条件を外す。
【0067】
多重解像度を用いる近似法は、写像が画像の細部に影響されることを回避しつつ、画像間の大域的な対応関係を決定するために必須である。多重解像度による近似法を用いなければ、距離の遠い画素間の対応関係を見いだすことは不可能である。その場合、画像のサイズはきわめて小さなものに限定しなければならず、変化の小さな画像しか扱うことができない。さらに、通常写像に滑らかさを要求するため、そうした画素間の対応関係を見つけにくくしている。距離のある画素から画素への写像のエネルギーは高いためである。多重解像度を用いた近似法によれば、そうした画素間の適切な対応関係を見いだすことができる。それらの距離は、解像度の階層の上位レベル(粗いレベル)において小さいためである。
【0068】
[1.4]最適なパレメータ値の自動決定
既存のマッチング技術の主な欠点のひとつに、パレメータ調整の困難さがある。大抵の場合、パラメータの調整は人手作業によって行われ、最適な値を選択することはきわめて難しい。前提技術に係る方法によれば、最適なパラメータ値を完全に自動決定することができる。
【0069】
前提技術に係るシステムはふたつのパレメータ、λ及びηを含む。端的にいえば、λは画素の輝度の差の重みであり、ηは写像の剛性を示している。これらのパラメータの値は初期値が0であり、まずη=0に固定してλを0から徐々に増加させる。λの値を大きくしながら、しかも総合評価式(式14)の値を最小にする場合、各副写像に関するC(m,s) fの値は一般に小さくなっていく。このことは基本的にふたつの画像がよりマッチしなければならないことを意味する。しかし、λが最適値を超えると以下の現象が発生する。
【0070】
1.本来対応すべきではない画素どうしが、単に輝度が近いというだけで誤って対応づけられる。
【0071】
2.その結果、画素どうしの対応関係がおかしくなり、写像がくずれはじめる。
【0072】
3.その結果、式14においてD(m,s) fが急激に増加しようとする。
【0073】
4.その結果、式14の値が急激に増加しようとするため、D(m,s) fの急激な増加を抑制するようf(m,s)が変化し、その結果C(m,s) fが増加する。
【0074】
したがって、λを増加させながら式14が最小値をとるという状態を維持しつつC(m,s) fが減少から増加に転じる閾値を検出し、そのλをη=0における最適値とする。つぎにηを少しづつ増やしてC(m,s) fの挙動を検査し、後述の方法でηを自動決定する。そのηに対応してλも決まる。
【0075】
この方法は、人間の視覚システムの焦点機構の動作に似ている。人間の視覚システムでは、一方の目を動かしながら左右両目の画像のマッチングがとられる。オブジェクトがはっきりと認識できるとき、その目が固定される。
【0076】
[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以上減少しない限り総エネルギーは減らないためである。
【0077】
この条件のもと、λの増加に伴い、正常な場合に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まで微小量変化するとき、
【0078】
【数21】
で示されるA個の画素が、
【数22】
のエネルギーを持つより安定的な状態に変化する。ここでは仮に、これらの画素のエネルギーがすべてゼロになると近似している。この式はC(m,s) fの値が、
【0079】
【数23】
だけ変化することを示し、その結果、
【数24】
が成立する。h(l)>0であるから、通常C(m,s) fは減少する。しかし、λが最適値を越えようとするとき、上述の現象、つまりC(m,s) fの増加が発生する。この現象を検出することにより、λの最適値を決定する。
【0080】
なお、H(h>0)及びkを定数とするとき、
【数25】
と仮定すれば、
【数26】
が成り立つ。このときk≠−3であれば、
【0081】
【数27】
となる。これがC(m,s) fの一般式である(Cは定数)。
【0082】
λの最適値を検出する際、さらに安全を見て、全単射条件を破る画素の数を検査してもよい。ここで各画素の写像を決定する際、全単射条件を破る確率をp0と仮定する。この場合、
【0083】
【数28】
が成立しているため、全単射条件を破る画素の数は次式の率で増加する。
【0084】
【数29】
従って、
【数30】
は定数である。仮にh(l)=Hlkを仮定するとき、例えば、
【0085】
【数31】
は定数になる。しかしλが最適値を越えると、上の値は急速に増加する。この現象を検出し、B0λ3/2+k/2/2mの値が異常値B0thresを越えるかどうかを検査し、λの最適値を決定することができる。同様に、B1λ3/2+k/2/2mの値が異常値B1thresを越えるかどうかを検査することにより、全単射の第3の条件を破る画素の増加率B1を確認する。ファクター2mを導入する理由は後述する。このシステムはこれら2つの閾値に敏感ではない。これらの閾値は、エネルギーC(m,s) fの観察では検出し損なった写像の過度の歪みを検出するために用いることができる。
【0086】
なお実験では、副写像f(m,s)を計算する際、もしλが0.1を越えたらf(m,s)の計算は止めてf(m,s+1)の計算に移行した。λ>0.1のとき、画素の輝度255レベル中のわずか「3」の違いが副写像の計算に影響したためであり、λ>0.1のとき正しい結果を得ることは困難だったためである。
【0087】
[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を正しく設定することによって吸収することができる。
【0088】
ここで次式のごとく始点画像を中心が(x0,y0)、半径rの円形のオブジェクトであると仮定する。
【0089】
【数32】
一方、終点画像は、次式のごとく中心(x1,y1)、半径がrのオブジェクトであるとする。
【0090】
【数33】
ここでc(x)はc(x)=xkの形であるとする。中心(x0,y0)及び(x1,y1)が十分遠い場合、ヒストグラムh(l)は次式の形となる。
【0091】
【数34】
k=1のとき、画像は背景に埋め込まれた鮮明な境界線を持つオブジェクトを示す。このオブジェクトは中心が暗く、周囲にいくに従って明るくなる。k=−1のとき、画像は曖昧な境界線を持つオブジェクトを表す。このオブジェクトは中心が最も明るく、周囲にいくに従って暗くなる。一般のオブジェクトはこれらふたつのタイプのオブジェクトの中間にあると考えてもさして一般性を失わない。したがって、kは−1≦k≦1として大抵の場合をカバーでき、式27が一般に減少関数であることが保障される。
【0092】
なお、式34からわかるように、rは画像の解像度に影響されること、すなわちrは2mに比例することに注意すべきである。このために[1.4.1]においてファクター2mを導入した。
【0093】
[1.4.3]ηの動的決定
パラメータηも同様の方法で自動決定できる。はじめにη=0とし、最も細かい解像度における最終的な写像f(n)及びエネルギーC(n) fを計算する。つづいて、ηをある値Δηだけ増加させ、再び最も細かい解像度における最終写像f(n)及びエネルギーC(n) fを計算し直す。この過程を最適値が求まるまで続ける。ηは写像の剛性を示す。次式の重みだからである。
【0094】
【数35】
ηが0のとき、D(n) fは直前の副写像と無関係に決定され、現在の副写像は弾性的に変形され、過度に歪むことになる。一方、ηが非常に大きな値のとき、D(n) fは直前の副写像によってほぼ完全に決まる。このとき副写像は非常に剛性が高く、画素は同じ場所に射影される。その結果、写像は単位写像になる。ηの値が0から次第に増えるとき、後述のごとくC(n) fは徐々に減少する。しかしηの値が最適値を越えると、図4に示すとおり、エネルギーは増加し始める。同図のX軸はη、Y軸はCfである。
【0095】
この方法でC(n) fを最小にする最適なηの値を得ることができる。しかし、λの場合に比べていろいろな要素が計算に影響する結果、C(n) fは小さく揺らぎながら変化する。λの場合は、入力が微小量変化するたびに副写像を1回計算しなおすだけだが、ηの場合はすべての副写像が計算しなおされるためである。このため、得られたC(n) fの値が最小であるかどうかを即座に判断することはできない。最小値の候補が見つかれば、さらに細かい区間を設定することによって真の最小値を探す必要がある。
【0096】
[1.5]スーパーサンプリング
画素間の対応関係を決定する際、自由度を増やすために、f(m,s)の値域をR×Rに拡張することができる(Rは実数の集合)。この場合、終点画像の画素の輝度が補間され、非整数点、
【0097】
【数36】
における輝度を持つf(m,s)が提供される。つまりスーパーサンプリングが行われる。実験では、f(m,s)は整数及び半整数値をとることが許され、
【0098】
【数37】
は、
【数38】
によって与えられた。
【0099】
[1.6]各画像の画素の輝度の正規化
始点画像と終点画像がきわめて異なるオブジェクトを含んでいるとき、写像の計算に元の画素の輝度がそのままでは利用しにくい。輝度の差が大きいために輝度に関するエネルギーC(m,s) fが大きくなりすぎ、正しい評価がしずらいためである。
【0100】
例えば、人の顔と猫の顔のマッチングをとる場合を考える。猫の顔は毛で覆われており、非常に明るい画素と非常に暗い画素が混じっている。この場合、ふたつの顔の間の副写像を計算するために、まず副画像を正規化する。すなわち、最も暗い画素の輝度を0、最も明るいそれを255に設定し、他の画素の輝度は線形補間によって求めておく。
【0101】
[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)が決まる。
【0102】
ある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)を以下の方法で決めていく。
【0103】
まず(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であるとしてふたつの方向を連続的に計算した。
【0104】
実際のインプリメンテーションでは、全単射条件を破る候補に対してペナルティを与えることにより、候補(k,l)の中からできる限り全単射条件を満たすf(m,s)(i,j)(m=0,…,n)の値を選んだ。第3の条件を破る候補のエネルギーD(k、l)にはφを掛け、一方、第1または第2の条件を破る候補にはψを掛ける。今回はφ=2、ψ=100000を用いた。
【0105】
前述の全単射条件のチェックのために、実際の手続として(k,l)=f(m,s)(i,j)を決定する際に以下のテストを行った。すなわちf(m,s)(i,j)の相続四辺形に含まれる各格子点(k,l)に対し、次式の外積のz成分が0以上になるかどうかを確かめる。
【0106】
【数39】
ただしここで、
【数40】
【数41】
である(ここでベクトルは三次元ベクトルとし、z軸は直交右手座標系において定義される)。もしWが負であれば、その候補についてはD(m,s) (k,l)にψを掛けることによってペナルティを与え、できるかぎり選択しないようにする。
【0107】
図5(a)、図5(b)はこの条件を検査する理由を示している。図5(a)はペナルティのない候補、図5(b)はペナルティがある候補をそれぞれ表す。隣接画素(i,j+1)に対する写像f(m,s)(i,j+1)を決定する際、Wのz成分が負であれば始点画像平面上において全単射条件を満足する画素は存在しない。なぜなら、q(m,s) (k,l)は隣接する四辺形の境界線を越えるためである。
【0108】
[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に相当する処理を行った。その理由は後述する。
【0109】
[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)を次式で求める。
【0110】
【数42】
つづいてr(x,y,t)における画素の輝度が次の式を用いて決定される。
【0111】
【数43】
ここでdx及びdyはパラメータであり、0から1まで変化する。
【0112】
[1.9]拘束条件を課したときの写像
いままでは拘束条件がいっさい存在しない場合の写像の決定を述べた。しかし、始点画像と終点画像の特定の画素間に予め対応関係が規定されているとき、これを拘束条件としたうえで写像を決定することができる。
【0113】
基本的な考えは、まず始点画像の特定の画素を終点画像の特定の画素に移す大まかな写像によって始点画像を大まかに変形し、しかる後、写像fを正確に計算する。
【0114】
まず始めに、始点画像の特定の画素を終点画像の特定の画素に射影し、始点画像の他の画素を適当な位置に射影する大まかな写像を決める。すなわち、特定の画素に近い画素は、その特定の画素が射影される場所の近くに射影されるような写像である。ここで第mレベルの大まかな写像をF(m)と記述する。
【0115】
大まかな写像Fは以下の要領で決める。まず、いくつかの画素について写像を特定する。始点画像についてns個の画素、
【0116】
【数44】
を特定するとき、以下の値を決める。
【0117】
【数45】
始点画像の他の画素の変位量は、p(ih,jh)(h=0,…,ns−1)の変位に重み付けをして求められる平均である。すなわち画素p(i,j)は、終点画像の以下の画素に射影される。
【0118】
【数46】
ただしここで、
【数47】
【数48】
とする。
【0119】
つづいて、F(m)に近い候補写像fがより少ないエネルギーを持つように、その写像fのエネルギーD(m,s) (i,j)を変更する。正確には、D(m,s) (i,j)は、
【0120】
【数49】
である。ただし、
【0121】
【数50】
であり、κ,ρ≧0とする。最後に、前述の写像の自動計算プロセスにより、fを完全に決定する。
【0122】
ここで、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)に十分近い限り、終点画像において適切な位置に落ち着くよう、その値を自動的に決めたいためである。この理由により、正確な対応関係を詳細に特定する必要がなく、始点画像は終点画像にマッチするように自動的にマッピングされる。
【0123】
[2]具体的な処理手順
[1]の各要素技術による処理の流れを説明する。
【0124】
図6は前提技術の全体手順を示すフローチャートである。同図のごとく、まず多重解像度特異点フィルタを用いた処理を行い(S1)、つづいて始点画像と終点画像のマッチングをとる(S2)。ただし、S2は必須ではなく、S1で得られた画像の特徴をもとに画像認識などの処理を行ってもよい。
【0125】
図7は図6のS1の詳細を示すフローチャートである。ここではS2で始点画像と終点画像のマッチングをとることを前提としている。そのため、まず特異点フィルタによって始点画像の階層化を行い(S10)、一連の始点階層画像を得る。つづいて同様の方法で終点画像の階層化を行い(S11)、一連の終点階層画像を得る。ただし、S10とS11の順序は任意であるし、始点階層画像と終点階層画像を並行して生成していくこともできる。
【0126】
図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種類の副画像が生成される。
【0127】
図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になる。
【0128】
つづいてmをデクリメントし(図8のS103)、mが負になっていないことを確認し(S104)、S101に戻ってつぎに解像度の粗い副画像を生成していく。この繰り返し処理の結果、m=0、すなわち第0レベルの副画像が生成された時点でS10が終了する。第0レベルの副画像のサイズは1×1である。
【0129】
図10はS10によって生成された始点階層画像をn=3の場合について例示している。最初の始点画像のみが4つの系列に共通であり、以降特異点の種類に応じてそれぞれ独立に副画像が生成されていく。なお、図8の処理は図7のS11にも共通であり、同様の手順を経て終点階層画像も生成される。以上で図6のS1による処理が完了する。
【0130】
前提技術では、図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]で導入したηを用いれば、
【0131】
【数52】
となる。ただし、総和はi、jについてそれぞれ0、1…、2m−1で計算する。以上でマッチング評価の準備が整う。
【0132】
図12は図6のS2の詳細を示すフローチャートである。[1]で述べたごとく、始点階層画像と終点階層画像のマッチングは互いに同じ解像度レベルの画像どうしでとられる。画像間の大域的なマッチングを良好にとるために、解像度が粗いレベルから順にマッチングを計算する。特異点フィルタを用いて始点階層画像および終点階層画像を生成しているため、特異点の位置や輝度は解像度の粗いレベルでも明確に保存されており、大域的なマッチングの結果は従来に比べて非常に優れたものになる。
【0133】
図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で後述する。
【0134】
一方、同一レベル内における水平的参照も行われる。[1.3.3]の式20のごとく、f(m,3)はf(m,2)に、f(m,2)はf(m,1)に、f(m,1)はf(m,0)に、それぞれ類似するように決める。その理由は、特異点の種類が違っても、それらがもともと同じ始点画像と終点画像に含まれている以上、副写像がまったく異なるという状況は不自然だからである。式20からわかるように、副写像どうしが近いほどエネルギーは小さくなり、マッチングが良好とみなされる。
【0135】
なお、最初に決めるべき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]で述べたとおりである。
【0136】
図13は第0レベルにおいて副写像を決定する様子を示す図である。第0レベルでは各副画像がただひとつの画素で構成されるため、4つの副写像f(0,s)はすべて自動的に単位写像に決まる。図14は第1レベルにおいて副写像を決定する様子を示す図である。第1レベルでは副画像がそれぞれ4画素で構成される。同図ではこれら4画素が実線で示されている。いま、p(1,s)の点xの対応点をq(1,s)の中で探すとき、以下の手順を踏む。
【0137】
1.第1レベルの解像度で点xの左上点a、右上点b、左下点c、右下点dを求める。
【0138】
2.点a〜dがひとつ粗いレベル、つまり第0レベルにおいて属する画素を探す。図14の場合、点a〜dはそれぞれ画素A〜Dに属する。ただし、画素A〜Cは本来存在しない仮想的な画素である。
【0139】
3.第0レベルですでに求まっている画素A〜Dの対応点A’〜D’をq(1,s)の中にプロットする。画素A’〜C’は仮想的な画素であり、それぞれ画素A〜Cと同じ位置にあるものとする。
【0140】
4.画素Aの中の点aの対応点a’が画素A’の中にあるとみなし、点a’をプロットする。このとき、点aが画素Aの中で占める位置(この場合、右下)と、点a’が画素A’の中で占める位置が同じであると仮定する。
【0141】
5.4と同様の方法で対応点b’〜d’をプロットし、点a’〜d’で相続四辺形を作る。
【0142】
6.相続四辺形の中でエネルギーが最小になるよう、点xの対応点x’を探す。対応点x’の候補として、例えば画素の中心が相続四辺形に含まれるものに限定してもよい。図14の場合、4つの画素がすべて候補になる。
【0143】
以上がある点xの対応点の決定手順である。同様の処理を他のすべての点について行い、副写像を決める。第2レベル以上のレベルでは、次第に相続四辺形の形が崩れていくと考えられるため、図3に示すように画素A’〜D’の間隔が空いていく状況が発生する。
【0144】
こうして、ある第mレベルの4つの副写像が決まれば、mをインクリメントし(図12のS22)、mがnを超えていないことを確かめて(S23)、S21に戻る。以下、S21に戻るたびに次第に細かい解像度のレベルの副写像を求め、最後にS21に戻ったときに第nレベルの写像f(n)を決める。この写像はη=0に関して定まったものであるから、f(n)(η=0)と書く。
【0145】
つぎに異なるηに関する写像も求めるべく、ηをΔηだけシフトし、mをゼロクリアする(S24)。新たなηが所定の探索打切り値ηmaxを超えていないことを確認し(S25)、S21に戻り、今回のηに関して写像f(n)(η=Δη)を求める。この処理を繰り返し、S21でf(n)(η=iΔη)(i=0,1,…)を求めていく。ηがηmaxを超えたときS26に進み、後述の方法で最適なη=ηoptを決定し、f(n)(η=ηopt)を最終的に写像f(n)とする。
【0146】
図15は図12のS21の詳細を示すフローチャートである。このフローチャートにより、ある定まったηについて、第mレベルにおける副写像が決まる。副写像を決める際、前提技術では副写像ごとに最適なλを独立して決める。
【0147】
同図のごとく、まず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)。
【0148】
つぎに、同一レベルにおける他の副写像を求めるべく、λをゼロクリアし、sをインクリメントする(S215)。sが4を超えていないことを確認し(S216)、S211に戻る。s=4になれば上述のごとくf(m,3)を利用してf(m,0)を更新し、そのレベルにおける副写像の決定を終了する。
【0149】
図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)についてもひとつ定まる。
【0150】
一方、図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)を最終決定することができる。
【0151】
以上、本前提技術によれば種々のメリットが得られる。まずエッジを検出する必要がないため、エッジ検出タイプの従来技術の課題を解消できる。また、画像に含まれるオブジェクトに対する先験的な知識も不要であり、対応点の自動検出が実現する。特異点フィルタによれば、解像度の粗いレベルでも特異点の輝度や位置を維持することができ、オブジェクト認識、特徴抽出、画像マッチングに極めて有利である。その結果、人手作業を大幅に軽減する画像処理システムの構築が可能となる。
【0152】
なお、本前提技術について次のような変形技術も考えられる。
【0153】
(1)前提技術では始点階層画像と終点階層画像の間でマッチングをとる際にパラメータの自動決定を行ったが、この方法は階層画像間ではなく、通常の2枚の画像間のマッチングをとる場合全般に利用できる。
【0154】
たとえば2枚の画像間で、画素の輝度の差に関するエネルギーE0と画素の位置的なずれに関するエネルギーE1のふたつを評価式とし、これらの線形和Etot=αE0+E1を総合評価式とする。この総合評価式の極値付近に注目してαを自動決定する。つまり、いろいろなαについてEtotが最小になるような写像を求める。それらの写像のうち、αに関してE1が極小値をとるときのαを最適パラメータと決める。そのパラメータに対応する写像を最終的に両画像間の最適マッチングとみなす。
【0155】
これ以外にも評価式の設定にはいろいろな方法があり、例えば1/E1と1/E2のように、評価結果が良好なほど大きな値をとるものを採用してもよい。総合評価式も必ずしも線形和である必要はなく、n乗和(n=2、1/2、−1、−2など)、多項式、任意の関数などを適宜選択すればよい。
【0156】
パラメータも、αのみ、前提技術のごとくηとλのふたつの場合、それ以上の場合など、いずれでもよい。パラメータが3以上の場合はひとつずつ変化させて決めていく。
【0157】
(2)本前提技術では、総合評価式の値が最小になるよう写像を決めた後、総合評価式を構成するひとつの評価式であるC(m,s) fが極小になる点を検出してパラメータを決定した。しかし、こうした二段回処理の代わりに、状況によっては単に総合評価式の最小値が最小になるようにパラメータを決めても効果的である。その場合、例えばαE0+βE1を総合評価式とし、α+β=1なる拘束条件を設けて各評価式を平等に扱うなどの措置を講じてもよい。パラメータの自動決定の本質は、エネルギーが最小になるようにパラメータを決めていく点にあるからである。
【0158】
(3)前提技術では各解像度レベルで4種類の特異点に関する4種類の副画像を生成した。しかし、当然4種類のうち1、2、3種類を選択的に用いてもよい。例えば、画像中に明るい点がひとつだけ存在する状態であれば、極大点に関するf(m,3)だけで階層画像を生成しても相応の効果が得られるはずである。その場合、同一レベルで異なる副写像は不要になるため、sに関する計算量が減る効果がある。
【0159】
(4)本前提技術では特異点フィルタによってレベルがひとつ進むと画素が1/4になった。例えば3×3で1ブロックとし、その中で特異点を探す構成も可能であり、その場合、レベルがひとつ進むと画素は1/9になる。
【0160】
(5)始点画像と終点画像がカラーの場合、それらをまず白黒画像に変換し、写像を計算する。その結果求められた写像を用いて始点のカラー画像を変換する。それ以外の方法として、RGBの各成分について副写像を計算してもよい。
【0161】
[3]前提技術の改良点
以上の前提技術を基本とし、マッチング精度を向上させるためのいくつかの改良がなされている。ここではその改良点を述べる。
[3.1]色情報を考慮に入れた特異点フィルタおよび副画像
画像の色情報を有効に用いるために、特異点フィルタを以下のように変更した。まず色空間としては、人間の直感に最も合致するといわれているHISを用いた。但し色を輝度に変換する際は、輝度Iに代わり人間の目の感度に最も近いといわれている輝度Yを選択した。
【数53】
ここで画素aにおけるY(輝度)をY(a)、S(彩度)をS(a)として、次のような記号を定義する。
【数54】
上の定義を用いて以下のような5つのフィルタを用意する。
【数55】
【0162】
このうち上から4つのフィルタは改良前の前提技術におけるフィルタとほぼ同じで、輝度の特異点を色情報も残しながら保存する。最後のフィルタは色の彩度の特異点をこちらも色情報を残しながら保存する。
これらのフィルタによって、各レベルにつき5種類の副画像(サブイメージ)が生成される。なお、最も高いレベルの副画像は元画像に一致する。
【数56】
【0163】
[3.2]エッジ画像およびその副画像
輝度微分(エッジ)の情報をマッチングに利用するため、さらに一次微分エッジ検出フィルタを用いる。このフィルタはあるオペレータGとの畳み込み積分で実現できる。第nレベルの画像の、水平方向、垂直方向の微分に対応した2種類のフィルタをそれぞれ以下のように表す。
【数57】
ここでGは画像解析においてエッジ検出に用いられる一般的なオペレータを適用することが可能であるが、演算スピードなども考慮して以下のようなオペレータを選択した。
【数58】
【0164】
次にこの画像を多重解像度化する。フィルタにより0を中心とした輝度をもつ画像が生成されるため、次のような平均値画像が副画像としては最も適切である。
【数59】
式59の画像は後述するForward Stage、すなわち初回副写像導出ステージの計算の際、エネルギー関数のうち新たに導入された輝度微分(エッジ)の差によるエネルギーに用いられる。
【0165】
エッジの大きさ、すなわち絶対値も計算に必要なため、以下のように表す。
【数60】
この値は常に正であるため、多重解像度化には最大値フィルタを用いる。
【数61】
式61の画像は後述するForward Stageの計算の際、計算する順序を決定するのに用いられる。
【0166】
[3.3]計算処理手順
計算は最も粗い解像度の副画像から順に行う。副画像は5つあるため、各レベルの解像度において計算は複数回行われる。これをターンと呼び、最大計算回数をtで表すことにする。各ターンは前記Forward Stageと、副写像再計算ステージであるRefinement Stageという二つのエネルギー最小化計算から構成される。図32は第mレベルにおける副写像を決める計算のうち改良点に係るフローチャートである。
【0167】
同図のごとく、sをゼロクリアする(S40)。つぎにForward Stage(S41)において始点画像pから終点画像qへの写像f( m,s )および、終点画像qから始点画像pへの写像g(m、s)を順次、エネルギー最小化によって求める。以下、写像f( m,s )の導出について記述する。ここで最小化するエネルギーは、改良後の前提技術においては、対応する画素値によるエネルギーCと、写像の滑らかさによるエネルギーDの和である。
【数62】
エネルギーCは、輝度の差によるエネルギーCI(前記改良前の前提技術におけるエネルギーCと等価)と、色相、彩度によるエネルギーCC、輝度微分(エッジ)の差によるエネルギーCEで構成され、以下のように表される。
【数63】
ここでパラメータλ、ψおよびθは0以上の実数であり、本改良後の技術においては定数である。ここでこれらのパラメータを定数とできるのは、新たに導入されたRefinement Stageにより、パラメータに対する結果の安定性が向上したためである。また、エネルギーCEは副写像f( m,s )の種類sに関わらず、座標と解像度のレベルによって決定する値である。
【0168】
エネルギーDは前記改良前の前提技術と同じものを用いる。ただし前記改良前の前提技術において、写像の滑らかさを保証するエネルギーE1を導出する際、隣接する画素のみを考慮していたが、周囲の何画素を考慮するかをパラメータdで指定できるように改良した。
【数64】
次のRefinement Stageに備えて、このステージでは終点画像qから始点画像pへの写像g(m,s)も同様に計算する。
【0169】
Refinement Stage(S42)ではForward Stageにおいて求めた双方向の写像f(m,s)およびg(m,s)を基に、より妥当な写像f’(m,s)を求める。ここでは新たに定義されるエネルギーMについてエネルギー最小化計算を行う。エネルギーMは終点画像から始点画像への写像gとの整合度M0と、もとの写像との差M1より構成され、Mを最小とするようなf’(m,s)が求められる。
【数65】
対称性を損なわないように、終点画像qから始点画像pへの写像g’(m,s)も同様の方法で求めておく。
【0170】
その後、sをインクリメントし(S43)、sがtを超えていないことを確認し(S44)、次のターンのForward Stage(S41)に進む。その際前記E0を次のように置き換えてエネルギー最小化計算を行う。
【数66】
【0171】
[3.4]写像の計算順序
写像の滑らかさを表すエネルギーE1を計算する際、周囲の点の写像を用いるため、それらの点がすでに計算されているかどうかがエネルギーに影響を与える。すなわち、どの点から順番に計算するかによって、全体の写像の精度が大きく変化する。そこでエッジの絶対値画像を用いる。エッジの部分は情報量を多く含むため、エッジの絶対値が大きいところから先に写像計算を行う。このことによって、特に二値画像のような画像に対して非常に精度の高い写像を求めることができるようになった。
【0172】
[画像符号化および復号に関する実施の形態]
前提技術ではキーフレーム間のマッチングをとって対応情報を生成し、この対応情報をもとに中間フレームを生成した。したがって、この技術は動画の圧縮に利用でき、現実に実験ではMPEGを超える画質と圧縮率の両立が確認されはじめている。以下、前提技術を利用した画像符号化および復号技術を説明する。この技術は、前提技術により生成された中間フレームの画質が表示上問題ある場合、中間フレームを使用せず、その前後のキーフレームをαブレンディングにより処理するものである。これより、さらに不自然感なく動画が再生できるため、重要な要素技術である。
【0173】
(実施の形態1)
図18は実施の形態1に係る画像符号化装置100の構成図である。画像符号化装置100は、画像入力部10、マッチングプロセッサ12、αブレンディング指定部14、ストリーム生成部16、保存部18を有する。
【0174】
画像入力部10は、キーフレームのデータKFiを取得し、そのデータをマッチングプロセッサ12、αブレンディング指定部14、ストリーム生成部16へ出力する。キーフレームは例えば動画のフレームを0.5秒おきに抽出することで定められる。また、デジタルカメラ等で撮影された画像であってもよい。なお、画像入力部10への入力は、ハードディスク、ネットワーク上のサーバー、デジタルカメラなどの画像撮影装置などから行われる。
【0175】
マッチングプロセッサ12は、キーフレームどうしの間でマッチング計算を行い、対応情報データCi,jを生成する。このマッチング計算は、前提技術に基づき、または別の任意の技術に基づき、特異点その他をもとに画素単位で行われる。対応情報データCi,jはαブレンディング指定部14、ストリーム生成部16へ出力される。
【0176】
αブレンディング指定部14は、キーフレームKFiのデータと対応情報データCi,jによって生成される中間フレームの画質が表示上問題ある場合に、これを特定する。特定する方法は後述する。αブレンディング指定部14はストリーム生成部16に対して、特定された中間フレームを前後から挟むふたつのキーフレーム間にαブレンディングすることを指定する。
【0177】
ストリーム生成部16は、キーフレームのデータKFiと対応情報データCi,jを組み込んで符号化データストリームCBS(Coded Bit Stream:以下単にデータストリームという)を形成する。しかし、αブレンディング指定部14から所定のキーフレーム間をαブレンディングすると指定された場合、対応データは不要なため、そのキーフレーム間には対応情報データを組み込まない。このときのデータストリームは後述する。
保存部18は、データストリームを必要に応じて保存する。
【0178】
図19はαブレンディング指定部14の構成図である。αブレンディング指定部14は、再生部40、特定部42を有する。
【0179】
再生部40は、キーフレームのデータKFiと対応情報データCi,jから前提技術にもとづく補間によって、中間フレームを生成する。この中間フレームを所定のタイミングで標本化し、所定の枚数の静止画像に変換する。さらに、これを特定部42に出力する。図20は、キーフレームと中間フレームを標本化した静止画像を時間順に左から並べたものである。図20中のIFは、中間フレームを標本化した静止画像である。図20において、中間フレームはキーフレーム間に3枚となる時間間隔で標本化されている。
【0180】
特定部42では、ユーザによって、再生部40で変換された静止画像の中から、画質について表示上問題ある静止画像が選択される。例えば、図20におけるKFとIFの一覧がモニタに表示され、ユーザが主観的にIF2の画質に問題があると判断した場合、ユーザはパーソナルコンピュータに接続されたマウスを使用してこのIF2をクリックするなどにより、IF2を選択する。表示上問題のある静止画像の特定は、それに対する中間フレーム、対応情報データの特定に対応する。そして特定部42は、選択された中間フレームを前後から挟むふたつのキーフレーム間について、αブレンディングの実施を決定し、これをストリーム生成部16に出力する。例えば、図20のIF2が選択された場合、KF1とKF2の間をαブレンディングすると決定する。
【0181】
図21は、ストリーム生成部16によって形成されたデータストリームの一例である。ここで、ストリーム生成部16はαブレンディング指定部14よりKF1とKF2の間でαブレンディングを行うことが指定されている。このデータストリームは具体的に、
KF0,KF1,C0,1,KF2,B1,2,KF3,・・・
である。KF0とKF1に対して、対応情報データC0,1が送信されているため、復号側ではこれらをもとに中間フレームを生成する。しかし、KF2の次は、KF1とKF2の間の対応情報データC1,2でなく、B1,2が送信されている。ここでB1,2はKF1とKF2の間にαブレンデリングの実施を指示するデータである。復号側では、C1,2とB1,2のデータの相違を判別し、KF1とKF2の間にαブレンディングを行う。
【0182】
図22、図23はそれぞれ対応情報データCi,jとαブレンディングの実施を指示するデータBi,jの信号のフォーマットを示す。ここではまず、先頭ビットがそれぞれ「0」「1」と記述され、両者が識別可能に構成されている。もちろん、この部分は一般にはある程度情報量のあるヘッダ部分に相当し、ヘッダ内のデータの相違によって両者を識別可能にしてもよい。つづいて、対応情報データCi,jの場合はキーフレーム間の対応情報が例えば画素ごとに記述されている。その後に、KFiとKFjを再生または表示すべき時刻データが付加されている。キーフレームが固定間隔で選定される場合、この時刻データは不要であるが、この間隔が変化しうる場合、時刻データは必要である。この時刻データは、開始フレームであるKF0やひとつ前のキーフレームからの経過時間などの表示であればよい。なお、時刻データはデータストリームCBSの先頭に集めるなど、キーフレームのデータとかなり離れた位置にあってもよい。
【0183】
一方、αブレンディングの実施を指示するデータBi,jにおいては、例えば、α値などのαブレンディングを実施するために必要なパラメータが記述されている。このパラメータは省略可能で、その場合、復号側はα=0.5などと解釈してもよい。このパラメータを省略する場合、αブレンディングの実施を指示するデータBi,j自体も削除可能で、そのときはすぐ後に来るキーフレーム、例えばKFj+1のデータを詰め、かつそのヘッダ情報によってこれがキーフレームのデータであることを示し、その結果、αブレンディングの実施を指示するデータBi,jの省略を暗黙的に示せばよい。このときのデータストリームを図24に示す。この場合でも現実にはαブレンディングの実施の指示が明確に了解できるため、この場合も「αブレンディングの実施を指示するデータ」が挿入されていると解釈する。
【0184】
このように本実施の形態によれば、マッチング計算により生成された中間フレームの画質が表示上問題ある場合に、この中間フレームをαブレンディングにより処理するため、より自然な動画の再生が可能となる。また、ユーザが自らの判断で問題ある中間フレームを特定するため、αブレンディングする中間フレームの選択がより確実となる。
【0185】
(実施の形態2)
実施の形態2に係る画像符号化装置100の構成図は図18であり、実施の形態1と同一であるが、αブレンディング指定部14の構成が異なる。図25は実施の形態2に係るαブレンディング指定部14の構成図である。αブレンディング指定部14は、再生部40、計算部44を有する。このうち再生部40は図19と同一である。
【0186】
計算部44は、特定部42と異なり、キーフレームと中間フレームを標本化した静止画像の中から、計算で自動的に、画質について表示上問題ある静止画像を特定する。まず、計算部44は、キーフレームと中間フレームを標本化した静止画像の中から、所定の2枚の画像を選択する。図26は、KF1とIF2が選択されていることを示す。次に、選択された2枚の画像の差を計算する。差は、例えば両画像の位置的に対応しあう画素値の差の絶対値や二乗の総和の大きさである。図26では、KF1とIF2の座標(x0、y0)の画素p0とp1における画素値を比較している。さらに、この画素値の差は画面全体の画素値数で総和される。このようにして求められた差が、所定のしきい値と比較して大きい場合、計算部44はこのIF2を表示上問題ある画像として特定する。その後の動作は図19の特定部42と同一である。
【0187】
このように本実施の形態によれば、表示上問題のある中間フレームの特定を計算により行うため、自動的に処理でき、ユーザの利用に関し利便性が向上する。またこの計算は、キーフレームと中間フレームにより生成された画像をもとに行われるので、復号側と同様の画像を使用する。そのための表示上問題のある中間フレームの特定が確実になる。
【0188】
(実施の形態3)
図27は実施の形態3に係る画像符号化装置110の構成図である。画像符号化装置110は、画像入力部10、マッチングプロセッサ20、αブレンディング指定部22、ストリーム生成部16、保存部18を有する。このうち画像入力部10、ストリーム生成部16、保存部18は図18と同一である。
【0189】
マッチングプロセッサ20は、図18のマッチングプロセッサ12と同様に、キーフレームどうしの間でマッチング計算を行うが、出力するデータの内容が異なる。マッチングプロセッサ20は対応情報データCi,jをストリーム生成部16のみに出力する。一方、αブレンディング指定部22へは前提技術にもとづいて対応情報データを生成する際に得られるデータを出力する。例えば、全単射条件を満たすか否か、式14の写像のエネルギー値などである。
【0190】
αブレンディング指定部22は、対応情報データを生成する際に得られるデータを所定の条件と比較して、画質に表示上問題がある中間フレームを特定する。例えば、全単射条件を満たしていない場合や写像のエネルギー値が所定の値より大きい場合は、対応情報データより生成された中間フレームの画質に表示上問題があると判断する。そして、αブレンディング指定部22はストリーム生成部16に対して、その中間フレームを前後から挟むふたつのキーフレーム間にαブレンディングの実施を指定する。
【0191】
このように本実施の形態によれば、表示上問題のある中間フレームの特定において、中間フレームの生成が不要で、すでに存在するデータを使用するのみなので、演算処理の軽減が図られる。さらに、対応情報データを生成する際に得られたデータを使用するため、対応情報データの問題点が反映されており、問題ある中間フレームの特定の確実性が向上する。
【0192】
(実施の形態4)
図28は実施の形態4に係る画像符号化装置120の構成図である。画像符号化装置120は、画像入力部10、マッチングプロセッサ12、αブレンディング指定部24、ストリーム生成部26、保存部18を有する。このうち画像入力部10、マッチングプロセッサ12、保存部18は図18と同一である。また、図29は、画像符号化装置120の動作を説明するフローチャートである。
【0193】
画像入力部10は、キーフレームKFiのデータを取得する(S70)。マッチングプロセッサ12は、キーフレームどうしの間でマッチング計算を行い、対応情報データCi,jを生成する(S72)。αブレンディング指定部24は、キーフレームのデータKFiと対応情報データCi,jから生成される中間フレームの画質が表示上問題ある場合に、これを特定し、それを前後から挟むふたつのキーフレーム間にαブレンディングの実施を指定する(S74)。ストリーム生成部26は、データストリームを形成する(S76)。このとき、αブレンディングの実施の指定がなければ、対応情報データCi,jを組み込み、αブレンディングの実施の指定があれば、例えば、αブレンディングの実施を指示するデータBi,jを組み込む。以上は、上述した実施の形態1から3と同一である。
【0194】
本実施の形態において、データストリームは再びαブレンディング指定部24に入力される。αブレンディング指定部24は、データストリームに含まれるキーフレームデータ、対応情報データ、αブレンディングの実施を指示するデータをもとに、データストリームを復号する(S78)。これより、αブレンディング処理を含んだ動画像が再生される。ユーザは再生された画像から、画質について表示上問題ある画像を選択する。この選択された画像をもとにαブレンディングを行うふたつのキーフレームが再び指定される(S80)。ストリーム生成部26は、改めて指定されたαブレンディングを行うキーフレームの情報を反映させて、再度データストリームを形成する(S82)。
【0195】
このように本実施の形態によれば、1回目のαブレンディングの実施の指定の結果を確認した後、さらに2回目のαブレンディングの実施の指定を行うことにより、1回目の誤指定を修正することができ、αブレンディングの実施の指定の精度を向上させることができる。また、1回目の指定を自動で行い、2回目の指定を手動で行うことにより、より簡単に、より確実にαブレンディングの実施の指定を行うことが可能である。
【0196】
(実施の形態5)
図30は実施の形態5に係る画像復号装置200の構成図である。画像復号装置200は、ストリーム入力部50、中間画像生成部52、αブレンディング検出部54、表示制御部56を有する。
【0197】
ストリーム入力部50は、符号化されたデータストリームCBSを取得する。そして、データストリームを中間画像生成部52へ出力する。
中間画像生成部52は、そのデータストリームから前提技術にもとづく補間によって中間フレームを生成する。αブレンディング検出部54は、中間画像生成部52の内部に設けられている。αブレンディング検出部54は、データストリーム中のαブレンディングを行う指示を検出し、該当するキーフレーム間では中間フレームを生成せず、αブレンディングの処理を行う。
表示制御部56は、キーフレームおよび中間フレームを動画として表示するための処理を行う。表示制御部56で生成された表示データは表示装置へ出力され、画像が再生される。
【0198】
図31は、中間画像生成部52による中間フレームの生成の原理を示す。この処理自体は前提技術でも示されている。すなわち、ふたつのキーフレームKF5、KF6とその対応情報主データC5,6があるとき、まずこのデータにより、キーフレームKF5上の点p0(x0,y0)が他方のキーフレームKF6上の点p1(x1,y1)に対応することが判明する。点は座標(xi,yi)と画素値piで特定される。したがって、これらのキーフレームの中間フレームIF5,6(t)の点pt(xt,yt)は座標および画素値を時間軸上で補間することで得られる。
【0199】
図30に戻る。αブレンディング検出部54は例えば,αブレンディングを行う指示するデータBi,jを検出する。これが検出されたとき、対応情報ファイルによる中間フレームの生成はスキップされる。図31のデータストリームの場合、KF5とKF6の間で中間フレームは生成されない。その代わり、これらのキーフレームの間にαブレンディングを行う。
【0200】
このように本実施の形態によれば、前提技術による画像の再生に加え、αブレンディング処理を行うため、状況に応じてより自然な画像の再生が可能となる。
【0201】
(実施の形態6)
図33は実施の形態6に係る画像符号化装置130の構成図である。画像符号化装置130は、画像入力部10、マッチングプロセッサ12、αブレンディング指定部30、ストリーム生成部32、保存部18を有する。画像入力部10、マッチングプロセッサ12、保存部18は図18におけるものと同一である。αブレンディング指定部30、ストリーム生成部32は図18におけるαブレンディング指定部14、ストリーム生成部16と機能が異なる。
実施の形態6は、実施の形態1から5と異なり、αブレンディングを中間フレーム内の部分に対して実施する。
【0202】
αブレンディング指定部30は、キーフレームKFiのデータと対応情報データCi,jによって生成される中間フレームにおける所定の部分の画質が表示上問題ある場合に、その部分を特定する。特定する方法は後述する。αブレンディング指定部30はストリーム生成部32に対して、表示上問題ある部分を含む中間フレームを前後から挟むふたつのキーフレーム間にαブレンディングの実施を指定する。このとき、αブレンディングは中間フレームで特定された表示上問題のある部分に対応する部分に対して行われる。
【0203】
ストリーム生成部32は、キーフレームのデータKFiと対応情報データCi,jを組み込んでデータストリームを形成する。キーフレーム間の中間フレームはαブレンディングする部分を含むため、対応情報データは必要な部分のみデータストリームに組み込むことも可能である。このときのデータストリームは後述する。
【0204】
図34は、αブレンディング指定部30の構成図である。αブレンディング指定部30は、再生部40、部分特定部34を有する。再生部40は、図19におけるものと同一である。
部分特定部34では、例えばユーザによって、再生部40で再生されたコンテンツの画像から、画質について表示上問題ある部分が選択される。これは、画質について問題のない部分を選択してもかまわず、画質について問題のある部分と問題のない部分が区別されればよい。この画像は動画像の形式であってもよいし、静止画像の形式であってもよい。また、キーフレームと中間フレームを含む。
【0205】
図35は、キーフレームと中間フレームを標本化した静止画像を時間順に左から並べたものである。図35のIFは、中間フレームを標本化した静止画像である。また各画像は、説明の便宜上、一例として図35に示す16の部分に分割する。これら16の部分を、図示の通りAからPと示すものとする。図35におけるKFとIFの一覧がモニタに表示され、ユーザが主観的にIF1における部分F、G、J、Kの画質が問題ないと判断した場合、ユーザはパーソナルコンピュータに接続されたマウスを使用してこのIF1におけるF、G、J、K部分を選択する。これは、図34の部分特定部34により実行される。
【0206】
IF1におけるF、G、J、K部分は、KF1におけるE、F、I、J部分に対応するものとする。別の言い方をすれば、KF1におけるE、F、I、J部分はIF1におけるF、G、J、K部分に移動している。これは、例えば、対応情報データより認識可能である。部分特定部34は、KF1とKF2間において、KF1におけるE、F、I、J部分に対応する対応情報データを使用し、それ以外の部分にαブレンディングを実施する旨をαブレンディング選択信号としてストリーム生成部32に出力する。なお、部分特定部34における選択は、画質について問題のある部分に対して行われてもよい。
【0207】
図36は、ストリーム生成部32によって形成されたデータストリームの一例である。ここで、ストリーム生成部32は上述例の通り、αブレンディング指定部30よりKF1とKF2の間において、KF1におけるE、F、I、J部分には対応情報データを、それ以外の部分にはαブレンディングを使用する旨が指定されている。このデータストリームは具体的に、
KF0,KF1,C0,1,KF2,C1,2(E、F、I、J),B1,2(残り),KF3,・・・
である。ここで、C1,2(E、F、I、J)は、KF1におけるE、F、I、J部分の対応情報データであり、B1,2(残り)は、αブレンディングの実施を指示するデータである。なお、復号側が、対応情報データがない部分に関してはαブレンディングを行う等の処理を認識している場合、B1,2(残り)を組み込まなくてもよい。また、C1,2(E、F、I、J)の代わりにC1,2を組み込み、その前に、C1,2をKF1におけるE、F、I、J部分のみに適用する旨の指示信号を組み込んでもよい。これらの場合でも現実にはαブレンディングの実施の指示が明確に了解できるため、この場合も「αブレンディングの実施を指示するデータ」が挿入されていると解釈する。
【0208】
実施の形態6に係る画像復号装置は、図30における画像復号装置200と同様の構成を有する。中間画像生成部52の機能が異なる。
【0209】
図37は、中間画像生成部52においてKF1とKF2からIF1を生成する処理を説明する図である。図37においても図35と同様に、各画像は、AからPで示される16の部分に分割する。αブレンディング検出部54は、データストリームからαブレンディングを行う部分または行わない部分を検出する。中間画像生成部52は、KF1とKF2からαブレンディングにより初期中間フレームIIF1を生成する。また、KF1におけるE、F、I、J部分と対応情報データC1,2(E、F、I、J)より部分的な中間画像IF1’を生成する。この中間画像IF1’は時間的にIIF1に対応するであるため、画像の位置は、F、G、J、Kに移動している。ここでは、IF1’に対して、これをF’、G’、J’、K’と示す。IIF1におけるF、G、J、K部分をIF1’で置換し、中間フレームIF1を生成する。
【0210】
このように本実施の形態によれば、マッチング計算により生成された中間フレームの画質に表示上問題ある部分が存在する場合に、この部分をαブレンディングにより処理するため、より自然な動画の再生が可能となる。
以上、実施の形態をもとに本発明を説明した。なお本発明はこの実施の形態に限定されることなく、そのさまざまな変形例もまた、本発明の態様として有効である。
【0211】
実施の形態1では、αブレンディング指定部14において、中間フレームを特定の時間間隔で標本化し、静止画像を得ている。しかし、この標本化は同一の時間間隔のみで行われる必要はない。例えば、最初は中間フレームを長い時間間隔で標本化する。続いて、自動的にまたはユーザの指示により、この中間フレームをさらに細かく標本化することも可能である。具体的には、ふたつのキーフレーム間にあるひとつの中間フレームを3枚程度に標本化した後、これを10枚程度で標本化する。これより、時間間隔の長い標本化のため、全体を少ない枚数の画像で確認できるので、表示品質上問題のありそうな中間フレームの画像の迅速な発見が可能である。さらに、問題のありそうな中間フレームをより時間間隔の短い標本化で詳細に確認することができるので、問題のある中間フレームが確実に特定される。なお、標本化の時間間隔は2種類でなくてもよい。また、標本化の時間間隔は上記に示したもの以外でもかまわない。要は、表示品質上問題のある中間フレームの特定がより迅速で確実になる標本化の時間間隔であればよい。
【0212】
実施の形態1では、αブレンディング指定部14において、中間フレームを特定の時間間隔で標本化して静止画像を生成し、ユーザはこれらの静止画像の中から表示品質上問題のある中間フレームを特定している。しかし、中間フレームを静止画像に標本化せず、これを動画像として表示し、ユーザはその中から問題のある中間フレームを選択することも可能である。例えば、モニタでは動画像を表示し、ユーザがこの動画像から問題のある画像を見つけた場合、ボタンを押したり、マウスをクリックすることで、その画像を特定することが可能である。これより、直接動画像を見ることで、実際復号側と同一の表示内容から表示上問題のある中間フレームを特定することが可能である。なお、動画像の再生速度は均一でなくてもよい。早送り、スローモーション等があってもよく、さらには静止画像との併用であってもかまわない。要は、再生画像のイメージをつかめて、さらに表示上問題のある中間フレームが特定可能であればよい。
【0213】
実施の形態2では、αブレンディング指定部22において、ふたつの画像の位置的に対応しあう画素値の差の絶対値や二乗の総和の大きさを計算し、これを所定のしきい値と比較することにより、表示上問題ある中間フレームの画像を特定している。しかし、計算方法はこれに限られたものではない。例えば、ふたつの画像の位置的に対応しあう画素値の差の絶対値や二乗値を画面中の特定の領域のみで和をとり、これとしきい値を比較してもよい。画像の一部のみが異なる場合、この方がふたつの画像の差を明らかにできるからである。また、比較する画像は、共にキーフレームでもよい。表示上の問題の原因がシーンチェンジの場合、前後関係にあるキーフレームの画像自体が異なる可能性があるからである。要は、ふたつの画像の内容の差が明らかになればよい。
【0214】
実施の形態3では、対応情報データを生成する際に得られるデータ、例えば、前提技術の全単射条件を満たすか否か、式14の写像のエネルギー値を所定の条件と比較して、表示上問題ある中間フレームの画像を特定している。しかし、特定にはこれらのすべてを使用する必要はなく、これらの一部、これらの一部の組み合わせ、これらの一部をもとに計算して得られたデータをもとに特定してもよい。例えば、全単射条件のうちの一部や、写像のエネルギー式14のうちの1項である。さらに、これらのデータとキーフレーム、中間フレームなどの組み合わせをもとに特定してもよい。要は、マッチング計算の際に得られるデータを利用すればよい。
【0215】
実施の形態4では、αブレンディングの実施の指定とデータストリームの形成を2回行っている。また、1回目のαブレンディングの実施の指定にキーフレームと対応情報データを使用している。しかし、これに限られず、αブレンディングの実施の指定とデータストリームの形成は3回以上行ってもよく、またその回数が適応的に変化するものでもよい。そのほうがユーザの利便性が向上する場合もあるからである。また、1回目のαブレンディングの実施の指定にキーフレームと対応情報データを使用せず、対応情報データを生成する際に得られるデータを使用してもよい。さらに、表示上問題のある中間フレームの特定は自動である場合と、手動である場合の任意の組み合わせでよい。要は、αブレンディングの実施の指定とデータストリームの形成が複数回行われ、そのことにより、復号される画像の品質が向上すればよい。
【0216】
実施の形態6では、αブレンディングを実施しない部分または実施する部分の指定に中間フレームを使用している。また、表示品質上問題のある部分に対してαブレンディングを実施している。しかし、これらの指定は、中間フレームでなく、キーフレームによって行われてもよい。また、表示品質上問題のない部分に対してαブレンディングを実施してもよい。例えば、キーフレーム中の所定のオブジェクトを指定し、このオブジェクトのみマッチング計算で処理し、残りは背景としてαブレンディングを実施する。要は、αブレンディングを実施する部分と実施しない部分が指定されればよい。
【図面の簡単な説明】
【図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】実施の形態1、2に係る画像符号化装置の構成図である。
【図19】実施の形態1に係るαブレンディング指定部を示す図である。
【図20】図19の装置によるキーフレームと中間フレームを示す図である。
【図21】実施の形態1、2、3、4に係るデータストリームの構成を示す図である。
【図22】実施の形態1、2、3、4に係る対応情報データの構成を示す図である。
【図23】実施の形態1、2、3、4に係るαブレンディングの実施を指示するデータの構成を示す図である。
【図24】実施の形態1、2、3、4に係るデータストリームの別の構成を示す図である。
【図25】実施の形態2に係るαブレンディング指定部を示す図である。
【図26】図25の装置の計算部の動作概要を示す図である。
【図27】実施の形態3に係る画像符号化装置の構成図である。
【図28】実施の形態4に係る画像符号化装置の構成図である。
【図29】図28の装置の動作の手順を説明する図である。
【図30】実施の形態5に係る画像復号装置の構成図である。
【図31】図30の中間画像生成部による中間フレームの生成原理を示す図である。
【図32】改良後の前提技術において第mレベルにおける副写像を求めるフローチャートである。
【図33】実施の形態6に係る画像符号化装置の構成図である。
【図34】実施の形態6に係るαブレンディング指定部の構成図である。
【図35】図33の装置によるキーフレームと中間フレームを示す図である。
【図36】図33の装置によるデータストリームの構成を示す図である。
【図37】実施の形態6の中間画像生成部による中間フレームの生成原理を示す図である。
【符号の説明】
10 画像入力部、 12 マッチングプロセッサ、 14 αブレンディング指定部、 16 ストリーム生成部、 18 保存部、 20 マッチングプロセッサ、 22 αブレンディング指定部、 24 αブレンディング指定部、 26 ストリーム生成部、 30 αブレンディング指定部、 32 ストリーム生成部、 34 部分特定部、 40 再生部、 42 特定部、 44計算部、 50 ストリーム入力部、 52 中間画像生成部、 54 αブレンディング検出部、 56 表示制御部、 100 画像符号化装置、 110 画像符号化装置、 120 画像符号化装置、 130 画像符号化装置、
200 画像復号装置。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing technique, and more particularly, to a method and apparatus for encoding and decoding an image with a focus on moving image compression.
[0002]
[Prior art]
The target area of MPEG (Motion Picture Expert Group), which is the de facto global standard for moving picture compression, has expanded from storage media such as CDs to transmission media such as networks and broadcasts. Digitalization of broadcasting cannot be considered without compression coding technology centered on MPEG. The barriers between broadcasting and telecommunications are breaking down, diversification of service providers is essential, and it is difficult to predict what progress digital culture will make in the broadband era.
[0003]
[Problems to be solved by the invention]
Despite the chaos, there are certain directions for video compression technology. That is, higher compression ratio and higher image quality are compatible. As is well known, block distortion may prevent high compression in MPEG.
The present invention has been made in view of such circumstances, and has as its object a good moving image compression technique, a compression technique for avoiding or reducing block distortion, a compression technique for reproducing a natural moving image according to the situation, and a user. It is an object of the present invention to provide a compression technique that is highly convenient for the user. Another object of the present invention is to provide a technique for partially applying α blending to an image.
[0004]
[Means for Solving the Problems]
Hereinafter, the image decoding technology and the image encoding technology of the present invention will mainly be described with respect to moving images, but the application is not limited to moving images, such as video effects such as morphing and walkthrough.
[0005]
One embodiment of the present invention relates to an image encoding device. This apparatus includes an image input unit for inputting key frame data, an α blending designating unit for designating that α blending is to be performed between two predetermined key frames, and an image input unit for designating between two key frames that do not perform α blending. A stream generating unit that forms a data stream in a form in which it is possible to determine that α-blending is performed between two key frames that perform α-blending by incorporating correspondence information data between those key frames.
The “frame” is a unit of an image, but will not be distinguished from the “image” unless otherwise required.
According to this device, α-blending is used together with the reproduction of a moving image using the correspondence information data between key frames, so that a more natural reproduction of the moving image can be performed depending on the situation.
The stream generation unit may form a data stream by explicitly incorporating data for instructing the execution of α blending in order to determine whether to perform α blending.
[0006]
The α blending designating unit generates an intermediate frame based on the key frame data and the corresponding information data, specifies an intermediate frame having a display quality problem from among the intermediate frames, and selects an intermediate frame having a display quality problem from before and after. It may be specified that α blending is performed between two sandwiched key frames. Further, an intermediate frame having a problem in display quality may be specified based on a user's instruction. Further, when a difference between two predetermined images in a key frame and an intermediate frame is larger than a threshold value, an intermediate frame having a problem in display quality may be specified. Also, by observing data obtained in the process of generating the correspondence information data, an intermediate frame having a display quality problem is identified, and α blending is performed between two key frames sandwiching the intermediate frame having a display quality problem from front and rear. You may specify what to do.
[0007]
An “intermediate frame” is a frame sandwiched between two key frames. Here, it is assumed that the image includes not only a unit of an image sandwiched between two key frames or one image but also a plurality of images sandwiched between two key frames.
The “intermediate frame having a problem in display quality” means an intermediate frame when the image quality of the intermediate frame generated based on the key frame data and the corresponding information data has a problem in image quality due to mismatching or the like. In this case, it can be said that there is also a problem with the corresponding information data corresponding to the problematic intermediate frame. Also, this problem does not necessarily have to be objective, but may be subjective.
[0008]
"Identifying intermediate frames with display quality problems" means not only specifying the intermediate frames directly, but also specifying the images, corresponding information data, and other data corresponding to the intermediate frames. It includes the case where it is done.
The “data obtained in the process of generating the correspondence information data” means data obtained when performing the matching calculation, for example, whether or not a bijection condition is satisfied, an energy value of a mapping, and the like. Further, it is assumed that correspondence information data is also included.
[0009]
The α-blending designator decodes the data stream formed by the stream generator, identifies again an intermediate frame having a display quality problem from the result, and the stream generator changes two key frames for α-blending. By forming the data stream again, the designation of the two key frames for α-blending and the formation of the data stream may be performed a plurality of times.
[0010]
Another embodiment of the present invention relates to an image encoding method. This method includes a step of designating that α blending is performed between two predetermined key frames among input key frame data, and a step of specifying between two key frames not performing α blending between the key frames. And forming a data stream between two key frames that perform α-blending so that it can be determined that α-blending is to be performed.
[0011]
Still another preferred embodiment according to the present invention relates to an image decoding apparatus. The apparatus includes a stream input unit that inputs a data stream including at least corresponding information data between key frames, and an intermediate unit that generates an intermediate frame based on the corresponding information data included in the input data stream and key frame data. An image generation unit; and an α blending detection unit that determines whether to perform α blending based on the input data stream. With this configuration, if it is determined that the α-blending is to be performed, the intermediate image generation unit stops generating the intermediate frame and performs the α-blending.
According to this device, in addition to image reproduction, α-blending processing is performed, so that more natural image reproduction can be performed depending on the situation.
The α blending detection unit may determine to perform α blending by detecting data instructing to perform α blending.
[0012]
Still another preferred embodiment according to the present invention relates to an image decoding method. This method includes a step of determining whether or not to perform α blending from an input data stream, and a step of determining whether to perform α blending based on the corresponding information data and key frame data included in the data stream. And generating an intermediate frame, and stopping the generation of the intermediate frame when it is determined to perform α blending, and performing α blending.
[0013]
Still another preferred embodiment according to the present invention relates to a program. The program includes a step of designating that α blending is performed between two predetermined key frames in input key frame data, and a step of specifying between two key frames not performing α blending between those key frames. And forming a data stream between two key frames that perform α-blending so that it can be determined that α-blending is to be performed.
[0014]
Still another preferred embodiment according to the present invention relates to a program. The program includes a step of determining whether to perform α blending from an input data stream, and a step of determining whether to perform α blending based on the corresponding information data and key frame data included in the data stream. And generating an intermediate frame, and stopping the generation of the intermediate frame when it is determined to perform α blending, and performing α blending.
[0015]
Yet another embodiment of the present invention relates to an image encoding device. This device includes an image input unit for inputting data of a key frame, an α blending designating unit for designating that a predetermined portion in the key frame is to be α-blended, and a portion for not performing α blending in the key frame. And a stream generation unit that forms a data stream in a form in which it is possible to determine that α blending is to be performed for a part that performs α blending by incorporating correspondence information data between key frames corresponding to that part. Including.
[0016]
“Specifying that a predetermined portion in a key frame is to be subjected to α blending” includes a case in which specifying not to perform α blending for a predetermined portion of a key frame. In this case, it is only necessary to specify a portion where α blending is performed and a portion where α blending is not performed.
According to this device, in the reproduction of a moving image using the correspondence information data between key frames, α-blending is used in combination with a part of the image, so that a more natural reproduction of the moving image can be performed depending on the situation.
[0017]
The α blending designating unit generates an intermediate frame based on the data of the key frame and the corresponding information data, specifies a portion having a problem in display quality from the intermediate frame, and specifies two portions of the key frame sandwiching the intermediate frame from front and rear. It may be specified to perform α blending on a portion corresponding to the specified portion. Further, an instruction for specifying a portion to perform α blending may be received from the user, and the processing may be performed based on the instruction.
"Specifying a portion having a problem in display quality" includes a case in which a portion having no problem in display quality is specified. It is assumed that a portion having no problem in display quality and a certain portion need only be specified.
The “instruction for specifying a part to be α-blended” includes a case where a part in a key frame is directly specified and a case where it is indirectly specified. An example of the latter is a case where a part in an intermediate frame is specified. It suffices if a part to be subjected to α blending is finally specified.
[0018]
Still another preferred embodiment according to the present invention relates to an image coding method. This method includes the steps of specifying that α-blending is performed on a predetermined portion of a key frame of input key frame data, and that the α-blending is performed on a portion of the key frame that does not perform α-blending. Forming a data stream in such a manner as to incorporate the corresponding information data between the key frames corresponding to the portions, and to determine that the α-blending is to be performed for the portions to be α-blended.
[0019]
Still another preferred embodiment according to the present invention relates to an image decoding apparatus. The apparatus includes a stream input unit for inputting a data stream including at least correspondence information data between key frames, an α blending detecting unit for determining a portion for performing α blending in a key frame from the input data stream, and a key frame. For the part that does not perform α blending, the intermediate frame based on α blending is used for the part that performs α blending based on the corresponding information data and key frame data included in the input data stream. And an intermediate image generation unit that generates
"Determination of a portion to be subjected to α blending" includes a case of determining a portion not to perform α blending. It is assumed that it is only necessary to be able to discriminate between a part where α blending is performed and a part where α blending is not performed.
According to this apparatus, since α blending processing is partially performed for image reproduction, more natural image reproduction can be performed depending on the situation.
[0020]
The intermediate image generation unit generates an initial intermediate frame from the data of the key frame by α blending, generates an image corresponding to a portion where α blending is not performed from the corresponding information data and the data of the key frame, and generates an image in the initial intermediate frame. An intermediate frame may be generated by replacing a portion corresponding to a portion not to be blended with an image.
An “initial intermediate frame” is a frame generated in the intermediate frame generation stage.
[0021]
Still another preferred embodiment according to the present invention relates to an image decoding method. The method comprises the steps of: determining an α-blending portion in a key frame from an input data stream; and corresponding information data included in the input data stream for a non-α-blending portion in the key frame. And generating an intermediate frame based on α blending for a portion to be α blended based on the key frame data.
[0022]
Still another preferred embodiment according to the present invention relates to a program. The program includes a step of designating that α blending is performed on a predetermined portion of a key frame in input key frame data, and a step of specifying that α blending is not performed on a key frame. Forming a data stream in such a manner as to incorporate the corresponding information data between the key frames corresponding to the portions, and to determine that the α-blending is to be performed for the portions to be α-blended.
Still another preferred embodiment according to the present invention relates to a program. The program includes a step of determining an α-blending part in a key frame from an input data stream, and a step of determining corresponding information data included in the input data stream for a part of the key frame not performing α-blending. And generating an intermediate frame based on α blending for a portion to be α blended based on the key frame data.
[0023]
In each of the above aspects, the technique for deriving the correspondence information may be an application of a matching technique using a singular point (hereinafter, referred to as “premise technique”) proposed by the present applicant in Japanese Patent No. 2927350.
Any of the above configurations and steps arbitrarily exchanged, some or all of the expressions exchanged or added between the method and the device, and the expressions changed to computer programs, recording media, etc., are also effective as the present invention. It is.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
First, a multi-resolution singularity filter technology used in the embodiment and an image matching process using the same will be described in detail as “prerequisite technology”. These techniques have already been obtained by the present applicant in Japanese Patent No. 2927350, and are optimal for combination with the present invention. However, the image matching technology that can be adopted in the embodiment is not limited to this. The image data encoding and decoding technology using the base technology will be specifically described below with reference to FIG. However, FIG. 32 is excluded.
[0025]
[Background of the underlying technology]
First, the basic technology of the base technology is described in detail in [1], and the processing procedure is specifically described in [2]. Further, [3] describes improvements made based on the base technology.
[0026]
[1] Details of elemental technology
[1.1] Introduction
A new multi-resolution filter called a singularity filter is introduced to accurately calculate matching between images. No prior knowledge of the object is required. The calculation of matching between images is calculated at each resolution while proceeding through the resolution hierarchy. At that time, the hierarchy of the resolution is sequentially traced from a coarse level to a fine level. The parameters required for the calculation are set completely automatically by dynamic calculations similar to the human visual system. It is not necessary to manually specify corresponding points between images.
[0027]
The base technology can be applied to, for example, completely automatic morphing, object recognition, stereoscopic photogrammetry, volume rendering, generation of a smooth moving image from a small number of frames, and the like. When used for morphing, a given image can be automatically transformed. When used for volume rendering, intermediate images between sections can be accurately reconstructed. The same applies to the case where the distance between sections is long and the shape of the section changes greatly.
[0028]
[1.2] Hierarchy of singularity filter
The multi-resolution singularity filter according to the base technology can save the luminance and the position of each singularity included in the image while reducing the resolution of the image. Here, the width of the image is N and the height is M. Hereinafter, for simplicity, N = M = 2n(N is a natural number). Also, the section [0, N] ⊂R is described as I. Let the pixel of the image at (i, j) be p(I, j)(I, j∈I).
[0029]
Here, a multi-resolution hierarchy is introduced. The hierarchized image group is generated by a multi-resolution filter. The multi-resolution filter performs a two-dimensional search on the original image to detect a singular point, and extracts the detected singular point to generate another image having a lower resolution than the original image. . Here, the size of each image at the m-th level is 2m× 2m(0 ≦ m ≦ n). The singularity filter recursively constructs the following four types of new hierarchical images in a direction descending from n.
[0030]
(Equation 1)
However, here
(Equation 2)
And Hereinafter, these four images are called sub-images (sub-images). minx ≦ t ≦ x + 1, Maxx ≦ t ≦ x + 1Are described as α and β, respectively, the sub-images can be described as follows.
[0031]
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)
That is, these are considered to be like the tensor product of α and β. Each sub-image corresponds to a singular point. As is apparent from these equations, the singularity filter detects a singularity for each block composed of 2 × 2 pixels in the original image. At this time, a point having a maximum pixel value or a minimum pixel value is searched for in two directions of each block, that is, in the vertical and horizontal directions. As the pixel value, the luminance is adopted in the base technology, but various numerical values relating to the image can be adopted. The pixel with the maximum pixel value in both directions is the local maximum point, the pixel with the minimum pixel value in both directions is the local minimum point, the maximum pixel value in one of the two directions, and the minimum pixel value in the other. Are detected as saddle points.
[0032]
The singularity filter reduces the resolution of the image by representing the image of the block (here, four pixels) with the image of the singularity (here, one pixel) detected inside each block. From a theoretical point of view of the singularity, α (x) α (y) preserves the minimum point, β (x) β (y) preserves the maximum point, α (x) β (y) and β (x) α (y) preserves the saddle point.
[0033]
First, a singular point filter process is separately performed on a start point (source) image and an end point (destination) image to be matched to generate a series of image groups, that is, a start point hierarchical image and an end point hierarchical image. The start point hierarchical image and the end point hierarchical image are respectively generated in four types corresponding to the types of singular points.
[0034]
Thereafter, matching between the start hierarchical image and the end hierarchical image in a series of resolution levels is performed. First p(M, 0)Is used to match the minimum point. Next, based on the result, p(M, 1)Is used to match the saddle point, and p(M, 2)Is used to match other saddle points. And finally p(M, 3)Is used to match the maximum point.
[0035]
FIGS. 1C and 1D show the sub-image p of FIGS. 1A and 1B, respectively.(5,0)Is shown. Similarly, FIGS. 1E and 1F show p(5,1), FIG. 1 (g) and FIG. 1 (h)(5,2), FIG. 1 (i) and FIG. 1 (j)(5,3)Are respectively shown. As can be seen from these figures, the matching of the characteristic portions of the image is facilitated by using the sub-image. First p(5,0)The eyes become clear. This is because the eyes are the minimum point of luminance in the face. p(5,1)According to the mouth becomes clear. This is because the mouth has low brightness in the horizontal direction. p(5,2)According to the vertical lines on both sides of the neck are clear. Finally, p(5,3)This clarifies the brightest spots on the ears and cheeks. This is because these are the maximum points of luminance.
[0036]
Since the features of the image can be extracted using the singularity filter, for example, by comparing the features of the image captured by the camera with the features of several objects recorded in advance, the subject shown in the camera can be identified. can do.
[0037]
[1.3] Calculation of mapping between images
Let the pixel at the position (i, j) of the starting image be p(N) (I, j)And the pixel at the position (k, l) of the end point image is q(N) (K, l)Described by i, j, k, l∈I. Defines the energy of mapping between images (described below). This energy is determined by the difference between the luminance of the pixel of the start image and the luminance of the corresponding pixel of the end image, and the smoothness of the mapping. P with the lowest energy first(M, 0)And q(M, 0)Mapping f(M, 0): P(M, 0)→ q(M, 0)Is calculated. f(M, 0)P with minimum energy(M, 1), Q(M, 1)Mapping f(M, 1)Is calculated. This procedure is p(M, 3)And q(M, 3)The mapping f between(M, 3)It continues until the calculation of is completed. Each mapping f(M, i)(I = 0, 1, 2,...) Is called a submapping. f(M, i)Can be rearranged as follows for the convenience of the calculation of The reason why the sorting is necessary will be described later.
[0038]
(Equation 3)
Here, σ (i) {0, 1, 2, 3}.
[0039]
[1.3.1] Bijective
When the matching between the start image and the end image is expressed by a mapping, the mapping should satisfy the bijection condition between the two images. This is because there is no conceptual advantage between the two images, and each pixel should be connected in a bijective and injective manner. However, unlike the usual case, the mapping to be constructed here is a digital version of the bijection. In the base technology, pixels are specified by grid points.
[0040]
The mapping from the starting sub-image (the sub-image provided for the starting image) to the ending sub-image (the sub-image provided for the ending image) is f(M, s): I / 2nm× I / 2nm→ I / 2nm× I / 2nm(S = 0, 1,...). Where f(M, s)(I, j) = (k, l) is p of the starting image(M, s) (I, j)Is the q of the end point image(M, s) (K, l)Means to be mapped to For simplicity, when f (i, j) = (k, l) holds, pixel q(K, l)To qf (i, j)It is described.
[0041]
When data is discrete like pixels (grid points) handled in the base technology, the definition of bijection is important. Here, they are defined as follows (i, i ', j, j', k, and l are all integers). First, each square area represented by R in the plane of the starting image,
[0042]
(Equation 4)
(I = 0, ..., 2m-1, j = 0, ..., 2m-1). Here, the direction of each side (edge) of R is determined as follows.
[0043]
(Equation 5)
This square must be mapped by mapping f to a quadrilateral in the destination image plane. f(M, s)A quadrilateral indicated by (R),
[0044]
(Equation 6)
Must satisfy the following bijection conditions:
[0045]
1. Quadrilateral f(M, s)The edges of (R) do not cross each other.
[0046]
2. f(M, s)The directions of the edges of (R) are equal to those of R (clockwise in FIG. 2).
[0047]
3. As a relaxation condition, a contraction map (retractions) is allowed.
[0048]
This is because there is only a unit mapping that completely satisfies the bijection condition unless some relaxation condition is set. Where f(M, s)The length of one edge of (R) is 0, that is, f(M, s)(R) may be a triangle. However, it should not be a figure whose area is 0, that is, one point or one line segment. When FIG. 2 (R) is the original quadrilateral, FIGS. 2 (A) and 2 (D) satisfy the bijection condition, but FIGS. 2 (B), 2 (C), and 2 (E). ) Is not satisfied.
[0049]
In an actual implementation, the following conditions may be further imposed to easily guarantee that the mapping is surjective. That is, each pixel on the boundary of the start image is mapped to a pixel occupying the same position in the end image. That is, f (i, j) = (i, j) (where i = 0, i = 2m-1, j = 0, j = 2m-1 on four lines). This condition is hereinafter also referred to as “additional condition”.
[0050]
[1.3.2] Energy of mapping
[1.3.2.1] Cost related to pixel luminance
Define the energy of the mapping f. The goal is to find a mapping that minimizes energy. The energy is mainly determined by the difference between the luminance of the pixel of the start image and the luminance of the pixel of the corresponding end image. That is, the mapping f(M, s)Energy C at point (i, j)(M, s) (I, j)Is determined by the following equation.
[0051]
(Equation 7)
Here, V (p(M, s) (I, j)) And V (q(M, s) f (i, j)) Is the pixel p(M, s) (I, j)And q(M, s) f (i, j)Is the brightness of the image. f total energy C(M, s)Is one evaluation expression for evaluating the matching.(M, s) (I, j)Can be defined as the sum of
[0052]
(Equation 8)
[1.3.2.2] Cost related to pixel location for smooth mapping
In order to obtain a smooth mapping, another energy Df for the mapping is introduced. This energy is independent of the brightness of the pixel,(M, s) (I, j)And q(M, s) f (i, j)(I = 0, ..., 2m-1, j = 0, ..., 2m-1). Mapping f at point (i, j)(M, s)Energy D(M, s) (I, j)Is defined by the following equation.
[0053]
(Equation 9)
Here, the coefficient parameter η is a real number of 0 or more, and
(Equation 10)
[Equation 11]
And here,
[0054]
(Equation 12)
And f (i ′, j ′) is determined to be 0 for i ′ <0 and j ′ <0. E0Is determined by the distance between (i, j) and f (i, j). E0Prevents pixels from being mapped to pixels that are too far apart. Where E0Will later be replaced by another energy function. E1Guarantees the smoothness of the mapping. E1Is p(I, j)Represents the distance between the displacement of an adjacent point and the displacement of its adjacent point. Based on the above considerations, energy D which is another evaluation formula for evaluating matchingfIs determined by the following equation.
[0055]
(Equation 13)
[1.3.2.3] Total energy of mapping
The total energy of the mapping, that is, the comprehensive evaluation formula relating to the integration of multiple evaluation formulas is λC(M, s) f+ D(M, s) fIs defined by Here, the coefficient parameter λ is a real number of 0 or more. The purpose is to detect a state where the comprehensive evaluation expression takes an extreme value, that is, to find a mapping giving the minimum energy represented by the following expression.
[0056]
[Equation 14]
Note that for λ = 0 and η = 0, the mapping is a unitary mapping (ie, all i = 0,..., 2m-1 and j = 0, ..., 2mF for -1(M, s)(I, j) = (i, j)). As will be described later, in the base technology, since the case where λ = 0 and η = 0 are evaluated first, the mapping can be gradually deformed from the unit mapping. Suppose that the position of λ in the comprehensive evaluation formula is changed and C(M, s) f+ ΛD(M, s) fIf λ = 0 and η = 0, the overall evaluation formula is C(M, s) f, And pixels that have no relation at all are simply associated with each other simply because of their close luminance, and the mapping becomes meaningless. There is no point in transforming a mapping based on such a meaningless mapping. For this reason, consideration is given to how to give the coefficient parameters so that the unit mapping is selected as the best mapping at the start of the evaluation.
[0057]
Similarly to this base technology, the optical flow also takes into account the difference in brightness between pixels and the smoothness. However, optical flow cannot be used for image conversion. This is because only the local movement of the object is considered. A global correspondence can be detected by using the singularity filter according to the base technology.
[0058]
[1.3.3] Determination of mapping by introducing multiple resolutions
A mapping f that gives the minimum energy and satisfies the bijection conditionminIs obtained using a multi-resolution hierarchy. At each resolution level, the mapping between the starting sub-image and the ending sub-image is calculated. Starting from the highest level (the coarsest level) in the resolution hierarchy, the mapping at each resolution level is determined taking into account the mapping at other levels. The number of mapping candidates at each level is limited by using higher, or coarser, levels of mapping. More specifically, when determining a mapping at a certain level, a mapping obtained at a level one coarser than that is imposed as a kind of constraint condition.
[0059]
First,
(Equation 15)
Holds, p(M-1, s) (I ', j'), Q(M-1, s) (I ', j')To p(M, s) (I, j), Q(M, s) (I, j)Will be referred to as "parent." [X] is the maximum integer not exceeding x. Also p(M, s) (I, j), Q(M, s) (I, j)To p(M-1, s) (I ', j'), Q(M-1, s) (I ', j')Child. The function parent (i, j) is defined by the following equation.
[0060]
(Equation 16)
p(M, s) (I, j)And q(M, s) (K, l)The mapping f between(M, s)Is determined by performing an energy calculation to find the minimum. f(M, s)The value of (i, j) = (k, l) is f(M-1, s)By using (m = 1, 2,..., N), it is determined as follows. First, q(M, s) (K, l)Imposes the condition that it must be inside the following quadrilateral, and narrows down those mappings that satisfy the bijection condition that are more realistic.
[0061]
[Equation 17]
However, here
(Equation 18)
It is. The quadrilateral thus determined is referred to as p(M, s) (I, j)Is referred to as an inherited quadrilateral. The pixel that minimizes the energy inside the inherited quadrilateral is determined.
[0062]
FIG. 3 shows the above procedure. In the figure, pixels A, B, C, and D of the start image are mapped to A ', B', C ', and D' of the end image at the (m-1) th level, respectively. Pixel p(M, s) (I, j)Is a pixel q existing inside the inherited quadrilateral A'B'C'D '.(M, s) f (m) (i, j)Must be mapped to With the above considerations, the mapping from the (m-1) th level mapping to the mth level mapping is performed.
[0063]
Energy E defined earlier0Is the submap f at the m-th level(M, 0) Is replaced by the following equation.
[0064]
[Equation 19]
Also, the submap f(M, s)The following equation is used to calculate.
[0065]
(Equation 20)
In this way, a mapping is obtained that keeps the energy of all submappings at a low value. According to
[0066]
If there is no pixel satisfying the bijection condition inside the inherited quadrilateral A'B'C'D ', the following measures are taken. First, a pixel whose distance from the boundary line of A'B'C'D 'is L (initially L = 1) is examined. If the one with the minimum energy satisfies the bijection condition,(M, s)Select as the value of (i, j). If such a point is found or L is its upper limit L(M)L is increased until it reaches max. L(M)max is fixed for each level m. If no such point is found, a mapping in which the area of the destination quadrilateral becomes zero by temporarily ignoring the third condition of bijection is recognized, and f(M, s)(I, j) is determined. If a point satisfying the condition is still not found, the first and second conditions for bijection are removed.
[0067]
An approximation using multiple resolutions is essential to determine the global correspondence between images while avoiding the mapping being affected by image details. Unless an approximation method based on multiple resolutions is used, it is impossible to find the correspondence between pixels at a long distance. In that case, the size of the image must be limited to a very small one, and only images with small changes can be handled. Furthermore, since the mapping is usually required to be smooth, it is difficult to find the correspondence between such pixels. This is because the energy of mapping from a pixel at a distance to the pixel is high. According to the approximation method using multiple resolutions, an appropriate correspondence between such pixels can be found. This is because those distances are small at the upper level (coarse level) of the resolution hierarchy.
[0068]
[1.4] Automatic determination of optimal parameter values
One of the major drawbacks of existing matching techniques is the difficulty of parameter adjustment. In most cases, parameter adjustments are made manually and it is extremely difficult to choose the optimal value. According to the method according to the base technology, the optimal parameter value can be completely automatically determined.
[0069]
The system according to the base technology includes two parameters, λ and η. In short, λ is the weight of the difference in luminance between pixels, and η indicates the rigidity of the mapping. The initial values of these parameters are 0. First, λ is fixed to 0 and λ is gradually increased from 0. When increasing the value of λ and minimizing the value of the overall evaluation expression (Equation 14), C(M, s) fGenerally decreases. This basically means that the two images have to match better. However, when λ exceeds the optimum value, the following phenomenon occurs.
[0070]
1. Pixels that should not correspond to each other are incorrectly associated simply because the luminance is close.
[0071]
2. As a result, the correspondence between the pixels becomes incorrect, and the mapping starts to be lost.
[0072]
3. As a result, in
[0073]
4. As a result, the value of equation (14) tends to increase rapidly, so that D(M, s) fF to suppress the rapid increase of(M, s)Changes, and as a result, C(M, s) fIncrease.
[0074]
Therefore, while maintaining the state where
[0075]
This method is similar to the operation of the focus mechanism of the human visual system. In the human visual system, matching of the images of the left and right eyes is performed while moving one eye. When an object is clearly recognizable, its eyes are fixed.
[0076]
[1.4.1] Dynamic determination of λ
λ is increased from 0 at a predetermined interval, and the submapping is evaluated each time the value of λ changes. As in
[0077]
Under these conditions, as λ increases, C(M, s) (I, j)Decrease. C(M, s) (I, j)Is described as h (l). h (l) is the energy C(M, s) (I, j)Is l2Is the number of pixels. λl2To satisfy ≧ 1, for example, l2Consider the case of = 1 / λ. λ is λ1To λ2When it changes by a very small amount
[0078]
(Equation 21)
A pixels represented by
(Equation 22)
Changes to a more stable state with the energy of Here, it is assumed that the energy of these pixels is all zero. This equation is C(M, s) fIs the value of
[0079]
[Equation 23]
Only change, so that
(Equation 24)
Holds. Since h (l)> 0, C(M, s) fDecreases. However, when λ is going to exceed the optimum value, the above phenomenon, ie, C(M, s) fIncrease occurs. By detecting this phenomenon, the optimum value of λ is determined.
[0080]
When H (h> 0) and k are constants,
(Equation 25)
Assuming that
(Equation 26)
Holds. At this time, if k ≠ -3,
[0081]
[Equation 27]
It becomes. This is C(M, s) f(C is a constant).
[0082]
When detecting the optimal value of λ, the number of pixels that violates the bijection condition may be examined for safety. Here, when determining the mapping of each pixel, the probability of violating the bijection condition is p0Assume that in this case,
[0083]
[Equation 28]
Holds, the number of pixels that violate the bijection condition increases at the following rate.
[0084]
(Equation 29)
Therefore,
[Equation 30]
Is a constant. Assuming that h (l) = HlkWhen assuming, for example,
[0085]
(Equation 31)
Becomes a constant. However, when λ exceeds the optimal value, the above value increases rapidly. When this phenomenon is detected, B0λ3/2 + k / 2/ 2mIs abnormal value B0thresTo determine the optimal value of λ. Similarly, B1λ3/2 + k / 2/ 2mIs abnormal value B1thres, The rate of increase B in pixels that violates the third condition of bijection1Check.
[0086]
In the experiment, the submap f(M, s)When calculating λ, if λ exceeds 0.1, f(M, s)Stop calculating f(M, s + 1)Was moved to the calculation. This is because when λ> 0.1, only a difference of “3” in the luminance level 255 of the pixel affected the calculation of the submapping, and when λ> 0.1, it was difficult to obtain a correct result. .
[0087]
[1.4.2] Histogram h (l)
C(M, s) fDoes not depend on the histogram h (l). In testing for bijection and its third condition, it may be affected by h (l). Actually (λ, C(M, s) f), K is usually around 1. In the experiment, k = 1 was used, and B0λ2And B1λ2Was inspected. If the true value of k is less than 1, then B0λ2And B1λ2Is not a constant and the factor λ(1-k) / 2Gradually increase according to. If h (l) is a constant, for example, the factor is λ1/2It is. However, the difference is equal to the threshold B0thresCan be absorbed by setting it correctly.
[0088]
Here, the center of the starting point image is (x0, Y0), Assume a circular object of radius r.
[0089]
(Equation 32)
On the other hand, the end point image has the center (x1, Y1), Assume that the object has a radius of r.
[0090]
[Equation 33]
Where c (x) is c (x) = xkIt is assumed that Center (x0, Y0) And (x1, Y1) Is sufficiently far, the histogram h (l) has the form:
[0091]
(Equation 34)
When k = 1, the image shows objects with sharp boundaries embedded in the background. This object is darker in the center and brighter as you go around. When k = -1, the image represents an object with ambiguous boundaries. This object is brightest in the center and gets darker as it goes around. The generality of objects can be considered to be intermediate between these two types of objects without loss of generality. Therefore, k can cover most cases as −1 ≦ k ≦ 1, and it is guaranteed that Equation 27 is generally a decreasing function.
[0092]
Note that, as can be seen from
[0093]
[1.4.3] Dynamic determination of η
The parameter η can be automatically determined in the same manner. First, η = 0, and the final mapping f at the finest resolution(N)And energy C(N) fIs calculated. Then, η is increased by a certain value Δη, and again the final mapping f at the finest resolution(N)And energy C(N) fIs recalculated. This process is continued until an optimum value is obtained. η indicates the rigidity of the mapping. This is because the weight of the following equation is used.
[0094]
(Equation 35)
When η is 0, D(N) fIs determined independently of the immediately preceding submapping, and the current submapping is elastically deformed and excessively distorted. On the other hand, when η is a very large value, D(N) fIs almost completely determined by the immediately preceding submap. At this time, the submapping is very rigid, and the pixels are projected to the same place. As a result, the mapping becomes a unit mapping. When the value of η gradually increases from 0, C(N) fGradually decreases. However, when the value of η exceeds the optimum value, the energy starts increasing as shown in FIG. In the figure, the X axis is η and the Y axis is CfIt is.
[0095]
In this way C(N) fTo obtain the optimal value of η. However, as compared with the case of λ, various factors affect the calculation.(N) fChanges with small fluctuations. This is because in the case of λ, the submapping is only recalculated once each time the input changes by a small amount, but in the case of η, all the submappings are recalculated. Therefore, the obtained C(N) fIt cannot be immediately determined whether the value of is minimum. If a candidate for the minimum value is found, it is necessary to search for the true minimum value by setting a finer section.
[0096]
[1.5] Super sampling
When determining the correspondence between pixels, to increase the degree of freedom, f(M, s)Can be extended to R × R (R is a set of real numbers). In this case, the brightness of the pixel of the end point image is interpolated, and the non-integer point,
[0097]
[Equation 36]
F with luminance at(M, s)Is provided. That is, super sampling is performed. In the experiment, f(M, s)Is allowed to take integer and half-integer values,
[0098]
(37)
Is
[Equation 38]
Given by.
[0099]
[1.6] Normalization of pixel luminance of each image
When the start-point image and the end-point image include extremely different objects, it is difficult to directly use the luminance of the original pixel for calculating the mapping. Energy C related to luminance due to large difference in luminance(M, s) fIs too large and correct evaluation is difficult.
[0100]
For example, consider a case where a human face and a cat face are matched. The cat's face is covered with hair and contains very bright and very dark pixels. In this case, the sub-image is first normalized in order to calculate the sub-map between the two faces. That is, the brightness of the darkest pixel is set to 0, the brightness of the brightest pixel is set to 255, and the brightness of the other pixels is obtained by linear interpolation.
[0101]
[1.7] Implementation
A recursive method is used in which the calculation proceeds linearly according to the scanning of the starting image. First, for the leftmost pixel (i, j) = (0,0) at the top, f(M, s)Determine the value of. Next, while increasing i by 1, each f(M, s)Determine the value of (i, j). When the value of i reaches the width of the image, the value of j is increased by 1 and i is returned to 0. After that, f(M, s)(I, j) is determined. If pixel correspondence is determined for all points, one mapping f(M, s)Is determined.
[0102]
Some p(I, j)Corresponding point qf (i, j)Is determined, then p(I, j + 1)Corresponding point qf (i, j + 1)Is determined. At this time, qf (i, j + 1)Is q to satisfy the bijection conditionf (i, j)Is limited by the position of Therefore, the priority of the system becomes higher as the corresponding point is determined first. If the state where (0,0) always has the highest priority continues, an extra deflection is added to the final mapping required. In the base technology, in order to avoid this state, f(M, s)Is determined by the following method.
[0103]
First, when (s mod 4) is 0, the values are determined while gradually increasing i and j starting from (0, 0). When (s mod 4) is 1, the right end point of the uppermost line is set as a start point, and i is decreased and j is increased. When (s mod 4) is 2, the rightmost point in the bottom row is set as a starting point, and the values are determined while decreasing i and j. When (smod @ 4) is 3, the left end point of the bottom row is set as a starting point, and i is increased and j is decreased while being determined. Since the concept of the submapping, that is, the parameter s does not exist at the n-th level having the finest resolution, the two directions are continuously calculated assuming that s = 0 and s = 2.
[0104]
In an actual implementation, a penalty is given to a candidate that violates the bijection condition, so that the f(M, s)(I, j) (m = 0,..., N) were selected. The energy D (k, l) of a candidate that violates the third condition is multiplied by φ, while a candidate that violates the first or second condition is multiplied by ψ. In this case, φ = 2 and ψ = 100000 were used.
[0105]
In order to check the bijection condition described above, (k, l) = f(M, s)The following tests were performed in determining (i, j). That is, f(M, s)For each lattice point (k, l) included in the inherited quadrilateral of (i, j), it is checked whether or not the z component of the outer product of the following equation is 0 or more.
[0106]
[Equation 39]
However, here
(Equation 40)
(Equation 41)
(Where the vector is a three-dimensional vector and the z-axis is defined in an orthogonal right-handed coordinate system). If W is negative then D for that candidate(M, s) (K, l)Give a penalty by multiplying by ψ, and try to make as few choices as possible.
[0107]
FIGS. 5A and 5B show the reason for checking this condition. FIG. 5A shows a candidate without a penalty, and FIG. 5B shows a candidate with a penalty. Mapping f for adjacent pixel (i, j + 1)(M, s)When determining (i, j + 1), if the z component of W is negative, no pixel satisfies the bijection condition on the source image plane. Because q(M, s) (K, l)Is to cross the boundary of an adjacent quadrilateral.
[0108]
[1.7.1] Order of submapping
The implementation uses σ (0) = 0, σ (1) = 1, σ (2) = 2, σ (3) = 3, σ (4) = 0 when the resolution level is even, In this case, σ (0) = 3, σ (1) = 2, σ (2) = 1, σ (3) = 0, and σ (4) = 3 were used. As a result, the sub-mapping was shuffled appropriately. Note that there are originally four types of submappings, and s is one of 0 to 3. However, processing corresponding to s = 4 was actually performed. The reason will be described later.
[0109]
[1.8] Interpolation calculation
After the mapping between the start image and the end image is determined, the brightness of the corresponding pixels is interpolated. In the experiment, trilinear interpolation was used. Square p in the source image plane(I, j)p(I + 1, j)p(I, j + 1)p(I + 1, j + 1)Is a quadrangle q on the destination image planef (i, j)qf (i + 1, j)qf (i, j + 1)qf (i + 1, j + 1)Assume that it is projected to For simplicity, the distance between images is set to 1. The pixel r (x, y, t) (0 ≦ x ≦ N−1, 0 ≦ y ≦ M−1) of the intermediate image whose distance from the starting image plane is t (0 ≦ t ≦ 1) is as follows. Is required. First, the position of the pixel r (x, y, t) (where x, y, t , R) is obtained by the following equation.
[0110]
(Equation 42)
Subsequently, the luminance of the pixel at r (x, y, t) is determined using the following equation.
[0111]
[Equation 43]
Here, dx and dy are parameters and change from 0 to 1.
[0112]
[1.9] Mapping when constraints are imposed
He described the determination of the mapping when no constraints existed. However, when the correspondence between the specific pixels of the start point image and the end point image is defined in advance, the mapping can be determined based on this as a constraint.
[0113]
The basic idea is to roughly deform the start-point image by a rough mapping that moves a specific pixel of the start-point image to a specific pixel of the end-point image, and then calculate the mapping f accurately.
[0114]
First, a rough mapping that projects a specific pixel of the start image to a specific pixel of the end image and projects other pixels of the start image to an appropriate position is determined. That is, a pixel that is close to a particular pixel is a mapping that is projected near where the particular pixel is projected. Here, the rough mapping of the m-th level is F(M)It is described.
[0115]
The rough mapping F is determined in the following manner. First, mappings are specified for some pixels. N for the starting imagesPixels,
[0116]
[Equation 44]
When specifying, determine the following values:
[0117]
[Equation 45]
The displacement amount of the other pixels of the starting image is p(Ih, jh)(H = 0, ..., nsThis is an average obtained by weighting the displacement of -1). That is, the pixel p(I, j)Is projected to the following pixels of the end point image.
[0118]
[Equation 46]
However, here
[Equation 47]
[Equation 48]
And
[0119]
Then, F(M), So that the candidate map f close to has less energy,(M, s) (I, j)To change. To be precise, D(M, s) (I, j)Is
[0120]
[Equation 49]
It is. However,
[0121]
[Equation 50]
And κ, ρ ≧ 0. Finally, f is completely determined by the automatic mapping process described above.
[0122]
Where f(M, s)(I, j) is F(M)When they are close enough to (i, j), that is, their distance is
(Equation 51)
Within E2 (M, s) (I, j)Should be zero. The reason for such definition is that each f(M, s)(I, j) is F(M)This is because, as long as the value is sufficiently close to (i, j), it is desired to automatically determine the value so as to settle to an appropriate position in the end point image. For this reason, the exact correspondence need not be specified in detail, and the start image is automatically mapped to match the end image.
[0123]
[2] Specific processing procedure
The flow of processing by each element technology of [1] will be described.
[0124]
FIG. 6 is a flowchart showing the overall procedure of the base technology. As shown in the figure, first, processing using a multi-resolution singularity filter is performed (S1), and then matching between the start point image and the end point image is performed (S2). However, S2 is not essential, and processing such as image recognition may be performed based on the features of the image obtained in S1.
[0125]
FIG. 7 is a flowchart showing details of S1 in FIG. Here, it is assumed that the start image and the end image are matched in S2. Therefore, the starting point image is first hierarchized by the singular point filter (S10), and a series of starting point hierarchical images is obtained. Subsequently, the end image is hierarchized by the same method (S11) to obtain a series of end hierarchical images. However, the order of S10 and S11 is arbitrary, and the start hierarchical image and the end hierarchical image can be generated in parallel.
[0126]
FIG. 8 is a flowchart showing details of S10 in FIG. Original source image size is 2n× 2nAnd Since the starting hierarchical image is created in order from the one with the smallest resolution, the parameter m indicating the resolution level to be processed is set to n (S100). Next, the m-th level image p(M, 0), P(M, 1), P(M, 2), P(M, 3), A singular point is detected using a singular point filter (S101), and the m-th level image p(M-1,0), P(M-1, 1), P(M-1, 2), P(M-1, 3)Is generated (S102). Here, since m = n, p(M, 0)= P(M, 1)= P(M, 2)= P(M, 3)= P(N)Thus, four types of sub-images are generated from one start-point image.
[0127]
FIG. 9 shows the correspondence between a part of the m-th level image and a part of the (m-1) th level image. Numerical values in the figure indicate the luminance of each pixel. P in FIG.(M, s)Is p(M, 0)~ P(M, 3)Symbolizes the four images of(M-1,0)To generate(M, s)Is p(M, 0)I believe that. According to the rule shown in [1.2], p(M-1,0)Is, for example, “3”, p among the four pixels included in the block in which the luminance is written in FIG.(M-1, 1)Is "8", p(M-1, 2)Is "6", p(M-1, 3)Is obtained, and this block is replaced with one obtained pixel. Therefore, the size of the sub-image at the (m-1) th level is 2m-1× 2m-1become.
[0128]
Subsequently, m is decremented (S103 in FIG. 8), it is confirmed that m is not negative (S104), and the process returns to S101 to generate a sub-image having a coarse resolution. As a result of this repetitive processing, S = 0 ends when m = 0, that is, when the 0th level sub-image is generated. The size of the 0th level sub-image is 1 × 1.
[0129]
FIG. 10 illustrates the starting hierarchical image generated in S10 in a case where n = 3. Only the first start point image is common to the four series, and the sub-images are generated independently thereafter depending on the type of the singular point. Note that the processing in FIG. 8 is common to S11 in FIG. 7, and the destination hierarchical image is also generated through the same procedure. Thus, the process in S1 of FIG. 6 is completed.
[0130]
In the base technology, a preparation for matching evaluation is made in order to proceed to S2 in FIG. FIG. 11 shows the procedure. As shown in the figure, first, a plurality of evaluation expressions are set (S30). Energy C for the pixel introduced in [1.3.2.1](M, s) fAnd the energy D related to the smoothness of the mapping introduced in [1.3.2.2](M, s) fThat is it. Next, these evaluation expressions are integrated to form a comprehensive evaluation expression (S31). Total energy λC introduced in [1.3.2.3](M, s) f+ D(M, s) fThat is, using the η introduced in [1.3.2.2],
[0131]
(Equation 52)
It becomes. Here, the sum is 0, 1, ..., 2 for i and j, respectively.mCalculate with -1. The preparation for the matching evaluation is now completed.
[0132]
FIG. 12 is a flowchart showing details of S2 of FIG. As described in [1], matching between the start hierarchical image and the end hierarchical image is performed between images having the same resolution level. In order to obtain good global matching between images, matching is calculated in order from the level with the lowest resolution. Since the start point hierarchical image and the end point hierarchical image are generated using the singular point filter, the position and luminance of the singular point are clearly preserved even at the coarse resolution level, and the result of global matching is lower than in the past. It will be very good.
[0133]
As shown in FIG. 12, first, the coefficient parameter η is set to 0 and the level parameter m is set to 0 (S20). Subsequently, matching is calculated between each of the four m-level sub-images in the start hierarchical image and each of the m-th four sub-images in the destination hierarchical image, and the bijection condition is satisfied and the energy is satisfied. Four kinds of submappings f that minimize(M, s)(S = 0, 1, 2, 3) is obtained (S21). The bijection condition is checked using the inheritance quadrilateral described in [1.3.3]. At this time, as shown in
[0134]
On the other hand, horizontal reference within the same level is also performed. As in
[0135]
Note that f to be determined first(M, 0)Since there is no sub-mapping that can be referred to at the same level, one coarse level is referred to as shown in Expression 19. However, in the experiment, f(M, 3)After this is obtained, f(M, 0)Was updated once. This substitutes s = 4 into
[0136]
FIG. 13 is a diagram showing how the sub-mapping is determined at the 0th level. At
[0137]
1. An upper left point a, an upper right point b, a lower left point c, and a lower right point d of the point x are obtained at the first level of resolution.
[0138]
2. A pixel to which the points a to d belong at one coarse level, that is, the 0th level, is searched. In the case of FIG. 14, points a to d belong to pixels A to D, respectively. However, the pixels A to C are virtual pixels that do not originally exist.
[0139]
3. The corresponding points A 'to D' of the pixels A to D already determined at the 0th level are q(1, s)Plot in. Pixels A 'to C' are virtual pixels and are assumed to be at the same positions as pixels A to C, respectively.
[0140]
4. Assuming that the corresponding point a 'of the point a in the pixel A is in the pixel A', the point a 'is plotted. At this time, it is assumed that the position occupied by the point a in the pixel A (in this case, the lower right) is the same as the position occupied by the point a 'in the pixel A'.
[0141]
The corresponding points b 'to d' are plotted in the same manner as in 5.4, and an inherited quadrilateral is formed at points a 'to d'.
[0142]
6. The corresponding point x 'of the point x is searched so as to minimize the energy in the inherited quadrilateral. The candidates for the corresponding point x 'may be limited to, for example, those in which the center of the pixel is included in an inherited quadrilateral. In the case of FIG. 14, all four pixels are candidates.
[0143]
The above is the procedure for determining the corresponding point of the point x. The same processing is performed for all other points to determine a submapping. At the second and higher levels, the shape of the inherited quadrilateral is considered to gradually collapse, so that a situation occurs in which the pixels A 'to D' are spaced apart as shown in FIG.
[0144]
When the four sub-maps of the m-th level are determined in this way, m is incremented (S22 in FIG. 12), it is confirmed that m does not exceed n (S23), and the process returns to S21. Hereinafter, each time the process returns to S21, a sub-mapping of a finer resolution level is obtained, and when the process returns to S21, the mapping f of the n-th level is obtained.(N)Decide. Since this mapping is fixed with respect to η = 0, f(N)(Η = 0).
[0145]
Next, η is shifted by Δη and m is cleared to zero in order to obtain mappings for different η (S24). The new η is the predetermined search censoring value ηmaxIs not exceeded (S25), the process returns to S21, and the mapping f(N)(Η = Δη) is obtained. This processing is repeated, and in S21, f(N)(Η = iΔη) (i = 0, 1,...) Is obtained. η is ηmaxIs exceeded, the process proceeds to S26, and the optimum η = η is determined by the method described later.optAnd f(N)(Η = ηopt) Is finally mapped f(N)And
[0146]
FIG. 15 is a flowchart showing details of S21 in FIG. According to this flowchart, a submapping at the m-th level is determined for a certain fixed η. When determining the submapping, the base technology determines the optimum λ independently for each submapping.
[0147]
As shown in the figure, first, s and λ are cleared to zero (S210). Next, the submap f that minimizes the energy for λ at that time (and implicitly for η)(M, s)(S211), and this is(M, s)Write (λ = 0). To find the mappings for different λ, λ is shifted by Δλ and the new λ ismaxIs not exceeded (S213), the process returns to S211 and f(M, s)(Λ = iΔλ) (i = 0, 1,...) Is obtained. λ is λmaxIs exceeded, the process proceeds to S214, and the optimal λ = λoptAnd f(M, s)(Λ = λopt) Is finally mapped f(M, s)(S214).
[0148]
Next, to obtain another submapping at the same level, λ is cleared to zero and s is incremented (S215). Confirm that s does not exceed 4 (S216), and return to S211. If s = 4, then f(M, 3)Using f(M, 0)Is updated, and the determination of the sub-mapping at that level is completed.
[0149]
FIG. 16 shows f obtained by changing λ for certain m and s.(M, s)(Λ = iΔλ) (i = 0, 1,...) Energy C(M, s) fIt is a figure showing the behavior of. As described in [1.4], when λ increases, usually C(M, s) fDecreases. However, when λ exceeds the optimum value, C(M, s) fTurns to increase. Therefore, in this base technology, C(M, s) fIs the minimum value of λoptDecide. As shown in FIG.optAgain in the range of(M, s) fEven if is small, the mapping is already distorted at that point and it is meaningless, so it is sufficient to pay attention to the first minimum point. λoptIs determined independently for each submap, and finally f(N)One is also determined.
[0150]
On the other hand, FIG. 17 shows f obtained while changing η.(N)Energy corresponding to (η = iΔη) (i = 0, 1,...)(N) fIt is a figure showing the behavior of. Again, if η increases, usually C(N) fDecreases, but when η exceeds the optimal value, C(N) fTurns to increase. So C(N) fIs the minimum value of ηoptDecide. FIG. 17 may be considered as an enlarged view of the vicinity of zero on the horizontal axis in FIG. ηoptF is decided(N)Can be finally determined.
[0151]
As described above, according to the base technology, various advantages can be obtained. First, since there is no need to detect an edge, the problem of the conventional edge detection type technology can be solved. Also, a priori knowledge of the objects included in the image is not required, and automatic detection of corresponding points is realized. According to the singular point filter, the luminance and position of the singular point can be maintained even at a coarse resolution level, which is extremely advantageous for object recognition, feature extraction, and image matching. As a result, it is possible to construct an image processing system that significantly reduces manual work.
[0152]
In addition, the following modified technologies are also conceivable for the base technology.
[0153]
(1) In the base technology, parameters are automatically determined when matching is performed between the start hierarchical image and the end hierarchical image, but this method performs matching between two normal images, not between hierarchical images. Available for all cases.
[0154]
For example, the energy E related to the difference in pixel brightness between two images0And the energy E related to the positional deviation of the pixel1Are the evaluation expressions, and their linear sum Etot= ΑE0+ E1Is defined as a comprehensive evaluation formula. Attention is paid to the vicinity of the extreme value of this comprehensive evaluation formula, and α is automatically determined. That is, for various α, EtotFind a mapping that minimizes Of those mappings, E1Is determined as an optimal parameter when the value of the minimum takes a minimum value. The mapping corresponding to the parameter is finally regarded as the optimal matching between the two images.
[0155]
There are various other methods for setting the evaluation formula, for example, 1 / E1And 1 / E2For example, the larger the evaluation result is, the larger the evaluation result becomes. The comprehensive evaluation formula does not necessarily need to be a linear sum, and an n-th sum (n = 2, 、, −1, −2, etc.), a polynomial, an arbitrary function, or the like may be appropriately selected.
[0156]
The parameter may be any parameter such as only α, two cases of η and λ as in the base technology, and more cases. If the parameter is 3 or more, it is determined by changing it one by one.
[0157]
(2) In the base technology, after determining the mapping so that the value of the comprehensive evaluation formula is minimized, C is one evaluation formula that constitutes the comprehensive evaluation formula.(M, s) fThe parameter at which the minimum value was detected was determined. However, in place of such a two-stage process, depending on the situation, it is effective to simply determine the parameters so that the minimum value of the comprehensive evaluation formula is minimized. In that case, for example, αE0+ ΒE1May be taken as a comprehensive evaluation formula, and a constraint condition of α + β = 1 may be provided to take measures such as treating each evaluation formula equally. This is because the essence of automatic parameter determination is to determine parameters so that energy is minimized.
[0158]
(3) In the base technology, four types of sub-images related to four types of singular points are generated at each resolution level. However, of course, one, two, and three of the four types may be selectively used. For example, if there is only one bright point in the image, f(M, 3)Even if a hierarchical image is generated only by itself, an appropriate effect should be obtained. In that case, different sub-mappings at the same level are not required, so that there is an effect that the calculation amount regarding s is reduced.
[0159]
(4) In the base technology, when the level is advanced by one by the singular point filter, the number of pixels is reduced to 1/4. For example, a configuration in which one block is 3 × 3 and a singular point is searched in the block is possible. In this case, if the level advances by one, the pixel becomes 1/9.
[0160]
(5) If the start image and the end image are color, they are first converted to black and white images, and the mapping is calculated. The color image at the starting point is converted using the mapping obtained as a result. As another method, a submap may be calculated for each of the RGB components.
[0161]
[3] Improvements of the underlying technology
Based on the above prerequisite technology, some improvements have been made to improve matching accuracy. Here we describe the improvements.
[3.1] Singularity filter and sub-image considering color information
In order to use the color information of the image effectively, the singularity filter was changed as follows. First, as the color space, HIS, which is said to best match human intuition, was used. However, when converting color to luminance, luminance Y, which is said to be closest to the sensitivity of human eyes, was selected instead of luminance I.
[Equation 53]
Here, the following symbols are defined assuming that Y (luminance) and Y (saturation) in pixel a are Y (a) and S (a), respectively.
(Equation 54)
Using the above definition, the following five filters are prepared.
[Equation 55]
[0162]
Of these, the top four filters are almost the same as the filters in the base technology before the improvement, and store the luminance singularities while retaining the color information. The last filter stores the singularities of the color saturation, again leaving the color information.
With these filters, five types of sub-images (sub-images) are generated for each level. Note that the highest level sub-image matches the original image.
[Equation 56]
[0163]
[3.2] Edge image and its sub-image
In order to use the information of the luminance derivative (edge) for matching, a primary differential edge detection filter is further used. This filter can be realized by convolution with a certain operator G. Two types of filters corresponding to the horizontal and vertical differentiation of the n-th level image are represented as follows.
[Equation 57]
Here, for G, a general operator used for edge detection in image analysis can be applied, but the following operator is selected in consideration of the calculation speed and the like.
[Equation 58]
[0164]
Next, this image is multi-resolutionized. Since an image having a luminance centered at 0 is generated by the filter, the following average image is most appropriate as the sub-image.
[Equation 59]
The image of Expression 59 is used for the energy due to the difference of the newly introduced luminance derivative (edge) in the energy function at the time of Forward @ Stage described later, that is, in the calculation of the first submapping derivation stage.
[0165]
Since the size of the edge, that is, the absolute value is also required for the calculation, it is expressed as follows.
[Equation 60]
Since this value is always positive, a maximum value filter is used for multi-resolution processing.
[Equation 61]
The image of Expression 61 is used to determine the order of calculation when calculating Forward @ Stage described later.
[0166]
[3.3] Calculation processing procedure
The calculation is performed in order from the sub-image having the coarsest resolution. Since there are five sub-images, the calculation is performed a plurality of times at each level of resolution. This is called a turn, and the maximum number of calculations is represented by t. Each turn is composed of two energy minimization calculations, namely, Forward @ Stage and Refinement @ Stage, which is a submapping recalculation stage. FIG. 32 is a flowchart relating to improvements in the calculation for determining the sub-mapping at the m-th level.
[0167]
As shown in the figure, s is cleared to zero (S40). Next, in Forward @ Stage (S41), a mapping f from the start image p to the end image q( m, s )And a mapping g from the end point image q to the start point image p(M, s)Are sequentially obtained by energy minimization. Hereinafter, the mapping f( m, s )The derivation of is described. Here, the energy to be minimized is the sum of the energy C based on the corresponding pixel value and the energy D based on the smoothness of the mapping in the improved base technology.
(Equation 62)
Energy C is energy C due to the difference in luminance.I(Equivalent to the energy C in the base technology before the improvement), and the energy C based on hue and saturation.C, Energy C due to difference in luminance derivative (edge)EAnd is expressed as follows.
[Equation 63]
Here, the parameters λ, ψ, and θ are real numbers equal to or greater than 0, and are constants in the improved technique. The reason why these parameters can be constants is that the stability of the results with respect to the parameters is improved by the newly introduced Refinement @ Stage. Energy CEIs the submap f( m, s )Is a value determined by the coordinates and the resolution level regardless of the type s.
[0168]
Energy D is the same as the prerequisite technology before the improvement. However, in the base technology before the improvement, the energy E that guarantees the smoothness of the mapping is obtained.1When deriving, only adjacent pixels were considered, but the number of surrounding pixels to be considered has been improved so that the parameter d can be specified.
[Equation 64]
In preparation for the next Refinement @ Stage, this stage maps the end point image q to the start point image p.(M, s)Is similarly calculated.
[0169]
In Refinement @ Stage (S42), bidirectional mapping f obtained in Forward @ Stage(M, s)And g(M, s), A more appropriate mapping f ′(M, s)Ask for. Here, energy minimization calculation is performed for the newly defined energy M. The energy M is the degree of matching M with the mapping g from the end image to the start image.0And the difference M from the original mapping1F ′ that minimizes M(M, s)Is required.
[Equation 65]
A mapping g ′ from the end image q to the start image p so as not to lose the symmetry(M, s)Is obtained in a similar manner.
[0170]
Thereafter, s is incremented (S43), it is confirmed that s does not exceed t (S44), and the process proceeds to Forward @ Stage (S41) in the next turn. At this time, the E0Is replaced as follows to perform the energy minimization calculation.
[Equation 66]
[0171]
[3.4] Mapping calculation order
Energy E representing the smoothness of the mapping1Is calculated using the mapping of surrounding points, so whether or not those points have already been calculated affects the energy. In other words, the accuracy of the whole mapping greatly changes depending on from which point the calculation is performed in order. Therefore, the absolute value image of the edge is used. Since the edge portion contains a large amount of information, the mapping calculation is performed first from the position where the absolute value of the edge is large. This makes it possible to obtain a very accurate mapping, especially for an image such as a binary image.
[0172]
[Embodiment relating to image encoding and decoding]
In the base technology, correspondence information is generated by matching key frames, and an intermediate frame is generated based on the correspondence information. Therefore, this technique can be used for compression of moving images, and in experiments, it has been actually confirmed that both image quality and compression ratio exceeding MPEG are confirmed. Hereinafter, an image encoding and decoding technique using the base technology will be described. In this technique, when the image quality of an intermediate frame generated by the base technique has a problem in display, the key frames before and after the intermediate frame are processed by α blending without using the intermediate frame. This is an important elemental technology because moving images can be reproduced without any unnatural feeling.
[0173]
(Embodiment 1)
FIG. 18 is a configuration diagram of the
[0174]
The
[0175]
The matching
[0176]
The α
[0177]
The
The
[0178]
FIG. 19 is a configuration diagram of the α
[0179]
The reproducing
[0180]
In the specifying
[0181]
FIG. 21 is an example of a data stream formed by the
KF0, KF1, C0,1, KF2, B1,2, KF3, ...
It is. KF0And KF1For the corresponding information data C0,1Is transmitted, the decoding side generates an intermediate frame based on these. However, KF2Next is KF1And KF2Information data C between1,2But not B1,2Has been sent. Where B1,2Is KF1And KF2Is data instructing the execution of α blending. On the decoding side, C1,2And B1,2The difference between the data of1And KF2Perform α blending during.
[0182]
22 and 23 respectively show the correspondence information data Ci, jAnd data B instructing to perform
[0183]
On the other hand, data B instructing the execution of α blendingi, jDescribes parameters necessary for performing α blending, such as α values. This parameter can be omitted, and in this case, the decoding side may interpret that α = 0.5 or the like. If this parameter is omitted, data B instructing the execution of α blendingi, jThe key frame itself can also be deleted, in which case the key frame immediately following it, such as KFj + 1, And the header information indicates that this is key frame data. As a result, data B instructing the execution of α blendingi, jMay be implicitly shown. FIG. 24 shows the data stream at this time. Even in this case, since the instruction for performing the α blending can be clearly understood in reality, it is interpreted that the “data for instructing the execution of the α blending” is also inserted in this case.
[0184]
As described above, according to the present embodiment, when the image quality of the intermediate frame generated by the matching calculation has a display problem, the intermediate frame is processed by α blending, so that a more natural moving image can be reproduced. . Further, since the user specifies the problematic intermediate frame by his / her own judgment, the selection of the intermediate frame to be α-blended becomes more reliable.
[0185]
(Embodiment 2)
FIG. 18 is a configuration diagram of an
[0186]
The calculating
[0187]
As described above, according to the present embodiment, since an intermediate frame having a display problem is identified by calculation, the intermediate frame can be automatically processed, and the convenience of use by the user is improved. Since this calculation is performed based on the image generated by the key frame and the intermediate frame, the same image as that on the decoding side is used. Therefore, an intermediate frame having a display problem can be specified.
[0188]
(Embodiment 3)
FIG. 27 is a configuration diagram of an
[0189]
The matching
[0190]
The α blending designating unit 22 compares data obtained when generating the correspondence information data with a predetermined condition, and specifies an intermediate frame having a display problem in image quality. For example, when the bijection condition is not satisfied or when the energy value of the mapping is larger than a predetermined value, it is determined that there is a display problem in the image quality of the intermediate frame generated from the corresponding information data. Then, the α blending designating unit 22 designates the
[0191]
As described above, according to the present embodiment, in identifying an intermediate frame having a display problem, it is not necessary to generate an intermediate frame, and only existing data is used. Therefore, calculation processing can be reduced. Furthermore, since the data obtained when generating the correspondence information data is used, the problem of the correspondence information data is reflected, and the certainty of the problematic intermediate frame is improved.
[0192]
(Embodiment 4)
FIG. 28 is a configuration diagram of an
[0193]
The
[0194]
In the present embodiment, the data stream is input to the α blending designating unit 24 again. The α blending designating unit 24 decodes the data stream based on the key frame data, the corresponding information data, and the data instructing the execution of the α blending included in the data stream (S78). Thus, a moving image including the α blending process is reproduced. The user selects an image having a display problem with the image quality from the reproduced images. Based on the selected image, two key frames to be subjected to α blending are specified again (S80). The
[0195]
As described above, according to the present embodiment, after confirming the result of the designation of the first α-blending, the designation of the second α-blending is further performed to correct the first incorrect designation. And the accuracy of specifying the implementation of α blending can be improved. Further, by automatically performing the first specification and manually performing the second specification, it is possible to more simply and more reliably specify the execution of α blending.
[0196]
(Embodiment 5)
FIG. 30 is a configuration diagram of an
[0197]
The
The intermediate
The
[0198]
FIG. 31 shows the principle of generation of an intermediate frame by the intermediate
[0199]
It returns to FIG. The α
[0200]
As described above, according to the present embodiment, in addition to the image reproduction according to the base technology, the α blending process is performed, so that a more natural image reproduction can be performed according to the situation.
[0201]
(Embodiment 6)
FIG. 33 is a configuration diagram of an
The sixth embodiment differs from the first to fifth embodiments in that α blending is performed on a portion in an intermediate frame.
[0202]
The α
[0203]
The
[0204]
FIG. 34 is a configuration diagram of the α blending
In the
[0205]
FIG. 35 shows a still image obtained by sampling a key frame and an intermediate frame, arranged in chronological order from the left. The IF in FIG. 35 is a still image obtained by sampling the intermediate frame. Each image is divided into 16 parts shown in FIG. 35 as an example for convenience of explanation. These 16 parts are indicated as A to P as shown. The list of KF and IF in FIG. 35 is displayed on the monitor, and the user1If it is determined that the image quality of the portions F, G, J, and K in FIG.1Select the F, G, J, and K portions in. This is executed by the partial specifying
[0206]
IF1The F, G, J and K parts in1Correspond to the E, F, I, and J parts in FIG. In other words, KF1E, F, I, J parts are IF1Are moved to the F, G, J, and K portions in FIG. This can be recognized, for example, from the correspondence information data. The
[0207]
FIG. 36 is an example of a data stream formed by the
KF0, KF1, C0,1, KF2, C1,2(E, F, I, J), B1,2(Remaining), KF3, ...
It is. Where C1,2(E, F, I, J) is KF1Is the corresponding information data of the E, F, I, and J parts in1,2(Remaining) is data instructing the execution of α blending. If the decoding side recognizes a process such as performing α blending on a portion where there is no corresponding information data, B1,2(Remainder) need not be incorporated. Also, C1,2C instead of (E, F, I, J)1,2And before that, C1,2To KF1An instruction signal indicating that only the E, F, I, and J portions in the above may be incorporated. Even in these cases, the instruction to execute α blending can be clearly understood in practice, and thus, in this case, it is interpreted that “data instructing to execute α blending” is inserted.
[0208]
The image decoding device according to Embodiment 6 has the same configuration as
[0209]
FIG. 37 shows that the intermediate
[0210]
As described above, according to the present embodiment, when there is a display problematic portion in the image quality of the intermediate frame generated by the matching calculation, this portion is processed by α blending, so that a more natural reproduction of a moving image can be achieved. It becomes possible.
The present invention has been described based on the embodiments. Note that the present invention is not limited to this embodiment, and various modifications thereof are also effective as aspects of the present invention.
[0211]
In the first embodiment, the α-
[0212]
In the first embodiment, the α-
[0213]
In the second embodiment, the α blending designating unit 22 calculates the absolute value of the difference between the pixel values corresponding to the two images in position and the magnitude of the sum of the squares, and compares the calculated value with a predetermined threshold value. By doing so, the image of the intermediate frame having a display problem is specified. However, the calculation method is not limited to this. For example, the absolute value or the square value of the difference between the pixel values of the two images corresponding to each other in position may be summed up only in a specific area on the screen, and the sum may be compared with the threshold value. This is because when only a part of the images is different, this can clarify the difference between the two images. Also, the images to be compared may be key frames. This is because if the cause of the display problem is a scene change, there is a possibility that the images of the key frames in the context are different. The point is that it is only necessary to clarify the difference between the contents of the two images.
[0214]
In the third embodiment, the data obtained when generating the correspondence information data, for example, whether or not the bijection condition of the base technology is satisfied, is compared with the energy value of the mapping of
[0215]
In the fourth embodiment, designation of execution of α blending and formation of a data stream are performed twice. Further, the key frame and the corresponding information data are used to specify the first α blending. However, the present invention is not limited to this, and the designation of the execution of the α blending and the formation of the data stream may be performed three or more times, and the number may be adaptively changed. This is because the convenience of the user may be improved. Alternatively, the key frame and the corresponding information data may not be used to specify the first α blending, but data obtained when generating the corresponding information data may be used. Further, the specification of the intermediate frame having a display problem may be any combination of an automatic case and a manual case. The point is that the designation of the execution of the α blending and the formation of the data stream are performed a plurality of times, so that the quality of the decoded image can be improved.
[0216]
In the sixth embodiment, an intermediate frame is used to designate a portion where α blending is not performed or a portion where α blending is performed. Also, α blending is performed on a portion having a problem in display quality. However, these designations may be made by key frames instead of intermediate frames. Further, α blending may be performed on a portion having no problem in display quality. For example, a predetermined object in a key frame is specified, only this object is processed by matching calculation, and the rest is subjected to α blending as a background. In short, what is necessary is just to specify the part where α blending is performed and the part where α blending is not performed.
[Brief description of the drawings]
1 (a) and FIG. 1 (b) are images obtained by applying an averaging filter to the faces of two persons, and FIGS. 1 (c) and 1 (d) are images of the two persons. Required by the prerequisite technology for the face of(5,0)The images of FIGS. 1 (e) and 1 (f) show the p obtained by the base technology for the faces of two persons.(5,1)The images of FIGS. 1 (g) and 1 (h) show p obtained by the base technology for the faces of two persons.(5,2)FIGS. 1 (i) and 1 (j) show the images of p obtained by the base technology for the faces of two persons.(5,3)2 is a photograph of a halftone image in which each of the images is displayed on a display.
2 (R) is a diagram showing an original quadrilateral, and FIGS. 2 (A), 2 (B), 2 (C), 2 (D), and 2 (E) are respectively It is a figure which shows an inheritance quadrilateral.
FIG. 3 is a diagram illustrating a relationship between a start point image and an end point image, and a relationship between an m-th level and an (m-1) th level, using an inherited quadrilateral.
FIG. 4 shows parameter η and energy CfFIG.
5 (a) and 5 (b) are diagrams showing how a mapping for a certain point satisfies a bijection condition from an outer product calculation.
FIG. 6 is a flowchart illustrating an overall procedure of a base technology.
FIG. 7 is a flowchart showing details of S1 in FIG. 6;
FIG. 8 is a flowchart showing details of S10 in FIG. 7;
FIG. 9 is a diagram illustrating a correspondence relationship between a part of an m-th level image and a part of an (m−1) -th level image;
FIG. 10 is a diagram showing a starting hierarchical image generated by the base technology.
FIG. 11 is a diagram showing a procedure for preparing a matching evaluation before proceeding to S2 of FIG. 6;
FIG. 12 is a flowchart showing details of S2 in FIG. 6;
FIG. 13 is a diagram showing how a sub-mapping is determined at the 0th level.
FIG. 14 is a diagram showing how a sub-mapping is determined at the first level.
FIG. 15 is a flowchart illustrating details of S21 in FIG. 12;
FIG. 16 shows an f(M, s)F obtained while changing λ(M, s)Energy C corresponding to (λ = iΔλ)(M, s) fIt is a figure showing the behavior of.
FIG. 17 shows f obtained while changing η.(N)Energy corresponding to (η = iΔη) (i = 0, 1,...)(N) fIt is a figure showing the behavior of.
FIG. 18 is a configuration diagram of an image encoding device according to
FIG. 19 is a diagram showing an α blending designating unit according to the first embodiment.
FIG. 20 is a diagram showing a key frame and an intermediate frame by the device of FIG. 19;
FIG. 21 is a diagram illustrating a configuration of a data stream according to the first, second, third, and fourth embodiments.
FIG. 22 is a diagram showing a configuration of correspondence information data according to the first, second, third, and fourth embodiments.
FIG. 23 is a diagram showing a configuration of data instructing execution of α blending according to the first, second, third, and fourth embodiments.
FIG. 24 is a diagram illustrating another configuration of the data stream according to the first, second, third, and fourth embodiments.
FIG. 25 is a diagram showing an α blending designating unit according to the second embodiment.
FIG. 26 is a diagram showing an outline of the operation of a calculation unit of the device in FIG. 25.
FIG. 27 is a configuration diagram of an image encoding device according to
FIG. 28 is a configuration diagram of an image encoding device according to
FIG. 29 is a view for explaining the procedure of the operation of the device in FIG. 28;
FIG. 30 is a configuration diagram of an image decoding device according to
FIG. 31 is a diagram illustrating a principle of generating an intermediate frame by the intermediate image generating unit in FIG. 30;
FIG. 32 is a flowchart for obtaining a sub-mapping at the m-th level in the base technology after improvement.
FIG. 33 is a configuration diagram of an image encoding device according to Embodiment 6.
FIG. 34 is a configuration diagram of an α blending designating unit according to the sixth embodiment.
FIG. 35 is a diagram showing a key frame and an intermediate frame by the device of FIG. 33;
FIG. 36 is a diagram showing a configuration of a data stream by the device of FIG. 33.
FIG. 37 is a diagram illustrating a principle of generating an intermediate frame by the intermediate image generating unit according to the sixth embodiment.
[Explanation of symbols]
10 image input unit, {12} matching processor, {14} alpha blending designation unit, {16} stream generation unit, {18} storage unit, {20} matching processor, {22} alpha blending designation unit, {24} alpha blending designation unit, {26} stream generation unit, {30} alpha blending designation unit {32} stream generating unit, {34} partial specifying unit, {40} reproducing unit, {42} specifying unit, {44 calculating unit, {50} stream input unit, {52} intermediate image generating unit, {54} α blending detecting unit, {56} display control unit, {100} image encoding device , {110} image encoding device, {120} image encoding device, {130} image encoding device,
200 ° image decoding device.
Claims (32)
所定のふたつのキーフレーム間についてαブレンディングを行うことを指定するαブレンディング指定部と、
αブレンディングを行わないふたつのキーフレーム間についてはそれらのキーフレーム間の対応情報データを組み込む形で、αブレンディングを行うふたつのキーフレーム間についてはαブレンディングを行うことが判別できる形でデータストリームを形成するストリーム生成部と、
を含むことを特徴とする画像符号化装置。An image input unit for inputting key frame data,
An alpha blending designating unit that designates that alpha blending is performed between two predetermined key frames;
For two key frames that do not perform α-blending, the data stream is incorporated in such a way that the corresponding information data between those key frames is incorporated, and for the two key frames that perform α-blending, it is possible to determine whether to perform α-blending. A stream generator to form;
An image encoding device comprising:
αブレンディングを行わないふたつのキーフレーム間についてはそれらのキーフレーム間の対応情報データを組み込む形で、αブレンディングを行うふたつのキーフレーム間についてはαブレンディングを行うことが判別できる形でデータストリームを形成するステップと、
を含むことを特徴とする画像符号化方法。A step of designating that α blending is to be performed between two predetermined key frames in the input key frame data;
For two key frames that do not perform alpha blending, the data stream is incorporated in such a way that the corresponding information data between those key frames is incorporated, and for the two key frames that perform alpha blending, it is possible to determine that alpha blending is to be performed. Forming;
An image encoding method comprising:
前記入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに中間フレームを生成する中間画像生成部と、
前記入力されたデータストリームからαブレンディングを行うか否かを判別するαブレンディング検出部とを含み、
前記中間画像生成部は、前記αブレンディングを行うと判別した場合には中間フレームの生成を中止し、αブレンディングを行うことを特徴とする画像復号装置。A stream input unit for inputting a data stream including at least correspondence information data between key frames,
An intermediate image generation unit that generates an intermediate frame based on the corresponding information data and key frame data included in the input data stream,
Α blending detection unit that determines whether to perform α blending from the input data stream,
The image decoding apparatus according to claim 1, wherein the intermediate image generation unit stops generating the intermediate frame when performing the α blending and performs the α blending.
αブレンディングを行わないと判別した場合には前記データストリームに含まれる対応情報データとキーフレームのデータをもとに中間フレームを生成するステップと、
前記αブレンディングを行うと判別した場合には中間フレームの生成を中止し、αブレンディングを行うステップと、
を含むことを特徴する画像復号方法。Determining whether to perform alpha blending from the input data stream;
generating an intermediate frame based on the corresponding information data and key frame data included in the data stream if it is determined that α blending is not performed;
Stopping the generation of the intermediate frame if it is determined to perform the α blending, and performing the α blending;
An image decoding method comprising:
前記ストリーム生成部はαブレンディングを行うふたつのキーフレームを変更して再びデータストリームを形成することにより、αブレンディングを行うふたつのキーフレームの指定とデータストリームの形成を複数回実施する請求項1から6のいずれかに記載の画像符号化装置。The α blending designation unit decodes the data stream formed by the stream generation unit, identifies again the intermediate frame having the display quality problem from the result,
2. The stream generation unit changes two key frames for α-blending and forms a data stream again, thereby performing designation of two key frames for α-blending and formation of a data stream a plurality of times. 3. 7. The image encoding device according to any one of 6.
αブレンディングを行わないふたつのキーフレーム間についてはそれらのキーフレーム間の対応情報データを組み込む形で、αブレンディングを行うふたつのキーフレーム間についてはαブレンディングを行うことが判別できる形でデータストリームを形成するステップと、
をコンピュータに実行せしめることを特徴とするプログラム。A step of designating that α blending is to be performed between two predetermined key frames in the input key frame data;
For two key frames that do not perform alpha blending, the data stream is incorporated in such a way that the corresponding information data between those key frames is incorporated, and for the two key frames that perform alpha blending, it is possible to determine that alpha blending is to be performed. Forming;
A program that causes a computer to execute the program.
αブレンディングを行わないと判別した場合には前記データストリームに含まれる対応情報データとキーフレームのデータをもとに中間フレームを生成するステップと、
前記αブレンディングを行うと判別した場合には中間フレームの生成を中止し、αブレンディングを行うステップと、
をコンピュータに実行せしめることを特徴とするプログラム。Determining whether to perform alpha blending from the input data stream;
generating an intermediate frame based on the corresponding information data and key frame data included in the data stream if it is determined that α blending is not performed;
Stopping the generation of the intermediate frame if it is determined to perform the α blending, and performing the α blending;
A program that causes a computer to execute the program.
キーフレーム内の所定の部分に対してαブレンディングを行うことを指定するαブレンディング指定部と、
キーフレーム内のαブレンディングを行わない部分に対してはその部分に対応するキーフレーム間の対応情報データを組み込む形で、αブレンディングを行う部分に対してはαブレンディングを行うことが判別できる形でデータストリームを形成するストリーム生成部と、
を含むことを特徴とする画像符号化装置。An image input unit for inputting key frame data,
An alpha blending designating unit that designates that alpha blending is performed on a predetermined portion in a key frame;
For a portion of a key frame where α blending is not performed, the corresponding information data between key frames corresponding to the portion is incorporated, and for a portion where α blending is performed, it can be determined that α blending is performed. A stream generator for forming a data stream;
An image encoding device comprising:
キーフレーム内のαブレンディングを行わない部分に対してはその部分に対応するキーフレーム間の対応情報データを組み込む形で、αブレンディングを行う部分に対してはαブレンディングを行うことが判別できる形でデータストリームを形成するステップと、
を含むことを特徴とする画像符号化方法。A step of designating that α blending is performed on a predetermined portion in the key frame of the input key frame data;
For a portion of a key frame where α blending is not performed, the corresponding information data between key frames corresponding to the portion is incorporated, and for a portion where α blending is performed, it can be determined that α blending is performed. Forming a data stream;
An image encoding method comprising:
前記キーフレームのデータと前記対応情報データをもとに中間フレームを生成するステップと、
前記中間フレーム内から表示品質上問題のある部分を特定するステップと、
前記中間フレームを前後から挟むふたつのキーフレームのうち前記特定された部分に対応する部分にαブレンディングを行うことを指定するステップと、
を含む請求項24に記載の画像符号化方法。The step of designating a portion to perform α blending in the key frame,
Generating an intermediate frame based on the data of the key frame and the correspondence information data,
Identifying a portion having a problem in display quality from within the intermediate frame;
A step of designating that α blending is performed on a portion corresponding to the specified portion of the two key frames sandwiching the intermediate frame from the front and rear,
The image encoding method according to claim 24, comprising:
前記入力されたデータストリームからキーフレーム内のαブレンディングを行う部分を判別するαブレンディング検出部と、
キーフレーム内のαブレンディングを行わない部分に対しては前記入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに、αブレンディングを行う部分に対してはαブレンディングをもとに中間フレームを生成する中間画像生成部と、
を含むことを特徴とする画像復号装置。A stream input unit for inputting a data stream including at least correspondence information data between key frames,
An α-blending detection unit that determines a portion to perform α-blending in a key frame from the input data stream;
Based on the corresponding information data and the data of the key frame included in the input data stream, the portion of the key frame where α blending is not performed is based on α blending for the portion where α blending is performed. An intermediate image generation unit that generates an intermediate frame,
An image decoding device comprising:
キーフレーム内のαブレンディングを行わない部分に対しては前記入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに、αブレンディングを行う部分に対してはαブレンディングをもとに中間フレームを生成するステップと、
を含むことを特徴とする画像復号方法。Discriminating a portion for performing α blending in the key frame from the input data stream;
Based on the corresponding information data and the data of the key frame included in the input data stream, the portion of the key frame where α blending is not to be performed is based on α blending for the portion where α blending is to be performed. Generating an intermediate frame at
An image decoding method comprising:
前記キーフレームのデータからαブレンディングにより初期中間フレームを生成するステップと、
前記αブレンディングを行わない部分に対応する画像を前記対応情報データと前記キーフレームのデータから生成するステップと、
前記初期中間フレーム内の前記αブレンディングを行わない部分に対応する部分を前記画像で置換して前記中間フレームを生成するステップと、
を含む請求項29に記載の画像復号方法。The step of generating the intermediate frame includes:
Generating an initial intermediate frame by alpha blending from the data of the key frame;
Generating an image corresponding to the portion where the α blending is not performed from the corresponding information data and the data of the key frame;
Generating the intermediate frame by replacing a portion corresponding to the portion not performing the α blending in the initial intermediate frame with the image,
The image decoding method according to claim 29, comprising:
キーフレーム内のαブレンディングを行わない部分に対してはその部分に対応するキーフレーム間の対応情報データを組み込む形で、αブレンディングを行う部分に対してはαブレンディングを行うことが判別できる形でデータストリームを形成するステップと、
をコンピュータに実行せしめることを特徴とするプログラム。A step of designating that α blending is performed on a predetermined portion in the key frame of the input key frame data;
For a portion of a key frame where α blending is not performed, the corresponding information data between key frames corresponding to the portion is incorporated, and for a portion where α blending is performed, it can be determined that α blending is performed. Forming a data stream;
A program that causes a computer to execute the program.
キーフレーム内のαブレンディングを行わない部分に対しては前記入力されたデータストリームに含まれる対応情報データとキーフレームのデータをもとに、αブレンディングを行う部分に対してはαブレンディングをもとに中間フレームを生成するステップと、
をコンピュータに実行せしめることを特徴とするプログラム。Discriminating a portion for performing α blending in the key frame from the input data stream;
Based on the corresponding information data and the data of the key frame included in the input data stream, the portion of the key frame where α blending is not to be performed is based on α blending for the portion where α blending is to be performed. Generating an intermediate frame at
A program that causes a computer to execute the program.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002248723A JP2004048627A (en) | 2002-05-15 | 2002-08-28 | Image encoding method and device, image decoding method and device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002140830 | 2002-05-15 | ||
| JP2002248723A JP2004048627A (en) | 2002-05-15 | 2002-08-28 | Image encoding method and device, image decoding method and device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004048627A true JP2004048627A (en) | 2004-02-12 |
Family
ID=31719400
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002248723A Pending JP2004048627A (en) | 2002-05-15 | 2002-08-28 | Image encoding method and device, image decoding method and device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004048627A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008031293A1 (en) * | 2006-09-05 | 2008-03-20 | Zte, Corporation | A method for quickly playing the multimedia broadcast channels |
| JP2023548712A (en) * | 2020-11-09 | 2023-11-20 | ポートランド ステート ユニバーシティ | Systems and methods for hybrid machine learning and DCT-based video compression |
-
2002
- 2002-08-28 JP JP2002248723A patent/JP2004048627A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008031293A1 (en) * | 2006-09-05 | 2008-03-20 | Zte, Corporation | A method for quickly playing the multimedia broadcast channels |
| JP2023548712A (en) * | 2020-11-09 | 2023-11-20 | ポートランド ステート ユニバーシティ | Systems and methods for hybrid machine learning and DCT-based video compression |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3889233B2 (en) | Image encoding method and apparatus, and image decoding method and apparatus | |
| JP2008252860A (en) | Image processing method and image processing apparatus | |
| JP2008282377A (en) | Image processing method and apparatus | |
| JP2008282376A (en) | Image processing method and apparatus | |
| JP3877651B2 (en) | Image processing method and apparatus | |
| JP2002271788A (en) | Image coding method and device and image decoding method and device | |
| JP4050472B2 (en) | Image generation method, apparatus and system | |
| JP4157686B2 (en) | Method and apparatus for image encoding and decoding | |
| JP4039858B2 (en) | Image matching method and apparatus, and image encoding method and apparatus | |
| JPWO2005122593A1 (en) | Video encoding method and video decoding method | |
| JP2003037842A (en) | Picture coding method, decoding method, picture coder and decoder | |
| JP2004048116A (en) | Method and apparatus for encoding and decoding image data | |
| JP2007122751A (en) | Method, device and program for image processing | |
| JP2004048627A (en) | Image encoding method and device, image decoding method and device | |
| JP2002232838A (en) | Digital camera | |
| JP2002190020A (en) | Method and device for image effect | |
| JP2004023487A (en) | Monitor and monitoring method | |
| JP2002230575A (en) | Method and device for image effect | |
| JP3839353B2 (en) | Image encoding method and apparatus, and image decoding method and apparatus | |
| JP4524412B2 (en) | Image encoding method, decoding method, image encoding device, and decoding device | |
| JP3827981B2 (en) | Image encoding method and apparatus, and image decoding method and apparatus | |
| JP2004048595A (en) | Method and device of image encoding | |
| JP2002359842A (en) | Method and device for encoding image, and method and device for decoding image | |
| JP2004064156A (en) | Contents server, and contents providing method by the server | |
| JP3828048B2 (en) | Image encoding method and apparatus, and image decoding method and apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050715 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090204 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |