JP2004048116A - 画像データ符号化および復号のための方法および装置 - Google Patents
画像データ符号化および復号のための方法および装置 Download PDFInfo
- Publication number
- JP2004048116A JP2004048116A JP2002199318A JP2002199318A JP2004048116A JP 2004048116 A JP2004048116 A JP 2004048116A JP 2002199318 A JP2002199318 A JP 2002199318A JP 2002199318 A JP2002199318 A JP 2002199318A JP 2004048116 A JP2004048116 A JP 2004048116A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- image data
- data
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】再生環境に応じてフレームレートが決定され、かつ、オブジェクト単位でインタラクティブに再生させる軽快な動画フォーマットはなかった。
【解決手段】画像データを入力し(S1000)、画像データからオブジェクトを認識し(S1002)、オブジェクト単位のレイヤに分離する(S1004)。キーフレームを検出し(S1006)、複数視点のキーフレーム間では(S1008Y)、視点間の対応点情報を生成するとともに(S1010)、時間的に前後のキーフレーム間でも対応点情報を生成する(S1012)。これらのデータをパッケージ化し(S1014)、時系列的に関連づけし(S1016)、レイヤ別のコンポーネントを生成する(S1018)。これらを集合させて符号化データを生成して(S1020)、出力する(S1022)。
【選択図】 図20
【解決手段】画像データを入力し(S1000)、画像データからオブジェクトを認識し(S1002)、オブジェクト単位のレイヤに分離する(S1004)。キーフレームを検出し(S1006)、複数視点のキーフレーム間では(S1008Y)、視点間の対応点情報を生成するとともに(S1010)、時間的に前後のキーフレーム間でも対応点情報を生成する(S1012)。これらのデータをパッケージ化し(S1014)、時系列的に関連づけし(S1016)、レイヤ別のコンポーネントを生成する(S1018)。これらを集合させて符号化データを生成して(S1020)、出力する(S1022)。
【選択図】 図20
Description
【0001】
【発明の属する技術分野】
この発明は、画像データ処理技術に関する。この発明はとくに、複数のフレームを含む画像データを符号化または復号する方法と装置に関する。
【0002】
【従来の技術】
近年、画像圧縮技術は目覚ましい発展を遂げてきた。標準規格としてJPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)があるが、さらにその先を行く技術開発が争われている。とくに動画の圧縮技術に関しては、ブロードバンド環境の整備やDVDの普及に後押しされ、より高画質、より高圧縮を目指した競争が激化している。
【0003】
コンテンツ制作者の当然の要求である圧縮画像の画質向上が徐々に満たされてきている中、表現上の自由度をさらに向上させるにはインタラクティブ性の充実化が重要な鍵となる。従来はCDやDVDといった固定的に記録される媒体によるコンテンツ配信が中心であったものの、最近はインターネット経由や衛星放送による配信の形態へシフトしつつあり、受信側の多様な端末環境に十分に対応できるフォーマットの策定が不可欠となってきている。
【0004】
【発明が解決しようとする課題】
ここで、例えばMPEG4規格によって圧縮された動画は、制作者側で設定したフレームレートで再生されるのみであり、再生側の要求に応じてフレームレートを簡単に変えられるような自由度はもっていない。インターネット放送や衛星放送における受信端末は、専用のハードウエアから携帯電話まで種々であり、その性能は一様でない。どのようなスペックの端末に対しても的確に対応するためには、もはや圧縮技術そのものの課題ではなくフォーマット形式をどう定めるかの問題といえる。
【0005】
本発明はこうした現状に鑑みてなされたものであり、その目的は、再生環境に関する自由度を向上させる画像符号化と復号の技術およびそのフォーマットの提供にある。
【0006】
別の目的は、ユーザインタラクティブ性を向上させた画像データのフォーマットを実現することにある。
【0007】
さらに別の目的は、画像データの効率的圧縮を実現する符号化および復号技術の提供にある。
【0008】
さらに別の目的は、画質の維持と圧縮率の向上という相反する要望に適う画像符号化および復号技術の提供にある。
【0009】
【課題を解決するための手段】
本発明のある態様は画像データ符号化方法である。この方法においては、オブジェクト別のレイヤごとに個別の間隔で設定される複数のキーフレームとその表示タイミングを示す時間情報とを組み合わせ、その組み合わせを時系列的に複数関連づけることによって生成されるレイヤ別のコンポーネントを、後に複数のキーフレーム間で画素単位のマッチング計算によって得られる対応点情報をもとに中間フレームを生成することを前提とした符号化データとして出力する。
【0010】
本発明で処理される画像データは、動画でもよいし、三次元オブジェクトを二次元的に表現した画像でもよい。さらにいえば、フレームとして把握できる任意次元の画像すべてが処理可能である。「オブジェクト」は、画像データにおける描写の対象物であり、例えば人物、動物、木、車、背景などがひとつのオブジェクトとして扱われる。通常は複数のオブジェクトの描写が融合してひとつの画像データが形成される。本態様では、ひとつの画像データをオブジェクト単位に切り分けてそれぞれをレイヤとして扱う。ひとつのレイヤに含まれるオブジェクトの数は問わない。
【0011】
「間隔」は時間的間隔と空間的間隔のいずれであってもよく、その間隔はオブジェクト別に設定されてもよい。「時間情報」は、そのキーフレームを表示すべきタイミングを決定する情報であり、絶対的な時間と相対的な時間のいずれであってもよい。上記の「間隔」が時間的間隔を示す場合、この時間情報はキーフレームレートに応じた数値になる。
【0012】
「キーフレーム」はマッチングの対象になる参照フレームをいい、「中間フレーム」は対象にならない非参照フレームをいう。本明細書ではとくに断らない限り、記述の簡潔のために、「フレーム」ということばを、画像の単位として呼ぶ場合と、その単位を構成するデータそのもの、すなわち「フレームデータ」と呼ぶべき場合の両義に用いる。
【0013】
「コンポーネント」は、特定の時間範囲における複数のキーフレームとそれぞれの時間情報の他、映像と同期してその時間範囲に再生する音声データや所定のイベントを契機にアクセスするネットワーク上のURLを含んでもよい。
【0014】
この態様によれば、オブジェクトごとにキーフレームレートを設定できるので、背景などの変化が少ないオブジェクトについてキーフレームレートを低くすれば全体として符号化データの容量を低減できる。また、二つのキーフレームに対して一つの対応点情報があれば中間フレームを理論上いくつでも生成でき、再生側において任意のフレームレートで再生することができる。ここで、MPEG形式の画像データは、差分データの形式ではあるものの中間フレーム自体を内包するため全体のデータサイズが大きく、しかもフレームレートが固定である点で本実施形態より不利である。
【0015】
本発明の別の態様の画像データ符号化方法は、オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の間隔で複数のキーフレームを設定する工程と、複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成する工程と、キーフレームとその表示タイミングを示す時間情報と対応点情報を組み合わせたパッケージを記憶する工程と、そのパッケージを時系列的に前後のパッケージへ関連づける工程と、その関連づけられた複数のパッケージをレイヤごとに集合させてコンポーネントを生成する工程と、すべてのレイヤのコンポーネントを集合させて画像データの符号化データとして出力する工程と、を含む。
【0016】
「パッケージ」は、例えば一つのキーフレームと、その表示タイミングを示す情報と、次のキーフレームとの対応点を記述した情報と、を内包するデータであってもよいし、これらへのリンクだけを含んだインデックス的なデータであってもよい。「関連づけ」は、前後のパッケージまたはそのパッケージに含まれるキーフレームに対してリンクやポインタによってなされてもよい。この態様によっても、符号化データのデータサイズを低減でき、任意のフレームレートで再生できる。
【0017】
本発明のさらに別の態様は画像データ符号化装置である。この装置は、オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の表示タイミングにて複数のキーフレームを設定するキーフレーム設定部と、その複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成するマッチング計算部と、キーフレームとその表示タイミングを示す時間情報と対応点情報を組み合わせたパッケージを記憶するパッケージ設定部と、そのパッケージに対して時系列的に前後のパッケージへの関連づけを記述する関連記述部と、そのパッケージをレイヤごとに集合させてコンポーネントを生成するコンポーネント設定部と、すべてのレイヤのコンポーネントを集合させて符号化データとして出力する符号化データ生成部と、を含む。この態様によっても、符号化データの容量を低減でき、任意のフレームレートで再生できる。以上の各態様に含まれる各ユニットは、ソフトウエア、ハードウエアの任意の組み合わせで実現できる。
【0018】
本発明のさらに別の態様は画像データ復号方法である。この方法においては、オブジェクト別のレイヤごとに個別の間隔で設定される複数のキーフレームとその表示タイミングを示す時間情報との組み合わせによって生成されるレイヤ別のコンポーネントを取得し、複数のキーフレーム間で画素単位のマッチング計算によって得られる対応点情報をもとに中間フレームを生成し、キーフレームと中間フレームを組み合わせて復号データとして出力する。
【0019】
ここでいうコンポーネントは対応点情報を含んでいる場合と含んでいない場合の双方を想定できる。含んでいない場合は再生側にてキーフレーム間のマッチング計算を行った対応点情報を生成すればよい。この態様によれば、レイヤ別に任意のフレームレートで中間フレームを生成して再生できる。なお、本明細書において符号化データを画像データに変換する処理を「復号」と表現しているが、必ずしも符号化データに変換される前の画像データと同じ状態に戻すことを意図していない。とくに、元の画像データは複数レイヤに分離されていないが、復号後の画像データは複数レイヤに分離されている点でデータとしては同じではない。ただし、表示内容がほぼ同じになる点では復号といえる。
【0020】
本発明のさらに別の態様の画像データ復号方法は、オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データからレイヤごとに個別の間隔で設定された複数のキーフレームを検出する工程と、それらキーフレームの間における画素単位のマッチングによって得られた対応点情報をもとに、レイヤごとに個別のフレームレートにて中間フレームを生成する工程と、キーフレームと中間フレームの組み合わせを復号データとして出力する工程と、を含む。この態様によってもレイヤ別に任意のフレームレートで再生できる。
【0021】
本発明のさらに別の態様は画像データ復号装置である。この装置は、オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データからレイヤごとに個別の間隔で設定された複数のキーフレームを検出するキーフレーム検出部と、レイヤごとに個別のフレームレートを決定するフレームレート設定部と、キーフレームの間における画素単位のマッチングによって得られた対応点情報をもとにフレームレートにて時系列的な中間フレームを生成する中間フレーム生成部と、キーフレームと時系列的な中間フレームの組み合わせを復号データとして出力する復号データ生成部と、を含む。
【0022】
この態様によってもレイヤ別に任意のフレームレートで再生できる。以上の各態様に含まれる各ユニットは、ソフトウエア、ハードウエアの任意の組み合わせで実現できる。
【0023】
本発明のさらに別の態様はコンピュータにて読み取り可能なデータ構造である。このデータ構造は、画像データを識別するためのデータを格納するインデックス領域と、オブジェクト単位で分離された複数のレイヤを認識するためのデータを格納するコンテンツヘッダ領域と、レイヤごとに個別の間隔で設定された複数のキーフレームを含んだコンポーネントを格納するコンポーネント領域と、を含む。それらの領域のデータは画像データの符号化データとして関連づけられているとともに、そのコンポーネント領域には、キーフレームの表示タイミングを示す時間情報と、複数のキーフレーム間における画素単位のマッチングを計算して得られる対応点情報と、をさらに格納する。
【0024】
なお、以上の任意の構成や工程を任意に組み替えたもの、表示を方法、装置、プログラム、システム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【0025】
【発明の実施の形態】
はじめに、実施の形態で利用する多重解像度特異点フィルタ技術とそれを用いた画像マッチング処理を「前提技術」として詳述する。これらの技術は本出願人がすでに特許第2927350号を得ている技術であり、本発明との組み合わせに適する。ただし、実施の形態で採用可能な画像マッチング技術はこれに限られない。
図19以降、前提技術を利用した画像データ符号化および復号技術を具体的に説明する。
[前提技術の背景]
ふたつの画像の自動的なマッチング、つまり画像領域や画素どうしの対応付けは、コンピュータビジョンやコンピュータグラフィックスにおける最も難しくかつ重要なテーマのひとつである。例えば、あるオブジェクトに関して異なる視点からの画像間でマッチングがとれれば、他の視点からの画像を生成することができる。右目画像と左目画像のマッチングが計算できれば、立体画像を用いた写真測量も可能である。顔の画像のモデルと他の顔の画像のマッチングがとれたとき、目、鼻、口といった特徴的な顔の部分を抽出することができる。例えば人の顔と猫の顔の画像間でマッチングが正確にとられたとき、それらの中割画像を自動的に生成することでモーフィングを完全自動化することができる。
【0026】
しかし従来一般に、ふたつの画像間の対応点は人がいちいち指定しなければならず、多大な作業工数を要した。この問題を解消するために数多くの対応点自動検出方法が提案されている。例えば、エピポーラ直線を用いることによって対応点の候補の数を減らす考えがある。しかし、その場合でも処理はきわめて複雑である。複雑さを低減するために、左目画像の各点の座標は通常右目画像でもほぼ同じ位置にあると想定される。しかし、こうした制約を設けると、大域的特徴及び局所的特徴を同時に満たすマッチングをとることは非常に困難になる。
【0027】
ボリュームレンダリングでは、ボクセルを構成するために一連の断面画像が用いられる。この場合、従来一般に、上方の断面画像における画素が下方の断面画像の同一箇所にある画素と対応すると仮定され、これらの画素のペアが内挿計算に用いられる。このようにきわめて単純な方法を用いるため、連続する断面間の距離が遠く、オブジェクトの断面形状が大きく変化する場合、ボリュームレンダリングで構築されたオブジェクトは不明瞭になりがちである。
【0028】
立体写真測量法など、エッジの検出を利用するマッチングアルゴリズムも多い。しかしこの場合、結果的に得られる対応点の数が少ないため、マッチングのとれた対応点間のギャップを埋めるべく、ディスパリティの値を内挿計算しなければならない。一般にあらゆるエッジ検出器は、それらが用いる局所的なウィンドウの中で画素の輝度が変化したとき、これが本当にエッジの存在を示唆するかどうかを判断することが難しい。エッジ検出器は、本来的にすべてハイパスフィルタであり、エッジと同時にノイズも拾ってしまう。
【0029】
さらに別の手法として、オプティカルフローが知られている。二枚の画像が与えられたとき、オプティカルフローでは画像内のオブジェクト(剛体)の動きを検出する。その際、オブジェクトの各画素の輝度は変化しないと仮定する。オプティカルフローでは例えば(u,v)のベクトル場の滑らかさといった、いくつかの付加的な条件とともに、各画素の動きベクトル(u,v)を計算する。しかし、オプティカルフローでは画像間の大域的な対応関係を検出することはできない。画素の輝度の局所的な変化に注目するのみであり、画像の変位が大きい場合、システムの誤差は顕著になる。
【0030】
画像の大域的な構造を認識するために、多重解像度フィルタも数多く提案されてきた。それらは線形フィルタと非線形フィルタに分類される。前者の例としてウェーブレットがあるが、線形フィルタは一般に、画像マッチングにはさして有用ではない。なぜなら、極値をとる画素の輝度に関する情報がそれらの位置情報とともに次第に不鮮明になるためである。図1(a)と図1(b)は顔の画像に対して平均化フィルタを適用した結果を示している。同図のごとく、極値をとる画素の輝度が平均化によって次第に薄れるとともに、位置も平均化の影響でシフトしていく。その結果、目(輝度の極小点)の輝度や位置の情報は、このような粗い解像度レベルで曖昧になり、この解像度では正しいマッチングを計算することができない。したがって、粗い解像度レベルを設けるのが大域的なマッチングのためでありながら、ここで得られたマッチングは画像の本当の特徴(目、つまり極小点)に正確に対応しない。より精細な解像度レベルで目が鮮明に現れたとしても、大域的なマッチングをとる際に混入した誤差は、もはや取り返しがつかない。入力画像にスムージング処理を加えることにより、テクスチャ領域のステレオ情報が落ちてしまうこともすでに指摘されている。
【0031】
一方、最近地形学の分野で利用されはじめた非線形フィルタとして一次元の「ふるい(sieve)」演算子がある。この演算子は、所定の大きさの一次元ウィンドウ内の極小値(または極大値)を選択することにより、縮尺と空間の因果関係を保存しながら画像にスムージング処理を加える。その結果得られる画像は元の画像と同じ大きさであるが、小さな波の成分が取り除かれているため、より単純になる。画像の情報を落とすという点で、この演算子は広い意味での「多重解像度フィルタ」に分類することはできるが、実際にはウェーブレットのように画像の解像度を変えながら画像を階層化するわけではなく(つまり狭い意味での多重解像度フィルタではなく)、画像間の対応の検出には利用できない。
【0032】
[前提技術が解決しようとする課題]
以上をまとめれば以下の課題が認められる。
1.画像の特徴を正確に、かつ比較的簡単な処理で把握する画像処理方法が乏しかった。特に、特徴のある点に関する情報、例えば画素値や位置を維持しながら特徴を抽出できる画像処理方法に関する有効な提案が少なかった。
2.画像の特徴をもとに対応点を自動検出する場合、一般に処理が複雑であるか、ノイズ耐性が低いなどの欠点があった。また、処理に際していろいろな制約を設ける必要があり、大域的特徴及び局所的特徴を同時に満たすマッチングをとることが困難だった。
3.画像の大域的な構造または特徴を認識するために多重解像度フィルタを導入しても、そのフィルタが線形フィルタの場合、画素の輝度情報と位置情報が曖昧になった。その結果、対応点の把握が不正確になりやすかった。非線形フィルタである一次元ふるい演算子は画像を階層化しないため、画像間の対応点の検出には利用できなかった。
4.これらの結果、対応点を正しく把握しようとすれば、結局人手による指定に頼るほか有効な手だてがなかった。
【0033】
前提技術はこれらの課題の解決を目的としてなされたものであり、画像処理の分野において、画像の特徴の的確な把握を可能にする技術を提供するものである。
【0034】
[前提技術が課題を解決するための手段]
この目的のために前提技術のある態様は、新たな多重解像度の画像フィルタを提案する。この多重解像度フィルタは画像から特異点を抽出する。したがって、特異点フィルタともよばれる。特異点とは画像上特徴をもつ点をいう。例として、ある領域において画素値(画素値とは、色番号、輝度値など画像または画素に関する任意の数値を指す)が最大になる極大点、最小になる極小点、ある方向については最大だが別の方向については最小になるような鞍点がある。特異点は位相幾何学上の概念であってもよい。ただし、その他どのような特徴を有してもよい。いかなる性質の点を特異点と考えるかは、前提技術にとって本質問題ではない。
【0035】
この態様では、多重解像度フィルタを用いた画像処理が行われる。まず検出工程において、第一の画像に対し、二次元的な探索を行って特異点が検出される。つぎに生成工程において、検出された特異点を抽出して第一の画像よりも解像度の低い第二の画像が生成される。第二の画像には第一の画像のもつ特異点が引き継がれる。第二の画像は第一の画像よりも解像度が低いため、画像の大域的な特徴の把握に好適である。
【0036】
前提技術の別の態様は特異点フィルタを用いた画像マッチング方法に関する。この態様では、始点画像と終点画像間のマッチングがとられる。始点画像および終点画像とは、ふたつの画像の区別のために便宜的に与えた名称であり、本質的な違いはない。
【0037】
この態様では、第一工程にて、始点画像に特異点フィルタを施して解像度の異なる一連の始点階層画像が生成される。第二工程では、終点画像に特異点フィルタを施して解像度の異なる一連の終点階層画像が生成される。始点階層画像、終点階層画像とは、それぞれ始点画像、終点画像を階層化して得られる画像群をいい、それぞれ最低2枚の画像からなる。つぎに第三工程において、始点階層画像と終点階層画像のマッチングが解像度レベルの階層の中で計算される。この態様によれば、多重解像度フィルタによって特異点に関連する画像の特徴が抽出され、および/または明確化されるため、マッチングが容易になる。マッチングのための拘束条件は特に必要としない。
【0038】
前提技術のさらに別の態様も始点画像と終点画像のマッチングに関する。この態様では、予め複数のマッチング評価項目のそれぞれに関して評価式を設け、それらの評価式を統合して総合評価式を定義し、その総合評価式の極値付近に注目して最適マッチングを探索する。総合評価式は、評価式の少なくもひとつに係数パラメータを掛けたうえでそれらの評価式の総和として定義してもよく、その場合、総合評価式またはいずれかの評価式がほぼ極値をとる状態を検出して前記パラメータを決定してもよい。「極値付近」または「ほぼ極値をとる」としたのは、多少誤差を含んでいてもよいためである。多少の誤差は前提技術にはさして問題とならない。
【0039】
極値自体も前記パラメータに依存するため、極値の挙動、つまり極値の変化の様子をもとに、最適と考えられるパラメータを決定する余地が生じる。この態様はその事実を利用している。この態様によれば、元来調整の困難なパラメータの決定を自動化する途が拓かれる。
【0040】
[前提技術の実施の形態]
最初に[1]で前提技術の要素技術を詳述し、[2]で処理手順を具体的に説明する。さらに[3]で前提技術に基づき改良を施した点について述べる。
【0041】
[1]要素技術の詳細
[1.1]イントロダクション
特異点フィルタと呼ばれる新たな多重解像度フィルタを導入し、画像間のマッチングを正確に計算する。オブジェクトに関する予備知識は一切不要である。画像間のマッチングの計算は、解像度の階層を進む間、各解像度において計算される。その際、粗いレベルから精細なレベルへと順に解像度の階層を辿っていく。計算に必要なパラメータは、人間の視覚システムに似た動的計算によって完全に自動設定される。画像間の対応点を人手で特定する必要はない。
【0042】
本前提技術は、例えば完全に自動的なモーフィング、物体認識、立体写真測量、ボリュームレンダリング、少ないフレームからの滑らかな動画像の生成などに応用できる。モーフィングに用いる場合、与えられた画像を自動的に変形することができる。ボリュームレンダリングに用いる場合、断面間の中間的な画像を正確に再構築することができる。断面間の距離が遠く、断面の形状が大きく変化する場合でも同様である。
【0043】
[1.2]特異点フィルタの階層
前提技術に係る多重解像度特異点フィルタは、画像の解像度を落としながら、しかも画像に含まれる各特異点の輝度及び位置を保存することができる。ここで画像の幅をN、高さをMとする。以下簡単のため、N=M=2n(nは自然数)と仮定する。また、区間[0,N]⊂RをIと記述する。(i,j)における画像の画素をp(i,j)と記述する(i,j∈I)。
【0044】
ここで多重解像度の階層を導入する。階層化された画像群は多重解像度フィルタで生成される。多重解像度フィルタは、もとの画像に対して二次元的な探索を行って特異点を検出し、検出された特異点を抽出してもとの画像よりも解像度の低い別の画像を生成する。ここで第mレベルにおける各画像のサイズは2m×2m(0≦m≦n)とする。特異点フィルタは次の4種類の新たな階層画像をnから下がる方向で再帰的に構築する。
【0045】
【数1】
ただしここで、
【0046】
【数2】
とする。以降これら4つの画像を副画像(サブイメージ)と呼ぶ。minx≦t≦x+1、maxx≦t≦x+1をそれぞれα及びβと記述すると、副画像はそれぞれ以下のように記述できる。
【0047】
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画素で構成されるブロックごとに特異点を検出する。その際、各ブロックのふたつの方向、つまり縦と横について、最大画素値または最小画素値をもつ点を探索する。画素値として、前提技術では輝度を採用するが、画像に関するいろいろな数値を採用することができる。ふたつの方向の両方について最大画素値となる画素は極大点、ふたつの方向の両方について最小画素値となる画素は極小点、ふたつの方向の一方について最大画素値となるとともに、他方について最小画素値となる画素は鞍点として検出される。
【0048】
特異点フィルタは、各ブロックの内部で検出された特異点の画像(ここでは1画素)でそのブロックの画像(ここでは4画素)を代表させることにより、画像の解像度を落とす。特異点の理論的な観点からすれば、α(x)α(y)は極小点を保存し、β(x)β(y)は極大点を保存し、α(x)β(y)及びβ(x)α(y)は鞍点を保存する。
【0049】
はじめに、マッチングをとるべき始点(ソース)画像と終点(デスティネーション)画像に対して別々に特異点フィルタ処理を施し、それぞれ一連の画像群、すなわち始点階層画像と終点階層画像を生成しておく。始点階層画像と終点階層画像は、特異点の種類に対応してそれぞれ4種類ずつ生成される。
【0050】
この後、一連の解像度レベルの中で始点階層画像と終点階層画像のマッチングがとれらていく。まずp(m,0)を用いて極小点のマッチングがとられる。次に、その結果に基づき、p(m,1)を用いて鞍点のマッチングがとられ、p(m,2)を用いて他の鞍点のマッチングがとられる。そして最後にp(m,3)を用いて極大点のマッチングがとられる。
【0051】
図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)によって耳や頬の最も明るい点が明確になる。これらは輝度の極大点だからである。
【0052】
特異点フィルタによれば画像の特徴が抽出できるため、例えばカメラで撮影された画像の特徴と、予め記録しておいたいくつかのオブジェクトの特徴を比較することにより、カメラに映った被写体を識別することができる。
【0053】
[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の順序は次式のように並べ替えることができる。並べ替えが必要な理由は後述する。
【0054】
【数3】
ここでσ(i)∈{0,1,2,3}である。
【0055】
[1.3.1]全単射
始点画像と終点画像の間のマッチングを写像で表現する場合、その写像は両画像間で全単射条件を満たすべきである。両画像に概念上の優劣はなく、互いの画素が全射かつ単射で接続されるべきだからである。しかしながら通常の場合とは異なり、ここで構築すべき写像は全単射のディジタル版である。前提技術では、画素は格子点によって特定される。
【0056】
始点副画像(始点画像について設けられた副画像)から終点副画像(終点画像について設けられた副画像)への写像は、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)と記述する。
【0057】
前提技術で扱う画素(格子点)のようにデータが離散的な場合、全単射の定義は重要である。ここでは以下のように定義する(i,i’,j,j’,k,lは全て整数とする)。まず始めに、始点画像の平面においてRによって表記される各正方形領域、
【0058】
【数4】
を考える(i=0,…,2m−1、j=0,…,2m−1)。ここでRの各辺(エッジ)の方向を以下のように定める。
【0059】
【数5】
この正方形は写像fによって終点画像平面における四辺形に写像されなければならない。f(m,s)(R)によって示される四辺形、
【0060】
【数6】
は、以下の全単射条件を満たす必要がある。
【0061】
1.四辺形f(m,s)(R)のエッジは互いに交差しない。
2.f(m,s)(R)のエッジの方向はRのそれらに等しい(図2の場合、時計回り)。
3.緩和条件として収縮写像(リトラクション:retractions)を許す。
【0062】
何らかの緩和条件を設けないかぎり、全単射条件を完全に満たす写像は単位写像しかないためである。ここではf(m,s)(R)のひとつのエッジの長さが0、すなわちf(m,s)(R)は三角形になってもよい。しかし、面積が0となるような図形、すなわち1点または1本の線分になってはならない。図2(R)がもとの四辺形の場合、図2(A)と図2(D)は全単射条件を満たすが、図2(B)、図2(C)、図2(E)は満たさない。
【0063】
実際のインプリメンテーションでは、写像が全射であることを容易に保証すべく、さらに以下の条件を課してもよい。つまり始点画像の境界上の各画素は、終点画像において同じ位置を占める画素に写影されるというものである。すなわち、f(i,j)=(i,j)(ただしi=0,i=2m−1,j=0,j=2m−1の4本の線上)である。この条件を以下「付加条件」とも呼ぶ。
【0064】
[1.3.2]写像のエネルギー
[1.3.2.1]画素の輝度に関するコスト
写像fのエネルギーを定義する。エネルギーが最小になる写像を探すことが目的である。エネルギーは主に、始点画像の画素の輝度とそれに対応する終点画像の画素の輝度の差で決まる。すなわち、写像f(m,s)の点(i,j)におけるエネルギーC(m,s) (i,j)は次式によって定まる。
【0065】
【数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)の合計で定義できる。
【0066】
【数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)は次式で定義される。
【0067】
【数9】
ただし、係数パラメータηは0以上の実数であり、また、
【0068】
【数10】
【0069】
【数11】
とする。ここで、
【0070】
【数12】
であり、i’<0およびj’<0に対してf(i’,j’)は0と決める。E0は(i,j)及びf(i,j)の距離で決まる。E0は画素があまりにも離れた画素へ写影されることを防ぐ。ただしE0は、後に別のエネルギー関数で置き換える。E1は写像の滑らかさを保証する。E1は、p(i,j)の変位とその隣接点の変位の間の隔たりを表す。以上の考察をもとに、マッチングを評価する別の評価式であるエネルギーDfは次式で定まる。
【0071】
【数13】
[1.3.2.3]写像の総エネルギー
写像の総エネルギー、すなわち複数の評価式の統合に係る総合評価式はλC(m,s) f+D(m,s) fで定義される。ここで係数パラメータλは0以上の実数である。目的は総合評価式が極値をとる状態を検出すること、すなわち次式で示す最小エネルギーを与える写像を見いだすことである。
【0072】
【数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だけになり、本来何等関連のない画素どうしが単に輝度が近いというだけで対応づけられ、写像が無意味なものになる。そうした無意味な写像をもとに写像を変形していってもまったく意味をなさない。このため、単位写像が評価の開始時点で最良の写像として選択されるよう係数パラメータの与えかたが配慮されている。
【0073】
オプティカルフローもこの前提技術同様、画素の輝度の差と滑らかさを考慮する。しかし、オプティカルフローは画像の変換に用いることはできない。オブジェクトの局所的な動きしか考慮しないためである。前提技術に係る特異点フィルタを用いることによって大域的な対応関係を検出することができる。
【0074】
[1.3.3]多重解像度の導入による写像の決定
最小エネルギーを与え、全単射条件を満足する写像fminを多重解像度の階層を用いて求める。各解像度レベルにおいて始点副画像及び終点副画像間の写像を計算する。解像度の階層の最上位(最も粗いレベル)からスタートし、各解像度レベルの写像を、他のレベルの写像を考慮に入れながら決定する。各レベルにおける写像の候補の数は、より高い、つまりより粗いレベルの写像を用いることによって制限される。より具体的には、あるレベルにおける写像の決定に際し、それよりひとつ粗いレベルにおいて求められた写像が一種の拘束条件として課される。
【0075】
まず、
【0076】
【数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)は次式で定義される。
【0077】
【数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)は次の四辺形の内部になければならないという条件を課し、全単射条件を満たす写像のうち現実性の高いものを絞り込む。
【0078】
【数17】
ただしここで、
【0079】
【数18】
である。こうして定めた四辺形を、以下p(m,s) (i,j)の相続(inherited)四辺形と呼ぶことにする。相続四辺形の内部において、エネルギーを最小にする画素を求める。
【0080】
図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レベルの写像への橋渡しがなされる。
【0081】
先に定義したエネルギーE0は、第mレベルにおける副写像f(m,0)を計算するために、次式に置き換える。
【0082】
【数19】
また、副写像f(m,s)を計算するためには次式を用いる。
【0083】
【数20】
こうしてすべての副写像のエネルギーを低い値に保つ写像が得られる。式20により、異なる特異点に対応する副写像が、副写像どうしの類似度が高くなるように同一レベル内で関連づけられる。式19は、f(m,s)(i,j)と、第m−1レベルの画素の一部と考えた場合の(i,j)が射影されるべき点の位置との距離を示している。
【0084】
仮に、相続四辺形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条件を外す。
【0085】
多重解像度を用いる近似法は、写像が画像の細部に影響されることを回避しつつ、画像間の大域的な対応関係を決定するために必須である。多重解像度による近似法を用いなければ、距離の遠い画素間の対応関係を見いだすことは不可能である。その場合、画像のサイズはきわめて小さなものに限定しなければならず、変化の小さな画像しか扱うことができない。さらに、通常写像に滑らかさを要求するため、そうした画素間の対応関係を見つけにくくしている。距離のある画素から画素への写像のエネルギーは高いためである。多重解像度を用いた近似法によれば、そうした画素間の適切な対応関係を見いだすことができる。それらの距離は、解像度の階層の上位レベル(粗いレベル)において小さいためである。
【0086】
[1.4]最適なパレメータ値の自動決定
既存のマッチング技術の主な欠点のひとつに、パレメータ調整の困難さがある。大抵の場合、パラメータの調整は人手作業によって行われ、最適な値を選択することはきわめて難しい。前提技術に係る方法によれば、最適なパラメータ値を完全に自動決定することができる。
【0087】
前提技術に係るシステムはふたつのパレメータ、λ及びηを含む。端的にいえば、λは画素の輝度の差の重みであり、ηは写像の剛性を示している。これらのパラメータの値は初期値が0であり、まずη=0に固定してλを0から徐々に増加させる。λの値を大きくしながら、しかも総合評価式(式14)の値を最小にする場合、各副写像に関するC(m,s) fの値は一般に小さくなっていく。このことは基本的にふたつの画像がよりマッチしなければならないことを意味する。しかし、λが最適値を超えると以下の現象が発生する。
【0088】
1.本来対応すべきではない画素どうしが、単に輝度が近いというだけで誤って対応づけられる。
2.その結果、画素どうしの対応関係がおかしくなり、写像がくずれはじめる。
3.その結果、式14においてD(m,s) fが急激に増加しようとする。
4.その結果、式14の値が急激に増加しようとするため、D(m,s) fの急激な増加を抑制するようf(m,s)が変化し、その結果C(m,s) fが増加する。
したがって、λを増加させながら式14が最小値をとるという状態を維持しつつC(m,s) fが減少から増加に転じる閾値を検出し、そのλをη=0における最適値とする。つぎにηを少しづつ増やしてC(m,s) fの挙動を検査し、後述の方法でηを自動決定する。そのηに対応してλも決まる。
【0089】
この方法は、人間の視覚システムの焦点機構の動作に似ている。人間の視覚システムでは、一方の目を動かしながら左右両目の画像のマッチングがとられる。オブジェクトがはっきりと認識できるとき、その目が固定される。
【0090】
[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以上減少しない限り総エネルギーは減らないためである。
【0091】
この条件のもと、λの増加に伴い、正常な場合に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まで微小量変化するとき、
【0092】
【数21】
で示されるA個の画素が、
【0093】
【数22】
のエネルギーを持つより安定的な状態に変化する。ここでは仮に、これらの画素のエネルギーがすべてゼロになると近似している。この式はC(m,s) fの値が、
【0094】
【数23】
だけ変化することを示し、その結果、
【0095】
【数24】
が成立する。h(l)>0であるから、通常C(m,s) fは減少する。しかし、λが最適値を越えようとするとき、上述の現象、つまりC(m,s) fの増加が発生する。この現象を検出することにより、λの最適値を決定する。
【0096】
なお、H(h>0)及びkを定数とするとき、
【0097】
【数25】
と仮定すれば、
【0098】
【数26】
が成り立つ。このときk≠−3であれば、
【0099】
【数27】
となる。これがC(m,s) fの一般式である(Cは定数)。
【0100】
λの最適値を検出する際、さらに安全を見て、全単射条件を破る画素の数を検査してもよい。ここで各画素の写像を決定する際、全単射条件を破る確率をp0と仮定する。この場合、
【0101】
【数28】
が成立しているため、全単射条件を破る画素の数は次式の率で増加する。
【0102】
【数29】
従って、
【0103】
【数30】
は定数である。仮にh(l)=Hlkを仮定するとき、例えば、
【0104】
【数31】
は定数になる。しかしλが最適値を越えると、上の値は急速に増加する。この現象を検出し、B0λ3/2+k/2/2mの値が異常値B0thresを越えるかどうかを検査し、λの最適値を決定することができる。同様に、B1λ3/2+k/2/2mの値が異常値B1thresを越えるかどうかを検査することにより、全単射の第3の条件を破る画素の増加率B1を確認する。ファクター2mを導入する理由は後述する。このシステムはこれら2つの閾値に敏感ではない。これらの閾値は、エネルギーC(m,s) fの観察では検出し損なった写像の過度の歪みを検出するために用いることができる。
【0105】
なお実験では、副写像f(m,s)を計算する際、もしλが0.1を越えたらf(m,s)の計算は止めてf(m,s+1)の計算に移行した。λ>0.1のとき、画素の輝度255レベル中のわずか「3」の違いが副写像の計算に影響したためであり、λ>0.1のとき正しい結果を得ることは困難だったためである。
【0106】
[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を正しく設定することによって吸収することができる。
【0107】
ここで次式のごとく始点画像を中心が(x0,y0)、半径rの円形のオブジェクトであると仮定する。
【0108】
【数32】
一方、終点画像は、次式のごとく中心(x1,y1)、半径がrのオブジェクトであるとする。
【0109】
【数33】
ここでc(x)はc(x)=xkの形であるとする。中心(x0,y0)及び(x1,y1)が十分遠い場合、ヒストグラムh(l)は次式の形となる。
【0110】
【数34】
k=1のとき、画像は背景に埋め込まれた鮮明な境界線を持つオブジェクトを示す。このオブジェクトは中心が暗く、周囲にいくに従って明るくなる。k=−1のとき、画像は曖昧な境界線を持つオブジェクトを表す。このオブジェクトは中心が最も明るく、周囲にいくに従って暗くなる。一般のオブジェクトはこれらふたつのタイプのオブジェクトの中間にあると考えてもさして一般性を失わない。したがって、kは−1≦k≦1として大抵の場合をカバーでき、式27が一般に減少関数であることが保障される。
【0111】
なお、式34からわかるように、rは画像の解像度に影響されること、すなわちrは2mに比例することに注意すべきである。このために[1.4.1]においてファクター2mを導入した。
【0112】
[1.4.3]ηの動的決定
パラメータηも同様の方法で自動決定できる。はじめにη=0とし、最も細かい解像度における最終的な写像f(n)及びエネルギーC(n) fを計算する。つづいて、ηをある値Δηだけ増加させ、再び最も細かい解像度における最終写像f(n)及びエネルギーC(n) fを計算し直す。この過程を最適値が求まるまで続ける。ηは写像の剛性を示す。次式の重みだからである。
【0113】
【数35】
ηが0のとき、D(n) fは直前の副写像と無関係に決定され、現在の副写像は弾性的に変形され、過度に歪むことになる。一方、ηが非常に大きな値のとき、D(n) fは直前の副写像によってほぼ完全に決まる。このとき副写像は非常に剛性が高く、画素は同じ場所に射影される。その結果、写像は単位写像になる。ηの値が0から次第に増えるとき、後述のごとくC(n) fは徐々に減少する。しかしηの値が最適値を越えると、図4に示すとおり、エネルギーは増加し始める。同図のX軸はη、Y軸はCfである。
【0114】
この方法でC(n) fを最小にする最適なηの値を得ることができる。しかし、λの場合に比べていろいろな要素が計算に影響する結果、C(n) fは小さく揺らぎながら変化する。λの場合は、入力が微小量変化するたびに副写像を1回計算しなおすだけだが、ηの場合はすべての副写像が計算しなおされるためである。このため、得られたC(n) fの値が最小であるかどうかを即座に判断することはできない。最小値の候補が見つかれば、さらに細かい区間を設定することによって真の最小値を探す必要がある。
【0115】
[1.5]スーパーサンプリング
画素間の対応関係を決定する際、自由度を増やすために、f(m,s)の値域をR×Rに拡張することができる(Rは実数の集合)。この場合、終点画像の画素の輝度が補間され、非整数点、
【0116】
【数36】
における輝度を持つf(m,s)が提供される。つまりスーパーサンプリングが行われる。実験では、f(m,s)は整数及び半整数値をとることが許され、
【0117】
【数37】
は、
【0118】
【数38】
によって与えられた。
【0119】
[1.6]各画像の画素の輝度の正規化
始点画像と終点画像がきわめて異なるオブジェクトを含んでいるとき、写像の計算に元の画素の輝度がそのままでは利用しにくい。輝度の差が大きいために輝度に関するエネルギーC(m,s) fが大きくなりすぎ、正しい評価がしずらいためである。
【0120】
例えば、人の顔と猫の顔のマッチングをとる場合を考える。猫の顔は毛で覆われており、非常に明るい画素と非常に暗い画素が混じっている。この場合、ふたつの顔の間の副写像を計算するために、まず副画像を正規化する。すなわち、最も暗い画素の輝度を0、最も明るいそれを255に設定し、他の画素の輝度は線形補間によって求めておく。
【0121】
[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)が決まる。
【0122】
ある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)を以下の方法で決めていく。
【0123】
まず(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であるとしてふたつの方向を連続的に計算した。
【0124】
実際のインプリメンテーションでは、全単射条件を破る候補に対してペナルティを与えることにより、候補(k,l)の中からできる限り全単射条件を満たすf(m,s)(i,j)(m=0,…,n)の値を選んだ。第3の条件を破る候補のエネルギーD(k、l)にはφを掛け、一方、第1または第2の条件を破る候補にはψを掛ける。今回はφ=2、ψ=100000を用いた。
【0125】
前述の全単射条件のチェックのために、実際の手続として(k,l)=f(m,s)(i,j)を決定する際に以下のテストを行った。すなわちf(m,s)(i,j)の相続四辺形に含まれる各格子点(k,l)に対し、次式の外積のz成分が0以上になるかどうかを確かめる。
【0126】
【数39】
ただしここで、
【0127】
【数40】
【0128】
【数41】
である(ここでベクトルは三次元ベクトルとし、z軸は直交右手座標系において定義される)。もしWが負であれば、その候補についてはD(m,s) (k,l)にψを掛けることによってペナルティを与え、できるかぎり選択しないようにする。
【0129】
図5(a)、図5(b)はこの条件を検査する理由を示している。図5(a)はペナルティのない候補、図5(b)はペナルティがある候補をそれぞれ表す。隣接画素(i,j+1)に対する写像f(m,s)(i,j+1)を決定する際、Wのz成分が負であれば始点画像平面上において全単射条件を満足する画素は存在しない。なぜなら、q(m,s) (k,l)は隣接する四辺形の境界線を越えるためである。
【0130】
[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に相当する処理を行った。その理由は後述する。
【0131】
[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)を次式で求める。
【0132】
【数42】
つづいてr(x,y,t)における画素の輝度が次の式を用いて決定される。
【0133】
【数43】
ここでdx及びdyはパラメータであり、0から1まで変化する。
【0134】
[1.9]拘束条件を課したときの写像
いままでは拘束条件がいっさい存在しない場合の写像の決定を述べた。しかし、始点画像と終点画像の特定の画素間に予め対応関係が規定されているとき、これを拘束条件としたうえで写像を決定することができる。
【0135】
基本的な考えは、まず始点画像の特定の画素を終点画像の特定の画素に移す大まかな写像によって始点画像を大まかに変形し、しかる後、写像fを正確に計算する。
【0136】
まず始めに、始点画像の特定の画素を終点画像の特定の画素に射影し、始点画像の他の画素を適当な位置に射影する大まかな写像を決める。すなわち、特定の画素に近い画素は、その特定の画素が射影される場所の近くに射影されるような写像である。ここで第mレベルの大まかな写像をF(m)と記述する。
【0137】
大まかな写像Fは以下の要領で決める。まず、いくつかの画素について写像を特定する。始点画像についてns個の画素、
【0138】
【数44】
を特定するとき、以下の値を決める。
【0139】
【数45】
始点画像の他の画素の変位量は、p(ih,jh)(h=0,…,ns−1)の変位に重み付けをして求められる平均である。すなわち画素p(i,j)は、終点画像の以下の画素に射影される。
【0140】
【数46】
ただしここで、
【0141】
【数47】
【0142】
【数48】
とする。
【0143】
つづいて、F(m)に近い候補写像fがより少ないエネルギーを持つように、その写像fのエネルギーD(m,s) (i,j)を変更する。正確には、D(m,s) (i,j)は、
【0144】
【数49】
である。ただし、
【0145】
【数50】
であり、κ,ρ≧0とする。最後に、前述の写像の自動計算プロセスにより、fを完全に決定する。
【0146】
ここで、f(m,s)(i,j)がF(m)(i,j)に十分近いとき、つまりそれらの距離が、
【0147】
【数51】
以内であるとき、E2 (m,s) (i,j)が0になることに注意すべきである。そのように定義した理由は、各f(m,s)(i,j)がF(m)(i,j)に十分近い限り、終点画像において適切な位置に落ち着くよう、その値を自動的に決めたいためである。この理由により、正確な対応関係を詳細に特定する必要がなく、始点画像は終点画像にマッチするように自動的にマッピングされる。
【0148】
[2]具体的な処理手順
[1]の各要素技術による処理の流れを説明する。
図6は前提技術の全体手順を示すフローチャートである。同図のごとく、まず多重解像度特異点フィルタを用いた処理を行い(S1)、つづいて始点画像と終点画像のマッチングをとる(S2)。ただし、S2は必須ではなく、S1で得られた画像の特徴をもとに画像認識などの処理を行ってもよい。
【0149】
図7は図6のS1の詳細を示すフローチャートである。ここではS2で始点画像と終点画像のマッチングをとることを前提としている。そのため、まず特異点フィルタによって始点画像の階層化を行い(S10)、一連の始点階層画像を得る。つづいて同様の方法で終点画像の階層化を行い(S11)、一連の終点階層画像を得る。ただし、S10とS11の順序は任意であるし、始点階層画像と終点階層画像を並行して生成していくこともできる。
【0150】
図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種類の副画像が生成される。
【0151】
図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になる。
【0152】
つづいてmをデクリメントし(図8のS103)、mが負になっていないことを確認し(S104)、S101に戻ってつぎに解像度の粗い副画像を生成していく。この繰り返し処理の結果、m=0、すなわち第0レベルの副画像が生成された時点でS10が終了する。第0レベルの副画像のサイズは1×1である。
【0153】
図10はS10によって生成された始点階層画像をn=3の場合について例示している。最初の始点画像のみが4つの系列に共通であり、以降特異点の種類に応じてそれぞれ独立に副画像が生成されていく。なお、図8の処理は図7のS11にも共通であり、同様の手順を経て終点階層画像も生成される。以上で図6のS1による処理が完了する。
【0154】
前提技術では、図6のS2に進むためにマッチング評価の準備をする。図11はその手順を示している。同図のごとく、まず複数の評価式が設定される(S30)。[1.3.2.1]で導入した画素に関するエネルギーC(m,s) fと[1.3.2.2]で導入した写像の滑らかさに関するエネルギーD(m,s) fがそれである。つぎに、これらの評価式を統合して総合評価式を立てる(S31)。[1.3.2.3]で導入した総エネルギーλC(m,s) f+D(m,s) fがそれであり、[1.3.2.2]で導入したηを用いれば、
【数52】
となる。ただし、総和はi、jについてそれぞれ0、1…、2m−1で計算する。以上でマッチング評価の準備が整う。
【0155】
図12は図6のS2の詳細を示すフローチャートである。[1]で述べたごとく、始点階層画像と終点階層画像のマッチングは互いに同じ解像度レベルの画像どうしでとられる。画像間の大域的なマッチングを良好にとるために、解像度が粗いレベルから順にマッチングを計算する。特異点フィルタを用いて始点階層画像および終点階層画像を生成しているため、特異点の位置や輝度は解像度の粗いレベルでも明確に保存されており、大域的なマッチングの結果は従来に比べて非常に優れたものになる。
【0156】
図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で後述する。
【0157】
一方、同一レベル内における水平的参照も行われる。[1.3.3]の式20のごとく、f(m,3)はf(m,2)に、f(m,2)はf(m,1)に、f(m,1)はf(m,0)に、それぞれ類似するように決める。その理由は、特異点の種類が違っても、それらがもともと同じ始点画像と終点画像に含まれている以上、副写像がまったく異なるという状況は不自然だからである。式20からわかるように、副写像どうしが近いほどエネルギーは小さくなり、マッチングが良好とみなされる。
【0158】
なお、最初に決めるべき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]で述べたとおりである。
【0159】
図13は第0レベルにおいて副写像を決定する様子を示す図である。第0レベルでは各副画像がただひとつの画素で構成されるため、4つの副写像f(0,s)はすべて自動的に単位写像に決まる。図14は第1レベルにおいて副写像を決定する様子を示す図である。第1レベルでは副画像がそれぞれ4画素で構成される。同図ではこれら4画素が実線で示されている。いま、p(1,s)の点xの対応点をq(1,s)の中で探すとき、以下の手順を踏む。
【0160】
1.第1レベルの解像度で点xの左上点a、右上点b、左下点c、右下点dを求める。
2.点a〜dがひとつ粗いレベル、つまり第0レベルにおいて属する画素を探す。図14の場合、点a〜dはそれぞれ画素A〜Dに属する。ただし、画素A〜Cは本来存在しない仮想的な画素である。
3.第0レベルですでに求まっている画素A〜Dの対応点A’〜D’をq(1,s)の中にプロットする。画素A’〜C’は仮想的な画素であり、それぞれ画素A〜Cと同じ位置にあるものとする。
4.画素Aの中の点aの対応点a’が画素A’の中にあるとみなし、点a’をプロットする。このとき、点aが画素Aの中で占める位置(この場合、右下)と、点a’が画素A’の中で占める位置が同じであると仮定する。
5.4と同様の方法で対応点b’〜d’をプロットし、点a’〜d’で相続四辺形を作る。
6.相続四辺形の中でエネルギーが最小になるよう、点xの対応点x’を探す。対応点x’の候補として、例えば画素の中心が相続四辺形に含まれるものに限定してもよい。図14の場合、4つの画素がすべて候補になる。
【0161】
以上がある点xの対応点の決定手順である。同様の処理を他のすべての点について行い、副写像を決める。第2レベル以上のレベルでは、次第に相続四辺形の形が崩れていくと考えられるため、図3に示すように画素A’〜D’の間隔が空いていく状況が発生する。
【0162】
こうして、ある第mレベルの4つの副写像が決まれば、mをインクリメントし(図12のS22)、mがnを超えていないことを確かめて(S23)、S21に戻る。以下、S21に戻るたびに次第に細かい解像度のレベルの副写像を求め、最後にS21に戻ったときに第nレベルの写像f(n)を決める。この写像はη=0に関して定まったものであるから、f(n)(η=0)と書く。
【0163】
つぎに異なるηに関する写像も求めるべく、ηをΔηだけシフトし、mをゼロクリアする(S24)。新たなηが所定の探索打切り値ηmaxを超えていないことを確認し(S25)、S21に戻り、今回のηに関して写像f(n)(η=Δη)を求める。この処理を繰り返し、S21でf(n)(η=iΔη)(i=0,1,…)を求めていく。ηがηmaxを超えたときS26に進み、後述の方法で最適なη=ηoptを決定し、f(n)(η=ηopt)を最終的に写像f(n)とする。
【0164】
図15は図12のS21の詳細を示すフローチャートである。このフローチャートにより、ある定まったηについて、第mレベルにおける副写像が決まる。副写像を決める際、前提技術では副写像ごとに最適なλを独立して決める。
【0165】
同図のごとく、まず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)。
【0166】
つぎに、同一レベルにおける他の副写像を求めるべく、λをゼロクリアし、sをインクリメントする(S215)。sが4を超えていないことを確認し(S216)、S211に戻る。s=4になれば上述のごとくf(m,3)を利用してf(m,0)を更新し、そのレベルにおける副写像の決定を終了する。
【0167】
図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)についてもひとつ定まる。
【0168】
一方、図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)を最終決定することができる。
【0169】
以上、本前提技術によれば種々のメリットが得られる。まずエッジを検出する必要がないため、エッジ検出タイプの従来技術の課題を解消できる。また、画像に含まれるオブジェクトに対する先験的な知識も不要であり、対応点の自動検出が実現する。特異点フィルタによれば、解像度の粗いレベルでも特異点の輝度や位置を維持することができ、オブジェクト認識、特徴抽出、画像マッチングに極めて有利である。その結果、人手作業を大幅に軽減する画像処理システムの構築が可能となる。
【0170】
なお、本前提技術について次のような変形技術も考えられる。
(1)前提技術では始点階層画像と終点階層画像の間でマッチングをとる際にパラメータの自動決定を行ったが、この方法は階層画像間ではなく、通常の2枚の画像間のマッチングをとる場合全般に利用できる。
【0171】
たとえば2枚の画像間で、画素の輝度の差に関するエネルギーE0と画素の位置的なずれに関するエネルギーE1のふたつを評価式とし、これらの線形和Etot=αE0+E1を総合評価式とする。この総合評価式の極値付近に注目してαを自動決定する。つまり、いろいろなαについてEtotが最小になるような写像を求める。それらの写像のうち、αに関してE1が極小値をとるときのαを最適パラメータと決める。そのパラメータに対応する写像を最終的に両画像間の最適マッチングとみなす。
【0172】
これ以外にも評価式の設定にはいろいろな方法があり、例えば1/E1と1/E2のように、評価結果が良好なほど大きな値をとるものを採用してもよい。総合評価式も必ずしも線形和である必要はなく、n乗和(n=2、1/2、−1、−2など)、多項式、任意の関数などを適宜選択すればよい。
【0173】
パラメータも、αのみ、前提技術のごとくηとλのふたつの場合、それ以上の場合など、いずれでもよい。パラメータが3以上の場合はひとつずつ変化させて決めていく。
【0174】
(2)本前提技術では、総合評価式の値が最小になるよう写像を決めた後、総合評価式を構成するひとつの評価式であるC(m,s) fが極小になる点を検出してパラメータを決定した。しかし、こうした二段回処理の代わりに、状況によっては単に総合評価式の最小値が最小になるようにパラメータを決めても効果的である。その場合、例えばαE0+βE1を総合評価式とし、α+β=1なる拘束条件を設けて各評価式を平等に扱うなどの措置を講じてもよい。パラメータの自動決定の本質は、エネルギーが最小になるようにパラメータを決めていく点にあるからである。
【0175】
(3)前提技術では各解像度レベルで4種類の特異点に関する4種類の副画像を生成した。しかし、当然4種類のうち1、2、3種類を選択的に用いてもよい。例えば、画像中に明るい点がひとつだけ存在する状態であれば、極大点に関するf(m,3)だけで階層画像を生成しても相応の効果が得られるはずである。その場合、同一レベルで異なる副写像は不要になるため、sに関する計算量が減る効果がある。
【0176】
(4)本前提技術では特異点フィルタによってレベルがひとつ進むと画素が1/4になった。例えば3×3で1ブロックとし、その中で特異点を探す構成も可能であり、その場合、レベルがひとつ進むと画素は1/9になる。
【0177】
(5)始点画像と終点画像がカラーの場合、それらをまず白黒画像に変換し、写像を計算する。その結果求められた写像を用いて始点のカラー画像を変換する。それ以外の方法として、RGBの各成分について副写像を計算してもよい。
【0178】
[3]前提技術の改良点
以上の前提技術を基本とし、マッチング精度を向上させるためのいくつかの改良がなされている。ここではその改良点を述べる。
【0179】
[3.1]色情報を考慮に入れた特異点フィルタおよび副画像
画像の色情報を有効に用いるために、特異点フィルタを以下のように変更した。まず色空間としては、人間の直感に最も合致するといわれているHISを用い、色を輝度に変換する式には、人間の目の感度に最も近いといわれているものを選んだ。
【数53】
【0180】
ここで画素aにおけるY(輝度)をY(a)、S(彩度)をS(a)として、次のような記号を定義する。
【数54】
【0181】
上の定義を用いて以下のような5つのフィルタを用意する。
【数55】
このうち上から4つのフィルタは改良前の前提技術におけるフィルタとほぼ同じで、輝度の特異点を色情報も残しながら保存する。最後のフィルタは色の彩度の特異点をこちらも色情報を残しながら保存する。
【0182】
これらのフィルタによって、各レベルにつき5種類の副画像(サブイメージ)が生成される。なお、最も高いレベルの副画像は元画像に一致する。
【数56】
【0183】
[3.2]エッジ画像およびその副画像
輝度微分(エッジ)の情報をマッチングに利用するため、一次微分エッジ検出フィルタを用いる。このフィルタはあるオペレータHとの畳み込み積分で実現できる。
【数57】
ここでHは演算スピードなども考慮し、以下のようなオペレータを用いた。
【数58】
【0184】
次にこの画像を多重解像度化する。フィルタにより0を中心とした輝度をもつ画像が生成されるため、次のような平均値画像が副画像としては最も適切である。
【数59】
式59の画像は後述するForward Stage、すなわち初回副写像導出ステージの計算の際、エネルギー関数に用いられる。
【0185】
エッジの大きさ、すなわち絶対値も計算に必要である。
【数60】
この値は常に正であるため、多重解像度化には最大値フィルタを用いる。
【数61】
式61の画像は後述するForward Stageの計算の際、計算する順序を決定するのに用いられる。
【0186】
[3.3]計算処理手順
計算は最も粗い解像度の副画像から順に行う。副画像は5つあるため、各レベルの解像度において計算は複数回行われる。これをターンと呼び、最大計算回数をtで表すことにする。各ターンは前記Forward Stageと、副写像再計算ステージであるRefinement Stageという二つのエネルギー最小化計算から構成される。図18は第mレベルにおける副写像を決める計算のうち改良点に係るフローチャートである。
【0187】
同図のごとく、sをゼロクリアする(S40)。つぎにForward Stage(S41)において始点画像pから終点画像qへの写像f( m,s )をエネルギー最小化によって求める。ここで最小化するエネルギーは、対応する画素値によるエネルギーCと、写像の滑らかさによるエネルギーDの線形和である。
エネルギーCは、輝度の差によるエネルギーCI(前記改良前の前提技術におけるエネルギーCと等価)と、色相、彩度によるエネルギーCC、輝度微分(エッジ)の差によるエネルギーCEで構成され、それぞれ次のように表される。
【数62】
【0188】
エネルギーDは前記改良前の前提技術と同じものを用いる。ただし前記改良前の前提技術において、写像の滑らかさを保証するエネルギーE1を導出する際、隣接する画素のみを考慮していたが、周囲の何画素を考慮するかをパラメータdで指定できるように改良した。
【数63】
次のRefinement Stageに備えて、このステージでは終点画像qから始点画像pへの写像g(m,s)も同様に計算する。
Refinement Stage(S42)ではForward Stageにおいて求めた双方向の写像f(m,s)およびg(m,s)を基に、より妥当な写像f’(m,s)を求める。ここでは新たに定義されるエネルギーMについてエネルギー最小化計算を行う。エネルギーMは終点画像から始点画像への写像gとの整合度M0と、もとの写像との差M1より構成される。
【数64】
対称性を損なわないように、終点画像qから始点画像pへの写像g’(m,s)も同様の方法で求めておく。
【0189】
その後、sをインクリメントし(S43)、sがtを超えていないことを確認し(S44)、次のターンのForward Stage(S41)に進む。その際前記E0を次のように置き換えてエネルギー最小化計算を行う。
【数65】
【0190】
[3.4]写像の計算順序
写像の滑らかさを表すエネルギーE1を計算する際、周囲の点の写像を用いるため、それらの点がすでに計算されているかどうかがエネルギーに影響を与える。すなわち、どの点から順番に計算するかによって、全体の写像の精度が大きく変化する。そこでエッジの絶対値画像を用いる。エッジの部分は情報量を多く含むため、エッジの絶対値が大きいところから先に写像計算を行う。このことによって、特に二値画像のような画像に対して非常に精度の高い写像を求めることができるようになった。
【0191】
[画像データ符号化技術]
以上の前提技術を利用した画像データ符号化技術を説明する。
【0192】
(実施の形態)
図19は、符号化処理を実現する画像データ符号化装置10の構成である。各機能ブロックは、たとえばPC(パーソナルコンピュータ)にCD−ROMなどの記録媒体からロードされるプログラムで実現できる。これは後述の復号装置にもいえる。図20は、画像データ符号化装置10による処理のフローチャートである。
【0193】
キーフレーム設定部12はネットワーク、ストレージなどから符号化すべき画像データを入力する(S1000)。キーフレーム設定部12は通信機能、ストレージ制御機能、または自身が画像を撮影する光学機器の機能を含んでもよい。キーフレーム設定部12は、一つのオブジェクトを複数の視点から同時に捉える場合は、捉えられた複数の画像をそのオブジェクトが含まれるレイヤにおける複数のキーフレームとして設定する。その場合、入力される画像データの数は実質的に視点の数と同数となる。キーフレーム設定部12はオブジェクト認識部14、レイヤ分離処理部16、およびキーフレーム検出部18を含む。
【0194】
オブジェクト認識部14は前提技術を用いて画像データからオブジェクトを認識し(S1002)、レイヤ分離処理部16は画像データをオブジェクトごとのレイヤに分離する(S1004)。複数の視点から捉えられた画像データの場合、視点ごとにレイヤ分けされるので画像データの数は実質的に(視点数×レイヤ数)となる。各キーフレームは、少なくともそのレイヤのオブジェクトをカバーできる程度の表示サイズで十分であり、レイヤごとに個別の表示サイズに設定されてもよい。例えば、背景のレイヤは画像データの表示サイズと同じ表示サイズである一方、動きのあるオブジェクトのレイヤの表示サイズは画像データの表示サイズよりも小さい場合が考えられる。その場合、レイヤ分離処理部16は表示サイズおよびそのフレームを表示すべき位置の座標を検出する。
【0195】
キーフレーム検出部18は入力された画像データからキーフレームとなる画像を検出する(S1006)。例えば、複数のフレームのうち、直前のフレームとの画像の差が比較的大きいものをキーフレームとして検出する。キーフレームどうしの差を大きくしない配慮であり、符号化効率を改善するためである。キーフレーム検出部18の他の例として、一定間隔でフレームを選択してそれらをキーフレームとしてもよい。その場合、処理が単純になる。
【0196】
キーフレーム検出部18は各キーフレームの表示タイミングの間隔、すなわちキーフレームレートをレイヤごとに個別に設定できる。例えばほとんど画像に変化がない背景のレイヤはキーフレームレートを低くし、動きの多いオブジェクトのレイヤはキーフレームレートを高くしてもよい。この場合、データサイズの小さいレイヤだけフレームレートが高くなり、データサイズの大きいレイヤはフレームレートが低くなる。したがって、動きの多い画像であっても画像全体のキーフレームレートを高くする場合に比べてデータサイズを低減できる。
【0197】
複数の視点から捉えられた画像データの場合、特定のレイヤにおける同じタイミングのキーフレームが視点の数と同数得られる。キーフレーム検出部18は、各キーフレームについてその表示すべきタイミングを検出し、そのタイミングを示す時間情報を生成する。途中から表示開始されるオブジェクトのレイヤに対しては、その表示開始のタイミングを検出してこれを記憶する。キーフレーム検出部18は、キーフレームを圧縮してもよい。
【0198】
マッチング計算部20は、前提技術その他の技術によってキーフレーム間で画素単位のマッチングをとる。例えば複数の視点から捉えられた画像データの場合(S1008Y)、空間的マッチング処理部24は複数視点間における空間的な中間フレームを得るための対応点情報をマッチングにより取得する(S1010)。時間的マッチング処理部22は、時間軸上で隣り合う二つのキーフレーム間における時間的な中間フレームを得るための対応点情報をマッチングにより取得する(S1012)。
【0199】
パッケージ設定部26は、特定の表示タイミングにおけるキーフレームと、その時間情報と、次のキーフレームとの間の対応点情報と、を組み合わせたパッケージを生成してこれを記憶する(S1014)。複数視点の場合、各視点のキーフレームがひとつのパッケージに同梱されるとともに、視点間の対応点情報もさらに含められる。関連記述部28は、各パッケージに対して時系列的に前後のパッケージへの関連づけを記述する(S1016)。例えば、前後のパッケージへのシーク位置を示す情報やリンク情報を記述する。
【0200】
コンポーネント設定部30と、レイヤごとに関連づけされた複数のパッケージを集合させてひとつのコンポーネントを生成する(S1018)。コンポーネント設定部30は、各コンポーネントに対してIDを付与するとともに、そのIDが対応する各パッケージにも記述される。符号化データ生成部32は、すべてのレイヤのコンポーネントを集合させて最終的な符号化データを生成して(S1020)、これをネットワークまたはストレージへ出力する(S1022)。
【0201】
図21(a)〜図21(d)は、画像データをオブジェクトごとに複数のレイヤに分離する処理を模式的に示す。図21(a)は、初期的に入力される画像データであり、これが図21(b)〜図21(d)の各図に分離される。図21(b)は例えば背景のレイヤであり、その表示サイズは図21(a)の表示サイズと同じである。またこのレイヤは動きが少なく、キーフレームレートも最も低く設定される。
【0202】
図21(c)は三角形で模式的に示されるオブジェクトが含まれるレイヤである。このオブジェクトの動きが領域100に限定される場合は、このレイヤの表示サイズを領域100のサイズに設定してもよい。その場合、領域100の座標もあわせて検出される。図21(d)は円形で模式的に示されるオブジェクトが含まれるレイヤである。このオブジェクトの動きが領域102に限定される場合は、このレイヤの表示サイズを領域102のサイズに設定するとともに、その座標をあわせて検出する。図21(c)および図21(d)のキーフレームは、オブジェクト以外の部分が透けた透過画像であってもよい。
【0203】
図22(a)〜22(e)は、実施の形態において複数の視点間で空間的な中間フレームを生成する処理を模式的に示す。図22(a)、図22(b)、図22(c)、図22(d)は異なる視点からコーヒーカップを撮影した4枚のキーフレームである。これらを用いると、図22(e)に示す中間的な視点における中間フレームを生成することができる。図22(a)のキーフレームと図22(b)のキーフレームが第1画像対を形成し、図22(c)のキーフレームと図22(d)のキーフレームが第2画像対を形成する。目的の中間フレームは、第1画像対、第2画像対のいずれか一方では正しく生成できず、両方が揃って生成できる。中間フレームは、複数のキーフレームを縦横二方向について補間することで生成されるためである。これにより、少ないキーフレームから任意の視点における画像やオブジェクトを回転させた擬似的な三次元画像などを実現することができる。この特性は、電子商取引における商品プレゼンテーション、動画像の圧縮、映像効果などにも有用であり、画像データのインタラクティブ性を向上させることができる。
【0204】
本図の場合、空間的マッチング処理部24は第1画像対における対応点情報と第2画像対における対応点情報を生成する。以上が符号化側の処理である。
【0205】
一方、図23は画像データ復号装置50の構成を示す。また、図24は画像データ復号装置50による処理のフローチャートである。画像データ復号装置50は画像データ符号化装置10で得られた符号化データをもとの画像データへ復号する。
【0206】
キーフレーム検出部52は、ネットワーク、ストレージその他から符号化データを取得し(S1050)、レイヤごとに個別の間隔で設定された複数のキーフレームを検出する(S1052)。フレームレート設定部54は、レイヤごとに個別のフレームレートを決定する(S1054)。ここでいうフレームレートは中間フレームの間隔であり、動きの少ない背景などのレイヤはフレームレートを低くし、動きの多いオブジェクトのレイヤはフレームレートを高くしてもよい。また、フレームレートを画像データ復号装置50自体の処理能力に応じて定めてもよいし、指示受付部66を介したユーザの指示に基づいて定めてもよい。
【0207】
中間フレーム生成部56は、対応点情報に基づいて中間フレームを生成する。対応点情報は、符号化データから抽出してもよいし、別途マッチング計算によって中間フレーム生成部56が生成してもよい。中間フレーム生成部56は、時間的補間部58および空間的補間部60を含む。
【0208】
ここで、指示受付部66はどの視点で表示すべきかの指示をユーザから受け取る。指示受付部66に対して、複数の視点間における中間視点から捉えられる画像を表示すべき旨の指示が与えられた場合(S1056Y)、空間的補間部60は、符号化データに含まれる複数の視点のキーフレームとその視点間の対応点情報とに基づき、中間視点における空間的な中間フレームを生成する(S1058)。空間的な中間フレームの生成方法は後述する。この中間フレームを、時間軸上における各表示タイミングについて生成するとともに、これらを時系列的に並べて新たなキーフレームとして以後扱う。
【0209】
時間的補間部58は、時間軸上のキーフレームとその間の対応点情報とに基づいて時間的な中間フレームを生成する(S1060)。この中間フレームは、フレームレート設定部54により設定されたフレームレートにて生成される。復号データ生成部62は、キーフレームと中間フレームを時系列的に並べた組み合わせを復号データとして生成する(S1062)。
【0210】
復号データ生成部62に含まれるイベント検知部64は、復号データを出力するためのトリガーとなる所定のイベントを検知する(S1064)。そのイベント検知を条件にして復号データ生成部62は復号データである画像データの出力を開始する(S1066)。イベントは例えば指示受付部66を介したユーザからの再生開始の指示であってもよいし、クロックに基づいて発生させてもよい。複数のレイヤのうちいずれかのレイヤに対してだけイベント検知を開始条件にしてもよく、その場合は対象となるレイヤのコンポーネントにその旨が記述されてもよい。これにより、コンテンツのインタラクティブ性が向上し、しかもオブジェクト単位で個別に再生開始タイミングを設定できる。
【0211】
図25は、生成すべき空間的な中間フレームとそのもとになるキーフレームの位置関係を概念的に示す。キーフレームはそれらを撮影した視点位置にしたがって並べられており、生成すべき中間フレームもその仮想的な視点位置に応じて同図の中に位置決めされる。ここでは視点数が9個の場合を示す。
【0212】
図では9枚のキーフレームである第1キーフレームI1〜第9キーフレームI9が示されている。いま指示受付部66を通し、生成すべき中間フレームの視点位置として同図の中間フレームIcの位置が指示されたとき、まずその中間フレームIcを取り巻くキーフレーム(以下「注目キーフレーム」という)が第1キーフレームI1、第2キーフレームI2、第4キーフレームI4、第5キーフレームI5と特定される。第1キーフレームI1と第2キーフレームI2が第1画像対、第4キーフレームI4と第5キーフレームI5が第2画像対と定まる。つづいて、これら4つのキーフレームで形成される四辺形の中で中間フレームIcが占める位置を幾何的に求め、補間によって中間フレームの画像を生成する。
【0213】
このプロセスにおいて、中間フレームが図25において占める位置、および注目キーフレームは空間的補間部60によって特定される。その注目フレーム間の対応点情報が符号化データから抽出される。他の形態としては、空間的補間部60が第1画像対と第2画像対それぞれの間で前提技術にもとづくマッチング計算を行い、その結果として視点間の対応点情報を取得してもよい。指示受付部66で取得された中間フレームの位置情報は空間的補間部60に送られる。空間的補間部60は、その位置情報とふたつの対応点情報をもとに補間計算を行う。
【0214】
図26は、補間の方法を示す。ここでは、第1キーフレームI1、第2キーフレームI2、第4キーフレームI4、第5キーフレームI5をそれぞれ点P1、P2、P4、P5で模式的に示したとき、それらで定まる四辺形において、中間フレームを模式的に示す点Pcの位置が以下の条件を満たすとする。
「P1とP2を結ぶ辺をs:(1−s)に内分する点Qと、P4とP5を結ぶ辺をs:(1−s)に内分する点Rを結ぶ線分を(1−t):tに内分する」
空間的補間部60は、第1画像対に関する対応点情報をもとにまず点Qに当たる画像をs:(1−s)の比による補間で生成する。つづいて、第2画像対に関する対応点情報をもとに点Rに当たる画像をs:(1−s)の比による補間で生成する。最後に、これらふたつの画像を(1−t):tの比による補間で生成する。
【0215】
図27は、符号化データのデータ構造を示す。符号化データ70は、画像データを識別するためのデータを格納するインデックス領域72と、各レイヤを認識するためのデータを格納するコンテンツヘッダ領域74と、各コンポーネントを格納するコンポーネント領域76と、を含み、それらの領域のデータが画像データの符号化データとして関連づけられている。
【0216】
コンポーネント領域76には、コンポーネント(1)をはじめとするレイヤ別の複数のコンポーネントが格納される。コンポーネント(1)には、パッケージ(1−1)、パッケージ(1−2)をはじめとして時系列的に関連づけられた複数のパッケージが含まれる。各パッケージは、キーフレーム、対応点情報、音声データなどで構成される。たとえば、パッケージ(1)において、キーフレーム(X)、キーフレーム(Y)、キーフレーム(Z)はX、Y、Zの3視点に対応するキーフレームである。対応点情報(1−2X)、対応点情報(1−2Y)、対応点情報(1−2Z)は、次の表示タイミングにおけるキーフレームとの対応点情報であって3視点のそれぞれに対応する。対応点情報(X−Y)、対応点情報(Y−Z)、対応点情報(Z−X)は、各視点間の対応点情報である。サウンド(1−1)は音声データである。
【0217】
なお、このようにキーフレームと音声データを特定の時間範囲ごとに分けて組み合わせることによって、再生時に画像と音声の同期がとられる。また、音声データもレイヤと対応がとられるので、レイヤごとに個別に音声のタイミングを設定できる上、画像と同様に所定のイベント検知を条件に音声を発する制御も可能となる。
【0218】
図28は、符号化データにおけるインデックス領域の構成を示す。この領域にはテーブル110に示される各項目とその値が記述される。例えば、項目112には画像データの符号化に用いられる符号化方式のバージョンが記述され、項目114には符号化データに音声データが含まれるか否かが記述される。項目116には画像データの著作権情報またはその情報へのリンクが記述され、項目118には画像データまたはその符号化データの作成日時が記述される。
【0219】
図29は、符号化データにおけるコンテンツヘッダ領域の構成を示す。この領域にはテーブル120に示される各項目とその値が記述される。例えば、項目122にはこの領域におけるヘッダ情報が記述され、項目124には画像データ全体の表示サイズが記述される。項目126には画像データ全体の表示時間が記述され、項目130には後続のコンポーネント数が記述される。項目132には各コンポーネントに対するリンクまたはシーク位置の情報が記述される。
【0220】
図30は、符号化データにおけるコンポーネントの構成を示す。各コンポーネントにはテーブル140に示される各項目とその値が記述される。例えば、項目142にはこのコンポーネントのヘッダ情報が記述され、項目144にはこのコンポーネントのIDが記述される。項目146にはコンポーネントの種別として、疑似3次元動画、2次元動画などの種類が記述される。項目148にはこのコンポーネントに対応するレイヤのIDが記述され、項目150にはこのコンポーネントを表示すべき座標が記述される。項目152にはこのコンポーネントの表示サイズが記述され、項目154にはこのコンポーネントの表示開始タイミングが記述される。項目156にはこのコンポーネントの表示時間が記述され、項目158にはこのコンポーネントに含まれるパッケージのうち初期的に表示すべきパッケージへのリンクまたはシーク位置の情報が記述される。
【0221】
項目160には後続のURLパッケージの数が記述され、項目162には視点間の距離が記述される。項目164には各視点が含まれる空間全体の座標軸サイズが記述され、項目166には初期的に表示する視点の座標が記述される。項目168には各パッケージへのリンクまたはシーク位置の情報が記述され、項目170には各URLパッケージへのリンクまたはシーク位置の情報が記述される。
【0222】
図31は、符号化データにおけるパッケージの構成を示す。ここにはテーブル180に示される各項目とその値が記述される。例えば、項目182にはこのパッケージのヘッダ情報が記述され、項目184にはこのパッケージを包含するコンポーネントのIDが記述される。項目186にはこのパッケージの時間情報が記述される。項目188には時間的に前のパッケージへの関連づけとしてリンクまたはシーク位置の情報が記述され、項目190には時間的に後のパッケージへの関連づけとしてリンクまたはシーク位置の情報が記述される。
【0223】
このパッケージに含まれるキーフレーム、対応点情報、音声データの数は、それぞれ項目192、194、196に記述される。また、各キーフレーム、各対応点情報、各音声データへのリンクまたはシーク位置の情報は、それぞれ項目198、200、202に記述される。
【0224】
図32は、符号化データにおけるキーフレーム領域の構成を示す。この領域にはテーブル210に示される各項目とその値が記述される。例えば、項目212にはこの領域におけるヘッダ情報が記述され、項目214にはこのキーフレームを包含するコンポーネントのIDが記述される。項目216にはこのキーフレームの画像形式が記述される。項目218にはキーフレームのデータ自体がこのパッケージに含まれているかまたはキーフレームへのリンクだけが含まれているかがデータ種別として記述される。項目220にはこのキーフレームの視点を他の視点と区別するためのIDが記述される。項目221にはこのキーフレームが透過画像であるか否かが記述される。項目222にはこのキーフレームを表示すべき位置を示す座標が記述され、項目224にはこのキーフレームの表示サイズが記述される。項目226にはこのキーフレームの視点位置が記述される。項目228にはこのキーフレームへのリンクまたはシーク位置の情報が記述され、項目230にはこのキーフレームのデータサイズが記述される。
【0225】
図33は、符号化データにおける対応点情報領域の構成を示す。この領域にはテーブル240に示される各項目とその値が記述される。例えば、項目242にはこの領域におけるヘッダ情報が記述され、項目244にはこの対応点情報を包含するコンポーネントのIDが記述される。項目246にはこの対応点情報のデータ形式が記述され、項目248にはこの対応点情報のデータ自体がこのパッケージに含まれているかまたは対応点情報へのリンクだけが含まれているかがデータ種別として記述される。項目250にはこの対応点情報によって扱われる画素サイズが記述される。項目252には始点画像となるキーフレームのIDが記述され、項目254には終点画像となるキーフレームのIDが記述される。項目256には対応点情報へのリンクまたはシーク位置の情報が記述され、項目258には対応点情報のデータサイズが記述される。
【0226】
図34は、符号化データにおける音声データ領域の構成を示す。この領域にはテーブル260に示される各項目とその値が記述される。例えば、項目262にはこの領域におけるヘッダ情報が記述され、項目264にはこの音声データを包含するコンポーネントのIDが記述される。項目266にはこの音声データのデータ形式が記述され、項目268にはこの音声データ自体がこのパッケージに含まれているかまたは音声データへのリンクだけが含まれているかがデータ種別として記述される。項目270には音声データへのリンクまたはシーク位置の情報が記述され、項目272には音声データのデータサイズが記述される。
【0227】
図35は、符号化データにおけるURLデータ領域の構成を示す。この領域にはテーブル280に示される各項目とその値が記述される。例えば、項目282にはこの領域におけるヘッダ情報が記述され、項目284にはこのURLデータが内包されるコンポーネントのIDが記述される。項目286にはこのURLデータのIDが記述され、項目288にはURLデータへのリンクまたはシーク位置の情報が記述され、項目290にはURLデータのデータサイズが記述される。
【0228】
図36は、符号化データにおける各領域のヘッダ情報の構成を示す。このヘッダ情報300は図29〜図34の各テーブルに含まれる情報である。項目302にはそのヘッダ情報が含まれる領域の種別として、コンテンツヘッダ領域、コンポーネント、パッケージ、キーフレーム領域、音声データ領域、URLデータ領域の別が記述される。項目304にはその領域のIDが記述され、項目306にはその領域のデータサイズが記述される。
【0229】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、変形例を挙げる。
【0230】
実施形態のひとつの変形例として、誤差制御の考え方を導入することができる。すなわち、符号化画像データを復号したとき、もとの画像データとの誤差をある範囲に抑える制御である。誤差の評価式として、ふたつの画像間において位置的に対応しあう画素の輝度値の差分の二乗和がある。この誤差をもとに、中間フレームおよびキーフレームの符号化方式や圧縮率を調節したり、キーフレームの選定をやりなおすことができる。たとえば、ある中間フレームに関する誤差が許容値を超えた場合、その中間フレームの近くにキーフレームを新設したり、その中間フレームをはさむふたつのキーフレームの間隔を狭めることができる。
【0231】
画像データ符号化装置10と画像データ復号装置50は一体化することができる。その場合、一体化された画像符号化・復号装置は、画像を符号化してストレージへ格納し、必要なときにそれを復号して表示等することができる。
【0232】
別の変形例として、符号化データにはキーフレーム、対応点情報、音声データの実データを含めずにそれらのリンクだけを含めてもよい。これらのデータのうちいずれかのみを含めない構成としてもよい。また、視点を単一にして時系列的なキーフレームおよび対応点情報だけを含む形式で符号化データを生成してもよいし、逆に複数視点のキーフレームおよびその視点間の対応点情報だけを含んで時系列的な対応点情報をもたない形式で符号化データを生成してもよい。符号化データの構成については当業者に理解されるごとく相当の自由度があり、それらも実施の形態の変形例とする。
【0233】
実施の形態では、画素単位のマッチングを中心に説明した。しかし、本発明の画像データ符号化技術はそれに限られない。キーフレーム間でブロックマッチングがなされてもよいし、その他、中間フレームを生成する任意の線形、非線形処理を適用してよい。復号側についても同様のことがいえるが、実装上のひとつのポイントは、符号化側と復号側が原則として同じ方法で得られた中間フレームを想定する点にある。ただし、それとても絶対ではなく、復号側が符号化の際の規則を認識して対応するか、符号化側が復号側の処理を想定して符号化に配慮すればよい。
【図面の簡単な説明】
【図1】図1(a)とは図1(b)は、ふたりの人物の顔に平均化フィルタを施して得られる画像、図1(c)と図1(d)は、ふたりの人物の顔に関して前提技術で求められるp(5,0)の画像、図1(e)と図1(f)は、ふたりの人物の顔に関して前提技術で求められるp(5,1)の画像、図1(g)と図1(h)は、ふたりの人物の顔に関して前提技術で求められるp(5,2)の画像、図1(i)と図1(j)は、ふたりの人物の顔に関して前提技術で求められるp(5,3)の画像をそれぞれディスプレイ上に表示した中間調画像の写真である。
【図2】図2(R)はもとの四辺形を示す図、図2(A)、図2(B)、図2(C)、図2(D)、図2(E)はそれぞれ相続四辺形を示す図である。
【図3】始点画像と終点画像の関係、および第mレベルと第m−1レベルの関係を相続四辺形を用いて示す図である。
【図4】パラメータηとエネルギーCfの関係を示す図である。
【図5】図5(a)、図5(b)は、ある点に関する写像が全単射条件を満たすか否かを外積計算から求める様子を示す図である。
【図6】前提技術の全体手順を示すフローチャートである。
【図7】図6のS1の詳細を示すフローチャートである。
【図8】図7のS10の詳細を示すフローチャートである。
【図9】第mレベルの画像の一部と、第m−1レベルの画像の一部の対応関係を示す図である。
【図10】前提技術で生成された始点階層画像を示す図である。
【図11】図6のS2に進む前に、マッチング評価の準備の手順を示す図である。
【図12】図6のS2の詳細を示すフローチャートである。
【図13】第0レベルにおいて副写像を決定する様子を示す図である。
【図14】第1レベルにおいて副写像を決定する様子を示す図である。
【図15】図12のS21の詳細を示すフローチャートである。
【図16】あるf(m,s)についてλを変えながら求められたf(m,s)(λ=iΔλ)に対応するエネルギーC(m,s) fの挙動を示す図である。
【図17】ηを変えながら求められたf(n)(η=iΔη)(i=0,1,…)に対応するエネルギーC(n) fの挙動を示す図である。
【図18】改良後の前提技術において第mレベルにおける副写像を求めるフローチャートである。
【図19】実施の形態に係る画像データ符号化装置の構成図である。
【図20】実施の形態に係る画像データ符号化装置による処理を示すフローチャートである。
【図21】図21(a)〜21(d)は、実施の形態において画像データをオブジェクトごとに複数のレイヤに分離する処理を模式的に示す図である。
【図22】図22(a)〜22(e)は、実施の形態において複数の視点間で空間的な中間フレームを生成する処理を模式的に示す図である。
【図23】実施の形態に係る画像データ復号装置の構成図である。
【図24】実施の形態に係る画像データ復号装置による処理を示すフローチャートである。
【図25】実施の形態において生成すべき空間的な中間フレームとそのもとになるキーフレームの位置関係を概念的に示す図である。
【図26】実施の形態において実施される補間処理の方法を示す図である。
【図27】実施の形態に係る符号化データのデータ構造を示す図である。
【図28】実施の形態に係る符号化データにおけるインデックス領域の構成を示す図である。
【図29】実施の形態に係る符号化データにおけるコンテンツヘッダ領域の構成を示す図である。
【図30】実施の形態に係る符号化データにおけるコンポーネント領域の構成を示す図である。
【図31】実施の形態に係る符号化データにおけるパッケージ領域の構成を示す図である。
【図32】実施の形態に係る符号化データにおけるキーフレーム領域の構成を示す図である。
【図33】実施の形態に係る符号化データにおける対応点情報領域の構成を示す図である。
【図34】実施の形態に係る符号化データにおける音声データ領域の構成を示す図である。
【図35】実施の形態に係る符号化データにおけるURLデータ領域の構成を示す図である。
【図36】実施の形態に係る符号化データにおける各領域のヘッダの構成を示す図である。
【符号の説明】
10 画像データ符号化装置、 12 キーフレーム設定部、 20 マッチング計算部、 26 パッケージ設定部、 28 関連記述部、 30 コンポーネント設定部、 32 符号化データ生成部、 50 画像データ復号装置、52 キーフレーム検出部、 54 フレームレート設定部、 56 中間フレーム生成部、 62 復号データ生成部、 70 符号化データ、 72 インデックス領域、 74 コンテンツヘッダ領域、 76 コンポーネント。
【発明の属する技術分野】
この発明は、画像データ処理技術に関する。この発明はとくに、複数のフレームを含む画像データを符号化または復号する方法と装置に関する。
【0002】
【従来の技術】
近年、画像圧縮技術は目覚ましい発展を遂げてきた。標準規格としてJPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)があるが、さらにその先を行く技術開発が争われている。とくに動画の圧縮技術に関しては、ブロードバンド環境の整備やDVDの普及に後押しされ、より高画質、より高圧縮を目指した競争が激化している。
【0003】
コンテンツ制作者の当然の要求である圧縮画像の画質向上が徐々に満たされてきている中、表現上の自由度をさらに向上させるにはインタラクティブ性の充実化が重要な鍵となる。従来はCDやDVDといった固定的に記録される媒体によるコンテンツ配信が中心であったものの、最近はインターネット経由や衛星放送による配信の形態へシフトしつつあり、受信側の多様な端末環境に十分に対応できるフォーマットの策定が不可欠となってきている。
【0004】
【発明が解決しようとする課題】
ここで、例えばMPEG4規格によって圧縮された動画は、制作者側で設定したフレームレートで再生されるのみであり、再生側の要求に応じてフレームレートを簡単に変えられるような自由度はもっていない。インターネット放送や衛星放送における受信端末は、専用のハードウエアから携帯電話まで種々であり、その性能は一様でない。どのようなスペックの端末に対しても的確に対応するためには、もはや圧縮技術そのものの課題ではなくフォーマット形式をどう定めるかの問題といえる。
【0005】
本発明はこうした現状に鑑みてなされたものであり、その目的は、再生環境に関する自由度を向上させる画像符号化と復号の技術およびそのフォーマットの提供にある。
【0006】
別の目的は、ユーザインタラクティブ性を向上させた画像データのフォーマットを実現することにある。
【0007】
さらに別の目的は、画像データの効率的圧縮を実現する符号化および復号技術の提供にある。
【0008】
さらに別の目的は、画質の維持と圧縮率の向上という相反する要望に適う画像符号化および復号技術の提供にある。
【0009】
【課題を解決するための手段】
本発明のある態様は画像データ符号化方法である。この方法においては、オブジェクト別のレイヤごとに個別の間隔で設定される複数のキーフレームとその表示タイミングを示す時間情報とを組み合わせ、その組み合わせを時系列的に複数関連づけることによって生成されるレイヤ別のコンポーネントを、後に複数のキーフレーム間で画素単位のマッチング計算によって得られる対応点情報をもとに中間フレームを生成することを前提とした符号化データとして出力する。
【0010】
本発明で処理される画像データは、動画でもよいし、三次元オブジェクトを二次元的に表現した画像でもよい。さらにいえば、フレームとして把握できる任意次元の画像すべてが処理可能である。「オブジェクト」は、画像データにおける描写の対象物であり、例えば人物、動物、木、車、背景などがひとつのオブジェクトとして扱われる。通常は複数のオブジェクトの描写が融合してひとつの画像データが形成される。本態様では、ひとつの画像データをオブジェクト単位に切り分けてそれぞれをレイヤとして扱う。ひとつのレイヤに含まれるオブジェクトの数は問わない。
【0011】
「間隔」は時間的間隔と空間的間隔のいずれであってもよく、その間隔はオブジェクト別に設定されてもよい。「時間情報」は、そのキーフレームを表示すべきタイミングを決定する情報であり、絶対的な時間と相対的な時間のいずれであってもよい。上記の「間隔」が時間的間隔を示す場合、この時間情報はキーフレームレートに応じた数値になる。
【0012】
「キーフレーム」はマッチングの対象になる参照フレームをいい、「中間フレーム」は対象にならない非参照フレームをいう。本明細書ではとくに断らない限り、記述の簡潔のために、「フレーム」ということばを、画像の単位として呼ぶ場合と、その単位を構成するデータそのもの、すなわち「フレームデータ」と呼ぶべき場合の両義に用いる。
【0013】
「コンポーネント」は、特定の時間範囲における複数のキーフレームとそれぞれの時間情報の他、映像と同期してその時間範囲に再生する音声データや所定のイベントを契機にアクセスするネットワーク上のURLを含んでもよい。
【0014】
この態様によれば、オブジェクトごとにキーフレームレートを設定できるので、背景などの変化が少ないオブジェクトについてキーフレームレートを低くすれば全体として符号化データの容量を低減できる。また、二つのキーフレームに対して一つの対応点情報があれば中間フレームを理論上いくつでも生成でき、再生側において任意のフレームレートで再生することができる。ここで、MPEG形式の画像データは、差分データの形式ではあるものの中間フレーム自体を内包するため全体のデータサイズが大きく、しかもフレームレートが固定である点で本実施形態より不利である。
【0015】
本発明の別の態様の画像データ符号化方法は、オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の間隔で複数のキーフレームを設定する工程と、複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成する工程と、キーフレームとその表示タイミングを示す時間情報と対応点情報を組み合わせたパッケージを記憶する工程と、そのパッケージを時系列的に前後のパッケージへ関連づける工程と、その関連づけられた複数のパッケージをレイヤごとに集合させてコンポーネントを生成する工程と、すべてのレイヤのコンポーネントを集合させて画像データの符号化データとして出力する工程と、を含む。
【0016】
「パッケージ」は、例えば一つのキーフレームと、その表示タイミングを示す情報と、次のキーフレームとの対応点を記述した情報と、を内包するデータであってもよいし、これらへのリンクだけを含んだインデックス的なデータであってもよい。「関連づけ」は、前後のパッケージまたはそのパッケージに含まれるキーフレームに対してリンクやポインタによってなされてもよい。この態様によっても、符号化データのデータサイズを低減でき、任意のフレームレートで再生できる。
【0017】
本発明のさらに別の態様は画像データ符号化装置である。この装置は、オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の表示タイミングにて複数のキーフレームを設定するキーフレーム設定部と、その複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成するマッチング計算部と、キーフレームとその表示タイミングを示す時間情報と対応点情報を組み合わせたパッケージを記憶するパッケージ設定部と、そのパッケージに対して時系列的に前後のパッケージへの関連づけを記述する関連記述部と、そのパッケージをレイヤごとに集合させてコンポーネントを生成するコンポーネント設定部と、すべてのレイヤのコンポーネントを集合させて符号化データとして出力する符号化データ生成部と、を含む。この態様によっても、符号化データの容量を低減でき、任意のフレームレートで再生できる。以上の各態様に含まれる各ユニットは、ソフトウエア、ハードウエアの任意の組み合わせで実現できる。
【0018】
本発明のさらに別の態様は画像データ復号方法である。この方法においては、オブジェクト別のレイヤごとに個別の間隔で設定される複数のキーフレームとその表示タイミングを示す時間情報との組み合わせによって生成されるレイヤ別のコンポーネントを取得し、複数のキーフレーム間で画素単位のマッチング計算によって得られる対応点情報をもとに中間フレームを生成し、キーフレームと中間フレームを組み合わせて復号データとして出力する。
【0019】
ここでいうコンポーネントは対応点情報を含んでいる場合と含んでいない場合の双方を想定できる。含んでいない場合は再生側にてキーフレーム間のマッチング計算を行った対応点情報を生成すればよい。この態様によれば、レイヤ別に任意のフレームレートで中間フレームを生成して再生できる。なお、本明細書において符号化データを画像データに変換する処理を「復号」と表現しているが、必ずしも符号化データに変換される前の画像データと同じ状態に戻すことを意図していない。とくに、元の画像データは複数レイヤに分離されていないが、復号後の画像データは複数レイヤに分離されている点でデータとしては同じではない。ただし、表示内容がほぼ同じになる点では復号といえる。
【0020】
本発明のさらに別の態様の画像データ復号方法は、オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データからレイヤごとに個別の間隔で設定された複数のキーフレームを検出する工程と、それらキーフレームの間における画素単位のマッチングによって得られた対応点情報をもとに、レイヤごとに個別のフレームレートにて中間フレームを生成する工程と、キーフレームと中間フレームの組み合わせを復号データとして出力する工程と、を含む。この態様によってもレイヤ別に任意のフレームレートで再生できる。
【0021】
本発明のさらに別の態様は画像データ復号装置である。この装置は、オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データからレイヤごとに個別の間隔で設定された複数のキーフレームを検出するキーフレーム検出部と、レイヤごとに個別のフレームレートを決定するフレームレート設定部と、キーフレームの間における画素単位のマッチングによって得られた対応点情報をもとにフレームレートにて時系列的な中間フレームを生成する中間フレーム生成部と、キーフレームと時系列的な中間フレームの組み合わせを復号データとして出力する復号データ生成部と、を含む。
【0022】
この態様によってもレイヤ別に任意のフレームレートで再生できる。以上の各態様に含まれる各ユニットは、ソフトウエア、ハードウエアの任意の組み合わせで実現できる。
【0023】
本発明のさらに別の態様はコンピュータにて読み取り可能なデータ構造である。このデータ構造は、画像データを識別するためのデータを格納するインデックス領域と、オブジェクト単位で分離された複数のレイヤを認識するためのデータを格納するコンテンツヘッダ領域と、レイヤごとに個別の間隔で設定された複数のキーフレームを含んだコンポーネントを格納するコンポーネント領域と、を含む。それらの領域のデータは画像データの符号化データとして関連づけられているとともに、そのコンポーネント領域には、キーフレームの表示タイミングを示す時間情報と、複数のキーフレーム間における画素単位のマッチングを計算して得られる対応点情報と、をさらに格納する。
【0024】
なお、以上の任意の構成や工程を任意に組み替えたもの、表示を方法、装置、プログラム、システム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【0025】
【発明の実施の形態】
はじめに、実施の形態で利用する多重解像度特異点フィルタ技術とそれを用いた画像マッチング処理を「前提技術」として詳述する。これらの技術は本出願人がすでに特許第2927350号を得ている技術であり、本発明との組み合わせに適する。ただし、実施の形態で採用可能な画像マッチング技術はこれに限られない。
図19以降、前提技術を利用した画像データ符号化および復号技術を具体的に説明する。
[前提技術の背景]
ふたつの画像の自動的なマッチング、つまり画像領域や画素どうしの対応付けは、コンピュータビジョンやコンピュータグラフィックスにおける最も難しくかつ重要なテーマのひとつである。例えば、あるオブジェクトに関して異なる視点からの画像間でマッチングがとれれば、他の視点からの画像を生成することができる。右目画像と左目画像のマッチングが計算できれば、立体画像を用いた写真測量も可能である。顔の画像のモデルと他の顔の画像のマッチングがとれたとき、目、鼻、口といった特徴的な顔の部分を抽出することができる。例えば人の顔と猫の顔の画像間でマッチングが正確にとられたとき、それらの中割画像を自動的に生成することでモーフィングを完全自動化することができる。
【0026】
しかし従来一般に、ふたつの画像間の対応点は人がいちいち指定しなければならず、多大な作業工数を要した。この問題を解消するために数多くの対応点自動検出方法が提案されている。例えば、エピポーラ直線を用いることによって対応点の候補の数を減らす考えがある。しかし、その場合でも処理はきわめて複雑である。複雑さを低減するために、左目画像の各点の座標は通常右目画像でもほぼ同じ位置にあると想定される。しかし、こうした制約を設けると、大域的特徴及び局所的特徴を同時に満たすマッチングをとることは非常に困難になる。
【0027】
ボリュームレンダリングでは、ボクセルを構成するために一連の断面画像が用いられる。この場合、従来一般に、上方の断面画像における画素が下方の断面画像の同一箇所にある画素と対応すると仮定され、これらの画素のペアが内挿計算に用いられる。このようにきわめて単純な方法を用いるため、連続する断面間の距離が遠く、オブジェクトの断面形状が大きく変化する場合、ボリュームレンダリングで構築されたオブジェクトは不明瞭になりがちである。
【0028】
立体写真測量法など、エッジの検出を利用するマッチングアルゴリズムも多い。しかしこの場合、結果的に得られる対応点の数が少ないため、マッチングのとれた対応点間のギャップを埋めるべく、ディスパリティの値を内挿計算しなければならない。一般にあらゆるエッジ検出器は、それらが用いる局所的なウィンドウの中で画素の輝度が変化したとき、これが本当にエッジの存在を示唆するかどうかを判断することが難しい。エッジ検出器は、本来的にすべてハイパスフィルタであり、エッジと同時にノイズも拾ってしまう。
【0029】
さらに別の手法として、オプティカルフローが知られている。二枚の画像が与えられたとき、オプティカルフローでは画像内のオブジェクト(剛体)の動きを検出する。その際、オブジェクトの各画素の輝度は変化しないと仮定する。オプティカルフローでは例えば(u,v)のベクトル場の滑らかさといった、いくつかの付加的な条件とともに、各画素の動きベクトル(u,v)を計算する。しかし、オプティカルフローでは画像間の大域的な対応関係を検出することはできない。画素の輝度の局所的な変化に注目するのみであり、画像の変位が大きい場合、システムの誤差は顕著になる。
【0030】
画像の大域的な構造を認識するために、多重解像度フィルタも数多く提案されてきた。それらは線形フィルタと非線形フィルタに分類される。前者の例としてウェーブレットがあるが、線形フィルタは一般に、画像マッチングにはさして有用ではない。なぜなら、極値をとる画素の輝度に関する情報がそれらの位置情報とともに次第に不鮮明になるためである。図1(a)と図1(b)は顔の画像に対して平均化フィルタを適用した結果を示している。同図のごとく、極値をとる画素の輝度が平均化によって次第に薄れるとともに、位置も平均化の影響でシフトしていく。その結果、目(輝度の極小点)の輝度や位置の情報は、このような粗い解像度レベルで曖昧になり、この解像度では正しいマッチングを計算することができない。したがって、粗い解像度レベルを設けるのが大域的なマッチングのためでありながら、ここで得られたマッチングは画像の本当の特徴(目、つまり極小点)に正確に対応しない。より精細な解像度レベルで目が鮮明に現れたとしても、大域的なマッチングをとる際に混入した誤差は、もはや取り返しがつかない。入力画像にスムージング処理を加えることにより、テクスチャ領域のステレオ情報が落ちてしまうこともすでに指摘されている。
【0031】
一方、最近地形学の分野で利用されはじめた非線形フィルタとして一次元の「ふるい(sieve)」演算子がある。この演算子は、所定の大きさの一次元ウィンドウ内の極小値(または極大値)を選択することにより、縮尺と空間の因果関係を保存しながら画像にスムージング処理を加える。その結果得られる画像は元の画像と同じ大きさであるが、小さな波の成分が取り除かれているため、より単純になる。画像の情報を落とすという点で、この演算子は広い意味での「多重解像度フィルタ」に分類することはできるが、実際にはウェーブレットのように画像の解像度を変えながら画像を階層化するわけではなく(つまり狭い意味での多重解像度フィルタではなく)、画像間の対応の検出には利用できない。
【0032】
[前提技術が解決しようとする課題]
以上をまとめれば以下の課題が認められる。
1.画像の特徴を正確に、かつ比較的簡単な処理で把握する画像処理方法が乏しかった。特に、特徴のある点に関する情報、例えば画素値や位置を維持しながら特徴を抽出できる画像処理方法に関する有効な提案が少なかった。
2.画像の特徴をもとに対応点を自動検出する場合、一般に処理が複雑であるか、ノイズ耐性が低いなどの欠点があった。また、処理に際していろいろな制約を設ける必要があり、大域的特徴及び局所的特徴を同時に満たすマッチングをとることが困難だった。
3.画像の大域的な構造または特徴を認識するために多重解像度フィルタを導入しても、そのフィルタが線形フィルタの場合、画素の輝度情報と位置情報が曖昧になった。その結果、対応点の把握が不正確になりやすかった。非線形フィルタである一次元ふるい演算子は画像を階層化しないため、画像間の対応点の検出には利用できなかった。
4.これらの結果、対応点を正しく把握しようとすれば、結局人手による指定に頼るほか有効な手だてがなかった。
【0033】
前提技術はこれらの課題の解決を目的としてなされたものであり、画像処理の分野において、画像の特徴の的確な把握を可能にする技術を提供するものである。
【0034】
[前提技術が課題を解決するための手段]
この目的のために前提技術のある態様は、新たな多重解像度の画像フィルタを提案する。この多重解像度フィルタは画像から特異点を抽出する。したがって、特異点フィルタともよばれる。特異点とは画像上特徴をもつ点をいう。例として、ある領域において画素値(画素値とは、色番号、輝度値など画像または画素に関する任意の数値を指す)が最大になる極大点、最小になる極小点、ある方向については最大だが別の方向については最小になるような鞍点がある。特異点は位相幾何学上の概念であってもよい。ただし、その他どのような特徴を有してもよい。いかなる性質の点を特異点と考えるかは、前提技術にとって本質問題ではない。
【0035】
この態様では、多重解像度フィルタを用いた画像処理が行われる。まず検出工程において、第一の画像に対し、二次元的な探索を行って特異点が検出される。つぎに生成工程において、検出された特異点を抽出して第一の画像よりも解像度の低い第二の画像が生成される。第二の画像には第一の画像のもつ特異点が引き継がれる。第二の画像は第一の画像よりも解像度が低いため、画像の大域的な特徴の把握に好適である。
【0036】
前提技術の別の態様は特異点フィルタを用いた画像マッチング方法に関する。この態様では、始点画像と終点画像間のマッチングがとられる。始点画像および終点画像とは、ふたつの画像の区別のために便宜的に与えた名称であり、本質的な違いはない。
【0037】
この態様では、第一工程にて、始点画像に特異点フィルタを施して解像度の異なる一連の始点階層画像が生成される。第二工程では、終点画像に特異点フィルタを施して解像度の異なる一連の終点階層画像が生成される。始点階層画像、終点階層画像とは、それぞれ始点画像、終点画像を階層化して得られる画像群をいい、それぞれ最低2枚の画像からなる。つぎに第三工程において、始点階層画像と終点階層画像のマッチングが解像度レベルの階層の中で計算される。この態様によれば、多重解像度フィルタによって特異点に関連する画像の特徴が抽出され、および/または明確化されるため、マッチングが容易になる。マッチングのための拘束条件は特に必要としない。
【0038】
前提技術のさらに別の態様も始点画像と終点画像のマッチングに関する。この態様では、予め複数のマッチング評価項目のそれぞれに関して評価式を設け、それらの評価式を統合して総合評価式を定義し、その総合評価式の極値付近に注目して最適マッチングを探索する。総合評価式は、評価式の少なくもひとつに係数パラメータを掛けたうえでそれらの評価式の総和として定義してもよく、その場合、総合評価式またはいずれかの評価式がほぼ極値をとる状態を検出して前記パラメータを決定してもよい。「極値付近」または「ほぼ極値をとる」としたのは、多少誤差を含んでいてもよいためである。多少の誤差は前提技術にはさして問題とならない。
【0039】
極値自体も前記パラメータに依存するため、極値の挙動、つまり極値の変化の様子をもとに、最適と考えられるパラメータを決定する余地が生じる。この態様はその事実を利用している。この態様によれば、元来調整の困難なパラメータの決定を自動化する途が拓かれる。
【0040】
[前提技術の実施の形態]
最初に[1]で前提技術の要素技術を詳述し、[2]で処理手順を具体的に説明する。さらに[3]で前提技術に基づき改良を施した点について述べる。
【0041】
[1]要素技術の詳細
[1.1]イントロダクション
特異点フィルタと呼ばれる新たな多重解像度フィルタを導入し、画像間のマッチングを正確に計算する。オブジェクトに関する予備知識は一切不要である。画像間のマッチングの計算は、解像度の階層を進む間、各解像度において計算される。その際、粗いレベルから精細なレベルへと順に解像度の階層を辿っていく。計算に必要なパラメータは、人間の視覚システムに似た動的計算によって完全に自動設定される。画像間の対応点を人手で特定する必要はない。
【0042】
本前提技術は、例えば完全に自動的なモーフィング、物体認識、立体写真測量、ボリュームレンダリング、少ないフレームからの滑らかな動画像の生成などに応用できる。モーフィングに用いる場合、与えられた画像を自動的に変形することができる。ボリュームレンダリングに用いる場合、断面間の中間的な画像を正確に再構築することができる。断面間の距離が遠く、断面の形状が大きく変化する場合でも同様である。
【0043】
[1.2]特異点フィルタの階層
前提技術に係る多重解像度特異点フィルタは、画像の解像度を落としながら、しかも画像に含まれる各特異点の輝度及び位置を保存することができる。ここで画像の幅をN、高さをMとする。以下簡単のため、N=M=2n(nは自然数)と仮定する。また、区間[0,N]⊂RをIと記述する。(i,j)における画像の画素をp(i,j)と記述する(i,j∈I)。
【0044】
ここで多重解像度の階層を導入する。階層化された画像群は多重解像度フィルタで生成される。多重解像度フィルタは、もとの画像に対して二次元的な探索を行って特異点を検出し、検出された特異点を抽出してもとの画像よりも解像度の低い別の画像を生成する。ここで第mレベルにおける各画像のサイズは2m×2m(0≦m≦n)とする。特異点フィルタは次の4種類の新たな階層画像をnから下がる方向で再帰的に構築する。
【0045】
【数1】
ただしここで、
【0046】
【数2】
とする。以降これら4つの画像を副画像(サブイメージ)と呼ぶ。minx≦t≦x+1、maxx≦t≦x+1をそれぞれα及びβと記述すると、副画像はそれぞれ以下のように記述できる。
【0047】
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画素で構成されるブロックごとに特異点を検出する。その際、各ブロックのふたつの方向、つまり縦と横について、最大画素値または最小画素値をもつ点を探索する。画素値として、前提技術では輝度を採用するが、画像に関するいろいろな数値を採用することができる。ふたつの方向の両方について最大画素値となる画素は極大点、ふたつの方向の両方について最小画素値となる画素は極小点、ふたつの方向の一方について最大画素値となるとともに、他方について最小画素値となる画素は鞍点として検出される。
【0048】
特異点フィルタは、各ブロックの内部で検出された特異点の画像(ここでは1画素)でそのブロックの画像(ここでは4画素)を代表させることにより、画像の解像度を落とす。特異点の理論的な観点からすれば、α(x)α(y)は極小点を保存し、β(x)β(y)は極大点を保存し、α(x)β(y)及びβ(x)α(y)は鞍点を保存する。
【0049】
はじめに、マッチングをとるべき始点(ソース)画像と終点(デスティネーション)画像に対して別々に特異点フィルタ処理を施し、それぞれ一連の画像群、すなわち始点階層画像と終点階層画像を生成しておく。始点階層画像と終点階層画像は、特異点の種類に対応してそれぞれ4種類ずつ生成される。
【0050】
この後、一連の解像度レベルの中で始点階層画像と終点階層画像のマッチングがとれらていく。まずp(m,0)を用いて極小点のマッチングがとられる。次に、その結果に基づき、p(m,1)を用いて鞍点のマッチングがとられ、p(m,2)を用いて他の鞍点のマッチングがとられる。そして最後にp(m,3)を用いて極大点のマッチングがとられる。
【0051】
図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)によって耳や頬の最も明るい点が明確になる。これらは輝度の極大点だからである。
【0052】
特異点フィルタによれば画像の特徴が抽出できるため、例えばカメラで撮影された画像の特徴と、予め記録しておいたいくつかのオブジェクトの特徴を比較することにより、カメラに映った被写体を識別することができる。
【0053】
[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の順序は次式のように並べ替えることができる。並べ替えが必要な理由は後述する。
【0054】
【数3】
ここでσ(i)∈{0,1,2,3}である。
【0055】
[1.3.1]全単射
始点画像と終点画像の間のマッチングを写像で表現する場合、その写像は両画像間で全単射条件を満たすべきである。両画像に概念上の優劣はなく、互いの画素が全射かつ単射で接続されるべきだからである。しかしながら通常の場合とは異なり、ここで構築すべき写像は全単射のディジタル版である。前提技術では、画素は格子点によって特定される。
【0056】
始点副画像(始点画像について設けられた副画像)から終点副画像(終点画像について設けられた副画像)への写像は、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)と記述する。
【0057】
前提技術で扱う画素(格子点)のようにデータが離散的な場合、全単射の定義は重要である。ここでは以下のように定義する(i,i’,j,j’,k,lは全て整数とする)。まず始めに、始点画像の平面においてRによって表記される各正方形領域、
【0058】
【数4】
を考える(i=0,…,2m−1、j=0,…,2m−1)。ここでRの各辺(エッジ)の方向を以下のように定める。
【0059】
【数5】
この正方形は写像fによって終点画像平面における四辺形に写像されなければならない。f(m,s)(R)によって示される四辺形、
【0060】
【数6】
は、以下の全単射条件を満たす必要がある。
【0061】
1.四辺形f(m,s)(R)のエッジは互いに交差しない。
2.f(m,s)(R)のエッジの方向はRのそれらに等しい(図2の場合、時計回り)。
3.緩和条件として収縮写像(リトラクション:retractions)を許す。
【0062】
何らかの緩和条件を設けないかぎり、全単射条件を完全に満たす写像は単位写像しかないためである。ここではf(m,s)(R)のひとつのエッジの長さが0、すなわちf(m,s)(R)は三角形になってもよい。しかし、面積が0となるような図形、すなわち1点または1本の線分になってはならない。図2(R)がもとの四辺形の場合、図2(A)と図2(D)は全単射条件を満たすが、図2(B)、図2(C)、図2(E)は満たさない。
【0063】
実際のインプリメンテーションでは、写像が全射であることを容易に保証すべく、さらに以下の条件を課してもよい。つまり始点画像の境界上の各画素は、終点画像において同じ位置を占める画素に写影されるというものである。すなわち、f(i,j)=(i,j)(ただしi=0,i=2m−1,j=0,j=2m−1の4本の線上)である。この条件を以下「付加条件」とも呼ぶ。
【0064】
[1.3.2]写像のエネルギー
[1.3.2.1]画素の輝度に関するコスト
写像fのエネルギーを定義する。エネルギーが最小になる写像を探すことが目的である。エネルギーは主に、始点画像の画素の輝度とそれに対応する終点画像の画素の輝度の差で決まる。すなわち、写像f(m,s)の点(i,j)におけるエネルギーC(m,s) (i,j)は次式によって定まる。
【0065】
【数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)の合計で定義できる。
【0066】
【数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)は次式で定義される。
【0067】
【数9】
ただし、係数パラメータηは0以上の実数であり、また、
【0068】
【数10】
【0069】
【数11】
とする。ここで、
【0070】
【数12】
であり、i’<0およびj’<0に対してf(i’,j’)は0と決める。E0は(i,j)及びf(i,j)の距離で決まる。E0は画素があまりにも離れた画素へ写影されることを防ぐ。ただしE0は、後に別のエネルギー関数で置き換える。E1は写像の滑らかさを保証する。E1は、p(i,j)の変位とその隣接点の変位の間の隔たりを表す。以上の考察をもとに、マッチングを評価する別の評価式であるエネルギーDfは次式で定まる。
【0071】
【数13】
[1.3.2.3]写像の総エネルギー
写像の総エネルギー、すなわち複数の評価式の統合に係る総合評価式はλC(m,s) f+D(m,s) fで定義される。ここで係数パラメータλは0以上の実数である。目的は総合評価式が極値をとる状態を検出すること、すなわち次式で示す最小エネルギーを与える写像を見いだすことである。
【0072】
【数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だけになり、本来何等関連のない画素どうしが単に輝度が近いというだけで対応づけられ、写像が無意味なものになる。そうした無意味な写像をもとに写像を変形していってもまったく意味をなさない。このため、単位写像が評価の開始時点で最良の写像として選択されるよう係数パラメータの与えかたが配慮されている。
【0073】
オプティカルフローもこの前提技術同様、画素の輝度の差と滑らかさを考慮する。しかし、オプティカルフローは画像の変換に用いることはできない。オブジェクトの局所的な動きしか考慮しないためである。前提技術に係る特異点フィルタを用いることによって大域的な対応関係を検出することができる。
【0074】
[1.3.3]多重解像度の導入による写像の決定
最小エネルギーを与え、全単射条件を満足する写像fminを多重解像度の階層を用いて求める。各解像度レベルにおいて始点副画像及び終点副画像間の写像を計算する。解像度の階層の最上位(最も粗いレベル)からスタートし、各解像度レベルの写像を、他のレベルの写像を考慮に入れながら決定する。各レベルにおける写像の候補の数は、より高い、つまりより粗いレベルの写像を用いることによって制限される。より具体的には、あるレベルにおける写像の決定に際し、それよりひとつ粗いレベルにおいて求められた写像が一種の拘束条件として課される。
【0075】
まず、
【0076】
【数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)は次式で定義される。
【0077】
【数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)は次の四辺形の内部になければならないという条件を課し、全単射条件を満たす写像のうち現実性の高いものを絞り込む。
【0078】
【数17】
ただしここで、
【0079】
【数18】
である。こうして定めた四辺形を、以下p(m,s) (i,j)の相続(inherited)四辺形と呼ぶことにする。相続四辺形の内部において、エネルギーを最小にする画素を求める。
【0080】
図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レベルの写像への橋渡しがなされる。
【0081】
先に定義したエネルギーE0は、第mレベルにおける副写像f(m,0)を計算するために、次式に置き換える。
【0082】
【数19】
また、副写像f(m,s)を計算するためには次式を用いる。
【0083】
【数20】
こうしてすべての副写像のエネルギーを低い値に保つ写像が得られる。式20により、異なる特異点に対応する副写像が、副写像どうしの類似度が高くなるように同一レベル内で関連づけられる。式19は、f(m,s)(i,j)と、第m−1レベルの画素の一部と考えた場合の(i,j)が射影されるべき点の位置との距離を示している。
【0084】
仮に、相続四辺形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条件を外す。
【0085】
多重解像度を用いる近似法は、写像が画像の細部に影響されることを回避しつつ、画像間の大域的な対応関係を決定するために必須である。多重解像度による近似法を用いなければ、距離の遠い画素間の対応関係を見いだすことは不可能である。その場合、画像のサイズはきわめて小さなものに限定しなければならず、変化の小さな画像しか扱うことができない。さらに、通常写像に滑らかさを要求するため、そうした画素間の対応関係を見つけにくくしている。距離のある画素から画素への写像のエネルギーは高いためである。多重解像度を用いた近似法によれば、そうした画素間の適切な対応関係を見いだすことができる。それらの距離は、解像度の階層の上位レベル(粗いレベル)において小さいためである。
【0086】
[1.4]最適なパレメータ値の自動決定
既存のマッチング技術の主な欠点のひとつに、パレメータ調整の困難さがある。大抵の場合、パラメータの調整は人手作業によって行われ、最適な値を選択することはきわめて難しい。前提技術に係る方法によれば、最適なパラメータ値を完全に自動決定することができる。
【0087】
前提技術に係るシステムはふたつのパレメータ、λ及びηを含む。端的にいえば、λは画素の輝度の差の重みであり、ηは写像の剛性を示している。これらのパラメータの値は初期値が0であり、まずη=0に固定してλを0から徐々に増加させる。λの値を大きくしながら、しかも総合評価式(式14)の値を最小にする場合、各副写像に関するC(m,s) fの値は一般に小さくなっていく。このことは基本的にふたつの画像がよりマッチしなければならないことを意味する。しかし、λが最適値を超えると以下の現象が発生する。
【0088】
1.本来対応すべきではない画素どうしが、単に輝度が近いというだけで誤って対応づけられる。
2.その結果、画素どうしの対応関係がおかしくなり、写像がくずれはじめる。
3.その結果、式14においてD(m,s) fが急激に増加しようとする。
4.その結果、式14の値が急激に増加しようとするため、D(m,s) fの急激な増加を抑制するようf(m,s)が変化し、その結果C(m,s) fが増加する。
したがって、λを増加させながら式14が最小値をとるという状態を維持しつつC(m,s) fが減少から増加に転じる閾値を検出し、そのλをη=0における最適値とする。つぎにηを少しづつ増やしてC(m,s) fの挙動を検査し、後述の方法でηを自動決定する。そのηに対応してλも決まる。
【0089】
この方法は、人間の視覚システムの焦点機構の動作に似ている。人間の視覚システムでは、一方の目を動かしながら左右両目の画像のマッチングがとられる。オブジェクトがはっきりと認識できるとき、その目が固定される。
【0090】
[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以上減少しない限り総エネルギーは減らないためである。
【0091】
この条件のもと、λの増加に伴い、正常な場合に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まで微小量変化するとき、
【0092】
【数21】
で示されるA個の画素が、
【0093】
【数22】
のエネルギーを持つより安定的な状態に変化する。ここでは仮に、これらの画素のエネルギーがすべてゼロになると近似している。この式はC(m,s) fの値が、
【0094】
【数23】
だけ変化することを示し、その結果、
【0095】
【数24】
が成立する。h(l)>0であるから、通常C(m,s) fは減少する。しかし、λが最適値を越えようとするとき、上述の現象、つまりC(m,s) fの増加が発生する。この現象を検出することにより、λの最適値を決定する。
【0096】
なお、H(h>0)及びkを定数とするとき、
【0097】
【数25】
と仮定すれば、
【0098】
【数26】
が成り立つ。このときk≠−3であれば、
【0099】
【数27】
となる。これがC(m,s) fの一般式である(Cは定数)。
【0100】
λの最適値を検出する際、さらに安全を見て、全単射条件を破る画素の数を検査してもよい。ここで各画素の写像を決定する際、全単射条件を破る確率をp0と仮定する。この場合、
【0101】
【数28】
が成立しているため、全単射条件を破る画素の数は次式の率で増加する。
【0102】
【数29】
従って、
【0103】
【数30】
は定数である。仮にh(l)=Hlkを仮定するとき、例えば、
【0104】
【数31】
は定数になる。しかしλが最適値を越えると、上の値は急速に増加する。この現象を検出し、B0λ3/2+k/2/2mの値が異常値B0thresを越えるかどうかを検査し、λの最適値を決定することができる。同様に、B1λ3/2+k/2/2mの値が異常値B1thresを越えるかどうかを検査することにより、全単射の第3の条件を破る画素の増加率B1を確認する。ファクター2mを導入する理由は後述する。このシステムはこれら2つの閾値に敏感ではない。これらの閾値は、エネルギーC(m,s) fの観察では検出し損なった写像の過度の歪みを検出するために用いることができる。
【0105】
なお実験では、副写像f(m,s)を計算する際、もしλが0.1を越えたらf(m,s)の計算は止めてf(m,s+1)の計算に移行した。λ>0.1のとき、画素の輝度255レベル中のわずか「3」の違いが副写像の計算に影響したためであり、λ>0.1のとき正しい結果を得ることは困難だったためである。
【0106】
[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を正しく設定することによって吸収することができる。
【0107】
ここで次式のごとく始点画像を中心が(x0,y0)、半径rの円形のオブジェクトであると仮定する。
【0108】
【数32】
一方、終点画像は、次式のごとく中心(x1,y1)、半径がrのオブジェクトであるとする。
【0109】
【数33】
ここでc(x)はc(x)=xkの形であるとする。中心(x0,y0)及び(x1,y1)が十分遠い場合、ヒストグラムh(l)は次式の形となる。
【0110】
【数34】
k=1のとき、画像は背景に埋め込まれた鮮明な境界線を持つオブジェクトを示す。このオブジェクトは中心が暗く、周囲にいくに従って明るくなる。k=−1のとき、画像は曖昧な境界線を持つオブジェクトを表す。このオブジェクトは中心が最も明るく、周囲にいくに従って暗くなる。一般のオブジェクトはこれらふたつのタイプのオブジェクトの中間にあると考えてもさして一般性を失わない。したがって、kは−1≦k≦1として大抵の場合をカバーでき、式27が一般に減少関数であることが保障される。
【0111】
なお、式34からわかるように、rは画像の解像度に影響されること、すなわちrは2mに比例することに注意すべきである。このために[1.4.1]においてファクター2mを導入した。
【0112】
[1.4.3]ηの動的決定
パラメータηも同様の方法で自動決定できる。はじめにη=0とし、最も細かい解像度における最終的な写像f(n)及びエネルギーC(n) fを計算する。つづいて、ηをある値Δηだけ増加させ、再び最も細かい解像度における最終写像f(n)及びエネルギーC(n) fを計算し直す。この過程を最適値が求まるまで続ける。ηは写像の剛性を示す。次式の重みだからである。
【0113】
【数35】
ηが0のとき、D(n) fは直前の副写像と無関係に決定され、現在の副写像は弾性的に変形され、過度に歪むことになる。一方、ηが非常に大きな値のとき、D(n) fは直前の副写像によってほぼ完全に決まる。このとき副写像は非常に剛性が高く、画素は同じ場所に射影される。その結果、写像は単位写像になる。ηの値が0から次第に増えるとき、後述のごとくC(n) fは徐々に減少する。しかしηの値が最適値を越えると、図4に示すとおり、エネルギーは増加し始める。同図のX軸はη、Y軸はCfである。
【0114】
この方法でC(n) fを最小にする最適なηの値を得ることができる。しかし、λの場合に比べていろいろな要素が計算に影響する結果、C(n) fは小さく揺らぎながら変化する。λの場合は、入力が微小量変化するたびに副写像を1回計算しなおすだけだが、ηの場合はすべての副写像が計算しなおされるためである。このため、得られたC(n) fの値が最小であるかどうかを即座に判断することはできない。最小値の候補が見つかれば、さらに細かい区間を設定することによって真の最小値を探す必要がある。
【0115】
[1.5]スーパーサンプリング
画素間の対応関係を決定する際、自由度を増やすために、f(m,s)の値域をR×Rに拡張することができる(Rは実数の集合)。この場合、終点画像の画素の輝度が補間され、非整数点、
【0116】
【数36】
における輝度を持つf(m,s)が提供される。つまりスーパーサンプリングが行われる。実験では、f(m,s)は整数及び半整数値をとることが許され、
【0117】
【数37】
は、
【0118】
【数38】
によって与えられた。
【0119】
[1.6]各画像の画素の輝度の正規化
始点画像と終点画像がきわめて異なるオブジェクトを含んでいるとき、写像の計算に元の画素の輝度がそのままでは利用しにくい。輝度の差が大きいために輝度に関するエネルギーC(m,s) fが大きくなりすぎ、正しい評価がしずらいためである。
【0120】
例えば、人の顔と猫の顔のマッチングをとる場合を考える。猫の顔は毛で覆われており、非常に明るい画素と非常に暗い画素が混じっている。この場合、ふたつの顔の間の副写像を計算するために、まず副画像を正規化する。すなわち、最も暗い画素の輝度を0、最も明るいそれを255に設定し、他の画素の輝度は線形補間によって求めておく。
【0121】
[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)が決まる。
【0122】
ある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)を以下の方法で決めていく。
【0123】
まず(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であるとしてふたつの方向を連続的に計算した。
【0124】
実際のインプリメンテーションでは、全単射条件を破る候補に対してペナルティを与えることにより、候補(k,l)の中からできる限り全単射条件を満たすf(m,s)(i,j)(m=0,…,n)の値を選んだ。第3の条件を破る候補のエネルギーD(k、l)にはφを掛け、一方、第1または第2の条件を破る候補にはψを掛ける。今回はφ=2、ψ=100000を用いた。
【0125】
前述の全単射条件のチェックのために、実際の手続として(k,l)=f(m,s)(i,j)を決定する際に以下のテストを行った。すなわちf(m,s)(i,j)の相続四辺形に含まれる各格子点(k,l)に対し、次式の外積のz成分が0以上になるかどうかを確かめる。
【0126】
【数39】
ただしここで、
【0127】
【数40】
【0128】
【数41】
である(ここでベクトルは三次元ベクトルとし、z軸は直交右手座標系において定義される)。もしWが負であれば、その候補についてはD(m,s) (k,l)にψを掛けることによってペナルティを与え、できるかぎり選択しないようにする。
【0129】
図5(a)、図5(b)はこの条件を検査する理由を示している。図5(a)はペナルティのない候補、図5(b)はペナルティがある候補をそれぞれ表す。隣接画素(i,j+1)に対する写像f(m,s)(i,j+1)を決定する際、Wのz成分が負であれば始点画像平面上において全単射条件を満足する画素は存在しない。なぜなら、q(m,s) (k,l)は隣接する四辺形の境界線を越えるためである。
【0130】
[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に相当する処理を行った。その理由は後述する。
【0131】
[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)を次式で求める。
【0132】
【数42】
つづいてr(x,y,t)における画素の輝度が次の式を用いて決定される。
【0133】
【数43】
ここでdx及びdyはパラメータであり、0から1まで変化する。
【0134】
[1.9]拘束条件を課したときの写像
いままでは拘束条件がいっさい存在しない場合の写像の決定を述べた。しかし、始点画像と終点画像の特定の画素間に予め対応関係が規定されているとき、これを拘束条件としたうえで写像を決定することができる。
【0135】
基本的な考えは、まず始点画像の特定の画素を終点画像の特定の画素に移す大まかな写像によって始点画像を大まかに変形し、しかる後、写像fを正確に計算する。
【0136】
まず始めに、始点画像の特定の画素を終点画像の特定の画素に射影し、始点画像の他の画素を適当な位置に射影する大まかな写像を決める。すなわち、特定の画素に近い画素は、その特定の画素が射影される場所の近くに射影されるような写像である。ここで第mレベルの大まかな写像をF(m)と記述する。
【0137】
大まかな写像Fは以下の要領で決める。まず、いくつかの画素について写像を特定する。始点画像についてns個の画素、
【0138】
【数44】
を特定するとき、以下の値を決める。
【0139】
【数45】
始点画像の他の画素の変位量は、p(ih,jh)(h=0,…,ns−1)の変位に重み付けをして求められる平均である。すなわち画素p(i,j)は、終点画像の以下の画素に射影される。
【0140】
【数46】
ただしここで、
【0141】
【数47】
【0142】
【数48】
とする。
【0143】
つづいて、F(m)に近い候補写像fがより少ないエネルギーを持つように、その写像fのエネルギーD(m,s) (i,j)を変更する。正確には、D(m,s) (i,j)は、
【0144】
【数49】
である。ただし、
【0145】
【数50】
であり、κ,ρ≧0とする。最後に、前述の写像の自動計算プロセスにより、fを完全に決定する。
【0146】
ここで、f(m,s)(i,j)がF(m)(i,j)に十分近いとき、つまりそれらの距離が、
【0147】
【数51】
以内であるとき、E2 (m,s) (i,j)が0になることに注意すべきである。そのように定義した理由は、各f(m,s)(i,j)がF(m)(i,j)に十分近い限り、終点画像において適切な位置に落ち着くよう、その値を自動的に決めたいためである。この理由により、正確な対応関係を詳細に特定する必要がなく、始点画像は終点画像にマッチするように自動的にマッピングされる。
【0148】
[2]具体的な処理手順
[1]の各要素技術による処理の流れを説明する。
図6は前提技術の全体手順を示すフローチャートである。同図のごとく、まず多重解像度特異点フィルタを用いた処理を行い(S1)、つづいて始点画像と終点画像のマッチングをとる(S2)。ただし、S2は必須ではなく、S1で得られた画像の特徴をもとに画像認識などの処理を行ってもよい。
【0149】
図7は図6のS1の詳細を示すフローチャートである。ここではS2で始点画像と終点画像のマッチングをとることを前提としている。そのため、まず特異点フィルタによって始点画像の階層化を行い(S10)、一連の始点階層画像を得る。つづいて同様の方法で終点画像の階層化を行い(S11)、一連の終点階層画像を得る。ただし、S10とS11の順序は任意であるし、始点階層画像と終点階層画像を並行して生成していくこともできる。
【0150】
図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種類の副画像が生成される。
【0151】
図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になる。
【0152】
つづいてmをデクリメントし(図8のS103)、mが負になっていないことを確認し(S104)、S101に戻ってつぎに解像度の粗い副画像を生成していく。この繰り返し処理の結果、m=0、すなわち第0レベルの副画像が生成された時点でS10が終了する。第0レベルの副画像のサイズは1×1である。
【0153】
図10はS10によって生成された始点階層画像をn=3の場合について例示している。最初の始点画像のみが4つの系列に共通であり、以降特異点の種類に応じてそれぞれ独立に副画像が生成されていく。なお、図8の処理は図7のS11にも共通であり、同様の手順を経て終点階層画像も生成される。以上で図6のS1による処理が完了する。
【0154】
前提技術では、図6のS2に進むためにマッチング評価の準備をする。図11はその手順を示している。同図のごとく、まず複数の評価式が設定される(S30)。[1.3.2.1]で導入した画素に関するエネルギーC(m,s) fと[1.3.2.2]で導入した写像の滑らかさに関するエネルギーD(m,s) fがそれである。つぎに、これらの評価式を統合して総合評価式を立てる(S31)。[1.3.2.3]で導入した総エネルギーλC(m,s) f+D(m,s) fがそれであり、[1.3.2.2]で導入したηを用いれば、
【数52】
となる。ただし、総和はi、jについてそれぞれ0、1…、2m−1で計算する。以上でマッチング評価の準備が整う。
【0155】
図12は図6のS2の詳細を示すフローチャートである。[1]で述べたごとく、始点階層画像と終点階層画像のマッチングは互いに同じ解像度レベルの画像どうしでとられる。画像間の大域的なマッチングを良好にとるために、解像度が粗いレベルから順にマッチングを計算する。特異点フィルタを用いて始点階層画像および終点階層画像を生成しているため、特異点の位置や輝度は解像度の粗いレベルでも明確に保存されており、大域的なマッチングの結果は従来に比べて非常に優れたものになる。
【0156】
図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で後述する。
【0157】
一方、同一レベル内における水平的参照も行われる。[1.3.3]の式20のごとく、f(m,3)はf(m,2)に、f(m,2)はf(m,1)に、f(m,1)はf(m,0)に、それぞれ類似するように決める。その理由は、特異点の種類が違っても、それらがもともと同じ始点画像と終点画像に含まれている以上、副写像がまったく異なるという状況は不自然だからである。式20からわかるように、副写像どうしが近いほどエネルギーは小さくなり、マッチングが良好とみなされる。
【0158】
なお、最初に決めるべき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]で述べたとおりである。
【0159】
図13は第0レベルにおいて副写像を決定する様子を示す図である。第0レベルでは各副画像がただひとつの画素で構成されるため、4つの副写像f(0,s)はすべて自動的に単位写像に決まる。図14は第1レベルにおいて副写像を決定する様子を示す図である。第1レベルでは副画像がそれぞれ4画素で構成される。同図ではこれら4画素が実線で示されている。いま、p(1,s)の点xの対応点をq(1,s)の中で探すとき、以下の手順を踏む。
【0160】
1.第1レベルの解像度で点xの左上点a、右上点b、左下点c、右下点dを求める。
2.点a〜dがひとつ粗いレベル、つまり第0レベルにおいて属する画素を探す。図14の場合、点a〜dはそれぞれ画素A〜Dに属する。ただし、画素A〜Cは本来存在しない仮想的な画素である。
3.第0レベルですでに求まっている画素A〜Dの対応点A’〜D’をq(1,s)の中にプロットする。画素A’〜C’は仮想的な画素であり、それぞれ画素A〜Cと同じ位置にあるものとする。
4.画素Aの中の点aの対応点a’が画素A’の中にあるとみなし、点a’をプロットする。このとき、点aが画素Aの中で占める位置(この場合、右下)と、点a’が画素A’の中で占める位置が同じであると仮定する。
5.4と同様の方法で対応点b’〜d’をプロットし、点a’〜d’で相続四辺形を作る。
6.相続四辺形の中でエネルギーが最小になるよう、点xの対応点x’を探す。対応点x’の候補として、例えば画素の中心が相続四辺形に含まれるものに限定してもよい。図14の場合、4つの画素がすべて候補になる。
【0161】
以上がある点xの対応点の決定手順である。同様の処理を他のすべての点について行い、副写像を決める。第2レベル以上のレベルでは、次第に相続四辺形の形が崩れていくと考えられるため、図3に示すように画素A’〜D’の間隔が空いていく状況が発生する。
【0162】
こうして、ある第mレベルの4つの副写像が決まれば、mをインクリメントし(図12のS22)、mがnを超えていないことを確かめて(S23)、S21に戻る。以下、S21に戻るたびに次第に細かい解像度のレベルの副写像を求め、最後にS21に戻ったときに第nレベルの写像f(n)を決める。この写像はη=0に関して定まったものであるから、f(n)(η=0)と書く。
【0163】
つぎに異なるηに関する写像も求めるべく、ηをΔηだけシフトし、mをゼロクリアする(S24)。新たなηが所定の探索打切り値ηmaxを超えていないことを確認し(S25)、S21に戻り、今回のηに関して写像f(n)(η=Δη)を求める。この処理を繰り返し、S21でf(n)(η=iΔη)(i=0,1,…)を求めていく。ηがηmaxを超えたときS26に進み、後述の方法で最適なη=ηoptを決定し、f(n)(η=ηopt)を最終的に写像f(n)とする。
【0164】
図15は図12のS21の詳細を示すフローチャートである。このフローチャートにより、ある定まったηについて、第mレベルにおける副写像が決まる。副写像を決める際、前提技術では副写像ごとに最適なλを独立して決める。
【0165】
同図のごとく、まず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)。
【0166】
つぎに、同一レベルにおける他の副写像を求めるべく、λをゼロクリアし、sをインクリメントする(S215)。sが4を超えていないことを確認し(S216)、S211に戻る。s=4になれば上述のごとくf(m,3)を利用してf(m,0)を更新し、そのレベルにおける副写像の決定を終了する。
【0167】
図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)についてもひとつ定まる。
【0168】
一方、図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)を最終決定することができる。
【0169】
以上、本前提技術によれば種々のメリットが得られる。まずエッジを検出する必要がないため、エッジ検出タイプの従来技術の課題を解消できる。また、画像に含まれるオブジェクトに対する先験的な知識も不要であり、対応点の自動検出が実現する。特異点フィルタによれば、解像度の粗いレベルでも特異点の輝度や位置を維持することができ、オブジェクト認識、特徴抽出、画像マッチングに極めて有利である。その結果、人手作業を大幅に軽減する画像処理システムの構築が可能となる。
【0170】
なお、本前提技術について次のような変形技術も考えられる。
(1)前提技術では始点階層画像と終点階層画像の間でマッチングをとる際にパラメータの自動決定を行ったが、この方法は階層画像間ではなく、通常の2枚の画像間のマッチングをとる場合全般に利用できる。
【0171】
たとえば2枚の画像間で、画素の輝度の差に関するエネルギーE0と画素の位置的なずれに関するエネルギーE1のふたつを評価式とし、これらの線形和Etot=αE0+E1を総合評価式とする。この総合評価式の極値付近に注目してαを自動決定する。つまり、いろいろなαについてEtotが最小になるような写像を求める。それらの写像のうち、αに関してE1が極小値をとるときのαを最適パラメータと決める。そのパラメータに対応する写像を最終的に両画像間の最適マッチングとみなす。
【0172】
これ以外にも評価式の設定にはいろいろな方法があり、例えば1/E1と1/E2のように、評価結果が良好なほど大きな値をとるものを採用してもよい。総合評価式も必ずしも線形和である必要はなく、n乗和(n=2、1/2、−1、−2など)、多項式、任意の関数などを適宜選択すればよい。
【0173】
パラメータも、αのみ、前提技術のごとくηとλのふたつの場合、それ以上の場合など、いずれでもよい。パラメータが3以上の場合はひとつずつ変化させて決めていく。
【0174】
(2)本前提技術では、総合評価式の値が最小になるよう写像を決めた後、総合評価式を構成するひとつの評価式であるC(m,s) fが極小になる点を検出してパラメータを決定した。しかし、こうした二段回処理の代わりに、状況によっては単に総合評価式の最小値が最小になるようにパラメータを決めても効果的である。その場合、例えばαE0+βE1を総合評価式とし、α+β=1なる拘束条件を設けて各評価式を平等に扱うなどの措置を講じてもよい。パラメータの自動決定の本質は、エネルギーが最小になるようにパラメータを決めていく点にあるからである。
【0175】
(3)前提技術では各解像度レベルで4種類の特異点に関する4種類の副画像を生成した。しかし、当然4種類のうち1、2、3種類を選択的に用いてもよい。例えば、画像中に明るい点がひとつだけ存在する状態であれば、極大点に関するf(m,3)だけで階層画像を生成しても相応の効果が得られるはずである。その場合、同一レベルで異なる副写像は不要になるため、sに関する計算量が減る効果がある。
【0176】
(4)本前提技術では特異点フィルタによってレベルがひとつ進むと画素が1/4になった。例えば3×3で1ブロックとし、その中で特異点を探す構成も可能であり、その場合、レベルがひとつ進むと画素は1/9になる。
【0177】
(5)始点画像と終点画像がカラーの場合、それらをまず白黒画像に変換し、写像を計算する。その結果求められた写像を用いて始点のカラー画像を変換する。それ以外の方法として、RGBの各成分について副写像を計算してもよい。
【0178】
[3]前提技術の改良点
以上の前提技術を基本とし、マッチング精度を向上させるためのいくつかの改良がなされている。ここではその改良点を述べる。
【0179】
[3.1]色情報を考慮に入れた特異点フィルタおよび副画像
画像の色情報を有効に用いるために、特異点フィルタを以下のように変更した。まず色空間としては、人間の直感に最も合致するといわれているHISを用い、色を輝度に変換する式には、人間の目の感度に最も近いといわれているものを選んだ。
【数53】
【0180】
ここで画素aにおけるY(輝度)をY(a)、S(彩度)をS(a)として、次のような記号を定義する。
【数54】
【0181】
上の定義を用いて以下のような5つのフィルタを用意する。
【数55】
このうち上から4つのフィルタは改良前の前提技術におけるフィルタとほぼ同じで、輝度の特異点を色情報も残しながら保存する。最後のフィルタは色の彩度の特異点をこちらも色情報を残しながら保存する。
【0182】
これらのフィルタによって、各レベルにつき5種類の副画像(サブイメージ)が生成される。なお、最も高いレベルの副画像は元画像に一致する。
【数56】
【0183】
[3.2]エッジ画像およびその副画像
輝度微分(エッジ)の情報をマッチングに利用するため、一次微分エッジ検出フィルタを用いる。このフィルタはあるオペレータHとの畳み込み積分で実現できる。
【数57】
ここでHは演算スピードなども考慮し、以下のようなオペレータを用いた。
【数58】
【0184】
次にこの画像を多重解像度化する。フィルタにより0を中心とした輝度をもつ画像が生成されるため、次のような平均値画像が副画像としては最も適切である。
【数59】
式59の画像は後述するForward Stage、すなわち初回副写像導出ステージの計算の際、エネルギー関数に用いられる。
【0185】
エッジの大きさ、すなわち絶対値も計算に必要である。
【数60】
この値は常に正であるため、多重解像度化には最大値フィルタを用いる。
【数61】
式61の画像は後述するForward Stageの計算の際、計算する順序を決定するのに用いられる。
【0186】
[3.3]計算処理手順
計算は最も粗い解像度の副画像から順に行う。副画像は5つあるため、各レベルの解像度において計算は複数回行われる。これをターンと呼び、最大計算回数をtで表すことにする。各ターンは前記Forward Stageと、副写像再計算ステージであるRefinement Stageという二つのエネルギー最小化計算から構成される。図18は第mレベルにおける副写像を決める計算のうち改良点に係るフローチャートである。
【0187】
同図のごとく、sをゼロクリアする(S40)。つぎにForward Stage(S41)において始点画像pから終点画像qへの写像f( m,s )をエネルギー最小化によって求める。ここで最小化するエネルギーは、対応する画素値によるエネルギーCと、写像の滑らかさによるエネルギーDの線形和である。
エネルギーCは、輝度の差によるエネルギーCI(前記改良前の前提技術におけるエネルギーCと等価)と、色相、彩度によるエネルギーCC、輝度微分(エッジ)の差によるエネルギーCEで構成され、それぞれ次のように表される。
【数62】
【0188】
エネルギーDは前記改良前の前提技術と同じものを用いる。ただし前記改良前の前提技術において、写像の滑らかさを保証するエネルギーE1を導出する際、隣接する画素のみを考慮していたが、周囲の何画素を考慮するかをパラメータdで指定できるように改良した。
【数63】
次のRefinement Stageに備えて、このステージでは終点画像qから始点画像pへの写像g(m,s)も同様に計算する。
Refinement Stage(S42)ではForward Stageにおいて求めた双方向の写像f(m,s)およびg(m,s)を基に、より妥当な写像f’(m,s)を求める。ここでは新たに定義されるエネルギーMについてエネルギー最小化計算を行う。エネルギーMは終点画像から始点画像への写像gとの整合度M0と、もとの写像との差M1より構成される。
【数64】
対称性を損なわないように、終点画像qから始点画像pへの写像g’(m,s)も同様の方法で求めておく。
【0189】
その後、sをインクリメントし(S43)、sがtを超えていないことを確認し(S44)、次のターンのForward Stage(S41)に進む。その際前記E0を次のように置き換えてエネルギー最小化計算を行う。
【数65】
【0190】
[3.4]写像の計算順序
写像の滑らかさを表すエネルギーE1を計算する際、周囲の点の写像を用いるため、それらの点がすでに計算されているかどうかがエネルギーに影響を与える。すなわち、どの点から順番に計算するかによって、全体の写像の精度が大きく変化する。そこでエッジの絶対値画像を用いる。エッジの部分は情報量を多く含むため、エッジの絶対値が大きいところから先に写像計算を行う。このことによって、特に二値画像のような画像に対して非常に精度の高い写像を求めることができるようになった。
【0191】
[画像データ符号化技術]
以上の前提技術を利用した画像データ符号化技術を説明する。
【0192】
(実施の形態)
図19は、符号化処理を実現する画像データ符号化装置10の構成である。各機能ブロックは、たとえばPC(パーソナルコンピュータ)にCD−ROMなどの記録媒体からロードされるプログラムで実現できる。これは後述の復号装置にもいえる。図20は、画像データ符号化装置10による処理のフローチャートである。
【0193】
キーフレーム設定部12はネットワーク、ストレージなどから符号化すべき画像データを入力する(S1000)。キーフレーム設定部12は通信機能、ストレージ制御機能、または自身が画像を撮影する光学機器の機能を含んでもよい。キーフレーム設定部12は、一つのオブジェクトを複数の視点から同時に捉える場合は、捉えられた複数の画像をそのオブジェクトが含まれるレイヤにおける複数のキーフレームとして設定する。その場合、入力される画像データの数は実質的に視点の数と同数となる。キーフレーム設定部12はオブジェクト認識部14、レイヤ分離処理部16、およびキーフレーム検出部18を含む。
【0194】
オブジェクト認識部14は前提技術を用いて画像データからオブジェクトを認識し(S1002)、レイヤ分離処理部16は画像データをオブジェクトごとのレイヤに分離する(S1004)。複数の視点から捉えられた画像データの場合、視点ごとにレイヤ分けされるので画像データの数は実質的に(視点数×レイヤ数)となる。各キーフレームは、少なくともそのレイヤのオブジェクトをカバーできる程度の表示サイズで十分であり、レイヤごとに個別の表示サイズに設定されてもよい。例えば、背景のレイヤは画像データの表示サイズと同じ表示サイズである一方、動きのあるオブジェクトのレイヤの表示サイズは画像データの表示サイズよりも小さい場合が考えられる。その場合、レイヤ分離処理部16は表示サイズおよびそのフレームを表示すべき位置の座標を検出する。
【0195】
キーフレーム検出部18は入力された画像データからキーフレームとなる画像を検出する(S1006)。例えば、複数のフレームのうち、直前のフレームとの画像の差が比較的大きいものをキーフレームとして検出する。キーフレームどうしの差を大きくしない配慮であり、符号化効率を改善するためである。キーフレーム検出部18の他の例として、一定間隔でフレームを選択してそれらをキーフレームとしてもよい。その場合、処理が単純になる。
【0196】
キーフレーム検出部18は各キーフレームの表示タイミングの間隔、すなわちキーフレームレートをレイヤごとに個別に設定できる。例えばほとんど画像に変化がない背景のレイヤはキーフレームレートを低くし、動きの多いオブジェクトのレイヤはキーフレームレートを高くしてもよい。この場合、データサイズの小さいレイヤだけフレームレートが高くなり、データサイズの大きいレイヤはフレームレートが低くなる。したがって、動きの多い画像であっても画像全体のキーフレームレートを高くする場合に比べてデータサイズを低減できる。
【0197】
複数の視点から捉えられた画像データの場合、特定のレイヤにおける同じタイミングのキーフレームが視点の数と同数得られる。キーフレーム検出部18は、各キーフレームについてその表示すべきタイミングを検出し、そのタイミングを示す時間情報を生成する。途中から表示開始されるオブジェクトのレイヤに対しては、その表示開始のタイミングを検出してこれを記憶する。キーフレーム検出部18は、キーフレームを圧縮してもよい。
【0198】
マッチング計算部20は、前提技術その他の技術によってキーフレーム間で画素単位のマッチングをとる。例えば複数の視点から捉えられた画像データの場合(S1008Y)、空間的マッチング処理部24は複数視点間における空間的な中間フレームを得るための対応点情報をマッチングにより取得する(S1010)。時間的マッチング処理部22は、時間軸上で隣り合う二つのキーフレーム間における時間的な中間フレームを得るための対応点情報をマッチングにより取得する(S1012)。
【0199】
パッケージ設定部26は、特定の表示タイミングにおけるキーフレームと、その時間情報と、次のキーフレームとの間の対応点情報と、を組み合わせたパッケージを生成してこれを記憶する(S1014)。複数視点の場合、各視点のキーフレームがひとつのパッケージに同梱されるとともに、視点間の対応点情報もさらに含められる。関連記述部28は、各パッケージに対して時系列的に前後のパッケージへの関連づけを記述する(S1016)。例えば、前後のパッケージへのシーク位置を示す情報やリンク情報を記述する。
【0200】
コンポーネント設定部30と、レイヤごとに関連づけされた複数のパッケージを集合させてひとつのコンポーネントを生成する(S1018)。コンポーネント設定部30は、各コンポーネントに対してIDを付与するとともに、そのIDが対応する各パッケージにも記述される。符号化データ生成部32は、すべてのレイヤのコンポーネントを集合させて最終的な符号化データを生成して(S1020)、これをネットワークまたはストレージへ出力する(S1022)。
【0201】
図21(a)〜図21(d)は、画像データをオブジェクトごとに複数のレイヤに分離する処理を模式的に示す。図21(a)は、初期的に入力される画像データであり、これが図21(b)〜図21(d)の各図に分離される。図21(b)は例えば背景のレイヤであり、その表示サイズは図21(a)の表示サイズと同じである。またこのレイヤは動きが少なく、キーフレームレートも最も低く設定される。
【0202】
図21(c)は三角形で模式的に示されるオブジェクトが含まれるレイヤである。このオブジェクトの動きが領域100に限定される場合は、このレイヤの表示サイズを領域100のサイズに設定してもよい。その場合、領域100の座標もあわせて検出される。図21(d)は円形で模式的に示されるオブジェクトが含まれるレイヤである。このオブジェクトの動きが領域102に限定される場合は、このレイヤの表示サイズを領域102のサイズに設定するとともに、その座標をあわせて検出する。図21(c)および図21(d)のキーフレームは、オブジェクト以外の部分が透けた透過画像であってもよい。
【0203】
図22(a)〜22(e)は、実施の形態において複数の視点間で空間的な中間フレームを生成する処理を模式的に示す。図22(a)、図22(b)、図22(c)、図22(d)は異なる視点からコーヒーカップを撮影した4枚のキーフレームである。これらを用いると、図22(e)に示す中間的な視点における中間フレームを生成することができる。図22(a)のキーフレームと図22(b)のキーフレームが第1画像対を形成し、図22(c)のキーフレームと図22(d)のキーフレームが第2画像対を形成する。目的の中間フレームは、第1画像対、第2画像対のいずれか一方では正しく生成できず、両方が揃って生成できる。中間フレームは、複数のキーフレームを縦横二方向について補間することで生成されるためである。これにより、少ないキーフレームから任意の視点における画像やオブジェクトを回転させた擬似的な三次元画像などを実現することができる。この特性は、電子商取引における商品プレゼンテーション、動画像の圧縮、映像効果などにも有用であり、画像データのインタラクティブ性を向上させることができる。
【0204】
本図の場合、空間的マッチング処理部24は第1画像対における対応点情報と第2画像対における対応点情報を生成する。以上が符号化側の処理である。
【0205】
一方、図23は画像データ復号装置50の構成を示す。また、図24は画像データ復号装置50による処理のフローチャートである。画像データ復号装置50は画像データ符号化装置10で得られた符号化データをもとの画像データへ復号する。
【0206】
キーフレーム検出部52は、ネットワーク、ストレージその他から符号化データを取得し(S1050)、レイヤごとに個別の間隔で設定された複数のキーフレームを検出する(S1052)。フレームレート設定部54は、レイヤごとに個別のフレームレートを決定する(S1054)。ここでいうフレームレートは中間フレームの間隔であり、動きの少ない背景などのレイヤはフレームレートを低くし、動きの多いオブジェクトのレイヤはフレームレートを高くしてもよい。また、フレームレートを画像データ復号装置50自体の処理能力に応じて定めてもよいし、指示受付部66を介したユーザの指示に基づいて定めてもよい。
【0207】
中間フレーム生成部56は、対応点情報に基づいて中間フレームを生成する。対応点情報は、符号化データから抽出してもよいし、別途マッチング計算によって中間フレーム生成部56が生成してもよい。中間フレーム生成部56は、時間的補間部58および空間的補間部60を含む。
【0208】
ここで、指示受付部66はどの視点で表示すべきかの指示をユーザから受け取る。指示受付部66に対して、複数の視点間における中間視点から捉えられる画像を表示すべき旨の指示が与えられた場合(S1056Y)、空間的補間部60は、符号化データに含まれる複数の視点のキーフレームとその視点間の対応点情報とに基づき、中間視点における空間的な中間フレームを生成する(S1058)。空間的な中間フレームの生成方法は後述する。この中間フレームを、時間軸上における各表示タイミングについて生成するとともに、これらを時系列的に並べて新たなキーフレームとして以後扱う。
【0209】
時間的補間部58は、時間軸上のキーフレームとその間の対応点情報とに基づいて時間的な中間フレームを生成する(S1060)。この中間フレームは、フレームレート設定部54により設定されたフレームレートにて生成される。復号データ生成部62は、キーフレームと中間フレームを時系列的に並べた組み合わせを復号データとして生成する(S1062)。
【0210】
復号データ生成部62に含まれるイベント検知部64は、復号データを出力するためのトリガーとなる所定のイベントを検知する(S1064)。そのイベント検知を条件にして復号データ生成部62は復号データである画像データの出力を開始する(S1066)。イベントは例えば指示受付部66を介したユーザからの再生開始の指示であってもよいし、クロックに基づいて発生させてもよい。複数のレイヤのうちいずれかのレイヤに対してだけイベント検知を開始条件にしてもよく、その場合は対象となるレイヤのコンポーネントにその旨が記述されてもよい。これにより、コンテンツのインタラクティブ性が向上し、しかもオブジェクト単位で個別に再生開始タイミングを設定できる。
【0211】
図25は、生成すべき空間的な中間フレームとそのもとになるキーフレームの位置関係を概念的に示す。キーフレームはそれらを撮影した視点位置にしたがって並べられており、生成すべき中間フレームもその仮想的な視点位置に応じて同図の中に位置決めされる。ここでは視点数が9個の場合を示す。
【0212】
図では9枚のキーフレームである第1キーフレームI1〜第9キーフレームI9が示されている。いま指示受付部66を通し、生成すべき中間フレームの視点位置として同図の中間フレームIcの位置が指示されたとき、まずその中間フレームIcを取り巻くキーフレーム(以下「注目キーフレーム」という)が第1キーフレームI1、第2キーフレームI2、第4キーフレームI4、第5キーフレームI5と特定される。第1キーフレームI1と第2キーフレームI2が第1画像対、第4キーフレームI4と第5キーフレームI5が第2画像対と定まる。つづいて、これら4つのキーフレームで形成される四辺形の中で中間フレームIcが占める位置を幾何的に求め、補間によって中間フレームの画像を生成する。
【0213】
このプロセスにおいて、中間フレームが図25において占める位置、および注目キーフレームは空間的補間部60によって特定される。その注目フレーム間の対応点情報が符号化データから抽出される。他の形態としては、空間的補間部60が第1画像対と第2画像対それぞれの間で前提技術にもとづくマッチング計算を行い、その結果として視点間の対応点情報を取得してもよい。指示受付部66で取得された中間フレームの位置情報は空間的補間部60に送られる。空間的補間部60は、その位置情報とふたつの対応点情報をもとに補間計算を行う。
【0214】
図26は、補間の方法を示す。ここでは、第1キーフレームI1、第2キーフレームI2、第4キーフレームI4、第5キーフレームI5をそれぞれ点P1、P2、P4、P5で模式的に示したとき、それらで定まる四辺形において、中間フレームを模式的に示す点Pcの位置が以下の条件を満たすとする。
「P1とP2を結ぶ辺をs:(1−s)に内分する点Qと、P4とP5を結ぶ辺をs:(1−s)に内分する点Rを結ぶ線分を(1−t):tに内分する」
空間的補間部60は、第1画像対に関する対応点情報をもとにまず点Qに当たる画像をs:(1−s)の比による補間で生成する。つづいて、第2画像対に関する対応点情報をもとに点Rに当たる画像をs:(1−s)の比による補間で生成する。最後に、これらふたつの画像を(1−t):tの比による補間で生成する。
【0215】
図27は、符号化データのデータ構造を示す。符号化データ70は、画像データを識別するためのデータを格納するインデックス領域72と、各レイヤを認識するためのデータを格納するコンテンツヘッダ領域74と、各コンポーネントを格納するコンポーネント領域76と、を含み、それらの領域のデータが画像データの符号化データとして関連づけられている。
【0216】
コンポーネント領域76には、コンポーネント(1)をはじめとするレイヤ別の複数のコンポーネントが格納される。コンポーネント(1)には、パッケージ(1−1)、パッケージ(1−2)をはじめとして時系列的に関連づけられた複数のパッケージが含まれる。各パッケージは、キーフレーム、対応点情報、音声データなどで構成される。たとえば、パッケージ(1)において、キーフレーム(X)、キーフレーム(Y)、キーフレーム(Z)はX、Y、Zの3視点に対応するキーフレームである。対応点情報(1−2X)、対応点情報(1−2Y)、対応点情報(1−2Z)は、次の表示タイミングにおけるキーフレームとの対応点情報であって3視点のそれぞれに対応する。対応点情報(X−Y)、対応点情報(Y−Z)、対応点情報(Z−X)は、各視点間の対応点情報である。サウンド(1−1)は音声データである。
【0217】
なお、このようにキーフレームと音声データを特定の時間範囲ごとに分けて組み合わせることによって、再生時に画像と音声の同期がとられる。また、音声データもレイヤと対応がとられるので、レイヤごとに個別に音声のタイミングを設定できる上、画像と同様に所定のイベント検知を条件に音声を発する制御も可能となる。
【0218】
図28は、符号化データにおけるインデックス領域の構成を示す。この領域にはテーブル110に示される各項目とその値が記述される。例えば、項目112には画像データの符号化に用いられる符号化方式のバージョンが記述され、項目114には符号化データに音声データが含まれるか否かが記述される。項目116には画像データの著作権情報またはその情報へのリンクが記述され、項目118には画像データまたはその符号化データの作成日時が記述される。
【0219】
図29は、符号化データにおけるコンテンツヘッダ領域の構成を示す。この領域にはテーブル120に示される各項目とその値が記述される。例えば、項目122にはこの領域におけるヘッダ情報が記述され、項目124には画像データ全体の表示サイズが記述される。項目126には画像データ全体の表示時間が記述され、項目130には後続のコンポーネント数が記述される。項目132には各コンポーネントに対するリンクまたはシーク位置の情報が記述される。
【0220】
図30は、符号化データにおけるコンポーネントの構成を示す。各コンポーネントにはテーブル140に示される各項目とその値が記述される。例えば、項目142にはこのコンポーネントのヘッダ情報が記述され、項目144にはこのコンポーネントのIDが記述される。項目146にはコンポーネントの種別として、疑似3次元動画、2次元動画などの種類が記述される。項目148にはこのコンポーネントに対応するレイヤのIDが記述され、項目150にはこのコンポーネントを表示すべき座標が記述される。項目152にはこのコンポーネントの表示サイズが記述され、項目154にはこのコンポーネントの表示開始タイミングが記述される。項目156にはこのコンポーネントの表示時間が記述され、項目158にはこのコンポーネントに含まれるパッケージのうち初期的に表示すべきパッケージへのリンクまたはシーク位置の情報が記述される。
【0221】
項目160には後続のURLパッケージの数が記述され、項目162には視点間の距離が記述される。項目164には各視点が含まれる空間全体の座標軸サイズが記述され、項目166には初期的に表示する視点の座標が記述される。項目168には各パッケージへのリンクまたはシーク位置の情報が記述され、項目170には各URLパッケージへのリンクまたはシーク位置の情報が記述される。
【0222】
図31は、符号化データにおけるパッケージの構成を示す。ここにはテーブル180に示される各項目とその値が記述される。例えば、項目182にはこのパッケージのヘッダ情報が記述され、項目184にはこのパッケージを包含するコンポーネントのIDが記述される。項目186にはこのパッケージの時間情報が記述される。項目188には時間的に前のパッケージへの関連づけとしてリンクまたはシーク位置の情報が記述され、項目190には時間的に後のパッケージへの関連づけとしてリンクまたはシーク位置の情報が記述される。
【0223】
このパッケージに含まれるキーフレーム、対応点情報、音声データの数は、それぞれ項目192、194、196に記述される。また、各キーフレーム、各対応点情報、各音声データへのリンクまたはシーク位置の情報は、それぞれ項目198、200、202に記述される。
【0224】
図32は、符号化データにおけるキーフレーム領域の構成を示す。この領域にはテーブル210に示される各項目とその値が記述される。例えば、項目212にはこの領域におけるヘッダ情報が記述され、項目214にはこのキーフレームを包含するコンポーネントのIDが記述される。項目216にはこのキーフレームの画像形式が記述される。項目218にはキーフレームのデータ自体がこのパッケージに含まれているかまたはキーフレームへのリンクだけが含まれているかがデータ種別として記述される。項目220にはこのキーフレームの視点を他の視点と区別するためのIDが記述される。項目221にはこのキーフレームが透過画像であるか否かが記述される。項目222にはこのキーフレームを表示すべき位置を示す座標が記述され、項目224にはこのキーフレームの表示サイズが記述される。項目226にはこのキーフレームの視点位置が記述される。項目228にはこのキーフレームへのリンクまたはシーク位置の情報が記述され、項目230にはこのキーフレームのデータサイズが記述される。
【0225】
図33は、符号化データにおける対応点情報領域の構成を示す。この領域にはテーブル240に示される各項目とその値が記述される。例えば、項目242にはこの領域におけるヘッダ情報が記述され、項目244にはこの対応点情報を包含するコンポーネントのIDが記述される。項目246にはこの対応点情報のデータ形式が記述され、項目248にはこの対応点情報のデータ自体がこのパッケージに含まれているかまたは対応点情報へのリンクだけが含まれているかがデータ種別として記述される。項目250にはこの対応点情報によって扱われる画素サイズが記述される。項目252には始点画像となるキーフレームのIDが記述され、項目254には終点画像となるキーフレームのIDが記述される。項目256には対応点情報へのリンクまたはシーク位置の情報が記述され、項目258には対応点情報のデータサイズが記述される。
【0226】
図34は、符号化データにおける音声データ領域の構成を示す。この領域にはテーブル260に示される各項目とその値が記述される。例えば、項目262にはこの領域におけるヘッダ情報が記述され、項目264にはこの音声データを包含するコンポーネントのIDが記述される。項目266にはこの音声データのデータ形式が記述され、項目268にはこの音声データ自体がこのパッケージに含まれているかまたは音声データへのリンクだけが含まれているかがデータ種別として記述される。項目270には音声データへのリンクまたはシーク位置の情報が記述され、項目272には音声データのデータサイズが記述される。
【0227】
図35は、符号化データにおけるURLデータ領域の構成を示す。この領域にはテーブル280に示される各項目とその値が記述される。例えば、項目282にはこの領域におけるヘッダ情報が記述され、項目284にはこのURLデータが内包されるコンポーネントのIDが記述される。項目286にはこのURLデータのIDが記述され、項目288にはURLデータへのリンクまたはシーク位置の情報が記述され、項目290にはURLデータのデータサイズが記述される。
【0228】
図36は、符号化データにおける各領域のヘッダ情報の構成を示す。このヘッダ情報300は図29〜図34の各テーブルに含まれる情報である。項目302にはそのヘッダ情報が含まれる領域の種別として、コンテンツヘッダ領域、コンポーネント、パッケージ、キーフレーム領域、音声データ領域、URLデータ領域の別が記述される。項目304にはその領域のIDが記述され、項目306にはその領域のデータサイズが記述される。
【0229】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、変形例を挙げる。
【0230】
実施形態のひとつの変形例として、誤差制御の考え方を導入することができる。すなわち、符号化画像データを復号したとき、もとの画像データとの誤差をある範囲に抑える制御である。誤差の評価式として、ふたつの画像間において位置的に対応しあう画素の輝度値の差分の二乗和がある。この誤差をもとに、中間フレームおよびキーフレームの符号化方式や圧縮率を調節したり、キーフレームの選定をやりなおすことができる。たとえば、ある中間フレームに関する誤差が許容値を超えた場合、その中間フレームの近くにキーフレームを新設したり、その中間フレームをはさむふたつのキーフレームの間隔を狭めることができる。
【0231】
画像データ符号化装置10と画像データ復号装置50は一体化することができる。その場合、一体化された画像符号化・復号装置は、画像を符号化してストレージへ格納し、必要なときにそれを復号して表示等することができる。
【0232】
別の変形例として、符号化データにはキーフレーム、対応点情報、音声データの実データを含めずにそれらのリンクだけを含めてもよい。これらのデータのうちいずれかのみを含めない構成としてもよい。また、視点を単一にして時系列的なキーフレームおよび対応点情報だけを含む形式で符号化データを生成してもよいし、逆に複数視点のキーフレームおよびその視点間の対応点情報だけを含んで時系列的な対応点情報をもたない形式で符号化データを生成してもよい。符号化データの構成については当業者に理解されるごとく相当の自由度があり、それらも実施の形態の変形例とする。
【0233】
実施の形態では、画素単位のマッチングを中心に説明した。しかし、本発明の画像データ符号化技術はそれに限られない。キーフレーム間でブロックマッチングがなされてもよいし、その他、中間フレームを生成する任意の線形、非線形処理を適用してよい。復号側についても同様のことがいえるが、実装上のひとつのポイントは、符号化側と復号側が原則として同じ方法で得られた中間フレームを想定する点にある。ただし、それとても絶対ではなく、復号側が符号化の際の規則を認識して対応するか、符号化側が復号側の処理を想定して符号化に配慮すればよい。
【図面の簡単な説明】
【図1】図1(a)とは図1(b)は、ふたりの人物の顔に平均化フィルタを施して得られる画像、図1(c)と図1(d)は、ふたりの人物の顔に関して前提技術で求められるp(5,0)の画像、図1(e)と図1(f)は、ふたりの人物の顔に関して前提技術で求められるp(5,1)の画像、図1(g)と図1(h)は、ふたりの人物の顔に関して前提技術で求められるp(5,2)の画像、図1(i)と図1(j)は、ふたりの人物の顔に関して前提技術で求められるp(5,3)の画像をそれぞれディスプレイ上に表示した中間調画像の写真である。
【図2】図2(R)はもとの四辺形を示す図、図2(A)、図2(B)、図2(C)、図2(D)、図2(E)はそれぞれ相続四辺形を示す図である。
【図3】始点画像と終点画像の関係、および第mレベルと第m−1レベルの関係を相続四辺形を用いて示す図である。
【図4】パラメータηとエネルギーCfの関係を示す図である。
【図5】図5(a)、図5(b)は、ある点に関する写像が全単射条件を満たすか否かを外積計算から求める様子を示す図である。
【図6】前提技術の全体手順を示すフローチャートである。
【図7】図6のS1の詳細を示すフローチャートである。
【図8】図7のS10の詳細を示すフローチャートである。
【図9】第mレベルの画像の一部と、第m−1レベルの画像の一部の対応関係を示す図である。
【図10】前提技術で生成された始点階層画像を示す図である。
【図11】図6のS2に進む前に、マッチング評価の準備の手順を示す図である。
【図12】図6のS2の詳細を示すフローチャートである。
【図13】第0レベルにおいて副写像を決定する様子を示す図である。
【図14】第1レベルにおいて副写像を決定する様子を示す図である。
【図15】図12のS21の詳細を示すフローチャートである。
【図16】あるf(m,s)についてλを変えながら求められたf(m,s)(λ=iΔλ)に対応するエネルギーC(m,s) fの挙動を示す図である。
【図17】ηを変えながら求められたf(n)(η=iΔη)(i=0,1,…)に対応するエネルギーC(n) fの挙動を示す図である。
【図18】改良後の前提技術において第mレベルにおける副写像を求めるフローチャートである。
【図19】実施の形態に係る画像データ符号化装置の構成図である。
【図20】実施の形態に係る画像データ符号化装置による処理を示すフローチャートである。
【図21】図21(a)〜21(d)は、実施の形態において画像データをオブジェクトごとに複数のレイヤに分離する処理を模式的に示す図である。
【図22】図22(a)〜22(e)は、実施の形態において複数の視点間で空間的な中間フレームを生成する処理を模式的に示す図である。
【図23】実施の形態に係る画像データ復号装置の構成図である。
【図24】実施の形態に係る画像データ復号装置による処理を示すフローチャートである。
【図25】実施の形態において生成すべき空間的な中間フレームとそのもとになるキーフレームの位置関係を概念的に示す図である。
【図26】実施の形態において実施される補間処理の方法を示す図である。
【図27】実施の形態に係る符号化データのデータ構造を示す図である。
【図28】実施の形態に係る符号化データにおけるインデックス領域の構成を示す図である。
【図29】実施の形態に係る符号化データにおけるコンテンツヘッダ領域の構成を示す図である。
【図30】実施の形態に係る符号化データにおけるコンポーネント領域の構成を示す図である。
【図31】実施の形態に係る符号化データにおけるパッケージ領域の構成を示す図である。
【図32】実施の形態に係る符号化データにおけるキーフレーム領域の構成を示す図である。
【図33】実施の形態に係る符号化データにおける対応点情報領域の構成を示す図である。
【図34】実施の形態に係る符号化データにおける音声データ領域の構成を示す図である。
【図35】実施の形態に係る符号化データにおけるURLデータ領域の構成を示す図である。
【図36】実施の形態に係る符号化データにおける各領域のヘッダの構成を示す図である。
【符号の説明】
10 画像データ符号化装置、 12 キーフレーム設定部、 20 マッチング計算部、 26 パッケージ設定部、 28 関連記述部、 30 コンポーネント設定部、 32 符号化データ生成部、 50 画像データ復号装置、52 キーフレーム検出部、 54 フレームレート設定部、 56 中間フレーム生成部、 62 復号データ生成部、 70 符号化データ、 72 インデックス領域、 74 コンテンツヘッダ領域、 76 コンポーネント。
Claims (13)
- オブジェクト別のレイヤごとに個別の間隔で設定される複数のキーフレームとその表示タイミングを示す時間情報とを組み合わせ、その組み合わせを時系列的に複数関連づけることによって生成されるレイヤ別のコンポーネントを、後に前記複数のキーフレーム間で画素単位のマッチング計算によって得られる対応点情報をもとに中間フレームを生成することを前提とした符号化データとして出力することを特徴とする画像データ符号化方法。
- オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の間隔で複数のキーフレームを設定する工程と、
前記複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成する工程と、
前記キーフレームとその表示タイミングを示す時間情報と前記対応点情報を組み合わせたパッケージを記憶する工程と、
前記パッケージを時系列的に前後のパッケージへ関連づける工程と、
前記関連づけられた複数のパッケージをレイヤごとに集合させてコンポーネントを生成する工程と、
すべてのレイヤのコンポーネントを集合させて前記画像データの符号化データとして出力する工程と、
を含むことを特徴とする画像データ符号化方法。 - オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の表示タイミングにて複数のキーフレームを設定するキーフレーム設定部と、
前記複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成するマッチング計算部と、
前記キーフレームとその表示タイミングを示す時間情報と前記対応点情報を組み合わせたパッケージを記憶するパッケージ設定部と、
前記パッケージに対して時系列的に前後のパッケージへの関連づけを記述する関連記述部と、
前記パッケージをレイヤごとに集合させてコンポーネントを生成するコンポーネント設定部と、
すべてのレイヤのコンポーネントを集合させて符号化データとして出力する符号化データ生成部と、
を含むことを特徴とする画像データ符号化装置。 - 前記キーフレーム設定部は、一つのオブジェクトを複数の視点から同時に捉えた複数の画像を前記オブジェクトが含まれるレイヤにおける複数のキーフレームとして設定し、
前記マッチング計算部は、前記複数の視点から捉えたキーフレーム間で前記対応点情報を生成すること特徴とする請求項3に記載の画像データ符号化装置。 - 前記キーフレーム設定部は、前記レイヤごとに個別の表示開始タイミングを設定することを特徴とする請求項3または4に記載の画像データ符号化装置。
- オブジェクト別のレイヤごとに個別の間隔で設定される複数のキーフレームとその表示タイミングを示す時間情報との組み合わせによって生成されるレイヤ別のコンポーネントを取得し、前記複数のキーフレーム間で画素単位のマッチング計算によって得られる対応点情報をもとに中間フレームを生成し、前記キーフレームと前記中間フレームを組み合わせて復号データとして出力することを特徴とする画像データ復号方法。
- オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データから前記レイヤごとに個別の間隔で設定された複数のキーフレームを検出する工程と、
前記キーフレームの間における画素単位のマッチングによって得られた対応点情報をもとに、前記レイヤごとに個別のフレームレートにて中間フレームを生成する工程と、
前記キーフレームと前記中間フレームの組み合わせを復号データとして出力する工程と、
を含むことを特徴とする画像データ復号方法。 - オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データから前記レイヤごとに個別の間隔で設定された複数のキーフレームを検出するキーフレーム検出部と、
前記レイヤごとに個別のフレームレートを決定するフレームレート設定部と、
前記キーフレームの間における画素単位のマッチングによって得られた対応点情報をもとに前記フレームレートにて時系列的な中間フレームを生成する中間フレーム生成部と、
前記キーフレームと前記時系列的な中間フレームの組み合わせを復号データとして出力する復号データ生成部と、
を含むことを特徴とする画像データ復号装置。 - 前記キーフレーム検出部は、一つのオブジェクトを複数の視点から同時に捉えた複数の画像を前記複数のキーフレームとして検出し、
前記中間フレーム生成部は、前記複数の視点間における中間視点から捉えられる画像を表示すべき旨の指示が与えられたときに、位置的に隣接する視点のキーフレーム間における画素単位のマッチングによって得られた対応点情報をもとにその中間視点のキーフレームを生成することを特徴とする請求項8に記載の画像データ復号装置。 - 前記復号データ生成部は、前記複数のレイヤのうちいずれかのレイヤにおける前記復号データの出力を所定のイベントの検知を条件に開始することを特徴とする請求項8または9に記載の画像データ復号装置。
- オブジェクト単位で分離される複数のレイヤを含んだ画像データにおいてそのレイヤごとに個別の間隔で複数のキーフレームを設定する工程と、
前記複数のキーフレーム間で画素単位のマッチングを計算して対応点情報を生成する工程と、
前記キーフレームとその表示タイミングを示す時間情報と前記対応点情報を組み合わせたパッケージを記憶する工程と、
前記パッケージを時系列的に前後のパッケージへ関連づける工程と、
前記関連づけられた複数のパッケージをレイヤごとに集合させてコンポーネントを生成する工程と、
すべてのレイヤのコンポーネントを集合させて前記画像データの符号化データとして出力する工程と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。 - オブジェクト単位で分離される複数のレイヤを含んだ画像データの符号化データから前記レイヤごとに個別の間隔で設定された複数のキーフレームを検出する工程と、
前記キーフレームの間における画素単位のマッチングによって得られた対応点情報をもとに、前記レイヤごとに個別のフレームレートにて中間フレームを生成する工程と、
前記キーフレームと前記中間フレームの組み合わせを復号データとして出力する工程と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。 - 画像データを識別するためのデータを格納するインデックス領域と、
オブジェクト単位で分離された複数のレイヤを認識するためのデータを格納するコンテンツヘッダ領域と、
前記レイヤごとに個別の間隔で設定された複数のキーフレームを含んだコンポーネントを格納するコンポーネント領域と、
を含み、それらの領域のデータが前記画像データの符号化データとして関連づけられているとともに、前記コンポーネント領域には、
前記キーフレームの表示タイミングを示す時間情報と、
前記複数のキーフレーム間における画素単位のマッチングを計算して得られる対応点情報と、
をさらに格納することを特徴とするデータ構造。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002199318A JP2004048116A (ja) | 2002-07-08 | 2002-07-08 | 画像データ符号化および復号のための方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002199318A JP2004048116A (ja) | 2002-07-08 | 2002-07-08 | 画像データ符号化および復号のための方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004048116A true JP2004048116A (ja) | 2004-02-12 |
Family
ID=31706490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002199318A Pending JP2004048116A (ja) | 2002-07-08 | 2002-07-08 | 画像データ符号化および復号のための方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004048116A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008503973A (ja) * | 2004-06-25 | 2008-02-07 | エルジー エレクトロニクス インコーポレイティド | 多視点シーケンス符号化/復号化方法及びそのディスプレイ方法 |
JP2009237747A (ja) * | 2008-03-26 | 2009-10-15 | Denso Corp | データポリモーフィング方法及びデータポリモーフィング装置 |
JP2014529930A (ja) * | 2011-08-05 | 2014-11-13 | フォックス スポーツ プロダクションズ,インコーポレイティッド | ネイティブ画像の一部の選択的キャプチャとその表示 |
JP2016158138A (ja) * | 2015-02-25 | 2016-09-01 | 沖電気工業株式会社 | 仮想視点画像生成装置及びプログラム |
US11039109B2 (en) | 2011-08-05 | 2021-06-15 | Fox Sports Productions, Llc | System and method for adjusting an image for a vehicle mounted camera |
US11159854B2 (en) | 2014-12-13 | 2021-10-26 | Fox Sports Productions, Llc | Systems and methods for tracking and tagging objects within a broadcast |
US11758238B2 (en) | 2014-12-13 | 2023-09-12 | Fox Sports Productions, Llc | Systems and methods for displaying wind characteristics and effects within a broadcast |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09330563A (ja) * | 1996-06-07 | 1997-12-22 | Sony Corp | データ多重化方法および記録媒体 |
JPH10164394A (ja) * | 1996-12-02 | 1998-06-19 | Hitachi Ltd | 情報伝送方法及び情報記録方法と該方法を実施する装置 |
JP2000322576A (ja) * | 1999-05-11 | 2000-11-24 | Toshiba Corp | 3次元画像データ作成方法および3次元画像データを用いた任意視点画像作成方法 |
JP2002056392A (ja) * | 2000-05-11 | 2002-02-20 | Toshiba Corp | 物体領域情報記述方法、物体領域情報生成装置、及び物体領域情報記述プログラム |
JP2002095011A (ja) * | 2000-09-12 | 2002-03-29 | Monolith Co Ltd | 疑似3次元画像生成方法および装置 |
-
2002
- 2002-07-08 JP JP2002199318A patent/JP2004048116A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09330563A (ja) * | 1996-06-07 | 1997-12-22 | Sony Corp | データ多重化方法および記録媒体 |
JPH10164394A (ja) * | 1996-12-02 | 1998-06-19 | Hitachi Ltd | 情報伝送方法及び情報記録方法と該方法を実施する装置 |
JP2000322576A (ja) * | 1999-05-11 | 2000-11-24 | Toshiba Corp | 3次元画像データ作成方法および3次元画像データを用いた任意視点画像作成方法 |
JP2002056392A (ja) * | 2000-05-11 | 2002-02-20 | Toshiba Corp | 物体領域情報記述方法、物体領域情報生成装置、及び物体領域情報記述プログラム |
JP2002095011A (ja) * | 2000-09-12 | 2002-03-29 | Monolith Co Ltd | 疑似3次元画像生成方法および装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008503973A (ja) * | 2004-06-25 | 2008-02-07 | エルジー エレクトロニクス インコーポレイティド | 多視点シーケンス符号化/復号化方法及びそのディスプレイ方法 |
JP2011109690A (ja) * | 2004-06-25 | 2011-06-02 | Lg Electronics Inc | 多視点シーケンス符号化/復号化方法及びそのディスプレイ方法 |
JP2009237747A (ja) * | 2008-03-26 | 2009-10-15 | Denso Corp | データポリモーフィング方法及びデータポリモーフィング装置 |
JP2014529930A (ja) * | 2011-08-05 | 2014-11-13 | フォックス スポーツ プロダクションズ,インコーポレイティッド | ネイティブ画像の一部の選択的キャプチャとその表示 |
US10939140B2 (en) | 2011-08-05 | 2021-03-02 | Fox Sports Productions, Llc | Selective capture and presentation of native image portions |
US11039109B2 (en) | 2011-08-05 | 2021-06-15 | Fox Sports Productions, Llc | System and method for adjusting an image for a vehicle mounted camera |
US11490054B2 (en) | 2011-08-05 | 2022-11-01 | Fox Sports Productions, Llc | System and method for adjusting an image for a vehicle mounted camera |
US11159854B2 (en) | 2014-12-13 | 2021-10-26 | Fox Sports Productions, Llc | Systems and methods for tracking and tagging objects within a broadcast |
US11758238B2 (en) | 2014-12-13 | 2023-09-12 | Fox Sports Productions, Llc | Systems and methods for displaying wind characteristics and effects within a broadcast |
JP2016158138A (ja) * | 2015-02-25 | 2016-09-01 | 沖電気工業株式会社 | 仮想視点画像生成装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002271795A (ja) | 画像符号化方法と装置および画像復号方法と装置 | |
JP2008252860A (ja) | 画像処理方法及び画像処理装置 | |
JP2003018602A (ja) | 画像データ符号化および復号のための方法および装置 | |
JP2002271788A (ja) | 画像符号化方法と装置および画像復号方法および装置 | |
JP3877651B2 (ja) | 画像処理方法と装置 | |
JP4050472B2 (ja) | 画像生成方法、装置およびシステム | |
JP4157686B2 (ja) | 画像符号化および復号のための方法および装置 | |
JP2004048116A (ja) | 画像データ符号化および復号のための方法および装置 | |
JP4039858B2 (ja) | 画像マッチング方法と装置、および画像符号化方法と装置 | |
JP2003037842A (ja) | 画像符号化方法、復号方法および画像符号化装置、復号装置 | |
JP2002259979A (ja) | 画像補間方法と装置、および画像処理方法と装置 | |
JP2002190020A (ja) | 映像効果方法および装置 | |
JP2007122751A (ja) | 画像処理のための方法、装置、プログラム | |
JP2002232838A (ja) | デジタルカメラ | |
JP2002230575A (ja) | 映像効果方法および装置 | |
US6959040B2 (en) | Method and apparatus for coding and decoding image data with synchronized sound data | |
JP3773417B2 (ja) | 画像データ符号化および復号のための方法および装置 | |
JP4524412B2 (ja) | 画像符号化方法、復号方法および画像符号化装置、復号装置 | |
JP3839353B2 (ja) | 画像符号化方法と装置および画像復号方法および装置 | |
JP2002230572A (ja) | 映像効果方法と装置および画像補間方法と装置 | |
JP2004048595A (ja) | 画像符号化方法および装置 | |
JP2004015445A (ja) | 画像データ符号化および復号のための方法および装置 | |
JP2003032687A (ja) | 画像処理方法および装置 | |
JP2004048496A (ja) | 画像符号化方法および装置、画像復号方法および装置と、画像配信装置 | |
JP2009003656A (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090127 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090602 |