JP2007028393A - 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法 - Google Patents

双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法 Download PDF

Info

Publication number
JP2007028393A
JP2007028393A JP2005210021A JP2005210021A JP2007028393A JP 2007028393 A JP2007028393 A JP 2007028393A JP 2005210021 A JP2005210021 A JP 2005210021A JP 2005210021 A JP2005210021 A JP 2005210021A JP 2007028393 A JP2007028393 A JP 2007028393A
Authority
JP
Japan
Prior art keywords
value
motion vector
reference picture
picture
direct mode
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
Application number
JP2005210021A
Other languages
English (en)
Inventor
Tsung-Chieh Huang
崇杰 黄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005210021A priority Critical patent/JP2007028393A/ja
Priority to US11/488,857 priority patent/US20070019731A1/en
Priority to TW095126391A priority patent/TW200715873A/zh
Publication of JP2007028393A publication Critical patent/JP2007028393A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 Bピクチャの直接モード動きベクトルの計算方法を提供する。
【解決手段】 Bピクチャとその第1参照ピクチャとの時間的距離と、第1参照ピクチャと第2参照ピクチャとの時間的距離と、所定の定整数Nを用いて第1値を計算し、動きベクトルMVの第1成分MVxと、第1値と、Nを用いて第2値を計算し、MVの第2成分MVyと、第1値と、Nを用いて第3値を計算し、第2値と、差分動きベクトルMVDの第1成分と、変数δ1xとの和より第1参照ピクチャに対する動きベクトルMVFの第1成分MVFxを求め、第3値と、MVDの第2成分と、変数δ1yとの和よりMVFの第2成分MVFyを求め、MVFxと変数δ2xとの和からMVxを差し引いた値より第2参照ピクチャに対する動きベクトルMVBの第1成分MVBxを求め、MVFyと変数δ2yとの和からMVyを差し引いた値よりMVBの第2成分MVByを求める方法を提供する。
【選択図】図5

Description

本発明は、直接モード動きベクトル(direct mode motion vectors)の計算方法に関する。より詳細には、MPEG−4ビデオオブジェクト内の双方向予測符号化画像(BピクチャまたはB−VOP(Video Object Plane))内の直接モードブロック(direct mode blocks)の動きベクトルを計算する方法に関する。
MPEGファイルの再生において、動画の動きに不連続性が現われないようにするには、1秒以内に30を超える画像を再現しなければならない。時間的に連続する2つの画像は一般に、重複する(類似した)部分を多く有する。そのため、MPEGでは、画像を圧縮するために、3つの異なる画像圧縮技術、つまり、Iピクチャ(イントラ符号化ピクチャ(intra-code pictures))、Bピクチャ(双方向予測(双予測)符号化ピクチャ(bi-directionally predictive(bi-predictive)-coded pictures))、およびPピクチャ(予測符号化ピクチャ(predictive-coded pictures))を利用する。Iピクチャは、完全な画像を記憶しており、他のピクチャとの関係を考慮する必要はない。Pピクチャは、先行するIピクチャまたはPピクチャを参照ピクチャとして使用することができ、先行するIピクチャまたはPピクチャの部分と異なる部分のみを記憶する。Bピクチャは、先行するIピクチャまたはPピクチャを参照することができ、さらに、後続のIピクチャまたはPピクチャも参照することができ、参照ピクチャの部分と異なる部分を記憶する。MPEGにおいては、時間的に連続する画像は、図1に示すような配置で圧縮される。MPEGにおいては、一般に、実際に再生されるピクチャの順序と、復号される順番とは同一ではない。
H.264、すなわちMPEG−4仕様のパート10などの、新世代の画像圧縮技術では、Bピクチャは5つの予測モードを有し、それらは、リスト0モード(list 0 mode)、リスト1モード(list 1 mode)、双予測モード(bi-predictive mode)、直接モード(direct mode)、およびイントラモード(intra mode)を含む。
直接モードでは、動きベクトルは、空間的手法および時間的手法の1つを用いることで求めることができる。
前者の手法(空間的手法)を用いれば、Bピクチャ内の符号化されたブロックに隣接するブロックからリスト0参照ピクチャ(list reference picture)およびリスト1参照ピクチャ(list 1 reference picture)のインデックス(indexes)と動きベクトルを取得することができる。
後者の手法を用いれば、図2Aおよび図2Bに示すように、リスト1参照ピクチャ内のコロケーテッド・ブロック(collocated block)のリスト0動きベクトル(list 0 motion vector)をスケーリングすることにより、Bピクチャのリスト0動きベクトルMVFおよびリスト1動きベクトルMVBを取得することができる。ここで、リスト1参照ピクチャ(list 1 reference picture)は、リスト1の予測インデックス(list 1 predictive index)が0であるピクチャである。それに対し、リスト0参照ピクチャは、図2Aおよび図2Bに示すように、リスト1参照ピクチャ内のコロケーテッド・ブロックの動きベクトルMVの指し示すピクチャである。ここで、「コロケーテッド・ブロック」とは、現在復号しようとしているBピクチャのブロックと同じ画面内位置にある未来の参照ピクチャのブロックである。
Bピクチャのブロックの復号化のためのMPEG−4仕様(ISO/IEC14496−2)では、Bピクチャ内の直接モードブロックの動きベクトルを計算するために、以下の式が使用される。
Figure 2007028393
(式1)
ここで、すべての変数は整数であり、「/」は、ゼロに向かった丸めを伴う除算を表す。
図2Aおよび図2Bはそれぞれ、ベクトルMVDがゼロ・ベクトルの場合、MVDがゼロ・ベクトルでない場合における、ベクトルMV、MVF、MVBおよびMVD、ならびに、時間に関するスカラー量TRBおよびTRDの関係を示す図である。
図2Aおよび図2Bを参照すれば、ベクトルMVは、リスト1参照ピクチャにおいて、Bピクチャの現在のブロックと同じ位置にあるブロック(コロケーテッド・ブロック)とリスト0参照ピクチャ内のブロックとの間に形成される動きベクトルを表し、ここで、MV=(MVx,MVy)であって、MVxおよびMVyはそれぞれ、動きベクトルMVの水平方向(x座標方向)および垂直方向(y座標方向)の成分を表す。
TRBは、リスト0参照ピクチャとBピクチャとの間の時間的距離(テンポラル・ディスタンス(temporal distance))を表す。
TRDは、リスト0参照ピクチャとリスト1参照ピクチャとの間の時間的距離(テンポラル・ディスタンス)を表す。
ベクトルMVDは、差分動きベクトルである。差分動きベクトルは、現在のブロックと、ベクトルMVF(=(MVFx,MVFy))の指すブロックと、ベクトルMVB(=(MVBx,MVBy))の指すブロックとの差違が可能な限り少なくなるように選択されるベクトルである(図2B参照。)。MVD=(MVDx,MVDy)であり、MVDxおよびMVDyは、それぞれ、差分動きベクトルの水平方向(x座標方向)および垂直方向(y座標方向)の成分を表す。
しかし、上記の4つの式(式1)はすべて除算演算を使用する。そして、マイクロプロセッサにとって、整数除算演算はかなりの時間を要する演算である。そのため、マイクロプロセッサが(式1)に含まれる除算演算を実行するために、従来から利用されている関数Bin_Div(後述)を使用するならば、図3に示すように、直接モードにおける動きベクトルのセット(すなわち、MVFx、MVFy、MVBx、MVBy)を計算するために必要な平均演算総数は332になる。このことは、画像復号化の時間効率に影響を及ぼす可能性がある。
このように、Bピクチャを含むMPEG圧縮符号の復号化においては、時間のかかる整数除算を各ブロックに対し実行する必要がある。リアルタイム復号化にかかる要求を満足するには、高い計算能力を有するマイクロプロセッサまたはハードウェア除算器が必要となる。しかし、ハードウェア除算器は回路的にかさばり、大きな電力を消費し、また、高価である。
そこで、特許文献1(「 Direct mode motion vector calculation method for B picture 」)は、上記の計算プロセスを簡素化できる、直接モード動きベクトルの計算方法を開示する。その計算式は、次のとおりである。
Figure 2007028393
(式2)
これらの計算式(式2)では、整数除算は、一連の乗算、加算、減算、および比較演算に置き換えられる。現在のマイクロプロセッサにとって、これらの演算は、整数除算に比較して実行が容易であり、かつ効率的に実行可能である。
米国特許出願公開第2004/0066848号明細書
上述の計算法(式2)により、マイクロプロセッサの演算効率は向上され得る。しかし、その計算の精度は十分とは言い難い。具体的には、上述の計算法を実際にMPEG−4に適用すると、演算プロセス中に切り捨て誤差(truncation error)の問題が発生し精度が低下する。図4に、上述の手法を用いた場合の計算結果と、真値との表を示す。生じる切り捨て誤差の結果、生成される直接モード動きベクトルMVFxおよびMVBxならびに、MVFyおよびMVByは、正しい値と異なる場合があり、結果として画像復号化プロセスにおいて不正確な動き補償が行われることがあり、画像品質が低下する。
本発明の第1の目的は、計算精度に影響を及ぼさず、計算量を大幅に減らし、プロセッサに対する演算の困難さも軽減することができる、双方向予測符号化ピクチャのための直接モード動きベクトルの計算方法を提供することである。
さらに、本発明の第2の目的は、計算精度に影響を及ぼさず、計算量を大幅に減らし、プロセッサに対する演算の困難さも軽減することができる、MPEG−4ビデオオブジェクトのための双方向予測符号化ピクチャの復号化方法を提供することである。
本発明は、その一態様においては、双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法であって、双方向予測符号化ピクチャと双方向予測符号化ピクチャの第1参照ピクチャとの間の時間的距離であるTRBと、第1参照ピクチャと双方向予測符号化ピクチャの第2参照ピクチャとの間の時間的距離であるTRDと、所定の定整数Nを用いて第1値Sを計算するステップ(イ)、動きベクトルMVの第1方向成分MVxと、第1値Sと、Nを用いて第2値Txを計算するステップ(ロ)、動きベクトルMVの第1方向と直交する第2方向成分MVyと、第1値Sと、Nを用いて第3値Tyを計算するステップ(ハ)、第2値Txと、差分動きベクトルMVDの第1方向の成分MVDxと、1または0に定められたδ1xと、の和を求め、第1参照ピクチャに対する動きベクトルMVFの第1方向成分MVFxとするステップ(ニ)、第3値Tyと、差分動きベクトルMVDの第2方向の成分MVDyと、1または0に定められたδ1yと、の和を求め、第1参照ピクチャに対する動きベクトルMVFの第2方向成分MVFyとするステップ(ホ)、MVFxと、−1、0、および、+1のいずれかに定められたδ2xとの和から、MVxを差し引いた値を求め、第2参照ピクチャに対する動きベクトルMVBの第1方向の成分MVBxとするステップ(ヘ)、MVFyと、−1、0、および、+1のいずれかに定められたδ2yとの和から、MVyを差し引いた値を求め、ベクトルMVBの第2方向の成分MVByとするステップ(ト)を有する双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法である。
本発明の一態様においては、第1参照ピクチャは、リスト0参照ピクチャであり、第2参照ピクチャは、リスト1参照ピクチャであることが好ましい。
本発明の一態様においては、双方向予測符号化ピクチャは、MPEG−4ビデオオブジェクトに含まれることが好ましい。
本発明の一態様においては、ステップ(イ)において、第1値Sは、S=(TRB<<N)/TRD、により求められることが好ましい。ここで、演算α<<βは、αを左にβビット、2値的にシフトする演算を意味し、演算子「/」は、整数除算を意味し、整定数Nは12である。
本発明の一態様においては、ステップ(ロ)およびステップ(ハ)において、第2値Txおよび第3値Tyは、それぞれ、Tx=(S×MVx)>>N、および、Ty=(S×MVy)>>N、より求められることが好ましい。ここで、演算α>>βは、αを右にβビット、2値的にシフトする演算を意味する。
本発明の一態様においては、ステップ(ニ)およびステップ(ホ)において、MVFxおよびMVFyは、それぞれ、MVFx=Tx+δ1x+MVDx、および、MVFy=Ty+δ1y+MVDy、より求められ、ここで、δ1x、および、δ1yは、
Figure 2007028393
より定まることが好ましい。
本発明の一態様においては、ステップ(ヘ)およびステップ(ト)において、MVBxおよびMVFyは、それぞれ、MVDxがゼロのとき、MVBx=Tx+δ1x+δ2x−MVxであり、MVDxがゼロでないとき、MVBx=MVFx−MVx、であり、MVDyがゼロのとき、MVBy=Ty+δ1y+δ2y−MVyであり、MVDyがゼロでないとき、MVBy=MVFy−MVy、であり、ここで、δ2xおよびδ2yは、
Figure 2007028393
より定まることが好ましい。
本発明の一態様においては、ステップ(イ)において、第1値Sは、プロセッサにより実行可能な関数プログラムBin_Div(TRB<<N,TRD)を実行することにより取得され、関数プログラムBin_Div(x,y)は、第1Q値を0とし、第2Q値を1を左方向にNビットシフトして求めるステップαと、第1Q値と第2Q値の和を右方向に1ビットシフトした値を第3Q値とするステップβと、第3Q値とy値との積であるA値とx値との大小関係を比較するステップγと、を有し、ステップγにおいて、x値とA値とが等しい場合、第3Q値を返して終了し、x値がA値より大きい場合、第1Q値を、第3Q値に1を足した値としてステップβおよびステップγを実行し、x値がA値より小さい場合、第2Q値を、第3Q値から1を引いた値としてステップβおよびステップγを実行することが好ましい。
本発明は、MPEG−4仕様による直接モードブロックの動きベクトルを計算するための式と等価であり、かつ、MPEG−4仕様よりも演算がはるかに単純で、演算量もはるかに少ない計算からなる動きベクトル算出法を提供する。本発明にかかる直接モードブロックの動きベクトル計算方法は、演算量および演算の複雑性を大幅に低減することができ、なおかつ、演算の精度を劣化させない方法である。本方法により、マイクロプロセッサの動作効率を大幅に向上可能である。
本発明の上記およびその他の特徴および利点は、以下に示す本発明の好適な実施形態の詳細な説明および添付の図面の参照により明らかとなる。
図5は、本発明の実施形態によるMPEG−4復号器のブロック図である。復号処理においては先ず、ビットストリームが可変長復号部11に入力され、符号化データが復元される。復元された符号化データには、マクロブロック単位で、イントラ(Intra)またはインタ(Inter)のいずれかの符号化モードに関する情報が含まれる。
マクロブロックの符号化モードがイントラを示していれば、テクスチャ復号部19において復号され、そのまま復号画像として出力される。他方、マクロブロックの符号化モードがインタを示していれば、動き補償部13において動き補償ベクトルに基づいて予測画像が生成され、生成された予測画像は、復号加算部15において、テクスチャ復号部19の出力と加算され、復号画像が出力される。
図6は、本発明の実施形態によるMPEG−4復号器におけるMPEG−4ビデオオブジェクトの復号にかかる処理のフローチャートである。ここで、MPEG−4ビデオオブジェクトは、複数のイントラ符号化ピクチャ(Iピクチャ)、双方向予測符号化ピクチャ(Bピクチャ)、および予測符号化ピクチャ(Pピクチャ)を含む。
以下、本発明にかかる処理を利用したBピクチャの復号処理について説明する。ステップS41において、図示しないマイクロプロセッサが、Bピクチャのヘッダを復号化する。復号化されたヘッダには、Bピクチャの、第1の参照ピクチャであるリスト1参照ピクチャおよび第2の参照ピクチャであるリスト0参照ピクチャに関する情報、リスト1参照ピクチャに含まれるブロックとリスト0参照ピクチャに含まれるブロックとを対応付ける動きベクトルMVに関する情報、ならびに、リスト1参照ピクチャに含まれる各ブロックとリスト0参照ピクチャに含まれ動きベクトルにより対応付けされたブロックと、その近傍に位置しリスト1参照ピクチャのブロックに最も類似するリスト0参照ピクチャの隣接ブロックとの間の差分動きベクトルMVDに関する情報等が含まれる。ベクトルMVおよびMVDは、直交する2軸に関する成分で表すことができる。本実施形態においては、ベクトルMVおよびMVDは、第1方向である水平方向成分(x成分)と第2方向である垂直方向成分(y成分)とを含む。つまり、ベクトルMV=(MVx,MVy)、ベクトルMVD=(MVDx,MVDy)である。
次に、ステップS42が実行される。図2Aおよび図2Bを例に取ると、現在のBピクチャに対する、時間的なリスト0参照ピクチャおよびリスト1参照ピクチャの配置位置に対応した、リスト0参照ピクチャとBピクチャとの間の時間的距離TRBすなわち第1時間、およびリスト0参照ピクチャとリスト1参照ピクチャとの間の時間的距離TRDすなわち第2時間が取得され、第1値であるS値を、次式より求める。
Figure 2007028393
(式3)
ここで、演算子「<<」は、上式を例にとれば、TRBを左にNビット、2値的にシフトする演算を意味する。Nは、MPEG−4の仕様に従ってN=12が選択される。また、演算子「/」は、整数除算であって、その計算結果の絶対値は、実数除算の商の絶対値を超えない最大の整数値であり、その符号は、実数除算の商の符号と一致する。最右辺のBin_Div(x,y)については後述する。
続いて、図示しないマイクロプロセッサは、現在のBピクチャ内のすべてのブロックを、1つずつ、左から右へ、および上から下へ復号化する。そして、各ブロックに対してステップS43を実行する。このステップS43においては、各ブロックが、直接モードブロックであるか否かを判定する。ブロックが直接モードブロックである場合は、ステップS44が実行される。それ以外の場合は、ブロックのモードに適した別の方法を使用して復号化を実行する(ステップS48)。直接モードではないモードのブロックの処理は、本発明と直接的には関連しないため、説明を省略する。
本発明にかかる本実施形態の主要な特徴は、直接モードブロックの第1動きベクトルであるリスト0動きベクトルMVF=(MVFx,MVFy)、および、直接モードブロックの第2動きベクトルであるリスト1動きベクトルMVB=(MVBx,MVBy)の取得にかかる処理(主にステップS44)に含まれる。この処理法は、次式のように示される。
Figure 2007028393
(式4)
ここで、
2^N<|MVx|であり、上述のようにNは、MPEG−4の仕様に従ってN=12が選択される。第2値であるTx=(S×MVx)>>Nは、(S×MVx)の値を右にN(=12)ビット、2値的にシフトする演算より求められる。第3値であるTyも同様に求められる。リスト1動きベクトルのx方向成分MVBxの算出は、差分動きベクトルのx方向成分MVDxの値によって場合分けされる。
MVDx=0の場合、
MVBx=Tx+δ1x+δ2x−MVx=MVFx+δ2x−MVxであり、
それ以外(MVDx≠0)の場合、
MVBx=MVFx−MVxである。
同様に、リスト1動きベクトルのy方向成分MVByの算出も、差分動きベクトルのy方向成分MVDyの値によって場合分けされる。
MVDy=0の場合、
MVBy=Ty+δ1y+δ2y−MVy=MVFy+δ2y−MVyであり、
それ以外(MVDy≠0)の場合、
MVBy=MVFy−MVyである。
なお、MVDx≠0の場合は、下に定めるδ2xの値の算出法を用いず一律にδ2x=0とすることで、MVDx=0の場合に含めることもできる。同様、MVDy≠0の場合は、下に定めるδ2yの値の算出法を用いず一律にδ2y=0とすることで、MVDy=0の場合に含めることもできる。
ここで、上式に現われるδ1x、δ1y、δ2x、δ2yは、
Figure 2007028393
(式5)
であるとする。δ1xは、MVxの符号(ゼロの場合は正に含まれる。)と、DxおよびTRDの値に従属して、その値が1または0に定まる。同様に、δ1yは、MVyの符号(ゼロの場合は正に含まれる。)と、DxおよびTRDの値に従属して、その値が1または0に定まる。δ2xは、値δ1xと値TRDの積と、値Dxとの大小関係より、その値が−1、0、または、+1に定まる。同様に、δ2yは、値δ1yと値TRDの積と、値Dyとの大小関係より、その値が−1、0、または、+1に定まる。値Dxは、値MVxと値TRBと値Txと値TRDから定まる値であり、値Dyは、値MVyと値TRBと値Tyと値TRDから定まる値である。
ステップS44において、ブロックの直接モード動きベクトルMVFx、MVFy、MVBx、およびMVByを取得した後、ステップS45が実行され、動きベクトルMVFx、MVFy、MVBx、およびMVByに基づいてブロックが復号化される。
次に、ステップS46が実行され、復号化されるべきブロックがさらに存在するか否かが判定される。存在している場合(YESの場合)は、同じBピクチャ内のすべてのブロックが復号化されてしまうまで、ステップS43〜S45が繰り返される。その後、ステップS47が実行され、復号化されるべきBピクチャがさらに存在するかどうかが判定される。存在する場合、すべてのBピクチャが復号化されてしまうまで、ステップS41〜S46が繰り返される。
[探索アルゴリズムBin_Div(x,y)]
なお、本発明にかかる方法では、値Sを計算するため、上述のように、探索アルゴリズムBin_Div(x,y)を使用することができる。Bin_Div(x,y)を擬似コード表現で以下に示す。
Bin _ Div(x,y)
{
Qmin = 0
Qmax = 1<<N
do
Q = (Qmin + Qmax) >> 1
A = Q * y
if (x = A) return Q
if (x > A) Qmin = Q + 1
if (x < A) Qmax = Q - 1
while (Qmin ≦ Qmax)
return Q
}
このアルゴリズムBin_Div(x,y)は、従来、知られたアルゴリズムである。第1Q値であるQminと第2Q値であるQmaxで定められる範囲における中央の値Qすなわち第3Q値を求め(Q = (Qmin + Qmax) >> 1)、値Qと値yの積A(A = Q * y)と、値xとを比較する。Qの方が大きい場合、新たなQmaxをQ−1とし、再度比較を行う。Qの方が小さい場合、新たなQminをQ+1とし、再度比較を行う。この処理を、値xと積Aとが等しくなるか、または、条件をみたす間(while (Qmin ≦ Qmax))実行する。
[MPEG−4の仕様と、本発明にかかる動きベクトル算出方法との等価性の証明]
これより、本実施形態でのMVFx(、MVFy、MVBx、および、MVBy)を求める式が、MPEG−4仕様に従ってMVFx(、MVFy、MVBx、および、MVBy)を求める式と等価であること、そして、本実施形態でのMVFxを得るための式による計算では、切り捨て誤差が発生しないことを証明する。MVFyを得るための式は、MVFxを得るための式と同等であるため、その証明は省略する。証明に先立ち、先ず、2つの定理、および、それらの証明を示す。
定理1
「整数a、b、c、およびKについて、
0<b<c、0≦|a|<K、ab/c=(((Kb/c)・a)////K)+δとすれば、
(a≧0かつD≧c)または(a<0かつD>0)の場合はδ=1、
それ以外の場合はδ=0である。
ここで、D=ab−c・(((Kb/c)・a)////K)であり、演算子「////」は、商よりも大きくない最大の整数を求める演算を表す。」
定理1の証明:
最初に、δは1または0でなければならないことを証明する。
演算
Figure 2007028393

演算
Figure 2007028393
とは異なるとする。前者は丸めなしの除算である。それに対し、後者は、整数除算であり、後者の結果と前者の商は同符号、かつ、後者の演算結果の絶対値は、前者の商の絶対値を超えないうちで最大の絶対値を有する整数であるとする。
したがって、
Figure 2007028393
である。ここで、x/yは整数であり、rは、0≦|r|<|y|である。
整数u、r、(0≦|r|<c)を用い、
Figure 2007028393
とすると、
Figure 2007028393
である。
整数m、q、(0≦q<c)を用い、
Figure 2007028393
とすると、
Figure 2007028393
である。
ここで、
Figure 2007028393
とすれば、
0≦|r|<c、0≦q<c、および0≦|a|<Kであるから、
Figure 2007028393
である。
ゆえに、
Figure 2007028393
である。したがって、δの値は、0または1であることが証明された。
次に、定理1を証明する。
y=((Kb/c)・a)////Kとすると、
a≧0の場合、
δ=1とすれば、
ab/c=y+1
⇔ab=c(y+1)+s、(0≦s<c)
⇔ab−cy=D=c+s≧cであり、
δ=0とすれば、
ab/c=y
⇔ab=cy+t、(0≦t<c)
⇔ab−cy=D=t<cである。
a<0の場合は、
δ=1とすれば、
ab/c=y+1
⇔ab=c(y+1)+w、(−c<w≦0)
⇔ab−cy=D=c+w>0であり、
δ=0とすれば、
ab/c=y
⇔ab=cy+v、(−c<v≦0)
⇔ab−cy=D=v≦0である。
以上により、定理1が証明された。
さらに、定理1を本実施形態に適用するために、K=2^Nとすると、整数Mについて、MK=M<<N、M////K=M>>Nと表現される。よって、本発明にかかるMVFx、および、MVFyを求める式は、MPEG−4仕様(ISO/IEC14496−2)に記載の式と等価である。
定理2
「整数a、b、cについて、
0<b<c、a(b−c)/c=ab/c−a+εとすれば、
E>0の場合は、ε=1、
E=0の場合は、ε=0、
E<0の場合は、ε=−1である。
ここで、E=ab−c(ab/c)である。」
定理2の証明:
a≧0の場合、u、rを整数とし、0≦r<cとすると、
Figure 2007028393
であり、また、
Figure 2007028393
である。よって、
Figure 2007028393
である。
r=0ならば、
a(b−c)/c=u−a、
r>0ならば、
a(b−c)/c=u−a+1である。
また、u−a≦0(∵u=ab/c、0<b<c)かつr=ab−cu=ab−c(ab/c)なので、
a<0の場合、v、qを整数とし、−c<q≦0とすれば、
Figure 2007028393
であり、また、
Figure 2007028393
である。よって、
Figure 2007028393
である。
q=0ならば、
a(b−c)/c=v−a、
q<0ならば、
a(b−c)/c=v−a−1である。
ここで、v−a≧0(∵v=ab/c、0<b<c)かつq=ab−cv=ab−c(ab/c)である。
以上により、定理2が証明された。よって、本発明にかかるMVBx、および、MVByを求める式は、MPEG−4仕様(ISO/IEC14496−2)に記載の式と等価である。
したがって、本実施形態における処理法は、MPEG−4仕様に記載の式と等価であり、MPEG−4仕様に記載の処理式の代替として使用できる。また、代用可能であるのみならず、従来の計算式による複雑な計算を単純化可能である。図7は、ブロックの直接モード動きベクトルを計算するために本実施形態で使用される演算について種類別に平均演算回数を示す。ここで、p(x)=x÷(Bピクチャ内のブロックの総数)とする。例えば、320×240のピクチャでは、20×15個の16×16ブロックが存在する。故に、p(x)=(x÷(20×15))≒0.003xである。したがって、既存の式と比較して、本実施形態においては演算回数を332から30+p(78)=30.26に減らすことができるため、演算回数は、約90%減少する。
本実施形態を用いた本発明の説明は実際、図2に示すような、特定のタイプのリスト0参照ピクチャおよびリスト1参照ピクチャについての、Bピクチャ直接モードブロックの動きベクトルの算定に照準が合わせられているが、特許文献1の図6(B)および図6(C)に示されている、異なるタイプのリスト0参照ピクチャおよびリスト1参照ピクチャの、Bピクチャの直接モード動きベクトルの計算に使用することも可能である。これら両者の違いは、単に、TRD、TRB、MV、およびMVDの値が異なる点に過ぎない。さらに、本実施形態は、フレームモードのピクチャの復号化に照準が合わせられている。すなわち、リスト0参照ピクチャ、リスト1参照ピクチャ、およびBピクチャは、すべてフレームモードであるとして説明している。しかし、特許文献1の図7〜図13に示されているような、別のフィールドモード、すなわち、リスト0参照ピクチャ、リスト1参照ピクチャ、およびBピクチャは、すべてフィールドモードであっても、または、さまざまなモード、すなわち、リスト0参照ピクチャ、リスト1参照ピクチャ、およびBピクチャはそれぞれ、フレームモードまたはフィールドモード、であってもよい。これらのピクチャについても、本実施形態の計算方法を適用し、Bピクチャの直接モード動きベクトルを算出することは何ら問題ない。
本発明は、本実施形態におけるステップS44において、MPEG−4仕様による直接モードのブロックの動きベクトルを計算するための式と等価であり、かつ演算がより単純な計算ステップを有する動きベクトル算出法を提供する。演算ステップ数および演算の複雑性を大幅に低減することができ、かつ、演算結果の精度に影響を与えない。本方法により、マイクロプロセッサの動作効率を大幅に向上することができる。
本発明は、最も実用的で好ましいと考えられる実施形態に関連して説明したが、本発明は、開示された実施形態に限定されるものではなく、最も広い解釈の本質と範囲に含まれるさまざまな構成を包含することを意図している。したがって、そのような全ての変形例および均等な構成を含むものと理解すべきである。
本発明にかかる双方向予測符号化ピクチャの直接モード動きベクトルの計算方法は、MPEG−4仕様による直接モードブロックの動きベクトルを計算するための式と、等価であり、かつ、MPEG−4仕様よりも演算がより単純で、演算量もより少ない計算工程からなる動きベクトル算出法を含み、MPEG等で用いられる双方向予測符号化画像の直接モードのブロックの動きベクトルの算出等に有用である。
MPEG−4ビデオオブジェクト内のピクチャの符号化および配置を示す概略図である。 MVDがゼロ・ベクトルである場合における、Bピクチャおよびその参照ピクチャ、ならびに、ベクトルおよび時間的距離の概略図である。 MVDがゼロ・ベクトルでない場合における、Bピクチャおよびその参照ピクチャ、ならびに、ベクトルおよび時間的距離の概略図である。 MPEG−4仕様の中で提供される直接モードブロック計算式内の演算子と、その平均演算回数のデータとを示す図表である。 特許文献1内で開示された直接モードのブロックに対する計算式を使用して得られた計算結果、および、真の値を示す比較表である。 本発明の実施形態によるMPEG−4復号器のブロック図である。 本発明にかかる好ましい実施形態による、MPEG−4ビデオオブジェクトの双方向予測符号化ピクチャの復号化方法のフローチャートの部分であり、双方向予測符号化ピクチャ内の直接モードブロックの動きベクトルの計算方法、および、復号化プロセスにかかる部分のフローチャートである。 本実施形態による計算に含まれる演算と、それらの演算回数とを示す表である。
符号の説明
11 ・・・ 可変長復号部
13 ・・・ 動き補償部
15 ・・・ 復号加算部
17 ・・・ フレームメモリ
19 ・・・ テクスチャ復号部

Claims (8)

  1. 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法であって、
    前記双方向予測符号化ピクチャと前記双方向予測符号化ピクチャの第1参照ピクチャとの間の時間的距離であるTRBと、前記第1参照ピクチャと前記双方向予測符号化ピクチャの第2参照ピクチャとの間の時間的距離であるTRDと、所定の定整数Nを用いて第1値Sを計算するステップ(イ)、
    動きベクトルMVの第1方向成分MVxと、前記第1値Sと、前記Nを用いて第2値Txを計算するステップ(ロ)、
    前記動きベクトルMVの前記第1方向と直交する第2方向成分MVyと、前記第1値Sと、前記Nを用いて第3値Tyを計算するステップ(ハ)、
    前記第2値Txと、差分動きベクトルMVDの前記第1方向の成分MVDxと、1または0に定められたδ1xと、の和を求め、前記第1参照ピクチャに対する動きベクトルMVFの前記第1方向成分MVFxとするステップ(ニ)、
    前記第3値Tyと、差分動きベクトルMVDの前記第2方向の成分MVDyと、1または0に定められたδ1yと、の和を求め、前記第1参照ピクチャに対する動きベクトルMVFの前記第2方向成分MVFyとするステップ(ホ)、
    前記MVFxと、−1、0、および、+1のいずれかに定められたδ2xとの和から、前記MVxを差し引いた値を求め、前記第2参照ピクチャに対する動きベクトルMVBの前記第1方向の成分MVBxとするステップ(ヘ)、
    前記MVFyと、−1、0、および、+1のいずれかに定められたδ2yとの和から、前記MVyを差し引いた値を求め、前記ベクトルMVBの前記第2方向の成分MVByとするステップ(ト)、を有することを特徴とする双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  2. 前記第1参照ピクチャは、リスト0参照ピクチャであり、
    前記第2参照ピクチャは、リスト1参照ピクチャである、ことを特徴とする請求項1に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  3. 前記双方向予測符号化ピクチャは、MPEG−4ビデオオブジェクトに含まれる、ことを特徴とする請求項1に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  4. 前記ステップ(イ)において、前記第1値Sは、
    S=(TRB<<N)/TRD、により求められ、
    ここで、演算α<<βは、αを左にβビット、2値的にシフトする演算を意味し、演算子「/」は、整数除算を意味し、整定数Nは12である、ことを特徴とする請求項1に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  5. 前記ステップ(ロ)およびステップ(ハ)において、前記第2値Txおよび第3値Tyは、それぞれ、
    Tx=(S×MVx)>>N、および、
    Ty=(S×MVy)>>N、より求められ、
    ここで、演算α>>βは、αを右にβビット、2値的にシフトする演算を意味する、ことを特徴とする請求項4に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  6. 前記ステップ(ニ)およびステップ(ホ)において、前記MVFxおよびMVFyは、それぞれ、
    MVFx=Tx+δ1x+MVDx、および、
    MVFy=Ty+δ1y+MVDy、より求められ、
    ここで、前記δ1x、および、前記δ1yは、
    Figure 2007028393
    より定まる、ことを特徴とする請求項5に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  7. 前記ステップ(ヘ)およびステップ(ト)において、前記MVBxおよびMVFyは、それぞれ、
    前記MVDxがゼロのとき、
    MVBx=Tx+δ1x+δ2x−MVxであり、
    前記MVDxがゼロでないとき、
    MVBx=MVFx−MVx、であり、
    前記MVDyがゼロのとき、
    MVBy=Ty+δ1y+δ2y−MVyであり、
    前記MVDyがゼロでないとき、
    MVBy=MVFy−MVy、であり、
    ここで、前記δ2xおよびδ2yは、
    Figure 2007028393
    より定まる、ことを特徴とする請求項6に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
  8. 前記ステップ(イ)において、前記第1値Sは、プロセッサにより実行可能な関数プログラムBin_Div(TRB<<N,TRD)を実行することにより取得され、
    前記関数プログラムBin_Div(x,y)は、
    第1Q値を0とし、第2Q値を1を左方向にNビットシフトして求めるステップαと、
    第1Q値と第2Q値の和を右方向に1ビットシフトした値を第3Q値とするステップβと、
    第3Q値と前記y値との積であるA値と前記x値との大小関係を比較するステップγと、を有し、
    前記ステップγにおいて、前記x値と前記A値とが等しい場合、
    前記第3Q値を返して終了し、
    前記x値が前記A値より大きい場合、
    前記第1Q値を、前記第3Q値に1を足した値としてステップβおよびステップγを実行し、
    前記x値が前記A値より小さい場合、
    前記第2Q値を、前記第3Q値から1を引いた値としてステップβおよびステップγを実行する、ことを特徴とする請求項1に記載の双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法。
JP2005210021A 2005-07-20 2005-07-20 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法 Pending JP2007028393A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005210021A JP2007028393A (ja) 2005-07-20 2005-07-20 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
US11/488,857 US20070019731A1 (en) 2005-07-20 2006-07-19 Method for calculating a direct mode motion vector for a bi-directionally predictive-picture
TW095126391A TW200715873A (en) 2005-07-20 2006-07-19 Method for calculating a direct mode motion vector for a bi-directionally predictive-picture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005210021A JP2007028393A (ja) 2005-07-20 2005-07-20 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法

Publications (1)

Publication Number Publication Date
JP2007028393A true JP2007028393A (ja) 2007-02-01

Family

ID=37679022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005210021A Pending JP2007028393A (ja) 2005-07-20 2005-07-20 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法

Country Status (3)

Country Link
US (1) US20070019731A1 (ja)
JP (1) JP2007028393A (ja)
TW (1) TW200715873A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035099A1 (ja) 2007-09-14 2009-03-19 Rohm Co., Ltd. 携帯電話
WO2012124961A3 (ko) * 2011-03-11 2012-12-27 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
CN101119493B (zh) * 2007-08-30 2010-12-01 威盛电子股份有限公司 区块式数字编码图像的译码方法及装置
JP2011501508A (ja) * 2007-10-12 2011-01-06 トムソン ライセンシング 幾何学分割された双方向予測モードパーティションのビデオエンコーディング及びデコーディングのための方法及び装置
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
WO2013009104A2 (ko) * 2011-07-12 2013-01-17 한국전자통신연구원 인터 예측 방법 및 그 장치
TWI618397B (zh) 2012-12-21 2018-03-11 杜比實驗室特許公司 在高位元深度視訊的可適性編碼中,高精度升取樣
EP3939287A4 (en) 2019-04-25 2022-05-11 Beijing Bytedance Network Technology Co., Ltd. RESTRICTIONS ON DIFFERENCE BETWEEN MOVEMENT VECTORS
KR20220023338A (ko) 2019-06-25 2022-03-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 벡터 차이에 대한 제약

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104439A (en) * 1992-02-08 2000-08-15 Samsung Electronics Co., Ltd. Method and apparatus for motion estimation
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
FR2852179A1 (fr) * 2003-03-06 2004-09-10 Thomson Licensing Sa Procede de codage d'une image video
JP4145275B2 (ja) * 2004-07-27 2008-09-03 富士通株式会社 動きベクトル検出・補償装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035099A1 (ja) 2007-09-14 2009-03-19 Rohm Co., Ltd. 携帯電話
WO2012124961A3 (ko) * 2011-03-11 2012-12-27 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치

Also Published As

Publication number Publication date
TW200715873A (en) 2007-04-16
US20070019731A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
JP2007028393A (ja) 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
US11546627B2 (en) Moving picture decoding method and moving picture encoding method
US8675735B2 (en) Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs
US8559515B2 (en) Apparatus and method for encoding and decoding multi-view video
EP3474552B1 (en) Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US8542739B2 (en) Method of estimating disparity vector using camera parameters, apparatus for encoding and decoding multi-view picture using the disparity vector estimation method, and computer-readable recording medium storing a program for executing the method
JP5052134B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
EP2536146B1 (en) Video decoding apparatus, video decoding method, and storage medium
US20130107958A1 (en) Video decoding apparatus and method
JP5310614B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
EP1927249B1 (en) Apparatus and method for encoding and decoding multi-view video
GB2474745A (en) Calculating motion estimation search range vector (SR) based on a vector mean value
JP5895469B2 (ja) 動画像符号化装置、および動画像復号装置
WO2007077989A1 (ja) 映像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
KR20090074162A (ko) 비디오 시퀀스에서 데이터 압축 방법
JP2004032355A (ja) 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置
US20150358644A1 (en) Video encoding apparatus and method, video decoding apparatus and method, and programs therefor
JP4670085B2 (ja) 直接符号化モードでの参照画像ブロックの確定方法
JP2001036908A (ja) 動画像圧縮装置
JP2013005169A (ja) 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
JP2007110672A (ja) 符号化方法
JP2004166036A (ja) 動画像符号化方法,動画像復号方法,動画像符号化装置,動画像復号装置,動画像符号化プログラム,動画像復号プログラム,動画像符号化プログラムの記録媒体および動画像復号プログラムの記録媒体

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061206