【文献】
Jian-Liang Lin, et al.,Improved Advanced Motion Vector Prediction,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2011年 1月14日,4th Meeting: Daegu, KR,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
ビデオ符号化システムにおいて、画像中の現在のブロックの運動ベクトル予測または運動ベクトル予測候補または運動ベクトルまたは運動ベクトル候補を導出する方法であって、本方法は、
運動ベクトルを受信する手段において、ひとつ以上のリスト0のリファレンス画像とひとつ以上のリスト1のリファレンス画像を含むリファレンス画像群から、少なくともひとつの時間的ブロックに関連する2個以上の運動ベクトルを受信する工程と、
候補集合を決定する手段において、前記2個以上の運動ベクトルに基づいて、少なくとも二個の要素を含む候補集合を決定する工程と、
候補集合を配置する手段において、優先順位で、前記候補集合を配置する工程と、
運動ベクトル予測、運動ベクトル予測候補、運動ベクトルまたは運動ベクトル候補を決定する手段において、前記優先順位に従って、前記候補集合から、前記現在のブロックの前記運動ベクトル予測または運動ベクトル予測候補または運動ベクトルまたは運動ベクトル候補を決定する工程とを含み、
前記優先順位は、スライスごとに決定され、
前記優先順位に関連する情報は、スライスヘッダーに組み込まれる
ことを特徴とする方法。
前記候補集合の決定は、前記2個以上の運動ベクトルに対応するスケール化運動ベクトルを導き出す工程を含み、前記候補集合は、前記スケール化運動ベクトルまたは前記2個以上の運動ベクトルと前記スケール化運動ベクトルの組み合わせから選択されることを特徴とする請求項1に記載の方法。
前記優先順位は、スケール化運動ベクトルの方向が補間か補外かに基づいて、前記スケール化運動ベクトルの方向が補間の場合に高い優先順位とすることを含むことを特徴とする請求項4に記載の方法。
ビデオ符号化システムにおいて、画像中の現在のブロックの運動ベクトル予測または運動ベクトル予測候補または運動ベクトルまたは運動ベクトル候補を導出する方法であって、本方法は、
運動ベクトルを受信する手段において、ひとつ以上のリスト0のリファレンス画像とひとつ以上のリスト1のリファレンス画像を含むリファレンス画像群から、少なくともひとつの時間的ブロックに関連する2個以上の運動ベクトルを受信する工程と、
候補集合を決定する手段において、前記2個以上の運動ベクトルに基づいて、少なくとも二個の要素を含む候補集合を決定する工程と、
候補集合を配置する手段において、優先順位で、前記候補集合を配置する工程と、
運動ベクトル予測、運動ベクトル予測候補、運動ベクトルまたは運動ベクトル候補を決定する手段において、前記優先順位に従って、前記候補集合から、前記現在のブロックの前記運動ベクトル予測または運動ベクトル予測候補または運動ベクトルまたは運動ベクトル候補を決定する工程とを含み、
前記2個以上の運動ベクトルは、同一の時間的ブロックに関する、前記リスト0のリファレンス画像方向の運動ベクトルであるリスト0の運動ベクトル及び前記リスト1のリファレンス画像方向の運動ベクトルであるリスト1の運動ベクトルを有し、前記候補集合は、前記リスト0の運動ベクトル及び前記リスト1の運動ベクトルから導出されたスケール化運動ベクトルを有し、
現在のブロックの現在のリストがリスト0である時に、前記リスト0の運動ベクトルから導出された第1のスケール化運動ベクトルは、前記リスト0の運動ベクトルと同一の時間的ブロックに関する前記リスト1の運動ベクトルから導出された第2のスケール化運動ベクトルよりも高い前記優先順位を有し、
現在のブロックの現在のリストがリスト1である時に、前記リスト1の運動ベクトルから導出された第1のスケール化運動ベクトルは、前記リスト1の運動ベクトルと同一の時間的ブロックに関する前記リスト0の運動ベクトルから導出された第2のスケール化運動ベクトルよりも高い前記優先順位を有することを特徴とする方法。
前記優先順位は、スケール化運動ベクトルの方向が補間か補外かに基づいて、前記スケール化運動ベクトルの方向が補間の場合に高い優先順位とすることを含むことを特徴とする請求項9に記載の方法。
【発明を実施するための形態】
【0008】
ビデオ符号化システムにおいて、空間と時間冗長性は、空間と時間予測を用いて、有効に利用されて、伝送されるビットレートを減少させる。空間予測は、同じ画素からデコードされた画素を利用して、符号化される現在の画素の予測を形成する。空間予測は、多くの場合、H.264/AVCイントラ符号化中の輝度信号のブロックバイブロック原理(block by block basis)、たとえば、16×16または4×4ブロックで操作する。動画像列において、隣接する画像は、通常、多くの類似性を有し、且つ、イメージ差だけの利用は、静的背景領域に関連する伝送情報を効果的に減少させることができる。にもかかわらず、動画像列中の移動物体は実体残留を生じ、また、高いビットレートで、剰余を符号化する必要がある。運動補償予測(MCP)は、動画像列で、時間的相互関係を有効に使う一般的技術である。
【0009】
運動補償予測が前向き予測方法に用いられ、デコードされた画像または表示順で、現在の画像より前の画像を用いて、現在の画像ブロックが予測される。前向き予測に加え、後向き予測も用いられて、運動補償予測のパフォーマンスを改善する。後向き予測は、デコードされた画像または表示順で、現在の画像の後の画像を用いる。初版のH.264/AVCは2003年に成立され、前向き予測および後向き予測は、それぞれ、リスト0予測およびリスト1予測に拡張され、リスト0とリスト1両方は、表示順で、現在の画像より前か後の複数のリファレンス画像を含む。以下で、デフォルトリファレンス画像リスト再構成を記述する。リスト0において、現在の画像より前のリファレンス画像は、現在の画像より後のものより、低いリファレンス画像インデックスを有する。リスト1において、現在の画像の後のリファレンス画像は、現在の画像の前よりも、低いリファレンス画像インデックスを有する。リスト0とリスト1両方に対し、前述の規則を適用後、時間的距離も、リファレンス画像インデックスを決定すると考えられる。一般的に言えば、現在の画像に近いリファレンス画像は、低リファレンス画像インデックスを有する。たとえば、現在の画像が画像5、且つ、画像0、2、4、6および8がリファレンス画像で、数字は表示順を示すと仮定する。リスト0のリファレンス画像は、上行性のリファレンス画像インデックスを有し、インデックスは、0から開始され、4、2、0、6および8である。リスト1リファレンス画像は上行性のリファレンス画像インデックスを有し、インデックスは、0から開始され、6、8、4、2および0である。インデックスが0に等しいリファレンス画像は共同設置画像と称され、画像5を現在の画像とするこの例において、画像6はリスト1の共同設置画像、画像4はリスト0の共同設置画像である。リスト0またはリスト1の共同設置画像中のブロックが、現在の画像中の現在のブロックと同じブロック位置を有する時、リスト0またはリスト1の共同設置ブロックと称されるか、または、リスト0またはリスト1中の共同設置ブロックと称される。早期のビデオ基準、たとえば、MPEG-1、MPEG-2およびMPEG-4中、動き推定モードに用いられるユニットは、最初は、マクロブロックに基づく。H.264/AVCにおいて、16×16マクロブロックは、動き推定の16×16、16×8、8×16および8×8ブロックに区分される。さらに、8×8ブロックは、動き推定のために、8×8、8×4、4×8および4×4ブロックに分割される。開発中の高効率ビデオ符号化(HEVC)基準に対し、動き推定/補償モードのユニットは予測ユニット(PU)と称され、PUは、階層的に、最大ブロックサイズに区分される。MCPタイプは、H.264/AVC基準で、各スライスに選択される。運動補償予測がリスト0予測に制限されるスライスはP-スライスと称される。B-スライスに対し、リスト0予測に加え、運動補償予測は、リスト1予測と双方向予測も含む。
【0010】
ビデオ符号化システムにおいて、運動ベクトルおよび符号化剰余がデコーダーに伝送されて、デコーダー側でビデオを再構成する。さらに、フレキシブルなリファレンス画像構造を有するシステムにおいて、選択されたリファレンス画像に関連する情報も伝送されなければならない。運動ベクトルの伝送は、特に、低ビットレートアプリケーションまたは運動ベクトルが小ブロックまたは高運動精度に関連するシステムで、伝送されたビットレートの目立つ部分を要求する。運動ベクトルに関連するビットレートをさらに減少するため、近年、運動ベクトル予測(MVP)と称される技術は、ビデオ符号化の領域に用いられている。MVP技術は、空間的および時間的に、隣接する運動ベクトル間の統計余剰性を有効に使う。MVPが用いられる時、現在の運動ベクトルの予測が選択され、運動ベクトル剰余、即ち、運動ベクトルと予測間の差異が伝送される。MVPスキームは閉ループ配置に適用され、デコードされた情報に基づいて、予測がデコーダーで導出され、伝送されなければならないサイド情報がない。または、サイド情報は、ビットストリームで、明示的に伝送され、デコーダーに、選択される運動ベクトル予測のタイプを通知する。
【0011】
H.264/AVC基準において、Pスライス中、マクロブロックの従来のイントラおよびインターモードに加え、SKIPモードもある。伝送される量子化されたエラー信号、運動ベクトル、参照インデックスパラメータがないので、SKIPモードは、大圧縮を達成する非常に効果的な方法である。SKIPモード中で、ただひとつの16×16マクロブロックに必要な情報は信号で、用いられるSKIPモードを示し、これにより、実質的なビットレート還元が達成される。SKIPマクロブロックを再構成するのに用いられる運動ベクトルは、マクロブロックの運動ベクトル予測に類似する。H.264/AVC基準において、4個の異なるタイプのインター予測は、リスト0、リスト1、双予測およびDIRECT予測を含むBスライスをサポートし、リスト0とリスト1は、それぞれ、リファレンス画像グループ0とグループ1を用いた予測を参照する。双予測モードに対し、予測信号は、動き補償リスト0とリスト1予測信号の加重平均により形成される。DIRECT予測モードは、前に伝送された構文要素から推定され、リスト0またはリスト1予測または双予測である。よって、DIRECTモードにおいて、運動ベクトルの情報を伝送する必要がない。量子化されたエラー信号の伝送がない場合については、DIRECTマクロブロックモードはBSKIPモードと称され、ブロックは効果的に符号化される。
【0012】
開発中のHEVCにおいて、H.264/AVC上の運動ベクトル予測のある改善が考慮される。本開示において、過去および/または将来のリファレンス画像における時間的ブロックに基づいたBフレーム/画像/スライスの運動ベクトル予測システムと方法が開示される。現在のブロックの運動ベクトルは、過去および/または将来のリファレンス画像中の時間的ブロックの運動ベクトルにより効果的に予測され、よって、運動ベクトルの符号化効果が改善される。時間的運動ベクトルは、現在のブロックの予測の候補と見なされ、候補が優先順位で配置される。高い優先順位を有する候補は、低い優先順位を有する候補より前の予測と見なされる。MVP導出に基づいた優先の長所は、現在のブロックの時間的MVP候補が存在する機会を増加させることである。たとえば、従来のビデオ符号化システムは、前のフレーム/画像中の共同設置された運動ベクトルだけを候補と見なす。候補が存在しない場合、コーディングシステムは、共同設置ブロックのMVP候補が利用できないと見なす。よって、MVP候補の可用性を増加して、コーディングシステムのコーディング効果を改善することが望まれる。
【0013】
H.264/AVC基準において、時間的DIRECTモードがBスライスに用いられ、Bスライス中の現在のブロック110の運動ベクトルは、
図1に示されるように、第一リスト1リファレンス画像中の共同設置ブロック120の運動ベクトルから導き出される。時間的DIRECTモードの運動ベクトル導出は、Tourapis等により執筆された“Direct Mode Coding for Bipredictive Slices in the H.264 Standard”(IEEE Trans. on Circuits and systems for Video Technology, Vol. 15, No. 1, pp.119-126, Jan. 2005)中に記述されている。第一リスト1参照の共同設置ブロックの運動ベクトルは、ベクトルMVとして示される。現在のブロックの運動ベクトルは、リスト0リファレンス画像およびリスト1リファレンス画像に関して、ベクトルMV
L0とベクトルMV
L1として示される。現在の画像およびリスト0リファレンス画像間の時間的距離はTD
B、および、リスト0リファレンス画像およびリスト1リファレンス画像間の時間的距離はTD
Dとして示される。現在のブロックの運動ベクトルは以下に従って導出される。
【数1】
【数2】
上述の等式は後に以下により代替される。
【数3】
【数4】
【数5】
【数6】
よって、XとScaleFactorは、スライス/画像レベルで事前計算される。時間的DIRECTモードにおいて、運動ベクトル予測は、第一リスト1参照の共同設置ブロックの運動ベクトルにだけ基づく。
【0014】
その他の従来の技術において、Laroche等による“RD Optimized Coding for Motion Vector Predictor Selection”(IEEE Trans. on Circuits and systems for Video Technology, on Circuits and Systems for Video Technology, Vol. 18, No. 12, pp.1681-1691, Dec. 2008)で、運動ベクトル競合に基づいた運動ベクトル予測選択が開示される。運動ベクトル競合スキームは、RD最適化を用いて、運動ベクトル予測候補から、最高の運動ベクトル予測を決定する。たとえば、
図2に示されるように、時間的運動ベクトル予測候補は、リスト1共同設置画像Ref
1中の共同設置ブロックに対応するリスト0の運動ベクトル、および、リスト0共同設置画像、B-1中の共同設置ブロックのリスト0とリスト1の運動ベクトルを含む。リスト1共同設置画像Ref
1中の共同設置ブロックに対応するリスト0の運動ベクトルは、H.264/AVC基準で定義されるのと同じ方法で計算される。
【数7】
【数8】
【0015】
リスト0の共同設置画像、B-1中の共同設置ブロックのリスト0とリスト1の運動ベクトルは、現在のブロックの運動ベクトル予測を導出するのに用いられる。前向きP-画像を指す画像B-1中に、共同設置された運動ベクトルmv
colB−1L0だけが存在する場合、動き予測mv
3L0およびmv
3L1が、以下に従って計算される。
【数9】
【数10】
【0016】
運動ベクトルmv
colB−1L1は
図2中に示され、d
LOB−1は、前向きP-フレームとフレームB-1間の時間的距離である。後向き予測の場合において、予測mv
4L0 とmv
4L1は以下に従って計算される。
【数11】
【数12】
【0017】
運動ベクトルmv
colB−1L0は、
図2に示される過去のP-フレームを指す画像B-1中の共同設置された運動ベクトルである。運動ベクトルmv
colB−1L0とmv
colB−1L1の可用性に基づいて、等式(7)-(12)中の対応する予測は現在のブロックにも用いることができ、RD最適化が適用されて、最高の運動ベクトル予測を選択する。Laroche等による運動ベクトル予測スキームは、デコーダー側に伝送されるサイド情報を必要とし、選択される特定の運動ベクトル予測を示す。選択された運動ベクトル予測に関連するサイド情報の伝送はあるバンド幅を消耗する。運動ベクトル競合スキームが有効であろうが無効であろうが、時間的運動ベクトル予測は、運動ベクトル剰余の減少に有益である。時間的運動ベクトル予測技術を発展させて、運動ベクトル競合が用いられない時、時間的運動ベクトル予測を増加させ、同時に、運動ベクトル競合が用いられる時、時間的運動ベクトル予測候補を増加させることが望まれる。さらに、増強された時間的運動ベクトル予測が、余分なサイド情報または最小追加サイド情報を有さないことも望まれる。
【0018】
従って、画像中の現在のブロックの運動ベクトル予測技術が開発された。本発明の運動ベクトル予測技術は、現在のブロックの運動ベクトル予測、運動ベクトル予測候補、運動ベクトルまたは運動ベクトル候補の決定に用いることができる。この技術は、将来と過去のリファレンス画像から、時間的ブロックに関連する運動ベクトルを用いて、予測の候補とし、優先順位に従って、予測を選択する。
図3は、優先順位に従った過去と将来のリファレンス画像中の共同設置ブロックの運動ベクトルを用いた運動ベクトル予測の例を示す図である。
図3に用いられる将来の画像の例は、0に等しいリファレンス画像インデックスRefIdxL1を有するリスト1に属する画像で、この画像は、“l”と表記される。
図3中に用いられる過去の画像の例は、0に等しいリファレンス画像インデックスRefIdxL0を有するリスト0に属する画像で、この画像は“j”と表記される。さらに、現在の画像は“k”と表記され、RefIdeL0>1を有するリスト0に属する画像は“i”と表記され、RefIdeL1>1を有するリスト1に属する画像は“m”と表記される。現在のブロック310の運動ベクトルmvL0とmvL1は、優先順位に従って、それぞれ、画像jの共同設置ブロック320と画像の共同設置ブロック330の運動ベクトルmvL0
j,mvL1
j,mvL0
lおよびmvL1
lから決定される。運動ベクトルmvL0
jとmvL1
jは、それぞれ、リスト0中の画像とリスト1中の画像を指す画像jの共同設置ブロック320の運動ベクトルを参照する。運動ベクトルmvL0
lとmvL1
lは、それぞれ、リスト0中の画像とリスト1中の画像を指す画像lの共同設置ブロック330の運動ベクトルを参照する。これらの運動ベクトル候補は優先順位で配列されるので、予測が選択される。
【0019】
図4は、
図3の4個の運動ベクトル候補の所定の優先順位の例を示す。現在のブロック310の将来と過去のリファレンス画像中、共同設置された運動ベクトルに基づいて、リスト0中のリファレンス画像を用いた運動ベクトル予測の決定は以下のようである。
mvL0
lが存在し、且つ、対応するリファレンス画像(pic.id=i-1)が現在の画像のリスト0の場合、
mvL0=mvL0
l(reference pic.id=i-1);
mvL1
jが存在し、且つ、対応するリファレンス画像(pic.id=m)が現在の画像のリスト0の場合、
mvL0=mvL1
j(reference pic.id=m);
mvL0
jが存在し、且つ、対応するリファレンス画像(pic.id=j)が現在の画像のリスト0の場合、
mvL0=mvL0
j(reference pic.id=j);
mvL1
lが存在し、且つ、対応するリファレンス画像(pic.id=l)が現在の画像のリスト0の場合、
mvL0=mvL1
l(reference pic.id=l);
そうでなければ、
mvL0は、可用ではない。
上述の所定の優先順位は、リスト0のリファレンス画像と予測の候補を使用して、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補mvL0を決定することが、リスト0とリスト1リファレンス画像中の共同設置された運動ベクトルに基づく例を示す。当業者は、別の所定の優先順位を用いて、同様か同類の目的を達成することができる。
【0020】
図5は、
図3の4個の運動ベクトル候補の所定の優先順位の別の例を示す図である。現在のブロック310の将来と過去のリファレンス画像中、共同設置された運動ベクトルに基づいて、リスト1中のリファレンス画像を用いた運動ベクトル予測の決定は以下のようである。
mvL1
jが存在し、且つ、対応するリファレンス画像(pic.id=m)が現在の画像のリスト1の場合、
mvL1=mvL1
j(reference pic.id=m);
mvL0
lが存在し、且つ、対応するリファレンス画像(pic.id=i-1)が現在の画像のリスト1の場合、
mvL1=mvL0
l(reference pic.id=i-1);
mvL1
lが存在し、且つ、対応するリファレンス画像(pic.id=l)が現在の画像のリスト1の場合、
mvL1=mvL1
l(reference pic.id=l);
mvL0
jが存在し、且つ、対応するリファレンス画像(pic.id=j)が現在の画像のリスト1の場合、
mvL1=mvL0
j(reference pic.id=j);
そうでなければ、
mvL1は、可用ではない。
上述の所定の優先順位は、リスト1中のリファレンス画像と予測の候補を用いて、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補mvL1を決定することが、リスト0とリスト1リファレンス画像中の共同設置された運動ベクトルに基づく例を示す。当業者は、別の所定の優先順位を用いて、同様か同類の目的を達成することができる。
【0021】
全部で4個のベクトルは、現在のブロックの予測または予測候補の候補として見なされるが、全ての運動ベクトル候補が用いられるのではない。たとえば、
図6に示されるように、リスト0中のリファレンス画像を用いて、
図3中の4個の運動ベクトルの3個が用いられて、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補を決定する。
mvL0
lが存在し、且つ、対応するリファレンス画像が現在の画像のリスト0の場合、
mvL0=mvL0
l(reference pic.id=i-1);
mvL1
jが存在し、且つ、対応するリファレンス画像が現在の画像のリスト0の場合、
mvL0=mvL1
j(reference pic.id=m);
mvL0
jが存在し、且つ、対応するリファレンス画像が現在の画像のリスト0の場合、
mvL0=mvL0
j(reference pic.id=j);
そうでなければ、
mvL0は、可用ではない。
【0022】
同様に、
図7に示されるように、リスト1中のリファレンス画像を用いて、
図3中の4個の運動ベクトルの3個が用いられて、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補を決定する。
mvL1
jが存在し、且つ、対応するリファレンス画像が現在の画像のリスト1の場合、
mvL1=mvL1
j(reference pic.id=m);
mvL0
lが存在し、且つ、対応するリファレンス画像が現在の画像のリスト1の場合、
mvL1=mvL0
l(reference pic.id=i-1);
mvL1
lが存在し、且つ、対応するリファレンス画像が現在の画像のリスト1の場合、
mvL1=mvL1
l(reference pic.id=l);
そうでなければ、
mvL1は、可用ではない。
【0023】
別の例において、
図8に示されるように、リスト0中のリファレンス画像を用いて、
図3中の4個の運動ベクトルの2個が用いられて、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補を決定する。
mvL0
lが存在し、且つ、対応するリファレンス画像が現在の画像のリスト0の場合、
mvL0=mvL0
l(reference pic.id=i-1);
mvL1
jが存在し、且つ、対応するリファレンス画像が現在の画像のリスト0の場合、
mvL0=mvL1
j(reference pic.id=m);
そうでなければ、
mvL0は、可用ではない。
【0024】
同様に、
図9に示されるように、リスト1中のリファレンス画像を用いて、
図3中の4個の運動ベクトルの2個が用いられて、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補を決定する。
mvL1
jが存在し、且つ、対応するリファレンス画像が現在の画像のリスト1の場合、
mvL1=mvL1
j(reference pic.id=m);
mvL0
lが存在し、且つ、対応するリファレンス画像が現在の画像のリスト1の場合、
mvL1=mvL0
l(reference pic.id=i-1);
そうでなければ、
mvL1は、可用ではない。
【0025】
リスト0リファレンス画像からの時間的ブロックに関連する少なくともひとつの運動ベクトル、および、リスト1リファレンス画像からの時間的ブロックに関連する少なくともひとつの運動ベクトルを用いて、現在のブロックの運動ベクトル予測または運動ベクトル予測候補を決定することに限定されない。ある別の具体例において、優先順位がビットストリーム、たとえば、シーケンスヘッダー、画像ヘッダーまたはスライスヘッダーに取り込まれる、および、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補は、優先順位に従って、リスト1共同設置ブロック330に関連する2個の運動ベクトルmvL0
lとmvL1
lから決定される。別の例において、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補は、シーケンスヘッダー、画像ヘッダーまたはスライスヘッダーに取り込まれる優先順位に従って、リスト0共同設置ブロック320に関連する2個の運動ベクトルmvL0
jとmvL1
jから決定される。
【0026】
上述の例は、RefIdxL1=0の未来とRefIdxL0=0の過去のリファレンス画像の共同設置された運動ベクトルを、現在のブロックの運動ベクトル予測の候補または運動ベクトル予測候補の候補値とし、対応リファレンス画像のスケール化の共同設置された運動ベクトルも候補として用いられる。運動ベクトルスケーリングの方法は、
図1と
図2に既に記述され、関連する文章を有する。同じスケーリング方法は、本発明のスケール化運動ベクトルを導出するのに用いられる。
図10Aは、現在のリストがリスト0で、且つ、RefIdxL0=0の時のリスト0とリスト1の共同設置ブロックのスケール化運動ベクトルに基づいた運動ベクトル予測の例を示す図である。mvL0
l,mvL1
j,mvL0
j,およびmvL1
lに対応するスケール化運動ベクトルは、それぞれ、1002、1004、1006および1008と表記される。スケール化運動ベクトルは、リスト0またはリスト1共同設置された運動ベクトルをスケーリングすることによる現在のブロックとRefIdxL0=0のリスト0中のリファレンス画像間の運動ベクトルを示す。よって、mvL0
l,mvL1
j,mvL0
jとmvL1
lを、運動ベクトル予測の候補または運動ベクトル予測候補の候補値として用いるのに代わって、スケール化運動ベクトル1002、1004、1006および1008が、運動ベクトル予測の候補または運動ベクトル予測候補の候補値として用いられる。スケール化運動ベクトルは、非スケール化運動ベクトルより、好ましい予測を提供する。
図10Bは、現在のリストがリスト1で、且つ、RefIdxL1=0の時のリスト0とリスト1共同設置ブロックのスケール化運動ベクトルに基づいた運動ベクトル予測の例を示す図である。mvL1
j,mvL0
l,mvL1
lおよびmvL0
jに対応するスケール化運動ベクトルは、それぞれ、1012、1014、1016および1018として表記される。スケール化運動ベクトルは、リスト0またはリスト1の共同設置運動のスケーリングによる現在のブロックとRefIdxL1=0のリスト1中のリファレンス画像間の運動ベクトルを示す。よって、mvL1
j,mvL0
l,mvL1
lとmvL0
jを、運動ベクトル予測の候補または運動ベクトル予測候補の候補値とするのに代わって、スケール化運動ベクトル1012、1014、1016および1018は、運動ベクトル予測の候補または運動ベクトル予測候補の候補値として用いられる。スケール化運動ベクトルは、非スケール化運動ベクトルよりも好ましい予測を提供する。
【0027】
非スケール化運動ベクトルの場合と類似して、所定の優先順位は、リスト0の運動ベクトル予測のスケール化運動ベクトルに割り当てられる。リスト0のリファレンス画像インデックスRefIdxL0は、黙示的に導出されるかまたは明示的にビットストリームで伝送される。現在のリストが、リスト0およびRefIdxL0=0の場合、
図10Aのスケール化運動ベクトルの所定の優先順位が
図11に示される。運動ベクトル予測または運動ベクトル予測候補が、以下の優先順位に従って決定される。
mvL0
lが存在する場合、
mvL0=スケール化mvL0
l(motion vector 1002);
mvL1
jが存在する場合、
mvL0=スケール化mvL1
j(motion vector 1004);
mvL0
jが存在する場合、
mvL0=スケール化mvL0
j(motion vector 1006);
mvL1
lが存在する場合、
mvL0=スケール化mvL1
l(motion vector 1008);
そうでなければ、
mvL0は、可用ではない。
【0028】
別の具体例において、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補を導出するリスト0運動ベクトル予測(現在のリストはリスト0およびRefIdxL0=0)は、以下の優先順位に従って決定される。
mvL0
lが存在する場合、
mvL0=スケール化mvL0
l(motion vector 1002);
mvL1
lが存在する場合、
mvL0=スケール化mvL1
l(motion vector 1008);
そうでなければ、
mvL0は、可用ではない。
この場合、リスト1の共同設置ブロック330に関連するスケール化運動ベクトルだけが考慮される。優先順位に関連する情報は、シーケンスヘッダー、画像ヘッダーまたはスライスヘッダーに取り込まれる。
【0029】
リスト0の運動ベクトル予測(現在のリストはリスト0およびRefIdxL0=0)のさらに別の具体例は、以下の優先順位に従って、現在のブロック310の運動ベクトル予測または運動ベクトル予測候補を決定する。
mvL1
jが存在する場合、
mvL0=スケール化mvL1
j(motion vector 1004);
mvL0
jが存在する場合、
mvL0=スケール化mvL0
j(motion vector 1006);
そうでなければ、
mvL0は、可用ではない。
この場合、リスト0の共同設置ブロック320に関連するスケール化運動ベクトルだけが考慮される。優先順位に関連する情報は、シーケンスヘッダー、画像ヘッダーまたはスライスヘッダーに取り込まれる。
【0030】
所定の優先順位が、リスト1の運動ベクトル予測のスケール化運動ベクトルにも割り当てられる。リスト1のリファレンス画像インデックスRefIdxL1が、黙示的に導出されるかまたは明示的にビットストリーム中で伝送される。現在のリストが、リスト1、且つ、RefIdxL1=0の場合、
図10Bのスケール化運動ベクトルの所定の優先順位は
図12に示される。運動ベクトル予測または運動ベクトル予測候補は、以下の優先順位に従って決定される。
mvL1
jが存在する場合、
mvL1=スケール化mvL1
j;
mvL0
lが存在する場合、
mvL1=スケール化mvL0
l;
mvL1
lが存在する場合、
mvL1=スケール化mvL1
l;
mvL0
jが存在する場合、
mvL1=スケール化mvL0
j;
そうでなければ、
mvL1は、可用ではない。
同様に、リスト1の運動ベクトル予測(現在のリストは、リスト1、且つ、RefIdxL1=0)は、ビットストリームに取り込まれる所定の優先順位に従って、リスト0の共同設置ブロック320(つまり、運動ベクトル1012と1018)に関連するスケール化運動ベクトルだけを考慮し、または、ビットストリームに取り込まれる所定の優先順位に従って、リスト1の共同設置ブロック330(つまり、運動ベクトル1014と1016)に関連するスケール化運動ベクトルだけを考慮する。
【0031】
図11または
図12中、2または3個のスケール化運動ベクトルを、運動ベクトル予測の候補または運動ベクトル予測候補の候補値として選択し、現在のブロックの運動ベクトル予測または運動ベクトル予測候補が、優先順位に従って、候補から決定される可能性がある。たとえば、候補は、
図11の2個の運動ベクトル1002と1004を含み、優先順位に従って、運動ベクトル1004前に、運動ベクトル1002が考慮される。別の具体例において、候補は、
図12の3個の運動ベクトル1012、1014および1016を含み、優先順位に従って、運動ベクトル1012がまず考慮され、次に、運動ベクトル1014、最後に、運動ベクトル1016が考慮される。
【0032】
前述のように、
図11の例は、リスト0とリスト1の共同設置された運動ベクトルに対応する全スケール化運動ベクトルを、運動ベクトル予測の候補または運動ベクトル予測候補の候補値と見なし、候補は、リスト0またはリスト1中の共同設置ブロックに対応するスケール化運動ベクトルだけに制限される。前述のように、リスト0のリファレンス画像インデックスRefIdxL0は、黙示的に導出されるかまたは明示的にビットストリーム中で伝送される。現在のリストが、リスト0およびRefIdxL0=0の場合、リスト1中の共同設置ブロックに関連するスケール化運動ベクトルだけが、候補と見なされる。この場合の所定の優先順位の例が
図13に示される。各予測ユニット(PU)中で、現在のリストがリスト0の情報が組み込まれるまたは定義される。運動ベクトル予測または運動ベクトル予測候補は、以下の優先順位に従って決定される。
mvL0
lが存在する場合、
mvL0=スケール化mvL0
l;
mvL1
lが存在する場合、
mvL0=スケール化mvL1
l;
そうでなければ、
mvL0は、可用ではない。
【0033】
上述の例において、リスト0中の共同設置ブロックに関連する運動ベクトルだけが候補と見なされる場合、この場合の所定の優先順位の例が
図14に示される。運動ベクトル予測または運動ベクトル予測候補は、以下の優先順位に従って決定される。
mvL1
jが存在する場合、
mvL0=スケール化mvL1
j;
mvL0
jが存在する場合、
mvL0=スケール化mvL0
j;
そうでなければ、
mvL0は、可用ではない。
【0034】
上述の例において、運動ベクトル予測は、リスト0とリスト1の共同設置された運動ベクトルのスケール化運動ベクトルか非スケール化運動ベクトルに基づく。リスト0とリスト1の共同設置された運動ベクトルのスケール化運動ベクトルと非スケール化運動ベクトルが結合されて、運動ベクトル予測に更なる選択を提供する。
図15Aは、スケール化運動ベクトルと非スケール化運動ベクトルを用いた運動ベクトル予測の例を示す図である。現在のブロック310と、画像id=jのリスト0中のリファレンス画像間のスケール化運動ベクトル1002、1004、1006および1008、および、将来と過去のリファレンス画像中の共同設置ブロックの非スケール化運動ベクトルmvL0
l,mvL1
j,mvL0
jおよびmvL1
l両方が、運動ベクトル予測または運動ベクトル予測候補の候補として用いられる。
図15Bは、スケール化運動ベクトルと非スケール化運動ベクトルを用いた運動ベクトル予測の例を示す図である。現在のブロック310と画像id=lのリスト1中のリファレンス画像間のスケール化運動ベクトル1012、1014、1016および1018、および、非スケール化運動ベクトルmvL1
j,mvL0
l,mvL1
lとmvL0
jは、運動ベクトル予測または運動ベクトル予測候補の候補として用いられる。
【0035】
図16は、
図15Aに示される将来と過去のリファレンス画像中の共同設置ブロックのスケール化運動ベクトルと、非スケール化運動ベクトル両方を、運動ベクトル予測の候補とした運動ベクトル予測の例を示す図である。運動ベクトル予測の候補または運動ベクトル予測候補は、現在のブロック310と画像id=jのリスト0中のリファレンス画像間のスケール化運動ベクトル1002、1004、1006および1008を含み、将来と過去のリファレンス画像中の共同設置ブロックの非スケール化運動ベクトルmvL0
l,mvL1
j,mvL0
jとmvL1
lは、運動ベクトル予測の候補または運動ベクトル予測候補の候補値として用いられる。予測または予測候補の決定は、以下の所定の優先順位に従う。
mvL0
lが存在し、且つ、対応するリファレンス画像(pic.id=i-1)が現在の画像のリスト0の場合、
mvL0=mvL0
l(reference pic.id=i-1);
そうでなければ、
mvL0=スケール化mvL0
l(reference pic.id=j);
mvL1
jが存在し、且つ、対応するリファレンス画像(pic.id=m+1)が現在の画像のリスト0の場合、
mvL0=mvL1
j(reference pic.id=m+1);
そうでなければ、
mvL0=スケール化mvL1
j(reference pic.id=j);
mvL0
jが存在し、且つ、対応するリファレンス画像(pic.id=j)が現在の画像のリスト0の場合、
mvL0=mvL0
j(reference pic.id=j);
そうでなければ、
mvL0=スケール化mvL0
j(reference pic.id=j);
mvL1
lが存在し、且つ、リファレンス画像(pic.id=l)が現在の画像のリスト0の場合、
mvL0=mvL1
l(reference pic.id=l);
そうでなければ、
mvL0=スケール化mvL1
l(reference pic.id=j);
そうでなければ、
mvL0は、可用ではない。
【0036】
図17は、
図15Bに示される将来と過去のリファレンス画像中の共同設置ブロックのスケール化運動ベクトルと非スケール化運動ベクトル両方を、運動ベクトル予測の候補とする運動ベクトル予測の例を示す図である。運動ベクトル予測の候補または運動ベクトル予測候補の候補値は、現在のブロック310と画像id=lのリスト1中のリファレンス画像間のスケール化運動ベクトル1012、1014、1016および1018を含み、将来と過去のリファレンス画像中の共同設置ブロックの非スケール化運動ベクトルmvL0
l,mvL1
j,mvL0
j,およびmvL1
lは、運動ベクトル予測の候補または運動ベクトル予測候補の候補値として用いられる。予測または予測候補の決定は、以下の所定の優先順位に従う。
mvL1
jが存在し、且つ、対応するリファレンス画像(id=m+1)が現在の画像のリスト1の場合、
mvL1=mvL1
j(reference pic.id=m+1);
そうでなければ、
mvL1=スケール化mvL1
j(reference pic.id=l);
mvL0
lが存在し、且つ、対応するリファレンス画像(id=i-1)が現在の画像のリスト1の場合、
mvL1=mvL0
l(reference pic.id=i-1);
そうでなければ、
mvL1=スケール化mvL0
l(reference pic.id=l);
mvL1
lが存在し、且つ、対応するリファレンス画像(pic.id=l)が現在の画像のリスト1の場合、
mvL1=mvL1
l(reference pic.id=l);
そうでなければ、
mvL1=スケール化mvL1
l(reference pic.id=l);
mvL0
jが存在し、且つ、対応するリファレンス画像(pic.id=j)が現在の画像のリスト1の場合、
mvL1=mvL0
j(reference pic.id=j);
そうでなければ、
mvL1=スケール化mvL0
j(reference pic.id=l);
そうでなければ、
mvL1は、可用ではない。
【0037】
所定の優先順位に従った運動ベクトル予測の上述の例において、対応する優先順位が各例に用いられて、運動ベクトル候補から、運動ベクトル予測または運動ベクトル予測候補を決定するプロセスを説明する。用いられる特定の優先順位は、本発明を限定するものではない。当業者は、運動ベクトル候補の異なる優先順位を選択して、本発明を実行することができる。さらに、上述の例は、候補中の運動ベクトルの順序が、所定の優先順位に従って決定され、候補の優先順位は、適応的方法に従って実行されることを説明する。適合優先順位スキームは、前のブロックの再構成された運動ベクトルの統計、現在のブロックのパーティションタイプ、運動ベクトルの相互関係、運動ベクトルの方向、スケール化運動ベクトルの方向が補間か補外か、運動ベクトルの距離または時間的運動ベクトルの場合、運動ベクトルが現在のブロックを横切るか否かに基づく。また、適応的方法は、上述の2個以上の要素の組み合わせにも基づく。
【0038】
前のブロックの再構成された運動ベクトルの統計が適応的方法に用いられる時、例として、統計は運動ベクトル候補の計算に関連する。優先順位は運動ベクトル候補の計算に適合し、高い計数を有する運動ベクトル候補は、運動ベクトル予測に高い優先度を割り当てる。現在のブロックのパーティションタイプが適応的方法に用いられる時、たとえば、サイズ2Nx2Nの現在の符号化ユニットが、サイズNx2Nの2個の長方形の予測ユニットに分割され、且つ、現在のブロックが左予測ユニットの場合、現在の符号化ユニットの左隣接に非常に類似する運動ベクトルは、高い優先性が割り当てられる。サイズ2Nx2Nの現在の符号化ユニットが、2個のサイズNx2Nの長方形の予測ユニットに分割され、現在のブロックが右予測ユニットである場合、現在の符号化ユニットの右隣接に非常に類似する運動ベクトルは、高い優先度が割り当てられる。運動ベクトルの相互関係が適応的方法に用いられる時、高い相互関係を有する運動ベクトルは、高い優先度が割り当てられる。たとえば、優先リスト中の2個の運動ベクトルが厳密に同じである場合、運動ベクトルは、高い相互関係があると見なされる。運動ベクトルの方向が適応的方法に用いられる時、例として、ターゲットリファレンス画像の方向を指す運動ベクトルが高優先度を有するように割り当てられる。補間か補外であるスケール化MVの方向が適応的方法に用いられる時、たとえば、補間のプロセスを有するスケール化運動ベクトルが、高い優先度を有するように割り当てられる。運動ベクトルの距離が適応的方法に用いられる時、たとえば、現在のブロックからターゲットリファレンス画像の運動ベクトルの短い時間的距離は、高い優先度を有するように割り当てられる。時間的運動ベクトルの被覆領域が適応的方法に用いられる時、現在のブロック上の運動ベクトルの被覆領域は、高い優先度を有するように割り当てられる。
【0039】
注意すべきことは、本発明は、インターモードに適用されるだけでなく、SKIP、DIRECTおよび融合モードにも適用されることである。インターモードにおいて、現在のリストを与え、運動ベクトル予測が用いられて、PUの運動ベクトルを予測し、運動ベクトル剰余が伝送される。運動ベクトル競合スキームが用いられないとき、本発明は、運動ベクトル予測の導出に適用される、または、運動ベクトルスキームが用いられる時、運動ベクトル予測候補の導出に適用される。SKIP、DIRECTおよび融合にとって、それらは、インターモードの特殊なケースと見なされ、運動ベクトル剰余は伝送されず、常に、0と推論される。これらの場合において、運動ベクトル競合スキームが用いられない時、本発明が運動ベクトルの導出に適用される、または、運動ベクトルスキームが用いられない時、運動ベクトル候補の導出に適用される。
【0040】
本発明の具体例による運動ベクトル予測は、各種ハードウェア、ソフトウェアコードまたはそれらの組み合わせで実行される。たとえば、本発明の具体例は、ビデオ圧縮チップに整合される回路またはビデオ圧縮ソフトウェアに整合されるプログラムコードで、記述された処理を実行する。本発明の具体例は、デジタルシグナルプロセッサ(DSP)上で実行されるプログラムコードで、記述される処理を実行する。本発明は、コンピュータプロセッサ、デジタル信号プロセッサ、マイクロプロセッサまたはフィールドプログラマブルゲートアレイ(FPGA)により実行される多くの機能を含む。これらのプロセッサが設定されて、本発明により具体化された特定の方法を定義する機械読み取り可能ソフトウェアコードまたはファームウェアコードを実行することにより、本発明に従う特定のタスクを実行する。ソフトウェアコードまたはファームウェアコードは、異なるプログラミング言語および異なるフォーマットやスタイルで発展する。ソフトウェアコードは、異なるターゲットプラットフォームにコンパイルできる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイルと言語と設定コードの別の手段は、本発明の精神と領域を逸脱しない。
【0041】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。