(57)【要約】【課題】階層的な参照構造を持つ動画像の動きベクトルを利用して画像間の対応付けの精度を向上させる。【解決手段】この発明に係る画像対応付け装置は、複数の画像が階層的な参照構造で符号化された動画像を符号化する際に得られる動きベクトルを利用して画像の対応付けを行うものであって、複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索部と、符号化情報と画像と動きベクトル検索部が検索した動きベクトルの指示関係に基づいて、動きベクトルの投票値を決定する投票値決定部と、投票値決定部が決定した動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票された各位置の合計投票値に基づいて基準画像上の対応点を決定する投票部とを備えた。【選択図】          図１
2014207554.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像が階層的な参照構造で符号化された動画像を符号化する際に得られる動きベクトルを利用して画像の対応付けを行う画像対応付け装置であって、
前記複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索部と、
前記複数の画像とそれらの符号化情報と前記動きベクトル検索部が検索した前記動きベクトルの指示関係に基づいて、前記動きベクトルの投票値を決定する投票値決定部と、
前記投票値決定部が決定した前記動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票値を集約した各位置の集約投票値に基づいて基準画像上の対応点を決定する投票部と
を備えた画像対応付け装置。
【請求項２】
前記投票値決定部は、前記動きベクトルごとの投票値に対して指標に基づく補正を適用して当該動きベクトルの投票値を決定する請求項１に記載の画像対応付け装置。
【請求項３】
前記投票値決定部は、前記動きベクトルごとの投票値に対して複数の指標のそれぞれに基づいて補正し、それらを重み付けて平均する補正を適用して当該動きベクトルの投票値を決定する請求項１に記載の画像対応付け装置。
【請求項４】
前記投票部が決定した前記基準画像上の対応点の集約投票値から対応関係の信頼性を判定し、その判定結果を出力する判定部
を備えた請求項１ないし請求項３のいずれか１項に記載の画像対応付け装置。
【請求項５】
前記判定部は、前記投票部が決定した前記基準画像上の対応点の集約投票値を閾値と比較して対応関係の信頼性を判定する請求項４記載の画像対応付け装置。
【請求項６】
複数の画像が階層的な参照構造で符号化された動画像を符号化する際に得られる動きベクトルを利用して画像の対応付けを行う画像対応付け方法であって、
前記複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索ステップと、
前記複数の画像とそれらの符号化情報と前記動きベクトル検索ステップで検索された前記動きベクトルの指示関係に基づいて、前記動きベクトルの投票値を決定する投票値決定ステップと、
前記投票値決定ステップで決定された前記動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票値を集約した各位置の集約投票値に基づいて基準画像上の対応点を決定する投票ステップと
を有する画像対応付け方法。
【請求項７】
前記投票ステップで決定された前記基準画像上の対応点の集約投票値から対応関係の信頼性を判定し、その判定結果を出力する判定ステップ
を有する請求項６に記載の画像対応付け方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の画像間で同一の箇所を見つけて対応付ける画像対応付け装置および方法に関するものである。
【背景技術】
【０００２】
複数の画像間で同一の箇所を写している点を見つける画像の対応付けは、映像のブレ補正、パノラマ写真生成、超解像、デプス推定、３次元形状復元など、多くのアプリケーションで必要となる基礎技術である。図１９は、一般的な画像の対応付けの一例である。しかし、一般に画像の対応付けに要する演算量は大きく、これらのアプリケーションの適用範囲を狭める原因となっている。
【０００３】
例えば、動画像の撮影に利用されるカメラなども含めた画像符号化装置では、記録時に動画像符号化処理が適用されてデータ量の削減が行われる。従来、ＭＰＥＧやＩＴＵ−Ｔ  Ｈ．２６ｘ等の国際標準動画像符号化方式では、時間的な相関を利用する画像フレーム間の予測（以下、インター予測という）および空間的な相関を利用する画像フレーム内の予測（以下、イントラ予測という）によって画像ブロック等の単位で予測処理を行い、原画像と予測画像との誤差である予測残差のみを伝送することで情報量を大きく削減している。
【０００４】
ここで、インター予測では、符号化対象となる画像（符号化対象ピクチャ）のブロック（符号化対象ブロック)と似通ったブロック（参照ブロック）をすでに符号化された画像（参照ピクチャ）から探索する処理が符号化時に実施され、２枚の画像間での画像ブロックの移動量を表す動きベクトルを算出する。
【０００５】
図２０は、符号化時に複数の参照ブロックに対する動きベクトルの候補が見つかった場合の一例である。ここでは、２つの動きベクトルが候補として見つかった場合を示しており、候補の中から最適な動きベクトルを決定する一般的な方法を説明する。２つの動きベクトルの候補をｍｖＡとｍｖＢとすると、被写体（車）の実際の運動を表しているベクトルはｍｖＡであり、画像の対応付けに利用すべきベクトルといえる。符号化においては、ベクトルを選択する際、各ベクトルに対して評価値が計算される。ベクトルの評価値としては、対応させるブロック内の各画素値の差分絶対値和ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）と水平方向および垂直方向のベクトルの絶対値の和を計算した符号化コストなどが考えられる（例えば非特許文献１）。例えば、２つのベクトルｍｖＡ、ｍｖＢの符号化コストは、それぞれ次のように求めることができる。
【０００６】
（ｍｖＡのコスト）＝ＳＡＤ＋ａｂｓ（ｍｖＡ＿ｘ）＋ａｂｓ（ｍｖＡ＿ｙ）
＝１０＋３０＋０＝４０
（ｍｖＢのコスト）＝ＳＡＤ＋ａｂｓ（ｍｖＢ＿ｘ）＋ａｂｓ（ｍｖＢ＿ｙ）
＝２０＋５＋５＝３０
【０００７】
ここで、ａｂｓ（ｓ）は数値ｓの絶対値を返す関数であり、またｍｖＡ＿ｘとｍｖＢ＿ｘおよびｍｖＡ＿ｙとｍｖＢ＿ｙはそれぞれのベクトルの水平成分および垂直成分である。
【０００８】
このように、符号化時に複数の動きベクトルの候補があるとき、符号化コストが小さいベクトルを選択することが符号化効率を向上させることになるため、この例では被写体の実際の運動を表していないにもかかわらず、ｍｖＢが最適な動きベクトルとして選択されてしまう。符号化における動きベクトルの選択は、符号化対象ピクチャと参照ピクチャとの間で画像の対応付けを実施しているといえるが、符号化効率の観点から選択された動きベクトルを単に画像の対応付けに利用するだけでは、追加の演算を必要としない簡易さはあるが、誤った対応関係が導かれてしまうことがある。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】大久保榮（監修）、角野眞也、菊池義浩、鈴木輝彦（共著）「Ｈ．２６４／ＡＶＣ教科書」、インプレスＲ＆Ｄ、２００６年、ｐ．２０６〜ｐ．２０８
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来の画像符号化装置では、動画像を符号化する際に得られる動きベクトルを利用して、画素値の差分のみでなくベクトルの大きさなども考慮して伝送する符号量を最小化するように動きベクトルを決定しているので、動きベクトルをそのまま利用して画像を対応付けようとしたのでは対応付けられる点は必ずしも被写体の同じ点を指し示すことができないという問題があった。
【００１１】
この発明は、上記のような問題点を解決するためになされたもので、階層的な参照構造によって符号化された動画像から得られる複数の動きベクトルの一貫性を評価することで、動きベクトルによる画像間の対応付けの信頼性を推定し、信頼性の高い対応関係のみを利用することで画像間の対応付けの精度を向上させた画像対応付け装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係る画像対応付け装置は、複数の画像が階層的な参照構造で符号化された動画像を符号化する際に得られる動きベクトルを利用して画像の対応付けを行う画像対応付け装置であって、前記複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索部と、符号化情報と画像と前記動きベクトル検索部が検索した前記動きベクトルの指示関係に基づいて、前記動きベクトルの投票値を決定する投票値決定部と、前記投票値決定部が決定した前記動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票された各位置の合計投票値に基づいて基準画像上の対応点を決定する投票部とを備えた。
【発明の効果】
【００１３】
このように、この発明に係る画像対応付け装置および方法によれば、複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索部と、複数の画像とそれらの符号化情報と動きベクトル検索部が検索した動きベクトルの指示関係に基づいて、動きベクトルの投票値を決定する投票値決定部と、投票値決定部が決定した動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票値を集約した各位置の集約投票値に基づいて基準画像上の対応点を決定する投票部とを備え、階層的な参照構造によって符号化された動画像の複数の動きベクトルの一貫性を投票によって定量化することで対応付けるようにしたので、単に一つの動きベクトルを用いて対応付けを行う場合に比べて対応付けの信頼性を向上させることができる。
【００１４】
また、この発明に係る画像対応付け装置および方法によれば、さらに投票部が決定した基準画像上の対応点の集約投票値から対応関係の信頼性を判定し、その判定結果を出力する判定部を備え、階層的な参照構造によって符号化された動画像の複数の動きベクトルの一貫性を投票によって定量化した後、対応付けの信頼性を判定するようにしたので、信頼性の程度を評価して信頼性が低い対応付けを排除することができる。
【図面の簡単な説明】
【００１５】
【図１】この発明の実施の形態１に係る画像対応付け装置の構成を示すブロック図である。
【図２】動画像を構成するピクチャ間の参照階層構造の一例を示す図である。
【図３】この発明の実施の形態１に係る動画像を構成するピクチャ間の動きベクトルを利用した信頼性が高い画像の対応付けの一例を示す図である。
【図４】この発明の実施の形態１に係る動画像を構成するピクチャ間の動きベクトルを利用した信頼性が低い画像の対応付けの一例を示す図である。
【図５】この発明の実施の形態１に係る画像対応付け装置の動作の一例を示すフローチャートである。
【図６】この発明の実施の形態１に係る画像の対応付けを行う座標の指定例を示す図である。
【図７】この発明の実施の形態１に係る動画像を構成する階層的なピクチャ間の動きベクトルを利用した画像の対応付けの過程の一例を示す図（その１）である。
【図８】この発明の実施の形態１に係る動画像を構成する階層的なピクチャ間の動きベクトルを利用した画像の対応付けの過程の一例を示す図（その２）である。
【図９】この発明の実施の形態１に係る動画像を構成する階層的なピクチャ間の動きベクトルを利用した画像の対応付けの過程の一例を示す図（その３）である。
【図１０】この発明の実施の形態１に係る動画像を構成する階層的なピクチャ間の動きベクトルを利用した画像の対応付けの過程の一例を示す図（その４）である。
【図１１】この発明の実施の形態１に係る画像の対応ブロックと周囲のブロックの関係の一例を示す図である。
【図１２】この発明の実施の形態１に係る階層的なピクチャが持つ動きベクトルの投票の過程の一例を示す図（その１）である。
【図１３】この発明の実施の形態１に係る階層的なピクチャが持つ動きベクトルの投票の過程の一例を示す図（その２）である。
【図１４】この発明の実施の形態１に係る階層的なピクチャが持つ動きベクトルの投票の過程の一例を示す図（その３）である。
【図１５】この発明の実施の形態１に係る階層的なピクチャが持つ動きベクトルの投票の過程の一例を示す図（その４）である。
【図１６】この発明の実施の形態１に係る動きベクトルが指し示す座標と投票の一例を示す説明図である（その１）。
【図１７】この発明の実施の形態１に係る動きベクトルが指し示す座標と投票の一例を示す説明図である（その２）。
【図１８】この発明の実施の形態１に係る対応点の追跡の一例を示す概念図である。
【図１９】一般的な画像の対応付けの一例である。
【図２０】符号化時に複数の参照ブロックに対する動きベクトルの候補が見つかった場合の一例である。
【発明を実施するための形態】
【００１６】
実施の形態１．
この発明の実施の形態１では、符号化された映像シーケンスを構成する各ピクチャの階層参照関係に基づいて符号化時に選択された動きベクトルの一貫性を利用して信頼性の高い画像の対応付けを行う画像対応付け装置を説明する。
【００１７】
図１は、この発明の実施の形態１に係る画像対応付け装置の構成を示すブロック図である。この発明は、画像符号化装置あるいは画像復号装置の一部として実現してもよいし、画像符号化装置あるいは画像復号装置からの情報を受け取る独立した装置として実現してもよい。この発明の実施の形態１に係る画像対応付け装置は、動きベクトル検索部１、投票値決定部２、係数保持部３、投票部４、判定部５、閾値保持部６から構成される。
【００１８】
図において、動きベクトル検索部１は、複数の画像間における動きベクトルの指示関係を検索する。投票値決定部２は、複数の画像とそれらの符号化情報と動きベクトル検索部が検索した動きベクトルの指示関係に基づいて、動きベクトルの投票値ｖを決定する。投票部４は、投票値決定部２が決定した動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票値を集約した各位置の集約投票値に基づいて基準画像上の対応点を決定する。判定部５は、投票部４が決定した基準画像上の対応点の集約投票値から対応関係の信頼性を判定し、その判定結果と基準画像上の対応点の座標を出力する。係数保持部３は、投票値決定部２が決定する投票値ｖの決定のための係数値やパラメータを保持する。この係数保持部３は、投票値決定部２に内包されてもよい。閾値保持部６は、判定部５が投票値と比較する閾値を保持する。この閾値保持部６は、判定部５に内包されてもよい。
【００１９】
ここで、この発明の実施の形態１に係る画像対応付け装置による画像の対応付けの概念を説明する。
【００２０】
図２は、動画像を構成するピクチャ間の参照階層構造の一例を示す図である。図において、平行四辺形はピクチャ、その内部の数字は符号化順序、また括弧内の数字は出力順序を表している。ＰＯＣ（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）ｎのピクチャは、ｎ番目（ｎは０以上の整数）に出力されるピクチャとなる。図中の矢印は、例えば、ＰＯＣ０のピクチャは、ＰＯＣ１、２、４、８の４枚のピクチャから参照される参照ピクチャであることを示す。このような参照の階層構造の構成単位となる一連のピクチャの集合をＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）と呼ぶ。ここでは、ＰＯＣ０はフレーム内符号化画像であるＩピクチャ（Ｉｎｔｒａ  Ｐｉｃｔｕｒｅ）、ＰＯＣ１〜ＰＯＣ７は双方向予測符号化画像であるＢピクチャ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  Ｐｉｃｔｕｒｅ）、ＰＯＣ８は順方向予測符号化画像であるＰピクチャ（Ｐｒｅｄｉｃｔｉｖｅ  Ｐｉｃｔｕｒｅ）またはＢピクチャを用いて符号化された動画像として説明する。ＰＯＣ１〜ＰＯＣ７（またはＰＯＣ１〜ＰＯＣ８）のＢピクチャは、階層的な参照構造を持つ階層Ｂピクチャをなす。階層ＢピクチャではＢピクチャでのピクチャ参照が入れ子的に行われる。このような階層的な参照構造によって符号化された動画像を利用すれば、ＰＯＣ０とＰＯＣ１、ＰＯＣ０とＰＯＣ２、ＰＯＣ０とＰＯＣ４、ＰＯＣ０とＰＯＣ８というように一つの参照ピクチャに対して複数のピクチャに対する動きベクトルを得ることができる。なお、時間的に前方向を指す動きベクトルをＬ０ベクトル、後方向を指す動きベクトルをＬ１ベクトルと呼ぶ。なお、ここではＰＯＣ０からＰＯＣ８のピクチャによる階層的な参照構造を持つ場合について説明するが、この枚数のピクチャによる階層的な参照構造に限るものではない。
【００２１】
ここで、ある２枚の画像間の動きベクトルによる対応付けの信頼性が高ければ、時間的にその２枚の画像の間に存在している画像が持つ動きベクトルも同じ点を一貫して指し続けると考えられる。この発明では、階層的な参照構造によって符号化された動画像から得られる複数の動きベクトルの一貫性を評価することで、動きベクトルによる画像間の対応付けの信頼性を推定し、高信頼な対応関係のみを利用して画像間の対応付けを行う。
【００２２】
図３、図４は、この発明の実施の形態１に係る動画像を構成するピクチャ間の動きベクトルを利用した信頼性の異なる画像の対応付けの一例を示す図である。ここでは、図２に示す階層Ｂピクチャにおいて、ＰＯＣ０とＰＯＣ８の間で動きベクトルを利用した画像の対応付けを実施する場合について説明する。
【００２３】
まず、図３に示すように、例えばＰＯＣ８上で任意の点を選択し、その点を含む符号化ブロックをブロックＡとする。このブロックＡは、ＰＯＣ０を参照ピクチャとして動きベクトルｍｖＡ＿Ｌ０を持ち、ｍｖＡ＿Ｌ０が指すＰＯＣ０上のブロックをブロックＣとする。次に、ＰＯＣ８を参照ピクチャとするＰＯＣ４において、ブロックＡを指す動きベクトルを持つブロックを検索し、これをブロックＢとする。このブロックＢは、ＰＯＣ０を参照ピクチャとして動きベクトルｍｖＢ＿Ｌ０を持ち、ＰＯＣ８を参照ピクチャとして動きベクトルｍｖＢ＿Ｌ１を持つとする。
【００２４】
ここで、ＰＯＣ０とＰＯＣ８の間の対応関係（ブロックＡ−Ｃ間）の信頼性が高いと判断される場合、図３に示すように、ｍｖＢ＿Ｌ０はブロックＣを指し、ｍｖＢ＿Ｌ１はブロックＡを指すように一貫性がある参照構造が閉じた状態で示されることになる。一方、ＰＯＣ０とＰＯＣ８の間の対応関係の信頼性が低いと判断される場合、図４に示すように、例えばｍｖＡ＿Ｌ０はブロックＣ１を指しているのに対して、ｍｖＢ＿Ｌ０はブロックＣ１と著しく異なるブロックＣ２を指すように一貫性がなく参照構造が閉じない状態で示されることになる。
【００２５】
この発明では、複数の動きベクトルが指す位置の一貫性を評価するため、各動きベクトルが指す位置に対して投票を実施する。そして、投票値によって動きベクトルの一貫性を定量化し、投票値に閾値を設けることで動きベクトルによる対応付けの結果が信頼できるかどうかを判定する。
【００２６】
次に、この発明の実施の形態１に係る画像対応付け装置の各部の詳細な動作について、説明する。図５は、この発明の実施の形態１に係る画像対応付け装置の動作の一例を示すフローチャートである。図２に示す階層Ｂピクチャにおいて、ＰＯＣ０とＰＯＣ８の間で対応付けを行う場合を例として説明する。
【００２７】
最初にステップＳＴ１０１に示す動きベクトル検索部１による動きベクトル検索の動作について説明する。動きベクトル検索部１では、複数の画像間で動きベクトルがどのような指示関係にあるのかを求める。ここで、複数の画像とは、例えば一つあるいは複数のＧＯＰ内の全ての画像である。まず、ベクトル追跡部１は、対応付けを行うピクチャ番号（例えばＰＯＣ０とＰＯＣ８）、対応付けを行う座標（例えばＰＯＣ８上の点）、複数の画像間の全ての動きベクトルの情報等を入力として受け取る。対応付けを行うピクチャ番号と座標は、ユーザが指定してもよいし、自動的に指定されたものでもよい。
【００２８】
ここで、対応付けを行うピクチャ番号を自動で指定する一例を説明する。例えば図２で説明したように１単位のＧＯＰの構造が与えられ、複数のＧＯＰが連続して構成される場合、ＰＯＣ０とＰＯＣ８、ＰＯＣ８とＰＯＣ１６、ＰＯＣ１６とＰＯＣ２４、というように等間隔で指定するようにしてもよい。
【００２９】
また、対応付けを行う座標を自動で指定する方法との一例を説明する。図６は、この発明の実施の形態１に係る画像の対応付けを行う座標の指定例を示す図である。例えば、左上図はピクチャ内を一定間隔で走査する指定例であり、右上図は各符号化ブロックの座標を利用する指定例、左下図は事前に求めた特徴点の座標を利用する指定例などのように対応付けを行う座標を指定すればよい。
【００３０】
動きベクトル検索部１に入力される動きベクトルは、符号化された動画像を画像復号装置にて復号した結果として得られたものであってもよいし、動画像の符号化時に決定された情報の一部を画像符号化装置から別途出力することで得られたものでもよい。
【００３１】
図７から図１０は、この発明の実施の形態１に係る動画像を構成する階層的なピクチャ間の動きベクトルを利用した画像の対応付けの過程の一例を示す図（順にその１からその４とする）である。
【００３２】
まず、図７において、指定されたＰＯＣ８上の点をＰとし、そのＰＯＣ１上の対応点をＰ’とする。対応点Ｐ’は、点Ｐが属する符号化ブロックが持つＬ０ベクトルが指すＰＯＣ０上の点として求める。
【００３３】
次に、図８において、ＰＯＣ０とＰＯＣ８を参照ピクチャとするＰＯＣ４に着目する。そして、ＰＯＣ４に属する符号化ブロックが持つＬ１ベクトルの中から、点Ｐに最も近い位置を指しているＬ１ベクトルを検索する。検索の際には、例えば次式で計算した距離Ｄを最小化することが考えられる。
【００３４】
Ｄ＝（Ｐｘ−ＭＶＬ１ｘ）２＋（Ｐｙ−ＭＶＬ１ｙ）２
【００３５】
ここで、（Ｐｘ、Ｐｙ）は点Ｐの座標、（ＭＶＬ１ｘ、ＭＶＬ１ｙ）はＰＯＣ４に属する符号化ブロックが持つＬ１ベクトルが指すＰＯＣ８上の点の座標である。ＰＯＣ４に属する符号化ブロックの一部あるいは全てに対して距離Ｄを計算し、最も距離Ｄが小さくなる動きベクトルを選択する。
【００３６】
なお、図８に示すように距離Ｄを最小にする動きベクトルを持つ対応ブロックが２つ以上見つかる場合がある。この場合は、それぞれのブロックが持つＬ０ベクトルが指すＰＯＣ０上の座標を求め、これが点Ｐ’に近いものを選択する。つまり、次式で計算した距離Ｄ’が小さくなる方を選ぶ。
【００３７】
Ｄ’＝（Ｐ’ｘ−ＭＶＬ０ｘ）２＋（Ｐ’ｙ−ＭＶＬ０ｙ）２
【００３８】
ここで、（Ｐ’ｘ、Ｐ’ｙ）は点Ｐ’の座標、（ＭＶＬ０ｘ、ＭＶＬ０ｙ）はＰＯＣ４に属する対応ブロック候補が持つＬ０ベクトルが指すＰＯＣ０上の点の座標である。
【００３９】
続いて、図９において、ＰＯＣ４とＰＯＣ８を参照ピクチャとするＰＯＣ６に着目し、これまでと同様にしてＰＯＣ８を指すＬ１ベクトルとＰＯＣ４を指すＬ０ベクトルを検索する。以降、同様に検索を繰り返していき、最終的に図１０に示すように全ての画像間での動きベクトルの指示関係を求める。なお、これまでに示した動きベクトルの追跡方法はあくまでも一例に過ぎず、着目するＰＯＣの順番や動きベクトルの選択方法などは上記に限定されるものではなく様々な方法が考えられる。
【００４０】
これまで説明した例では、常に全ての符号化ブロックがＬ０とＬ１両方向の動きベクトルを持つ場合を仮定していたが、片方向の動きベクトルしか持たない場合もある。その場合、例えばＬ０ベクトルを利用してＬ１ベクトルを生成することや、その逆が考えられる。いま、着目しているピクチャのＰＯＣをＰＯＣ＿ＣＵＲＲ、Ｌ０方向の参照ピクチャのＰＯＣをＰＯＣ＿Ｌ０、Ｌ１方向の参照ピクチャのＰＯＣをＰＯＣ＿Ｌ１とすると、Ｌ０方向の動きベクトルＭＶＬ０およびＬ１方向の動きベクトルＭＶＬ１は、逆方向の動きベクトルからそれぞれ次式で計算して生成することができる。
【００４１】
ＭＶＬ０＝（ＰＯＣ＿ＣＵＲＲ−ＰＯＣ＿Ｌ０）
／（ＰＯＣ＿ＣＵＲＲ−ＰＯＣ＿Ｌ１）×ＭＶＬ１
ＭＶＬ１＝（ＰＯＣ＿ＣＵＲＲ−ＰＯＣ＿Ｌ１）
／（ＰＯＣ＿ＣＵＲＲ−ＰＯＣ＿Ｌ０）×ＭＶＬ０
【００４２】
また、このようにして逆方向の動きベクトルから生成する他にも、例えば対応ブロックの周囲のブロックが持つ動きベクトルを利用する方法も考えられる。図１１は、この発明の実施の形態１に係る画像の対応ブロックと周囲のブロックの関係の一例を示す図である。図において、Ａ０、Ａ１、Ｂ０、Ｂ１、Ｂ２と示されているそれぞれの座標を含むブロックを周囲ブロックとし、それらのブロックが持つ動きベクトルを対応ブロックの動きベクトルとして利用する。周囲ブロックの動きベクトルが複数利用可能である場合は、それらの重み付き平均や中間値として対応ブロックの動きベクトルを求めてもよいし、例えばＡ０、Ａ１、Ｂ０、Ｂ１、Ｂ２といった優先順位に従って利用するようにしてもよい。
【００４３】
次に、図５のステップＳＴ１０２に示す投票値決定部２による投票値決定の動作について説明する。まず投票値決定部２は、動きベクトル検索部１から動きベクトル検索結果を受け取る。この動きベクトル検索結果は、図１０に示すような複数の画像間の動きベクトルの指示関係およびその動きベクトルをどのようにして生成したか、例えば対応ブロックが持つ動きベクトルをそのまま利用したのか、あるいは逆方向の動きベクトルや周囲ブロックの動きベクトルから生成したのかなどを表す情報である。また、投票値決定部２は、符号化情報と画像を入力として受け取る。ここで、符号化情報とは、例えば符号化ブロックのサイズやビットレート等、動画像符号化の過程で得られるパラメータの一部または全てであり、符号化された動画像を画像復号装置にて復号した結果として得られたものであってもよいし、動画像の符号化時に決定された情報の一部を画像符号化装置から別途出力することで得られたものでもよい。また、画像とは、例えば図２に示すＰＯＣ０から８の原画像あるいは復号画像である。
【００４４】
投票値決定部２は、動きベクトル検索部１で検索された動きベクトルのそれぞれが持つ投票値ｖを決定する。投票値ｖは、例えば初期値を１として、次のような各指標に基づいて決定される。
【００４５】
（ブロックサイズに基づく補正）
ブロックサイズは、符号化時に最も符号化効率が高くなるように自動的に決定される。その大きさは、例えば６４画素×６４画素や８画素×８画素など様々であるが、動きベクトルの精度はブロックサイズに大きく影響される。一般に、ブロックサイズが大きい方が安定したベクトルを求められる傾向にある。ブロックサイズが小さいと、ノイズの影響を受けやすく、また、符号化時に被写体の物理的な運動を表すベクトルとは異なるベクトル（例えば図２０のｍｖＢ）を選択しやすいためである。したがって、画像の対応付けという観点からは、サイズが大きい符号化ブロックが持つ動きベクトルの方が適している。そこで、対応する符号化ブロックのサイズが大きな動きベクトルほど、投票値も大きくなるようにする。ブロックサイズに基づく投票値ｖの決定は、例えば次式に基づいて行われる。
【００４６】
ｖ＝ｌｏｇ２（ＢＳ）×ｖ
【００４７】
ここで、ＢＳはブロックサイズである。
【００４８】
（動きベクトルの生成方法に基づく補正）
動きベクトル検索部１にて、対応ブロックの動きベクトルを生成する際に、そのブロックが持つ動きベクトルをそのまま利用した場合と、逆方向の動きベクトルや周囲ブロックの動きベクトルから生成した場合とでは動きベクトルの信頼性が異なる。当然ながら、後者の方が動きベクトルの信頼性は低く、正しい動きベクトルになっていない可能性が高い。そこで、動きベクトル検索部１における動きベクトルの生成方法に応じて、投票値ｖを次のように変更する。
【００４９】
ｖ＝α×ｖ
【００５０】
ここで、αはあらかじめ設定された定数であり、対応ブロックが持つ動きベクトルをそのまま利用した場合は例えば１．２や１．５などの１以上の値、逆方向の動きベクトルや周囲ブロックの動きベクトルから生成した場合は例えば０．８や０．６などの１未満の値をとる。定数αは、例えば図１の係数保持部３から読み出してもよいし、投票値決定部２があらかじめ保持していてもよい。このようにすることで、動きベクトルをそのまま利用した場合は投票値が高く、逆方向の動きベクトルや周囲ブロックの動きベクトルから生成した場合は投票値が低くなるようにすることが可能である。
【００５１】
（符号量に基づく補正）
符号量とは、符号化時にそのブロックで発生した符号の総量を表す。符号化時に予測の精度が高ければ符号量は小さくなり、予測の精度が低ければ符号量は大きくなる。つまり、符号量の小さなブロックでは精度の高い動き予測が行われており動きベクトルの信頼性が高く、逆に符号量の大きなブロックでは精度の低い動き予測が行われており動きベクトルの信頼性が低いと予想できる。したがって、符号量の小さなブロックが持つ動きベクトルの投票値は大きく、符号量の大きなブロックが持つ動きベクトルの投票値は小さくすることが妥当である。そこで、対応ブロックの符号量に応じて、投票値ｖを次のように変更する。
【００５２】
ｖ＝１／Ｃ×ｖ
【００５３】
ただし、Ｃは符号量である。
【００５４】
（ビットレートに基づく補正）
ビットレートは、動きベクトルの長さ（予測ベクトルとの差分）に影響を与える。ビットレートが高い場合、動きベクトルを決定する際に、ブロック間のＳＡＤを最小化することが重視され、動きベクトルの長さは大きな制約を受けない。一方、ビットレートが低い場合、ブロック間のＳＡＤが多少大きくても予測ベクトルとの差分が小さな動きベクトルが選択されやすくなる傾向がある。つまり、ビットレートが低い場合は、被写体の物理的な運動を表すベクトルとは異なる動きベクトルが選択されやすくなり、画像の対応付けという観点からは不適切な動きベクトルが得られる傾向にある。したがって、次式を利用することで、ビットレートが高い場合は投票値が大きく、ビットレートが低い場合は投票値が小さくなるようにする。
【００５５】
ｖ＝ＢＲ×ｖ
【００５６】
ただし、ＢＲはビットレートである。
【００５７】
（参照ピクチャとの時間間隔に基づく補正）
着目しているピクチャとその参照ピクチャとの時間間隔は動きベクトルの精度に影響を与える。例えば図２に示したように参照構造が階層的となる場合、ピクチャによって参照ピクチャとの時間間隔が異なる。一般に、時間間隔が短いほど動きベクトルの精度は高く、時間間隔が長いほど動きベクトルの精度は低くなる。そこで、着目しているピクチャと参照ピクチャとの時間間隔に応じて、次のように投票値ｖを変更する。
【００５８】
ｖ＝１／ｔ×ｖ
【００５９】
ここで、ｔは着目しているピクチャと参照ピクチャとの時間間隔（絶対値）である。
【００６０】
（ブロックのテクスチャに基づく補正）
符号化ブロックのテクスチャは、動きベクトルの精度に影響を与える。一般に、テクスチャに乏しいブロックでは正確な動き探索は難しく、動きベクトルの信頼性が低い。逆に豊富なテクスチャを持つブロックの動きベクトルは信頼性が高い。そこで、それぞれの動きベクトルのブロックが持つテクスチャを定量化し、複雑なテクスチャを持つブロックの動きベクトルは投票値を大きくし、テクスチャに乏しいブロックの動きベクトルは投票値を小さくする。テクスチャの複雑度は、例えば画素値の分散で定量化することができ、分散が大きいほど複雑なテクスチャとなる。分散を用いた投票値の変更は、例えば次式を利用して行う。
【００６１】
ｖ＝１／σ２×ｖ
σ２＝Σ（ｆ−ｍ）２／Ｎ
【００６２】
ここで、σ２は画素値の分散、ｆは画素値、ｍは画素値の平均値、Ｎはブロックの画素数である。
【００６３】
なお、動きベクトルの投票値を決定するための各種補正のパラメータや投票値の計算方法はあくまでも一例であり、１つのみ採用してもよく、またこれらを様々に組み合わせることや、他の指標や計算方法に基づいて投票値を求めることも考えられる。また、複数の指標による複数の補正を組み合わせるとき、投票値に組み合わせる各補正を繰り返し適用してもよいし、また組み合わせる各補正を個別に適用した仮投票値に対して重み付けて平均する補正を適用して最終的な投票値としてもよい。
【００６４】
また、投票値決定部２は、必要に応じて投票値の計算に利用する係数などを係数保持部３から読み出してもよい。例えば、先に説明した動きベクトルの生成方法に応じた係数αや複数の指標による補正の組み合わせに対する重み付けの重み値などを係数保持部３から読み出してもよい。
【００６５】
続いて、図５のステップＳＴ１０３に示す投票部４による投票の動作について説明する。投票部４は、投票値決定部２で決定した各動きベクトルの投票値を受け取り、それぞれの動きベクトルが指す位置へ投票を行う。投票は、例えばピクチャと同サイズの２次元配列をピクチャごとに投票平面として定義し、図２に示す参照階層構造の上段に記載のピクチャが持つ動きベクトルから下段に記載のピクチャが持つ動きベクトルへ順に実施していく。
【００６６】
図１２から図１５は、この発明の実施の形態１に係る階層的なピクチャが持つ動きベクトルの投票の過程の一例を示す図（順にその１からその４とする）である。
【００６７】
図１２は、最初に投票を行う最上段の第１階層の動きベクトルを示している。ＰＯＣ１のＬ０ベクトルによって、ＰＯＣ０に対応する投票平面へ投票を行う場合を例にとって説明する。いま、投票値決定部２で決定したＰＯＣ１のＬ０ベクトルの投票値をｖ１、ＰＯＣ０に対応する投票平面をｖｐ０とする。このとき、ｖｐ０の座標（ｘ、ｙ）における値をｖｐ０（ｘ、ｙ）と表すとすると、投票によってｖｐ０の値は次のように更新される。
【００６８】
ｖｐ０（ｍｖ１ｘ、ｍｖ１ｙ）＝ｖｐ０（ｍｖ１ｘ、ｍｖ１ｙ）＋ｖ１
【００６９】
ここで、（ｍｖ１ｘ、ｍｖ１ｙ）は、ＰＯＣ１のＬ０ベクトルが指すＰＯＣ０上の座標である。なお、ｖｐ０の値はすべて初期値０を持つものとする。
【００７０】
続いて、図１３は、次に投票を行う第２階層の動きベクトルを示している。次の階層に属するピクチャが持つ動きベクトルによって投票を行う。ＰＯＣ２のＬ０ベクトルによって、ＰＯＣ０に対応する投票平面へ投票を行う場合を例にとって説明する。いま、投票値決定部２で決定したＰＯＣ２のＬ０ベクトルの投票値をｖ２、ＰＯＣ２に対応する投票平面をｖｐ２とする。このとき、投票によってｖｐ０の値は次のように更新される。
【００７１】
ｖｐ０（ｍｖ２ｘ、ｍｖ２ｙ）＝ｖｐ０（ｍｖ２ｘ、ｍｖ２ｙ）
＋ｖｐ２（ｍｖ２ｘ’、ｍｖ２ｙ’）＋ｖ２
【００７２】
ここで、（ｍｖ２ｘ、ｍｖ２ｙ）は、ＰＯＣ２のＬ０ベクトルが指すＰＯＣ０上の座標であり、（ｍｖ２ｘ’、ｍｖ２ｙ’）は、ＰＯＣ２で選択された対応ブロックの座標（ＰＯＣ２のＬ０ベクトルの起点となる座標）である。ここで、ｖｐ０（ｍｖ２ｘ、ｍｖ２ｙ）にｖｐ２（ｍｖ２ｘ’、ｍｖ２ｙ’）の値を加算することで、階層参照構造の上位層から下位層に向かって投票値を伝播させていくことができる。
【００７３】
以降も同様にして、第３階層の動きベクトルを示す図１４でも投票を行い、最終的に投票を行う第４階層の動きベクトルを示す図１５まで投票を繰り返すことで、基準ピクチャ（基準画像）とするＰＯＣ０に対応する投票平面ｖｐ０に全ての投票面の投票値を集約して集約投票値とする。なお、あらかじめ投票値に対して閾値を設定しておき、ある階層での投票値がその閾値を上回った場合に投票を中止してその値をｖｐ０の値とすることも考えられる。また、ある階層における投票値があらかじめ設定した閾値を下回る場合に投票を中止するようにしてもよい。このようにすることで、必ず全ての投票平面に対して投票を実施する場合に比べて演算量を削減することができる。
【００７４】
図１６、図１７は、この発明の実施の形態１に係る動きベクトルが指し示す座標と投票の一例を示す説明図である（順にその１、その２とする）。投票において、例えば図１６に示すように、単純に動きベクトルが指し示す座標のみに投票値を加算する方法がある。また、図１７に示すように、周囲の座標へも投票値を分散させる方法などもある。投票値を分散させる際には、例えばガウス関数などを用いれば分散させる範囲を調整することができる。
【００７５】
また、図５のステップＳＴ１０４に示す判定部５による判定の動作について説明する。判定部５は、投票部４で決定したＰＯＣ０上の対応点Ｐ’の投票値ｖｐ０（Ｐ’ｘ、Ｐ’ｙ）を受け取る。ここで、（Ｐ’ｘ、Ｐ’ｙ）は対応点Ｐ’の座標である。判定部５は、投票値ｖｐ０（Ｐ’ｘ、Ｐ’ｙ）と閾値との比較を行う。閾値は、例えば図１の閾値保持部６から読み出してもよいし、判定部５があらかじめ保持していてもよい。比較の結果、投票値ｖｐ０（Ｐ’ｘ、Ｐ’ｙ）が閾値を上回れば、ＰＯＣ８上の点ＰとＰＯＣ０上の点Ｐ’との対応関係は信頼できると判定として、例えば１を判定結果として出力する。一方、閾値を下回れば、対応関係は信頼できないと判定として、例えば０を出力する。また、併せて、対応点Ｐ’の座標も出力する。なお、この信頼の可否を示す判定結果の値の割当ては一例であって、逆の値であってもよいし、他の割当てであってもよい。また、閾値を複数設定することで、例えば高中低の信頼性の程度を示す複数の値として判定してもよい。なお、この信頼性の程度は高中低の３分類に限らない。また、例えば信頼性の程度を０以上１以下の小数値や、０以上１００以下の整数値のような数値範囲内の数値として表現してもよい。
【００７６】
なお、図１では、この発明の画像対応付け装置の判定部５が信頼性の判定結果と基準画像上の対応点の座標を出力するものとして示しているが、基準画像上の対応点の座標の出力を投票部４から出力させてもよい。判定部５が信頼性の判定結果と基準画像上の対応点の座標の両方を出力する場合には、対応関係が信頼できないことを示す判定結果であるとき、判定部５が基準画像上の対応点の座標を判定結果とともに出力しないようにしてもよい。一方、投票部４が基準画像上の対応点の座標を出力し、判定部５が信頼性の判定結果を出力する場合には、信頼性の判定結果と基準画像上の対応点の座標を利用する側が判定結果から対応関係の信頼性を判断し、信頼できないことを示す判定結果であったときには基準画像上の対応点の座標を採用しないようにしてもよい。
【００７７】
また、これまで説明した画像間の対応付けは、２枚の画像間での対応付けであるが、これを繰り返すことで動画像における対応点の追跡を行うことが可能である。図１８は、この発明の実施の形態１に係る対応点の追跡の一例を示す概念図である。この例では、３つのＧＯＰに対し、まず第１のＧＯＰであるＰＯＣ０とＰＯＣ８の間で対応付けを実施し、得られた対応点を対応付けの起点として第２のＧＯＰであるＰＯＣ８とＰＯＣ１６の対応付けを実施している。さらにここで得られた対応点を利用して第３のＧＯＰであるＰＯＣ１６とＰＯＣ２４の対応付けを行うように繰り返していくことで、ＰＯＣ０から任意の画像まで対応点を追跡していくことができる。
【００７８】
以上のように、この発明は、複数の画像が階層的な参照構造で符号化された動画像を符号化する際に得られる動きベクトルを利用して画像の対応付けを行う画像対応付け装置であって、複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索部と、複数の画像とそれらの符号化情報と動きベクトル検索部が検索した動きベクトルの指示関係に基づいて、動きベクトルの投票値を決定する投票値決定部と、投票値決定部が決定した動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票値を集約した各位置の集約投票値に基づいて基準画像上の対応点を決定する投票部とを備えた画像対応付け装置であることを説明した。
【００７９】
また、この発明は、さらに投票部が決定した基準画像上の対応点の集約投票値から対応関係の信頼性を判定し、その判定結果を出力する判定部を備えた画像対応付け装置であることを説明した。
【００８０】
なお、この発明に係る画像対応付け装置がコンピュータで構成される場合、各構成要素の手順や方法をコンピュータに機能させるプログラムをメモリ（内部メモリまたは外部メモリ）に格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを読み出して実行するようにしてもよい。また、各構成要素は、ハードウェア、ソフトウェア、ファームウェアのいずれの形態で実現されてもよく、またこれらの組み合わせで実現してもよい。また、プログラムやデータ情報は、ディスクやメモリなどの記録媒体に記憶されてもよい。
【００８１】
また、この発明に係る画像対応付け装置は、画像符号化装置や画像復号装置の一部として内蔵される構成で実施されても構わない。
【００８２】
このように、この発明に係る画像対応付け装置および方法によれば、複数の画像間における動きベクトルの指示関係を検索する動きベクトル検索部と、複数の画像とそれらの符号化情報と動きベクトル検索部が検索した動きベクトルの指示関係に基づいて、動きベクトルの投票値を決定する投票値決定部と、投票値決定部が決定した動きベクトルの投票値を当該動きベクトルが指す基準画像上の位置に投票し、投票値を集約した各位置の集約投票値に基づいて基準画像上の対応点を決定する投票部とを備え、階層的な参照構造によって符号化された動画像の複数の動きベクトルの一貫性を投票によって定量化することで対応付けるようにしたので、単に一つの動きベクトルを用いて対応付けを行う場合に比べて対応付けの信頼性を向上させることができる。
【００８３】
また、この発明に係る画像対応付け装置および方法によれば、さらに投票部が決定した基準画像上の対応点の集約投票値から対応関係の信頼性を判定し、その判定結果を出力する判定部を備え、階層的な参照構造によって符号化された動画像の複数の動きベクトルの一貫性を投票によって定量化した後、対応付けの信頼性を判定するようにしたので、信頼性の程度を評価して信頼性が低い対応付けを排除することができる。
【００８４】
また、この発明に係る画像対応付け装置および方法によれば、動画像の符号化の過程で得られる動きベクトルを利用して画像間の対応付けを小さな演算量で実現することができるため、映像のブレ補正、パノラマ写真生成、超解像、デプス推定、３次元形状復元といった画像の対応付けを必要とする多くのアプリケーションを従来よりも低減された演算負荷で実現できるようになり、アプリケーションの適用範囲の拡大が期待できる。
【符号の説明】
【００８５】
１  動きベクトル検索部、２  投票値決定部、３  係数保持部、４  投票部、５  判定部、６  閾値保持部。
【図１】
2014207554.tif 000003
【図２】
2014207554.tif 000004
【図３】
2014207554.tif 000005
【図４】
2014207554.tif 000006
【図５】
2014207554.tif 000007
【図６】
2014207554.tif 000008
【図７】
2014207554.tif 000009
【図８】
2014207554.tif 000010
【図９】
2014207554.tif 000011
【図１０】
2014207554.tif 000012
【図１１】
2014207554.tif 000013
【図１２】
2014207554.tif 000014
【図１３】
2014207554.tif 000015
【図１４】
2014207554.tif 000016
【図１５】
2014207554.tif 000017
【図１６】
2014207554.tif 000018
【図１７】
2014207554.tif 000019
【図１８】
2014207554.tif 000020
【図１９】
2014207554.tif 000021
【図２０】
2014207554.tif 000022