(57)【要約】  デコーダまたはエンコーダがマージモードを使用してビデオ符号化／復号化を実行する方法である。この方法の一実施形態は、ブロックサイズを有する現在ブロックを受信するステップと、前記現在ブロックのブロックサイズに基づいてグリッドパターンを設定するステップであって、前記グリッドパターンが、前記現在ブロックに隣接する検索領域を検索ブロックに分割し、前記検索ブロックのサイズが、前記現在ブロックのブロックサイズに応じて決定される、ステップと、１つ以上の空間的マージ候補を含む候補リストを作成するように、前記検索ブロックでの候補位置から１つ以上の空間的マージ候補を検索するステップと、を含む。
2021513304.tif 000002
【特許請求の範囲】
【請求項１】
デコーダまたはエンコーダがマージモードを使用してビデオ符号化／復号を実行する方法であって、
ブロックサイズを有する現在ブロックを受信するステップと、
前記現在ブロックのブロックサイズに基づいてグリッドパターンを設定するステップであって、前記グリッドパターンが、前記現在ブロックに隣接する検索領域を検索ブロックに分割し、前記検索ブロックのサイズが、前記現在ブロックのブロックサイズに応じて決定される、ステップと、
１つ以上の空間的マージ候補を含む候補リストを作成するように、前記検索ブロックでの候補位置から前記１つ以上の空間的マージ候補を検索するステップと、
を含むことを特徴とする方法。
【請求項２】
前記現在ブロックのブロックサイズが第１閾値より大きい場合、検索ブロックサイズを第１サイズに決定するステップと、
前記現在ブロックのブロックサイズが前記第１閾値より小さい場合、前記検索ブロックサイズを前記第１サイズより小さい第２サイズに決定するステップと、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
予め決定された候補位置のセットに対応する前記検索ブロックのサブセットから、前記１つまたは複数の空間的マージ候補を検索するステップ、
をさらに含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記検索ブロックでの前記候補位置から前記１つ以上の空間的マージ候補を検索するステップは、
前記現在ブロックの最も近い隣接領域における予め決定された候補位置の第１セットで、第１ラウンドの検索を実行し、ここで、前記予め決定された候補位置の第１セットには、
前記現在ブロックの左下隅にある候補位置（ｄ０）と、
前記現在ブロックの左側に位置し、前記候補位置（ｄ０）の隣にある候補位置（ａ０）と、
前記現在ブロックの右上隅にある候補位置（ｃ０）と、
前記現在ブロックの上端に位置し、前記候補位置（ｃ０）の隣にある候補位置（ｂ０）と、
前記現在ブロックの左上隅にある候補位置（ｅ０）と、が含まれ、
前記現在ブロックから１つの検索ブロックだけ離れており、前記現在ブロックの最も近い隣接領域に隣接する隣接領域における予め決定された候補位置の第２セットで、第２ラウンドの検索を実行し、ここで、前記予め決定された候補位置の第２セットには、
前記候補位置（ｄ０）から左へ、１つの検索ブロックだけ離れた位置にある候補位置（ｄ１）と、
前記候補位置（ａ０）から左へ、１つの検索ブロックだけ離れた位置にある候補位置（ａ１）と、
前記候補位置（ｃ０）から上へ、１つの検索ブロックだけ離れた位置にある候補位置（ｃ１）と、
前記候補位置（ｂ０）から上へ、１つの検索ブロックだけ離れた位置にある候補位置（ｂ１）と、
前記候補位置（ｅ０）の左上方向に、１つの検索ブロックだけ離れた位置にある候補位置（ｅ１）と、が含まれる、
ことを含むことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記検索ブロックでの前記候補位置から前記１つ以上の空間的マージ候補を検索するステップは、
前記第１ラウンドの検索の後に、前記候補リストが完全に満たされているかどうかを決定するステップと、
前記候補リストが完全に満たされていない場合、前記第２ラウンドの検索を続行するステップと、
前記候補リストが完全に満たされた場合、前記１つまたは複数の空間的マージ候補を検索し、前記候補リストを作成する動作を終了するステップと、
をさらに含む、ことを特徴とする請求項４に記載の方法。
【請求項６】
前記検索ブロックでの候補位置から前記１つ以上の空間的マージ候補を検索するステップは、
前記現在ブロックの最も近い隣接領域から前記現在ブロックの最も遠い隣接領域まで、複数のラウンドの検索を順次に実行し、各ラウンドの検索をそれぞれの隣接領域で実行するステップであって、
（ａ）前記複数のラウンドの検索のうちの第１ラウンドを、前記最も近い隣接領域で実行し、前記最も近い隣接領域には、以下の予め決定された候補位置：
前記現在ブロックの左下隅にある第１候補位置（ｄ０）と、
前記現在ブロックの左側に位置し、前記候補位置（ｄ０）の隣にある第２候補位置（ａ０）と、
前記現在ブロックの右上隅にある第３候補位置（ｃ０）と、
前記現在ブロックの上端に位置し、前記第３候補位置（ｃ０）の隣にある第４候補位置（ｂ０）と、
前記現在ブロックの左上隅にある第５候補位置（ｅ０）と、が含まれ、
（ｂ）前の隣接領域で実行された前記複数のラウンドの検索のうちの前のラウンドの検索の後、次の隣接領域で前記複数のラウンドの検索のうちの次のラウンドの検索を実行し、前記次の隣接領域が、前記現在ブロックの前記前の隣接領域から１つの検索ブロックだけ離れた位置にあり、前記次の隣接領域には、以下の予め所定された候補位置、
前記前の隣接領域の第１候補位置（ｄＰ）から左へ、１つの検索ブロックだけ離れた位置にある第１候補位置（ｄＮ）と、
前記前の隣接領域の第２候補位置（ａＰ）から左へ、１つの検索ブロックだけ離れた位置にある第２候補位置（ａＮ）と、
前記前の隣接領域の第３候補位置（ｃＰ）から上へ、１つの検索ブロックだけ離れた位置にある第３候補位置（ｃＮ）と、
前記前の隣接領域の第４候補位置（ｂＰ）から上へ、１つの検索ブロックだけ離れた位置にある第４候補位置（ｂＮ）と、
前記前の隣接領域の第５候補位置（ｅＰ）から左上方向へ、１つの検索ブロックだけ離れた位置にある第５候補位置（ｅＮ）と、が含まれる、
ステップをさらに含む、ことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項７】
前記検索ブロックでの候補位置から１つ以上の空間的マージ候補を検索するステップは、前記候補リストが完全に満たされるまで、前記現在ブロックの最も近い隣接領域から前記現在ブロックの最も遠い隣接領域まで、前記複数のラウンドの検索を順次に実行するステップ、
を含む、ことを特徴とする請求項６に記載の方法。
【請求項８】
前記検索領域は、前記現在ブロックに隣接する第１隣接領域の検索ブロックにおける、高効率ビデオ符号化／復号（ＨＥＶＣ）規格で定義される候補位置の第１セットを含み、１つ以上の空間的マージ候補が検索される候補位置は、前記現在ブロックの左、上および左上にある候補位置での第１セットに対して、それぞれ、左、上および左上の方向へ、前記現在ブロックに隣接する第１隣接領域から、前記現在ブロックに隣接しておらず、前記現在ブロックから１つの検索ブロックだけ離れた位置にある隣接領域まで拡張される、
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記現在ブロックに直接隣接する検索ブロックから選択された空間的マージ候補のセット以外の１つ以上の空間的マージ候補を、前記候補リストにおける時間的マージ候補の後の位置に追加するステップ、
をさらに含むことを特徴とする請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記検索領域を検索することによって得られたマージ候補を、前記候補リストにリストされた既存のマージ候補と比較するステップと、
前記得られたマージ候補と前記既存のマージ候補との間の差が枝刈り閾値より大きい場合、前記得られたマージ候補を前記候補リストに追加するステップと、
前記得られたマージ候補と前記既存のマージ候補との間の差が枝刈り閾値より小さい場合、前記得られたマージ候補を前記候補リストにを追加しないステップと、
をさらに含むことを特徴とする請求項１乃至９のいずれか一項に記載の方法。  
【請求項１１】
前記検索ブロックは、正方形および／または非正方形の形状を有する、
ことを特徴とする請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
シーケンスレベル、画像レベル、またはスライスレベルで、エンコーダから以下の構文要素：
前記検索領域を定義するために、前記現在ブロックに対するオフセットを示す第１構文要素であって、前記検索領域の左上隅サンプルのｘ座標とｙ座標が互いに等しくて、前記オフセットの値を取る第１構文要素、
正方形を有する前記検索ブロックのサイズを示す第２構文要素、
枝刈り閾値を示す第３構文要素、
前記検索領域を定義するために、前記現在ブロックに対するｘ方向のオフセットおよびｙ方向のオフセットを示す第４構文要素および第５構文要素であって、前記検索領域の左上隅サンプルのｘ座標とｙ座標が互いに等しくなくて、それぞれｘ方向のオフセットの値およびｙ方向のオフセットの値を取る第４構文要素および第５構文要素、または、
長方形の形状を有する前記検索ブロックの幅および高さを示す第６構文要素および第７構文要素、
のうちの１つをシグナリングするステップ、を含むことを特徴とする請求項１に記載の方法。
【請求項１３】
装置であって、プロセッサとメモリとを含み、前記プロセッサが前記メモリに記憶されたプログラムをロードし実行することにより、請求項１乃至１２のいずれか一項に記載の方法を実現する装置。
【請求項１４】
コンピュータプログラムであって、プロセッサによって実行されると、前記プロセッサに、
ブロックサイズを有する現在ブロックを受信させ、
前記現在ブロックのブロックサイズに基づいてグリッドパターンを設定させ、前記グリッドパターンが、前記現在ブロックに隣接する検索領域を検索ブロックに分割し、前記検索ブロックのサイズが、前記現在ブロックのブロックサイズに応じて決定され、
１つ以上の空間的マージ候補を含む候補リストを作成するように、前記検索ブロックでの候補位置から前記１つ以上の空間的マージ候補を検索させる、
コンピュータプログラム。
【請求項１５】
前記コンピュータプログラムは、前記プロセッサに、さらに、
前記現在ブロックのブロックサイズが第１閾値より大きい場合、検索ブロックサイズを前記第１サイズに決定させ、
前記現在ブロックのブロックサイズが前記第１閾値より小さい場合、前記検索ブロックサイズを前記第１サイズより小さい第２サイズに決定させる、
ことを特徴とする請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記コンピュータプログラムは、前記プロセッサに、さらに、
前記現在ブロックの最も近い隣接領域における予め決定された候補位置の第１セットで、第１ラウンドの検索を実行させ、前記予め決定された候補位置の第１セットには、
前記現在ブロックの左下隅にある候補位置（ｄ０）と、
前記現在ブロックの左側に位置し、前記候補位置（ｄ０）の隣にある候補位置（ａ０）と、
前記現在ブロックの右上隅にある候補位置（ｃ０）と、
前記現在ブロックの上端に位置し、候補位置（ｃ０）の隣にある候補位置（ｂ０）と、
前記現在ブロックの左上隅にある候補位置（ｅ０）と、が含まれ、
前記現在ブロックから１つの検索ブロックだけ離れており、前記現在ブロックの最も近い隣接領域に隣接する隣接領域における予め決定された候補位置の第２セットで、第２ラウンドの検索を実行させ、前記予め決定された候補位置の第２セットには、
前記候補位置（ｄ０）から左へ、１つの検索ブロックだけ離れた位置にある候補位置（ｄ１）と、
前記候補位置（ａ０）から左へ、１つの検索ブロックだけ離れた位置にある候補位置（ａ１）と、
前記候補位置（ｃ０）から上へ、１つの検索ブロックだけ離れた位置にある候補位置（ｃ１）と、
前記候補位置（ｂ０）から上へ、１つの検索ブロックだけ離れた位置にある候補位置（ｂ１）と、
前記候補位置（ｅ０）の左上方向にし、１つの検索ブロックだけ離れた位置にある候補位置（ｅ１）と、が含まれる、
ことを特徴とする請求項１４又は１５に記載のコンピュータプログラム。
【請求項１７】
前記コンピュータプログラムは、前記プロセッサに、さらに、
前記現在ブロックに直接隣接する検索ブロックから選択された空間的マージ候補のセット以外の１つまたは複数の空間的マージ候補を、前記候補リストにおける時間的マージ候補の後の位置に追加させる、
ことを特徴とする請求項１４乃至１６のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本開示は、２０１８年２月６日に提出された米国仮出願第６２／６２７，１９４号「ビデオ符号化／復号におけるマージを用いたフレーム間予測のための方法および装置」に対する優先権および２０１８年１１月２９日に提出された米国出願第１６／２０５，０５３号「マージモードでのビデオ符号化／復号のための方法および装置」に対する優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００２】
［技術分野］
本開示は、概してビデオ符号化／復号に関連する実施形態を説明する。
【背景技術】
【０００３】
本明細書で提供される背景技術の説明は、本開示のコンテキストを全体的に示すことを目的とする。この背景技術部分および本明細書の各態様において説明された、現在署名されている発明者の作業の程度は、本開示の提出時に先行技術として示されておらず、また、本開示の先行技術として認められていることを明示または暗示していない。
【０００４】
動き補償を有するフレーム間画像予測を使用するビデオ符号化および復号が何十年も知られている。圧縮されていないデジタルビデオは、一連の画像を含むことができ、各画像が、例えば１９２０×１０８０の輝度サンプルおよび関連された色度サンプルの空間的次元を有する。この一連の画像は、例えば１秒間に６０枚の画像または６０ヘルツ（Ｈｚ）の固定または可変の画像レート（非公式にはフレームレートとして知られている）を有することができる。圧縮されていないビデオは、非常に高いビットレート要件がある。例えば、サンプルあたり８ビットの１０８０ｐ６０  ４：２：０のビデオ（６０Ｈｚのフレームレートでの１９２０ｘ１０８０の輝度サンプル解像度）は、１．５Ｇｂｉｔ／ｓの帯域幅に近い必要がある。このようなビデオは、一時間で６００ＧＢ以上の記憶空間を必要とする。
【０００５】
ビデオ符号化および復号の１つの目的は、入力ビデオ信号における冗長情報を圧縮により低減することである。圧縮は、上記の帯域幅または記憶空間に対する要件を低減することを助けることができ、いくつかの場合では、二桁以上程度を低減することができる。無損失性および損失性の圧縮、ならびに両方の組み合わせは、いずれも使用されることができる。無損失性の圧縮とは、元の信号の正確なコピーを圧縮された元の信号から再構築することができる、という技術を指す。損失性の圧縮が使用される場合、再構築された信号は、元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みが十分に小さいので、再構築された信号が予想されるアプリケーションに利用されることができる。ビデオの場合、損失性の圧縮は広く使われている。許容される歪みの量は、アプリケーションに依存し、例えば、あるストリーミングアプリケーションを消費するユーザは、テレビ貢献アプリケーションのユーザより、高い歪みを許容することができる。実現可能な圧縮比は、より高い許可／許容可能な歪みがより高い圧縮比を生成することができる、ということを反映している。
【０００６】
動き補償は、損失性の圧縮技術であってもよく、以前に再構築された画像またはその一部（参照画像）からのサンプルデータのブロックが、動きベクトル（以降、ＭＶと呼ばれる）によって示される方向に空間的にシフトされた後に、新たに再構築された画像または画像部分の予測に使用される技術に関連し得る。いくつかの場合では、参照画像は、現在再構築中の画像と同じであり得る。ＭＶは、ＸおよびＹの２次元、または３次元を有することができ、３番目の次元は、使用中の参照画像の指示である（後者は、間接的に、時間的次元とすることができる）。
【０００７】
いくつかのビデオ圧縮技術では、サンプルデータのある領域に適用可能なＭＶは、他のＭＶから予測されることができ、例えば、再構築中の領域に空間的に隣接しているサンプルデータの別の領域に関連され、かつ、復号順序がそのＭＶの前にある、それらのＭＶから予測されることができる。そうすると、ＭＶを符号化するために必要なデータ量は大幅に低減されることができ、これによって、冗長性は除去され、圧縮性を向上させる。ＭＶ予測は、効果的に機能することができ、これは、例えば、カメラから導出された入力ビデオ信号（自然ビデオとして知られている）を符号化する場合、単一のＭＶが適用可能な領域より大きい領域が類似の方向に移動する統計的可能性があり、従って、いくつかの場合では、隣接する領域のＭＶから導出された類似の動きベクトルを用いて予測を行うことができる、ということからである。その結果、所定の領域のために見出されたＭＶは、周囲のＭＶから予測されたＭＶと類似または同一であり、さらにエントロピー符号化後に、このＭＶを直接に符号化する際に使用されるビット数より少ないビット数で表現されることができる。いくつかの場合では、ＭＶ予測は、元の信号（つまり、サンプルストリーム）からの信号（つまり、ＭＶ）の無損失性の圧縮の例であってもよい。他の場合では、例えばいくつかの周囲のＭＶから予測因子を計算する際に生じる丸め込み誤差のために、ＭＶ予測自体は損失性である可能性がある。
【０００８】
様々なＭＶ予測メカニズムは、Ｈ．２６５／ＨＥＶＣ（ＩＴＵ−ＴＲＥＣ．Ｈ．２６５、「高効率ビデオ符号化／復号」、２０１６年１２月）に記載されている。Ｈ．２６５によって提供される多くのＭＶ予測メカニズムのうち、ここで説明されるのは、後文で「空間マージ」と呼ばれる技術である。
【０００９】
図１を参照すると、現在ブロック（１０１）は、動き検索プロセス期間にエンコーダによって発見されたサンプルを含み、このサンプルが、空間的にシフトされた同じサイズの前のブロックから予測されることができる。ＭＶを直接に符号化する代わりに、そのＭＶは、１つ以上の参照画像に関連付けられたメタデータから導出されることができ、例えば、Ａ０、Ａ１およびＢ０、Ｂ１、Ｂ２（それぞれ１０２〜１０６に対応）で示される５つの周囲のサンプルのうちのいずれか１つに関連付けられたＭＶを使用して、最新の（復号順序で）参照画像から導出されることができる。Ｈ．２６５では、ＭＶ予測は、隣接ブロックが使用しているのと同一の参照画像からの予測因子を使用することができる。
【発明の概要】
【００１０】
本発明の態様は、ビデオ符号化／復号のための方法および装置を提供する。いくつかの実施形態では、デコーダまたはエンコーダがマージモードを使用してビデオ符号化／復号を実行する方法は、ブロックサイズを有する現在ブロックを受信するステップと、現在ブロックのブロックサイズに基づいてグリッドパターンを設定するステップであって、グリッドパターンが、現在ブロックに隣接する検索領域を検索ブロックに分割し、検索ブロックのサイズが、現在ブロックのブロックサイズに応じて決定される、ステップと、１つ以上の空間的マージ候補を含む候補リストを作成するように、検索ブロックでの候補位置から１つ以上の空間的マージ候補を検索するステップと、を含む。
【００１１】
一実施形態では、前記方法は、現在ブロックのブロックサイズが第１閾値より大きい場合、検索ブロックサイズを第１サイズに決定するステップと、現在ブロックのブロックサイズが第１閾値より小さい場合、検索ブロックサイズを第１サイズより小さい第２サイズに決定するステップと、をさらに含む。
【００１２】
一実施形態では、前記方法は、予め決定された候補位置のセットに対応する検索ブロックのサブセットから、１つまたは複数の空間的マージ候補を検索するステップ、をさらに含む。
【００１３】
一実施形態では、前記方法は、現在ブロックの最も近い隣接領域における予め決定された候補位置の第１セットで、第１ラウンドの検索を実行するステップ、を含む。予め決定された候補位置の第１セットには、現在ブロックの左下隅にある候補位置（ｄ０）と、現在ブロックの左側に位置し、候補位置（ｄ０）の隣にある候補位置（ａ０）と、現在ブロックの右上隅にある候補位置（ｃ０）と、現在ブロックの上端に位置し、候補位置（ｃ０）の隣にある候補位置（ｂ０）と、現在ブロックの左上隅にある候補位置（ｅ０）と、が含まれる。前記方法は、現在ブロックから１つの検索ブロックだけ離れており、現在ブロックの最も近い隣接領域に隣接する隣接領域における予め決定された候補位置の第２セットで、第２ラウンドの検索を実行するステップを、さらに含む。予め決定された候補位置の第２セットには、候補位置（ｄ０）から左へ、１つの検索ブロックだけ離れた位置にある候補位置（ｄ１）と、候補位置（ａ０）から左へ、１つの検索ブロックだけ離れた位置にある候補位置（ａ１）と、候補位置（ｃ０）から上へ、１つの検索ブロックだけ離れた位置にある候補位置（ｃ１）と、候補位置（ｂ０）から上へ、１つの検索ブロックだけ離れた位置にある候補位置（ｂ１）と、候補位置（ｅ０）の左上方向に、１つの検索ブロックだけ離れた位置候補位置（ｅ１）と、が含まれる。
【００１４】
一実施形態では、前記方法は、第１ラウンドの検索の後に、候補リストが完全に満たされているかどうかを決定するステップと、候補リストが完全に満たされていない場合、第２ラウンドの検索を続行するステップと、候補リストが完全に満たされた場合、１つまたは複数の空間的マージ候補を検索し、候補リストを作成する動作を終了するステップと、をさらに含む。
【００１５】
一実施形態では、前記方法は、現在ブロックの最も近い隣接領域から現在ブロックの最も遠い隣接領域まで、複数のラウンドの検索を順次に実行し、各ラウンドの検索をそれぞれの隣接領域で実行するステップであって、複数のラウンドの検索のうちの第１ラウンドを、最も近い隣接領域で実行し、最も近い隣接領域には、以下の予め決定された候補位置、即ち、現在ブロックの左下隅にある第１候補位置（ｄ０）と、現在ブロックの左側に位置し、候補位置（ｄ０）の隣にある第２候補位置（ａ０）と、現在ブロックの右上隅にある第３候補位置（ｃ０）と、前記現在ブロックの上端に位置し、第３候補位置（ｃ０）の隣にある第４候補位置（ｂ０）と、現在ブロックの左上隅にある第５候補位置（ｅ０）と、が含まれる。
【００１６】
前の隣接領域で実行された複数のラウンドの検索のうちの前のラウンドの検索の後、次の隣接領域で複数のラウンドの検索のうちの次のラウンドの検索を実行し、次の隣接領域が、現在ブロックの前の隣接領域から１つの検索ブロックだけ離れた位置にあり、次の隣接領域には、以下の予め所定された候補位置、即ち、前の隣接領域の第１候補位置（ｄＰ）から左へ、１つの検索ブロックだけ離れた位置にある第１候補位置（ｄＮ）と、前の隣接領域の第２候補位置（ａＰ）から左へ、１つの検索ブロックだけ離れた位置にある第２候補位置（ａＮ）と、前の隣接領域の第３候補位置（ｃＰ）から上へ、１つの検索ブロックだけ離れた位置にある第３候補位置（ｃＮ）と、前の隣接領域の第４候補位置（ｂＰ）から上へ、１つの検索ブロックだけ離れた位置にある第４候補位置（ｂＮ）と、前の隣接領域の第５候補位置（ｅＰ）から左上方向へ、１つの検索ブロックだけ離れた位置にある第５候補位置（ｅＮ）と、が含まれる、ことをさらに含む。
【００１７】
一例では、前記方法は、候補リストが完全に満たされているまで、現在ブロックの最も近い隣接領域から現在ブロックの最も遠い隣接領域まで、複数のラウンドの検索を順次に実行するステップ、を含む。
【００１８】
一実施形態では、前記検索領域は、現在ブロックに隣接する第１隣接領域の検索ブロックにおける、高効率ビデオコーディング（ＨＥＶＣ）規格で定義される候補位置の第１セットを含み、１つまたは複数の空間的マージ候補が検索される候補位置は、現在ブロックの左、上および左上にある候補位置での第１セットに対して、それぞれ、左、上および左上の方向へ、現在ブロックに隣接する第１隣接領域から、現在ブロックに隣接しておらず、現在ブロックから１つの検索ブロックだけ離れた位置にある隣接領域まで拡張される。
【００１９】
一実施形態では、前記方法は、現在ブロックに直接隣接する検索ブロックから選択された空間的マージ候補のセット以外の１つまたは複数の空間的マージ候補を、候補リストにおける時間的マージ候補の後の位置に追加するステップ、をさらに含む。
【００２０】
一実施形態では、前記方法は、検索領域を検索することによって得られたマージ候補を、候補リストにリストされた既存のマージ候補と比較するステップと、得られたマージ候補と既存のマージ候補との間の差が枝刈り閾値より大きい場合、得られたマージ候補を候補リストに追加するステップと、得られたマージ候補と既存のマージ候補との間の差が枝刈り閾値より小さい場合、得られたマージ候補を候補リストに追加しないステップと、をさらに含む。
【００２１】
一実施形態では、前記検索ブロックは、正方形および／または非正方形の形状を有する。
【００２２】
一実施形態では、前記方法は、シーケンスレベル、画像レベル、またはスライスレベルで、エンコーダから以下の構文要素：検索領域を定義するために、現在ブロックに対するオフセットを示す第１構文要素であって、検索領域の左上隅サンプルのｘ座標とｙ座標が互いに等しくて、オフセットの値を取る第１構文要素、正方形を有する検索ブロックのサイズを示す第２構文要素、枝刈り閾値を示す第３構文要素、前記検索領域を定義するために、現在ブロックに対するｘ方向のオフセットおよびｙ方向のオフセットを示す第４構文要素および第５構文要素であって、検索領域の左上隅サンプルのｘ座標とｙ座標が互いに等しくなくて、それぞれｘ方向のオフセットの値およびｙ方向のオフセットの値を取る第４構文要素および第５構文要素、または、長方形の形状を有する検索ブロックの幅および高さを示す第６構文要素および第７構文要素、のうちの１つをシグナリングするステップを含む。
【００２３】
本発明の実施形態はまた、命令が記憶されているコンピュータ読み取り可能な非一時的な媒体であって、命令がプロセッサによって実行される場合、マージモードを用いてビデオを符号化／復号する方法をプロセッサに実行させる。
【図面の簡単な説明】
【００２４】
開示される主題の更なる特徴、性質および様々な利点は、以下の詳細な説明および添付の図面からより明らかになり、ここで、
【００２５】
【図１】Ｈ．２６５／ＨＥＶＣによる現在ブロックおよびその周囲の空間マージ候補の概略図である。
【００２６】
【図２】一実施形態による通信システム（２００）の簡略化されたブロック図である。
【００２７】
【図３】一実施形態による通信システム（３００）の簡略化されたブロック図である。
【００２８】
【図４】一実施形態によるデコーダの簡略化されたブロック図である。
【００２９】
【図５】一実施形態によるエンコーダの簡略化されたブロック図である。
【００３０】
【図６】別の実施形態によるエンコーダのブロック図を示す図である。
【００３１】
【図７】別の実施形態によるデコーダのブロック図を示す図である。
【００３２】
【図８】ＨＥＶＣで定義されたマージモード候補位置を示す図である。
【００３３】
【図９】マージ候補リスト構成の例示的なスキームを示す図である。
【００３４】
【図１０】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【図１１】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【図１２】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【図１３】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【図１４】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【図１５】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【図１６】本開示の実施形態によるマージ候補ブロックを検索する方法の例を示す図である。
【００３５】
【図１７】本開示の実施形態によるマージインデックスを符号化するためのコードワードの例を示す図である。
【図１８】本開示の実施形態によるマージインデックスを符号化するためのコードワードの例を示す図である。
【００３６】
【図１９】本開示の実施形態によるマージモード制御パラメータのシグナリングのための構文要素の例を示す図である。
【図２０】本開示の実施形態によるマージモード制御パラメータのシグナリングのための構文要素の例を示す図である。
【図２１】本開示の実施形態によるマージモード制御パラメータのシグナリングのための構文要素の例を示す図である。
【図２２】本開示の実施形態によるマージモード制御パラメータのシグナリングのための構文要素の例を示す図である。
【００３７】
【図２３】本発明の実施形態によるマージモードを用いたビデオ符号化／復号のための例示的なプロセスのフローチャートを示す図である。
【００３８】
【図２４】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００３９】
図２は、本開示の実施形態による通信システム（２００）の簡略化されたブロック図である。通信システム（２００）は、例えばネットワーク（２５０）を介して相互に通信することができる複数の端末デバイスを含む。例えば、通信システム（２００）は、ネットワーク（２５０）を介して相互接続された第１ペアの端末デバイス（２１０）と（２２０）を含む。図２の例では、第１ペアの端末デバイス（２１０）と（２２０）は、データの単方向伝送を行う。例えば、端末デバイス（２１０）は、ネットワーク（２５０）を介して他の端末デバイス（２２０）に伝送するために、ビデオデータ（例えば、端末デバイス（２１０）によって捕捉されたビデオ画像ストリーム）を符号化することができる。符号化されたビデオデータは、１つ以上の符号化されたビデオビットストリームの形で伝送されることができる。端末デバイス（２２０）は、ネットワーク（２５０）から、符号化されたビデオデータを受信し、符号化されたビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに基づいてビデオ画像を表示することができる。単方向データ伝送は、メディアサービングアプリケーションなどでは一般的である。
【００４０】
別の例では、通信システム（２００）は、例えばビデオ会議中に発生する可能性がある、符号化されたビデオデータの双方向伝送を実行する第２ペアの端末デバイス（２３０）と（２４０）を含む。データの双方向伝送の場合、一例では、端末デバイス（２３０）と（２４０）の各端末デバイスは、ネットワーク（２５０）を介して端末デバイス（２３０）と（２４０）のうちの他方の端末デバイスに送信するために、ビデオデータ（例えば、端末デバイスによって捕捉されたビデオ画像ストリーム）を符号化することができる。端末デバイス（２３０）と（２４０）の各端末デバイスは、端末デバイス（２３０）と（２４０）のうちの他方の端末デバイスによって送信された、符号化されたビデオデータを受信することもでき、また、符号化されたビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに基づいて、アクセス可能な表示デバイスにビデオ画像を表示することもできる。
【００４１】
図２の例では、端末デバイス（２１０）、（２２０）、（２３０）および（２４０）は、サーバ、パーソナルコンピュータおよびスマートフォンとして示されてもよいが、本開示の原理は、これに限定されていない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤーおよび／または専用のビデオ会議機器を有するアプリケーションを見つける。ネットワーク（２５０）は、端末デバイス（２１０）、（２２０）、（２３０）および（２４０）間で、符号化されたビデオデータを伝送する任意の数のネットワークを表し、有線（ワイヤード）および／または無線の通信ネットワークを含む。通信ネットワーク（２５０）は、回路交換および／またはパケット交換のチャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび／またはインターネットを含む。本開示の目的のために、ネットワーク（２５０）のアーキテクチャおよびトポロジは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない場合がある。
【００４２】
図３は、開示された主題に対するアプリケーションの例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、ＣＤ、ＤＶＤ、メモリスティックなどを含むデジタルメディアへの圧縮されたビデオの記憶、ビデオ会議、デジタルＴＶなどを含む、他のビデオサポートアプリケーションにも同等に適用可能である。
【００４３】
ストリーミングシステムは、捕捉サブシステム（３１３）を含むことができ、この捕捉サブシステムが、例えばデジタルカメラなどのビデオソース（３０１）を含むことができ、例えば圧縮されていないビデオ画像ストリーム（３０２）を作成する。一例では、ビデオ画像ストリーム（３０２）は、デジタルカメラによって撮影されたサンプルを含む。符号化されたビデオデータ（３０４）（または符号化されたビデオビットストリーム）と比較する際に、高いデータボリュームを強調するために太い線で描かれたビデオ画像ストリーム（３０２）は、ビデオソース（３０１）に結合されたビデオエンコーダ（３０３）を含む電子デバイス（３２０）によって処理されることができる。ビデオエンコーダ（３０３）は、以下でより詳細に説明するように、開示された主題の様々な態様を可能にするかまたは実現するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオ画像ストリーム（３０２）と比較する際に、より低いデータボリュームを強調するために細い線で描かれた、符号化されたビデオデータ（３０４）（または符号化されたビデオビットストリーム（３０４））は、将来の使用のためにストリーミングサーバ（３０５）に記憶されることができる。図３のクライアントサブシステム（３０６）および（３０８）などのような１つ以上のストリーミングクライアントサブシステムは、符号化されたビデオデータ（３０４）のコピー（３０７）および（３０９）を検索するために、ストリーミングサーバ（３０５）にアクセスすることができる。クライアントサブシステム（３０６）は、例えば、電子デバイス（３３０）にビデオデコーダ（３１０）を含むことができる。ビデオデコーダ（３１０）は、伝入される、符号化されたビデオデータのコピー（３０７）を復号して、伝出される、ビデオ画像ストリーム（３１１）を生成し、このビデオ画像ストリーム（３１１）が、ディスプレイ（３１２）（例えば、ディスプレイスクリーン）または他のレンダリングデバイス（図示せず）に表示されることができる。一部のストリーミングシステムでは、符号化されたビデオデータ（３０４）、（３０７）および（３０９）（例えば、ビデオビットストリーム）は、特定のビデオ符号化／圧縮規格に従って符号化されることができる。これらの規格の例は、ＩＴＵ−Ｔ推薦Ｈ．２６５を含む。一例では、開発中のビデオ符号化規格は、非公式には次世代ビデオ符号化（ＶＶＣ：Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）と呼ばれる。開示された主題は、ＶＶＣのコンテキストで使用されることができる。
【００４４】
なお、電子デバイス（３２０）および（３３０）は、他のコンポーネント（図示せず）を含むことができる。例えば、電子デバイス（３２０）は、ビデオデコーダ（図示せず）を含むことができ、電子デバイス（３３０）は、同様にビデオエンコーダ（図示せず）を含むことができる。
【００４５】
図４は、本開示の実施形態によるビデオデコーダ（４１０）のブロック図を示す。ビデオデコーダ（４１０）は、電子デバイス（４３０）に含まれることができる。電子デバイス（４３０）は、受信機（４３１）（例えば、受信回路）を含むことができる。ビデオデコーダ（４１０）は、図３の例におけるビデオデコーダ（３１０）の代わりに使用することができる。
【００４６】
受信機（４３１）は、ビデオデコーダ（４１０）によって復号される１つ以上の符号化されたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信することができ、ここで、各符号化されたビデオシーケンスの復号が、他の符号化されたビデオシーケンスから独立されている。符号化されたビデオシーケンスは、チャネル（４０１）から受信されることができ、このチャネルが、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア／ソフトウェアのリンクであってもよい。受信機（４３１）は、それぞれの使用エンティティ（図示せず）に伝送されることができる、例えば符号化されたオーディオデータおよび／または補助データストリームなどのような他のデータとともに、符号化されたビデオデータを受信することができる。受信機（４３１）は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ（４１５）は、受信機（４３１）とエントロピーデコーダ／解析器（パーサ）（４２０）（以降「解析器（４２０）」）との間に結合されることができる。いくつかのアプリケーションでは、バッファメモリ（４１５）は、ビデオデコーダ（４１０）の一部である。他の場合では、バッファメモリ（４１５）は、ビデオデコーダ（４１０）の外部に配置されてもよい（図示せず）。さらに他の場合では、例えばネットワークジッタを防止するために、ビデオデコーダ（４１０）の外部にバッファメモリ（図示せず）があってよく、さらに、例えば再生タイミングを処理するために、ビデオデコーダ（４１０）の内部に別のバッファメモリ（４１５）があってよい。受信機（４３１）が十分な帯域幅および制御可能性を有するストア／フォワードデバイスからまたは等時性同期ネットワーク（ｉｓｏｓｙｎｃｈｒｏｎｏｕｓ  ｎｅｔｗｏｒｋ）からデータを受信する場合、バッファメモリ（４１５）は、必要ではないかまたは小さくてもよい。インターネットなどのようなベストエフォートパケットネットワークで使用するために、バッファメモリ（４１５）は、必要になる場合があり、比較的大きくすることができ、有利には適応性のサイズにすることができ、オペレーティングシステムまたはビデオデコーダ（４１０）の外部の類似要素（図示せず）に少なくとも部分的に実装されることができる。
【００４７】
ビデオデコーダ（４１０）は、符号化されたビデオシーケンスからシンボル（４２１）を再構築するための解析器（４２０）を含むことができる。これらのシンボルのカテゴリには、ビデオデコーダ（４１０）の動作を管理するために使用される情報と、電子デバイス（４３０）の不可欠な部分ではないが、図５に示すように、電子デバイス（４３０）に結合されることができるレンダリングデバイス（４１２）（例えば、ディスプレイスクリーン）などのようなレンダリングデバイスを制御するための潜在的情報とが含まれる。レンダリングデバイスの制御情報は、補足強化情報（ＳＥＩメッセージ）またはビデオユーザビリティ情報（ＶＵＩ）パラメータセットフラグメント（図示せず）の形であってもよい。解析器（４２０）は、受信された、符号化されたビデオシーケンスに対して解析／エントロピー復号を行うことができる。符号化されたビデオシーケンスの符号化／復号は、ビデオ符号化／復号技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度を有するかまたは有しないかの算術符号化などを含む、様々な原理に従うことができる。解析器（４２０）は、グループに対応する少なくとも１つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダにおける画素のサブグループのうちの少なくとも１つのサブグループパラメータのセットを抽出することができる。サブグループは、画像のグループ（ＧＯＰ：Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）、画像、タイル、スライス、マクロブロック、符号化ユニット（ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ）、ブロック、変換ユニット（ＴＵ：Ｔｒａｎｓ  ｆｏｒｍ  Ｕｎｉｔ）、予測ユニット（ＰＵ：Ｐｒｅｃｔｉｏｎ  Ｕｎｉｔ）などを含むことができる。解析器（４２０）は、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を符号化されたビデオシーケンスから抽出することができる。
【００４８】
解析器（４２０）は、シンボル（４２１）を作成するために、バッファメモリ（４１５）から受信されたビデオシーケンスに対してエントロピー復号／解析動作を実行することができる。
【００４９】
シンボル（４２１）の再構築は、符号化されたビデオ画像またはその一部（例えば、フレーム間画像およびフレーム内画像、フレーム間ブロックおよびフレーム内ブロック）のタイプおよび他の要因に応じて、複数の異なるユニットに関連することができる。どのようなユニットに関連するか、およびどのように関連するかは、解析器（４２０）によって、符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御されることができる。解析器（４２０）と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明瞭にするために説明されていない。
【００５０】
既に言及された機能ブロックに加えて、ビデオデコーダ（４１０）は、以下に説明するように、いくつかの機能ユニットに概念的に細分されることができる。商業的制約で動作する実際の実施形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合されることができる。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的な細分は適切である。
【００５１】
第１ユニットは、スケーラ／逆変換ユニット（４５１）である。スケーラ／逆変換ユニット（４５１）は、量子化された変換係数と、どのような変換を使用するかということ、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報とを、解析器（４２０）からシンボル（４２１）として受信する。スケーラ／逆変換ユニット（４５１）は、アグリゲータ（４５５）に入力できるサンプル値を含むブロックを出力することができる。
【００５２】
いくつかの場合では、スケーラ／逆変換ユニット（４５１）の出力サンプルは、フレーム内符号化ブロックに属することができ、即ち、以前に再構築された画像からの予測情報を使用していないが、現在画像の以前に再構築された部分からの予測情報を使用することができるブロックである。このような予測情報は、フレーム内画像予測ユニット（４５２）によって提供されてもよい。いくつかの場合では、フレーム内画像予測ユニット（４５２）は、現在画像バッファ（４５８）から抽出された、周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在画像バッファ（４５８）は、例えば、部分的に再構築された現在画像および／または完全に再構築された現在画像をバッファリングする。アグリゲータ（４５５）は、いくつかの場合では、サンプルごとに基づいて、フレーム内予測ユニット（４５２）によって生成された予測情報を、スケーラ／逆変換ユニッｖト（４５１）によって提供される出力サンプル情報に追加する。
【００５３】
他の場合では、スケーラ／逆変換ユニット（４５１）の出力サンプルは、フレーム間符号化されたブロックおよび潜在的に動き補償されたブロックに属することができる。このような場合、動き補償予測ユニット（４５３）は、参照画像メモリ（４５７）にアクセスして、予測に用いられるサンプルを抽出することができる。抽出されたサンプルは、シンボルに関連するシンボル（４２１）に基づいて動き補償された後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ（４５５）によってスケーラ／逆変換ユニット（４５１）の出力（この場合、残差サンプルまたは残差信号と呼ばれる）に追加されることができる。動き補償予測ユニット（４５３）が予測サンプルを抽出するときの参照画像メモリ（４５７）内のアドレスは、例えば、Ｘ、Ｙ、および参照画像成分を有することができるシンボル（４２１）の形で、動き補償予測ユニット（４５３）に利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるときに、参照画像メモリ（４５７）から抽出されたサンプル値の補間、運動ベクトル予測メカニズムなどを含むことができる。
【００５４】
アグリゲータ（４５５）の出力サンプルは、ループフィルタユニット（４５６）において様々なループフィルタリング技術によって採用されてもよい。ビデオ圧縮技術は、符号化されたビデオシーケンス（符号化されたビデオビットストリームとも呼ばれる）に含まれ、解析器（５２０）からのシンボル（４２１）としてループフィルタユニット（４５６）に利用可能になるパラメータによって制御されるループ内フィルタ技術を含むことができ、また、符号化された画像または符号化されたビデオシーケンスの前の部分（復号順序で）を復号する期間で得られたメタ情報に応答し、および、以前に再構築されてループフィルタリングされたサンプル値に応答することもできる。
【００５５】
ループフィルタユニット（４５６）の出力は、レンダリングデバイス（４１２）に出力することができ、および、将来のフレーム間画像予測で使用するために参照画像メモリ（４５７）に記憶することができるサンプルストリームとすることができる。
【００５６】
特定の符号化された画像は、完全に再構築されると、将来の予測のための参照画像として使用することができる。例えば、現在画像に対応する符号化された画像が完全に再構築され、符号化された画像が（例えば、解析器（４２０）によって）参照画像として識別されると、現在画像バッファ（４５８）は、参照画像メモリ（４５７）の一部になることができ、そして、後続の符号化された画像の再構築を開始する前に、新しい現在画像バッファを再割り当てることができる。
【００５７】
ビデオデコーダ（４１０）は、例えばＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６５などのような規格における所定のビデオ圧縮技術に従って復号動作を実行することができる。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格の文書としてのプロファイルとの両方に従うという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従うことができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、そのプロファイルで使用できる唯一のツールとしていくつかのツールを選択することができる。符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格の階層によって定義された範囲内にあるということもコンプライアンスに必要である。いくつかの場合では、階層は、最大画像サイズ、最大フレームレート、（例えば、毎秒数百万（ｍｅｇａ）個のサンプルを単位として測定された）最大再構築サンプルレート、最大参照画像サイズなどを制限する。階層によって設定された制限は、いくつかの場合では、仮想参照デコーダ（ＨＲＤ：Ｈｙｐｏｔｈｅｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｄｅｃｏｄｅｒ）仕様と、符号化されたビデオシーケンスにおいてシグナルで通知されるＨＲＤバッファ管理のメタデータとによって、さらに制限されることができる。
【００５８】
一実施形態では、受信機（４３１）は、符号化されたビデオとともに付加（冗長）的なデータを受信することができる。付加的なデータは、符号化されたビデオシーケンスの一部として含まれることができる。付加的なデータは、データを適切に復号し、および／または元のビデオデータをより正確に再構築するために、ビデオデコーダ（４１０）によって使用されることができる。付加的なデータは、例えば、時間的、空間的、または信号雑音比（ＳＮＲ：ｓｉｇｎａｌ  ｎｏｉｓｅ  ｒａｔｉｏ）拡張層、冗長スライス、冗長画像、前方誤り訂正符号などのような形式にすることができる。
【００５９】
図５は、本開示の一実施形態によるビデオエンコーダ（５０３）のブロック図を示す。ビデオエンコーダ（５０３）は、電子デバイス（５２０）に含まれる。電子デバイス（５２０）は、送信機（５４０）（例えば、送信回路）を含む。ビデオエンコーダ（５０３）は、図３の例におけるビデオエンコーダ（３０３）の代わりに使用することができる。
【００６０】
ビデオエンコーダ（５０３）は、ビデオエンコーダ（５０３）によって符号化されるビデオ画像を捕捉するビデオソース（５０１）（図５の例における電子デバイス（５２０）の一部ではない）から、ビデオサンプルを受信することができる。別の例では、ビデオソース（５０１）は、電子デバイス（５２０）の一部である。
【００６１】
ビデオソース（５０１）は、ビデオエンコーダ（５０３）によって符号化されたソースビデオシーケンスをデジタルビデオサンプルストリームの形式で提供することができ、前記デジタルビデオサンプルストリームは、任意の適切なビット深度（例えば、８ビット、１０ビット、１２ビット…）、任意の色空間（例えば、ＢＴ．６０１  Ｙ  ＣｒＣＢ、ＲＧＢ…）および任意の適切なサンプリング構造（例えば、Ｙ  ＣｒＣｂ  ４：２：０、Ｙ  ＣｒＣｂ  ４：４：４）を有することができる。メディアサービスシステムでは、ビデオソース（５０１）は、以前に準備されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース（５０１）は、ローカル画像情報をビデオシーケンスとして捕捉するカメラであってもよい。ビデオデータは、順番に見られるときに動きを与える複数の個別の画像として提供されることができる。画像自体は、空間画素アレイとして構成されてもよく、ここで、各画素は、使用中のサンプリング構造、色空間などに応じて、１つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てる。
【００６２】
一実施形態によれば、ビデオエンコーダ（５０３）は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスの画像を、符号化されたビデオシーケンス（５４３）に符号化し圧縮することができる。適切な符号化速度を実施することは、コントローラ（５５０）の１つの機能である。いくつかの実施形態では、コントローラ（５５０）は、以下で説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。該結合は、明瞭にするために図示されていない。コントローラ（５５０）によって設定されたパラメータは、レート制御関連パラメータ（画像スキップ、量子化器、レート歪み最適化技術のλ（ラムダ）値…）、画像サイズ、画像のグループ（ＧＯＰ：ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ）レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ（５５０）は、特定のシステム設計に対して最適化されたビデオエンコーダ（５０３）に関連する他の適切な機能を有するように構成されることができる。
【００６３】
いくつかの実施形態では、ビデオエンコーダ（５０３）は、符号化ループで動作するように構成される。過度に簡単化された説明として、一例では、符号化ループは、ソースコーダ（５３０）（例えば、符号化される入力画像と、参照画像とに基づいて、シンボルストリームなどのようなシンボルを作成することを担当する）と、ビデオエンコーダ（５０３）に埋め込まれた（ローカル）デコーダ（５３３）とを含むことができる。デコーダ（５３３）は、（リモート）デコーダがサンプルデータを作成すると同様の方法でシンボルを再構築してサンプルデータを作成する（開示された主題で考慮されているビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が無損失であるからである）。再構築されたサンプルストリーム（サンプルデータ）は、参照画像メモリ（５３４）に入力される。シンボルストリームの復号により、デコーダの位置（ローカルまたはリモート）に関係なくビット正確な結果が得られるため、参照画像メモリ（５３４）のコンテンツは、ローカルエンコーダとリモートエンコーダの間でもビットで正確に対応する。言い換えれば、エンコーダの予測部分が「見た」参照画像サンプルは、デコーダが復号期間に予測を使用する際に「見た」サンプル値と全く同じである。この参照画像の同期性の基本原理（および、例えばチャネル誤差の原因で同期性が維持されない場合に生じるドリフト）は、いくつかの関連技術でも使用されている。
【００６４】
「ローカル」デコーダ（５３３）の動作は、既に図４に関連して以上で詳細に説明された、ビデオデコーダ（４１０）などのような「リモート」デコーダの動作と同じであってもよい。しかし、図４をさらに簡単に参照すると、シンボルが利用可能であり、かつ、エントロピーコーダ（５４５）および解析器（４２０）によって符号化されたビデオシーケンスへのシンボルの符号化／が無損失でできるため、バッファメモリ（４１５）と解析器（４２０）を含むビデオデコーダ（４１０）のエントロピーデコード部分は、ローカルデコーダ（４３３）で完全に実行できない可能性がある。
【００６５】
ここで分かることは、デコーダに存在する解析／エントロピー復号以外のいかなるデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要がある、ということである。このため、開示された主題は、デコーダ動作に焦点を合わせる。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略されることができる。特定の領域だけで、より詳細な説明が必要であり、以下で提供される。
【００６６】
動作中に、いくつかの実施形態では、ソースコーダ（５３０）は、動き補償予測符号化を実行することができ、前記動き補償予測符号化は、ビデオシーケンスから「参照画像」として指定された１つ以上の以前に符号化された画像を参照して、入力画像を予測的に符号化する。このようにして、符号化エンジン（５３２）は、入力画像の画素ブロックと、入力画像に対する予測参照として選択されることができる参照画像の画素ブロックとの間の差分を符号化する。
【００６７】
ローカルビデオデコーダ（５３３）は、ソースコーダ（５３０）によって生成されたシンボルに基づいて、参照画像として指定されることができる画像の符号化されたビデオデータを復号することができる。符号化エンジン（５３２）の動作は、有利には損失性プロセスであってもよい。符号化されたビデオデータがビデオデコーダ（図５に示されない）で復号された場合、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ（５３３）は、参照画像に対してビデオデコーダによって実行されることができる復号プロセスをコピーして、再構築された参照画像を参照画像キャッシュ（５３４）に記憶することができる。このようにして、ビデオエンコーダ（５０３）は、遠端ビデオデコーダによって得られる（伝送誤差が存在しない）再構築された参照画像と共通のコンテンツを有する再構築された参照画像のコピーを、ローカルに記憶することができる。
【００６８】
予測器（５３５）は、符号化エンジン（５３２）に対して予測検索を実行することができる。すなわち、符号化される新しい画像について、予測器（５３５）は、新しい画像の適切な予測参照として機能するサンプルデータ（候補参照画素ブロックとして）または特定のメタデータ、例えば参照画像動きベクトル、ブロック形状などについて、参照画像メモリ（５３４）を検索することができる。予測器（５３５）は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合では、予測器（５３５）によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ（５３４）に記憶された複数の参照画像から引き出された予測参照を有することができる。
【００６９】
コントローラ（５５０）は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ（５３０）の符号化動作を管理することができる。
【００７０】
上述のすべての機能ユニットの出力は、エントロピーコーダ（５４５）でエントロピー符号化されることができる。エントロピーコーダ（５４５）は、例えばハフマン符号化、可変長符号化、算術符号化などのような当業者に知られている技術に従って、シンボルを無損失で圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【００７１】
送信機（５４０）は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア／ソフトウェアリンクであることができる通信チャネル（５６０）を介した送信に備えるために、エントロピーコーダ（５４５）によって生成された、符号化されたビデオシーケンスをバッファリングすることができる。送信機（５４０）は、ビデオエンコーダ（５０３）からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび／または補助データストリーム（ソースは図示せず）とマージすることができる。
【００７２】
コントローラ（５５０）は、ビデオエンコーダ（５０３）の動作を管理することができる。符号化する期間、コントローラ（５５０）は、各符号化された画像に、特定の符号化された画像タイプを割り当てることができ、これは、それぞれの画像に適用できる符号化技術に影響を与える可能性がある。例えば、画像は、以下の画像タイプのいずれかとして割り当てられることが多い：
【００７３】
フレーム内画像（Ｉ画像）は、シーケンス内の任意の他の画像を予測のソースとして使用せずに、符号化および復号されることができるものであってもよい。いくつかのビデオコーデックは、独立したデコーダリフレッシュ（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ、「ＩＤＲ」）画像などの異なるタイプのフレーム内画像を許容する。当業者は、Ｉ画像の変種とそれらのアプリケーションおよび機能とを理解している。
【００７４】
予測画像（Ｐ画像）は、多くとも１つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して符号化および復号され得るものであってもよい。
【００７５】
双方向予測画像（Ｂ画像）は、多くとも２つの動きベクトルおよび参照インデックスを使用して各ブロックのサンプル値を予測するフレーム内予測またはフレーム間予測を使用して符号化および復号され得るものであってもよい。同様に、複数の予測画像は、単一のブロックの再構築に、２つ以上の参照画像および関連されたメタデータを使用することができる。
【００７６】
ソース画像は、一般的に、複数のサンプルブロック（例えば、それぞれ４×４、８×８、４×８、または１６×１６個のサンプルのブロック）に空間的に細分され、ブロックごとに符号化されることができる。これらのブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の（既に符号化された）ブロックを参照して予測的に符号化されることができる。例えば、Ｉ画像のブロックは、非予測的に符号化されてもよく、またはそれらが同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい（空間予測またはフレーム内予測）。Ｐ画像の画素ブロックは、１つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。Ｂ画像のブロックは、１つまたは２つ前に符号化された参照画像を参照して、空間的予測を介してまたは時間的予測を介して予測的に符号化されてもよい。
【００７７】
ビデオエンコーダ（５０３）は、例えばＩＴＵ―Ｔ  Ｈ．２６５などのような所定のビデオ符号化技術または規格に従って、符号化動作を実行することができる。その動作において、ビデオエンコーダ（５０３）は、入力ビデオシーケンスにおける時間的と空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されるビデオ符号化技術または規格によって指定された構文に従うことができる。
【００７８】
一実施形態では、送信機（５４０）は、符号化されたビデオとともに、付加的なデータを送信することができる。ソースコーダ（５３０）は、そのようなデータを、符号化されたビデオシーケンスの一部として含むことができる。付加的なデータは、時間的／空間的／ＳＮＲ拡張層、冗長画像やスライスなどのような他の形式の冗長データ、補助強化情報（ＳＥＩ）メッセージ、ビジュアルユーザビリティ情報（ＶＵＩ）パラメータセットセグメントなどを含むことができる。
【００７９】
ビデオは、時系列で複数のソース画像（ビデオ画像）として捕捉されることができる。フレーム内画像予測（フレーム内予測と略称されることが多い）は、与えられた画像における空間的相関を利用し、フレーム間画像予測は、画像間の（時間的または他の）相関を利用する。一例では、現在画像と呼ばれる、符号化／復号中の特定の画像がブロックに分割される。現在画像のブロックが、ビデオにおける以前に符号化され、まだバッファリングされている参照画像における参照ブロックと類似している場合、現在画像のブロックは、動きベクトルと呼ばれるベクトルによって符号化されることができる。動きベクトルは、参照画像における参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する３番目の次元を有することができる。
【００８０】
いくつかの実施形態では、双方向予測技術は、フレーム間画像予測に使用されることができる。双方向予測技術によれば、例えば、復号の順で両方とも、ビデオにおける現在画像の前にある（ただし、表示の順でそれぞれ、過去と将来にあるかもしれない）第１参照画像および第２参照画像などのような２つの参照画像が使用される。現在画像におけるブロックは、第１参照画像における第１参照ブロックを指す第１動きベクトルと、第２参照画像における第２参照ブロックを指す第２動きベクトルによって符号化されることができる。ブロックは、第１参照ブロックおよび第２参照ブロックの組み合わせによって予測されることができる。
【００８１】
さらに、符号化効率を向上させるために、マージモード技術は、フレーム間画像予測で使用されることができる。
【００８２】
本開示のいくつかの実施形態によれば、フレーム間画像予測やフレーム内画像予測などのような予測は、ブロックの単位で実行される。例えば、ＨＥＶＣ規格に従って、ビデオ画像のシーケンスにおける画像は、圧縮のために符号化ツリーユニット（ＣＴＵ：ｃｏｄｉｎｇ  ｔｒｅｅ  ｕｎｉｔ）に分割され、画像におけるＣＴＵは同じサイズ、例えば６４×６４画素、３２×３２画素、または１６×１６画素を有する。一般的に、ＣＴＵは、１つの輝度ＣＴＢと２つの色度ＣＴＢである３つの符号化ツリーブロック（ＣＴＢ）を含む。各ＣＴＵは、再帰的に四分木で１つまたは複数の符号化ユニット（ＣＵ）に分割されてもよい。例えば、６４×６４画素のＣＴＵは、１つの６４×６４画素のＣＵ、４つの３２×３２画素のＣＵ、または１６個の１６×１６画素のＣＵに分割されることができる。一例では、各ＣＵは、フレーム間予測タイプまたはフレーム内予測タイプなどのようなＣＵに対する予測タイプを決定するために分析される。ＣＵは、時間的および／または空間的予測可能性に応じて、１つまたは複数の予測ユニット（ＰＵ）に分割される。通常、各ＰＵは、輝度予測ブロック（ＰＢ）と２つの色度ＰＢを含む。一実施形態では、符号化／復号（Ｃｏｄｉｎｇ、エンコーディング／デコーディング）における予測動作は、予測ブロックの単位で実行される。輝度予測ブロックを予測ブロックの例として使用すると、予測ブロックは、８×８画素、１６×１６画素、８×１６画素、１６×８画素などのような画素値（例えば、輝度値）の行列を含む。
【００８３】
図６は、本開示の別の実施形態によるビデオエンコーダ（６０３）の図を示す。ビデオエンコーダ（６０３）は、ビデオ画像シーケンスにおける現在ビデオ画像内のサンプル値の処理ブロック（例えば、予測ブロック）を受信し、処理ブロックを符号化されたビデオシーケンスの一部である符号化された画像に符号化するように構成される。一例では、ビデオエンコーダ（６０３）は、図３の例におけるビデオエンコーダ（３０３）の代わりに使用される。
【００８４】
ＨＥＶＣの例では、ビデオエンコーダ（６０３）は、例えば８×８サンプルの予測ブロックなどのような処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ（６０３）は、例えばレート歪み最適化を使用して、フレーム内モード、フレーム間モード、または双方向予測モードを使用して処理ブロックを符号化するかどうかを決定する。処理ブロックがフレーム内モードで符号化される場合、ビデオエンコーダ（６０３）は、フレーム内予測技術を使用して、処理ブロックを符号化された画像に符号化することができ、また、処理ブロックがフレーム間モードまたは双方向予測モードで符号化される場合、ビデオエンコーダ（６０３）は、それぞれフレーム間予測または双方向予測技術を使用して、処理ブロックを符号化された画像に符号化することができる。特定のビデオ符号化／復号技術では、マージモードは、予測値以外にある符号化された動きベクトル成分の利点を利用しない場合に、動きベクトルが１つ以上の動きベクトル予測値から導出されるフレーム間画像予測サブモードにすることができる。他の特定のビデオ符号化／復号技術では、主題ブロックに適用可能な動きベクトル成分が存在する場合がある。一例では、ビデオエンコーダ（６０３）は、処理ブロックのモードを決定するためのモード決定モジュール（図示せず）などのような他のコンポーネントを含む。
【００８５】
図６の例では、ビデオエンコーダ（６０３）は、図７に示すように一緒に結合された、フレーム間エンコーダ（６３０）と、フレーム内エンコーダ（６２２）と、残差計算器（６２３）と、スイッチ（６２６）と、残差エンコーダ（６２４）と、汎用コントローラ（６２１）と、エントロピーエンコーダ（６２５）とを含む。
【００８６】
フレーム間エンコーダ（６３０）は、現在ブロック（例えば、処理ブロック）のサンプルを受信し、そのブロックを参照画像（例えば、前の画像と後の画像におけるブロック）内の１つ以上の参照ブロックと比較し、フレーム間予測情報（例えば、フレーム間符号化技術による冗長情報説明、動きベクトル、マージモード情報）を生成して、任意の適切な技術を使用して、フレーム間予測情報に基づいてフレーム間予測結果（例えば、予測されたブロック）を計算するように構成される。
【００８７】
フレーム内エンコーダ（６２２）は、現在ブロック（例えば、処理ブロック）のサンプルを受信し、いくつかの場合では、そのブロックを同じ画像で既に符号化されたブロックと比較し、変換後に量子化された係数を生成し、また、いくつかの場合では、フレーム内予測情報（例えば、１つ以上のフレーム内符号化技術によるフレーム内予測方向情報）も生成する。
【００８８】
汎用コントローラ（６２１）は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ（６０３）の他のコンポーネントを制御するように構成される。一例では、汎用コントローラ（６２１）は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ（６２６）に提供する。例えば、モードがフレーム内モードである場合、汎用コントローラ（６２１）は、残差計算器（６２３）によって使用されるフレーム内モード結果を選択するように、スイッチ（６２６）を制御し、フレーム内予測情報を選択して、そのフレーム内予測情報をコードストリームに含めるように、エントロピーエンコーダ（６２５）を制御する。また、モードがフレーム間モードである場合、汎用コントローラ（６２１）は、残差計算器（６２３）によって使用されるフレーム間予測結果を選択するように、スイッチ（６２６）を制御し、フレーム間予測情報を選択して、そのフレーム間予測情報をコードストリームに含めるように、エントロピーエンコーダ（６２５）を制御する。
【００８９】
残差計算器（６２３）は、受信されたブロックとフレーム内エンコーダ（６２２）またはフレーム間エンコーダ（６３０）から選択された予測結果との間の差（残差データ）を計算するように構成される。残差エンコーダ（６２４）は、残差データに基づいて動作して、残差データを符号化することで変換係数を生成するように構成される。一例では、残差エンコーダ（６２４）は、周波数領域で残差データを変換し、変換係数を生成するように構成される。次に、変換係数は量子化処理を受けて、量子化された変換係数が得られる。
【００９０】
エントロピーエンコーダ（６２５）は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ（６２５）は、ＨＥＶＣ規格などのような適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ（６２５）は、汎用制御データ、選択された予測情報（例えば、フレーム内予測情報またはフレーム間予測情報）、残差情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題によれば、フレーム間モードまたは双方向予測モードのマージサブモードでブロックを符号化する場合、残差情報はないということに留意されたい。
【００９１】
図７は、本開示の別の実施形態によるビデオデコーダ（７１０）の図を示す。ビデオデコーダ（７１０）は、符号化されたビデオシーケンスの一部である符号化された画像を受信し、符号化された画像を復号して再構築された画像を生成するように構成される。一例では、ビデオデコーダ（７１０）は、図３の例におけるビデオデコーダ（３１０）の代わりに使用される。
【００９２】
図７の例では、ビデオデコーダ（７１０）は、図７に示されるように一緒に結合された、エントロピーデコーダ（７７１）と、フレーム間デコーダ（７８０）と、残差デコーダ（７７３）と、再構築モジュール（７７４）と、フレーム内デコーダ（７７２）とを含む。
【００９３】
エントロピーデコーダ（７７１）は、符号化された画像から、符号化された画像を構成する構文要素を表す特定のシンボルを再構築するように構成されることができる。このようなシンボルは、例えば、ブロックを符号化するためのモード（例えば、フレーム内モード、フレーム間モード、双方向予測モード、後者の２つのマージサブモードまたは別のサブモード）と、フレーム内デコーダ（７７２）またはフレーム間デコーダ（７８０）による予測に使用される特定のサンプルまたはメタデータをそれぞれ識別できる予測情報（例えば、フレーム内予測情報またはフレーム間予測情報など）と、例えば量子化された変換係数の形式の残差情報などとを含む。一例では、予測モードがフレーム間予測モードまたは双方向予測モードである場合、フレーム間予測情報は、フレーム間デコーダ（７８０）に提供される。そしれ、予測タイプがフレーム内予測タイプである場合、フレーム内予測情報は、フレーム内デコーダ（７７２）に提供される。残差情報は、逆量子化を受けて、残差デコーダ（７７３）に提供されることができる。
【００９４】
フレーム間デコーダ（７８０）は、フレーム間予測情報を受信し、フレーム間予測情報に基づいてフレーム間予測結果を生成するように構成される。
【００９５】
フレーム内デコーダ（７７２）は、フレーム内予測情報を受信し、フレーム内予測情報に基づいて予測結果を生成するように構成される。
【００９６】
残差デコーダ（７７３）は、逆量子化を実行して、逆量子化された変換係数を抽出し、その逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ（７７３）はまた、特定の制御情報（量子化器パラメータ（ＱＰ）を含むように）も必要とする場合があり、その情報は、エントロピーデコーダ（７７１）によって提供される場合がある（これが低ボリューム制御情報のみであるため、データ経路は図示されていない）。
【００９７】
再構築モジュール（７７４）は、空間領域において、残差デコーダ（７７３）による出力としての残差と、（場合によっては、フレーム間予測モジュールまたはフレーム内予測モジュールによる出力としての）予測結果とを組み合わせて、再構築されたブロックを形成するように構成され、再構築されたブロックは、再構築された画像の一部とすることができ、その後、再構築された画像は、再構築されたビデオの一部とすることができる。それは、視覚的品質を改善するために、デブロッキング動作などのような他の適切な動作を実行することができる、ということに留意されたい。
【００９８】
ビデオエンコーダ（３０３）、（５０３）および（６０３）と、ビデオデコーダ（３１０）、（４１０）および（７１０）とは、任意の適切な技術を使用して実現されることができる、ということに留意されたい。一実施形態では、ビデオエンコーダ（３０３）、（５０３）および（６０３）と、ビデオデコーダ（３１０）、（４１０）および（７１０）とは、１つ以上の集積回路を使用して実現されることができる。別の実施形態では、ビデオエンコーダ（３０３）、（５０３）および（６０３）と、ビデオデコーダ（３１０）、（４１０）および（７１０）とは、ソフトウェア命令を実行する１つ以上のプロセッサを使用して実現されることができる。
【００９９】
Ｉ．関連するマージモード技術
Ｉ．１  ＨＥＶＣにおけるマージモード
例えば、画像は、ツリー構造に基づく分割スキームを使用してブロックに分割されることができる。次に、結果として得られたブロックは、フレーム内予測モード、フレーム間予測モード、マージモード、スキップモードなどの異なる処理モードで処理されることができる。現在ブロックと呼ばれる、現在処理されているブロックがマージモードで処理される場合、隣接ブロックは、現在ブロックの空間的または時間的隣接領域から選択されることができる。選択された隣接ブロックからの同じ動きデータセットを共有することにより、現在ブロックは、選択された隣接ブロックとマージされることができる。このマージモード動作は、隣接ブロックのセット上で実行されることができ、これにより、隣接ブロックの領域がマージされ、同じ動きデータセットが共有されることができる。エンコーダからデコーダへの伝送中に、現在ブロックに対して、動きデータのセット全体を伝送するのではなく、選択された隣接ブロックの動きデータを指示するインデックスのみを伝送することができる。このようにして、動き情報の伝送に使用するデータ（ビット）量が削減されることができ、また、符号化／復号効率を向上させることができる。
【０１００】
上記の例では、動きデータを提供する隣接ブロックは、現在ブロックに関して予め定義された候補位置でのセットから選択されることができる。例えば、候補位置は、空間的候補位置および時間的候補位置を含むことができる。各空間的候補位置は、現在ブロックに隣接する空間的隣接ブロックに関連付けられている。各時間的候補位置は、以前に符号化された画像にある現在ブロックと同一位置のブロックである時間的隣接ブロックに関連付けられている。候補位置（候補ブロックと呼ばれる）をオーバーラップする隣接ブロックは、現在ブロックの全ての空間的隣接ブロックと現在ブロックの全ての時間的隣接ブロックのサブセットである。このようにして、マージされるブロックの選択について、隣接ブロックセットの全体ではなく候補ブロックを評価することができる。
【０１０１】
図８は、ＨＥＶＣで定義されたマージモード候補位置を示す。現在ブロック（８１０）は、マージモードで処理される。マージモード処理に対して、候補位置のセット｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｔ０，Ｔ１｝が定義された。具体的には、候補位置｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝は、現在ブロック（８１０）と同じ画像にある候補ブロックの位置を表す空間的候補位置である。これに対して、候補位置｛Ｔ０，Ｔ１｝は、以前に符号化された画像にある候補ブロックの位置を表す時間的候補位置である。示されるように、候補位置Ｔ１は、現在ブロック（８１０）の中心の近くに位置することができる。
【０１０２】
図８では、各候補位置は、例えば、４×４サンプルのサイズを有するサンプルのブロックによって表される。候補位置に対応するこのようなブロックのサイズは、現在ブロック（８１０）を生成するために使用されるツリーに基づく分割スキームに対して定義された、予測ブロック（ＰＢ：ｐｒｅｄｉｃｔｉｏｎ  ｂｌｏｃｋ）（例えば、４ｘ４サンプル）の最小許容サイズ以下であってもよい。このような構成で、候補位置を表すブロックは、常に、単一の隣接ＰＢ内でカバーされることができる。別の例では、サンプル位置（例えば、ブロックＡ内の右下のサンプル、またはブロックＤ内の右上のサンプル）は、候補位置を表すために使用されることができる。
【０１０３】
一例では、図８で定義された候補位置｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｔ０，Ｔ１｝に基づいて、マージモードプロセスを実行して、候補位置｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｔ０，Ｔ１｝からマージ候補を選択することができる。マージモードプロセスでは、候補リスト構成プロセスを実行して、候補リストを作成することができる。候補リストは、予め定義された最大数量Ｃｍのマージ候補を有することができる。候補リストにおける各マージ候補ブロックは、動き補償予測のために使用されることができる動きデータのセットであってもよい。
【０１０４】
マージ候補は、特定の順序に従って候補リストにリストされ得る。例えば、マージ候補がどのように導出されるかに応じて、異なるマージ候補は、異なる選択される確率を有することができる。より高い選択される確率を有するマージ候補は、より低い選択される確率を有するマージ候補の前に配置される。このような順序に基づいて、各マージ候補は、インデックス（マージインデックスと呼ばれる）に関連付けられる。より高い選択される確率を有するマージ候補は、より小さいインデックス値を有し、これは、それぞれのインデックスを符号化するために必要なビットがより少なくなる、ということを意味する。
【０１０５】
一例では、動きパラメータとも呼ばれる動きデータは、１つまたは２つの動きベクトルの水平動きベクトル変位値および垂直動きベクトル変位値と、その１つまたは２つの動きベクトルに関連する１つまたは２つの参照画像インデックスと、オプションとして、どの参照画像リストが各インデックスに関連付けられているかの識別子とを含むことができる。
【０１０６】
一例では、所定の順序に従って、第１数量のマージ候補Ｃ１は、空間的候補位置｛Ａ，Ｂ，Ｃ，Ｄ，Ｅ｝から導出され、第２数量のマージ候補Ｃ２＝Ｃｍ―Ｃ１は、時間的候補位置｛Ｔ０，Ｔ１｝から導出される。候補位置を表すための数字Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｔ０、Ｔ１は、マージ候補を指示するために使用されることもできる。例えば、候補位置Ａから得られたマージ候補はマージ候補Ａと呼ばれる。
【０１０７】
いくつかのシナリオでは、候補位置でのマージ候補が利用できない場合がある。例えば、候補位置での候補ブロックは、フレーム内予測されることができ、または、候補ブロックは、現在ブロック（８１０）を含むスライスまたはタイルの外にあり、または現在ブロック（８１０）と同じ符号化ツリーブロック（ＣＴＢ：ｃｏｄｉｎｇ  ｔｒｅｅ  ｂｌｏｃｋ）行（ｒｏｗ）にない。いくつかのシナリオでは、候補位置でのマージ候補が冗長である場合がある。例えば、現在ブロック（８１０）の同じ隣接ブロックは、２つの候補位置にオーバーラップすることができる。冗長なマージ候補は、候補リストから削除されることができる。候補リストにおける利用可能なマージ候補の総数がマージ候補Ｃの最大数量より小さい場合、付加的なマージ候補を（例えば、予め設定されたルールに従って）生成して候補リストに埋めることができ、これにより、候補リストが固定長に維持されることができる。例えば、付加的なマージ候補は、組み合わせられた双方向予測候補とゼロ運動ベクトル候補を含むことができる。
【０１０８】
候補リストが構築された後、エンコーダでは、候補リストからマージ候補を選択するために評価プロセスを実行することができる。例えば、各マージ候補に対応するレート歪み性能を計算することができ、最適レート歪み性能を有する１つのマージ候補を選択することができる。したがって、現在ブロック（８１０）のために選択されたマージ候補に関連するマージインデックスが決定され、デコーダにシグナルで通知されることができる。
【０１０９】
デコーダでは、現在ブロック（８１０）のマージインデックスを受信することができる。上記と同様の候補リスト構築プロセスを実行して、エンコーダ側と同じ候補リストを生成することができる。いくつかの例では、候補リストが構築された後、受信されたマージインデックスに基づいて、いかなる評価を実行せずに、候補リストからマージ候補を選択することができる。選択されたマージ候補の動きデータは、現在ブロック（８１０）の後続の動き補償予測に使用されることができる。
【０１１０】
スキップモードもＨＥＶＣに導入されている。例えば、スキップモードでは、上述と同様にマージモードを使用して現在ブロックを予測することで、動きデータのセットを決定することができるが、残差が生成されず、変換係数も伝送されない。スキップフラグは、現在ブロックに関連付けられることができる。現在ブロックの関連する動き情報を示すスキップフラグおよびマージインデックスは、ビデオデコーダにシグナルで指示されることができる。例えば、フレーム間画像予測スライスにおける符号化ユニット（ＣＵ：ｃｏｄｉｎｇ  ｕｎｉｔ）の開始位置で、スキップフラグをシグナリングすることができ、暗黙的に以下の情報が含まれ、即ち、このＣＵは１つのＰＵ（２Ｎｘ２Ｎ）のみを含み、マージモードは動きデータを導出するために使用され、残差データはビットストリームに存在しない。デコーダ側では、スキップフラグに基づいて、残差信号を追加することなく、それぞれの現在ブロックを復号するために、マージインデックスに基づいて予測ブロックを決定することができる。したがって、本明細書で開示されたマージモードを用いたビデオ符号化／復号のための様々な方法は、スキップモードと組み合わせて利用され得る。
【０１１１】
Ｉ．２  共同探索モデル７（ＪＥＭ７:Ｊｏｉｎｔ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｍｏｄｅｌ  ７）におけるマージモード
共同探索モデル７（ＪＥＭ  ７）は、共同ビデオ探索チーム（ＪＶＥＴ：Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｌｏｒａｔｉｏｎ  Ｔｅａｍ）によって開発されたテストモデルソフトウェアである。ＪＥＭ７では、サブＣＵモードとサブＣＵマージ候補が導入されている。サブＣＵモードには、代替の時間的動きベクトル予測（ＡＴＭＶＰ：ａｌｔｅｒｎａｔｉｖｅ  ｔｅｍｐｏｒａｌ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｔｉｏｎ）モードと、空間―時間的動きベクトル予測（ＳＴＭＶＰ：ｓｐａａｔｉａｌ−ｔｅｍｐｏｒａｌ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｔｉｏｎ）モードとが含まれる。サブＣＵモードは、付加的なマージ候補を取得するために有効になる。付加的な構文要素は、サブＣＵモードをシグナルで通知するために使用されない。２つの付加的なサブＣＵマージ候補（ＡＴＭＶＰ候補およびＳＴＭＶＰ候補）を導出して各ＣＵのマージ候補リストに追加することで、ＡＴＭＶＰモードおよびＳＴＭＶＰモードを表すことができる。ＨＥＶＣの候補リストと比較して、シーケンスパラメータセットがＡＴＭＶＰおよびＳＴＭＶＰが有効になるということを示す場合、最大７つのマージ候補が使用される。
【０１１２】
付加的なマージ候補（ＡＴＭＶＰおよびＳＴＭＶＰ）の符号化ロジックは、ＨＥＶＣにおけるマージ候補の符号化ロジックに類似している。例えば、ＰスライスまたはＢスライスにおける各ＣＵについて、２つの付加的なサブＣＵマージ候補は、二回の付加的な、レート歪み性能に基づくチェックを必要とする。一つの例では、マージ候補は、次の順序、即ち、空間マージ候補（例えば、候補Ａ、Ｂ、Ｃ、Ｄ）、サブＣＵマージ候補（例えば、候補ＡＴＭＶＰ、およびＳＴＭＶＰ）、候補Ｅ（リストにおけるマージ候補が６つ未満である場合）、時間的マージ候補（ＴＭＶＰ）、組み合わせられた双方向予測候補とゼロ動きベクトル候補の順序に従って、候補リストに挿入または追加される。一つの例では、候補リストの長さ（例えば、７）が与えられ、より高い優先度を有する利用可能なマージ候補が上記の順序に基づいて候補リストを完全に満たせない場合、より低い優先度を有するマージ候補を使用して候補リストを埋めることができる。
【０１１３】
ＪＥＭでは、マージインデックスのすべてのビン（ｂｉｎ）は、コンテキストに基づく適応２値算術符号化（ＣＡＢＡＣ：Ｃｏｎｔｅｃｔ−Ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）によってコンテキスト符号化される。ＨＥＶＣでは、最初のビンのみがコンテキスト符号化され、また、残りのビンがコンテキストバイパス符号化される。ＪＥＭでは、マージ候補の最大数量は７である。ＪＥＭ７の説明は、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１の共同ビデオ探索チーム（ＪＶＥＴ）が２０１７年７月１３日〜２１日にイタリア・トリノで開催された第７回の会議で提案した共同探索テストモデル７（ＪＥＭ７）のアルゴリズム記述に提供されている。
【０１１４】
Ｉ．３．マージ候補リスト構築のための例示的なスキーム
図９は、マージ候補リスト構成のための例示的なスキームを示す。この例は、Ｊｉｎｇｎｉｎｇ  Ｈａｎ、Ｙａｏｗｕ  ＸｕおよびＪａｍｅｓ  Ｂａｎｋｏｓｋｉが２０１６年９月にＩＣＩＰで提出した「“Ａ  ｄｙｎａｍｉｃ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒｅｆｅｒｅｎｃｉｎｇ  ｓｃｈｅｍｅ  ｆｏｒ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”、ビデオ符号化／復号のための動的動きベクトル参照スキーム」に記載されている。このスキームは、８×８のサンプルブロックステップサイズで、以前に符号化されたブロックから候補動きベクトルを検索する。このスキームは、最も近い空間的隣接するもの、つまり、直近の上の行、左の列、右上の隅をカテゴリ１として定義し、外側の領域（現在ブロックの境界から最大３つの８×８ブロックが離れている）と、以前に符号化された画像における同一位置のブロックとをカテゴリ２として定義し、異なる参照画像から予測された隣接ブロックまたはフレーム内符号化された隣接ブロックをリストから削除する。その後、残りの参照ブロックには、それぞれ重みが割り当てられる。重みは、現在ブロックまでの距離に関連する。
【０１１５】
ＩＩ．マージ候補リストの構築の例
ＩＩ．１．現在ブロックにすぐ隣接していない検索ブロックを含む検索領域からマージ候補を取得する
ＩＩ．１．１．第１例
図１０は、マージ候補を検索する第１例を示す。この例では、現在ブロック（１００１）に隣接する検索領域（１００２）からマージ候補を検索することができる。この検索領域には、現在ブロック（１００１）の上部または左側にすぐ隣接していない検索ブロック（１０２０）と、検索ブロック（１０２１〜１０２３）のような、現在ブロック（１００１）のすぐ隣のブロックである検索ブロック（１０２０）とが含まれる。言い換えれば、検索ブロック（１０２０）のサブセットは、現在ブロック（１００１）から遠く離れた位置（距離が１つの検索ブロックである）にあることができる。ＨＥＶＣにおける候補位置規定と比較して、検索領域（１００２）は、現在ブロック（１１０１）にすぐ隣接する隣接領域から現在ブロック（１１０１）から遠く離れた隣接領域に拡張される。このようにして、拡張された検索領域（１１０２）からより多くのマージ候補を取得することができる。よりよいマージ候補を取得する確率を増加させることができる。
【０１１６】
示されるように、検索領域（１００２）は、正方形または長方形であってもよく、ここで、現在ブロック（１００１）は、検索領域（１００２）の右下隅にある。下向きを指すｙ軸と右向きを指すｘ軸とを有する座標系を採用して検索領域を定義することができる。例えば、現在ブロック（１００１）の左上隅（サンプル）の座標は（０，０）に設定される。検索領域（１００２）の左上隅サンプル（１００４）の座標ペア（例えば、（−Ｏｆｆｓｅｔ＿ｘ，−Ｏｆｆｓｅｔ＿ｙ））を利用して検索領域（１００２）を指示することができる。
【０１１７】
検索領域（１００２）は、グリッドパターン（１００３）に従って検索ブロック（１０２０）に分割されることができる。グリッドパターン（１００３）は、異なる実施例では異なり得る。同様に、各検索ブロック（１０２０）のサイズおよび形状は、異なる実施例では異なり得る。例えば、各検索ブロック（１０２０）は、形状が正方形または長方形であり得る。例えば、正方形のブロックは、Ｋ×Ｋのサイズを有することができ、ここで、Ｋは、４、８、１６などの整数であり得る。
【０１１８】
各検索ブロック（１０２０）は、マージ候補が得られる候補位置を表すことができる。例えば、それぞれの検索ブロック内のサンプルに対応する位置は、それぞれの動きデータを得るための候補位置として使用されることができる。一例では、それぞれの検索ブロック内の特定の候補位置は、エンコーダ側とデコーダ側で共通の理解を確立できるように予め定義されている。例えば、候補位置は、それぞれの検索ブロック内の左上隅のサンプル、右下隅のサンプル、または中心のサンプルの位置に配置されることができる。図１０の例に示されるように、ＨＥＶＣで定義されるように、３つの検索ブロック１０２１〜１０２３は、候補位置Ｂ、ＥおよびＡにオーバーラップする。
【０１１９】
マージ候補は、特定の順序に従って検索ブロック（１０２０）から検索されることができる。１つの方法では、検索ブロックの検索は、（−Ｏｆｆｓｅｔ＿ｘ，−Ｏｆｆｓｅｔ＿ｙ）から現在ブロック（１００１）のエッジまで実行されることができる。エンコーダまたはデコーダは、（−Ｏｆｆｓｅｔ＿ｘ，−Ｏｆｆｓｅｔ＿ｙ）から現在ブロック（１００１）のエッジまで検索を行い、各Ｋ×Ｋのブロックをスキャンしてマージ候補ブロックを取得することができる。マージ候補がその位置（検索ブロック）で利用可能である場合、そのマージ候補はマージ候補リストに挿入されることができる。マージ候補がその位置で利用できない場合、その検索ブロックは挿入操作なしでスキップされる。
【０１２０】
ＩＩ．１．２．第２例
図１１は、マージ候補を検索する別の例を示す。示されるように、検索領域（１１０２）は、図１０の例と同様に、現在ブロック（１１０１）の隣接領域で定義される。しかし、検索領域（１１０２）の下端または右端は、現在ブロック（１１０１）の下端または右端に揃えられていない。したがって、位置（１１０４）での第１ペアの座標（−Ｏｆｆｓｅｔ＿ｘ，−Ｏｆｆｓｅｔ＿ｙ）に加えて、位置（１１０５）での第２ペアの座標（Ｅｄｇｅ１＿ｘ，Ｅｄｇｅ１＿ｙ）と位置（１１０６）での第３ペアの座標（Ｅｄｇｅ２＿ｘ，Ｅｄｇｅ２＿ｙ）は、検索領域（１１０２）を定義するために使用される。
【０１２１】
ＩＩ．１．３．第３例
図１２は、マージ候補を検索する別の例を示す。示されるように、検索領域（１２０２）は、図１１の例と同様に、現在ブロック（１２０１）の隣接領域で定義される。しかし、検索領域（１２０１）は、上部領域（１２３１）、左上領域（１２３２）および左側領域（１２３３）の３つのサブ領域に分割される。具体的には、上部領域と左上領域は、現在ブロック（１２０１）の左端に揃えられて、かつ、位置（１２０７）での座標（０，−Ｏｆｆｓｅｔ＿ｙ）と交差している線によって区切られる。左側領域と左上領域は、現在ブロック（１２０１）の上端に揃えられて、かつ、位置（１２０８）での座標（−Ｏｆｆｓｅｔ＿ｘ，０）と交差している線によって区切られる。
【０１２２】
上記のサブ領域分割に基づいて、異なる検索順序を採用することができる。例えば、マージ候補の検索は、次の順序のいずれかで実行されることができ、即ち、（１）上部領域、左側領域、左上領域、（２）上部領域、左上領域、左側領域、（３）左側領域、上部領域、左上領域、（４）左側領域、左上領域、上部領域、（５）左上領域、上部領域、左側領域、また（６）左上領域、左側領域、上部領域。
【０１２３】
各サブ領域内では、検索ブロックは同様に、左列から右列へかつ一番上の行から一番下の行へ、一番下の行から一番上の行へかつ右列から左列へ、および他の適切な順序のような様々な順序で検索されることができる。また、検索順序は、異なるサブ領域によって異なる場合がある。例えば、検索は、現在ブロック（１２０１）の近くの検索ブロックから開始し、各サブ領域での現在ブロック（１２０１）から遠く離れた検索ブロックに進むことができる。あるいは、検索は、現在ブロック（１２０１）から遠く離れた検索ブロックから開始し、各サブ領域での現在ブロック（１２０１）の近くの検索ブロックに進むことができる。
【０１２４】
ＩＩ．１．４．第４例
図１３は、マージ候補を検索する別の例を示す。示されるように、現在ブロック（１３０１）に隣接する検索領域（１３０２）は、図１１の例と同様に、現在ブロック（１３０１）の隣接領域で定義される。しかし、図１１の例とは異なり、検索領域（１３０２）は、現在ブロック（１３０１）から離れてシフトされる。例えば、ギャップ（１３４１）は、現在ブロック（１３０１）の上端、左側、または両方で、検索領域（１３０２）と現在ブロック（１３０１）との間に存在し得る。
【０１２５】
ＩＩ．１．５．第５例
図１４は、マージ候補を検索する別の例を示す。示されるように、現在ブロック（１４０１）に隣接する検索領域（１４０２）は、図１２の例と同様に、現在ブロック（１４０１）の隣接領域で定義される。しかし、図１２の例とは異なり、検索領域（１４０２）は、現在ブロック（１４０１）から離れてシフトされる。例えば、ギャップ（１４４１）は、現在ブロック（１４０１）の上端、左側、または両方で、検索領域（１４０２）と現在ブロック（１４０１）との間に存在し得る。
【０１２６】
ＩＩ．１．６．第６例
別の例では、マージされた候補の検索は、マージ候補リストが完全に満たされるまで、２ラウンドで実行されることができる。例えば、第１グリッドパターンは、第１ラウンドで使用され、２ｋ×２ｋのサイズを有する（第１グリッドパターンから得られた検索ブロックが２ｋ×２ｋのサイズを有することを意味する）。現在ブロックに隣接する第１検索領域は、第１グリッドパターンを使用して、第１検索ブロックに分割される。第２グリッドパターンは、第２ラウンドで使用される。第２グリッドパターンは、第１グリッドパターンと同様にすることができる。しかし、第２グリッドパターンに対応する第２検索領域は、第１検索領域の位置から離れてシフトされ、例えば、現在ブロックに対してＫ×Ｋのブロックだけ左上方向にシフトされる。検索の第１ラウンドおよび第２ラウンドは、それぞれ第１検索領域および第２検索領域で連続して実行されることができる。この２ラウンドの検索により、それぞれの検索ブロックに対応する候補位置の密度を高めることができる。
【０１２７】
ＩＩ．１．７．第７例
図１５は、マージ候補を検索する別の方法を示す。示されるように、現在ブロック（１５０１）に隣接する検索領域（１５０２）は定義される。様々な例では、検索領域（１５０２）は、現在ブロック（１５０１）と接触してもよく、または、現在ブロック（１５０１）から離れてシフトしてもよい。検索パターンは、検索領域（１５０２）の検索ブロックを検索するために定義される。この検索パターンは、矢印（１５４３〜１５４５）によって示される複数のストリップ（１５４３〜１５４５）を含むことができる。示されるように、各ストリップは、現在ブロック（１５０１）を囲むＬ字状を有する。異なる例では、各Ｌ字状のストリップのブロックのサブセットまたはすべてのブロックを検索することができる。
【０１２８】
一つの例では、Ｌ字状のストリップ（１５４３〜１５４５）は、図１５に示されるように、左下から右上へ、そして最も近い隣接領域から最も遠い隣接領域への順序で検索されることができる。検索ブロックと交差している矢印（１５４３〜１５４５）は、各ストリップでの走査方向を表している。
【０１２９】
別の例では、Ｌ字状のストリップ（１５４３〜１５４５）は、右上から左下へ、そして最も近い隣接領域から最も遠い隣接領域への順序で検索されることができる。
【０１３０】
別の例では、Ｌ字状のストリップ（１５４３〜１５４５）は、左下から右上へ、そして最も遠い隣接領域から最も近い隣接領域への順序で検索されることができる。
【０１３１】
別の例では、Ｌ字状のストリップ（１５４３〜１５４５）は、右上から左下へ、そして最も遠い隣接領域から最も近い隣接領域への順序で検索されることができる。
【０１３２】
ＩＩ．１．８．第８例
図１６は、マージ候補を検索する別の例を示す。図１６に示される検索方法は、ＪＶＥＴおよびＨＥＶＣによって指定された方法への拡張であってもよい。示されるように、現在ブロック（１６０１）に隣接する検索領域（１６０２）は定義され、例えば、現在ブロック（１６０１）の左上隅のサンプル（０，０）に対する３つのペアの座標（−Ｏｆｆｓｅｔ＿ｘ，−Ｏｆｆｓｅｔ＿ｙ）、（Ｅｄｇｅ１＿ｘ，Ｅｄｇｅ１＿ｙ）および（Ｅｄｇｅ２＿ｘ，Ｅｄｇｅ２＿ｙ）で定義される。検索領域（１６０２）は、現在ブロック（１６０１）に直接隣接することができる。検索領域（１６０２）は、グリッドパターン（１６０３）を使用して検索ブロックに分割される。結果として得られる検索ブロックは、正方形または長方形の形状を有する場合がある。
【０１３３】
ＨＥＶＣまたはＪＥＭ７では、空間的マージ候補は、図１６に示すように、検索ブロックＡ０、Ｂ０、Ｃ０、Ｄ０およびＥ０の第１セット内の候補位置Ａ〜Ｅの第１セットで検索されることができる。拡張によって、付加的な候補位置セットは導入され、現在ブロック（１６０１）の直接隣接領域から拡張された検索領域（１６０２）をカバーすることができる。具体的には、検索領域（１６０２）における候補位置は、現在ブロック（１６０１）の左側、上部および左上にある候補位置Ａ〜Ｅの第１セットに対して、左方向、上方向、左上方向に、それぞれ、現在ブロック（１６０２）に隣接している第１隣接領域（Ａ０〜Ｃ０を含む）から、現在ブロック（１６０２）に隣接しておらず、現在ブロック（１６０２）から１つの検索ブロックだけ離れた隣接領域（Ａ１〜Ｃ１およびＡ２〜Ｃ２を含む）まで拡張される。候補位置の付加的なセットの中で、候補位置の第２セットは、検索ブロックＡ１、Ｂ１、Ｃ１、Ｄ１およびＥ１の第２セット内にあることができ、候補位置の第３セットは、検索ブロックＡ２、Ｂ２、Ｃ２、Ｄ２およびＥ２の第３セット内にあることができる。候補位置（または検索ブロック）の２つの付加的なセットが図１６に示されているが、検索領域（１６０２）およびグリッドパターン（１６０３）の定義に応じて、他の例では、候補位置（または検索ブロック）の３つ以上の付加的なセットを使用することができる。
【０１３４】
示されるように、検索ブロックの第１セットにおいて、検索ブロック（Ｄ０）は、現在ブロック（１６０１）の左下隅にある。検索ブロック（Ａ０）は、現在ブロックの左側にあり、かつ、検索ブロック（Ｄ０）に隣接する。検索ブロック（Ｃ０）は、現在ブロックの右上隅にある。検索ブロック（Ｂ０）は、現在ブロックの上端にあり、かつ、検索ブロック（Ｃ０）に隣接する。検索ブロック（Ｅ０）は、現在ブロックの左上隅にある。
【０１３５】
示されるように、検索ブロックの第２セットにおいて、検索ブロック（Ｄ１）は検索ブロック（Ｄ０）の左側に隣接する。検索ブロック（Ａ１）は、検索ブロック（Ａ０）の左側に隣接する。検索ブロック（Ｃ１）は、検索ブロック（Ｃ０）の上端に隣接する。検索ブロック（Ｂ１）は、検索ブロック（Ｂ０）の上端に隣接する。検索ブロック（Ｅ１）は、検索ブロック（Ｅ０）の左上隅にある。
【０１３６】
各検索ブロックは、Ｗ×Ｈ個のサンプルのサイズを有することができる。検索ブロックを検索する場合、検索ブロック内のある位置でのサンプルの位置は、動きデータを取得するための候補位置として使用されることができる。サンプルの位置は、例えば、左上隅のサンプル、右下隅のサンプル、それぞれの検索ブロックの中心でのサンプルなどであってもよい。
【０１３７】
一例として、図１６に示されるように、候補位置Ａ〜Ｅは、４×４個のサンプルのサイズの小さいブロックによって表される。他の検索される検索ブロックＡ０〜Ｅ０、Ａ１〜Ｅ１およびＡ２〜Ｅ２での候補位置は、同様に、Ａ（ｉ，ｊ）、Ｂ（ｉ，ｊ）、Ｃ（ｉ，ｊ）、Ｄ（ｉ，ｊ）およびｅ（ｉ，ｊ）で示される小さいブロックによって表されることもでき、ここで、ｉおよびｊは、小さいブロック内のサンプルに対応する座標である。
【０１３８】
上記で定義された検索領域（１６０２）、および指定された検索ブロックまたは候補位置に基づいて、様々なスキャン（検索）順序は、マージ候補を検索するために使用されることができる。一つの例では、スキャン順序は、最も近い隣接領域から最も遠い隣接領域までであることができる。例えば、まず、検索ブロックＡ０〜Ｅ０を検索し、その後、検索ブロックＡ１〜Ｅ１を検索し、さらに、Ａ２〜Ｅ２を検索する。一つの例では、スキャン順序は、上記の例の逆にすることができる。また、異なる例では、各検索ブロックＡ０〜Ｅ０、Ａ１〜Ｅ１、Ａ２〜Ｅ２のセット内のスキャン順序は、異なる例によって異なる場合がある。例えば、スキャン順序は、Ａ（ｉ，ｊ）、Ｂ（ｉ，ｊ）、Ｃ（ｉ，ｊ）、Ｄ（ｉ，ｊ）、Ｅ（ｉ，ｊ）、または、Ａ（ｉ，ｊ）、Ｄ（ｉ，ｊ）、Ｂ（ｉ，ｊ）、Ｃ（ｉ，ｊ）、Ｅ（ｉ，ｊ）、あるいは他の順序であってもよい。
【０１３９】
一つの例では、検索領域（１６０２）にわたる検索は、複数のラウンドで実行される。例えば、複数のラウンドの検索は、検索ブロックＡ０〜Ｃ０を含む現在ブロック（１６０１）の最も近い隣接領域から、検索ブロックＡ２〜Ｄ２を含む現在ブロック（１６０１）の最も遠い隣接領域まで実行されることができる。
【０１４０】
複数のラウンドの検索は、それぞれの候補リストが完全に満たされるまで継続的に実行されることができる。例えば、前のラウンドの検索が実行された後に、それぞれの候補リストが完全に満たされているかどうかが判定される。候補リストが完全に満たされていない場合、次のラウンドの検索は実行される。そうではない場合、複数のラウンドの検索プロセスは終了する。各ラウンドの検索の期間、マージ候補が利用可能であり、そして、それぞれの候補リストに追加されることが発見された場合、枝刈り（ｐｒｕｎｉｎｇ）動作が実行される。例えば、追加されるマージ候補が（例えば、閾値に基づいて）すでに候補リストにある候補と同じかまたは類似している場合、この追加されるマージ候補は、候補リストに追加されなくてもよい。また、一つの例では、一つのラウンドの検索中に、候補リストが完全に満たされていることが発見された場合には、このラウンドの検索に対応する全てのマージ候補位置が検索される前に、このラウンドの検索を終了することができる。
【０１４１】
一つの例では、上述の、検索領域、検索ブロック、候補位置およびスキャン順序のスキームは、ＴＭＶＰ候補が時間的隣接ブロックで利用可能である場合、それぞれの検索ブロック内の時間的マージ候補（ＴＭＶＰマージ候補）を検索するために適用されることもできる。
【０１４２】
さらに、上記の方法では、Ｏｆｆｓｅｔ＿ｘ、−Ｏｆｆｓｅｔ＿ｙ、Ｅｄｇｅ１＿ｘ、Ｅｄｇｅ１＿ｙ、Ｅｄｇｅ２＿ｘ、Ｅｄｇｅ２＿ｙ座標は、エンコーダ側からデコーダ側にシグナルで通知されることができ、または予め定義されることができる。
【０１４３】
ＩＩ．１．９．動的検索構成を有する検索方法例
いくつかの例では、検索グリッドパターンは、動的に定義されることができる。１つの方法では、検索ブロックサイズは、それぞれの検索ブロック位置に依存する。例えば、検索領域内の異なるサブ領域では、検索ブロックサイズは異なることができる。例えば、図１２の例では、現在ブロック（１２０１）に対する左側のサブ領域（１２３３）は、より大きい検索ブロックサイズｇｒｉｄ＿ｌａｒｇｅを有することができ、上端のサブ領域（１２３１）は、より小さい検索ブロックサイズｇｒｉｄ＿ｓｍａｌｌを有することができる。別の例では、左側のサブ領域（１２３３）は、より小さい検索ブロックサイズｇｒｉｄ＿ｓｍａｌｌを有することができ、上端のサブ領域（１２３１）は、より大きい検索ブロックサイズｇｒｉｄ＿ｌａｒｇｅを有することができる。
【０１４４】
別の方法では、検索ブロックサイズは、現在ブロックサイズに依存する。例えば、現在ブロックサイズが閾値より大きい場合、検索ブロックサイズは、より大きいサイズｇｒｉｄ＿ｌａｒｇｅである。現在ブロックサイズが閾値より小さい場合、検索ブロックサイズはより小さいサイズｇｒｉｄ＿ｓｍａｌｌである。通常、処理中の画像は、画像の局所的な特性に従って適応的に符号化ブロックに分割される。したがって、詳細なテクスチャを有する領域は、より小さいサイズを有するブロックに分割されることができる一方、より少ないテクスチャを有する領域は、より大きいサイズを有するブロックに分割されることができる。結果として、より小さいブロックはより小さいブロックで囲まれる確率が比較的高いである一方、より大きいブロックはより大きいブロックで囲まれる確率が比較的高いである。したがって、現在ブロックに隣接する検索領域が与えられると、より小さい現在ブロックの隣接ブロックからの動きデータは、より大きい現在ブロックの隣接ブロックからの動きデータよりも、比較的高い密度を有することができる。この動きデータ分布プロパティに対応して、現在ブロックサイズに応じて検索ブロックサイズを調整することは、マージ候補検索の効率を向上させる。
【０１４５】
別の実施形態では、現在ブロックサイズが閾値より大きい場合、検索ブロックサイズは、より小さいサイズｇｒｉｄ＿ｓｍａｌｌである。現在ブロックサイズが閾値より小さい場合、検索ブロックサイズは、より大きいサイズｇｒｉｄ＿ｌａｒｇｅである。
【０１４６】
別の方法では、検索ブロックサイズは、現在スライスの時間的レベルに依存する。例えば、現在の時間的レベルがシグナルで表現された閾値または予め定義された閾値より大きい場合、現在ブロックの検索ブロックは、大きい値ｇｒｉｄ＿ｌａｒｇｅを有することができる。現在の時間的レベルが予め定義された閾値またはシグナルで表現された閾値より小さい場合、現在ブロックの検索ブロックは、小さい値ｇｒｉｄ＿ｓｍａｌｌを有することができる。
【０１４７】
別の実施形態では、現在の時間的レベルが閾値より大きい場合、現在ブロックの検索ブロックは、小さい値ｇｒｉｄ＿ｓｍａｌｌを有することができる。現在の時間的レベルが閾値より小さい場合、現在ブロックの検索ブロックは、大きい値ｇｒｉｄ＿ｌａｒｇｅを有することができる。
【０１４８】
別の方法では、検索ブロックサイズは、マージ候補リストに既に含まれている最初のＮ個のマージ候補に依存する。マージ候補の大部分が互いに類似している場合、例えば、マージ候補の動きベクトル間の平均値／最大値の差が閾値より小さい場合、検索ブロックサイズは、大きい値ｇｒｉｄ＿ｌａｒｇｅであってもよい。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，−ｏｆｆｓｅｔ  ｌａｒｇｅ）であってもよい。マージ候補の大部分が類似していない場合、例えば、それらの動きベクトル間の平均値／最大値の差が閾値より大きい場合、検索ブロックサイズは、小さい値ｇｒｉｄ＿ｓｍａｌｌであってもよい。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，−ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。この方法では、既にリストにある候補は、空間的候補Ａ、Ｂ、Ｃ、Ｄ、Ｅおよび時間的候補ＴＭＶＰであってもよく、または空間的候補Ａ、Ｄ、Ｃ、Ｄ、Ｅのみであってもよいし、またはすでにリストにあるすべての候補であってもよい。
【０１４９】
別の方法では、すでにリストにあるマージ候補の動きベクトルの大部分が類似している動きベクトルの値を有する場合、例えば、それらの動きベクトル間の平均値／最大値の差が閾値より小さい場合、検索ブロックサイズは、小さい値ｇｒｉｄ＿ｓｍａｌｌであってもよい。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，  −ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。すでにリストにあるマージ候補の動きベクトルの大部分が互いに類似していない場合、例えば、それらの動きベクトル間の平均値／最大値の差が閾値より大きい場合、検索ブロックサイズは、大きい値ｇｒｉｄ＿ｌａｒｇｅであってもよい。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，  −ｏｆｆｓｅｔ  ｌａｒｇｅ）であってもよい。この方法では、すでにリストにある候補は、空間的候補Ａ、Ｂ、Ｃ、Ｄ、Ｅおよび時間的候補ＴＭＶＰであってもよく、または空間的候補Ａ、Ｄ、Ｃ、Ｄ、Ｅのみであってもよいし、またはすでにリストにあるすべての候補であってもよい。
【０１５０】
別の方法では、検索グリッドパターンで分割された検索ブロックは、非正方形にすることができる。
【０１５１】
上記の方法では、Ｏｆｆｓｅｔ＿ｘとｏｆｆｓｅｔ＿ｙは違ってもよいし、同じでもよい。検索範囲は、正方形または非正方形にすることができる。
【０１５２】
いくつかの例では、（検索領域に対応する）検索範囲は、動的であってもよい。１つの方法では、検索範囲は、検索ブロック位置に依存する。例えば、左側のサブ領域は、より大きい検索範囲ｏｆｆｓｅｔ＿ｌａｒｇｅを有することができ、上端のサブ領域は、より小さい検索範囲ｏｆｆｓｅｔ＿ｓｍａｌｌを有することができる。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，−ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。別の方法では、左側のサブ領域は、より小さい検索範囲ｏｆｆｓｅｔ＿ｓｍａｌｌを有することができ、上端のサブ領域は、より大きい検索ブロックサイズｏｆｆｓｅｔ＿ｌａｒｇｅを有することができる。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，−ｏｆｆｓｅｔ  ｌａｒｇｅ）であってもよい。
【０１５３】
別の方法では、検索範囲は、現在ブロックサイズに依存する。現在ブロックサイズが閾値より大きい場合、検索範囲は、大きいサイズｏｆｆｓｅｔ＿ｌａｒｇｅである。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，−ｏｆｆｓｅｔ＿ｌａｒｇｅ）であってもよい。現在ブロックサイズが閾値より小さい場合、検索範囲は、小さいサイズｏｆｆｓｅｔ＿ｓｍａｌｌである。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，−ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。
【０１５４】
別の実施形態では、現在ブロックサイズが閾値より大きい場合、検索範囲は、より小さいサイズｏｆｆｓｅｔ＿ｓｍａｌｌである。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，−ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。現在ブロックサイズが閾値より小さい場合、検索範囲は、より大きいサイズｏｆｆｓｅｔ＿ｌａｒｇｅである。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，−ｏｆｆｓｅｔ  ｌａｒｇｅ）であってよい。
【０１５５】
別の方法では、検索範囲は、現在の時間的レベルに依存する。現在の時間的レベルが閾値より大きい場合、現在ブロックの検索範囲は、大きい値ｏｆｆｓｅｔ＿ｌａｒｇｅを有することができる。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，−ｏｆｆｓｅｔ  ｌａｒｇｅ）であってもよい。現在の時間的レベルが閾値より小さい場合、現在ブロックの検索範囲は、小さい値ｏｆｆｓｅｔ＿ｓｍａｌｌを有することができる。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，−ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。
【０１５６】
別の実施形態では、現在の時間的レベルが閾値より大きい場合、現在ブロックの検索範囲は、小さい値ｏｆｆｓｅｔ＿ｓｍａｌｌを有することができる。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｓｍａｌｌ，−ｏｆｆｓｅｔ  ｓｍａｌｌ）であってもよい。現在の時間的レベルが閾値より小さい場合、現在ブロックの検索範囲は、大きい値ｏｆｆｓｅｔ＿ｌａｒｇｅを有することができる。検索範囲の左上隅の座標は（−ｏｆｆｓｅｔ＿ｌａｒｇｅ，−ｏｆｆｓｅｔ  ｌａｒｇｅ）であってもよい。
【０１５７】
別の方法では、すでに候補リストにあるマージ候補はソートされることができる。そして、エンコーダおよびデコーダは、既存のマージ候補に従って、ＭＶ候補の範囲の境界を見つけることができる。一例では、ＭＶｍｉｎ−ｘ、ＭＶｍｉｎ−ｙ、Ｍｖｍａｘ−ｘおよびＭＶｍａｘ−ｙは、以下のように定義される。即ち、
ＭＶｍｉｎ−ｘ＝ｍｉｎ（ＭＶＡｘ，ＭＶＢｘ，ＭＶＣｘ，ＭＶＤｘ，ＭＶＥｘ）、
ＭＶｍｉｎ−ｙ＝ｍｉｎ（ＭＶＡｙ，ＭＶＢｙ，ＭＶＣｙ，ＭＶＤｙ，ＭＶＥｙ）、
ＭＶｍａｘ−ｘ＝ｍａｘ（ＭＶＡｘ，ＭＶＢｘ，ＭＶＣｘ，ＭＶＤｘ，ＭＶＥｘ）および
ＭＶｍａｘ−ｙ＝ｍａｘ（ＭＶＡｙ，ＭＶＢｙ，ＭＶＣｙ，ＭＶＤｙ，ＭＶＥｙ）
ここで、ＭＶＡ、ＭＶＢ、ＭＶＣ、ＭＶＤおよびＭＶＥは、候補位置Ａ、Ｂ、Ｃ、Ｄ、およびＥでスケーリングされた動きベクトル候補であり、スケーリングは、初期参照画像から目標参照画像に動きベクトルをスケールすることであり、目標参照画像は、例えば、現在参照リスト内の、参照インデックス０を有する参照画像とすることができる。スケーリングは、ＴＭＶＰを導出する際に使用される同じスケーリング方法に基づくことができる。そして、ＭＶｍｉｎ−ｘ、ＭＶｍｉｎ−ｙ、ＭＶｍａｘ−ｘおよびＭＶｍａｘ−ｙは、リスト内の既存の候補の範囲の境界として機能する。
【０１５８】
次に、マージ候補のＭＶが分布する座標系において、ＭＶ検索範囲は、リスト内の既存の候補の範囲の境界に基づいて定義される。例えば、水平方向では、ＭＶ検索範囲は、ＭＶｍｉｎ−ｘとＭＶｍａｘ−ｘの間であり、垂直方向では、ＭＶ検索範囲は、ＭＶｍｉｎ−ｙとＭＶｍａｘ−ｙの間である。ＭＶ検索範囲は、異なるサブ領域で同じ大きさまたは異なるサイズを有することができる検索ブロックに分割される。各検索ブロックについては、インデックス番号が割り当てられ、代表的なＭＶが定義される。例えば、代表的なＭＶは、現在検索ブロックの左上隅のベクトル値として定義されることができる。エンコーダは、ＭＶ検索範囲内のすべての検索ブロックのＭＶをチェックして、最適なＭＶを見つけて、関連付けられたインデックスをデコーダにシグナルで通知することができる。インデックスのシグナリングは、マージインデックスのシグナリングと同じにすることができる。
【０１５９】
ＩＩ．２．マージ候補リストにおけるマージ候補の位置
本明細書に開示されたマージ候補検索方法から得られたマージ候補は、例えば、検索領域が候補位置Ａ〜Ｅにオーバーラップする可能性があるため、図８の例で説明したように、候補位置Ａ、Ｂ、Ｃ、ＤおよびＥでのマージ候補を含むことができる。したがって、候補位置Ａ〜Ｅで利用可能なマージ候補以外のマージ候補は、候補位置Ａ〜Ｅでのマージ候補と区別するために、拡張マージ候補と呼ばれ。いくつかの例では、拡張マージ候補は、空間的マージ候補のみを含む。他の例では、拡張マージ候補は、空間的マージ候補に加えて、時間的マージ候補（ＴＭＶＰ）などのような他のタイプのマージ候補を含むことができる。ＨＥＶＣまたはＪＥＭ７で指定されている、拡張マージ候補を既存のマージ候補リストに追加するための様々な順序を以下に説明する。
【０１６０】
一例では、拡張マージ候補は、すべての既存のマージ候補（例えば、空間的マージ候補（Ａ、Ｂ、ＣおよびＤ）、サブＣＵマージ候補（ＡＴＭＶＰ、ＳＴＭＶＰ）、空間的マージ候補（Ｅ）（リスト内のマージ候補が６つ未満である場合）、時間的マージ候補（ＴＭＶＰ）、組み合わせられた双方向予測候補とゼロ動きベクトル候補）の後に、マージ候補リストの末尾に追加されることができる。
【０１６１】
別の例では、それらの拡張されたマージ候補は、空間的マージ候補の後に挿入されることができる。例えば、マージ候補順序は、空間的マージ候補（Ａ、Ｂ、ＣよびＤ）、拡張されたマージ候補、サブＣＵマージ候補（ＡＴＭＶＰ、ＳＴＭＶＰ）、空間的マージ候補（Ｅ）（リスト内のマージ候補が６つ未満である場合）、時間的マージ候補（ＴＭＶＰ）、組み合わせられた双方向予測候補とゼロ動きベクトル候補にすることができる。
【０１６２】
別の例では、それらの拡張されたマージ候補は、時間的マージ候補（ＴＭＶＰ）の後に挿入されることができる。例えば、マージ候補順序は、空間的マージ候補（Ａ、Ｂ、ＣおよびＤ）、サブＣＵマージ候補（ＡＴＭＶＰ、ＳＴＭＶＰ）、空間的マージ候補（Ｅ）（リスト内のマージ候補が６つ未満である場合）、時間的マージ候補（ＴＭＶＰ）、拡張されたマージ候補、組み合わせられた双方向予測候補とゼロ動きベクトル候補にすることができる。
【０１６３】
他の例では、それらの拡張されたマージ候補は、ＴＭＶＰの後に挿入されることができ、また、位置Ｅでのマージ候補が利用可能な場合、常に位置Ｅでのマージ候補が挿入される。例えば、マージ候補順序は、空間的マージ候補（Ａ、Ｂ、ＣおよびＤ）、サブＣＵマージ候補（ＡＴＭＶＰ、ＳＴＭＶＰ）、空間的マージ候補（Ｅ）、時間的マージ候補（ＴＭＶＰ）、拡張されたマージ候補、組み合わせられた双方向予測候補とゼロ動きベクトル候補にすることができる。
【０１６４】
他の例では、それらの拡張マージ候補は、ＳＴＭＶＰの後に挿入されることができる。マージ候補順序は、空間的マージ候補（Ａ、Ｂ、ＣおよびＤ）、サブＣＵマージ候補（ＡＴＭＶＰ、ＳＴＭＶＰ）、拡張されたマージ候補、空間的マージ候補（Ｅ）（リスト内のマージ候補が６つ未満である場合）、時間的マージ候補（ＴＭＶＰ）、組み合わせられた双方向予測候補とゼロ動きベクトル候補にすることができる。
【０１６５】
別の例では、それらの拡張されたマージ候補は、ＡＴＭＶＰの後に挿入されることができる。マージ候補順序は、空間マージ候補（Ａ、Ｂ、ＣおよびＤ）、第１サブＣＵマージ候補（ＡＴＭＶＰ）、拡張されたマージ候補、第２サブＣＵマージ候補（ＳＴＭＶＰ）、空間的マージ候補（Ｅ）（リスト内のマージ候補が６つ未満である場合）、時間的マージ候補（ＴＭＶＰ）、組み合わせられた双方向予測候補とゼロ動きベクトル候補にすることができる。
【０１６６】
拡張されたマージ候補をマージ候補リストに挿入する順序は、多くの種類を有することができることに留意されたい。上記の例は、マージ候補リストを作成する可能性のサブセットにすぎない。拡張されたマージ候補を挿入する他の方法も同様に導出されることができる。
【０１６７】
ＩＩ．３．候補リスト枝刈り
マージ候補を候補リストに追加する場合、枝刈り動作を実行することで、冗長マージ候補を候補リストに追加しないようにするか、または類似のマージ候補をマージ候補リストに追加しないようにすることができる。このようにして、マージ候補リストを作成する場合、より多様なマージ候補を取得することができる。（例えば、レート歪み性能に関して）より良いマージ候補は、そのような候補リストから選択されることができる。
【０１６８】
一つの方法では、枝刈り動作は、無損失性の枝刈り操作であってもよい。それらの拡張されたマージ候補をマージ候補リストに挿入する場合、エンコーダまたはデコーダは、すでにリストにある既存の候補と新しい候補を比較することができ、すでにリストにある既存のマージ候補とは異なる新しいマージ候補をリストに追加することができる。
【０１６９】
他の方法では、枝刈り動作は、損失性の枝刈り動作であってもよい。それらの拡張されたマージ候補をマージ候補リストに挿入する場合、エンコーダまたはデコーダは、すでにリストにある既存の候補と新しい候補を比較する。新しい候補と既存の候補との間の差が閾値より大きい場合、エンコーダまたはデコーダは、新しい候補を候補リストに挿入する。例えば、差は、ベクトル操作に基づく、追加される動きベクトルと、既存の動きベクトルとの間の差の絶対値であってもよい。一つの例では、閾値は、正の整数（例えば、４、８、１２、１６など）であってもよく、シーケンスパラメータセット（ＳＰＳ）レベル、画像パラメータセット（ＰＰＳ）レベル、またはスライスヘッダで、予め定義されることができ、またはシグナルで表現されることができる。ＳＰＳ又はＰＰＳでの詳細な信号は、本発明の後段で説明される。
【０１７０】
マージ候補の動きデータが記憶される場合、それぞれの動きベクトル解像度は、ＨＥＶＣにおける１／４画素精度（ｐｅｌ  ｐｒｅｃｉｓｉｏｎ）または整数画素精度であることができる。ＪＥＭでは、動きベクトル解像度は、付加的な４画素動きベクトル精度を有することができる。拡張されたマージ候補を追加するための枝刈り操作を実行する場合、比較は、１／４画素精度、整数精度、または４画素精度の下にあることができる。
【０１７１】
新しい候補ベクトルを既存の候補ベクトルと比較するための例示的な枝刈りプロセスは、以下のステップを含むことができる。まず、新しいベクトルと既存のベクトルが同じ参照画像インデックスに関連付けられているかどうかは最初に決定される。新しいベクトルと既存のベクトルが同じ参照画像インデックスに関連付けられていない場合は、それらが異なると判断され、新しい候補ベクトルを候補リストに追加することができる。そうでなければ、更なるステップは、新しいベクトルと既存のベクトルとの差を閾値と比較するために実行される。例えば、新しいベクトルと既存のベクトルとの差の大きさを導出して閾値と比較することができる。差分が閾値より大きい場合、新しいベクトルを候補リストに追加することができる。そうでなければ、新しいベクトルは候補リストに追加されない。閾値がゼロに選択された場合、上記の枝刈りプロセスは、無損失性の枝刈りである。閾値がゼロより大きい場合、上記の枝刈りプロセスは、損失性のプロセスである。
【０１７２】
ＩＩＩ．マージモードの符号化／復号およびシグナリング
ＩＩＩ．１．マージインデックスの二値化およびコンテキストモデリング
一つの例では、Ｍ（例えば、Ｍは６である）を超えるマージインデックスは、一元のプレフィックス（ｕｎａｒｙ  ｐｒｅｆｉｘ）で符号化され、残りのビンは、固定長で符号化されることができる。図１７は、最大インデックスが２３である場合のマージインデックスを符号化するためのコードワードの例を示す。示されるように、最初の７つのインデックスは、一元のコードワードで符号化される。残りの１６個のインデックスは、一元のプレフィックスで符号化され、長さが４つのビンである。
【０１７３】
別の例では、図１８に示すように、二値化を変更することができる。１つのビンは、インデックスがＭ（例えば、Ｍは６である）を超えるかどうかを示す。０からＭまでのインデックスの残りのビンは、依然として一元符号化される。Ｍ＋１から最後までのインデックスの残りのビンは、固定長で符号化される。
【０１７４】
別の例では、一元のコードワードは、付加的なインデックス（ｍを超えるインデックス）に拡張されることができる。
【０１７５】
一つの例では、マージインデックスのビンは、コンテキスト符号化されることができる。別の例では、一元の部分はコンテキスト符号化され、固定長の部分は、バイパス符号化される。別の例では、各ビンは、１つのコンテキストを使用する。別の例では、各ビンは、複数のコンテキストを使用することができる。別の例では、いくつかのビンは、１つのコンテキストを共有することができる。
【０１７６】
ＩＩＩ．２．シーケンスパラメータセット（ＳＰＳ：Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）を用いたマージモードのシグナリング
一つの例では、本明細書で説明されたマージモード方式を制御するために、いくつかのシーケンスレベルパラメータが導入される。例えば、拡張されたマージ候補を検索するための検索領域を定義するために、１つ以上のオフセットが指定される。上記の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しい場合、１つの構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔがシグナリングされる。Ｏｆｆｓｅｔ＿ｘまたはＯｆｆｓｅｔ＿ｙの値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。検索ブロックサイズも、ＳＰＳパラメータによって指定される。検索ブロックが正方形である場合、検索ブロックの辺の長さを示す１つの構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄは、シグナリングされる。枝刈り閾値もＳＰＳで指定され、１つの構文要素ｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＳＰＳでシグナリングされる。
【０１７７】
構文表の例が図１９に示されている。示されるように、パラメータｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄおよびｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＳＰＳの最後に含まれる。
【０１７８】
別の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しくない場合、２つの構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｘおよびｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｙは、シグナリングされる。Ｏｆｆｓｅｔ＿ｘまたはＯｆｆｓｅｔ＿ｙの値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。検索ブロックが正方形ではない場合、２つの構文要素、すなわち、検索ブロックの幅を示す構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｗｉｄｔｈと、検索ブロックの高さを示すｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｈｅｉｇｈｔとは、シグナリングされる。枝刈り閾値もＳＰＳで指定される。例えば、１つの構文要素ｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＳＰＳでシグナリングされる。
【０１７９】
例示的な構文表が図２０に示されている。示されるように、パラメータｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｘ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｙ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｗｉｄｔｈ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｈｅｉｇｈｔおよびｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＳＰＳの最後に示される。
【０１８０】
別の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しくない場合、検索ブロックは、正方形にすることもできる。この場合、検索ブロックサイズのための１つの構文要素のみは、シグナリングされる。
【０１８１】
別の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しい場合、検索ブロックは、非正方形にすることができる。
【０１８２】
別の例では、上記の要素は、それらの対数によって、シグナリングされることができる。上記の方法では、Ｏｆｆｓｅｔ＿ｘまたはＯｆｆｓｅｔ＿ｙの値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。検索ブロックサイズは、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。枝刈り閾値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。
【０１８３】
ＩＩＩ．３．画像パラメータセット（ＰＰＳ：Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）を用いたマージモードのシグナリング
いくつかの実施例では、本明細書で説明されたマージモード方式を制御するために、いくつかの画像レベルパラメータが導入される。例えば、拡張されたマージ候補を検索するための検索領域を定義するために、１つ以上のオフセットが指定される。上記の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しいときに、１つの構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔがシグナリングされる。Ｏｆｆｓｅｔ＿ｘまたはＯｆｆｓｅｔ＿ｙの値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。検索ブロックサイズも、ＰＰＳパラメータによって指定される。分割された検索ブロックが正方形である場合、検索ブロックの辺の長さを示す１つの構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄは、シグナリングされる。枝刈り閾値もＰＰＳで指定され、１つの構文要素ｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＰＰＳでシグナリングされる。
【０１８４】
構文表の例が図２１に示されている。示されるように、パラメータｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄおよびｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＰＰＳの最後に含まれる。
【０１８５】
別の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しくない場合、２つの構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｘおよびｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｙは、シグナリングされる。Ｏｆｆｓｅｔ＿ｘまたはＯｆｆｓｅｔ＿ｙの値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。検索ブロックサイズも、ＰＰＳによって指定される。検索ブロックが正方形ではない場合、２つの構文要素、すなわち、検索ブロックの幅を示す構文要素ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｗｉｄｔｈと、検索ブロックの高さを示すｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｈｅｉｇｈｔとは、シグナリングされる。枝刈り閾値もＰＰＳで指定される。例えば、１つの構文要素ｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＰＰＳでシグナリングされる。
【０１８６】
例示的な構文表が図２２に示されている。示されるように、パラメータｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｘ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｏｆｆｓｅｔ＿ｙ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｗｉｄｔｈ、ｍｅｒｇｅ＿ｃａｎｄｉｄａｔｅ＿ｓｅａｒｃｈ＿ｇｒｉｄ＿ｈｅｉｇｈｔおよびｍｅｒｇｅ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄは、ＰＰＳの最後に示される。
【０１８７】
別の例では、Ｏｆｆｓｅｔ＿ｘがＯｆｆｓｅｔ＿ｙに等しくない場合、検索ブロックは、正方形にすることもできる。この場合、検索ブロックサイズのための１つの構文要素のみはシグナリングされる。
【０１８８】
別の例では、上記の要素は、それらの対数によって、シグナリングされることができる。上記の方法では、Ｏｆｆｓｅｔ＿ｘまたはＯｆｆｓｅｔ＿ｙの値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。検索ブロックサイズは、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。枝刈り閾値は、４、８、１６、３２、４８、６４、８０、９６などのような正の整数にすることができる。
【０１８９】
ＩＩＩ．４．スライスレベルマージモードのシグナリング
いくつかの例では、シーケンスレベルまたは画像レベルで導入されたパラメータと同様のパラメータは、スライスレベルでシグナリングされることができる。例えば、スライスレベルパラメータは、スライスヘッダに含まれ、エンコーダ側からデコーダ側にシグナリングされる。スライスレベルのマージモードパラメータの記述は、簡略化のために省略される。
【０１９０】
ＩＶ．マージモードを用いたビデオ符号化／復号の例示的なプロセス
図２３は、本発明の実施形態による、マージモードを用いたビデオ符号化／復号の例示的なプロセス（２３００）を示す。プロセス（２３００）は、エンコーダ側またはデコーダ側で実行されることができる。プロセスでは、マージ候補を検索することは、現在ブロックに直接隣接していない領域と、現在ブロックと接触している領域とをカバーする拡張された検索領域にわたって実行されることができる。このようにして、マージ候補は、現在ブロックに直接隣接する符号化ブロックおよび現在ブロックから離れて分散している符号化ブロックで見つけられることができる。マージ候補の位置が現在ブロックのエッジの近くにあるＨＥＶＣまたはＪＥＭ７と比較して、拡張された検索領域は、より多くのマージ候補の選択肢を提供することができる。したがって、潜在的により良いマージ候補は、それぞれの候補リストから決定されることができる。プロセス（２３００）は、Ｓ２３０１から開始して、Ｓ２３１０へ進むことができる。
【０１９１】
Ｓ２３１０では、ブロックサイズを有する現在ブロックを受信する。処理中の画像は、ツリー構造に基づく分割スキームに従って、符号化／復号ブロックに分割されることができる。符号化／復号ブロックの大きさは、異なる領域の局所特性（テクスチャ）に応じて適応的に調整されることができる。したがって、画像の異なる位置で、符号化／復号ブロックは、異なるサイズを有することができる。
【０１９２】
Ｓ２３２０では、現在ブロックのブロックサイズに応じて、検索ブロックサイズを決定する。例えば、ブロックサイズが大きい場合は、検索ブロックサイズを大きくすることができ、ブロックサイズが小さい場合は、検索ブロックサイズを小さくすることができる。例えば、検索ブロックサイズの閾値は、どの検索ブロックサイズが使用されるかを決定するために使用されることができる。検索ブロックサイズを適応的に調整することは、マージ候補の検索効率を向上させることができる。例えば、現在ブロックがより詳細なテクスチャを含む領域内にある場合、現在ブロックは、より小さいサイズを有することができ、現在ブロックの隣接領域におけるブロックは、より小さいサイズを有することができる。このシナリオに対応して、より小さい検索ブロックサイズを使用すると、検索でより多様なマージ候補を捕捉することができる。対照的に、少ない詳細内容を有する領域では、現在ブロックおよびその隣接ブロックは、大きいサイズを有することができ、また、異なる動きデータは、疎らに分布することができる。従って、不要な検索動作を回避するために、より大きい検索ブロックサイズを使用することができる。
【０１９３】
Ｓ２３３０では、Ｓ２３２０で決定された検索ブロックサイズに応じて、グリッドパターンを設定または決定することができる。グリッドパターンは、現在ブロックに隣接する検索領域を検索ブロックに分割する。各検索ブロックは、マージ候補位置を示すかまたはそれに対応することができる。例えば、動きデータを得るための候補位置は、それぞれの検索ブロック内の任意のサンプルの位置であってよい。候補位置は、左上隅のサンプルの位置、右下隅のサンプルの位置などであってもよい。あるいは、ＨＥＶＣと同様に、最小許容ブロックのサイズ以下のサイズを有するブロックは、検索ブロック内の候補位置を示すために使用されることができる。
【０１９４】
Ｓ２３４０では、検索ブロックを検索して、それぞれの候補位置で利用可能なマージ候補を見つけて候補リストを作成する。様々な検索方式または順序を使用することができる。いくつかの例では、すべての検索ブロックが検索される。いくつかの例では、図１６に示すように、予め決定された候補位置を含む検索ブロックのサブセットが検索される。候補リストを作成する場合、マージ候補を候補リストに挿入する様々な方法を採用することができる。例えば、候補リスト内の特定の位置は、拡張されたマージ候補を追加するために使用されることができる。すでにリストにあるマージ候補に類似していないマージ候補はマージ候補リストに追加されることができる一方、類似しているマージ候補は、マージ候補リストに追加されていない。候補リストは、後続の動作で使用されることができる。プロセス２３００は、Ｓ２３９９に進み、Ｓ２３９９で終了することができる。
【０１９５】
上記の技術は、コンピュータ読み取り可能な命令を使用するコンピュータソフトウェアとして実現され、また、物理的に１つ以上のコンピュータ読み取り可能な媒体に記憶されることができる。例えば、図２４は、開示された主題の特定の実施形態を実現するのに適したコンピュータシステム（２４００）を示す。
【０１９６】
コンピュータソフトウェアは、任意の適切なマシンコードまたはコンピュータ言語を使用して符号化されることができ、アセンブリ、コンパイル、リンク、または同様のメカニズムを受けて命令を含むコードを作成することができ、命令は、１つ以上のコンピュータ中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）などによって、直接的に実行されてもよく、またはコード解釈、マイクロコード実行などによって実行されてもよい。
【０１９７】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、オブジェクトネットワークデバイス（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ  ｄｅｖｉｃｅｓ）などを含む、様々なタイプのコンピュータまたはそのコンポーネントで実行されてもよい。
【０１９８】
図２４に示されるコンピュータシステム（２４００）のコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータソフトウェアの使用範囲または機能に関するいかなる制限も示唆することが意図されていない。コンポーネントの構成は、コンピュータシステム（２４００）の例示的な実施形態に示されているコンポーネントのいずれかまたは組み合わせに関連する任意の依存性または要件を有すると解釈されるべきではない。
【０１９９】
コンピュータシステム（２４００）は、いくつかのヒューマンインターフェース入力デバイスを含むことができる。このようなヒューマンインターフェース入力デバイスは、触覚入力（例えば、キーストローク、スイープ、データグローブの動きなど）、オーディオ入力（例えば、音声、拍手など）、視覚入力（例えば、ジェスチャーなど）、嗅覚入力（図示せず）によって、１人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスはまた、例えばオーディオ（例えば、音声、音楽、環境音など）、画像（例えば、スキャンされた画像、静止画像カメラから得られた写真画像など）、ビデオ（例えば、２次元ビデオ、立体映像を含む３次元ビデオなど）などの、人間による意識的な入力に必ずしも直接関連されているとは限らない、特定のメディアを捕捉するために使用されることができる。
【０２００】
ヒューマンインターフェース入力デバイスは、キーボード（２４０１）、マウス（２４０２）、トラックパッド（２４０３）、タッチスクリーン（２４１０）、データグローブ（図示せず）、ジョイスティック（２４０５）、マイクロホン（２４０６）、スキャナ（２４０７）、カメラ（２４０８）（それぞれの１つだけが図示された）のうちの１つまたは複数を含むことができる。
【０２０１】
コンピュータシステム（２４００）はまた、いくつかのヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚／味覚によって、１人以上のユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス（例えば、タッチスクリーン（２４１０）、データグローブ（図示せず）またはジョイスティック（２４０５）による触覚フィードバックであるが、入力デバイスとして作用しない触覚フィードバックデバイスであってもよい）、オーディオ出力デバイス（例えば、スピーカ（２４０９）、ヘッドホン（図示せず））、視覚出力デバイス（例えば、ＣＲＴスクリーン、ＬＣＤスクリーン、プラズマスクリーン、ＯＬＥＤスクリーンを含むスクリーン（２４１０）であり、各々は、タッチスクリーン入力機能を備えてもよく、あるいは備えていなくてもよいし、各々は、触覚フィードバック機能を備えてもよく、あるいは備えていなくてもよいし、これらのいくつかは、例えば、ステレオグラフィック出力、仮想現実メガネ（図示せず）、ホログラフィックディスプレイとスモークタンク（図示せず）、およびプリンタ（図示せず）などによって、２次元の視覚出力または３次元以上の視覚出力を出力することができる。
【０２０２】
コンピュータシステム（２４００）は、ＣＤ／ＤＶＤを有するＣＤ／ＤＶＤ  ＲＯＭ／ＲＷ（２４２０）を含む光学媒体または類似の媒体（２４２１）、サムドライブ（２４２２）、リムーバブルハードドライブまたはソリッドステートドライブ（２４２３）、テープおよびフロッピーディスク（図示せず）などのようなレガシー磁気媒体、セキュリティドングル（図示せず）などのような特殊なＲＯＭ／ＡＳＩＣ／ＰＬＤベースのデバイスなどのような、人間がアクセス可能な記憶デバイスおよびそれらに関連する媒体を含むことができる。
【０２０３】
当業者はまた、ここで開示されている主題に関連して使用される「コンピュータ読み取り可能な媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【０２０４】
コンピュータシステム（１３００）はまた、一つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光学的であってもよい。ネットワークはさらに、ローカルネットワーク、広域ネットワーク、大都市圏ネットワーク、車両用ネットワークおよび産業用ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネット（登録商標）、無線ＬＡＮ、セルラーネットワーク（ＧＳＭ（登録商標）、３Ｇ、４Ｇ、５Ｇ、ＬＴＥなど）などのＬＡＮ、テレビケーブルまたは無線広域デジタルネットワーク（有線テレビ、衛星テレビ、地上放送テレビを含む）、車両用および産業用ネットワーク（ＣＡＮＢｕｓを含む）などを含む。いくつかのネットワークは、一般に、いくつかの汎用データポートまたは周辺バス（２４４９）（例えば、コンピュータシステム（２４００）のＵＳＢポート）に接続された外部ネットワークインターフェースアダプタが必要であり、他のシステムは、通常、以下に説明するようにシステムバスに接続することによって、コンピュータシステム（２４００）のコアに統合される（例えば、ＰＣコンピュータシステムへのイーサネットインターフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース）。これらのネットワークのいずれかを使用して、コンピュータシステム（２４００）は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ（例えば、放送ＴＶ）、単方向の送信のみ（例えば、Ｃａｎｂｕｓから特定のＣａｎｂｕｓデバイスへ）、あるいは、双方向の、例えばローカルまたは広域デジタルネットワークを使用して他のコンピュータシステムへの通信であってもよい。上記のように、特定のプロトコルおよびプロトコルスタックは、それらのネットワークおよびネットワークインターフェースのそれぞれで使用されることができる。
【０２０５】
上記のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶デバイス、およびネットワークインターフェースは、コンピュータシステム（２４００）のコア（２４４０）に接続されることができる。
【０２０６】
コア（２４４０）は、１つ以上の中央処理ユニット（ＣＰＵ）（２４４１）、グラフィック処理ユニット（ＧＰＵ）（２４４２）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）（２４４３）の形式の専用プログラマブル処理ユニット、特定のタスクのためのハードウェア加速器（２４４４）などを含むことができる。これらのデバイスは、リードオンリーメモリ（ＲＯＭ）（２４４５）、ランダムアクセスメモリ（２４４６）、例えば内部の非ユーザアクセスハードディスクドライブ、ＳＳＤなどの内部大容量ストレージ（２４４７）などとともに、システムバス（２４４８）を介して接続されてもよい。いくつかのコンピュータシステムでは、付加的なＣＰＵ、ＧＰＵなどによって拡張を可能にするために、システムバス（２４４８）に１つ以上の物理的プラグの形でアクセスすることができる。周辺デバイスは、コアのシステムバス（２４４８）に直接的に接続されてもよく、または周辺バス（２４４９）によって接続されてもよい。周辺バスのアーキテクチャは、外部コントローラインターフェース（ＰＣＩ）、汎用シリアルバス（ＵＳＢ）などを含む。
【０２０７】
ＣＰＵ（２４４１）、ＧＰＵ（２４４２）、ＦＰＧＡ（２４４３）、および加速器（２４４４）は、いくつかの命令を実行することができ、これらの命令を組み合わせて上述のコンピュータコードを構成することができる。そのコンピュータコードは、ＲＯＭ（２４４５）またはＲＡＭ（２４４６）に記憶されることができる。また、一時的なデータは、ＲＡＭ（２４４６）に記憶されることができる一方、永久的なデータは、例えば内部大容量ストレージ（２４４７）に記憶されることができる。１つ以上のＣＰＵ（２４４１）、ＧＰＵ（２４４２）、大容量ストレージ（２４４７）、ＲＯＭ（２４４５）、ＲＡＭ（２４４６）などと密接に関連することができる、キャッシュメモリを使用することにより、任意のメモリデバイスに対する高速記憶および検索が可能となる。
【０２０８】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実行された動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよく、またはコンピュータソフトウェア分野の技術者によって知られ、利用可能な媒体およびコードであってもよい。
【０２０９】
限定ではなく例として、アーキテクチャ（２４００）、特にコア（２４４０）を有するコンピュータシステムは、１つ以上の有形な、コンピュータ読み取り可能な媒体に具体化されたソフトウェアを実行する、（ＣＰＵ、ＧＰＵ、ＦＰＧＡ、加速器などを含む）プロセッサとして機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上記のユーザがアクセス可能な大容量ストレージに関連する媒体であり、コア内部大容量ストレージ（２４４７）またはＲＯＭ（２４４５）などの、不揮発性コア（２４４０）を有する特定のストレージであってもよい。本開示の様々な実施形態を実装するソフトウェアは、このようなデバイスに記憶され、コア（２４４０）によって実行されてもよい。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、１つ以上のメモリデバイスまたはチップを含むことができる。このソフトウェアは、コア（２４４０）、具体的にはその中のプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡなどを含む）に、ＲＡＭ（２４４６）に記憶されているデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を変更することとを含む、本明細書に説明された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えてまたは代替として、コンピュータシステムは、ロジックハードワイヤードされているか、または別の方法で回路（例えば、アクセラレータ（２４４４））に組み込まれているため、機能を提供することができ、この回路は、ソフトウェアの代わりに動作し、またはソフトウェアと一緒に動作して、本明細書に説明された特定のプロセスの特定のプロセスまたは特定の部分を実行することができる。適切な場合には、ソフトウェアへの参照はロジックを含むことができ、逆もまた然りである。適切な場合には、コンピュータ読み取り可能な媒体への参照は、実行されるソフトウェアを記憶する回路（集積回路（ＩＣ）など）を含み、実行されるロジックを具体化する回路、またはその両方を兼ね備えることができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【０２１０】
本開示は、いくつかの例示的な実施形態について説明したが、本開示の範囲内にある変更、配置、および様々な均等置換が存在している。したがって、当業者は、本明細書では明確に示されていないかまたは説明されていないが、本開示の原則を具現しているので、本開示の精神および範囲内にある、様々なシステムおよび方法を設計することができる、ということを理解されたい。
【０２１１】
付録Ａ：頭字語
ＭＶ：Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ、動きベクトル
ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、高効率ビデオ符号化／復号
ＳＥＩ：Ｓｕｐｐｌｅｍｅｎｔａｒｙ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ、補足強化情報
ＶＵＩ：Ｖｉｄｅｏ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ、ビジュアルユーザビリティ情報
ＧＯＰｓ：Ｇｒｏｕｐｓ  ｏｆ  Ｐｉｃｔｕｒｅｓ、画像のグループ
ＴＵｓ：Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔｓ、変換ユニット
ＰＵｓ：Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔｓ、予測ユニット
ＣＴＵｓ：Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔｓ、符号化ツリーユニット
ＣＴＢｓ：Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｂｌｏｃｋｓ、符号化ツリーブロック
ＰＢｓ：Ｐｒｅｄｉｃｔｉｏｎ  Ｂｌｏｃｋｓ、予測ブロック
ＨＲＤ：Ｈｙｐｏｔｈｅｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｄｅｃｏｄｅｒ、仮想参照デコーダ
ＳＮＲ：Ｓｉｇｎａｌ  Ｎｏｉｓｅ  Ｒａｔｉｏ、信号雑音比
ＣＰＵｓ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ、中央処理ユニット
ＧＰＵｓ：Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔｓ、グラフィック処理ユニット
ＣＲＴ：Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ、陰極線管
ＬＣＤ：Ｌｉｑｕｉｄ−Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ、液晶ディスプレイ
ＯＬＥＤ：Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ、有機発光ダイオード
ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｃ、コンパクトディスク
ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ、デジタルビデオディスク
ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、読み取り専用メモリ
ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ
ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、特定用途向け集積回路
ＰＬＤ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ、プログラマブルロジックデバイス
ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ローカルエリアネットワーク
ＧＳＭ：Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、モバイル通信のグローバルシステム
ＬＴＥ：Ｌｏｎｇ−Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ、ロングターム絵簿リュション
ＣＡＮＢｕｓ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  Ｂｕｓ、コントローラエリアネットワークバス
ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、汎用シリアルバス
ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ、周辺コンポーネント相互接続
ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｅａｓ、フィールドプログラマブルゲートアレイ
ＳＳＤ：ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ、ソリッドステートドライブ
ＩＣ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、集積回路
ＣＵ：Ｃｏｄｉｎｇ  Ｕｎｉｔ、符号化ユニット
【図１】
2021513304.tif 000003
【図２】
2021513304.tif 000004
【図３】
2021513304.tif 000005
【図４】
2021513304.tif 000006
【図５】
2021513304.tif 000007
【図６】
2021513304.tif 000008
【図７】
2021513304.tif 000009
【図８】
2021513304.tif 000010
【図９】
2021513304.tif 000011
【図１０】
2021513304.tif 000012
【図１１】
2021513304.tif 000013
【図１２】
2021513304.tif 000014
【図１３】
2021513304.tif 000015
【図１４】
2021513304.tif 000016
【図１５】
2021513304.tif 000017
【図１６】
2021513304.tif 000018
【図１７】
2021513304.tif 000019
【図１８】
2021513304.tif 000020
【図１９】
2021513304.tif 000021
【図２０】
2021513304.tif 000022
【図２１】
2021513304.tif 000023
【図２２】
2021513304.tif 000024
【図２３】
2021513304.tif 000025
【図２４】
2021513304.tif 000026
【国際調査報告】
2021513304.tif 000027
2021513304.tif 000028