(57)【要約】【課題】符号化効率の低下を抑制しつつ，小数画素精度の動き探索による演算量を削減する。【解決手段】  小数画素精度で動き補償予測を行う映像符号化方式における動きベクトル探索方法において，符号化済みフレームにおいて隣り合う整数画素２点とその中点を結ぶ線分上に小数画素をそれぞれ１点設定することにより，整数画素間に予測候補点として小数画素２点を設定し（Ｓ１），当該小数画素のみを，小数画素の候補として動き探索をする（Ｓ２）。【選択図】図７
2012004615.tif 000002
【特許請求の範囲】
【請求項１】
小数画素精度で動き補償予測を行う映像符号化方式における動きベクトル探索方法において，
符号化済みフレームにおいて隣り合う整数画素２点とその中点を結ぶ線分上に小数画素をそれぞれ１点設定することにより，整数画素間に予測候補点として小数画素２点を設定するステップと，
前記予測候補点として設定した小数画素のみを，小数画素の候補として動き探索をするステップとを有する
ことを特徴とする動きベクトル探索方法。
【請求項２】
請求項１記載の動きベクトル探索方法において，
画素位置を２次元平面の直交座標系にあるものとするとき，少なくとも横または縦のいずれか一方向の座標が整数であり，なおかつ前記一方向に隣り合う２つの画素を結ぶ線分において，半画素を除く位置に小数画素を左右または上下に１点ずつ取ることにより，前記予測候補点とする小数画素を２点設定する
ことを特徴とする動きベクトル探索方法。
【請求項３】
請求項１または請求項２記載の動きベクトル探索方法において，
前記線分上の小数画素２点の位置を中点からの距離が一定となるように設定する
ことを特徴とする動きベクトル探索方法。
【請求項４】
小数画素精度で動き補償予測を行う映像符号化方式における動きベクトル探索装置において，
符号化済みフレームにおいて隣り合う整数画素２点とその中点を結ぶ線分上に小数画素をそれぞれ１点設定することにより，整数画素間に予測候補点として小数画素２点を設定する手段と，
前記予測候補点として設定した小数画素のみを，小数画素の候補として動き探索をする手段とを備える
ことを特徴とする動きベクトル探索装置。
【請求項５】
請求項１または請求項２記載の動きベクトル探索方法を，コンピュータに実行させるための動きベクトル探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，小数画素精度の動き補償予測モードを有する映像符号化方式において，小数画素精度での動きベクトル探索を高速化する技術に関するものである。
【背景技術】
【０００２】
Ｈ．２６４（例えば，非特許文献１参照）などの多くの映像符号化方式は，動き補償予測方式を採用している。この動き補償予測方式では，参照フレームと符号化対象フレーム間で，映像の動きを補償することで符号化効率を向上させている。動き補償を行う際，整数画素精度だけでなく，小数画素精度で動き補償を行うことにより符号化効率の向上が望める。Ｈ．２６４では１／４画素精度の動き補償が可能となっている。
【０００３】
図１５に小数画素精度の位置関係を示す。図１５において，黒丸で表した画素が整数画素精度の画素，白丸で表した画素が小数画素精度（１／４画素精度）の画素である。本来，整数画素位置にしか信号は存在しないため，小数画素精度の動き補償では，整数画素間の信号を整数画素から生成する。
【０００４】
一般に動き補償予測に用いる動きベクトルの探索（以下，動き探索という）は，多くの演算量を必要とする。さらに，小数画素精度での動き探索では，探索点数が，整数画素に比べて４倍（半画素精度）から１６倍（１／４画素精度）と増大し，演算時間も探索点数に比例する。このため，小数画素精度での動き探索は，多段での検出を行うことが一般的である。このように，多段で検出を行う動きベクトル探索を，一般に「ステップ探索」と呼ぶ。
【０００５】
例えば，Ｈ．２６４では，次のようにして，１／４画素精度の動きベクトルを検出している。以下に，ベクトルの探索の例を示す。この例は，３段で構成されるステップ探索である。
１．最初に整数画素精度で動き探索
２．整数画素精度で求まった動きベクトル近傍の半画素精度動きベクトルを探索
３．半画素精度で求まった動きベクトル近傍の１／４画素精度動きベクトルを探索
このようにして，多くの映像符号化方式では，小数画素精度の動きベクトルを探索し，動き補償予測を行っている。小数画素精度の動き補償を行うことで，符号化効率の向上を図っている。なお，上記の例では，動き探索の演算量は依然として多いものの，１段目の整数画素精度の動き探索では等間隔に間引いた整数画素についてのみ探索を行ったり，段数を減らして探索を行うことなどで，演算量を削減することが従来から行われている。
【０００６】
しかしながら，上記の方法では，画像の複雑さを考慮した演算量の削減を行っていないため，符号化効率が大きく劣化する場合がある。この問題の解決のため，特許文献１では，画像の動き量や複雑さを利用して，動き探索における探索点の間隔を変更することが提案されている。具体的には，複雑な画像ほど探索点の間隔を小さくする。この方法は，全探索の演算量削減，特に上記のステップ探索の例における１段目における探索点の間隔の決定に利用することによってステップ探索の演算量削減を行うことが可能であり，映像中の複雑でない部分において演算量を削減するため，符号化効率の悪化を抑制できる。
【０００７】
また，一般に小数精度画素の算出では，周辺の整数画素を用いて予測を行う。例えば，Ｈ．２６４では，次のようにして，１／４精度の画素を算出している。
１．最初に，整数画素信号から６タップＦＩＲフィルタを用いて，１／２画素精度の予測信号を生成する。
２．次に，２タップ平均値フィルタにより１／４画素精度の予測信号を生成する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３１３９５０号公報
【非特許文献】
【０００９】
【非特許文献１】ITU-T H.264 : ITU-TRec.H.264, “Advanced video cording for generic audiovisual services ”, 2005．
【発明の概要】
【発明が解決しようとする課題】
【００１０】
前述のように，特許文献１に記載されている従来技術によれば，動画像中において，画像が複雑でない部分において演算量を削減するため，結果として符号化効率の悪化を抑制しつつ，演算量を削減できる。しかしながら，動画像中の多くの画像が複雑である場合には，膨大な演算量を要する問題がある。
【００１１】
この従来技術は，画像の複雑度に応じて探索点を変更するという仕組みを提供しているだけにとどまっており，複雑度が高い場合に，具体的にどの程度の間隔で探索点を設定すれば符号化効率の悪化を抑制できるかは明らかではない。すなわち，最悪のケース（動画像中の全ての画像の複雑度が高い場合）では，動画像の全ての画像において，全ての探索点を探索することとなり，演算量が膨大になってしまうという問題がある。
【００１２】
本発明は，上記従来技術の課題を解決し，符号化効率の低下を抑制しつつ，小数画素精度の動き探索による演算量を削減することができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明は，以下に述べるように，小数画素精度での動き補償の特性を考慮し，従来技術では複雑度が高い画像で構成される動画像の動き探索において演算量が膨大になるという問題点の解決を図る。
【００１４】
小数画素精度での動き補償の特性について述べる。小数位置画素の予測において，整数画素位置から離れるほどその予測値と整数画素との相関性は低くなる。そのため，整数画素１点に対して，＋１／Ｎ位置画素，−１／Ｎ位置画素を考えた場合，１／２画素は整数画素との距離が最も大きく，相関性が最も低いものとなる。すなわち，１／２画素の予測値の予測精度は低く，動き探索において，上記画素を省いても符号化効率の悪化は小さいと考察できる。
【００１５】
そこで，本発明では，上記の着眼点に基づき，以下の方法により符号化効率の悪化を抑制しつつ，演算量を削減する。
【００１６】
第１の発明では，整数画素２点とその中点を結ぶ線分上に小数画素をそれぞれ１点設定することにより，整数画素間に小数画素を２点設定する。そして，当該小数画素のみを，小数画素の候補として動き探索をする。この方法によれば，従来技術と異なり，符号化対象の画像の性質に依存せず演算量を削減できる一方で，前述の１／２画素の性質により，演算量削減による符号化効率の悪化を抑制できる。
【００１７】
第２の発明では，横方向（または縦方向）の座標が整数であり，なおかつ横方向（または縦方向）に隣り合う２つの画素を結ぶ線分において，半画素を除く位置に小数画素を左右（または上下）１点ずつ取ることにより，小数画素を２点設定する。そして，当該小数画素のみを，小数画素の候補として動き探索をする。
【００１８】
第２の発明によれば，従来技術と異なり，符号化対象の画像の性質に依存せず演算量を削減できる。また，横もしくは縦方向のみにおいて１／２の位置の画素を探索から省くため，第１の発明と比較して，演算量削減による符号化効率の悪化を抑制できる。
【００１９】
第３の発明では，第１または第２の発明において，線分上の小数画素２点の位置を中点からの距離が一定となるように設定する。そして，当該小数画素のみを，小数画素の候補として動き探索をする。１／２画素について対称な位置の画素の予測値を求めるため，フィルタを対称的に用いればよいことになる。このため，同じフィルタを反転させて用いればよいので，第１または第２の発明に対しフィルタのメモリを削減することができる。
【発明の効果】
【００２０】
本発明では，隣り合う整数画素２点を結ぶ線分上の中心と整数画素との間に１点ずつ，つまり整数画素間に２点の予測候補点をとることにより動き補償を行うことで，符号化効率の低下を抑制しつつ，小数画素精度の動き探索における探索点を削減し，演算量を削減することができる。
【図面の簡単な説明】
【００２１】
【図１】予測候補点の取り方の第１の例を示す図である。
【図２】予測候補点の取り方の第２の例を示す図である。
【図３】予測候補点の取り方の第３の例を示す図である。
【図４】輝度成分の算出方法の一例を説明する図である。
【図５】一実施形態に係る動きベクトル探索装置の構成例を示す図である。
【図６】全探索の場合の動きベクトル探索装置の構成の一例を示す図である。
【図７】動きベクトル探索の処理フローチャートである。
【図８】１／４精度画素の生成例を示す図である。
【図９】１／４精度画素の生成例を示す図である。
【図１０】全探索の処理の例を説明する図である。
【図１１】ステップ探索における整数画素精度動き探索の例を示す図である。
【図１２】ステップ探索における小数画素精度動き探索の例を示す図である。
【図１３】ステップ探索の場合の動きベクトル探索装置の構成の一例を示す図である。
【図１４】動きベクトル探索の処理フローチャートである。
【図１５】小数画素精度の位置関係を示す図である。
【発明を実施するための形態】
【００２２】
まず，２点の予測候補点の取り方について説明する。ここでは，整数画素からの探索の例として説明する。この予測点の取り方には３通りある。以下，画素位置が２次元平面の直交座標系にあるものとする。縦横成分とも整数の座標は整数画素を表すものとする。
【００２３】
１つ目は，横方向の座標が整数であり，なおかつ横方向に隣り合う２つの画素を結ぶ線分において，その中心点を除く位置に予測点を左右１点ずつ取ることにより，予測点を２点取る方法である。図１に，その一例を示す。横方向に並ぶ隣り合う整数画素間の１／２の位置の小数画素は予測候補から除外される。
【００２４】
２つ目は，縦方向の座標が整数であり，なおかつ縦方向に隣り合う２つの画素を結ぶ線分において，その中心点を除く位置に予測点を上下１点ずつ取ることにより，予測点を２点取る方法である。図２に，その一例を示す。縦方向に並ぶ隣り合う整数画素間の１／２の位置の小数画素は予測候補から除外される。
【００２５】
３つ目は，横方向の座標が整数である画素に対しては，横方向に隣り合う２つの画素を結ぶ線分において，その中心点を除く位置に予測点を左右１点ずつ取ることにより，予測点を２点取り，縦方向の座標が整数である画素に対しては，縦方向に隣り合う２点を結ぶ線分において，その中心点を除く位置に予測点を上下１点ずつ取ることにより，予測点を２点取る方法である。図３に，その一例を示す。横または縦方向に並ぶ隣り合う整数画素間の１／２の位置の小数画素は予測候補から除外される。
【００２６】
以下，隣り合う整数画素同士の距離を１とする。ここでは，例として整数画素２点を結ぶ線分上の，それぞれの整数画素から１／４の距離の小数画素をとった場合について，１／４画素として表記し，それについて説明するが，本発明の２点の予測候補点のとる位置はそれに限らない。
【００２７】
まず，予測候補点となる整数画素と１／４画素の分類について説明する。１／４画素精度の動きベクトル探索は，整数画素間に小数画素２点を補間して探索を行う。
【００２８】
縦横各成分に対し，整数位置，＋１／４位置，−１／４位置の３つに分類する。＋１／４画素と−１／４画素それぞれの色差成分は，ＹＣｂＣｒフォーマットに４：２：０を想定して，１／８精度の線形補間により算出する。
【００２９】
輝度成分の算出方法について，一例を以下に説明する。
【００３０】
［算出方法１］：求める１／４画素の縦方向あるいは横方向の成分が整数である場合
図４に示すように，求める１／４画素ａ（１／４画素ｂも同様）と同じ行，あるいは同じ列にある整数画素からＮ個の整数画素Ｎ（ｋ）（ｋ＝１，…，Ｐ），Ｎ（ｌ）（ｌ＝−Ｑ，…，−１）を呼び出す。下記に示す式のように，そのＮ個の整数画素の各々に対し，標本化関数を用いて算出される係数α，βを乗じ，それらの和により１／４画素の輝度成分を求める。
【００３１】
ａ＝Σk=1 P αk ×Ｎ（ｋ）＋Σl=-Q-1βl ×Ｎ（ｌ）
ここで，Ｐ≧１，Ｑ≧１，Ｐ＋Ｑ＝Ｎ，Σk=1 P αk ＋Σl=-Q-1βl ＝１
ｂ＝Σk=1 P γk ×Ｎ（ｋ）＋Σl=-Q-1δl ×Ｎ（ｌ）
ここで，Ｐ≧１，Ｑ≧１，Ｐ＋Ｑ＝Ｎ，Σk=1 P γk ＋Σl=-Q-1δl ＝１
［算出方法２］：求める１／４画素の縦方向，横方向の成分がともに整数でない場合
求める１／４画素と同じ行にあり，かつ整数列上に位置する１／４画素を，前述の算出方法１により計算する。求める１／４画素に対し，求めた整数列上１／４画素からＮ個の画素を呼び出す。そのＮ個の整数列上１／４画素に対し，標本化関数を用いて算出される係数を乗じ，それらの和により１／４画素の輝度成分を求める。
【００３２】
また，以下に説明する実施例では，動き探索におけるコスト関数はＳＡＤ（Sum of Absolute Difference）を例として利用する。
【００３３】
次に，本発明の一実施形態の構成について説明する。図５に本発明の一実施形態に係る動きベクトル探索装置の構成の一例を示す。動きベクトル探索装置１０において，整数画素精度動き探索部１１は，符号化済みフレームで使用された整数画素をメモリに蓄積し，符号化対象フレームの動きベクトル探索を行い，整数画素精度動きベクトル情報を小数精度画素生成部１２と小数画素精度動き探索部１３に伝送する。
【００３４】
小数精度画素生成部１２では，整数画素２点とその中点を結ぶ線分上に小数画素をそれぞれ１点設定することにより，整数画素間に予測候補点として小数画素２点のメモリを確保し，符号化済みフレームの整数画素の情報から，整数画素精度動き探索部１１で探索された整数画素精度の動きベクトルに基づく整数画素位置に対して小数画素を求め，小数画素精度動き探索部１３に伝送する。
【００３５】
小数画素精度動き探索部１３では，整数画素精度動き探索部１１から伝送された整数画素精度動きベクトル情報に基づく整数画素位置に対し，小数精度画素生成部１２から伝送された小数精度画素情報を用いて動きベクトル探索を行う。探索結果は，小数画素精度動きベクトル情報として出力する。
【００３６】
以下，本発明の具体的な実施例について説明する。
【００３７】
〔例１：全探索〕
本例では，Ｈ．２６４をベースとする映像符号化方式において，小数画素精度の動き補償は１／４画素，ブロックサイズは８×８のみの探索を行う。
【００３８】
最初に，本例の構成を説明する。図６に本例に係る動きベクトル探索装置の構成の一例を示す。動きベクトル探索装置２０では，１／２画素についての動き探索が不要なため，従来技術と異なり，１／２画素の画素値を求める手段がないことが分かる。
【００３９】
１／４精度画素生成部２１では，符号化済みフレームの整数画素の情報から１／４精度画素を求め，１／４画素精度動き探索部２２に伝送する。
【００４０】
１／４画素精度動き探索部２２では，１／４精度画素生成部２１から伝送された１／４画素および整数画素を用いて動きベクトル探索を行う。探索結果は，１／４画素精度動きベクトル情報として出力する。
【００４１】
図７に，本例による動きベクトル探索の処理フローチャートを示す。
【００４２】
［ステップＳ１］：図８のように隣り合う整数画素２点とそれらを結ぶ縦横それぞれの線分において，線分の中心と整数画素との中点として小数画素２点の画素値を算出する。さらに，図９のように縦方向の小数画素について横方向に隣り合う小数画素の中心と当該小数画素との中点に，さらに小数画素２点の画素値を算出する。これらの小数画素は，従来技術における１／４画素と同様の位置を指す。
【００４３】
［ステップＳ２］：次に，図１０に示すように，画素１，画素２，画素３，…の順にＮ番目の点まで動き探索を行い，それらの点からＳＡＤが最も小さくなる点を選ぶ。なお，このＳＡＤを求める順番は，ここで提示した順番には限らない。
【００４４】
〔例２：ステップ探索〕
本例では，Ｈ．２６４をベースとする映像符号化方式において，小数画素精度の動き補償は１／４画素，ブロックサイズは８×８のみ，動き探索方法は，整数画素精度探索後に小数画素精度の探索を行う。
【００４５】
以下に，一つの動きベクトルを求める処理の例として，本例の流れを図７に従って説明する。
【００４６】
［ステップＳ１］：ステップＳ１については，前述した例１のステップＳ１と同様である。図８のように隣り合う整数画素２点とそれらを結ぶ縦横それぞれの線分において，線分の中心と整数画素との中点として小数画素２点の画素値を算出する。さらに，図９のように縦方向の小数画素について横方向に隣り合う小数画素の中心と当該小数画素との中点に，さらに小数画素２点の画素値を算出する。これらの小数画素は，従来技術における１／４画素と同様の位置を指す。
【００４７】
［ステップＳ２］：整数画素精度について，図１１のように整数画素９点Ａ〜ＩからＳＡＤが最も小さくなるものを選ぶ。ここでは，整数画素Ｆが選ばれたとする。次に，図１２のように点Ｆの周辺の１／４画素８点ａ〜ｈと点Ｆの合計９点からＳＡＤが最も小さくなる点ａを選ぶ。
【００４８】
この例で示したように，整数画素９点についてステップ探索でコスト関数の値の小さい点を求めており，さらに求められた整数位置の点に対し，その周辺の１／４画素９点からコスト関数の小さい点を求めている。これにより，探索点数は，１８になる。この探索方法により，どの１／４画素もこの２段階の探索で探索可能であり，また異なる２点の整数画素から同じ１／４画素が探索されることはない。
【００４９】
〔例３：ステップ探索〕
前述した例２では，小数画素の画素値を予め求めておいてから，動き探索を行っているが，以下で説明するように，整数画素の動き探索を行ってから，必要な小数画素の値を求めることにより，小数画素の値を求める回数を減らすことができる。
【００５０】
本例では，Ｈ．２６４をベースとする映像符号化方式において，小数画素精度の動き補償は１／４画素，ブロックサイズは８×８のみ，動き探索方法は，整数画素精度探索後に小数画素精度の探索を行う。
【００５１】
最初に，本例の構成を説明する。図１３に，本例に係る動きベクトル探索装置の構成の一例を示す。
【００５２】
動きベクトル探索装置３０において，整数画素精度動き探索部３１は，符号化済みフレームで使用された整数画素をメモリに蓄積し，符号化対象フレームの動きベクトル探索を行い，整数画素精度動きベクトル情報を１／４精度画素生成部３２と１／４画素精度動き探索部３３に伝送する。
【００５３】
１／４精度画素生成部３２では，符号化済みフレームの整数画素の情報から，整数画素精度動き探索部で探索された整数精度の動きベクトルに基づく整数画素位置に対して１／４精度画素情報を求め，１／４画素精度動き探索部３３に伝送する。
【００５４】
１／４画素精度動き探索部３３では，整数画素精度動き探索部３１から伝送された整数画素精度動きベクトル情報に基づく整数画素位置に対し，１／４精度画素生成部３２から伝送された１／４精度画素情報を用いて動きベクトル探索を行う。探索結果は，１／４画素精度動きベクトル情報として出力する。
【００５５】
以下に，一つの動きベクトルを求める処理の例として，本例の流れを，図１４に示すフローチャートに従って説明する。
【００５６】
［ステップＳ１１］：隣り合う整数画素２点とそれらを結ぶ縦横それぞれの線分において，線分の中心と整数画素との中点に小数画素２点のメモリを確保する。さらに，縦方向の小数画素について横方向に隣り合う小数画素の中心と当該小数画素との中点に，さらに小数画素２点のメモリを確保する。これらの小数画素は，従来技術における１／４画素と同様の位置を指す。
【００５７】
［ステップＳ１２］：整数画素精度について，図１１のように整数画素９点Ａ〜ＩからＳＡＤが最も小さくなるものを選ぶ。ここでは，整数画素Ｆが選ばれたとする。
【００５８】
［ステップＳ１３］：整数画素Ｆの位置に対して，図１２のように縦方向または横方向に＋１／４または−１／４ずらした小数位置画素９点の画素値を求める。
【００５９】
［ステップＳ１４］：整数画素Ｆの周辺の１／４画素８点ａ〜ｈと点Ｆの合計９点からＳＡＤが最も小さくなる点ａを選ぶ（小数画素精度の動き探索）。
【００６０】
［ステップＳ１５］：次の動きベクトルを求める際には，上記ステップＳ１２〜Ｓ１４の処理を繰り返す。
【００６１】
なお，例１から例３について，１／４画素は一組の隣り合う整数画素間において＋１／４位置と−１／４位置にあるものの２つに分けることができるが，この２点は整数画素の中心に対して対象に配置されている。そのため，この２つの画素値を求めるためのフィルタとして対称なものを用いることも可能である。しかし，本発明においては，画素の位置として必ずしも左右対称である必要はなく，フィルタもまた必ずしも対称である必要はないものとする。また，図１，図２のように，横方向もしくは縦方向のどちらか一方向についてのみ座標が１／２になるものを除いて小数画素を設定し，当該画素のみを小数画素の候補として動き探索を行うことも可能である。
【００６２】
以上の動き探索の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【符号の説明】
【００６３】
１０，２０，３０  動きベクトル探索装置
１１，３１  整数画素精度動き探索部
１２  小数精度画素生成部
１３  小数画素精度動き探索部
２１，３２  １／４精度画素生成部
２２，３３  １／４画素精度動き探索部
【図１】
2012004615.tif 000003
【図２】
2012004615.tif 000004
【図３】
2012004615.tif 000005
【図４】
2012004615.tif 000006
【図５】
2012004615.tif 000007
【図６】
2012004615.tif 000008
【図７】
2012004615.tif 000009
【図８】
2012004615.tif 000010
【図９】
2012004615.tif 000011
【図１０】
2012004615.tif 000012
【図１１】
2012004615.tif 000013
【図１２】
2012004615.tif 000014
【図１３】
2012004615.tif 000015
【図１４】
2012004615.tif 000016
【図１５】
2012004615.tif 000017