(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ
この出願は、候補動きベクトルリストを取得するための方法、装置、エンコーダ及びデコーダを開示する。候補動きベクトルリストを取得するための方法は、第1の候補ピクチャブロックがエンコード/デコードされ、インター予測モードが使用されるとき、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かを決定するステップと、決定結果に基づいて、現ブロックについての候補動きベクトルリストを構築するステップであり、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるとき、候補動きベクトルリストは第1の候補ピクチャブロックの動きベクトルMVを含み、或いは、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、候補動きベクトルリストは第1の候補ピクチャブロックのMVを含まない、ステップとを含む。この出願を実現することは、インター予測モードにおける候補動きベクトルリストを取得するプロセスを簡略化し、動き情報導出プロセスの複雑性を低減し、符号化効率を改善することができる。
第2の候補ピクチャブロックがエンコード又はデコードされ、前記第2の候補ピクチャブロックについて前記インター予測モードが使用されるとき、前記第2の候補ピクチャブロックの参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるか否かを決定するステップと、
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるとき、前記第2の候補ピクチャブロックのMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するステップと
を更に含む、請求項1に記載の方法。
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項2に記載の方法。
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記第2の候補ピクチャブロックの前記参照ピクチャのピクチャオーダカウントPOCに基づいて、且つ、前記現ブロックの前記参照ピクチャのPOCに基づいて、前記第2の候補ピクチャブロックの前記MVをスケーリングし、スケーリングされたMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用する、請求項2に記載の方法。
前記第1の候補ピクチャブロックの前記MVが前記第2の候補ピクチャブロックの前記MVと同じであるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項6に記載の方法。
前記決定モジュールは、第2の候補ピクチャブロックがエンコード又はデコードされ、前記第2の候補ピクチャブロックについて前記インター予測モードが使用されるとき、前記第2の候補ピクチャブロックの参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるか否かを決定するように更に構成され、
前記処理モジュールは、前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるとき、前記第2の候補ピクチャブロックのMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するように更に構成される、請求項8に記載の装置。
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項9に記載の装置。
前記処理モジュールは、前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記第2の候補ピクチャブロックの前記参照ピクチャのピクチャオーダカウントPOCに基づいて、且つ、前記現ブロックの前記参照ピクチャのPOCに基づいて、前記第2の候補ピクチャブロックの前記MVをスケーリングし、スケーリングされたMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するように更に構成される、請求項9に記載の装置。
前記現ブロックは複数の参照ピクチャを有し、前記決定モジュールは、前記複数の参照ピクチャのPOCを前記第1の候補ピクチャブロックの前記参照ピクチャの前記POCと別々に比較し、前記複数の参照ピクチャの前記POCのうち1つが前記第1の候補ピクチャブロックの前記参照ピクチャの前記POCと同じであるとき、前記第1の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと同じであると決定するように具体的に構成される、請求項8乃至11のうちいずれか1項に記載の装置。
前記処理モジュールは、前記第1の候補ピクチャブロックの前記MVと前記第2の候補ピクチャブロックの前記MVとが異なると決定するように更に構成される、請求項8乃至12のうちいずれか1項に記載の装置。
前記第1の候補ピクチャブロックの前記MVが前記第2の候補ピクチャブロックの前記MVと同じであるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項13に記載の装置。
【発明を実施するための形態】
【0037】
以下に、この出願の実施形態における添付の図面を参照して、この出願の実施形態について説明する。以下の説明において、この開示の一部を構成し、例示により、この出願の実施形態の具体的な態様又はこの出願の実施形態が使用され得る具体的な態様を示す添付の図面に参照が行われる。この出願の実施形態は、他の態様で使用されてもよく、添付の図面に示されていない構造的又は論理的な変更を含んでもよいことが理解されるべきである。したがって、以下の詳細な説明は、限定的なものと解釈されるものではなく、この出願の範囲は、添付の特許請求の範囲により定義される。例えば、記載の方法を参照する開示の内容はまた、当該方法を実行するように構成された対応するデバイス又はシステムについても当てはまってもよく、その逆も同様であることが理解されるべきである。例えば、1つ以上の具体的な方法のステップが記載されている場合、対応するデバイスは、記載の1つ以上の方法のステップを実行するための機能ユニットのような1つ以上のユニット(例えば、1つのユニットが1つ以上のステップを実行するか、或いは、複数のユニットのそれぞれが複数のステップのうち1つ以上を実行する)を、このような1つ以上のユニットが添付の図面に明示的に記載又は図示されていなくても含んでもよい。さらに、例えば、具体的な装置が機能ユニットのような1つ以上のユニットに基づいて記載されている場合、対応する方法は、1つ以上のユニットの機能又は複数の機能を実行するために使用される1つのステップ(例えば、1つ以上のユニットの機能又は複数の機能を実行するために使用されるステップ、或いは、複数のステップのそれぞれが複数のユニットにおける1つ以上のユニットの機能又は複数の機能を実行するために使用される)を、このような1つ又は複数のステップが添付の図面に明示的に記載又は図示されていなくても含んでもよい。さらに、この明細書に記載されている様々な例示的な実施形態及び/又は態様の特徴は、特に断らない限り、互いに組み合わされてもよいことが理解されるべきである。
【0038】
この出願の実施形態に関連する技術的解決策は、既存のビデオ符号化標準(例えば、H.264及びHEVCのような標準)に適用され得るだけでなく、将来のビデオ符号化標準(例えば、H.266標準)にも適用され得る。この出願の実現方式において使用される用語は、単にこの出願の具体的な実施形態を説明することを意図するものであり、この出願を限定することを意図するものではない。以下に、まず、この出願の実施形態における関連する概念について簡単に説明する。
【0039】
ビデオ符号化は、典型的には、一連のピクチャの処理を示し、一連のピクチャは、ビデオ又はビデオシーケンスを形成する。ビデオ符号化の分野では、「ピクチャ(picture)」、「フレーム(frame)」及び「画像(image)」という用語は同義語として使用されてもよい。この明細書において使用されるビデオ符号化は、ビデオエンコード又はビデオデコードを示す。ビデオエンコードは、送信元側で実行され、典型的には、より効率的な記憶及び/又は送信のため、ビデオピクチャを表すために必要なデータ量を低減するために、元のビデオピクチャを処理する(例えば、圧縮する)ことを含む。ビデオデコードは、宛先側で実行され、典型的には、ビデオピクチャを復元するために、エンコーダの処理と比較して逆の処理を含む。実施形態におけるビデオピクチャの「符号化」は、ビデオシーケンスの「エンコード」又は「デコード」として理解されるべきである。エンコード部とデコード部との組み合わせはまた、コーデック(エンコード及びデコード)と呼ばれる。
【0040】
ビデオシーケンスは一連のピクチャ(picture)を含み、ピクチャはスライス(slice)に更に分割され、スライスはブロック(block)に更に分割される。ビデオ符号化処理は、ブロック単位で実行される。いくつかの新たなビデオ符号化標準において、「ブロック」の概念について更に説明する。例えば、マクロブロック(macroblock, MB)がH.264標準において導入されている。マクロブロックは、予測符号化のために複数の予測ブロック(partition)に更に分割されてもよい。高効率ビデオ符号化(high efficiency video coding, HEVC)標準において、「符号化ユニット」(coding unit, CU)、「予測ユニット」(prediction unit, PU)及び「変換ユニット」(transform unit, TU)のような基本的な概念が使用され、複数のブロックユニットが機能分割を通じて取得され、新規のツリーベースの構造が記述のために使用される。例えば、CUは四分木分割を通じてより小さいCUに分割されてもよく、より小さいCUは四分木構造を形成するように更に分割されてもよい。CUは、符号化ピクチャの分割及び符号化のための基本単位である。PU及びTUについてもまた、同様のツリー構造が存在してもよい。PUは予測ブロックに対応してもよく、予測符号化のための基本単位である。CUは、区分モードで複数のPUに更に区分される。TUは変換ブロックに対応してもよく、予測残差を変換するための基本単位である。しかし、CU、PU及びTUの全ては、本質的にブロック(又はピクチャブロック)の概念である。
【0041】
例えば、HEVCでは、CTUは、符号化ツリーとして表される四分木構造を使用することにより、複数のCUに分割される。インターピクチャ(時間的)又はイントラピクチャ(空間的)予測を通じたピクチャ領域の符号化に関する判定は、CU深度で行われる。各CUは、PU区分パターンにおいて、1つ、2つ又は4つのPUに更に区分されてもよい。1つのPUの内部では、同じ予測プロセスが適用され、関連する情報がPUベースでデコーダに送信される。PU区分パターンに基づいて予測プロセスを適用することにより残差ブロックを取得した後に、CUは、CUに使用される符号化ツリーと同様の他の四分木構造に基づいて変換ユニット(transform unit, TU)に区分されてもよい。ビデオ圧縮技術の最近の開発では、四分木及び二分木(Quad-tree and binary tree, QTBT)区分フレームが符号化ブロックを区分するために使用される。QTBTブロック構造では、CUは正方形又は長方形でもよい。
【0042】
この明細書では、説明及び理解を容易にするために、現在の符号化ピクチャ内の符号化対象ピクチャブロックは、現ブロックと呼ばれてもよい。例えば、エンコードに関して、現ブロックは、現在エンコードされているブロックであり、デコードに関して、現ブロックは、現在デコードされているブロックである。現ブロックを予測するために使用される、参照ピクチャ内のデコードされたピクチャブロックは、参照ブロックと呼ばれる。言い換えると、参照ブロックは、現ブロックのための参照信号を提供するブロックであり、参照信号は、ピクチャブロック内のピクセル値を表す。参照ピクチャ内の現ブロックのための予測信号を提供するブロックは、予測ブロックと呼ばれてもよい。予測信号は、予測ブロック内のピクセル値、サンプル値又はサンプル信号を表す。例えば、複数の参照ブロックがトラバースされた後に最適な参照ブロックが見つかり、最適な参照ブロックは現ブロックのための予測を提供し、このブロックは予測ブロックと呼ばれる。
【0043】
可逆ビデオ符号化の場合、元のビデオピクチャが復元できる。言い換えると、復元されたビデオピクチャは、元のビデオピクチャと同じ品質を有する(記憶又は送信の間に送信ロス又は他のデータロスが発生しないと仮定する)。非可逆ビデオ符号化の場合、ビデオピクチャを表すために必要なデータ量を低減するために、例えば、量子化を通じて更なる圧縮が実行され、ビデオピクチャはデコーダ側で完全に復元できない。言い換えると、復元されたビデオピクチャの品質は、元のビデオピクチャの品質よりも低いか或いは劣っている。
【0044】
いくつかのH.261ビデオ符号化標準は、「非可逆ハイブリッドビデオ符号化」(すなわち、サンプルドメインにおける空間的及び時間的予測は、変換ドメインにおける量子化を適用するために2D変換符号化と組み合わされる)に使用される。ビデオシーケンスの各ピクチャは、典型的には重複しないブロックのセットに区分され、符号化は、典型的にはブロックレベルで実行される。言い換えると、エンコーダ側では、ビデオは、例えば、予測ブロックを生成するために空間的(イントラピクチャ)予測及び/又は時間的(インターピクチャ)予測を使用し、残差ブロックを取得するために現ブロック(現在処理中又は処理予定のブロック)から予測ブロックを減算し、送信(圧縮)されるデータ量を低減するために残差ブロックを変換して変換ドメインにおいて残差ブロックを量子化することにより、典型的には、ブロック(ビデオブロック)レベルで処理され、すなわち、エンコードされるが、デコーダ側では、エンコーダの処理と比較して逆の処理が、表現のために現ブロックを復元するために、エンコード又は圧縮されたブロックに適用される。さらに、エンコーダは、デコーダの処理ループを複製し、それにより、エンコーダ及びデコーダは、後続のブロックを処理する、すなわち、符号化するために同じ予測(例えば、イントラ予測及びインター予測)及び/又は復元を生成する。
【0045】
以下に、この出願の実施形態が適用されるシステムアーキテクチャについて説明する。
図1Aは、この出願の実施形態が適用されるビデオ符号化システム10の例の概略ブロック図である。
図1Aに示すように、ビデオ符号化システム10は、送信元デバイス12と宛先デバイス14とを含んでもよい。送信元デバイス12はエンコードされたビデオデータを生成し、したがって、送信元デバイス12はビデオエンコード装置と呼ばれてもよい。宛先デバイス14は、送信元デバイス12により生成されたエンコードされたビデオデータをデコードしてもよく、したがって、宛先デバイス14はビデオデコード装置と呼ばれてもよい。送信元デバイス12、宛先デバイス14又は送信元デバイス12若しくは宛先デバイス14の様々な実現解決策は、1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリとを含んでもよい。メモリは、RAM、ROM、EEPROM、フラッシュメモリ、又はこの明細書に記載のように、コンピュータによりアクセス可能な命令若しくはデータ構造の形式で所望のプログラムコードを記憶するために使用できるいずれかの他の媒体を含んでもよいが、これらに限定されない。送信元デバイス12及び宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、「スマートフォン」のようなハンドヘルド電話、テレビセット、カメラ、ディスプレイ装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、無線通信デバイス又は同様の装置を含む様々な装置を含んでもよい。
【0046】
図1Aは、送信元デバイス12及び宛先デバイス14を別個のデバイスとして示しているが、デバイスの実施形態はまた、双方又は双方の機能、すなわち、送信元デバイス12又は対応する機能及び宛先デバイス14又は対応する機能を含んでもよい。このような実施形態では、送信元デバイス12又は対応する機能及び宛先デバイス14又は対応する機能は、同じハードウェア及び/又はソフトウェアを使用することにより、或いは、別個のハードウェア及び/又はソフトウェア又はこれらのいずれかの組み合わせを使用することにより実現されてもよい。
【0047】
送信元デバイス12と宛先デバイス14との間の通信接続は、リンク13を通じて実現されてもよく、宛先デバイス14は、リンク13を通じて送信元デバイス12からエンコードされたビデオデータを受信してもよい。リンク13は、エンコードされたビデオデータを送信元デバイス12から宛先デバイス14へ移動させることができる1つ以上の媒体又は装置を含んでもよい。一例では、リンク13は、送信元デバイス12がエンコードされたビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする1つ以上の通信媒体を含んでもよい。この例では、送信元デバイス12は、通信標準(例えば、無線通信プロトコル)に従ってエンコードされたビデオデータを変調してもよく、変調されたビデオデータを宛先デバイス14に送信してもよい。1つ以上の通信媒体は、無線通信媒体及び/又は有線通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理送信線を含んでもよい。1つ以上の通信媒体は、パケットベースのネットワークの一部を構成してもよく、パケットベースのネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク又はグローバルネットワーク(例えば、インターネット)である。1つ以上の通信媒体は、ルータ、スイッチ、基地局、又は送信元デバイス12から宛先デバイス14への通信を容易にする他のデバイスを含んでもよい。
【0048】
送信元デバイス12はエンコーダ20を含み、任意選択で、送信元デバイス12は、ピクチャソース16と、ピクチャプリプロセッサ18と、通信インタフェース22とを更に含んでもよい。具体的な実現形式では、エンコーダ20、ピクチャソース16、ピクチャプリプロセッサ18及び通信インタフェース22は、送信元デバイス12内のハードウェアコンポーネントでもよく、或いは、送信元デバイス12上のソフトウェアプログラムでもよい。別個の説明は以下の通りである。
【0049】
ピクチャソース16は、例えば、実世界のピクチャをキャプチャするように構成されたいずれかの種類のピクチャキャプチャデバイス、及び/又はピクチャ又はコメントを生成するためのいずれかの種類のデバイス(スクリーンコンテンツのエンコードのために、スクリーン上のいくつかのテキストはまた、エンコード対象ピクチャ又は画像の一部として考えられる)、例えば、コンピュータアニメーションピクチャを生成するように構成されたコンピュータグラフィックスプロセッサ、又は実世界のピクチャ若しくはコンピュータアニメーションピクチャ(例えば、スクリーンコンテンツ又は仮想現実(virtual reality, VR)ピクチャ)を取得及び/又は提供するように構成されたいずれかの種類のデバイス、及び/又はこれらのいずれかの組み合わせ(例えば、拡張現実(augmented reality, AR)ピクチャ)でもよく或いはこれらを含んでもよい。ピクチャソース16は、ピクチャをキャプチャするように構成されたカメラ又はピクチャを記憶するように構成されたメモリでもよい。ピクチャソース16は、先立ってキャプチャ又は生成されたピクチャを記憶するため、及び/又はピクチャを取得又は受信するための、いずれかの種類の(内部又は外部)インタフェースを更に含んでもよい。ピクチャソース16がカメラであるとき、ピクチャソース16は、例えば、ローカルカメラ又は送信元デバイスに統合された統合カメラでもよい。ピクチャソース16がメモリであるとき、ピクチャソース16は、例えば、ローカルメモリ又は送信元デバイスに統合された統合メモリでもよい。ピクチャソース16がインタフェースを含むとき、インタフェースは、例えば、外部ビデオソースからピクチャを受信するための外部インタフェースでもよい。外部ビデオソースは、例えば、カメラ、外部メモリ又は外部ピクチャ生成デバイスのような外部ピクチャキャプチャデバイスである。外部ピクチャ生成デバイスは、例えば、外部コンピュータグラフィックスプロセッサ、コンピュータ又はサーバである。インタフェースは、いずれかのプロプライエタリの或いは標準化されたインタフェースプロトコルに従った、いずれかの種類のインタフェース、例えば、有線若しくは無線インタフェース又は光インタフェースでもよい。
【0050】
ピクチャは、画素(picture element)の二次元配列又は行列として考えられてもよい。配列内の画素はまた、サンプルと呼ばれてもよい。配列又はピクチャの水平及び垂直方向(又は軸)のサンプルの数は、ピクチャのサイズ及び/又は解像度を定義する。色の表現について、典型的には3つの色成分が使用される。例えば、ピクチャは、3つのサンプル配列として表されてもよく或いはこれらを含んでもよい。例えば、RGBフォーマット又は色空間において、ピクチャは対応する赤、緑及び青のサンプル配列を含む。しかし、ビデオ符号化では、各ピクセルは、典型的には、輝度/色差フォーマット又は色空間で表される。例えば、YUVフォーマットのピクチャは、Y(場合によってはLが代わりに使用される)により示される輝度成分と、U及びVにより示される2つの色差成分とを含む。輝度(luma)成分Yは明るさ又はグレーレベル強度を表し(例えば、これらの2つはグレースケールピクチャでは同じである)、2つの色差(chroma)成分U及びVは色度又は色情報成分を表す。したがって、YUVフォーマットのピクチャは、輝度サンプル値(Y)の輝度サンプル配列と、色差値(U及びV)の2つの色差サンプル配列とを含む。RGBフォーマットのピクチャは、YUVフォーマットのピクチャに転換又は変換されてもよく、その逆も同様であり、そのプロセスはまた、色変換又は転換として知られている。ピクチャがモノクロである場合、当該ピクチャは輝度サンプル配列のみを含んでもよい。この出願のこの実施形態では、ピクチャソース16によりピクチャプロセッサに送信されるピクチャはまた、生ピクチャデータ17と呼ばれてもよい。
【0051】
ピクチャプリプロセッサ18は、生ピクチャデータ17を受信し、生ピクチャデータ17を前処理し、前処理されたピクチャ19又は前処理されたピクチャデータ19を取得するように構成される。例えば、ピクチャプリプロセッサ18により実行される前処理は、トリミング、カラーフォーマット転換(例えば、RGBフォーマットからYUVフォーマットへ)、色補正又はノイズ除去を含んでもよい。
【0052】
エンコーダ20(ビデオエンコーダ20とも呼ばれる)は、前処理されたピクチャデータ19を受信し、関連する予測モード(この明細書の各実施形態における予測モード等)を使用することにより、前処理されたピクチャデータ19を処理し、エンコードされたピクチャデータ21を提供するように構成される(エンコーダ20の構造の詳細について、
図2、
図4又は
図5に基づいて以下に更に説明する)。いくつかの実施形態では、エンコーダ20は、以下に説明する実施形態を実行し、この出願に記載のエンコーダ側における色差ブロック予測方法の適用を実現するように構成されてもよい。
【0053】
通信インタフェース22は、エンコードされたピクチャデータ21を受信し、記憶又は直接の復元のために、リンク13を通じてエンコードされたピクチャデータ21を宛先デバイス14又はいずれかの他のデバイス(例えば、メモリ)に送信するように構成されてもよい。いずれかの他のデバイスは、デコード又は記憶に使用されるいずれかのデバイスでもよい。通信インタフェース22は、例えば、リンク13を通じて送信するために、エンコードされたピクチャデータ21を適切なフォーマット、例えば、データパケットにパッケージするように構成されてもよい。
【0054】
宛先デバイス14はデコーダ30を含み、任意選択で、宛先デバイス14は、通信インタフェース28と、ピクチャポストプロセッサ32と、表示デバイス34とを更に含んでもよい。別個の説明は以下の通りである。
【0055】
通信インタフェース28は、送信元デバイス12又はいずれかの他の送信元からエンコードされたピクチャデータ21を受信するように構成されてもよい。いずれかの他の送信元は、例えば、記憶デバイスであり、記憶デバイスは、例えば、エンコード済ピクチャデータ記憶デバイスである。通信インタフェース28は、送信元デバイス12と宛先デバイス14との間のリンク13を通じて、或いは、いずれかの種類のネットワークを通じて、エンコードされたピクチャデータ21を送信又は受信するように構成されてもよい。リンク13は、例えば、直接有線又は無線接続であり、いずれかの種類のネットワークは、例えば、有線若しくは無線ネットワーク又はこれらのいずれかの組み合わせ、又はいずれかの種類のプライベート若しくは公衆ネットワーク又はこれらのいずれかの組み合わせである。通信インタフェース28は、例えば、通信インタフェース22を通じて送信されたデータパケットをパッケージ解除し、エンコードされたピクチャデータ21を取得するように構成されてもよい。
【0056】
通信インタフェース28及び通信インタフェース22の双方は、一方向通信インタフェース又は双方向通信インタフェースとして構成されてもよく、例えば、接続を設定するためにメッセージを送信及び受信し、通信リンク及び/又はエンコードされたピクチャデータの送信のようなデータ送信に関連するいずれかの他の情報を確認及び交換するように構成されてもよい。
【0057】
デコーダ30(デコーダ30とも呼ばれる)は、エンコードされたピクチャデータ21を受信し、デコードされたピクチャデータ31又はデコードされたピクチャ31を提供するように構成される(デコーダ30の構造の詳細について、
図3、
図4又は
図5に基づいて以下に更に説明する)。いくつかの実施形態では、デコーダ30は、以下に説明する実施形態を実行し、この出願に記載のデコーダ側における色差ブロック予測方法の適用を実現するように構成されてもよい。
【0058】
ピクチャポストプロセッサ32は、デコードされたピクチャデータ31(復元ピクチャデータとも呼ばれる)を後処理し、後処理されたピクチャデータ33を取得するように構成される。ピクチャポストプロセッサ32により実行される後処理は、カラーフォーマット転換(例えば、YUVフォーマットからRGBフォーマットへ)、色補正、トリミング、再サンプリング又はいずれかの他の処理を含んでもよい。ピクチャポストプロセッサ32は、後処理されたピクチャデータ33を表示デバイス34に送信するように更に構成されてもよい。
【0059】
表示デバイス34は、後処理されたピクチャデータ33を受信し、例えば、ユーザ又はビューアにピクチャを表示するように構成される。表示デバイス34は、復元されたピクチャを提示するように構成されたいずれかの種類のディスプレイでもよく或いはこれを含んでもよく、例えば、統合された或いは外部のディスプレイ又はモニタでもよい。例えば、ディスプレイは、液晶ディスプレイ(liquid crystal display, LCD)、有機発光ダイオード(organic light emitting diode, OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、シリコン上液晶(liquid crystal on silicon, LCoS)、デジタル光プロセッサ(digital light processor, DLP)又はいずれかの他の種類のディスプレイを含んでもよい。
【0060】
図1Aは、送信元デバイス12及び宛先デバイス14を別個のデバイスとして示しているが、デバイスの実施形態はまた、双方又は双方の機能、すなわち、送信元デバイス12又は対応する機能及び宛先デバイス14又は対応する機能を含んでもよい。このような実施形態では、送信元デバイス12又は対応する機能及び宛先デバイス14又は対応する機能は、同じハードウェア及び/又はソフトウェアを使用することにより、或いは、別個のハードウェア及び/又はソフトウェア又はこれらのいずれかの組み合わせを使用することにより実現されてもよい。
【0061】
当業者は、当該説明に基づいて、異なるユニットの機能又は
図1Aに示す送信元デバイス12及び/又は宛先デバイス14の機能の存在及びこれらへの(厳密な)分割は、実際のデバイス及び用途に依存して変化してもよいことを習得し得る。送信元デバイス12及び宛先デバイス14は、それぞれ、いずれかの種類のハンドヘルド又は据え置きデバイス、例えば、ノートブックコンピュータ若しくはラップトップコンピュータ、携帯電話、スマートフォン、パッド若しくはタブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボックス、テレビ、カメラ、車載デバイス、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバ又はコンテンツ配信サーバ等)、放送受信機デバイス又は放送送信機デバイスを含む広範囲のデバイスのうちいずれか1つでもよく、いずれかの種類のオペレーティングシステムを使用してもよく或いは使用しなくてもよい。
【0062】
エンコーダ20及びデコーダ30は、様々な適切な回路、例えば、1つ以上のマイクロプロセッサ、デジタルシグナルプロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array, FPGA)、ディスクリートロジック、ハードウェア又はこれらのいずれかの組み合わせのうちいずれかとしてそれぞれ実現されてもよい。技術が部分的にソフトウェアを使用することにより実現される場合、デバイスは、適切な非一時的なコンピュータ読み取り可能記憶媒体にソフトウェア命令を記憶し、この開示の技術を実行するために、1つ以上のプロセッサのようなハードウェアを使用することにより命令を実行してもよい。上記の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせ等を含む)のいずれかは、1つ以上のプロセッサとして考えられてもよい。
【0063】
いくつかの場合、
図1Aに示すビデオ符号化システム10は、単なる例であり、この出願における技術は、必ずしもエンコードデバイスとデコードデバイスとの間にいずれかのデータ通信を含むとは限らないビデオ符号化設定(例えば、ビデオエンコード又はビデオデコード)に適用可能である。他の例では、データは、ローカルメモリから取り出されるもの、ネットワーク上でストリーミングされるもの等でもよい。ビデオエンコードデバイスは、データをエンコードし、エンコードされたデータをメモリに記憶してもよく、及び/又はビデオデコードデバイスは、メモリからデータを取り出し、データをデコードしてもよい。いくつかの例では、エンコード及びデコードは、互いに通信しないが単にメモリに対してデータをエンコードし及び/又はメモリからデータを取り出してデータをデコードするデバイスにより実行される。
【0064】
図1Bは、例示的な実施形態による、
図2におけるエンコーダ20及び/又は
図3におけるデコーダ30を含むビデオ符号化システム40の例の例示的な図である。ビデオ符号化システム40は、この出願の実施形態における様々な技術の組み合わせを実現できる。図示の実施形態では、ビデオ符号化システム40は、撮像デバイス41、エンコーダ20、デコーダ30(及び/又は処理ユニット46の論理回路47により実現されるビデオエンコーダ/デコーダ)、アンテナ42、1つ以上のプロセッサ43、1つ以上のメモリ44及び/又は表示デバイス45を含んでもよい。
【0065】
図1Bに示すように、撮像デバイス41、アンテナ42、処理ユニット46、論理回路47、エンコーダ20、デコーダ30、プロセッサ43、メモリ44及び/又は表示デバイス45は、互いに通信できる。記載のように、ビデオ符号化システム40は、エンコーダ20及びデコーダ30を使用することにより示されているが、ビデオ符号化システム40は、異なる例では、エンコーダ20のみ又はデコーダ30のみを含んでもよい。
【0066】
いくつかの例では、アンテナ42は、ビデオデータのエンコードされたビットストリームを送信又は受信するように構成されてもよい。さらに、いくつかの例では、表示デバイス45は、ビデオデータを提示するように構成されてもよい。いくつかの例では、論理回路47は、処理ユニット46により実現されてもよい。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit, ASIC)ロジック、グラフィックスプロセッサ、汎用プロセッサ等を含んでもよい。ビデオ符号化システム40は、代替として、任意選択のプロセッサ43を含んでもよい。任意選択のプロセッサ43は、同様に、特定用途向け集積回路(application-specific integrated circuit, ASIC)ロジック、グラフィックスプロセッサ、汎用プロセッサ等を含んでもよい。いくつかの例では、論理回路47は、ハードウェア、例えば、ビデオ符号化専用ハードウェアにより実現されてもよく、プロセッサ43は、汎用ソフトウェア、オペレーティングシステム等により実現されてもよい。さらに、メモリ44は、いずれかの種類のメモリ、例えば、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(Static Random Access Memory, SRAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory, DRAM))又は不揮発性メモリ(例えば、フラッシュメモリ)でもよい。非限定的な例では、メモリ44は、キャッシュメモリにより実現されてもよい。いくつかの例では、論理回路47は、メモリ44にアクセスしてもよい(例えば、ピクチャバッファの実現のため)。他の例では、論理回路47及び/又は処理ユニット46は、ピクチャバッファ等の実現のためのメモリ(例えば、キャッシュ)を含んでもよい。
【0067】
いくつかの例では、論理回路により実現されるエンコーダ20は、ピクチャバッファ(例えば、処理ユニット46又はメモリ44により実現される)と、グラフィックス処理ユニット(例えば、処理ユニット46により実現される)とを含んでもよい。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合されてもよい。グラフィックス処理ユニットは、
図2を参照して説明する様々なモジュール及び/又はこの明細書に記載のいずれかの他のエンコーダシステム又はサブシステムを実現するために、論理回路47により実現されるエンコーダ20を含んでもよい。論理回路は、この明細書に記載の様々な動作を実行するように構成されてもよい。
【0068】
いくつかの例では、デコーダ30は、
図3におけるデコーダ30を参照して説明する様々なモジュール及び/又はこの明細書に記載のいずれかの他のデコーダシステム又はサブシステムを実現するために、同様の方式で論理回路47により実現されてもよい。いくつかの例では、論理回路により実現されるデコーダ30は、ピクチャバッファ(例えば、処理ユニット2820又はメモリ44により実現される)と、グラフィックス処理ユニット(例えば、処理ユニット46により実現される)とを含んでもよい。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合されてもよい。グラフィックス処理ユニットは、
図3を参照して説明する様々なモジュール及び/又はこの明細書に記載のいずれかの他のデコーダシステム又はサブシステムを実現するために、論理回路47により実現されるデコーダ30を含んでもよい。
【0069】
いくつかの例では、アンテナ42は、ビデオデータのエンコードされたビットストリームを受信するように構成されてもよい。記載のように、エンコードされたビットストリームは、この明細書に記載のビデオフレーム符号化に関連するデータ、インジケータ、インデックス値、モード選択データ等、例えば、符号化区分に関連するデータ(例えば、変換係数又は量子化された変換係数、任意選択のインジケータ(記載の通り)及び/又は符号化区分を定義するデータ)を含んでもよい。ビデオ符号化システム40は、アンテナ42に結合され且つエンコードされたビットストリームをデコードするように構成されたデコーダ30を更に含んでもよい。表示デバイス45は、ビデオフレームを提示するように構成される。
【0070】
この出願のこの実施形態では、エンコーダ20を参照して説明する例について、デコーダ30は、逆のプロセスを実行するように構成されてもよいことが理解されるべきである。シグナリングシンタックスエレメントに関して、デコーダ30は、このようなシンタックスエレメントを受信して解析し、関連するビデオデータを対応してデコードするように構成されてもよい。いくつかの例では、エンコーダ20は、シンタックスエレメントをエンコードされたビデオビットストリームにエントロピーエンコードしてもよい。このような例では、デコーダ30は、このようなシンタックスエレメントを解析し、関連するビデオデータを対応してデコードしてもよい。
【0071】
この出願の実施形態に記載の候補動きベクトルリストを取得するための方法は、主にインター予測プロセスで使用され、当該プロセスはエンコーダ20及びデコーダ30の双方に存在する点に留意すべきである。この出願の実施形態におけるエンコーダ20/デコーダ30は、H.263、H.264、HEVC、MPEG-2、MPEG-4、VP8又はVP9のようなビデオ標準プロトコルに対応するか、或いは、次世代ビデオ標準プロトコル(H.266等)に対応するエンコーダ/デコーダでもよい。
【0072】
図2は、この出願の実施形態を実現するように構成されたエンコーダ20の例の概略/概念ブロック図である。
図2の例では、エンコーダ20は、残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、逆量子化ユニット210と、逆変換処理ユニット212と、復元ユニット214と、バッファ216と、ループフィルタユニット220と、デコード済ピクチャバッファ(decoded picture buffer, DPB)230と、予測処理ユニット260と、エントロピーエンコードユニット270とを含む。予測処理ユニット260は、インター予測ユニット244と、イントラ予測ユニット254と、モード選択ユニット262とを含んでもよい。インター予測ユニット244は、動き推定ユニットと、動き補償ユニット(図面に図示せず)とを含んでもよい。
図2に示すエンコーダ20はまた、ハイブリッドビデオエンコーダ又はハイブリッドビデオコーデックに基づくビデオエンコーダと呼ばれてもよい。
【0073】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260及びエントロピーエンコードユニット270は、エンコーダ20の順方向信号経路を形成するが、例えば、逆量子化ユニット210、逆変換処理ユニット212、復元ユニット214、バッファ216、ループフィルタ220、デコード済ピクチャバッファ(decoded picture buffer, DPB)230及び予測処理ユニット260は、エンコーダの逆方向信号経路を形成する。エンコーダの逆方向信号経路は、デコーダの信号経路に対応する(
図3におけるデコーダ30を参照する)。
【0074】
エンコーダ20は、例えば、入力202を通じて、ピクチャ201又はピクチャ201のピクチャブロック203、例えば、ビデオ又はビデオシーケンスを形成するピクチャのシーケンス内のピクチャを受信する。ピクチャブロック203はまた、現ピクチャブロック又はエンコード対象ピクチャブロックと呼ばれてもよい。ピクチャ201は、現ピクチャ又はエンコード対象ピクチャ(特にビデオ符号化において現ピクチャを他のピクチャから区別するため、他のピクチャは、例えば、同じビデオシーケンス、すなわち、現ピクチャも含むビデオシーケンスにおいて先立ってエンコード及び/又はデコードされたピクチャである)と呼ばれてもよい。
【0075】
実施形態におけるエンコーダ20は、ピクチャ201をピクチャブロック203のような複数のブロックに区分するように構成された区分ユニット(
図2に図示せず)を含んでもよい。ピクチャ201は、通常では、複数の重複しないブロックに区分される。区分ユニットは、ビデオシーケンス内の全てのピクチャについて同じブロックサイズ及びブロックサイズを定義する対応するグリッドを使用するように、或いは、ピクチャ又はピクチャのサブセット若しくはグループの間でブロックサイズを変更し、各ピクチャを対応するブロックに区分するように構成されてもよい。
【0076】
一例では、エンコーダ20の予測処理ユニット260は、上記の区分技術のいずれかの組み合わせを実行するように構成されてもよい。
【0077】
ピクチャ201と同様に、ピクチャブロック203もサンプル値を有するサンプルの二次元配列又は行列であるか或いはこのように考えられてもよいが、ピクチャブロック203のサイズはピクチャ201のサイズよりも小さい。言い換えると、ピクチャブロック203は、例えば、1つのサンプル配列(例えば、モノクロピクチャ201の場合の輝度配列)、3つのサンプル配列(例えば、カラーピクチャの場合の1つの輝度配列及び2つの色差配列)又は適用されるカラーフォーマットに依存するいずれかの他の数及び/又は種類の配列を含んでもよい。ピクチャブロック203の水平及び垂直方向(又は軸)のサンプルの数は、ピクチャブロック203のサイズを定義する。
【0078】
図2に示すエンコーダ20は、ブロック毎にピクチャ201をエンコードするように、例えば、各ピクチャブロック203をエンコードして予測するように構成される。
【0079】
残差計算ユニット204は、ピクチャブロック203及び予測ブロック265(予測ブロック265についての更なる詳細は以下に提供される)に基づいて、残差ブロック205を計算するように、例えば、サンプル毎(ピクセル毎)にピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することにより、サンプルドメインにおける残差ブロック205を取得するように構成される。
【0080】
変換処理ユニット206は、変換、例えば、離散コサイン変換(discrete cosine transform, DCT)又は離散サイン変換(discrete sine transform, DST)を残差ブロック205のサンプル値に適用し、変換ドメインにおける変換係数207を取得するように構成される。変換係数207はまた、変換残差係数と呼ばれ、変換ドメインにおける残差ブロック205を表してもよい。
【0081】
変換処理ユニット206は、HEVC/H.265で指定された変換のようなDCT/DSTの整数近似を適用するように構成されてもよい。直交DCT変換と比較して、このような整数近似は、典型的には、特定のファクタによりスケーリングされる。順変換及び逆変換を通じて処理される残差ブロックのノルムを保存するために、更なるスケールファクタを適用することが変換プロセスの一部である。スケールファクタは、典型的には、いくつかの制約に基づいて選択される。例えば、スケールファクタは、シフト演算のための2のべき乗、変換係数のビット深度、精度と実現コストとの間のトレードオフ等である。具体的なスケーリングファクタは、例えば、逆変換については、例えば、デコーダ側30の逆変換処理ユニット212(及び、例えば、エンコーダ側20の逆変換処理ユニット212による対応する逆変換)により指定され、例えば、エンコーダ側20の変換処理ユニット206による順変換についての対応するスケーリングファクタは、それに従って指定されてもよい。
【0082】
量子化ユニット208は、例えば、スカラー量子化又はベクトル量子化を適用することにより、変換係数207を量子化し、量子化された変換係数209を取得するように構成される。量子化された変換係数209はまた、量子化された残差係数209と呼ばれてもよい。量子化プロセスは、変換係数207の一部又は全部に関連するビット深度を低減してもよい。例えば、nビットの変換係数は、量子化中にmビットの変換係数に切り捨てられてもよく、nはmよりも大きい。量子化度は、量子化パラメータ(quantization parameter, QP)を調整することにより変更されてもよい。例えば、スカラー量子化について、より細かい或いはより粗い量子化を達成するために異なるスケールが適用されてもよい。より小さい量子化ステップはより微かい量子化に対応するが、より大きい量子化ステップはより粗い量子化に対応する。適切な量子化ステップサイズは、量子化パラメータ(quantization parameter, QP)により示されてもよい。量子化パラメータは、例えば、適切な量子化ステップサイズの所定のセットに対するインデックスでもよい。例えば、より小さい量子化パラメータは、より細かい量子化(より小さい量子化ステップサイズ)に対応してもよく、より大きい量子化パラメータは、より粗い量子化(より大きい量子化ステップサイズ)に対応してもよく、或いは、その逆も同様である。量子化は、量子化ステップサイズによる除算と、例えば、逆量子化ユニット210により実行される、対応する量子化及び/又は逆量子化とを含んでもよく、或いは、量子化ステップサイズによる乗算を含んでもよい。HEVCのようないくつかの標準による実施形態では、量子化パラメータは、量子化ステップサイズを決定するために使用されてもよい。一般的に、量子化ステップサイズは、除算を含む式の固定点近似を使用することにより、量子化パラメータに基づいて計算されてもよい。残差ブロックのノルムを回復するために、量子化及び反量子化について更なるスケーリングファクタが導入されてもよく、量子化ステップサイズ及び量子化パラメータについての式の固定点近似に使用されるスケールのため、残差ブロックのノルムが変更されてもよい。例示的な実現方式では、逆変換及び反量子化のスケールが組み合わされてもよい。代替として、カスタマイズされた量子化テーブルが使用され、エンコーダからデコーダに、例えば、ビットストリームでシグナリングされてもよい。量子化は非可逆演算であり、ロスは増加する量子化ステップサイズとともに増加する。
【0083】
逆量子化ユニット210は、量子化ユニット208の逆量子化を量子化された係数に適用し、反量子化された係数211を取得するように、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて或いはこれを使用することにより、量子化ユニット208により適用される量子化方式の逆量子化方式を適用するように構成される。反量子化された係数211はまた、反量子化された残差係数211と呼ばれ、典型的には、量子化によるロスのために変換係数と同じではないが、変換係数207に対応してもよい。
【0084】
逆変換処理ユニット212は、変換処理ユニット206により適用される変換の逆変換、例えば、逆離散コサイン変換(discrete cosine transform, DCT)又は逆離散サイン変換(discrete sine transform, DST)を適用し、サンプルドメインにおいて逆変換ブロック213を取得するように構成される。逆変換ブロック213はまた、逆変換反量子化されたブロック213又は逆変換残差ブロック213と呼ばれてもよい。
【0085】
復元ユニット214(例えば、加算器214)は、例えば、復元された残差ブロック213のサンプル値及び予測ブロック265のサンプル値を加算することにより、逆変換ブロック213(すなわち、復元された残差ブロック213)を予測ブロック265に加算し、サンプルドメインにおいて復元されたブロック215を取得するように構成される。
【0086】
任意選択で、例えば、ラインバッファ216のバッファユニット216(略称で「バッファ」216)は、例えば、イントラ予測のために、復元されたブロック215及び対応するサンプル値をバッファ又は記憶するように構成される。他の実施形態では、エンコーダは、いずれかの種類の推定及び/又は予測、例えば、イントラ予測のために、バッファユニット216に記憶されたフィルタリングされていない復元されたブロック及び/又は対応するサンプル値を使用するように構成されてもよい。
【0087】
例えば、実施形態におけるエンコーダ20は、バッファユニット216が、イントラ予測ユニット254のために復元されたブロック215を記憶するために使用されるだけでなく、ループフィルタユニット220(
図2に図示せず)にも使用されるように、及び/又は、例えば、バッファユニット216及びデコード済ピクチャバッファユニット230が1つのバッファを形成するように構成されてもよい。他の実施形態では、フィルタリングされたブロック221及び/又はデコード済ピクチャバッファ230からのブロック又はサンプル(ブロック又はサンプルは
図2に図示せず)が、イントラ予測ユニット254のための入力又は基礎として使用される。
【0088】
ループフィルタユニット220(略称で「ループフィルタ」220と呼ばれる)は、復元されたブロック215をフィルタリングし、フィルタリングされたブロック221を取得し、ピクセル遷移を平滑化するか或いはビデオ品質を改善するように構成される。ループフィルタユニット220は、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset, SAO)フィルタ、又はバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter, ALF)、鮮鋭化若しくは平滑化フィルタ又は協調フィルタのような他のフィルタを含む1つ以上のループフィルタを表すことを意図している。ループフィルタユニット220は、
図2ではループ内フィルタとして示されているが、他の構成では、ループフィルタユニット220は、ポストループフィルタとして実現されてもよい。フィルタリングされたブロック221はまた、フィルタリング及び復元されたブロック221と呼ばれてもよい。デコード済ピクチャバッファ230は、ループフィルタユニット220が復元済のエンコードされたブロックに対してフィルタリング動作を実行した後に、復元済のエンコードされたブロックを記憶してもよい。
【0089】
エンコーダ20(対応して、ループフィルタユニット220)は、実施形態では、例えば、直接的に、或いは、エントロピーエンコードユニット270又はいずれかの他のエントロピーエンコードユニットにより実行されるエントロピーエンコードの後に、ループフィルタパラメータ(サンプル適応オフセット情報等)を出力するように構成されてもよく、それにより、例えば、デコーダ30は同じループフィルタパラメータを受信し、同じループフィルタパラメータをデコードに適用してもよい。
【0090】
デコード済ピクチャバッファ(decoded picture buffer, DPB)230は、エンコーダ20によりビデオデータのエンコードをエンコードするための参照ピクチャデータを記憶する参照ピクチャメモリでもよい。DPB230は、ダイナミックランダムアクセスメモリ(dynamic random access memory, DRAM)(シンクロナスDRAM(synchronous DRAM, SDRAM)、磁気抵抗RAM(magnetoresistive RAM, MRAM)及び抵抗変化型RAM(resistive RAM, RRAM)を含む)又は他の種類のメモリデバイスのような様々なメモリデバイスのうちいずれか1つにより形成されてもよい。DPB230及びバッファ216は、同じメモリデバイス又は別個のメモリデバイスにより提供されてもよい。一例では、デコード済ピクチャバッファ(decoded picture buffer, DPB)230は、フィルタリングされたブロック221を記憶するように構成される。デコード済ピクチャバッファ230は、同じ現ピクチャ又は異なるピクチャ、例えば、先立って復元されたピクチャの他の先立ってフィルタリングされたブロック、例えば、先立って復元及びフィルタリングされたブロック221を記憶するように更に構成されてもよく、例えば、インター予測のために、完全な先立って復元されたピクチャ、すなわち、デコードされたピクチャ(並びに対応する参照ブロック及びサンプル)及び/又は部分的に復元された現ピクチャ(並びに対応する参照ブロック及びサンプル)を提供してもよい。一例では、復元されたブロック215がループ内フィルタリングなしで復元される場合、デコード済ピクチャバッファ(decoded picture buffer, DPB)230は、復元されたブロック215を記憶するように構成される。
【0091】
ブロック予測処理ユニット260とも呼ばれる予測処理ユニット260は、予測ブロック203(現ピクチャ201の現ピクチャブロック203)と、復元されたピクチャデータ、例えば、バッファ216からの同じ(現)ピクチャの参照サンプル及び/又はデコード済ピクチャバッファ230からの1つ以上の先立ってデコードされたピクチャの参照ピクチャデータ231とを受信又は取得し、予測のためにこのようなデータを処理するように、すなわち、インター予測ブロック245又はイントラ予測ブロック255でもよい予測ブロック265を提供するように構成される。
【0092】
モード選択ユニット262は、残差ブロック205を計算して復元されたブロック215を復元するために、予測モード(例えば、イントラ予測モード又はインター予測モード)及び/又は予測ブロック265として使用されるべき対応する予測ブロック245又は255を選択するように構成されてもよい。
【0093】
実施形態におけるモード選択ユニット262は、予測モードを(例えば、予測処理ユニット260によりサポートされる予測モードから)選択するように構成されてもよく、予測モードは、最適な一致又はより小さい残差(より小さい残差は、送信又は記憶のためのより良い圧縮を意味する)を提供するか、より小さいシグナリングオーバヘッド(より小さいシグナリングオーバヘッドは、送信又は記憶のためのより良い圧縮を意味する)を提供するか、或いは、双方を考慮するか或いはバランスさせる。モード選択ユニット262は、レート歪み最適化(rate distortion optimization, RDO)に基づいて予測モードを決定するように、すなわち、最小のレート歪み最適化を提供する予測モードを選択するか、或いは、関連するレート歪みが予測モード選択基準を少なくとも満たす予測モードを選択するように構成されてもよい。
【0094】
以下に、エンコーダ20の例に従って、(例えば、予測処理ユニット260を使用することにより)実行される予測処理及び(例えば、モード選択ユニット262を使用することにより)実行されるモード選択についてより詳細に説明する。
【0095】
上記のように、エンコーダ20は、(所定の)予測モードのセットから最適又は最善の予測モードを決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを含んでもよい。
【0096】
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えば、DC(又は平均)モード及びプラナーモードのような非方向性モード、又はH.265で定義される方向性モードを含んでもよく、或いは、67個の異なるイントラ予測モード、例えば、DC(又は平均)モード及びプラナーモードのような非方向性モード、又は開発中のH.266で定義される方向性モードを含んでもよい。
【0097】
可能な実現方式では、インター予測モードのセットは、利用可能な参照ピクチャ(すなわち、上記のようにDBP230に記憶されたデコードされたピクチャのうち少なくともいくつか)及び他のインター予測パラメータに依存し、例えば、全体の参照ピクチャが使用されるか、参照ピクチャの一部、例えば、現ブロックの領域を取り囲む探索ウィンドウ領域に見つかる最善に一致する参照ブロックのみが使用されるかに依存し、及び/又は、例えば、半ピクセル及び/又は四分ピクセル補間のようなピクセル補間が適用されるか否かに依存する。インター予測モードのセットは、例えば、アドバンスト動きベクトル(Advanced Motion Vector Prediction, AMVP)モード及びマージ(merge)モードを含んでもよい。具体的な実現方式では、インター予測モードのセットは、この出願のこの実施形態では、改善した制御点ベースのAMVPモード及び改善した制御点ベースのmergeモードを含んでもよい。一例では、イントラ予測ユニット254は、以下に説明する、以下に記載のインター予測技術のいずれかの組み合わせを実行するように構成されてもよい。
【0098】
上記の予測モードに加えて、スキップモード及び/又は直接モードもまた、この出願のこの実施形態において使用されてもよい。
【0099】
予測処理ユニット260は、例えば、四分木(quad-tree, QT)区分、二分木(binary-tree, BT)区分、三分木(triple-tree, TT)区分又はこれらのいずれかの組み合わせを反復的に使用することにより、ピクチャブロック203をより小さいブロック区分又はサブブロックに区分し、例えば、ブロック区分又はサブブロックのそれぞれに対して予測を実行するように更に構成されてもよく、モード選択は、区分されたピクチャブロック203のツリー構造の選択と、ブロック区分又はサブブロックのそれぞれに適用される予測モードの選択とを含む。
【0100】
インター予測ユニット244は、動き推定(motion estimation, ME)ユニット(
図2に図示せず)と、動き補償(motion compensation, MC)ユニット(
図2に図示せず)とを含んでもよい。動き推定ユニットは、動き推定のために、ピクチャブロック203(現ピクチャ201の現ピクチャブロック203)及びデコードされたピクチャ231、又は少なくとも1つ以上の先立って復元されたブロック、例えば、1つ以上の他の/異なる先立ってデコードされたピクチャ231の復元されたブロックを受信又は取得するように構成される。例えば、ビデオシーケンスは、現ピクチャと、先立ってデコードされたピクチャ31とを含んでもよい。言い換えると、現ピクチャ及び先立ってデコードされたピクチャ31は、ビデオシーケンスを形成するピクチャの一部でもよく、或いは、ピクチャのシーケンスを形成してもよい。
【0101】
例えば、エンコーダ20は、複数の他のピクチャのうち同じピクチャ又は異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャを動き推定ユニット(
図2に図示せず)に提供し、及び/又は参照ブロックの位置(座標X及びY)と現ブロックの位置との間のオフセット(空間オフセット)をインター予測パラメータとして提供するように構成されてもよい。このオフセットはまた、動きベクトル(motion vector, MV)と呼ばれる。
【0102】
動き補償ユニットは、インター予測パラメータを取得し、インター予測パラメータに基づいて或いはこれを使用することによりインター予測を実行し、インター予測ブロック245を取得するように構成される。動き補償ユニット(
図2に図示せず)により実行される動き補償は、動き推定を通じて決定された動きベクトル又はブロックベクトルに基づいて、予測ブロックをフェッチ又は生成することを含んでもよい(場合によっては、サブピクセル精度のために補間を実行する)。補間フィルタリングは、既知のピクセルサンプルから更なるピクセルサンプルを生成してもよく、それにより、ピクチャブロックを符号化するために使用され得る候補予測ブロックの数を潜在的に増加させる。現ピクチャブロックのPUについての動きベクトルを受信すると、動き補償ユニット246は、1つの参照ピクチャリスト内で動きベクトルが指す予測ブロックを位置決定してもよい。動き補償ユニット246は、デコーダ30によりビデオスライスのピクチャブロックをデコードするために、ブロック及びビデオスライスに関連するシンタックスエレメントを更に生成してもよい。
【0103】
具体的には、インター予測ユニット244は、シンタックスエレメントをエントロピーエンコードユニット270に送信してもよく、シンタックスエレメントは、インター予測パラメータ(例えば、複数のインター予測モードがトラバースされた後の現ブロックについての予測のために選択されたインター予測モードの指示情報)を含む。可能な適用シナリオでは、1つのみのインター予測モードが存在する場合、インター予測パラメータは、代替として、シンタックスエレメントで搬送されなくてもよい。この場合、デコーダ側30は、デコードのためにデフォルトの予測モードを直接使用してもよい。インター予測ユニット244は、インター予測技術のいずれかの組み合わせを実行するように構成されてもよいことが理解され得る。
【0104】
イントラ予測ユニット254は、例えば、イントラ推定のために、同じピクチャのピクチャブロック203(現ピクチャブロック)及び1つ以上の先立って復元されたブロック、例えば、復元された隣接ブロックを取得する、例えば、受信するように構成される。例えば、エンコーダ20は、複数の(所定の)イントラ予測モードからイントラ予測モードを選択するように構成されてもよい。
【0105】
実施形態におけるエンコーダ20は、例えば、より小さい残差(例えば、現ピクチャブロック203に最も類似した予測ブロック255を提供するイントラ予測モード)又は最小のビットレート歪みに基づいて、最適化基準に従ってイントラ予測モードを選択するように構成されてもよい。
【0106】
イントラ予測ユニット254は、例えば、選択されたイントラ予測モードのイントラ予測パラメータに基づいて、イントラ予測ブロック255を決定するように更に構成される。いずれの場合でも、ブロックについてイントラ予測モードを選択した後に、イントラ予測ユニット254は、エントロピーエンコードユニット270のために、イントラ予測パラメータ、すなわち、ブロックについての選択されたイントラ予測モードを示す情報を提供するように更に構成される。一例では、イントラ予測ユニット254は、イントラ予測技術のいずれかの組み合わせを実行するように構成されてもよい。
【0107】
具体的には、イントラ予測ユニット254は、シンタックスエレメントをエントロピーエンコードユニット270に送信してもよく、シンタックスエレメントは、イントラ予測パラメータ(例えば、複数のイントラ予測モードがトラバースされた後の現ブロックについての予測のために選択されたイントラ予測モードの指示情報)を含む。可能な適用シナリオでは、1つのみのイントラ予測モードが存在する場合、イントラ予測パラメータは、代替として、シンタックスエレメントで搬送されなくてもよい。この場合、デコーダ側30は、デコードのためにデフォルトの予測モードを直接使用してもよい。
【0108】
エントロピーエンコードユニット270は、以下のもの、すなわち、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ及び/又はループフィルタパラメータのうち1つ又は全てに対して、エントロピーエンコードアルゴリズム又は方式(例えば、可変長符号化(variable length coding, VLC)方式、コンテキスト適応VLC(context adaptive VLC, CAVLC)方式、算術符号化方式、コンテキスト適応バイナリ算術符号化(context adaptive binary arithmetic coding, CABAC)、シンタックスベースのコンテキスト適応バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding, SBAC)、確率区間区分エントロピー(probability interval partitioning entropy, PIPE)符号化又は他のエントロピー符号化方法若しくは技術)を適用(又はバイパス)し、例えば、エンコードされたビットストリーム21の形式で出力272を通じて出力され得るエンコードされたピクチャデータ21を取得するように構成される。エンコードされたビットストリームは、ビデオデコーダ30に送信されてもよく、或いは、ビデオデコーダ30による後の送信又は取り出しのためにアーカイブされてもよい。エントロピーエンコードユニット270は、エンコードされている現ビデオスライスについての他のシンタックスエレメントをエントロピーエンコードするように更に構成されてもよい。
【0109】
ビデオエンコーダ20の他の構造的な変形は、ビデオストリームをエンコードするように構成されてもよい。例えば、非変換ベースのエンコーダ20は、いくつかのブロック又はフレームについて変換処理ユニット206なしに残差信号を直接量子化してもよい。他の実現方式では、エンコーダ20は、単一のユニットに結合された量子化ユニット208及び逆量子化ユニット210を有してもよい。
【0110】
具体的には、この出願のこの実施形態では、エンコーダ20は、以下の実施形態に記載の候補動きベクトルリストを取得するための方法を実現するように構成されてもよい。
【0111】
ビデオエンコーダ20の他の構造的な変形は、ビデオストリームをエンコードするように構成されてもよいことが理解されるべきである。例えば、いくつかのピクチャブロック又はピクチャフレームについて、ビデオエンコーダ20は、変換処理ユニット206による処理なしに、したがって、逆変換処理ユニット212による処理なしに、残差信号を直接量子化してもよい。代替として、いくつかのピクチャブロック又はピクチャフレームについて、ビデオエンコーダ20は残差データを生成せず、したがって、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210及び逆変換処理ユニット212は処理を実行する必要はない。代替として、ビデオエンコーダ20は、フィルタ220による処理なしに、復元されたピクチャブロックを参照ブロックとして直接記憶してもよい。代替として、ビデオエンコーダ20内の量子化ユニット208及び逆量子化ユニット210は一緒に組み合わされてもよい。ループフィルタ220は任意選択であり、可逆圧縮符号化の場合、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210及び逆変換処理ユニット212は任意選択である。異なる適用シナリオに従って、インター予測ユニット244及びイントラ予測ユニット254は選択的に有効にされて使用されてもよいことが理解されるべきである。
【0112】
図3は、この出願の実施形態を実現するように構成されたデコーダ30の例の概略/概念ブロック図である。ビデオデコーダ30は、例えば、エンコーダ20によるエンコードを通じて取得された、エンコードされたピクチャデータ(例えば、エンコードされたビットストリーム)21を受信し、デコードされたピクチャ231を取得するように構成される。デコードの間に、ビデオデコーダ30は、ビデオエンコーダ20からビデオデータ、例えば、エンコードされたビデオスライスのピクチャブロックを表すエンコードされたビデオビットストリーム及び関連するシンタックスエレメントを受信する。
【0113】
図3の例では、デコーダ30は、エントロピーデコードユニット304と、逆量子化ユニット310と、逆変換処理ユニット312と、復元ユニット314(例えば、加算器314)と、バッファ316と、ループフィルタ320と、デコード済ピクチャバッファ330と、予測処理ユニット360とを含む。予測処理ユニット360は、インター予測ユニット344と、イントラ予測ユニット354と、モード選択ユニット362とを含んでもよい。いくつかの例では、ビデオデコーダ30は、
図2におけるビデオエンコーダ20を参照して説明したエンコードプロセスとほぼ逆のデコードプロセスを実行してもよい。
【0114】
エントロピーデコードユニット304は、エンコードされたピクチャデータ21をエントロピーデコードし、例えば、量子化された係数309及び/又はデコードされた符号化パラメータ(
図3に図示せず)、例えば、(デコードされた)インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ及び/又は他のシンタックスエレメントのうちいずれか1つ又は全てを取得するように構成される。エントロピーデコードユニット304は、インター予測パラメータ、イントラ予測パラメータ及び/又は他のシンタックスエレメントを予測処理ユニット360に転送するように更に構成される。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルのシンタックスエレメントを受信してもよい。
【0115】
逆量子化ユニット310は、逆量子化ユニット110と同じ機能を有してもよい。逆変換処理ユニット312は、逆変換処理ユニット212と同じ機能を有してもよい。復元ユニット314は、復元ユニット214と同じ機能を有してもよい。バッファ316は、バッファ216と同じ機能を有してもよい。ループフィルタ320は、ループフィルタ220と同じ機能を有してもよい。デコード済ピクチャバッファ330は、デコード済ピクチャバッファ230と同じ機能を有してもよい。
【0116】
予測処理ユニット360は、インター予測ユニット344と、イントラ予測ユニット354とを含んでもよい。インター予測ユニット344は、機能においてインター予測ユニット244と同様でもよく、イントラ予測ユニット354は、機能においてイントラ予測ユニット254と同様でもよい。予測処理ユニット360は、通常では、ブロック予測を実行し及び/又はエンコードされたデータ21から予測ブロック365を取得し、例えば、エントロピーデコードユニット304から予測関連パラメータ及び/又は選択された予測モードに関する情報を(明示的又は暗示的に)受信又は取得するように構成される。
【0117】
ビデオスライスがイントラ符号化(I)スライスとしてエンコードされるとき、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードと、現フレーム又はピクチャの先立ってデコードされたブロックからのデータとに基づいて、現ビデオスライスのピクチャブロックについての予測ブロック365を生成するように構成される。ビデオフレームがインター符号化(B又はP)スライスとしてエンコードされるとき、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、動きベクトル及びエントロピーデコードユニット304から受信した他のシンタックスエレメントに基づいて、現ビデオスライスのビデオブロックについての予測ブロック365を生成するように構成される。インター予測のために、予測ブロックは、1つの参照ピクチャリスト内の参照ピクチャのうち1つから生成されてもよい。ビデオデコーダ30は、DPB330に記憶された参照ピクチャに基づいてデフォルトの構築技術を使用することにより、参照フレームリスト、すなわち、リスト0及びリスト1を構築してもよい。
【0118】
予測処理ユニット360は、動きベクトル及び他のシンタックスエレメントを解析することにより、現ビデオスライスのビデオブロックについての予測情報を決定し、デコードされている現ビデオブロックについての予測ブロックを生成するために、予測情報を使用するように構成される。この出願の例では、予測処理ユニット360は、ビデオスライスのビデオブロックを符号化するために使用される予測モード(例えば、イントラ予測又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス又はGPBスライス)、スライスについての参照ピクチャリストのうち1つ以上の構築情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インター符号化ビデオブロックについてのインター予測状態、及び他の情報を決定し、現ビデオスライスのビデオブロックをデコードするために、受信したシンタックスエレメントのいくつかを使用する。この開示の他の例では、ビットストリームからビデオデコーダ30により受信されるシンタックスエレメントは、適応パラメータセット(adaptive parameter set, APS)、シーケンスパラメータセット(sequence parameter set, SPS)、ピクチャパラメータセット(picture parameter set, PPS)又はスライスヘッダのうち1つ以上におけるシンタックスエレメントを含む。
【0119】
逆量子化ユニット310は、ビットストリーム内に提供され且つエントロピーデコードユニット304によりデコードされる量子化された変換係数を逆量子化(すなわち、反量子化)するように構成されてもよい。逆量子化プロセスは、ビデオスライス内の各ビデオブロックについてビデオエンコーダ20により計算された量子化パラメータを使用して、適用されるべき量子化度を決定し、同様に、適用されるべき逆量子化度を決定することを含んでもよい。
【0120】
逆変換処理ユニット312は、逆変換(例えば、逆DCT、逆整数変換又は概念的に同様の逆変換プロセス)を変換係数に適用し、ピクセルドメインにおける残差ブロックを生成するように構成される。
【0121】
復元ユニット314(例えば、加算器314)は、例えば、復元された残差ブロック313のサンプル値及び予測ブロック365のサンプル値を加算することにより、逆変換ブロック313(すなわち、復元された残差ブロック313)を予測ブロック365に加算し、サンプルドメインにおける復元されたブロック315を取得するように構成される。
【0122】
(符号化ループの間に或いは符号化ループの後に)ループフィルタユニット320は、復元されたブロック315をフィルタリングし、フィルタリングされたブロック321を取得し、ピクセル遷移を平滑化にするか或いはビデオ品質を改善するように構成される。一例では、ループフィルタユニット320は、以下に説明するフィルタリング技術のいずれかの組み合わせを実行するように構成されてもよい。ループフィルタユニット320は、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset, SAO)フィルタ、又はバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter, ALF)、鮮鋭化若しくは平滑化フィルタ又は協調フィルタのような他のフィルタを含む1つ以上のループフィルタを表すことを意図している。ループフィルタユニット320は、
図3ではループ内フィルタとして示されているが、他の構成では、ループフィルタユニット320は、ポストループフィルタとして実現されてもよい。
【0123】
次いで、所与のフレーム又はピクチャ内のデコードされたビデオブロック321は、後続の動き補償のために使用される参照ピクチャを記憶するデコード済ピクチャバッファ330に記憶される。
【0124】
デコーダ30は、例えば、ユーザへの提示又はユーザによる閲覧のために、出力332を通じてデコードされたピクチャ31を出力するように構成される。
【0125】
ビデオデコーダ30の他の変形は、圧縮されたビットストリームをデコードするように構成されてもよい。例えば、デコーダ30は、ループフィルタユニット320による処理なしに出力ビデオストリームを生成してもよい。例えば、非変換ベースのデコーダ30は、いくつかのブロック又はフレームについて逆変換処理ユニット312なしに残差信号を直接逆量子化してもよい。他の実現方式では、ビデオデコーダ30は、単一のユニットに結合される逆量子化ユニット310及び逆変換処理ユニット312を有してもよい。
【0126】
具体的には、この出願のこの実施形態では、デコーダ30は、以下の実施形態に記載の候補動きベクトルリストを取得するための方法を実現するように構成される。
【0127】
ビデオデコーダ30の他の構造的な変形は、エンコードされたビデオビットストリームをデコードするように構成されてもよいことが理解されるべきである。例えば、ビデオデコーダ30は、フィルタ320による処理なしに出力ビデオストリームを生成してもよい。代替として、いくつかのピクチャブロック又はピクチャフレームについて、ビデオデコーダ30のエントロピーデコードユニット304は、デコードを通じて量子化された係数を取得せず、したがって、逆量子化ユニット310及び逆変換処理ユニット312は処理を実行する必要はない。ループフィルタ320は任意選択である。可逆圧縮の場合、逆量子化ユニット310及び逆変換処理ユニット312は任意選択である。異なる適用シナリオに従って、インター予測ユニット及びイントラ予測ユニットは選択的に有効にされて使用されてもよいことが理解されるべきである。
【0128】
図4は、この出願の実施形態によるビデオ符号化デバイス400(例えば、ビデオエンコードデバイス400又はビデオデコードデバイス400)の概略構造図である。ビデオ符号化デバイス400は、この明細書に記載の実施形態を実現するのに適している。実施形態では、ビデオ符号化デバイス400は、ビデオデコーダ(例えば、
図1Aにおけるデコーダ30)又はビデオエンコーダ(例えば、
図1Aにおけるエンコーダ20)でもよい。他の実施形態では、ビデオ符号化デバイス400は、
図1Aにおけるデコーダ30又は
図1Aにおけるエンコーダ20のうち1つ以上のコンポーネントでもよい。
【0129】
ビデオ符号化デバイス400は、データを受信するように構成された入口ポート410及び受信機ユニット(Rx)420と、データを処理するように構成されたプロセッサ、論理ユニット又は中央処理装置(CPU)430と、データを送信するように構成された送信機ユニット(Tx)440及び出口ポート450と、データを記憶するように構成されたメモリ460とを含む。ビデオ符号化デバイス400は、光信号又は電気信号の出口又は入口のために、入口ポート410、受信機ユニット420、送信機ユニット440及び出口ポート450に結合された光対電気コンポーネント及び電気対光(EO)コンポーネントを更に含んでもよい。
【0130】
プロセッサ430は、ハードウェア及びソフトウェアにより実現される。プロセッサ430は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC及びDSPとして実現されてもよい。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450及びメモリ460と通信する。プロセッサ430は、符号化モジュール470(例えば、エンコードモジュール470又はデコードモジュール470)を含む。エンコード又はデコードモジュール470は、この出願の実施形態において提供される色差ブロック予測方法を実現するために、この明細書に開示される実施形態を実現する。例えば、エンコード又はデコードモジュール470は、様々な符号化動作を実現、処理又は提供する。したがって、エンコード又はデコードモジュール470の包含は、ビデオ符号化デバイス400の機能に実質的な改善を提供し、ビデオ符号化デバイス400の異なる状態への切り替えに影響を与える。代替として、エンコード/デコードモジュール470は、メモリ460に記憶されてプロセッサ430により実行される命令として実現される。
【0131】
メモリ460は、1つ以上のディスク、テープドライブ及びソリッドステートドライブを含み、プログラムが選択的に実行されるときにこのようなプログラムを記憶し、プログラムの実行中に読み取られた命令及びデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてもよい。メモリ460は、揮発性及び/又は不揮発性でもよく、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値コンテンツアドレス指定可能メモリ(ternary content-addressable memory, TCAM)及び/又はスタティックランダムアクセスメモリ(SRAM)でもよい。
【0132】
図5は、例示的な実施形態による
図1Aの送信元デバイス12及び宛先デバイス14のいずれか又は2つとして使用できる装置500の簡略化したブロック図である。装置500は、この出願の技術を実現できる。言い換えると、
図5は、この出願の実施形態によるエンコードデバイス又はデコードデバイス(略称で符号化デバイス500)の実現方式の概略ブロック図である。符号化デバイス500は、プロセッサ510と、メモリ530と、バスシステム550とを含んでもよい。プロセッサ及びメモリは、バスシステムを通じて接続される。メモリは命令を記憶するように構成される。プロセッサは、メモリに記憶された命令を実行するように構成される。符号化デバイスのメモリはプログラムコードを記憶し、プロセッサはメモリに記憶されたプログラムコードを呼び出し、この出願に記載の様々なビデオエンコード又はデコード方法を実行してもよい。繰り返しを回避するために、詳細はここでは説明しない。
【0133】
この出願のこの実施形態では、プロセッサ510は、中央処理装置(Central Processing Unit, 略称で「CPU」)でもよく、或いは、プロセッサ510は、他の汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASSIC)、フィールドプログラマブルゲートアレイ(FPGA)又は他のプログラム可能論理デバイス、ディスクリートゲート又はトランジスタ論理デバイス、ディスクリートハードウェアコンポーネント等でもよい。汎用プロセッサは、マイクロプロセッサでもよく、或いは、いずれかの従来のプロセッサ等でもよい。
【0134】
メモリ530は、読み取り専用メモリ(ROM)デバイス又はランダムアクセスメモリ(RAM)デバイスを含んでもよい。いずれかの他の適切な種類の記憶デバイスが、代替としてメモリ530として使用されてもよい。メモリ530は、バス550を通じてプロセッサ510によりアクセスされるコード及びデータ531を含んでもよい。メモリ530は、オペレーティングシステム533及びアプリケーションプログラム535を更に含んでもよい。アプリケーションプログラム535は、プロセッサ510が、この出願に記載のビデオエンコード又はデコード方法(特に、この出願に記載の候補動きベクトルリストを取得するための方法)を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム535は、アプリケーション1〜Nを含んでもよく、この出願に記載のビデオエンコード又はデコード方法を実行するために使用されるビデオエンコード又はデコードアプリケーション(簡単にビデオ符号化アプリケーションと呼ばれる)を更に含む。
【0135】
バスシステム550は、データバスを含むだけでなく、電力バス、制御バス、状態信号バス等を含んでもよい。しかし、明確な説明のために、図面における様々な種類のバスはバスシステム550として記される。
【0136】
任意選択で、符号化デバイス500は、1つ以上の出力デバイス、例えば、ディスプレイ570を更に含んでもよい。一例では、ディスプレイ570は、ディスプレイと、タッチ入力を動作可能に感知するタッチセンシティブ素子とを組み合わせたタッチセンシティブディスプレイでもよい。ディスプレイ570は、バス550を通じてプロセッサ510に接続されてもよい。
【0137】
1つのビデオシーケンスは、特定の数のピクチャを含み、ピクチャは、典型的には、フレーム(Frame)と呼ばれる。隣接ピクチャは、典型的には類似しており、すなわち、大量の冗長性がそれに含まれる。動き補償を使用する目的は、隣接フレームの間の冗長性を除去することにより圧縮比を増加させることである。動き補償は、隣接フレームの間の差を記述するための方法である(ここでの「隣接」は、2つのフレームが符号化関係において隣接していることを示すが、必ずしも2つのフレームが再生シーケンスにおいて隣接していることを示すとは限らない)。動き補償は、インター予測プロセスの1つの段階である。動き補償が実行される前に、符号化ブロックの動き情報は、動き推定又はビットストリームデコードにより取得されている。動き情報は、主に、(1)順方向予測、逆方向予測及び双方向予測を含む符号化ブロックの予測方向であり、順方向予測は、符号化ブロックが先立って符号化されたフレームに基づく予測を通じて取得されることを示し、逆方向予測は、符号化ブロックが次に符号化されるフレームに基づく予測を通じて取得されることを示し、双方向予測は、符号化ブロックが先立って符号化されたフレーム及び次に符号化されるフレームを参照した予測を通じて取得されることを示す、予測方向と、(2)符号化ブロックの参照ピクチャインデックスであり、参照ピクチャインデックスは、現符号化ブロックの参照ブロックが位置するフレームを示す、参照ピクチャインデックスと、(3)符号化ブロックの動きベクトルMVであり、動きベクトルは、参照ブロックに対する符号化ブロックの動き変位を示し、MVは、水平成分(MVxとして記される)及び垂直成分(MVyとして記される)を含み、MVx及びMVyは、参照ブロックに対する符号化ブロックの水平動き変位及び垂直動き変位をそれぞれ示す、MVとを含む。順方向予測又は逆方向予測の場合、符号化ブロックは1つのみのMVを有し、双方向予測の場合、符号化ブロックは2つのMVを有する。
図6は、上記の動き情報の説明を示す。
図6並びに動き情報及び予測情報に関する以下の説明では、0は順方向を示し、1は逆方向を示す。例えば、Ref0は順方向参照ピクチャを表し、Ref1は逆方向参照ピクチャを表し、MV0は順方向動きベクトルを表し、MV1は逆方向動きベクトルを表す。A、B及びCは、それぞれ順方向参照ブロック、現符号化ブロック及び逆方向参照ブロックを表す。Curは現符号化フレームを表し、破線はブロックBの動きトラックを示す。動き補償は、動き情報に基づいて参照ブロックを見つけ、符号化ブロックの予測ブロックを取得するように参照ブロックを処理するプロセスである。
【0138】
順方向予測動き補償の基本的なプロセスは以下の通りである。
図6に示すように、現符号化ブロックは、図面におけるブロックBであり、Bの高さ及び幅は、それぞれH及びWとして示されている。この場合、動き情報に基づいて、現符号化ブロックBの順方向参照ピクチャはフレームRef0であり、現符号化ブロックBの順方向動きベクトルはMV0=(MV0x,MV0y)であることが分かる。Curフレーム内の符号化ブロックBが符号化されるとき、まず、Curフレーム内のブロックBの左上角の点の座標(i,j)に基づいてフレームRef0内に同じ座標点が見つかり、ブロックBの高さ及び幅に基づいてRef0内のブロックB'が取得されてもよく、次いで、ブロックB'のMV0に基づいてブロックB'がブロックAに動かされる。最後に、現符号化ブロックBの予測ブロックを取得するために、ブロックAに対して補間処理が実行される。現符号化ブロックBの予測ブロック内の各ピクセルのピクセル値は、ブロックBの対応するピクセルの予測値と呼ばれる。逆方向予測動き補償のプロセスは、順方向予測動き補償のプロセスと同じであるが、参照方向は異なる。逆方向予測動き補償を通じて取得された予測ブロック及び順方向予測動き補償を通じて取得された予測ブロックは、それぞれ逆方向予測ブロック及び順方向予測ブロックと呼ばれる。符号化ブロックが双方向で予測されないとき、取得された順方向予測ブロック及び逆方向予測ブロックは現符号化ブロックの予測ブロックである。
【0139】
双方向予測の場合、まず、それぞれ順方向予測ブロック及び逆方向予測ブロックは、順方向予測動き補償のプロセスを実行することにより且つ逆方向予測動き補償のプロセスを実行することにより、動き情報に基づいて取得され、次いで、符号化ブロックBの予測ブロックを取得するために、順方向予測ブロック及び逆方向予測ブロックの同一位置のピクセルの値に対して、重み付き予測が実行されるか、或いは、双方向予測オプティカルフロー(Bi-directional optical flow, BIO)技術が使用される。
【0140】
現符号化ブロックの予測値が重み付き予測方法を使用することにより計算されるとき、順方向予測ブロックのピクセルの値と逆方向予測ブロックの同一位置のピクセルの値との重み付き和のみが以下の式(1)に従って計算される。
【数1】
【0141】
式(1)において、PredB(i,j)、PredA(i,j)及びPredC(i,j)は、それぞれ座標(i,j)における現符号化ブロックの予測ブロックの予測値、現符号化ブロックの順方向予測ブロックの予測値及び現符号化ブロックの逆方向予測ブロックの予測値を表す。ω
0及びω
1(0≦ω
0≦1、0≦ω
1≦1且つω
0+ω
1=1)は重み付け係数である。重み付け係数は、異なるエンコーダによって変化してもよい。典型的には、ω
0及びω
1の双方は1/2である。
【0142】
AMVPモードの候補動きベクトルリストを取得するプロセスにおいて、候補として候補動きベクトルリストに追加できる動きベクトル(motion vector, MV)は、現ブロックの空間的に隣接するピクチャブロックのMVと、現ブロックの時間的に隣接するピクチャブロックのMVとを含む。空間的に隣接するピクチャブロックのMVは、現ブロックの左側候補ピクチャブロックのMVと、現ブロックの上側候補ピクチャブロックのMVとを含んでもよい。例えば、
図7に示すように、左側候補ピクチャブロックのセットは{A0,A1}を含み、上側候補ピクチャブロックのセットは{B0,B1,B2}を含み、時間的に隣接する候補ピクチャブロックのセットは{C,T}を含む。全ての3つのセットは、候補として候補動きベクトルリストに追加できる。しかし、既存の符号化標準によれば、AMVPの候補動きベクトルリストの最大長は2である。したがって、最大で2つのピクチャブロックのMVが、指定の順序に基づいて3つのセットから決定され、候補動きベクトルリストに追加される必要がある。順序は以下の通りである。現ブロックの左側候補ピクチャブロックのセット{A0,A1}が優先的に考慮され(まず、A0が考慮され、A0が利用不可能である場合、次いで、A1が考慮される)、次いで、現ブロックの上側候補ピクチャブロックのセット{B0,B1,B2}が考慮され(まず、B0が考慮され、B0が利用不可能である場合、次いで、B1が考慮され、B1が利用不可能である場合、最後に、B2が考慮される)、最後に、現ブロックの時間的に隣接する候補ピクチャブロックのセット{C,T}が考慮される(まず、Tが考慮され、Tが利用不可能である場合、次いで、Cが考慮される)。候補動きベクトルリストから決定された動きベクトル及び決定された動きベクトルに対応する動き情報は、上記の動き補償プロセスを完了するために使用され、それにより、現ブロックの予測値を取得する。
【0143】
候補動きベクトルリストを取得するための方法は以下のステップを含む。
【0144】
ステップ1:空間的に隣接する候補ピクチャブロックのセットから、候補動きベクトルリストに追加できるMVを選択する。
【0145】
ステップ1.1:現ブロックの左側候補ピクチャブロックのセット{A0,A1}から、候補動きベクトルリストに追加できる最大で1つのピクチャブロックのMVを取得する。
【0146】
ピクチャブロックが利用可能であることは、ピクチャブロックがエンコードされ、インター予測モードが使用されることを意味する。ピクチャブロックが存在しない場合、或いは、ピクチャブロックがエンコード又はデコードされていない場合、或いは、ピクチャブロックがインター予測モードを使用しない場合、ピクチャブロックは利用不可能である。まず、A0が利用可能であるか否かが決定される。A0が利用可能である場合、A0は左側候補ピクチャブロックであり、A1は決定される必要はない。A0が利用不可能である場合、A1が利用可能であるか否かが決定される。A1が利用可能である場合、A1は左側候補ピクチャブロックである。A1が利用不可能である場合、現ピクチャブロックの左側候補ピクチャブロックは利用不可能である。
【0147】
A0が利用可能であるとき、A0の参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される。A0の参照ピクチャが現ブロックの参照ピクチャと同じである場合、A0のMVが候補動きベクトルリストに追加される。A0の参照ピクチャが現ブロックの参照ピクチャと異なる場合、A0のMVは以下の式(2)に従ってスケーリングされる。
【数2】
【0148】
CurPocは現ブロックが位置するピクチャのピクチャオーダカウント(picture order count, POC)を表し、DesPocは現ブロックの参照ピクチャのPOCを表し、SpaPocは空間的に隣接するピクチャブロック(例えば、A0)の参照ピクチャのPOCを表し、MVsはスケーリングされたMVを示す。MVsは候補動きベクトルリストに追加される。この場合、A1は考慮される必要はなく、すなわち、A1が利用可能であるか否かは決定されない。
【0149】
この実現方式は、MVに対してスケーリング処理を実行する実現方式の例であることが理解されるべきである。この明細書において以降に使用される全てのスケーリング処理は、従来の技術における空間距離に基づいてMVに対してスケーリング処理を実行するのと同様の方式又は他の方法で実行されてもよい。これは、この出願のこの実施形態では限定されず、以下では詳細は説明しない。
【0150】
A0が利用不可能であるがA1が利用可能であるとき、A1の参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される。A1の参照ピクチャが現ブロックの参照ピクチャと同じである場合、A1のMVが候補動きベクトルリストに追加される。A1の参照ピクチャが現ブロックの参照ピクチャと異なる場合、A1のMVは式(2)に従ってスケーリングされ、MVsが候補動きベクトルリストに追加される。
【0151】
A0もA1も利用不可能である場合、A0のMV及びA1のMVは除外される。
【0152】
現ブロックの参照ピクチャの取得は、以降の実施形態におけるステップ801において具体的に記載される。詳細はここでは説明しない。
【0153】
ステップ1.2:現ブロックの上側候補ピクチャブロック{B0,B1,B2}のセットから、候補動きベクトルリストに追加できる最大で1つのピクチャブロックのMVを取得する。
【0154】
まず、B0が利用可能であるか否かが決定される。B0が利用可能である場合、B0は上側候補ピクチャブロックであり、B1及びB2は決定される必要はない。B0が利用不可能である場合、B1が利用可能であるか否かが決定される。B1が利用可能である場合、B1は上側候補ピクチャブロックであり、B2は決定される必要はない。B1が利用不可能である場合、B2が利用可能であるか否かが決定される。B2が利用可能である場合、B2は上側候補ピクチャブロックである。B2が利用不可能である場合、現ピクチャブロックの上側候補ピクチャブロックは利用不可能である。
【0155】
B0が利用可能であるとき、B0の参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される。B0の参照ピクチャが現ブロックの参照ピクチャと同じである場合、B0のMVが候補動きベクトルリストに追加される。B0の参照ピクチャが現ブロックの参照ピクチャと異なり、現ピクチャブロックの左側候補ピクチャブロックが利用不可能である場合、B0のMVは式(2)に従ってスケーリングされ、MVsが候補動きベクトルリストに追加される。B0の参照ピクチャが現ブロックの参照ピクチャと異なり、現ピクチャブロックの左側候補ピクチャブロックが利用可能である場合、B0のMVは除外される。B0に関連するMVが候補動きベクトルリストに追加された場合、B1及びB2は考慮される必要はなく、すなわち、B1及びB2が利用可能であるか否かは決定されない。
【0156】
B0が利用不可能であるがB1が利用可能であるとき、B1の参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される。B1の参照ピクチャが現ブロックの参照ピクチャと同じである場合、B1のMVが候補動きベクトルリストに追加される。B1の参照ピクチャが現ブロックの参照ピクチャと異なり、現ピクチャブロックの左側候補ピクチャブロックが利用不可能である場合、B1のMVは式(2)に従ってスケーリングされ、MVsが候補動きベクトルリストに追加される。B1の参照ピクチャが現ブロックの参照ピクチャと異なり、現ピクチャブロックの左側候補ピクチャブロックが利用可能である場合、B1のMVは除外される。B1に関連するMVが候補動きベクトルリストに追加された場合、B2は考慮される必要はなく、すなわち、B2が利用可能であるか否かは決定されない。
【0157】
B0及びB1が利用不可能であるがB2が利用可能であるとき、B2の参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される。B2の参照ピクチャが現ブロックの参照ピクチャと同じである場合、B2のMVが候補動きベクトルリストに追加される。B2の参照ピクチャが現ブロックの参照ピクチャと異なり、現ピクチャブロックの左側候補ピクチャブロックが利用不可能である場合、B2のMVは式(2)に従ってスケーリングされ、MVsが候補動きベクトルリストに追加される。B2の参照ピクチャが現ブロックの参照ピクチャと異なり、現ピクチャブロックの左側候補ピクチャブロックが利用可能である場合、B2のMVは除外される。
【0158】
B0、B1及びB2が利用不可能である場合、B0のMV、B1のMV及びB2のMVは除外される。
【0159】
ステップ1.2の後に、候補動きベクトルリストが既に2つのMVを含み、2つのMVが異なる場合、以下のステップ2及びステップ3は実行される必要はない。しかし、2つのMVが同じである場合、2つのMVのうち1つが削除される必要があり、ステップ2が実行され続ける。候補動きベクトルリストが1つのMVのみを含むか、或いは、全くMVを含まない場合にも、ステップ2が実行される必要がある。
【0160】
ステップ2:候補動きベクトルリストの長さが2未満である場合、時間的に隣接する候補ピクチャブロックのセット{C,T}から、候補動きベクトルリストに追加できる最大で1つのピクチャブロックのMVを選択する。
【0161】
まず、Tが利用可能であるか否かが決定される。Tが利用可能である場合、Tの同一位置のブロックのMVがスケーリングされ、スケーリングされたMVが候補動きベクトルリストに追加され、Cは決定される必要はない。Tが利用不可能である場合、Cが利用可能であるか否かが決定される。Cが利用可能である場合、Cの同一位置のブロックのMVがスケーリングされ、スケーリングされたMVが候補動きベクトルリストに追加される。Cが利用不可能である場合、時間的に隣接するピクチャブロックは利用不可能である。
【0162】
Tが利用可能であるとき、Tの同一位置のブロックのMVは以下の式(3)に従ってスケーリングされる。
【数3】
【0163】
tbは現ブロックが位置するピクチャと現ブロックの参照ピクチャとの間の距離を表し、tdは同一位置のピクチャと同一位置のピクチャの参照ピクチャとの間の距離を表し、同一位置のピクチャは、典型的には、現ブロックの全ての参照ピクチャのうち、POCが現ブロックが位置するピクチャのPOCに最も近い参照ピクチャを示し、colMVはTの同一位置のブロックのMVを表し、Tの同一位置のブロックは、Tが位置するピクチャの同一位置のピクチャ内で、位置がTの位置と同じであるピクチャブロックであり、curMVはスケーリングされたMVを表す。curMVは候補動きベクトルリストに追加される。この場合、Cは考慮される必要はなく、すなわち、Cが利用可能であるか否かは決定されない。
【0164】
Tが利用不可能であるがCが利用可能であるとき、CのMVは式(3)に従ってスケーリングされ、curMVが候補動きベクトルリストに追加される。
【0165】
ステップ3:候補動きベクトルリストの長さが2未満である場合、値が0であるMVを使用することにより候補動きベクトルリストを埋め、候補動きベクトルリストの長さが2に等しくなることを可能にする。
【0166】
任意選択で、候補動きベクトルリストの長さが2未満である場合、候補動きベクトルリストは、履歴ベースの動きベクトル予測(history-based motion vector prediction, HMVP)方法を使用することにより埋められてもよい。埋めた後に候補動きベクトルリストの長さが依然として2未満である場合、値が0であるMVが埋めるために使用され、候補動きベクトルリストの長さが2に等しくなることを可能にする。
【0167】
すなわち、時間的MVP方法及びTMVP方法を使用することによりマージ候補リストが構築された後に、HMVPマージ候補がマージ候補リストに追加される。履歴候補動きベクトルリストは履歴候補動きベクトルを含み、履歴候補動きベクトルは、先立って符号化されたブロックの動き情報である。エンコーダ/デコーダ側の履歴候補動きベクトルリストは、一般的に以下のように構築されて使用される。
【0168】
(1)スライス(SLICE/tile group)がデコードされ始めたとき、履歴候補動きベクトルリストを初期化し、履歴候補動きベクトルリストをクリアする。
【0169】
(2)現CUをデコードし、現CU又は現ブロックがマージモード又はインター予測モードを使用する場合、マージ動き情報候補リスト又は動きベクトル予測候補リストを生成し、履歴候補動きベクトルリスト内の履歴候補動きベクトルをマージ動き情報候補リスト又は動きベクトル予測候補リストに追加する。
【0170】
(3)現CU又は現ブロックがデコードされた後に、現ブロックの動きベクトルを、新たな履歴候補動きベクトルとして履歴候補動きベクトルリストに追加し、履歴候補動きベクトルリストを更新する。
【0171】
上記の従来技術では、空間的に隣接する候補ピクチャブロックのセットから、ステップ1において候補動きベクトルリストに追加できるMVを選択するプロセスにおいて、左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、左側候補ピクチャブロックのMVはスケーリングされる必要があり、次いで、スケーリングされたMVが候補動きベクトルリストに追加される。これは比較的複雑である。これを考慮して、この出願は改善を行う。
【0172】
図8は、この出願の実施形態を実現するための、候補動きベクトルリストを取得するための方法の概略フローチャートである。プロセス800は、ビデオエンコーダ20又はビデオデコーダ30により実行されてもよい。プロセス800は、一連のステップ又は動作として記載される。プロセス800のステップ又は動作は、様々な順序で実行されてもよく、及び/又は、同時に実行されてもよく、
図8に示す実行順序に限定されないことが理解されるべきである。
図8に示すように、当該方法は以下のステップを含む。
【0173】
ステップ801:左側候補ピクチャブロックがエンコード/デコードされ、インター予測モードが使用されるとき、左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かを決定する。
【0174】
この出願では、エンコーダ側において、左側候補ピクチャブロックがエンコードされたか否かが決定され、デコーダ側において、左側候補ピクチャブロックがデコードされたか否かが決定される。左側候補ピクチャブロックがエンコード又はデコードされること及びインター予測モードは、左側候補ピクチャブロックが利用可能であることを示すために使用され、さらに、左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される必要がある。
【0175】
デコーダ側では、現ブロックの動き情報は、ビットストリームを解析することにより取得される。現ブロックが一方向(例えば、第1の方向)のインター予測モードを使用するとき、動き情報は、現ブロックの第1の方向の動き情報であり、第1の方向の現ブロックの1つ以上の参照ピクチャインデックス(現ブロックが複数の参照ピクチャを有する場合、複数のフレームインデックスが解析を通じて取得される)を含む。現ブロックが双方向(例えば、第1の方向及び第2の方向)のインター予測モードを使用するとき、動き情報は、現ブロックの第1の方向の動き情報と、現ブロックの第2の方向の動き情報とを含む。第1の方向の動き情報は、第1の方向の現ブロックの1つ以上の参照ピクチャインデックスを含み、第2の方向の動き情報は、第2の方向の現ブロックの1つ以上の参照ピクチャインデックスを含む。例えば、フラグpredFlagL0は、対応するピクチャブロックが第1の方向のインター予測モードを使用するか否かを示すために使用されてもよく(list0は第1の方向の動き情報を示すために使用される)、フラグpredFlagL1は、対応するピクチャブロックが第2の方向のインター予測モードを使用するか否かを示すために使用されてもよい(list1は第2の方向の動き情報を示すために使用される)。上記のフラグの値0は、対応する方向のインター予測モードが使用されないことを指定し、上記のフラグの値1は、対応する方向のインター予測モードが使用されることを指定する。参照ピクチャインデックスと参照ピクチャのPOCとの間に対応関係が存在し、対応するPOCは、現ブロックのlist0及び/又はlist1の参照ピクチャインデックスに基づいて、参照ピクチャリスト内で見つけることができる。エンコーダ側では、現ブロックの動き情報は、RDOに基づいて符号化性能を比較することにより決定される。現ブロックの1つ以上の参照ピクチャの1つ以上のPOCは、左側候補ピクチャブロックの参照ピクチャのPOCと別々に比較され、現ブロックの1つ以上の参照ピクチャの1つ以上のPOCのうち1つが、左側候補ピクチャブロックの参照ピクチャのPOCと同じであるか否かを決定し、決定結果に基づいて現ブロックの候補動きベクトルリストが構築できる。これは、ステップ802及び803において詳細に記載される。
【0176】
ステップ802:左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるとき、左側候補ピクチャブロックのMVを候補動きベクトルリスト内の候補動きベクトルとして使用する。
【0177】
ステップ803:左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、左側候補ピクチャブロックのMVを除外する。
【0178】
左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであることは、現ブロックの一意の参照ピクチャのPOC又は現ブロックの複数の参照ピクチャのPOCのうち1つが、左側候補ピクチャブロックの参照ピクチャのPOCのうち1つと同じであることを意味する。1つの比較方法では、現ブロックの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置A(A0又はA1)の第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが同じである場合、位置AのMVが候補動きベクトルリストに追加され、現ブロックの第2の方向の動き情報は決定される必要はない。2つのPOCが異なる場合、現ブロックの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Aの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが同じである場合、位置AのMVが候補動きベクトルリストに追加される。他の比較方法では、現ブロックの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Aの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが異なる場合、現ブロックの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Aの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが異なる場合、現ブロックの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Aの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが異なる場合、現ブロックの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Aの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。
【0179】
例えば、現ブロックが一方向(第2の方向)のインター予測モードを使用する場合、現ブロックのlist1内の参照ピクチャインデックスに対応するPOCが、A0のlist0及びlist1内の参照ピクチャインデックスに対応するPOCと別々に比較される。2つのPOCが同じである場合、A0のMVが候補動きベクトルリストに追加される。2つのPOCが異なる場合、A0のMVは除外される。比較順序は以下の通り、すなわち、curlist1->Alist0及びcurlist1->Alist1であり、curlist1は現ブロックのlist1内の参照ピクチャインデックスを表し、Alist0はA0のlist0内の参照ピクチャインデックスを表し、Alist1はA1のlist1内の参照ピクチャインデックスを表す。現ブロックが双方向インター予測モードを使用する場合、現ブロックのlist0内の参照ピクチャインデックスに対応するPOCが、A0のlist0及びlist1内の参照ピクチャインデックスに対応するPOCと別々に比較される。2つのPOCが同じである場合、A0のMVが候補動きベクトルリストに追加される。2つのPOCが異なる場合、現ブロックのlist1内の参照ピクチャインデックスに対応するPOCが、A0のlist0及びlist1内の参照ピクチャインデックスに対応するPOCと別々に比較される。2つのPOCが同じである場合、A0のMVが候補動きベクトルリストに追加される。2つのPOCが異なる場合、A0のMVは除外される。比較順序は、curlist0->Alist0、curlist0->Alist1、curlist1->Alist0及びcurlist1->Alist1であり、curlist0は現ブロックのlist0内の参照ピクチャインデックスを表す。上記の比較順序は説明のための例であり、比較順序はこの出願では具体的に限定されない点に留意すべきである。
【0180】
この出願のステップ802は、左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるときに使用される、従来技術におけるステップ1.1で説明した処理方法と同じである。詳細はここでは再び説明しない。
【0181】
この出願のステップ803において、左側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、この出願では、左側候補ピクチャブロックのMVはスケーリングされる必要はなく、左側候補ピクチャブロックのMVは直接除外される。例えば、A0の参照ピクチャが現ブロックの参照ピクチャと異なる場合、A0のMVは除外され、A0のMVは候補動きベクトルリストに追加されない。これは、AMVPモードにおける候補動きベクトルリストを取得するプロセスを簡略化し、動き情報導出プロセスの複雑性を低減し、符号化効率を改善することができる。
【0182】
いくつかの実現可能な実現方式では、任意選択で、この出願のこの実施形態は、ステップ804及びステップ805を更に含む。
【0183】
ステップ804:上側候補ピクチャブロックがエンコード/デコードされ、インター予測モードが使用されるとき、上側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かを決定する。
【0184】
この出願では、エンコーダ側において、上側候補ピクチャブロックがエンコードされたか否かが決定され、デコーダ側において、上側候補ピクチャブロックがデコードされたか否かが決定される。上側候補ピクチャブロックがエンコード/デコードされること及びインター予測モードは、上側候補ピクチャブロックが利用可能であることを示すために使用され、さらに、上側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かが決定される必要がある。
【0185】
デコーダ側では、現ブロックの動き情報は、ビットストリームを解析することにより取得される。現ブロックが一方向(例えば、第1の方向)のインター予測モードを使用するとき、動き情報は、現ブロックの第1の方向の動き情報であり、第1の方向の現ブロックの1つ以上の参照ピクチャインデックス(現ブロックが複数の参照ピクチャを有する場合、複数のフレームインデックスが解析を通じて取得される)を含む。現ブロックが双方向(例えば、第1の方向及び第2の方向)のインター予測モードを使用するとき、動き情報は、現ブロックの第1の方向の動き情報と、現ブロックの第2の方向の動き情報とを含む。第1の方向の動き情報は、第1の方向の現ブロックの1つ以上の参照ピクチャインデックスを含み、第2の方向の動き情報は、第2の方向の現ブロックの1つ以上の参照ピクチャインデックスを含む。例えば、フラグpredFlagL0は、対応するピクチャブロックが第1の方向のインター予測モードを使用するか否かを示すために使用されてもよく(list0は第1の方向の動き情報を示すために使用される)、フラグpredFlagL1は、対応するピクチャブロックが第2の方向のインター予測モードを使用するか否かを示すために使用されてもよい(list1は第2の方向の動き情報を示すために使用される)。上記のフラグの値0は、対応する方向のインター予測モードが使用されないことを指定し、上記のフラグの値1は、対応する方向のインター予測モードが使用されることを指定する。参照ピクチャリスト内で参照ピクチャインデックスと参照ピクチャのPOCとの間に対応関係が存在し、対応するPOCは、現ブロックのlist0及び/又はlist1の参照ピクチャインデックスに基づいて、参照ピクチャリスト内で見つけることができる。エンコーダ側では、現ブロックの動き情報は、RDOに基づいて符号化性能を比較することにより決定される。現ブロックの1つ以上の参照ピクチャの1つ以上のPOCは、上側候補ピクチャブロックの参照ピクチャのPOCと別々に比較され、現ブロックの1つ以上の参照ピクチャの1つ以上のPOCのうち1つが、上側候補ピクチャブロックの参照ピクチャのPOCと同じであるか否かを決定する。
【0186】
ステップ805:決定結果に基づいて、対応するMVを候補動きベクトルリストに追加する。
【0187】
上側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであることは、現ブロックの一意の参照ピクチャのPOC又は現ブロックの複数の参照ピクチャのPOCのうち1つが、上側候補ピクチャブロックの参照ピクチャのPOCのうち1つと同じであることを意味する。1つの比較方法では、現ブロックの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置B(B0、B1又はB2)の第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが同じである場合、位置BのMVが候補動きベクトルリストに追加され、現ブロックの第2の方向の動き情報は決定される必要はない。2つのPOCが異なる場合、現ブロックの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Bの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが同じである場合、位置BのMVが候補動きベクトルリストに追加される。他の比較方法では、現ブロックの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Bの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが異なる場合、現ブロックの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Bの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが異なる場合、現ブロックの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Bの第1の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。2つのPOCが異なる場合、現ブロックの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCが、位置Bの第2の方向の動き情報内の参照ピクチャインデックスに対応するPOCと比較される。
【0188】
この出願のステップ805において、上側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるとき、上側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じである場合の処理方法は、従来技術におけるステップ1.2で説明した処理方法と同じである。詳細はここでは再び説明しない。
【0189】
この出願のステップ805において、上側候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、この出願において2つの処理方法が存在してもよい。1つの方法は、上側候補ピクチャブロックのMVがスケーリングされる必要がなく、上側候補ピクチャブロックのMVが直接除外されることである。例えば、B0の参照ピクチャが現ブロックの参照ピクチャと異なる場合、B0のMVは除外され、B0のMVは候補動きベクトルリストに追加されない。他の方法は、現ピクチャブロックの左側候補ピクチャブロックが利用可能であるか否かが決定される必要がなく、上側候補ピクチャブロックのMVが式(1)に従って直接スケーリングされ、スケーリングされたMVが候補動きベクトルリストに追加されることである。これは、MV予測の精度及び符号化効率を改善することができる。
【0190】
ステップ805の後に、候補動きベクトルリストが既に2つのMVを含み、2つのMVが異なる場合、現ブロックの候補動きベクトルリストが決定される。しかし、2つのMVが同じである場合、冗長性を除去するために2つのMVのうち1つが削除される必要がある。いくつかの他の実現可能な実現方式では、実現方式の複雑性を簡略化するために、MVを比較する動作が実行されなくてもよく、それにより、2つの同じMVが保持される。
【0191】
この出願では、空間的に隣接する候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、候補ピクチャブロックのMVはスケーリングされる必要はなく、候補ピクチャブロックのMVは直接除外される。これは、インター予測モードにおける候補動きベクトルリストを取得するプロセスを簡略化し、動き情報導出プロセスの複雑性を低減し、符号化効率を改善することができる。
【0192】
候補動きベクトルリストが上記の実施形態に従って取得された後に、最適な動きベクトルは、リスト内の各候補動きベクトルのRDコストを計算することにより決定されてもよく、すなわち、最小のRDコストを有する候補動きベクトルが、現ブロックのMVPとして使用される。RDコストは、以下の式に従って計算されてもよい。
J=SAD+λR
ここで、JはRDコストを表し、SADは候補動きベクトルに基づく動き推定を通じて取得された、予測ブロックのピクセル値と現ブロックのピクセル値との間の差分絶対値和(sum of absolute differences, SAD)であり、Rはビットレートを表し、λはラグランジュ乗数を表す。
【0193】
エンコーダ側は、候補動きベクトルリスト内の決定されたMVPのインデックスをデコーダ側に伝達する。さらに、エンコーダ側は、MVP中心の隣接ドメインにおいて動き探索を実行し、現ブロックの実際の動きベクトルを取得してもよい。エンコーダ側は、MVPと実際の動きベクトルとの間の動きベクトル差(motion vector difference, MVD)を計算し、MVDをデコーダ側に伝達する。デコーダ側は、インデックスを解析し、インデックスに基づいて候補動きベクトルリスト内の対応するMVPを見つけ、MVDを解析し、MVD及びMVPを追加し、現ブロックの実際の動きベクトルを取得する。
【0194】
図9は、この出願の実施形態によるインター予測装置900の概略ブロック図である。インター予測装置900は、第1の候補ピクチャブロックがエンコード/デコードされ、インター予測モードが使用されるとき、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かを決定するように構成された決定モジュール901と、決定結果に基づいて、現ブロックの候補動きベクトルリストを構築するように構成された処理モジュール902であり、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるとき、候補動きベクトルリストは第1の候補ピクチャブロックの動きベクトルMVを含み、或いは、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、候補動きベクトルリストは第1の候補ピクチャブロックのMVを含まない、処理モジュール902とを含んでもよい。
【0195】
可能な実現方式では、決定モジュール901は、第2の候補ピクチャブロックがエンコード/デコードされ、インター予測モードが使用されるとき、第2の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるか否かを決定するように更に構成され、処理モジュール902は、第2の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであるとき、第2の候補ピクチャブロックのMVを候補動きベクトルリスト内の候補動きベクトルとして使用するように更に構成される。
【0196】
可能な実現方式では、第2の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、候補動きベクトルリストは、第2の候補ピクチャブロックのMVを含まない。
【0197】
可能な実現方式では、処理モジュール902は、第2の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと異なるとき、第2の候補ピクチャブロックの参照ピクチャのピクチャオーダカウントPOCに基づいて、且つ、現ブロックの参照ピクチャのPOCに基づいて、第2の候補ピクチャブロックのMVをスケーリングし、スケーリングされたMVを候補動きベクトルリスト内の候補動きベクトルとして使用するように更に構成される。
【0198】
可能な実現方式では、現ブロックは複数の参照ピクチャを有し、決定モジュール901は、複数の参照ピクチャのPOCを第1の候補ピクチャブロックの参照ピクチャのPOCと別々に比較し、複数の参照ピクチャのPOCのうち1つが第1の候補ピクチャブロックの参照ピクチャのPOCと同じであるとき、第1の候補ピクチャブロックの参照ピクチャが現ブロックの参照ピクチャと同じであると決定するように具体的に構成される。
【0199】
可能な実現方式では、処理モジュール902は、第1の候補ピクチャブロックのMVと第2の候補ピクチャブロックのMVとが異なると決定するように更に構成される。
【0200】
可能な実現方式では、第1の候補ピクチャブロックのMVが第2の候補ピクチャブロックのMVと同じであるとき、候補動きベクトルリストは、第2の候補ピクチャブロックのMVを含まない。
【0201】
決定モジュール901及び処理モジュール902は、エンコーダ側又はデコーダ側のインター予測プロセスにおいて使用されてもよい点に留意すべきである。具体的には、エンコーダ側では、当該モジュールは、エンコーダ20の予測処理ユニット260内のインター予測ユニット244において使用されてもよく、デコーダ側では、当該モジュールは、デコーダ30の予測処理ユニット360内のインター予測ユニット344において使用されてもよい。
【0202】
決定モジュール901及び処理モジュール902の具体的な実現プロセスについては、
図7における実施形態の詳細な説明を参照する点に更に留意すべきである。明細書を簡潔にするために、詳細はここでは再び説明しない。
【0203】
当業者は、この明細書に開示及び記載の様々な例示的な論理ブロック、モジュール及びアルゴリズムステップを参照して記載される機能が、ハードウェア、ソフトウェア、ファームウェア又はこれらのいずれかの組み合わせにより実現できることを理解できる。ソフトウェアにより実現される場合、例示的な論理ブロック、モジュール及びステップを参照して記載される機能は、1つ以上の命令又はコードとしてコンピュータ読み取り可能媒体に記憶されるか或いはコンピュータ読み取り可能媒体上で送信され、ハードウェアベースの処理ユニットにより実行されてもよい。コンピュータ読み取り可能媒体は、データ記憶媒体のような有形の媒体に対応するコンピュータ読み取り可能記憶媒体、又は(例えば、通信プロトコルに従って)1つの場所から他の場所へのコンピュータプログラムの伝達を容易にするいずれかの媒体を含む通信媒体を含んでもよい。このように、コンピュータ読み取り可能媒体は、一般的に、(1)非一時的な有形のコンピュータ読み取り可能記憶媒体、又は(2)信号若しくは搬送波のような通信媒体に対応してもよい。データ記憶媒体は、この出願に記載の技術を実現するための命令、コード及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによりアクセスできるいずれかの利用可能な媒体でもよい。コンピュータプログラム製品は、コンピュータ読み取り可能媒体を含んでもよい。
【0204】
限定ではなく例として、このようなコンピュータ読み取り可能記憶媒体は、RAM、ROM、EEPROM、CD-ROM若しくは他のコンパクトディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶装置、フラッシュメモリ、又は命令若しくはデータ構造の形式で所望のプログラムコードを記憶するために使用でき且つコンピュータによりアクセスできるいずれかの他の媒体を含んでもよい。さらに、いずれかの接続がコンピュータ読み取り可能媒体と適切に呼ばれる。例えば、命令が同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線及びマイクロ波のような無線技術を通じて、ウェブサイト、サーバ又は他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバ、ツイストペア、DSL、又は赤外線、無線及びマイクロ波のような無線技術は、媒体の定義に含まれる。しかし、コンピュータ読み取り可能記憶媒体及びデータ記憶媒体は、接続、搬送波、信号又は他の一時的な媒体を含まず、実際には非一時的な有形の記憶媒体を意味することが理解されるべきである。この明細書において使用されるディスク(disk)及びディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)及びブルーレイディスクを含む。ディスク(disk)は、通常では磁気的にデータを再生するが、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組み合わせもまた、コンピュータ読み取り可能媒体の範囲に含まれるべきである。
【0205】
命令は、1つ以上のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)又は他の等価な集積回路若しくは個別論理回路のような1つ以上のプロセッサにより実行されてもよい。したがって、この明細書で使用される「プロセッサ」という用語は、上記の構造のいずれか、又はこの明細書に記載の技術を実現するのに適した他の構造でもよい。さらに、いくつかの態様では、この明細書に記載の例示的な論理ブロック、モジュール及びステップを参照して記載される機能は、エンコード及びデコードのために構成された専用ハードウェア及び/又はソフトウェアモジュール内に提供されてもよく、或いは、組み合わされたコーデックに組み込まれてもよい。さらに、当該技術は、1つ以上の回路又は論理素子で完全に実現されてもよい。
【0206】
この出願における技術は、無線ハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む様々な装置又はデバイスで実現されてもよい。開示の技術を実行するように構成された装置の機能的側面を強調するために、様々なコンポーネント、モジュール又はユニットがこの出願に記載されているが、必ずしも異なるハードウェアユニットにより実現されるとは限らない。実際には、上記のように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと組み合わせてコーデックハードウェアユニットに組み合わされてもよく、或いは、相互運用可能なハードウェアユニット(上記の1つ以上のプロセッサを含む)により提供されてもよい。
【0207】
上記の実施形態では、実施形態における説明はそれぞれの焦点を有する。実施形態において詳細に記載されていない部分については、他の実施形態における関連する説明を参照する。
【0208】
上記の説明は、この出願の単なる具体的な実現方式であり、この出願の保護範囲を限定することを意図するものではない。この出願に開示の技術的範囲内で、当業者により容易に理解される如何なる変更又は置換も、この出願の保護範囲に入るものとする。したがって、この出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
第2の候補ピクチャブロックがエンコード又はデコードされ、前記第2の候補ピクチャブロックについて前記インター予測モードが使用されるとき、前記第2の候補ピクチャブロックの参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるか否かを決定するステップと、
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるとき、前記第2の候補ピクチャブロックのMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するステップと
を更に含む、請求項1に記載の方法。
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項2に記載の方法。
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記第2の候補ピクチャブロックの前記参照ピクチャのピクチャオーダカウントPOCに基づいて、且つ、前記現ブロックの前記参照ピクチャのPOCに基づいて、前記第2の候補ピクチャブロックの前記MVをスケーリングし、スケーリングされたMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するステップを更に含む、請求項2に記載の方法。
前記第1の候補ピクチャブロックの前記MVが前記第2の候補ピクチャブロックの前記MVと同じであるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項6に記載の方法。
前記決定モジュールは、第2の候補ピクチャブロックがエンコード又はデコードされ、前記第2の候補ピクチャブロックについて前記インター予測モードが使用されるとき、前記第2の候補ピクチャブロックの参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるか否かを決定するように更に構成され、
前記処理モジュールは、前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと同じであるとき、前記第2の候補ピクチャブロックのMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するように更に構成される、請求項8に記載の装置。
前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項9に記載の装置。
前記処理モジュールは、前記第2の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと異なるとき、前記第2の候補ピクチャブロックの前記参照ピクチャのピクチャオーダカウントPOCに基づいて、且つ、前記現ブロックの前記参照ピクチャのPOCに基づいて、前記第2の候補ピクチャブロックの前記MVをスケーリングし、スケーリングされたMVを前記候補動きベクトルリスト内の候補動きベクトルとして使用するように更に構成される、請求項9に記載の装置。
前記現ブロックは複数の参照ピクチャを有し、前記決定モジュールは、前記複数の参照ピクチャのPOCを前記第1の候補ピクチャブロックの前記参照ピクチャの前記POCと別々に比較し、前記複数の参照ピクチャの前記POCのうち1つが前記第1の候補ピクチャブロックの前記参照ピクチャの前記POCと同じであるとき、前記第1の候補ピクチャブロックの前記参照ピクチャが前記現ブロックの前記参照ピクチャと同じであると決定するように具体的に構成される、請求項8乃至11のうちいずれか1項に記載の装置。
前記第1の候補ピクチャブロックの前記MVが前記第2の候補ピクチャブロックの前記MVと同じであるとき、前記候補動きベクトルリストは、前記第2の候補ピクチャブロックの前記MVを含まない、請求項13に記載の装置。