(57)【要約】  本発明に係る映像の動き推定及び補償は、３６０°全方向映像を含むパノラマ映像の右側境界部分と左側境界部分との空間的な相関関係の高い性質を利用して、パノラマ映像の動き予測及び補償を行うことを特徴とする。これにより、パノラマ映像の動き推定及び補償の効率性及び正確度を向上させることによって画質を改善できる。特に、パノラマ映像の右側境界部分及び左側境界部分の画質改善に効果がある。
2008510359.tif 000002
【特許請求の範囲】
【請求項１】
３６０°全方向映像情報を含むパノラマ映像の動き推定方法において、
現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して参照映像に設定するステップと、
前記現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して、前記現在のデータユニットの動きベクトルを予測するステップと、
前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、
所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定するステップと、を含むことを特徴とする動き推定方法。
【請求項２】
前記現在のデータユニットの動きベクトルを予測するステップは、
前記複数の以前のデータユニットのうち少なくとも一つが、前記現在のパノラマ映像の左側境界または右側境界の外側に存在すれば、前記現在のパノラマ映像の左側境界と右側境界とを連結して、前記現在のパノラマ映像が円筒形の映像であると仮定して、前記円筒形の映像から前記複数の以前のデータユニットを決定するステップを含むことを特徴とする請求項１に記載の動き推定方法。
【請求項３】
所定の探索範囲内で前記現在のデータユニットと最も類似した参照データユニットを決定するステップと、
決定された前記参照データユニットを表す動きベクトルを決定するステップと、をさらに含むことを特徴とする請求項１に記載の動き推定方法。
【請求項４】
３６０°全方向映像情報を含むパノラマ映像の動き推定方法において、
現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して参照映像に設定するステップと、
前記現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測するステップと、
前記予測された動きベクトルが表す参照データユニットに含まれた副画素が、前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が、前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、
所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定するステップと、を含むことを特徴とする動き推定方法。
【請求項５】
前記現在のデータユニットの動きベクトルを予測するステップは、
前記複数の以前のデータユニットのうち少なくとも一つが、前記現在のパノラマ映像の左側境界または右側境界の外側に存在すれば、前記現在のパノラマ映像の左側境界と右側境界とを連結して、前記現在のパノラマ映像が円筒形の映像であると仮定して、前記円筒形の映像から前記複数の以前のデータユニットを決定するステップを含むことを特徴とする請求項４に記載の動き推定方法。
【請求項６】
所定の探索範囲内で前記現在のデータユニットと最も類似した参照データユニットを決定するステップと、
決定された前記参照データユニットを表す動きベクトルを決定するステップと、をさらに含むことを特徴とする請求項４に記載の動き推定方法。
【請求項７】
３６０°全方向映像情報を含むパノラマ映像の動き推定装置において、
現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像及び現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを保存するメモリと、
前記複数の以前のデータユニットの前記動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測し、前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定する動き推定部と、を備えることを特徴とする動き推定装置。
【請求項８】
前記動き推定部は、
所定の探索範囲内で前記現在のデータユニットと最も類似した参照データユニットを決定し、決定された前記参照データユニットを表す動きベクトルを決定することを特徴とする請求項７に記載の動き推定装置。
【請求項９】
３６０°全方向映像情報を含むパノラマ映像の動き推定装置において、
現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像及び現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを保存するメモリと、
前記複数の以前のデータユニットの前記動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測し、前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定する動き推定部と、を備えることを特徴とする動き推定装置。
【請求項１０】
前記動き推定部は、
前記複数の以前のデータユニットのうち少なくとも一つが前記現在のパノラマ映像の左側境界または右側境界の外側に存在すれば、前記現在のパノラマ映像の左側境界と右側境界とを連結して、前記現在のパノラマ映像が円筒形の映像であると仮定して、前記円筒形の映像から前記複数の以前のデータユニットを決定することを特徴とする請求項９に記載の動き推定装置。
【請求項１１】
前記動き推定部は、
所定の探索範囲内で前記現在のデータユニットと最も類似した参照データユニットを決定し、決定された前記参照データユニットを表す動きベクトルを決定することを特徴とする請求項９に記載の動き推定装置。
【請求項１２】
３６０°全方向映像情報を含むパノラマ映像の動き補償方法において、
現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して参照映像に生成するステップと、
現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されるステップと、
前記現在のデータユニットの動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、
前記参照データユニットの画素値を利用して前記現在のデータユニットを再生するステップと、を含むことを特徴とする動き補償方法。
【請求項１３】
３６０°全方向映像情報を含むパノラマ映像の動き補償方法において、
現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して参照映像を生成するステップと、
現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されるステップと、
前記現在のデータユニットの動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、
前記参照データユニットの画素値を利用して前記現在のデータユニットを再生するステップと、を含むことを特徴とする動き補償方法。
【請求項１４】
３６０°全方向映像情報を含むパノラマ映像の動き補償装置において、
現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像を保存するメモリと、
前記現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されて、前記入力された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、前記参照データユニットの画素値を利用して前記現在のデータユニットを再生する動き補償部と、を備えることを特徴とする動き補償装置。
【請求項１５】
３６０°全方向映像情報を含むパノラマ映像の動き補償装置において、
現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像を保存するメモリと、
前記現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されて、前記現在のデータユニットの動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、前記参照データユニットの画素値を利用して前記現在のデータユニットを再生する動き補償部と、を備えることを特徴とする動き補償装置。
【請求項１６】
３６０°全方向映像情報を含むパノラマ映像の動き推定方法を行うために、コンピュータを制御するように適応された命令語を含むコンピュータで読み取り可能な媒体において、前記方法は、
現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して参照映像に設定するステップと、
前記現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して、前記現在のデータユニットの動きベクトルを予測するステップと、
前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、
所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定するステップと、を含むことを特徴とするコンピュータで読み取り可能な媒体。
【請求項１７】
前記現在のデータユニットの動きベクトルを予測するステップは、
前記複数の以前のデータユニットのうち少なくとも一つが前記現在のパノラマ映像の左側境界または右側境界の外側に存在すれば、前記現在のパノラマ映像の左側境界と右側境界とを連結して、前記現在のパノラマ映像が円筒形の映像であると仮定して、前記円筒形の映像から前記複数の以前のデータユニットを決定するステップを含むことを特徴とする請求項１６に記載のコンピュータで読み取り可能な媒体。
【請求項１８】
前記方法は、
所定の探索範囲内で前記現在のデータユニットと最も類似した参照データユニットを決定するステップと、
決定された前記参照データユニットを表す動きベクトルを決定するステップと、をさらに含むことを特徴とする請求項１６に記載のコンピュータで読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パノラマ映像の動き推定及び補償に係り、さらに詳細には、３６０°全方向映像情報を含むパノラマ映像の動き推定方法、動き推定装置、動き補償方法及び動き補償装置に関する。
【背景技術】
【０００２】
全方向ビデオカメラシステムは、固定視点を基準に３６０°全方向映像の撮影可能なカメラシステムを言う。全方向ビデオカメラシステムは、カメラに双曲面ミラーのような特殊形態のミラーや、魚眼レンズのような特殊レンズを装着するか、複数のカメラを利用して全方向を撮影する。
【０００３】
全方向ビデオコーディング方法が適用される一例として、三次元実感放送がある。三次元実感放送の一例を挙げれば、野球競技などで、多様な視点からの光景についての映像情報は、視聴者側の端末に全て与えられる。すなわち、投手の立場からの視点、捕手の立場からの視点、打者の立場からの視点、１塁席観衆の立場からの視点などでの多様な映像情報が視聴者に提供される。視聴者は、見たい視点を自ら決定して、その視点からの映像を視聴しうる。
【０００４】
全方向カメラシステムにより撮影された映像は、３次元の球形環境に対応する特徴を有する。したがって、全方向カメラシステムにより撮影された３次元映像を２次元平面映像に変換する。このとき、２次元平面映像は、３６０°全方向映像を含むパノラマ映像となる。２次元パノラマ映像に対して全方向ビデオコーディングが行われる。
【０００５】
一方、映像符号化技術の一つである動き推定は、所定の評価関数を利用して、現在のフレーム内のデータユニットと最も類似したデータユニットを以前のフレームで探索して両データユニットの位置の差を表す動きベクトルを求める過程である。ここで、データユニットは、一般的に１６Ｘ１６のサイズのマクロブロックが主に利用されるが、１６Ｘ８、８Ｘ１６及び８Ｘ８ブロックなどの多様なサイズのブロックが利用されうる。
【０００６】
１６ｘ１６サイズのマクロブロック単位で行われる従来の技術の一例による動き推定過程をさらに詳細に説明する。まず、現在のマクロブロックに隣接する複数の以前のマクロブロックの動きベクトルを利用して、現在のマクロブロックの動きベクトルを予測する。図１は、現在のマクロブロックの動きベクトルの予測に利用される複数の以前のマクロブロックを示す図面である。Ｘは、現在のマクロブロックを表し、Ａ、Ｂ、Ｃ及びＤは、現在のマクロブロックＸの前に符号化された以前のマクロブロックである。
【０００７】
しかし、現在のフレーム内での現在のマクロブロックＸの位置によって、利用できない以前のマクロブロックが発生する。図２Ａは、現在のマクロブロックＸの動きベクトルの予測に利用する以前のマクロブロックＢ、Ｃ及びＤが存在しない場合を表す。このような場合、現在のマクロブロックＸの動きベクトルは、０に設定される。
【０００８】
図２Ｂは、現在のマクロブロックＸの動きベクトルの予測に利用する以前のマクロブロックＡ及びＤが存在しない場合を表す。このような場合、以前のマクロブロックＡ及びＤの動きベクトルは、それぞれ０に設定される。現在のマクロブロックＸの動きベクトルは、以前のマクロブロックＡ、Ｂ、Ｃ及びＤの中間値に設定される。
【０００９】
図２Ｃは、現在のマクロブロックＸの動きベクトルの予測に利用する以前のマクロブロックＣが存在しない場合を表す。このような場合、以前のマクロブロックＣの動きベクトルは、それぞれ０に設定される。現在のマクロブロックＸの動きベクトルは、以前のマクロブロックＡ、Ｂ、Ｃ及びＤの中間値に設定される。
【００１０】
現在のマクロブロックＸの予測動きベクトルが求められれば、予測動きベクトルが表す、参照フレーム内の参照マクロブロックと現在のマクロブロックとの類似程度を所定の評価関数を利用して計算する。その後、所定の探索範囲内で現在のマクロブロックと最も類似した参照フレーム内の参照マクロブロックを探索する。前記所定の評価関数としては、ＳＡＤ（Ｓｕｍ ｏｆ Ａｂｓｏｌｕｔｅ Ｄｉｆｆｅｒｅｎｃｅ）関数、ＳＡＴＤ（Ｓｕｍ ｏｆ Ａｂｓｏｌｕｔｅ Ｔｒａｎｓｆｏｒｍｅｄ Ｄｉｆｆｅｒｅｎｃｅ）関数またはＳＳＤ（Ｓｕｍ ｏｆ Ｓｑｕａｒｅｄ Ｄｉｆｆｅｒｅｎｃｅ）関数を利用することが一般的である。
【００１１】
所定の探索範囲内で現在のマクロブロックと最も類似した参照マクロブロックの探索時、参照マクロブロックの一部または全画素が参照映像の外部に存在してもよい。このような場合、図３に示すように、参照映像の左側境界に位置した画素値を参照映像の左側境界の外側領域にパッディングし、参照映像の右側境界に位置した画素値を参照映像の右側境界の外側領域にパッディングした後に、動き予測及び補償を行う。このような方式による動き予測及び補償をＵＭＶ（Ｕｎｒｅｓｔｒｉｃｔｅｄ Ｍｏｔｉｏｎ Ｖｅｃｔｏｒ）モードによる動き予測及び補償という。
【００１２】
図４Ａは、３６０°全方向映像を含む円筒形の映像を示す図面であり、図４Ｂは、図４Ａに示す円筒形の映像を基準線Ｘに沿って切断することによって生成された、３６０°全方向映像を含むパノラマ映像を表す。図４Ｂに示すように、人間状の客体の左側部分Ａは、パノラマ映像の右側境界部分に位置し、人間状の客体の右側部分Ｂは、パノラマ映像の左側境界部分に位置するということが分かる。すなわち、３６０°全方向映像を含むパノラマ映像の右側境界部分と左側境界部分との空間的な相関関係は非常に高い。
【００１３】
全方向映像情報を含むパノラマ映像のこのような特性を考慮せず、前述の従来の技術による動き予測及び補償方法をそのまま全方向映像情報を含むパノラマ映像に適用することは効率的ではない。したがって、全方向映像情報を含むパノラマ映像に適した動き予測及び補償方法が要求される。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明が解決しようとする技術的課題は、全方向映像情報を含むパノラマ映像の特性に合う、さらに効率的かつ正確な動き推定方法及びその装置を提供するところにある。
【００１５】
本発明が解決しようとする他の技術的課題は、全方向映像情報を含むパノラマ映像の特性に合う、さらに効率的かつ正確な動き補償方法及びその装置を提供するところにある。
【課題を解決するための手段】
【００１６】
前記課題を解決するための本発明の一つの特徴は、３６０°全方向映像情報を含むパノラマ映像の動き推定方法において、現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して参照映像に設定するステップと、前記現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して、前記現在のデータユニットの動きベクトルを予測するステップと、前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定するステップと、を含むことである。
【００１７】
本発明の他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き推定方法において、現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して参照映像に設定するステップと、前記現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測するステップと、前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定するステップと、を含むことである。
【００１８】
本発明のさらに他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き推定装置において、現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像及び現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを保存するメモリと、前記複数の以前のデータユニットの前記動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測し、前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定する動き推定部と、を備えることである。
【００１９】
本発明のさらに他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き推定装置において、現在のパノラマ映像の動き推定のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像及び現在のパノラマ映像に含まれた現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを保存するメモリと、前記複数の以前のデータユニットの前記動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測し、前記予測された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、所定の評価関数を利用して前記現在のデータユニットと前記参照データユニットとの類似度を決定する動き推定部と、を備えることである。
【００２０】
本発明のさらに他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き補償方法において、現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して参照映像に生成するステップと、現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されるステップと、前記現在のデータユニットの動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、前記参照データユニットの画素値を利用して前記現在のデータユニットを再生するステップと、を含むことである。
【００２１】
本発明のさらに他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き補償方法において、現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して参照映像を生成するステップと、現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されるステップと、前記現在のデータユニットの動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得るステップと、前記参照データユニットの画素値を利用して前記現在のデータユニットを再生するステップと、を含むことである。
【００２２】
本発明のさらに他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き補償装置において、現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像を保存するメモリと、前記現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されて、前記入力された動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま獲得し、前記副画素が前記参照映像の外側に位置する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、前記参照データユニットの画素値を利用して前記現在のデータユニットを再生する動き補償部と、を備えることである。
【００２３】
本発明のさらに他の特徴は、３６０°全方向映像情報を含むパノラマ映像の動き補償装置において、現在のパノラマ映像の動き補償のための基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、前記基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像を保存するメモリと、前記現在のパノラマ映像に含まれた現在のデータユニットの動きベクトルを入力されて、前記現在のデータユニットの動きベクトルが表す参照データユニットに含まれた副画素が前記参照映像の前記基本参照映像に属する場合、前記副画素の画素値を獲得し、前記副画素が前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、前記副画素の画素値を獲得することによって、前記参照映像から前記参照データユニットの全ての画素値を得た後に、前記参照データユニットの画素値を利用して前記現在のデータユニットを再生する動き補償部と、を備えることである。
【発明の効果】
【００２４】
本発明によれば、３６０°全方向映像を含むパノラマ映像の右側境界部分と左側境界部分との空間的な相関関係の非常に高い性質を利用して、パノラマ映像の動き予測及び補償を行うことによって、動き推定及び補償の効率性及び正確度を向上させて画質を改善できる。特に、本発明によれば、３６０°全方向映像を含むパノラマ映像の右側境界部分及び左側境界部分の動き予測及び補償の効率性並びに正確度を向上させて、右側境界部分及び左側境界部分の画質を改善できる。
【発明を実施するための最良の形態】
【００２５】
以下、添付された図面を参照して本発明に係る実施形態を詳細に説明する。
【００２６】
図５は、本発明の一実施形態に係るパノラマ映像の動きベクトルエンコーダのブロック図である。図５に示すように、本発明の一実施形態に係るパノラマ映像の動きベクトルエンコーダは、変換部１１０、量子化部１１５、逆量子化部１２０、逆変換部１２５、加算部１３０、クリッピング部１４０、フレームメモリ１５０、パノラマ映像動き推定部１６０、パノラマ映像動き補償部１７０、減算部１８０及び可変長符号化部（Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｃｏｄｅｒ：ＶＬＣ）１９０を備える。
【００２７】
変換部１１０は、パノラマ映像を入力されて、所定方式の変換方法によって入力パノラマ映像を変換した後に、変換係数値を出力する。入力パノラマ映像は、図４Ａに示す円筒形の映像を基準線Ｘに沿って切断することによって生成された、図４Ｂに示されるような３６０°全方向映像を含むパノラマ映像である。変換部１１０により行われる前記所定方式の変換方法は、例えば、８Ｘ８ブロック単位のＤＣＴ（Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ）がある。
【００２８】
量子化部１１５は、変換部１１０から入力された変換係数値を量子化する。逆量子化部１２０及び逆変換部１２５によりそれぞれ逆量子化及び逆変換後に入力パノラマ映像が再生される。再生されたパノラマ映像は、クリッピング部１４０により正規化された後に、フレームメモリ１５０に保存される。フレームメモリ１５０に保存されたパノラマ映像は、新たに入力されたパノラマ映像の動き推定及び補償に参照映像として利用される。
【００２９】
パノラマ映像動き推定部１６０は、フレームメモリ１５０に保存された参照パノラマ映像を利用して本発明に係る動き推定を行う。すなわち、パノラマ映像動き推定部１６０は、現在のパノラマ映像情報を入力されて、フレームメモリ１５０に保存された参照パノラマ映像を利用して、前記現在のパノラマ映像の動き推定を行って、前記現在のパノラマ映像の動きベクトルを生成した後にＶＬＣ １９０に出力する。動き推定及び補償は、所定の大きさのブロック単位で行われる。動き推定及び補償の単位ブロックをデータユニットという。本実施形態におけるデータユニットは、１６Ｘ１６マクロブロックと仮定する。
【００３０】
パノラマ映像動き補償部１７０は、本発明に係る動き補償を行う。すなわち、パノラマ映像動き推定部１６０により生成された現在のマクロブロックの動きベクトルを入力されて、現在のマクロブロックに対応する参照マクロブロックを減算部１８０に出力する。減算部１８０は、現在のマクロブロックと参照マクロブロックとの残差信号を変換部１１０に出力する。前記残差信号は、変換部１１０及び量子化部１１５によりそれぞれ変換及び量子化された後に、ＶＬＣ １９０により可変長符号化される。一方、パノラマ映像動き推定部１６０により生成された現在のマクロブロックの動きベクトルは、ＶＬＣ １９０に直接入力されて可変長符号化される。
【００３１】
以下では、図面を参照してパノラマ映像動き推定部１６０の動作をさらに詳細に説明する。
【００３２】
図６Ａ及び図６Ｂは、本発明の一実施形態によって整数画素の探索を対象とするパノラマ映像の動き推定方法のフローチャートである。パノラマ映像動き推定部１６０は、現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して、前記現在のデータユニットの動きベクトルを予測する（３１０）。図１に示すように、データユニットＸが現在のデータユニットであるとするとき、データユニットＡ、Ｂ、Ｃ及びＤは、現在のデータユニットＸの動きベクトルの予測のために必要な以前のデータユニットである。本実施形態において、データユニットは、１６Ｘ１６大きさのマクロブロックである。
【００３３】
パノラマ映像動き推定部１６０は、内部メモリに保存した以前のマクロブロックＡ、Ｂ、Ｃ及びＤの動きベクトルを探索する。以前のマクロブロックＡ、Ｂ、Ｃ及びＤの動きベクトルが何れも存在するならば、これらの動きベクトルを利用して所定方式または従来の技術によって現在のマクロブロックＸの動きベクトルを予測する。
【００３４】
しかし、以前のマクロブロックＡ、Ｂ、Ｃ及びＤの動きベクトルのうち少なくとも一つが存在しなくてもよい。図７Ａは、以前のマクロブロックＡ及びＤが存在せず、以前のマクロブロックＡ及びＤの動きベクトルを使用できない場合を表し、図７Ｂは、以前のマクロブロックＣが存在せず、以前のマクロブロックＣの動きベクトルを使用できない場合を表す。
【００３５】
前述のように、３６０°全方向映像を含むパノラマ映像の右側境界部分と左側境界部分との空間的な相関関係は非常に高い。すなわち、パノラマ映像の右側境界部分と左側境界部分との実際の空間上の距離は０である。したがって、本発明では、現在のマクロブロックＸの動きベクトルの予測に必要な以前のマクロブロックＡ、Ｃ及びＤのうち、存在しない以前のマクロブロックがあれば、前述のパノラマ映像の特性を利用して、必要な以前のマクロブロックの動きベクトルを決定する。すなわち、図７Ａに示すように、以前のマクロブロックＤと同じＹ軸上の右側境界部分に存在する以前のマクロブロックＤ’は、以前のマクロブロックＤと同じであると言える。したがって、以前のマクロブロックＤ’の動きベクトルを以前のマクロブロックＤの動きベクトルと見なして、現在のマクロブロックＸの動きベクトルの予測に利用する。しかし、以前のマクロブロックＡと同じＹ軸上の右側境界部分に存在する以前のマクロブロックは、現在のマクロブロックＸの動き推定後に動き推定されるので、利用する動きベクトルが存在しない。したがって、現在のマクロブロックＸの動きベクトルの予測に利用する以前のマクロブロックＡの動きベクトルは、０に設定する。
【００３６】
図７Ｂに示すように、以前のマクロブロックＣと同じＹ軸上の左側境界部分に存在する以前のマクロブロックＣ’と以前のマクロブロックＣとが同じであると見ることができる。したがって、以前のマクロブロックＣ’の動きベクトルを以前のマクロブロックＣの動きベクトルと見なして現在のマクロブロックＸの動きベクトルの予測に利用する。
【００３７】
パノラマ映像動き推定部１６０は、ステップ３１０によって現在のマクロブロックＸの動きベクトルを予測した後、前記予測された動きベクトルが表す参照マクロブロックが参照映像内に存在するか否かを判断する（３１５）。参照映像は、フレームメモリ１５０に保存されている。
【００３８】
現在のマクロブロックＸの動きベクトルが表す参照マクロブロックのあらゆる画素が参照映像内に存在すれば、参照マクロブロックの全ての画素値をフレームメモリ１５０から獲得した後（３３０）、現在のマクロブロックＸと参照マクロブロックとの類似度を所定の評価関数を利用して評価する（３３５）。
【００３９】
しかし、現在のマクロブロックＸの動きベクトルが表す参照マクロブロックの一部または全画素が、参照映像の左側境界または右側境界のうち、何れか一つの境界の外側に存在すれば、前記参照映像の他の一つの境界から所定範囲までの映像を、前記一つの境界の外側にパッディングする（３２０）。
【００４０】
図８Ａは、参照マクロブロックが参照映像の境界にわたって存在する場合を表し、図８Ｂは、参照マクロブロックが参照映像の外側領域に存在する場合を表す。図３に示す従来の技術によれば、参照映像の左側境界に位置した画素値を参照映像の左側境界の外側領域にパッディングし、参照映像の右側境界に位置した画素値を参照映像の右側境界の外側領域にパッディングした後に動き予測及び補償を行った。
【００４１】
しかし、本発明では、３６０°全方向映像を含むパノラマ映像の右側境界部分と左側境界部分との空間的な相関関係の非常に高い性質を利用して、図９に示すように、参照映像の外側領域をパッディングする。図９に示すように、参照映像４００の左側境界の外側領域４８０は、参照映像４００の右側境界領域４７０に位置した画素値でパッディングする。参照映像４００の右側境界の外側領域４６０は、参照映像４００の左側境界領域４５０に位置した画素値でパッディングする。
【００４２】
パノラマ映像動き推定部１６０は、ステップ３２０によって参照映像をパッディングした後、パッディングされた参照映像から参照マクロブロックの全ての画素値をフレームメモリ１５０から獲得する（３２５）。その後、現在のマクロブロックＸと参照マクロブロックとの類似度を、所定の評価関数を利用して評価する（３３５）。前記所定の評価関数としては、ＳＡＤ関数、ＳＡＴＤ関数またはＳＳＤ関数を利用することが一般的である。
【００４３】
一方、前述のようなパッディング過程を行わず、前記参照映像の左側境界と右側境界とを連結して、前記参照映像が円筒形の映像であると仮定することによって、前記円筒形の映像から前記参照データユニットの全ての画素値を得てもよい。さらに具体的に説明すれば、参照映像は、図４Ｂに示すような２次元平面映像である。このような２次元平面映像の左側境界と右側境界とを連結すれば、図４Ａに示すような円筒形の映像となる。参照映像が円筒形の映像であると仮定すれば、前記円筒形の映像から前記参照データユニットの全ての画素値が得られる。
【００４４】
パノラマ映像動き推定部１６０は、所定の探索範囲内で参照マクロブロックの位置を変更し、変更された参照マクロブロックと現在のマクロブロックＸとの類似度を評価する（３４０、３４５）。パノラマ映像動き推定部１６０は、所定の探索範囲内で複数の参照マクロブロックと現在のマクロブロックＸとの類似度の評価が完了すれば、前記複数の参照マクロブロックのうち、現在のマクロブロックＸと最も類似した参照マクロブロックを決定し、その参照マクロブロックを表す動きベクトルを生成する（３５０）。
【００４５】
図１０は、現在のマクロブロックＸの動きベクトルを示す図面である。図１０に示すように、現在のマクロブロックＸ５１０と最も類似した、パッディングされた参照映像上の参照マクロブロックは、参照マクロブロック５３０であり、参照マクロブロック５３０に対応する、パッディングされていない参照映像５００上のマクロブロックは、マクロブロック５４０である。現在のマクロブロックＸ５１０と最も類似した参照マクロブロックを参照マクロブロック５３０であるとするとき、参照番号５５０は、現在のマクロブロックＸ５１０の動きベクトルを表す。現在のマクロブロックＸ５１０と最も類似した参照マクロブロックを参照マクロブロック５４０であるとすると、参照番号５６０は、現在のマクロブロックＸ５１０の動きベクトルを表す。すなわち、現在のマクロブロックＸ５１０の動きベクトルは、前述の２つで表現できる。しかし、動き検出のための所定の探索範囲を逸脱したマクロブロックを表す動きベクトルをデコーダ側に伝送できないので、参照マクロブロック５３０を表す動きベクトル５５０を現在のマクロブロックＸ５１０の動きベクトルとして決定する。
【００４６】
図１１Ａ及び図１１Ｂは、本発明の一実施形態によって副画素の探索を対象とするパノラマ映像の動き推定方法のフローチャートである。
【００４７】
パノラマ映像動き推定部１６０は、現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して前記現在のデータユニットの動きベクトルを予測する（１１０１）。このような動きベクトルの予測は、正画素の探索を対象とするパノラマ映像の動き推定方法と同じである。
【００４８】
パノラマ映像動き推定部１６０は、現在のパノラマ映像の動き推定に利用される基本参照映像である基本入力映像に、境界部の画素値を使用してパッディング領域を付加する（１１０２）。すなわち、基本入力映像の左側パッディング領域には、左側境界部画素値がパッディングされ、基本入力映像の右側パッディング領域には、右側境界部画素値がパッディングされる。
【００４９】
次いで、パノラマ映像動き推定部１６０は、ステップ１１０２でパッディング領域の付加された基本入力映像を拡張して参照映像として使用する（１１０３）。例えば、１／２画素の場合には２倍拡張され、１／４画素の場合には４倍拡張される。
【００５０】
例えば、現在のパノラマ映像の大きさが３５２＊２８８であり、半画素の探索を行う場合、現在のパノラマ映像の大きさは２倍拡張されて、図１２に示すように、（３５２＊２）＊（２８８＊２）となる。図１３Ａに示すように、参照映像の場合には、参照のための基本入力映像（３５２＊２８８）にパッディングの大きさ４のパッディング領域を付加すれば、パッディングされた基本入力映像の大きさは、（４＋３５２＋４）＊（４＋２８８＋４）となり、このようにパッディングされた基本入力映像は２倍拡張されて、（４＋３５２＋４）＊２＊（４＋２８８＋４）＊２の大きさとなる。
【００５１】
パノラマ映像動き推定部１６０は、現在のデータユニットの動きベクトルを予測した後、前記予測された動きベクトルが表す参照データユニットの画素Ｘが、参照映像から基本入力映像領域に属するか否かを判断する（１１０４）。
【００５２】
参照データユニットの画素Ｘが、参照映像のうち基本入力映像領域に属する場合には、そのまま画素Ｘの画素値を獲得する（１１０５）。
【００５３】
参照データユニットの画素Ｘが参照映像のパッディング領域または参照映像の外側に属する場合には、画素Ｘのｘ座標を前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、減算した値を前記副画素のｘ座標に設定して、それに該当する画素値を獲得する（１１０６）。すなわち、画素Ｘが参照映像の左側パッディング領域または参照映像の左側の外側領域に属する場合には、画素Ｘのｘ座標を前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標から減算した値を前記副画素のｘ座標に設定する。そして、画素Ｘが参照映像の右側パッディング領域または参照映像の右側の外側領域に属する場合には、画素Ｘのｘ座標を前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算した値を前記副画素のｘ座標に設定する。
【００５４】
例えば、図１３Ｂに示すように、参照データユニット内の画素Ａの座標は（３０，５０）であって、参照映像の基本入力映像の領域に属するので、そのまま画素Ａの画素値を獲得すればよい。
【００５５】
参照データユニット内の画素Ｂの座標は（４，５０）であって、参照映像のパッディング領域に属する。画素Ｂの近くにある基本入力映像の一つの境界のｘ座標は７であり、画素Ｂと前記基本入力映像の一つの境界との間の距離は３である。前記基本入力映像領域の他の境界のｘ座標は７１１であり、７１１−３＝７０８であるので、前記画素Ｂのｘ座標を７０８に設定する。すなわち、画素Ｂの画素値は、画素Ｂ’の座標（７０８，５０）から獲得する。
【００５６】
参照データユニット内の画素Ｃの座標は（−５，１００）であって、参照映像の外側に位置する。画素Ｃの近くにある基本入力映像の一つの境界のｘ座標は７であり、画素Ｃと前記基本入力映像の一つの境界との間の距離は１２である。前記基本入力映像領域の他の境界のｘ座標は７１１であり、７１１−１２＝６９９であるので、前記画素Ｃのｘ座標を６９９に設定する。すなわち、画素Ｃの画素値は、画素Ｃ’の座標（６９９，１００）から獲得する。
【００５７】
このように、本実施形態では、パッディング領域に存在する画素値を求める場合、パッディング領域に存在する画素値は、意味のない値であるので、反対側の境界領域の画素値を利用せねばならない。すなわち、パッディング領域を従来のような方式で行う場合には、パッディング領域に存在する画素や参照映像の外側に存在する画素の何れも反対側の境界領域の画素値を利用せねばならない。
【００５８】
次いで、パノラマ映像動き推定部１６０は、参照データユニットの全ての画素値を獲得したか否かを判断し（１１０７）、全ての画素値を獲得した場合には、所定の評価関数を利用して現在のデータユニットと参照データユニットとの類似度を評価し（１１０８）、全ての画素値を獲得していない場合には、次の画素値を獲得するために、ステップ１１０４に進む。前記所定の評価関数としては、ＳＡＤ関数、ＳＡＴＤ関数またはＳＳＤ関数を利用することが一般的である。
【００５９】
次いで、パノラマ映像動き推定部１６０は、所定の探索範囲内で参照データユニットの位置を変更し、変更された参照データユニットと現在のデータユニットとの類似度を評価する（１１０９、１１１０）。パノラマ映像動き推定部１６０は、所定の探索範囲内で複数の参照データユニットと現在のデータユニットとの類似度の評価が完了すれば、前記複数の参照データユニットのうち、現在のデータユニットと最も類似した参照データユニットを決定し、その参照データユニットを表す動きベクトルを生成する（１１１１）。
【００６０】
図１４Ａ及び図１４Ｂは、本発明の他の実施形態によって副画素の探索を対象とするパノラマ映像の動き推定方法のフローチャートである。
【００６１】
パノラマ映像動き推定部１６０は、現在のデータユニットに隣接した複数の以前のデータユニットの動きベクトルを利用して、前記現在のデータユニットの動きベクトルを予測する（１４０１）。このような動きベクトルの予測は、正画素の探索を対象とするパノラマ映像の動き推定方法と同じである。
【００６２】
パノラマ映像動き推定部１６０は、基本入力映像の左側パッディング領域には、右側境界領域の画素値を利用してパッディングし、基本入力映像の右側パッディング領域には、左側境界領域の画素値を利用してパッディングする（１４０２）。
【００６３】
次いで、パノラマ映像動き推定部１６０は、ステップ１４０２でパッディング領域の付加された基本入力映像を拡張して参照映像として使用する（１４０３）。例えば、１／２画素の場合には２倍拡張され、１／４画素の場合には４倍拡張される。
【００６４】
例えば、現在のパノラマ映像の大きさが３５２＊２８８であり、副画素の探索を行う場合、現在のパノラマ映像の大きさは２倍拡張され、図１２に示すように、（３５２＊２）＊（２８８＊２）となる。図１５Ａに示すように、参照映像の場合には、参照のための基本入力映像（３５２＊２８８）にパッディングの大きさ４のパッディング領域を付加すれば、パッディングされた基本入力映像の大きさは、（４＋３５２＋４）＊（４＋２８８＋４）となり、このようにパッディングされた基本入力映像は２倍拡張されて、（４＋３５２＋４）＊２＊（４＋２８８＋４）＊２の大きさとなる。もちろん、ここで、パッディング領域を説明すれば、参照映像の左側パッディング領域には、右側境界領域の画素値がパッディングされ、参照映像の右側パッディング領域には、左側境界領域の画素値がパッディングされる。
【００６５】
パノラマ映像動き推定部１６０は、現在のデータユニットの動きベクトルを予測した後、前記予測された動きベクトルが表す参照データユニットの画素Ｂが参照映像に属するか否かを判断する（１４０４）。
【００６６】
参照データユニットの画素Ｘが参照映像に属する場合には、画素Ｘの画素値をそのまま獲得する（１４０５）。
【００６７】
参照データユニットの画素Ｘが参照映像の外側に位置する場合、画素Ｘのｘ座標を、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算した値を画素Ｘのｘ座標に設定して画素値を獲得する（１４０６）。すなわち、画素Ｘが参照映像の左側の外側領域に属する場合には、画素Ｘのｘ座標を、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標から減算した値を前記副画素のｘ座標に設定する。そして、画素Ｘが参照映像の右側の外側領域に属する場合には、画素Ｘのｘ座標を、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算した値を前記副画素のｘ座標に設定する。
【００６８】
例えば、図１５Ｂに示すように、参照データユニットには、座標（３０，５０）を有する画素Ａ、座標（４，５０）を有する画素Ｂ、座標（−５，１００）を有する画素Ｄが存在する。
【００６９】
画素Ａ及び画素Ｂは、参照映像に属し、画素Ｃは、参照映像に属さず、参照映像の外側に属する。また、画素Ａは、参照映像の中でも基本入力映像領域に属し、画素Ｂは、パッディング領域に属する。画素Ａの場合には、当然として基本入力映像に属する画素であるので、その位置の画素値を獲得すればよい。
【００７０】
画素Ｂの場合には、予め参照映像の生成時にパノラマ映像の空間的な相関関係を考慮して、右側境界部領域の画素値でパッディングした領域に属する値であるので、画素Ｂの場合にも、その位置の画素値を獲得すればよい。
【００７１】
参照データユニット内の画素Ｄの座標は、（−５，１００）であって、参照映像の外側に位置する。画素Ｄの近くにある基本入力映像の一つの境界のｘ座標は７であり、画素Ｄと前記基本入力映像の一つの境界との間の距離は１２である。前記基本入力映像領域の他の境界のｘ座標は７１１であり、７１１−１２＝６９９であるので、前記画素Ｄのｘ座標を６９９に設定する。すなわち、画素Ｄの画素値は、画素Ｄ’の座標（６９９，１００）から獲得する。このように、本実施形態では、パッディング領域に存在する画素値を求める場合、パッディング領域に存在する画素値は、既に反対側の境界領域の画素値を利用してパッディングした値であるので、そのまま利用すればよく、参照映像の外側にある画素に対してのみ反対側の境界領域の画素値を計算して利用すればよい。
【００７２】
次いで、パノラマ映像動き推定部１６０は、参照データユニットの全ての画素値を獲得したか否かを判断し（１４０７）、全ての画素値を獲得した場合には、所定の評価関数を利用して現在のデータユニットと参照データユニットとの類似度を評価し（１４０８）、全ての画素値を獲得していない場合には、次の画素値を獲得するために、ステップ１４０４に進む。前記所定の評価関数としては、ＳＡＤ関数、ＳＡＴＤ関数またはＳＳＤ関数を利用することが一般的である。
【００７３】
次いで、パノラマ映像動き推定部１６０は、所定の探索範囲内で参照データユニットの位置を変更し、変更された参照データユニットと現在のデータユニットとの類似度を評価する（１４０９、１４１０）。パノラマ映像動き推定部１６０は、所定の探索範囲内で複数の参照データユニットと現在のデータユニットとの類似度の評価が完了すれば、前記複数の参照データユニットのうち、現在のデータユニットと最も類似した参照データユニットを決定し、その参照データユニットを表す動きベクトルを生成する（１４１１）。
【００７４】
以下では、本発明の一実施形態に係るパノラマ映像の動き補償方法及び装置について説明する。
【００７５】
図１６は、本発明の一実施形態に係るパノラマ映像の動きベクトルデコーダのブロック図である。図１６に示すように、本発明の一実施形態に係るパノラマ映像の動きベクトルデコーダは、可変長復号化部（Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｄｅｃｏｄｅｒ：ＶＬＤ）７１０、逆量子化部７２０、逆変換部７３０、加算部７４０、パノラマ映像動き補償部７５０、クリッピング部７６０及びフレームメモリ７７０を備える。
【００７６】
ＶＬＤ ７１０は、入力ビットストリームを可変長復号する。ＶＬＤ ７１０の出力のうち動きベクトルは、パノラマ映像動き補償部７５０に出力され、現在のマクロブロックと参照マクロブロックとの残差信号は、逆量子化部７２０に出力される。
【００７７】
フレームメモリ７７０には、逆量子化部７２０、逆変換部７３０及びクリッピング部７６０を経て再生された参照映像が保存される。フレームメモリ７７０に保存された参照映像は、新たに入力されたパノラマ映像の動き補償に利用される。
【００７８】
パノラマ映像動き補償部７５０は、フレームメモリ７７０に保存された参照パノラマ映像を利用して、本発明に係る動き補償を行う。図５に示すようなパノラマ映像動きベクトルエンコーダから伝送された現在のマクロブロックの動きベクトルを入力されて、現在のマクロブロックに対応する参照マクロブロックをフレームメモリ７７０から読み出して加算部７４０に出力する。さらに、加算部７４０は、逆量子化部７２０及び逆変換部７３０によりそれぞれ逆量子化及び逆変換された、現在のマクロブロックと参照マクロブロックとの残差信号を入力される。
【００７９】
加算部７４０は、現在のマクロブロックと参照マクロブロックとの残差信号と、パノラマ映像動き補償部７５０から参照マクロブロックとを入力されて現在のマクロブロックを再生する。クリッピング部７６０は、加算部７４０から出力された再生された現在のマクロブロックを正規化する機能を行う。
【００８０】
以下では、図面を参照してパノラマ映像動き補償部７５０の動作をさらに詳細に説明する。図１７は、本発明の一実施形態に係るパノラマ映像の動き補償方法のフローチャートである。
【００８１】
パノラマ映像動き補償部７５０は、動き補償を行う現在のデータユニットの動きベクトルをＶＬＤ ７１０から入力される（９１０）。本実施形態で、データユニットは、１６Ｘ１６の大きさのマクロブロックである。
【００８２】
パノラマ映像動き補償部７５０は、前記現在のマクロブロックの動きベクトルが表す参照マクロブロックが参照映像内に存在するか否かを判断する（９２０）。参照映像は、フレームメモリ７７０に保存されている。
【００８３】
正画素探索の場合には、現在のマクロブロックの動きベクトルが表す参照マクロブロックの全ての画素が参照映像内に存在すれば、参照マクロブロックの全ての画素値をフレームメモリ７７０から獲得した後（９５０）、現在のマクロブロックを再生する（９６０）。
【００８４】
加算部７４０は、逆変換部７３０から出力された、現在のマクロブロックと参照マクロブロックとの残差信号と、パノラマ映像動き補償部７５０から出力された参照マクロブロックとを入力されて現在のマクロブロックを再生する。
【００８５】
しかし、現在のマクロブロックの動きベクトルが表す参照マクロブロックの一部または全画素が、図８Ａまたは図８Ｂに示すように、参照映像の左側境界または右側境界のうち一つの境界の外側に存在すれば、前記参照映像の他の一つの境界から所定範囲までの映像を、前記一つの境界の外側にパッディングする（９３０）。本発明では、３６０°全方向映像を含むパノラマ映像の右側境界部分と左側境界部分との空間的な相関関係の非常に高い性質を利用して、図９に示すように、参照映像の外側領域をパッディングする。
【００８６】
パノラマ映像動き補償部７５０は、ステップ９３０によって参照映像をパッディングした後、パッディングされた参照映像から参照マクロブロックの全ての画素値をフレームメモリ７７０から獲得する（９４０）。
【００８７】
一方、前述のようなパッディング過程を行わず、前記参照映像の左側境界と右側境界とを連結して、前記参照映像が円筒形の映像であると仮定することによって、前記円筒形の映像から前記参照データユニットの全ての画素値を得てもよい。さらに具体的に説明すれば、参照映像は、図４Ｂに示すような２次元平面映像である。このような２次元平面映像の左側境界と右側境界とを連結すれば、図４Ａに示すような円筒形の映像となる。参照映像が円筒形の映像であると仮定すれば、前記円筒形の映像から前記参照データユニットの全ての画素値が得られる。
【００８８】
最後に、加算部７４０は、現在のマクロブロックと参照マクロブロックとの残差信号と、パノラマ映像動き補償部７５０から出力された参照マクロブロックとを入力されて現在のマクロブロックを再生する（９６０）。
【００８９】
半画素探索の場合には、本発明の一実施形態によって、現在のパノラマ映像の動き補償に利用される基本参照映像の左側パッディング領域には、右側境界部領域を利用してパッディングし、前記基本参照映像の右側パッディング領域には、左側境界部領域を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像をフレームメモリに保存し、入力された動きベクトルが表す参照データユニットに含まれると共に動き検索対象である副画素が前記参照映像に属する場合、前記副画素の画素値をそのまま動き補償に利用し、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、画素値を得る。
【００９０】
半画素探索の場合、本発明の他の実施形態によって、現在のパノラマ映像の動き補償に利用される基本参照映像の左側パッディング領域には、左側境界部画素値を利用してパッディングし、基本参照映像の右側パッディング領域には、右側境界部画素値を利用してパッディングした後、パッディングされた映像を拡張して生成された参照映像をフレームメモリに保存して、現在のデータユニットの動きベクトルが表す参照データユニットに含まれると共に動き検索対象である副画素が基本入力映像領域に属する場合には、その画素の画素値をそのまま獲得し、副画素が、前記参照映像のパッディング領域または参照映像の外側に属する場合、前記副画素の近くにある前記基本参照映像の一つの境界と前記副画素との間のｘ軸上での距離を前記基本参照映像の他の境界のｘ座標に加算するか、または減算した値を前記副画素のｘ座標値に設定して、画素値を獲得する。
【００９１】
また、前記の説明では、主に参照映像の左側境界領域の画素値を利用して右側領域の画素値として利用し、参照映像の右側境界領域の画素値を利用して左側領域の画素値として利用するように、参照映像の横方向についてのみ主に説明されたが、これは、パノラマ映像の特性上、左側境界と右側境界との空間的な相関性が高いので、横方向について説明されたものである。しかし、このような本発明に係る方法は、横方向だけでなく、映像の上側境界領域と下側境界領域との空間的な相関関係が高ければ、縦方向にも適用されうるということは、当業者ならば十分に理解できるであろう。
【００９２】
また、本発明は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られうるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ、磁気テープ、フレキシブルディスク、光データ保存装置などがあり、またキャリアウェーブ、例えば、インターネットを介した伝送）の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存され、かつ実行されうる。
【００９３】
以上、本発明についてその望ましい実施形態を中心に説明した。当業者は、本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態で具現されうるということが理解できるであろう。本発明の範囲は、前述の説明ではなく、特許請求の範囲に記載されており、それと同等な範囲内にある全ての差異点は、本発明に含まれたものと解釈されねばならない。
【図面の簡単な説明】
【００９４】
【図１】従来の技術による現在のマクロブロックの動きベクトルの予測に利用される複数の以前のマクロブロックを示す図面である。
【図２Ａ】現在のマクロブロックの動きベクトルの予測に利用する以前のマクロブロックが存在しない場合を示す図面である。
【図２Ｂ】現在のマクロブロックの動きベクトルの予測に利用する以前のマクロブロックが存在しない場合を示す図面である。
【図２Ｃ】現在のマクロブロックの動きベクトルの予測に利用する以前のマクロブロックが存在しない場合を示す図面である。
【図３】従来の技術による参照映像のパッディング方法を説明するための図面である。
【図４Ａ】３６０°全方向映像を含む円筒形の映像を示す図面である。
【図４Ｂ】図４Ａに示す円筒形の映像に対応する２次元パノラマ映像を示す図面である。
【図５】本発明の一実施形態に係るパノラマ映像の動きベクトルエンコーダのブロック図である。
【図６Ａ】本発明の一実施形態に係るパノラマ映像の動き推定方法のフローチャートである。
【図６Ｂ】本発明の一実施形態に係るパノラマ映像の動き推定方法のフローチャートである。
【図７Ａ】現在のマクロブロックの動きベクトルの予測に利用する以前のマクロブロック選択の一例を示す図面である。
【図７Ｂ】現在のマクロブロックの動きベクトルの予測に利用する以前のマクロブロック選択の他の一例を示す図面である。
【図８Ａ】参照マクロブロックが参照映像の境界にわたって存在する場合を示す図面である。
【図８Ｂ】参照マクロブロックが参照映像の外側領域に存在する場合を示す図面である。
【図９】本発明の一実施形態に係る参照映像のパッディング方法を説明するための図面である。
【図１０】現在のマクロブロックＸの動きベクトルを示す図面である。
【図１１Ａ】本発明によって半画素の動き検索方法過程の一実施形態を示すフローチャートである。
【図１１Ｂ】本発明によって半画素の動き検索方法過程の一実施形態を示すフローチャートである。
【図１２】図１１Ａ及び図１１Ｂに示す動き検索方法の過程を説明するための基本入力フレームの一例を示す図面である。
【図１３Ａ】図１１Ａ及び図１１Ｂの一実施形態を説明するために、図１２に示す基本入力フレームにパッディング領域を付加し、２倍拡大した参照フレームの一例を示す図面である。
【図１３Ｂ】図１１Ａ及び図１１Ｂの一実施形態によって、２倍拡大された参照フレームで、パッディング領域に属する画素値の処理を説明するための参考図である。
【図１４Ａ】本発明によって半画素動きの検索方法の過程の他の実施形態を示すフローチャートである。
【図１４Ｂ】本発明によって半画素動きの検索方法の過程の他の実施形態を示すフローチャートである。
【図１５Ａ】図１４Ａ及び図１４Ｂの他の実施形態を説明するために、図１２に示す基本入力フレームにパッディング領域を付加し、２倍拡大した参照フレームの一例を示す図面である。
【図１５Ｂ】図１４Ａ及び図１４Ｂの他の実施形態によって、２倍拡大された参照フレームでパッディング領域に属する画素値及び参照フレームの外側に位置した画素値の処理を説明するための参考図である。
【図１６】本発明の一実施形態に係るパノラマ映像の動きベクトルデコーダのブロック図である。
【図１７】本発明の一実施形態に係るパノラマ映像の動き補償方法のフローチャートである。
【符号の説明】
【００９５】
１１０    変換部
１１５    量子化部
１２０    逆量子化部
１２５    逆変換部
１３０    加算部
１４０    クリッピング部
１５０    フレームメモリ
１６０    パノラマ映像動き推定部
１７０    パノラマ映像動き補償部
１８０    減算部
１９０    可変長符号化部
７１０    可変長復号化部
７２０    逆量子化部
７３０    逆変換部
７４０    加算部
７５０    パノラマ映像動き補償部
７６０    クリッピング部
７７０    フレームメモリ
【図１】
2008510359.tif 000003
【図２Ａ】
2008510359.tif 000004
【図２Ｂ】
2008510359.tif 000005
【図２Ｃ】
2008510359.tif 000006
【図４Ａ】
2008510359.tif 000007
【図４Ｂ】
2008510359.tif 000008
【図５】
2008510359.tif 000009
【図６Ａ】
2008510359.tif 000010
【図６Ｂ】
2008510359.tif 000011
【図７Ａ】
2008510359.tif 000012
【図７Ｂ】
2008510359.tif 000013
【図８Ａ】
2008510359.tif 000014
【図８Ｂ】
2008510359.tif 000015
【図９】
2008510359.tif 000016
【図１０】
2008510359.tif 000017
【図１１Ａ】
2008510359.tif 000018
【図１１Ｂ】
2008510359.tif 000019
【図１２】
2008510359.tif 000020
【図１３Ａ】
2008510359.tif 000021
【図１３Ｂ】
2008510359.tif 000022
【図１４Ａ】
2008510359.tif 000023
【図１４Ｂ】
2008510359.tif 000024
【図１５Ａ】
2008510359.tif 000025
【図１５Ｂ】
2008510359.tif 000026
【図１６】
2008510359.tif 000027
【図１７】
2008510359.tif 000028
【図３】
2008510359.tif 000029
【国際調査報告】
2008510359.tif 000030
2008510359.tif 000031