(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5743496
(24)【登録日】2015年5月15日
(45)【発行日】2015年7月1日
(54)【発明の名称】多重参照映像を利用した動き推定方法
(51)【国際特許分類】
H04N 19/105 20140101AFI20150611BHJP
H04N 19/134 20140101ALI20150611BHJP
H04N 19/176 20140101ALI20150611BHJP
H04N 19/196 20140101ALI20150611BHJP
H04N 19/573 20140101ALI20150611BHJP
【FI】
H04N19/105
H04N19/134
H04N19/176
H04N19/196
H04N19/573
【請求項の数】19
【全頁数】25
(21)【出願番号】特願2010-249899(P2010-249899)
(22)【出願日】2010年11月8日
(65)【公開番号】特開2011-101374(P2011-101374A)
(43)【公開日】2011年5月19日
【審査請求日】2013年11月6日
(31)【優先権主張番号】10-2009-0107191
(32)【優先日】2009年11月6日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
(73)【特許権者】
【識別番号】592127149
【氏名又は名称】韓国科学技術院
【氏名又は名称原語表記】KOREA ADVANCED INSTITUTE OF SCIENCE AND TECHNOLOGY
(74)【代理人】
【識別番号】110000051
【氏名又は名称】特許業務法人共生国際特許事務所
(72)【発明者】
【氏名】羅 炳 斗
(72)【発明者】
【氏名】朴 玄 旭
(72)【発明者】
【氏名】全 東 山
【審査官】
川崎 優
(56)【参考文献】
【文献】
国際公開第2008/080158(WO,A1)
【文献】
Shen,L., et al,An Adaptive and Fast H.264 Multi-Frame Selection Algorithm Based on Information from Previous Searches,Proc. of Int. Conf. on Multimedia and Expo 2007,2007年 7月,P.1591-1594
【文献】
松尾翔平ほか,複数参照フレームによる動き補償の処理量削減に関する検討,電子情報通信学会2006年総合大会講演論文集 情報・システム2 PROCEEDINGS OF THE 2006 IEICE GENERAL CONFERENCE,2006年 3月,p.10
【文献】
Lee,H.,et al,Effective multi-frame motion estimation method for H.264,Proc. of Picture Coding Symp. 2009,2009年 5月
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−98
(57)【特許請求の範囲】
【請求項1】
時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、
(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報を分析する段階と、
(b)前記周辺ブロックの参照インデックス情報が同一である場合には、前記複数の参照映像のうち、前記周辺ブロックの参照インデックス情報が示す一つの参照映像を選択し、前記選択された一つの参照映像に対して前記現在ブロックの動き推定を行う段階と、
(c)前記周辺ブロックの参照インデックス情報が同一ではない場合には、前記複数の参照映像の全てに対して前記現在ブロックの動き推定を行う段階と、を含み、
前記(b)段階は、
前記周辺ブロックの参照インデックス情報が、同一であるとしても、
(b1)前記現在ブロック及び前記周辺ブロックのブロックサイズ、前記周辺ブロックの前記現在ブロックに対する位置、及び前記周辺ブロックの参照インデックスが示す参照映像に基づいて、前記複数の参照映像のうち、前記一つの参照映像を選択するか否かを決定する段階をさらに含むことを特徴とする多重参照映像を利用した動き推定方法。
【請求項2】
前記(b)段階は、
前記現在ブロックのサイズが、前記動き推定方法によって発生した参照インデックス情報を伝送できる最小ブロックのサイズより小さい場合、前記参照インデックスを発生できる最小ブロックの参照インデックス情報が示す参照映像に対して前記現在ブロックの動き推定を行うことを特徴とする請求項1に記載の多重参照映像を利用した動き推定方法。
【請求項3】
前記(b1)段階は、
前記現在ブロック及び前記周辺ブロックのブロックサイズが、動き推定を行う最大ブロックのサイズより小さい場合、前記現在ブロックの上位ブロックの参照インデックス情報が、前記周辺ブロックの参照インデックス情報と同一であるか否かに基づいて、前記周辺ブロックの参照インデックスが示す参照映像を前記一つの参照映像に選択するか否かを決定する段階を含むことを特徴とする請求項1に記載の多重参照映像を利用した動き推定方法。
【請求項4】
時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、
(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報、及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックとの参照インデックス情報を分析する段階と、
(b)前記現在ブロックの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数、及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数の線形組み合わせ値に基づいて、前記複数の参照映像のうち何れか一つの参照映像を選択し、
前記選択された一つの参照映像に対して前記現在ブロックの動き推定を行う段階と、
を含むことを特徴とする多重参照映像を利用した動き推定方法。
【請求項5】
前記(b)段階は、
(b1)前記線形組み合わせ値が、既定の臨界値より大きい場合には、前記同じ参照インデックス情報が示す参照映像に対して前記現在ブロックの動き推定を行う段階と、
(b2)前記線形組み合わせ値が、前記既定の臨界値より小さい場合には、前記複数の参照映像の全てに対して前記現在ブロックの動き推定を行う段階と、
を含むことを特徴とする請求項4に記載の多重参照映像を利用した動き推定方法。
【請求項6】
前記(b)段階において、
前記第1ブロックの数と前記第2ブロックの数のそれぞれに相異なる加重値を乗算して前記線形組み合わせ値を得、前記第1ブロックの数に対する加重値は、前記第2ブロックの数に対する加重値より大きいことを特徴とする請求項4に記載の多重参照映像を利用した動き推定方法。
【請求項7】
時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、
(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの動きベクトルの平均値のノーム(norm)値(ベクトル成分の2乗和の平方根値)に基づいて、現在ブロックの動きベクトルのノーム値を予測する段階と、
(b)前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を計算する段階と、
(c)前記計算された事後確率が最大となる参照映像を前記現在ブロックの参照映像に選択し、前記選択された参照映像に対して前記現在ブロックの動き推定を行う段階と、
を含むことを特徴とする多重参照映像を利用した動き推定方法。
【請求項8】
前記(a)段階は、
(a1)実測された前記現在ブロックの動きベクトルのノーム値と前記周辺ブロックの動きベクトルの平均値のノーム値との関係を表わす複数の訓練サンプルを発生させる段階と、
(a2)前記訓練サンプルのうち、最小エラーを有する訓練サンプルに相応する前記周辺ブロックの動きベクトルの平均値のノーム値を前記現在ブロックの動きベクトルのノーム値として予測する段階と、
を含むことを特徴とする請求項7に記載の多重参照映像を利用した動き推定方法。
【請求項9】
前記(b)段階は、
(b1)前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事前確率を計算する段階と、
(b2)前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する確率密度関数を計算する段階と、
(b3)前記計算された事前確率及び確率密度関数に基づいて、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率を計算する段階と、
を含むことを特徴とする請求項7に記載の多重参照映像を利用した動き推定方法。
【請求項10】
時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、
(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報、及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックとのインデックス情報を分析する段階と、
(b)前記現在ブロックの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数、及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数を線形に組み合わせて第1の線形組み合わせ値を得る段階と、
(c)前記現在ブロックの周辺ブロックの動きベクトルの平均値のノームに基づいて、現在ブロックの動きベクトルのノーム値を予測し、前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルの値のノーム値の前記複数の参照映像に対する事後確率を計算する段階と、
(d)前記複数の参照映像のそれぞれに対する前記第1の線形組み合わせ値と、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率とを線形に組み合わせて第2の線形組み合わせ値を得、前記第2の線形組み合わせ値の大きさによって順次に前記複数の参照映像に対する動き推定を行う段階と、
を含むことを特徴とする多重参照映像を利用した動き推定方法。
【請求項11】
前記(b)段階において、
前記第1ブロックの数と前記第2ブロックの数のそれぞれに相異なる加重値を乗算して前記第1の線形組み合わせ値を得、前記第1ブロックの数に対する加重値は、前記第2ブロックの数に対する加重値より大きいことを特徴とする請求項10に記載の多重参照映像を利用した動き推定方法。
【請求項12】
前記(d)段階において、
前記第1の線形組み合わせ値と前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率のそれぞれに、相異なる加重値を乗算して前記第1の線形組み合わせ値を得、
前記第1の線形組み合わせ値に対する加重値は、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率に対する加重値より大きいことを特徴とする請求項10に記載の多重参照映像を利用した動き推定方法。
【請求項13】
前記(c)段階で、前記現在ブロックの周辺ブロックの動きベクトルの平均値のノームに基づいて、現在ブロックの動きベクトルのノーム値を予測する段階は、
(c1)実測された前記現在ブロックの動きベクトルのノーム値と前記周辺ブロックの動きベクトルの平均値のノーム値との関係を表わす複数の訓練サンプルを発生させる段階と、
(c2)前記訓練サンプルのうち、最小エラーを有する訓練サンプルに相応する前記周辺ブロックの動きベクトルの平均値のノーム値を前記現在ブロックの動きベクトルのノーム値として予測する段階と、
を含むことを特徴とする請求項10に記載の多重参照映像を利用した動き推定方法。
【請求項14】
前記(c)段階で、前記現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を計算する段階は、
(c4)前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事前確率を計算する段階と、
(c5)前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する確率密度関数を計算する段階と、
(c6)前記計算された事前確率及び確率密度関数に基づいて、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率を計算する段階と、
を含むことを特徴とする請求項10に記載の多重参照映像を利用した動き推定方法。
【請求項15】
時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、
(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報、及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックのインデックス情報を分析する段階と、
(b)前記周辺ブロックの参照インデックス情報が同一であるか否か、前記現在ブロック及び前記周辺ブロックのブロックサイズ、前記周辺ブロックの前記現在ブロックに対する位置、及び前記周辺ブロックの参照インデックスが示す参照映像に基づいて、前記複数の参照映像のうち、前記一つの参照映像を選択するか否かを決定する段階と、
(c)前記(b)段階で、前記複数の参照映像のうち、前記一つの参照映像が選択された場合には、前記選択された一つの参照映像に対してのみ前記現在ブロックの動き推定を行う段階と、
(d)前記(b)段階で、前記複数の参照映像のうち、前記一つの参照映像が選択されていない場合には、前記現在ブロックの周辺ブロック及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとが同じ参照インデックスを有するか否かと、前記現在ブロックの周辺ブロックの動きベクトルに基づいて予測された前記現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率の線形組み合わせを行い、得られた線形組み合わせ値の大きさ順に前記複数の参照映像に対する動き推定を行う段階と、
を含むことを特徴とする多重参照映像を利用した動き推定方法。
【請求項16】
前記(d)段階は、
(d1)前記現在ブロックの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数を線形組み合わせて第1の線形組み合わせ値を得る段階と、
(d2)前記現在ブロックの周辺ブロックの動きベクトルの平均値のノームに基づいて、現在ブロックの動きベクトルのノーム値を予測し、前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を計算する段階と、
(d3)前記第1の線形組み合わせ値と、前記現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率とを線形に組み合わせて得た第2の線形組み合わせ値の大きさによって順次に前記複数の参照映像に対する動き推定を行う段階と、
を含むことを特徴とする請求項15に記載の多重参照映像を利用した動き推定方法。
【請求項17】
前記(d2)段階で、前記現在ブロックの周辺ブロックの動きベクトルの平均値のノームに基づいて、現在ブロックの動きベクトルのノーム値を予測する段階は、
(d21)実測された前記現在ブロックの動きベクトルのノーム値と前記周辺ブロックの動きベクトルの平均値のノーム値との関係を表わす複数の訓練サンプルを発生させる段階と、
(d22)前記訓練サンプルのうち、最小エラーを有する訓練サンプルに相応する前記周辺ブロックの動きベクトルの平均値のノーム値を前記現在ブロックの動きベクトルのノーム値として予測する段階と、
を含むことを特徴とする請求項16に記載の多重参照映像を利用した動き推定方法。
【請求項18】
前記(d2)段階で、前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を計算する段階は、
(d23)前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事前確率を計算する段階と、
(d24)前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する確率密度関数を計算する段階と、
(d25)前記計算された事前確率及び確率密度関数に基づいて、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率を計算する段階と、
を含むことを特徴とする請求項16に記載の多重参照映像を利用した動き推定方法。
【請求項19】
請求項1、4、7、10、15のうちの何れか一項に記載の多重参照映像を利用した動き推定方法を実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イメージ圧縮技術に係り、より詳細には、多重参照映像を利用したビデオ信号圧縮時に、演算量を効率的に減らすと同時に、最適の参照映像に対する動き推定を行う方法に関する。
【背景技術】
【0002】
最近、移動通信及び衛星通信の急速な発達につれて、情報化社会における無線通信サービスの役割がますます重要となり、従来の音声や文字情報の伝送だけではなく、無線でインターネットに接続するか、動画通信が可能なマルチメディア無線通信サービスが普及している。特に、IMT−2000事業と衛星DMB(Digital Multimedia Broadcasting)システムを利用した第4世代移動通信などでは、高画質の動画をリアルタイムで伝送できる環境が構築されている。
【0003】
このような技術の商用化は、アナログ映像信号をデジタル信号に圧縮して符号化(Encoding)した後、これをデジタル信号として送信し、受信された端末機では、これを再び復号化(Decoding)する多様な映像圧縮技術の発達につれて可能になった。このような映像信号の符号化は、国際標準化機構であるISO/IEC傘下のMPEG(Moving Picture Expert Group)とITU−T傘下のVCEG(Video Coding Expert Group)が主導している。現在、最新の映像信号符号化標準であるH.264/AVC(Advanced Video Coding)もMPEGとVCEGとが共同で結成したJVT(Joint VideoTeam)によって完成された。
【0004】
H.264/ACVには、MPEG−2、MPEG−4、H.261、H.263などの既存の他のビデオコーデック(codec)とは異なる多様な技術を導入することによって、既存コーデックに比べて卓越した圧縮性能を示す。例えば、H.264/AVCは、4X4ブロックに対する動き推定(motion estimation)を行うことによって、16X16サイズのマクロブロック(macro block)で最大16個の4X4ブロックに対する動き推定を行い、動きベクトル(motion vector)の解像度を1/4ピクセル(pixel)まで高めることで、既存コーデックに比べてより精巧な動き推定過程を実行できる。
【0005】
しかし、H.264/AVCは、複数の参照映像を用いて画面間の残差信号(residual)を求めているので、動き推定過程の複雑度が既存のコーデックに比べて増加し、動きベクトルの推定精度は向上できるけれども、動き推定過程の演算処理時間が増加する原因となる。このようなH.264/AVC化過程での複雑性は、H.264/AVCのリアルタイムビデオ符号化器のようなアプリケーション(application)への適用を困難にし、よって、圧縮性能を維持しつつ、効率的に複雑度を除去できる技術が必要となった。このような問題点は、前述したH.264/AVCに限定されるものではなく、これから標準として採択される圧縮技術にも共通して生じるであろう。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする技術的な課題は、複数の参照映像を用いて動き推定を行い、動きベクトルの解像度が高くなっても、高速で動き推定を行うことができる方法を提供することである。
【課題を解決するための手段】
【0007】
前記技術的課題を解決するための本発明の実施形態による多重参照映像を利用した動き推定方法は、時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報を分析する段階と、(b)前記周辺ブロックの参照インデックス情報が同一である場合には、前記複数の参照映像のうち、前記周辺ブロックの参照インデックス情報が示す一つの参照映像を選択し、前記選択された一つの参照映像に対して前記現在ブロックの動き推定を行う段階と、前記周辺ブロックの参照インデックス情報が同一ではない場合には、前記複数の参照映像の全てに対して前記現在ブロックの動き推定を行う段階と、を含むことを特徴とする。
【0008】
前記技術的課題を解決するための本発明の他の実施形態による多重参照映像を利用した動き推定方法は、時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報、及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックとの参照インデックス情報を分析する段階と、(b)前記現在ブロックの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数、及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数の線形組み合わせ値に基づいて、前記複数の参照映像のうち何れか一つの参照映像を選択し、前記選択された一つの参照映像に対して前記現在ブロックの動き推定を行う段階と、を含むことを特徴とする。
【0009】
前記技術的課題を解決するための本発明の他の実施形態による多重参照映像を利用した動き推定方法は、時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの動きベクトルの平均値のノーム(norm)値(ベクトル成分の2乗和の平方根値)に基づいて、現在ブロックの動きベクトルのノーム値を予測する段階と、(b)前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率を計算する段階と、(c)前記計算された事後確率が最大となる参照映像を前記現在ブロックの参照映像に選択し、前記選択された参照映像に対して前記現在ブロックの動き推定を行う段階と、を含むことを特徴とする。
【0010】
前記技術的課題を解決するための本発明の他の実施形態による多重参照映像を利用した動き推定方法は、時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、(a)現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報、及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックとのインデックス情報を分析する段階と、(b)前記現在ブロックの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数を線形に組み合わせて第1の線形組み合わせ値を得る段階と、(c)前記現在ブロックの周辺ブロックの動きベクトルの平均値のノームに基づいて、現在ブロックの動きベクトルのノーム値を予測し、前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルの値のノーム値の前記複数の参照映像に対する事後確率を計算する段階と、(d)前記複数の参照映像のそれぞれに対する前記第1の線形組み合わせ値と、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率とを線形に組み合わせて第2の線形組み合わせ値を得、前記第2の線形組み合わせ値の大きさによって順次に前記複数の参照映像に対する動き推定を行う段階と、を含むことを特徴とする。
【0011】
前記技術的課題を解決するための本発明の他の実施形態による多重参照映像を利用した動き推定方法は、時間的に先行する複数のフレームのビデオ信号を、複数の参照映像として用いる動き推定方法であって、現在ブロックの周辺ブロックのうち、既に符号化が終わった周辺ブロックの参照映像を表わす参照インデックス情報、及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックのインデックス情報を分析する(a)段階と、前記周辺ブロックの参照インデックス情報が同一であるか否か、前記現在ブロック及び前記周辺ブロックのブロックサイズ、前記周辺ブロックの前記現在ブロックに対する位置、及び前記周辺ブロックの参照インデックスが示す参照映像に基づいて、前記複数の参照映像のうち、前記一つの参照映像を選択するか否かを決定する(b)段階と、前記(b)段階で、前記複数の参照映像のうち、前記一つの参照映像が選択された場合には、前記選択された一つの参照映像に対してのみ前記現在ブロックの動き推定を行う(c)段階と、前記(b)段階で、前記複数の参照映像のうち、前記一つの参照映像が選択されていない場合には、前記現在ブロックの周辺ブロック及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとが同じ参照インデックスを有するか否かと、前記現在ブロックの周辺ブロックの動きベクトルに基づいて予測された前記現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率の線形組み合わせを行い、得られた線形組み合わせ値の大きさ順に前記複数の参照映像に対する動き推定を行う(d)段階と、を含むことを特徴とする。
【0012】
前述した本発明の実施形態による動き推定方法のそれぞれは、コンピュータで読み取り可能な記録媒体に保存された前記イメージプロセッシング方法を実行するためのコンピュータプログラムを実行することで具現可能である。
【発明の効果】
【0013】
本発明の実施形態による動き推定方法は、H.264/AVCのように多重参照映像を用いて動き推定を行う映像圧縮標準において、高速で動き推定結果を提供することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態によるコーデックのブロック図である。
【
図2】多重参照映像の原理を説明するための概念図である。
【
図3】本発明の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
【
図4】連続されるフレームの間の複数の参照映像に対する相関関係を説明するための図である。
【
図5】
図3の動き推定方法に利用される現在ブロックとその周辺ブロックとの一例を示す。
【
図6】数式Xで変数aの変化による現在ブロックと周辺ブロックとの相関関係を表わすグラフである。
【
図7】
図3の動き推定に利用される現在ブロックとその周辺ブロックとの位置による例を示す。
【
図8】本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
【
図9】
図8の動き推定方法に利用される現在フレームと直前フレームとのブロックを示す。
【
図10】本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
【
図11】
図10の連続されるフレームに対する動き推定方法での予測された現在ブロックのノーム値の複数の参照映像に対する確率密度関数を表わすグラフである。
【
図12】本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
【
図13】本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
【
図14】
図13の動き推定方法に利用される現在ブロックとその周辺ブロックとを示す。
【
図15】MOBILE CIFシーケンスに対する本発明の実施形態による多重参照映像を利用した動き推定方法の効果を説明するためのグラフである。
【
図16】TEMPETE CIFシーケンスに対する本発明の実施形態による多重参照映像を利用した動き推定方法の効果を説明するためのグラフである。
【
図17】FOREMAN QCIFシーケンスに対する本発明の実施形態による多重参照映像を利用した動き推定方法の効果を説明するためのグラフである。
【発明を実施するための形態】
【0015】
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載の内容を参照しなければならない。以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。各図面に付された同じ参照符号は、同じ部材を表わす。
【0016】
図1は、本発明の実施形態によるH.264/AVCの符号化器100のブロック図である。H.264/AVCのビデオ信号符号化方法は、画面内のブロックの空間的類似性を用いるイントラ(intra)符号化方法と画面間の時間的差によって映像フレームの類似性を用いるインター(inter)符号化方法とに分けられる。すなわち、符号化器100でビデオ信号は、イントラモード(Intra Mode)またはインターモード(Inter Mode)により符号化される。
図1を参照すると、符号化器100は、フレーム保存部105、動き推定部110、動き補償部120、差分器130、変換部140、量子化部150、エントロピー符号化器160、逆量子化部170、逆変換部180、加算器185、フィルター190、モード選択部200、及びイントラ予測部210を含む。
【0017】
動き推定部(Motion estimation block)110は、インターモードで既に符号化が終わりフレーム保存部105に保存した、先行する複数のフレームの参照映像F(n−1)、F(n−2)、...F(n−k)から現在フレームFnに対する動き推定を行う。すなわち、動き推定部110は、一つの参照映像を参照するものではなく、複数の参照映像を参照して動き推定を行い、これを多重参照映像(Multi−Reference Frames)を利用した動き推定と言う。
図2は、多重参照映像の原理を説明するための概念図である。
図2を参照すると、動き推定部110は、時刻nの現在フレーム映像Fnに対する動き推定を、先行するk個(kは2以上の整数とする)のフレームの参照映像F(n−1)、F(n−2)...F(n−k)を用いて実行することが分かる。
【0018】
動き推定には、複数のブロックに対する動きベクトルを探す過程と、複数のブロックに対してビット率とエラーが最も少ない最適のマクロブロックタイプを探すマクロブロックモード決定機能などが含まれる。動き補償部(Motion Compensation Block)120は、動き推定部110で行われた動き推定結果として発生する動きベクトルとマクロブロックモードタイプによって複数の参照映像から現在フレームの補償映像を発生する。差分器130は、現在フレーム映像と動き補償部120から出力される補償映像に基づいて、差分信号を発生して出力する。
【0019】
差分器130から出力される信号は、変換部140による離散余弦変換(Discrete Cosine Transform:DCT)及び量子化部(Quantization block)150による量子化過程を経て出力され、エントロピー符号化器160は、量子化部150から出力される信号を符号化し、該符号化されたビットストリーム(NAL)を出力する。量子化部150から出力される信号は、逆量子化部(Inverse Quantization)170及び逆変換部(Inverse Transform block)180での逆量子化及び逆離散余弦変換過程を経て復元される。前記復元された映像は、加算器185とフィルター190とを経てフレーム保存部105に保存される。モード選択部200によって符号化器100の動作モードがイントラモードに転換されると、イントラ予測部210は、マクロブロックに対する隣接した周りのブロックからのイントラ予測を行い、イントラ予測結果による補償映像を獲得する機能を行う。
【0020】
図3は、本発明の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
図3に示された動き推定方法は、複数の参照映像の全てに対して動き推定を行わず、既に符号化された現在フレームで、現在ブロックの周辺ブロックの情報を用いて選択された一つの参照映像に対してのみ動き推定を行う方法を示す。これは、現在ブロックと既に符号化が終わった現在ブロックの周辺ブロックとの間に存在する動きベクトルの大きさと方向、SAD(Sum of Absolute Differences)値の大きさなどの類似性、すなわち、現在ブロックとその周辺ブロックとの相関関係(Neighboring Referecne Frame Correlation、以下、NRFCと称する)を用いる動き推定方法である。以下、NRFCが、現在ブロックの動き推定のための参照映像を決定するのに適した特徴(Feature)になりうるということを説明する。
【0021】
H.264/AVC標準で、多重参照映像を利用した動き推定時に、参照された映像を表わす参照インデックス情報は、最小8x8ブロックごとに復号化器に伝送されるように定義されており、このような情報は、符号化/復号化時にミスマッチ(Mismatch)を防止するための情報である。
【0022】
図4は、連続するフレームの間の、複数の参照映像に対する相関関係を説明するための図である。
図4を参照すると、現在ブロックの最適の参照映像は、既に符号化が終わった周辺ブロックの最適の参照映像と相当な相関関係を有し、連続するフレームの間では、現在ブロックを基準に画面間/画面内参照インデックス情報に対する相関関係が大きいということが確認できる。参考までに、
図4は、符号化器100が、総5枚の参照映像を利用した動き推定を行う場合であり、Ref0は、現在フレームを基準として直前のフレームの参照映像を、Ref4は、現在フレームから時間的に最も遠く離れたフレームの参照映像を示す。
【0023】
画面内NRFCに対する強い相関関係は、確率モデルを通じて数式的に証明されうる。実際に、多様なビデオシーケンスを通じて使われる参照インデックス情報の分布を分析して見ると、最も近い(直前のフレームの)参照映像が現在フレームの符号化するブロックに対する最適の参照映像として選択される確率が非常に高く、現在フレームから遠くなるほど最適の参照映像に選択される確率が急激に落ちる。
図5は、
図3の動き推定方法に利用される現在ブロックXとその周辺ブロックAないしDの一例を示す。
【0024】
現在ブロックXに対する参照映像インデックス情報ixをランダム変数と定義する時、ixに対する確率分布(Probability Distribution)は、数式1のように指数分布(Exponential Distribution)として定義できる。
【数1】
【0025】
ここで、rは、参照映像の個数を意味し、
は、参照インデックス情報kに対する周辺ブロックの確率を意味する。
は、参照インデックス情報kに対する現在ブロックXと周辺ブロックとの間のNRFC、すなわち、現在ブロックXの参照インデックス情報がkであると同時に、周辺ブロックのうち少なくとも一つのブロックの参照映像の参照インデックス情報がkである時の確率を意味する。
は、周辺ブロックが参照インデックス番号kを有さない確率を意味し、
は、現在ブロックXの参照インデックス情報がkや周辺ブロックのうち或るブロックの参照インデックス情報もkではない確率を意味する。
【0026】
数式2では、数式1でNRFCを意味する
を展開する。
【数2】
【0027】
図6は、数式2で変数aの変化によるNRFCを表わすグラフである。
図6を参照すると、aの変化によるNRFCは、実験的に分析された指数分布と類似している分布を有することが分かるが、これは、NRFCが、現在ブロックXの最適の参照映像を決定するのに適した特徴であることを意味する。
【0028】
以上では、NRFCが、現在ブロックの参照映像を決定する重要な特徴になりうるということを説明した。以下、
図1、
図3、及び
図5を参照して、動き推定部110で行われる本発明の実施形態による動き推定方法を説明する。
【0029】
動き推定部110は、既に符号化が終わった現在ブロックXの周辺ブロックA、B、C、Dの参照映像を表わす参照インデックス情報を分析し(ステップS30)、周辺ブロックA、B、C、Dの参照インデックス情報が、いずれも同一であるか否かを判断する(ステップS31)。周辺ブロックA、B、C、Dの参照インデックス情報が、いずれも同一ではない場合、動き推定部110は、複数の参照映像REF0ないしREF4の全てに対して前記現在ブロックの動き推定を行う(ステップS32)。
【0030】
周辺ブロックA、B、C、Dの参照インデックス情報が、いずれも同一である場合、動き推定部110は、参照映像REF0ないしREF4のうち、周辺ブロックA、B、C、Dの参照インデックス情報が示す一つの参照映像を選択し、前記選択された一つの参照映像に対して前記現在ブロックの動き推定を行う(ステップS33)。この際、動き推定部110は、周辺ブロックA、B、C、Dの参照インデックス情報が、いずれも同一であるとしても、現在ブロックX及び周辺ブロックA、B、C、Dのブロックサイズ、周辺ブロックA、B、C、Dの現在ブロックXに対する位置、及び周辺ブロックA、B、C、Dの参照インデックスが示す参照映像に基づいて、前記複数の参照映像のうち、前記一つの参照映像を選択するか否かを決定できる。
【0031】
また、動き推定部110は、現在ブロックX及び周辺ブロックA、B、C、Dのサイズが、前記動き推定方法によって発生した参照インデックス情報を伝送することができる最小ブロックのサイズより小さな場合、前記最小ブロックの参照インデックス情報が示す参照映像に対してのみ現在ブロックXの動き推定を行うことができる。例えば、H.264/AVCで8x8より小さなブロックサイズに対しては、8x8サイズのブロックと同じ参照映像に対してのみ動き推定を行うことができる。なぜならば、H.264/AVCで参照インデックス情報は、最小8x8サイズのブロックに対してのみ伝送できるからである。
【0032】
また、動き推定部110は、周辺ブロックA、B、C、Dの参照インデックス情報が、いずれも同一であるとしても、現在ブロックX及び周辺ブロックA、B、C、Dのブロックサイズが動き推定を行う最大ブロックのサイズより小さな場合には、現在ブロックXとその上位ブロックとの参照インデックス情報が周辺ブロックA、B、C、Dの参照インデックス情報と同一であるか否かに基づいて、周辺ブロックA、B、C、Dの参照インデックスが示す参照映像を動き推定部110が動き推定を行う一つの参照映像として選択することもできる。これは、現在ブロックXとそれに対する周辺ブロックA、B、C、Dとの位置によって異なって設定しうる。
【0033】
図7は、
図3の動き推定に利用される現在ブロックXとその周辺ブロックとの相対位置の例CASE1、2、3、4を示す。以下、
図1、
図3、及び
図7を参照して、動き推定部110で行われる動き推定過程をさらに具体的に説明する。
【0034】
表1及び表2のそれぞれは、
図7の各ケースで周辺ブロックの参照インデックス情報が、いずれも同一である場合、H.264/AVCによる8x8サイズと16x8及び8x16サイズとの現在ブロックの最適の参照映像を実験的に決定したものである。
【表1】
【表2】
【0035】
表2の太線ボックスで表示された場合を例とすれば、第1ケースCASE1のブロック配列において、現在ブロックXのサイズは8x8であり、周辺ブロックの参照インデックス情報が、いずれもREF2の参照映像を示しているならば、動き推定部110は、現在8x8ブロックに対しては、5枚の参照映像を用いて動き推定を行わず、REF2に対応する参照映像に対してのみ動き推定を実行できる。この際、H.264/AVCによれば、8x8サイズより小さなブロックに対しては、現在ブロックXと同じREF2に対応する参照映像に対してのみ動き推定が行われる。これは、H.264/AVCで参照インデックス情報は、最小8x8ブロックに対してのみ伝送できるからである。前述した過程は、表1及び表2でO(ENABLE)に表示された場合に、同様に適用可能である。
【0036】
しかし、表2の太線ボックスの右側ボックスを例とすれば、第2ケースCASE2のブロック配列において、現在ブロックXのサイズは8x8であり、周辺ブロックの参照インデックス情報が、いずれもREF2の参照映像を示しているとしても、動き推定部110は、現在8x8ブロックに対しては、REF2に対応する参照映像のみを用いて動き推定を行うものではなく、5枚の参照映像をいずれも用いて動き推定を行う。前述した過程は、表1及び表2でX(DISABLE)が表示された場合に、同様に適用可能である。
【0037】
表2で、第4ケースCASE4のブロック配列においては、現在ブロックXのサイズは8x8であり、周辺ブロックの参照インデックス情報が、いずれもREF3の参照映像を示し、現在ブロックXの上位ブロックの参照インデックス情報が周辺ブロックの参照インデックス情報と同一である場合にのみ、動き推定部110は、REF3に相応する参照映像に対してのみ動き推定を行い、そうではない場合には、5枚の参照映像をいずれも用いて動き推定を行う。前述した過程は、表1及び表2でR(REFINEMENT)が表示された場合に、同様に適用可能である。
【0038】
表3は、Rが表示された場合において、現在ブロックの上位ブロックを定義したものである。
【表3】
【0039】
表3を参照すると、マクロブロックのサイズが16x16である場合、1番目の16x8サイズのブロック及び1番目の8x16サイズのブロックの上位ブロックは、16x16サイズのマクロブロックであり、2番目の16x8サイズのブロックの上位ブロックは、1番目の16x8サイズのブロックであり、2番目の8x16サイズのブロックの上位ブロックは、1番目の8x16サイズのブロックであるということが分かる。また、1番目ないし4番目の8x8サイズのブロックそれぞれの上位ブロックは、前記8x8サイズのブロックのそれぞれを含む上位ブロックである16x16サイズのブロック、16x8サイズのブロック、8x16サイズのブロックのうち一つの上位ブロックになりうるということが分かる。
【0040】
前述したように、
図3の動き推定方法は、NRFCを用いて複数の参照映像のうち、現在ブロックに対する一つの最適の参照映像を選択し、該選択された参照映像に対してのみ動き推定を行い、残りの参照映像に対する動き推定を行わないこともあるので、既存の多重参照映像を利用した動き推定方法に比べて、高速の動き推定結果を提供することができる。
【0041】
図8は、本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
図8の動き推定方法は、現在フレーム内のNRFCと現在フレームと直前フレームとの間のNRFCとをともに利用する。
図9は、
図8の動き推定方法に利用される現在フレームと直前フレームとのブロックを示す。以下、
図1、
図8、及び
図9を参照して、前記動き推定方法を具体的に説明する。
【0042】
動き推定部110は、既に符号化が終わった現在ブロックXの周辺ブロックの参照インデックス情報及び前記現在ブロックXの位置に対応する直前フレームのブロックX’とその周辺ブロックとの参照インデックス情報を分析して(ステップS80)、前記現在ブロックXの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数及び前記現在ブロックXの位置に対応する前記直前フレームのブロックX’とその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数の線形組み合わせ値を計算する(ステップS81)。この際、前記第1ブロックの数と前記第2ブロックの数には、相異なる加重値が付与されうる。例えば、前記第1ブロックの数に対する加重値は、前記第2ブロックの数に対する加重値より大きくとれる。これは、現在ブロックXの動き推定対象となる参照映像を選択するに当たり、現在ブロックXのNRFCに直前フレームでの現在ブロックXに相応するブロックX’のNRFCよりさらに大きい比重を付与するためである。
【0043】
数式3は、ステップS81段階で計算された第1ブロックと第2ブロックとの線形組み合わせ(RP)を示す。
【数3】
【0044】
ここで、SRP[ref_idx]は、現在ブロックXに対する既に符号化が終わった周辺の4個のブロックのうち、参照インデックス情報がref_idxである第1ブロックの数を表わし、TRP[ref_idx]は、現在ブロックXの位置に対応する前記直前フレームのブロックX’とその周辺ブロックとのうち、参照インデックス情報がref_idxである第2ブロックの数を示す。数式3を参照すると、第1ブロックの数に対する加重値が第2ブロックの数に対する加重値より3倍大きく、数式3は、最大値1に正規化された第1ブロックと第2ブロックとの線形組み合わせを示す。しかし、本発明の範囲が、これに限定されるものではない。
【0045】
第1ブロックと第2ブロックとの線形組み合わせ(RP)が計算されれば、動き推定部110は、前記線形組み合わせ(RP)値が既定の臨界値より大きいか否かを判断し(ステップS82)、それに基づいて複数の参照映像のうち何れか一つの参照映像を選択し、前記選択された一つの参照映像に対して前記現在ブロックの動き推定を行うことができる(ステップS83及びステップS84)。
【0046】
例えば、動き推定部110は、第1ブロックの数と第2ブロックの数との線形組み合わせ値が、既定の臨界値より大きい場合には、前記同じ参照インデックス情報が示す参照映像に対してのみ前記現在ブロックの動き推定を行う(ステップS84)。しかし、第1ブロックの数と前記第2ブロックの数との線形組み合わせ値が、前記既定の臨界値より小さな場合には、前記複数の参照映像の全てに対して前記現在ブロックの動き推定を行う(ステップS83)。
【0047】
前述したように、
図8の動き推定方法は、現在ブロックのNRFC及び直前フレームの現在ブロックに対応するブロックのNRFCを用いて複数の参照映像のうち、現在ブロックに対する一つの最適の参照映像を選択し、該選択された参照映像に対してのみ動き推定を行い、残りの参照映像に対する動き推定を行わないこともあるので、既存の多重参照映像を利用した動き推定方法に比べて、高速の動き推定結果を提供することができる。
【0048】
図10は、本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
図10の動き推定方法は、現在ブロックの動きベクトルのノーム(norm)値を予測し、該予測された現在ブロックの動きベクトルのノーム値にベイズ決定理論(Bayes Decision Theory)を適用して、現在ブロックの最適の参照映像を決定する方法である。
ベイズ決定理論を
図10の動き推定方法に適用すれば、動き推定部110は、現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、複数の参照映像に対する現在ブロックの動きベクトルのノーム値の事後確率(Posterior probability)を計算し、該計算された事後確率値が最大となる参照映像を現在ブロックに対する参照映像として選択し、該選択された参照映像に対して動き推定を行う。
【0049】
数式4は、現在ブロックの動きベクトルのノームNMV値を示す。
【数4】
【0050】
ここで、MVxは、現在ブロックの動きベクトルのx成分を意味し、MVyは、現在ブロックの動きベクトルのy成分を意味する。
【0051】
数式5は、現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率 を表わす。
【数5】
【0052】
ここで、NMVは、現在ブロックの動きベクトルのノーム値を意味し、
は、任意のref_idxに対するNMVの確率密度関数(Probability Density Function:PDF)を意味し、
は、参照映像の事前確率(Prior probability)を意味し、P(NMV)は、現在ブロックの動きベクトルのノーム値の確率を意味する。
【0053】
図11は、連続したフレーム(5番目及び6番目のフレーム)に対する、上記
図10の動き推定方法に係り予測された現在ブロックのノーム値の複数の参照映像に対する確率密度関数PDFを表わすグラフ((a)は5番目のフレームの場合、及び(b)は6番目のフレームの場合)である。
図11を参照すると、一フレーム内のPDFは、参照映像によって相異なる分布を示し、連続したフレームで同一参照映像に対するPDFは、類似した分布を示しているということが分かる。したがって、動き推定部110は、現在ブロックに対する動きベクトルのノーム値を求めた後、前述したベイズ決定理論によって現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を比較して、現在ブロックに対する最適の参照映像を選択することができる。但し、動き推定部110は、実際に現在ブロックを符号化するのに先立って現在ブロックの動きベクトルをあらかじめ求めることはできず、既に符号化が終わった周辺ブロックの動きベクトルから現在ブロックの動きベクトルを予測するしかない。
【0054】
以上では、予測された現在ブロックの参照映像のノーム値が、現在ブロックの最適の参照映像を決定する重要な特徴になりうるということを説明した。以下、
図1及び
図10を参照して、動き推定部110で行われる本発明の実施形態による他の動き推定方法を説明する。
【0055】
まず、動き推定部110は、現在ブロックの周辺ブロックの動きベクトルの平均値のノーム値に基づいて、現在ブロックの動きベクトルのノーム値を予測する(ステップS100)。現在ブロックの動きベクトルのノーム値は、実験的に求められた実際動きベクトルのノーム値と周辺ブロックの平均動きベクトルの関係を表わす訓練サンプルに基づいて予測されうる。
【0056】
さらに具体的に説明すれば、動き推定部110は、実測された前記現在ブロックの動きベクトルのノーム値と前記周辺ブロックの動きベクトルの平均値のノーム値との関係を表わす複数の訓練サンプルを発生させ、前記発生した訓練サンプルのうち、最小エラーを有する訓練サンプルに相応する前記周辺ブロックの動きベクトルの平均値のノーム値を前記現在ブロックの動きベクトルのノーム値として予測する。
【0057】
数式6は、現在ブロックの動きベクトルのノーム値Xと周辺ブロックの動きベクトルの平均値のノーム値yとの関係を表わし、数式7は、数式6で現在ブロックの動きベクトルのノームX値と周辺ブロックの動きベクトルの平均値のノーム値yとの間のエラーEを表わし、数式8は、数式7によって得られる現在ブロックの動きベクトルのノーム値Xと周辺ブロックの動きベクトルの平均値のノーム値yとの間のエラーが最小となるパラメータであり、前記パラメータは、LMS(Least Mean Square)方法によって求められうる。
【数6】
【0058】
ここで、yは、周辺ブロックの動きベクトルの平均値のノーム値を意味し、xは、現在ブロックの動きベクトルのノーム値を意味する。アルファとベータは、両者の関係を表わすパラメータである。
【数7】
【数8】
【0059】
数式8のパラメータは、数式7のエラーのアルファに対する微分値が0になり、数式7のエラーのベータに対する微分値が0になるアルファとベータ値、すなわち、訓練サンプルのうち、エラーが最小となるパラメータである。
【0060】
現在ブロックの動きベクトルのノーム値が予測されると、動き推定部110は、前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を計算した後(ステップS101)、前記計算された事後確率が最大となる参照映像を前記現在ブロックの参照映像に選択し、前記選択された参照映像に対して前記現在ブロックの動き推定を行う(ステップS102)。
【0061】
予測された現在ブロックの動きベクトルのノーム値の複数の参照映像に対する事後確率を計算する段階(ステップS101)は、数式5及び数式6を参照して説明したように、予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事前確率を計算する段階、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する確率密度関数を計算する段階、及び前記計算された事前確率及び確率密度関数に基づいて、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率を計算する段階を含む。
【0062】
前述したように、
図10の動き推定方法は、予測された現在ブロックの動きベクトルのノーム値を用いて複数の参照映像のうち、現在ブロックに対する一つの最適の参照映像を選択し、該選択された参照映像に対してのみ動き推定を行い、残りの参照映像に対する動き推定を行わないこともあるので、既存の多重参照映像を利用した動き推定方法に比べて、高速の動き推定結果を提供することができる。
【0063】
図12は、本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
図12の動き推定方法は、
図8の動き推定方法と
図10の動き推定方法との組み合わせによる動き推定方法である。以下、
図1、
図8、
図10、及び
図12を参照して、
図12の動き推定方法を説明する。
【0064】
動き推定部110は、
図8のS80及びS81段階に相応する既に符号化が終わった現在ブロックの周辺ブロックの参照映像を表わす参照インデックス情報及び前記現在ブロックの位置に対応する直前フレームのブロックとその周辺ブロックとのインデックス情報を分析し、前記現在ブロックの周辺ブロックのうち、同じ参照インデックス情報を有する第1ブロックの数及び前記現在ブロックの位置に対応する前記直前フレームのブロックとその周辺ブロックとのうち、前記同じ参照インデックス情報を有する第2ブロックの数から第1の線形組み合わせ値を得る過程を行う(ステップS120)。S80及びS81段階は、
図8を参照して説明したので、それについての詳細な説明は省略する。
【0065】
次いで、動き推定部110は、
図10のS100及びS101段階に相応する現在ブロックの周辺ブロックの動きベクトルの平均値のノームに基づいて、現在ブロックの動きベクトルのノーム値を予測し、前記予測された現在ブロックの動きベクトルのノーム値を特徴ベクトルにして、前記予測された現在ブロックの動きベクトルの値のノーム値の複数の参照映像に対する事後確率を計算する段階を行う(ステップS121)。S100及びS101段階は、
図10を参照して説明されたので、それについての詳細な説明は省略する。
【0066】
次いで、動き推定部110は、複数の参照映像のそれぞれに対する前記第1ブロックの数と前記第2ブロックの数とを線形に組み合わせて得られた第1の線形組み合わせ値と前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率を線形に組み合わせて第2の線形組み合わせ値を得る(ステップS122)。S122段階では、前記第1の線形組み合わせ値と前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率に、相異なる加重値を乗算しうる。この際、前記第1の線形組み合わせ値に対する加重値は、前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率に対する加重値より大きく設定しうる。これは、画面チェンジ(SceneChange)のような現象において、すぐ直前に符号化が終わった参照映像に影響を受ける予測された現在ブロックの動きベクトルのノーム値の影響を減らすためである。
【0067】
数式9は、複数の参照映像のそれぞれに対する前記第1の線形組み合わせ値と前記予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率から得た第2の線形組み合わせ値を示す。
【数9】
【0068】
ここで、WRPは、前記第1の線形組み合わせ値に対する加重値を意味し、WMPは、予測された現在ブロックの動きベクトルのノーム値の前記複数の参照映像に対する事後確率に対する加重値を意味し、RP[ref_idx]は、数式3を参照して説明したNRFCを数値的に表わしたものであり、MP[ref_idx]は、数式5を参照して説明した予測された現在ブロックの動きベクトルのノーム値の事後確率を数値的に表わしたものである。
【0069】
数式10は、数式9の予測された現在ブロックの動きベクトルのノーム値の事後確率(MP[ref_idx])を表わし、数式3のように最大値1に正規化されたものである。
【数10】
【0070】
数式10は、複数の参照映像に対する動きベクトルのノーム値の事後確率を比較するためのものである。
【0071】
S122段階での第2の線形組み合わせ値が計算されると、動き推定部110は、前記第2の線形組み合わせ値が既定の臨界値より大きい参照映像に対して現在ブロックの動き推定を実行する(ステップS123)。この際、前記第2の線形組み合わせ値が、既定の臨界値より大きい参照映像に対する動き推定部110の動き推定は、前記第2の線形組み合わせ値の大きさによって順次に行われることが望ましい。なぜならば、前記第2の線形組み合わせ値が大きい参照映像であるほど現在ブロックの最適の参照映像である可能性が高いからである。
【0072】
図13は、本発明の他の実施形態による多重参照映像を利用した動き推定方法を説明するためのフローチャートである。
図14は、
図13の動き推定方法に利用される現在ブロックXとその周辺ブロックL、U、URとを示す。以下、
図1、
図8、
図10、
図12ないし
図14を参照して、その過程を説明する。
【0073】
動き推定部110は、現在ブロックXの周辺ブロックの参照インデックス情報を分析し(ステップS130)、現在ブロックXの左側ブロックL、上部ブロックU、及び上部右側ブロックURの参照インデックス情報が、いずれも同一であるか否かを判断する(ステップS131)。
【0074】
もし、現在ブロックXの左側ブロックL、上部ブロックU、及び上部右側ブロックURの参照インデックス情報が、いずれも同一であれば、動き推定部110は、前記参照インデックス情報に相応する参照映像に対してのみ動き推定を行う(ステップS132)。しかし、現在ブロックXの左側ブロックL、上部ブロックU、及び上部右側ブロックURの参照インデックス情報に相異なる参照インデックス情報があれば、動き推定部110は、
図12で説明したS120ないしS123段階によって現在ブロックXに対する動き推定を行う(ステップS133)。
【0075】
図15は、MOBILE CIF(Common Intermediate Format)シーケンスに対する本発明の実施形態による多重参照映像を利用した動き推定方法の効果を説明するためのグラフである。
図16は、TEMPETE CIFシーケンスに対する本発明の実施形態による多重参照映像を利用した動き推定方法の効果を説明するためのグラフである。
図17は、FOREMAN QCIFシーケンスに対する本発明の実施形態による多重参照映像を利用した動き推定方法の効果を説明するためのグラフである。
【0076】
図15ないし
図17で、‘FFS5’は、5個の参照映像に対して現在ブロックの動き推定を行った場合のビット率(bit_rate)によるPSNR(Peak Signal to Noise Ratio)であり、‘FFS1’は、一つの参照映像に対して現在ブロックの動き推定を行った場合のビット率によるPSNRである。
図15ないし
図17を参照すると、MOBILE CIFシーケンス、TEMPETE CIFシーケンス、FOREMAN QCIFシーケンスの全てにおいて、本発明の実施例による動き推定方法によるPSNRは、‘Proposal’で示したように、5個の参照映像に対する動き推定を全て行った結果‘FFS5’に近接したPSNRを有することが分かる。
【0077】
本発明の実施形態による動き推定方法は、またコンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現可能である。本発明の実施形態による動き推定方法は、コンピュータで読み取り可能な記録媒体に保存された前記動き推定方法を実行するためのコンピュータプログラムを実行することで具現可能である。
【0078】
コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。例えば、コンピュータで読み取り可能な記録媒体には、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、また、本発明の実施形態による動き推定方法を行うためのプログラムコードは、キャリアウェーブ(例えば、インターネットを通じる伝送)の形態で伝送することができる。
【0079】
また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式のコンピュータで読み取り可能なコードで保存している場合でも実行可能である。そして、本発明の実施形態による動き推定方法を具現するための機能的な(functional)プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマーによって容易に推論できるであろう。
【0080】
以上では、H.264/AVCベースの符号化器を、例を挙げて本発明の実施形態による動き推定方法を説明した。しかし、本発明の範囲が、これに限定されるものではなく、本発明の実施形態による動き推定方法は、多重参照映像を利用した多様な動き推定方法に利用されうる。
【0081】
また、前述した本発明の実施形態による動き推定方法を行う符号化器は、多様な形態のパッケージを用いて実装されうる。例えば、前記符号化器は、PoP(Package on Package)、Ball grid arrays(BGAs)、Chip scale packages(CSPs)、Plastic Leaded Chip Carrier(PLCC)、Plastic Dual In−Line Package(PDIP)、Die in Waffle Pack、Die in Wafer Form、Chip On Board(COB)、Ceramic Dual In−Line Package(CERDIP)、Plastic Metric Quad Flat Pack(MQFP)、Thin Quad Flatpack(TQFP)、Small Outline(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline(TSOP)、Thin QuadFlatpack(TQFP)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)などのようなパッケージを用いて実装されうる。
【0082】
前述した符号化器は、イメージ信号を圧縮して符号化する機能を行う多様な電子装置に利用されうる。前記電子装置には、カメラ、TV、LCD、PDPなどであり、携帯用コンピュータ(portable computer)、デジタルカメラ(digital camera)、PDA(personal digital assistance)、携帯電話機(cellular telephone)、MP3プレーヤー、PMP(portable multimedia player)、カーナビゲーション(automotive navigation system)などの携帯用電子装置などが含まれうるが、本発明の範囲が、これに限定されるものではない。
【0083】
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【0084】
本発明は、多重参照映像を利用した高速動き推定方法関連の技術分野に適用可能である。
【符号の説明】
【0085】
100 符号化器
105 フレーム保存部
110 動き推定部
120 動き補償部
130 差分器
140 変換部
150 量子化部
160 エントロピー符号化器
170 逆量子化部
180 逆変換部
185 加算器
190 フィルター
200 モード選択部
210 イントラ予測部