(57)【特許請求の範囲】
【請求項１】
映像データを符号化する方法であって、
装置が、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定することであって、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有することと、
前記装置が、前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定することであって、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有することと、
前記装置が、空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成することと、
前記装置が、前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えることであって、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えることは、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることを備えることと、を備える、方法。
【請求項２】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項１に記載の方法。
【請求項３】
前記装置が、空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成することは、前記装置が、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことを備える請求項１に記載の方法。
【請求項４】
前記装置が、第２の人工的に生成された候補を生成することであって、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成されることをさらに備える請求項１に記載の方法。
【請求項５】
前記装置が、マージモードを用いて前記現在の映像フレームの前記現在の部分を符号化することであって、前記マージモードのための動き情報は、前記候補リストに基づいて決定されることをさらに備える請求項１に記載の方法。
【請求項６】
前記方法は、前記装置としての映像符号器によって実施され、前記方法は、前記映像符号器が、前記候補リストから候補を選択することと、前記映像符号器が、前記選択された候補のインデックスを示す構文要素を生成することと、をさらに備える請求項１に記載の方法。
【請求項７】
映像データを符号化するためのデバイスであって、
現在の映像フレームを記憶するように構成されたメモリと、
前記現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定し、
前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定し、
空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成し、及び
前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えるように構成された映像符号器を備え、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有し、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有し、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えることは、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることを備える
デバイス。
【請求項８】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項７に記載のデバイス。
【請求項９】
前記映像符号器は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことによって空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成する請求項７に記載のデバイス。
【請求項１０】
前記映像符号器は、第２の人工的に生成された候補を生成するようにさらに構成され、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される請求項７に記載のデバイス。
【請求項１１】
前記映像符号器は、マージモードを用いて前記現在の映像フレームの前記現在の部分を符号化するようにさらに構成され、前記マージモードのための動き情報は、前記候補リストに基づいて決定される請求項７に記載のデバイス。
【請求項１２】
前記映像符号器は、前記候補リストから候補を選択し及び前記選択された候補のインデックスを示す構文要素を生成するように構成される請求項７に記載のデバイス。
【請求項１３】
前記デバイスは、
集積回路、
マイクロプロセッサ、及び
前記映像符号器を含む無線通信デバイスのうちの少なくとも１つを備える請求項７に記載のデバイス。
【請求項１４】
映像データを符号化するためのデバイスであって、
現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定するための手段であって、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有する手段と、
前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定するための手段であって、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有する手段と、
空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成するための手段と、
前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えるための手段であって、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えるための手段は、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えるための手段を備える手段と、を備える、デバイス。
【請求項１５】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項１４に記載のデバイス。
【請求項１６】
空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成するための前記手段は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うための手段を備える請求項１４に記載のデバイス。
【請求項１７】
第２の人工的に生成された候補を生成するための手段であって、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される手段、をさらに備える請求項１４に記載のデバイス。
【請求項１８】
マージモードを用いて前記現在の映像フレームの前記現在の部分を符号化するための手段であって、前記マージモードのための動き情報は、前記候補リストに基づいて決定される手段、をさらに備える請求項１４に記載のデバイス。
【請求項１９】
前記デバイスは、映像符号器を備え、前記デバイスは、前記候補リストから候補を選択するための手段と、前記選択された候補のインデックスを示す構文要素を生成するための手段と、をさらに備える請求項１４に記載のデバイス。
【請求項２０】
コンピュータによって読み取り可能な記憶媒体であって、
実行されたときに、
現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定し、
前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定し、
空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成し、及び
前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えることを１つ以上のプロセッサに行わせる命令を格納し、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有し、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有し、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えることは、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることを備える、コンピュータによって読み取り可能な記憶媒体。
【請求項２１】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項２０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２２】
前記命令は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことによって空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成することを前記１つ以上のプロセッサに行わせる請求項２０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２３】
実行されたときに、第２の人工的に生成された候補を生成することを前記１つ以上のプロセッサに行わせるさらなる命令を備え、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される請求項２０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２４】
実行されたときに、マージモードを用いて前記現在の映像フレームの前記現在の部分を符号化することを前記１つ以上のプロセッサに行わせるさらなる命令を格納し、前記マージモードのための動き情報は、前記候補リストに基づいて決定される請求項２０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２５】
前記１つ以上のプロセッサは、映像符号器を備え、前記コンピュータによって読み取り可能な記憶媒体は、実行されたときに、前記候補リストから候補を選択し、及び前記選択された候補のインデックスを示す構文要素を生成することを前記１つ以上のプロセッサに行わせるさらなる命令を格納する請求項２０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２６】
前記１つ以上のプロセッサは、映像復号器を備え、前記コンピュータによって読み取り可能な記憶媒体は、実行されたときに、前記候補リストから候補を識別する構文要素を受信し及び前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号することを前記１つ以上のプロセッサに行わせるさらなる命令を格納する請求項２０に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２７】
映像データを復号する方法であって、
装置が、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定することであって、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有することと、
前記装置が、前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定することであって、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有することと、
前記装置が、空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成することと、
前記装置が、前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えることであって、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えることは、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることを備えることと、を備える、方法。
【請求項２８】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項２７に記載の方法。
【請求項２９】
前記装置が、空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成することは、前記装置が、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことを備える請求項２７に記載の方法。
【請求項３０】
前記装置が、第２の人工的に生成された候補を生成することであって、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成されることをさらに備える請求項２７に記載の方法。
【請求項３１】
前記装置が、マージモードを用いて前記現在の映像フレームの前記現在の部分を復号することであって、前記マージモードのための動き情報は、前記候補リストに基づいて決定されることをさらに備える請求項２７に記載の方法。
【請求項３２】
前記方法は、映像復号器によって実施され、前記方法は、前記候補リストから候補を識別する構文要素を受信することと、前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号することと、をさらに備える請求項２７に記載の方法。
【請求項３３】
映像データを復号するためのデバイスであって、
現在の映像フレームを記憶するように構成されたメモリと、
前記現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定し、
前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定し、
空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成し、及び
前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えるように構成された映像復号器を備え、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有し、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有し、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えることは、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることを備える
デバイス。
【請求項３４】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項３３に記載のデバイス。
【請求項３５】
前記映像復号器は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことによって空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成する請求項３３に記載のデバイス。
【請求項３６】
前記映像復号器は、第２の人工的に生成された候補を生成するようにさらに構成され、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される請求項３３に記載のデバイス。
【請求項３７】
前記映像復号器は、マージモードを用いて前記現在の映像フレームの前記現在の部分を復号するようにさらに構成され、前記マージモードのための動き情報は、前記候補リストに基づいて決定される請求項３３に記載のデバイス。
【請求項３８】
前記映像復号器は、前記候補リストから候補を識別する構文要素を受信し及び前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号するように構成される請求項３３に記載のデバイス。
【請求項３９】
前記デバイスは、
集積回路、
マイクロプロセッサ、及び
前記映像復号器を含む無線通信デバイスのうちの少なくとも１つを備える請求項３３に記載のデバイス。
【請求項４０】
映像データを復号するためのデバイスであって、
現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定するための手段であって、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有する手段と、
前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定するための手段であって、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有する手段と、
空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成するための手段と、
前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えるための手段であって、前記人工的に生成された候補は、ゼロ候補、又は動きベクトルオフセット候補のうちの１つであり、前記人工的に生成された候補を前記候補リストに加えるための手段は、前記候補リストが、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する重複する候補を備える人工的に生成された候補を含み得るように、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えるための手段を備える手段と、を備える、デバイス。
【請求項４１】
空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む請求項４０に記載のデバイス。
【請求項４２】
空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成するための前記手段は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うための手段を備える請求項４０に記載のデバイス。
【請求項４３】
第２の人工的に生成された候補を生成するための手段であって、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される手段、をさらに備える請求項４０に記載のデバイス。
【請求項４４】
マージモードを用いて前記現在の映像フレームの前記現在の部分を復号するための手段であって、前記マージモードのための動き情報は、前記候補リストに基づいて決定される手段、をさらに備える請求項４０に記載のデバイス。
【請求項４５】
前記デバイスは、映像復号器を備え、前記デバイスは、前記候補リストから候補を識別する構文要素を受信するための手段と、前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号するための手段と、をさらに備える請求項４０に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、
米国仮特許出願第６１／５５６，７４６号（出願日：２０１１年１１月７日）、
米国仮特許出願第６１／５６２，２８４号（出願日：２０１１年１１月２１日）、及び
米国仮特許出願第６１／５６２，９４０号（出願日：２０１１年１１月２２日）の利益を主張するものであり、それらの各々の内容全体が、引用によってここに組み入れられている。
【０００２】
本開示は、映像コーディングに関するものである。本開示は、より具体的には、映像データのマージモード予測に関するものである。
【背景技術】
【０００３】
デジタル映像能力を広範なデバイス内に組み入れることができ、デジタルテレビと、デジタル直接放送システムと、無線放送システムと、パーソナルデジタルアシスタント（ＰＤＡ）と、ラップトップ又はデスクトップコンピュータと、デジタルカメラと、デジタル記録デバイスと、デジタルメディアプレーヤーと、ビデオゲームプレイ装置と、ビデオゲームコンソールと、セルラー又は衛星無線電話と、ビデオ会議装置と、等を含む。デジタル映像デバイスは、デジタル映像情報をより効率的に送信、受信、及び格納するための映像圧縮技法、例えば、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ））、現在開発中の高効率映像コーディング（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義される規格、及び該規格の拡張版において説明されるそれらを実装する。
【０００４】
映像圧縮技法は、映像シーケンスに固有の冗長性を低減又は除去するために空間（イントラピクチャ）予測及び／又は時間（インターピクチャ）予測を行う。ブロックに基づく映像コーディングでは、映像スライスを映像ブロックに分割することができ、それらは、ツリーブロック、コーディングユニット（ＣＵ）及び／又はコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた（Ｉ）スライス内の映像ブロックは、同じピクチャ内の近隣ブロック内の基準サンプルに関して空間予測を用いて符号化される。ピクチャのインターコーディングされた（Ｐ又はＢ）スライス内の映像ブロックは、同じピクチャ内の近隣ブロック内の基準サンプルに関しては空間予測、その他の基準ピクチャ内の基準サンプルに関しては時間予測を使用することができる。ピクチャは、フレームと呼ぶことができ、基準ピクチャは、基準フレームと呼ぶことができる。
【発明の概要】
【０００５】
本開示は、映像符号器において、インター予測コーディングで使用するための候補リストを生成し、映像復号器において同じ候補リストを生成するための技法について説明する。映像符号器及び映像復号器は、同じ候補リスト構築技法を実装することによって同じ候補リストを生成することができる。例えば、映像符号器及び映像復号器の両方とも、同じ数の候補を有するリストを構築することができる。映像符号器及び映像復号器は、希望される数の候補がリストに追加されるまで、最初に空間的候補（例えば、同じピクチャ内の近隣ブロック）を検討し、次に、時間的候補（例えば、異なるピクチャ内の候補）を検討し、最後に、人工的に生成された候補を検討することができる。本開示の技法により、候補リストから重複物を取り除くために候補リスト構築中に幾つかのタイプの候補のためにプルーニング（ｐｒｕｎｉｎｇ）動作を利用することができ、他方、その他のタイプの候補に関しては、コーダの複雑さを低減するためにプルーニングを使用することはできない。
【０００６】
一例では、映像データをコーディングする方法は、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定することであって、空間的候補の組は、現在の部分に隣接する現在の映像フレームの近隣部分に対応し、及び、空間的候補の各々は、関連付けられた動き情報を有することと、現在の映像フレームの現在の部分と関連付けられた時間的候補を決定することであって、時間的候補は、基準映像フレームの一部分に対応し、及び時間的候補は、関連付けられた動き情報を有することと、空間的候補の組の部分組及び時間的候補に基づいて候補リストを生成することと、候補リストが指定された候補数よりも少ない候補数を備えることに応答して、人工的に生成された候補を候補リストに追加することであって、人工的に生成された候補は、部分組の空間的候補の動き情報又は時間的候補の動き情報と同じである動き情報を有することと、を含む。
【０００７】
他の例では、映像データをコーディングするためのデバイスは、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定し、現在の映像フレームの現在の部分と関連付けられた時間的候補を決定し、空間的候補の組の部分組及び時間的候補に基づいて候補リストを生成し、及び候補リストが指定された候補数よりも少ない候補数を備えることに応答して、人工的に生成された候補を候補リストに追加するように構成された映像コーダを含み、空間候補の組は、現在の部分に隣接する現在の映像フレームの近隣部分に対応し、及び、空間候補の各々は、関連付けられた動き情報を有し、時間的候補は、基準映像フレームの一部分に対応し、時間的候補は、関連付けられた動き情報を有し、人工的に生成された候補は、部分組の空間的候補の動き情報又は時間的候補の動き情報と同じである動き情報を有する。
【０００８】
他の例では、映像データをコーディングするためのデバイスは、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定するための手段であって、空間的候補の組は、現在の部分に隣接する現在の映像フレームの近隣部分に対応し、及び、空間的候補の各々は、関連付けられた動き情報を有する手段と、現在の映像フレームの現在の部分と関連付けられた時間的候補を決定するための手段であって、時間的候補は、基準映像フレームの一部分に対応し、及び時間的候補は、関連付けられた動き情報を有する手段と、空間的候補の組の部分組及び時間的候補に基づいて候補リストを生成するための手段と、候補リストが指定された候補数よりも少ない候補数を備えることに応答して、人工的に生成された候補を候補リストに追加するための手段であって、人工的に生成された候補は、部分組の空間的候の動き情報又は時間的候補の動き情報と同じである動き情報を有する手段と、を含む。
【０００９】
他の例では、コンピュータによって読み取り可能な記憶媒体は、実行されたときに、現在の映像フレームの現在の部分と関連付けられた空間候補の組を決定し、現在の映像フレームの現在の部分と関連付けられた時間的候補を決定し、空間的候補の組の部分組及び時間的候補に基づいて候補リストを生成し、及び候補リストが指定された候補数よりも少ない候補数を備えることに応答して、人工的に生成された候補を候補リストに追加することを１つ以上のプロセッサに行わせる命令を格納し、空間候補の組は、現在の部分に隣接する現在の映像フレームの近隣部分に対応し、及び、空間候補の各々は、関連付けられた動き情報を有し、時間的候補は、基準映像フレームの一部分に対応し、時間的候補は、関連付けられた動き情報を有し、人工的に生成された候補は、部分組の空間的候補の動き情報又は時間候補の動き情報と同じである動き情報を有する。
【００１０】
１つ以上の例の詳細が、添付図及び以下の説明において示される。それらの説明と図面から、及び請求項から、その他の特徴、目的、及び利点が明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本開示の技法を利用することができる映像コーディングシステム例を示したブロック図である。
【図２】本開示の技法を実装するように構成される映像符号器例を示したブロック図である。
【図３】本開示の技法を実装するように構成される映像復号器例を示したブロック図である。
【図４】インター予測モジュールの構成例を示したブロック図である。
【図５】マージ動作例を示したフローチャートである。
【図６】アドバンスト動きベクトル予測（ＡＭＶＰ）動作例を示したフローチャートである。
【図７】映像復号器によって行われる動き補償動作例を示したフローチャートである。
【図８】コーディングユニット（ＣＵ）及びＣＵと関連付けられたソース位置例を示した概念図である。
【図９】候補リスト構築動作例を示したフローチャートである。
【図１０】結合された候補をマージ候補リストに追加する図形例を示した図である。
【図１１】スケーリングされた候補をマージ候補リストに追加する図形例を示した図である。
【図１２】ゼロ候補をマージ候補リストに追加する図形例を示した図である。
【図１３Ａ】ｍｖ_ｏｆｆｓｅｔを生成する図形例を示した図である。
【図１３Ｂ】ｍｖ_ｏｆｆｓｅｔを生成する図形例を示した図である。
【図１４】本開示で説明される技法の例を示したフローチャートである。
【発明を実施するための形態】
【００１２】
映像符号器は、ピクチャ間での時間的冗長性を低減させるためのインター予測を行うことができる。後述されるように、コーディングユニット（ＣＵ）は、複数の予測ユニット（ＰＵ）を有することができる。換言すると、複数のＰＵがＣＵに属することができる。映像符号器がインター予測を行うときには、映像符号器は、ＰＵに関する動き情報をシグナリングすることができる。ＰＵの動き情報は、例えば、基準ピクチャインデックスと、動きベクトルと、予測方向インジケータと、を含むことができる。動きベクトルは、ＰＵの映像ブロックとＰＵの基準ブロックとの間の変位を示すことができる。ＰＵの基準ブロックは、ＰＵの映像ブロックに類似する基準ピクチャの一部分であることができる。基準ブロックは、基準ピクチャインデックス及び予測方向インジケータによって示される基準ピクチャ内に位置することができる。
ＰＵの動き情報を表現するために要求されるビット数を減少させるために、映像符号器は、マージモード又はアドバンスト動きベクトル予測（ＡＭＶＰ）プロセスによりＰＵの各々に関する候補リストを生成することができる。ＰＵに関する候補リスト内の各候補は、動き情報を示すことができる。候補リスト内の候補の一部によって示される動き情報は、その他のＰＵの動き情報に基づくことができる。本開示は、候補が指定された空間的又は時間的候補位置のうちの１つの動き情報を示す場合は、その候補を“オリジナルの”候補と呼ぶことができる。例えば、マージモードに関しては、５つのオリジナルの空間的候補の位置及び１つのオリジナルの時間的候補の位置が存在することができる。幾つかの例では、映像符号器は、異なるオリジナルの候補からの部分的動きベクトルを結合し、オリジナルの候補を変更することによって追加の候補を生成するか、又は単にゼロの動きベクトルを候補として挿入することができる。これらの追加の候補は、オリジナルの候補とはみなされず、本開示では人工的に生成された候補と呼ぶことができる。
【００１３】
本開示の技法は、概して、映像符号器において候補リストを生成するための技法及び映像復号器において同じ候補リストを生成するための技法に関するものである。映像符号器及び映像復号器は、同じ候補リスト構築技法を実装することによって同じ候補リストを生成することができる。例えば、映像符号器及び映像復号器の両方とも、同じ候補数（例えば、５つの候補）を有するリストを構築することができる。映像符号器及び映像復号器は、希望される数の候補がリストに追加されるまで、最初に、空間的候補（例えば、同じピクチャ内の近隣ブロック）を検討し、次に、時間的候補（例えば、異なるピクチャ内の候補）を検討し、最後に、人工的に生成された候補を検討することができる。本開示の技法により、候補リストから重複物を除去するために候補リスト構築中に幾つかのタイプの候補のためにプルーニング動作を利用することができ、他方、その他のタイプの候補に関しては、コーダの複雑さを低減するためにプルーニングを使用することはできない。例えば、空間的候補の組に関して及び時間的候補に関して、重複する動き情報を有する候補を候補リストから除外するためのプルーニング動作を行うことができる。しかしながら、人工的に生成された候補を候補リストに追加するときには、人工的に生成された候補は、人工的に生成された候補に関するプルーニング動作を行わずに追加することができる。
ＣＵのＰＵに関する候補リストを生成後は、映像符号器は、候補リストから候補を選択し、候補インデックスをビットストリームで出力することができる。選択された候補は、コーディング中のターゲットＰＵと最も密接にマッチする予測子が結果的に得られる動きベクトルを有する候補であることができる。候補インデックスは、候補リスト内における選択された候補の位置を示すことができる。映像符号器は、ＰＵの動き情報によって示される基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することもできる。ＰＵの動き情報は、選択された候補によって示される動き情報に基づいて決定することができる。例えば、マージモードでは、ＰＵの動き情報は、選択された候補によって示される動き情報と同じであることができる。ＡＭＶＰモードでは、ＰＵの動き情報は、ＰＵの動きベクトル差分及び選択された候補によって示される動き情報に基づいて決定することができる。映像符号器は、ＣＵのＰＵの予測映像ブロック及びＣＵに関するオリジナルの映像ブロックに基づいてＣＵに関する１つ以上の残差映像ブロックを生成することができる。映像符号器は、１つ以上の残差映像ブロックを符号化し、ビットストリームで出力することができる。
ビットストリームは、ＰＵの候補リスト内の選択された候補を識別するデータを含むことができる。映像復号器は、ＰＵの候補リスト内の選択された候補によって示される動き情報に基づいてＰＵの動き情報を決定することができる。映像復号器は、ＰＵの動き情報に基づいてＰＵに関する１つ以上の基準ブロックを識別することができる。ＰＵの１つ以上の基準ブロックを識別後は、映像復号器は、ＰＵの１つ以上の基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することができる。映像復号器は、ＣＵのＰＵに関する予測映像ブロック及びＣＵに関する１つ以上の残差映像ブロックに基づいてＣＵに関する映像ブロックを再構築することができる。
説明を容易にするために、本開示は、位置又は映像ブロックがＣＵ又はＰＵと様々な空間的関係を有するとして説明することができる。該説明は、位置又は映像ブロックがＣＵ又はＰＵと関連付けられた映像ブロックと様々な空間的関係を有することを意味すると解釈することができる。さらに、本開示は、映像コーダが現在コーディング中のＰＵを現在のＰＵと呼ぶことができる。本開示は、映像コーダが現在コーディング中のＣＵを現在のＣＵと呼ぶことができる。本開示は、映像コーダが現在コーディング中のピクチャを現在のピクチャと呼ぶことができる。
添付される図は、例を示すものである。添付される図面内で参照数字によって示される要素は、以下の説明において同様の参照数字によって示される要素に対応する。本開示では、序数（例えば、“第１の”、“第２の”、“第３の”、等）で始まる名前を有する要素は、それらの要素が特定の順序を有することは必ずしも示していない。むしろ、該序数は、同じ又は同様のタイプの異なる要素を意味するために使用されるにすぎない。
【００１４】
図１は、本開示の技法を利用することができる映像コーディングシステム例１０を示したブロック図である。ここで使用される場合において、用語“映像コーダ”は、概して、映像符号器及び映像復号器の両方を意味する。本開示では、用語“映像コーディング”又は“コーディング”は、概して、映像符号化及び映像復号を意味することができる。
【００１５】
図１に示されるように、映像コーディングシステム１０は、ソースデバイス１２と、行先デバイス１４と、を含む。ソースデバイス１２は、符号化された映像データを生成する。従って、ソースデバイス１２は、映像符号化デバイスと呼ぶことができる。行先デバイス１４は、ソースデバイス１２によって生成された符号化された映像データを復号することができる。従って、行先デバイス１４は、映像復号デバイスと呼ぶことができる。ソースデバイス１２及び行先デバイス１４は、映像コーディングデバイスの例であることができる。
【００１６】
ソースデバイス１２及び行先デバイス１４は、広範なデバイスを備えることができ、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆる“スマート”フォン、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、車内コンピュータ、等を含む。幾つかの例では、ソースデバイス１２及び行先デバイス１４は、無線通信のために装備することができる。
【００１７】
行先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化された映像データを受信することができる。チャネル１６は、符号化された映像データをソースデバイス１２から行先デバイス１４に移動させることが可能なタイプの媒体又はデバイスを備えることができる。一例では、チャネル１６は、ソースデバイス１２が符号化された映像データをリアルタイムで直接行先デバイス１４に送信するのを可能にする通信媒体を備えることができる。この例では、ソースデバイス１２は、符号化された映像データを通信規格、例えば、無線通信プロトコル、により変調することができ、変調された映像データを行先デバイス１４に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理的な送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又は、ソースデバイス１２から行先デバイス１４への通信を容易にするその他の装置を含むことができる。
他の例では、チャネル１６は、ソースデバイス１２によって生成された符号化された映像データを格納する記憶媒体に対応することができる。この例では、行先デバイス１４は、ディスクアクセス又はカードアクセスを介して記憶媒体にアクセスすることができる。記憶媒体は、様々なローカルでアクセスされるデータ記憶媒体、例えば、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化された映像データを格納するためのその他の適切なデジタル記憶媒体、を含むことができる。さらなる例では、チャネル１６は、ソースデバイス１２によって生成された符号化された映像を格納するファイルサーバ又はその他の中間的な記憶デバイスを含むことができる。この例では、行先デバイス１４は、ストリーミング又はダウンロードを介してファイルサーバ又はその他の中間的な記憶デバイスに格納された符号化された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納し及びその符号化された映像データを行先デバイス１４に送信することが可能なタイプのサーバであることができる。ファイルサーバ例は、（例えば、ウェブサイトのための）ウェブサーバと、ファイル転送プロトコル（ＦＴＰ）サーバと、ネットワーク接続記憶（ＮＡＳ）デバイスと、ローカルディスクドライブとを含む。行先デバイス１４は、インターネット接続を含むあらゆる標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。データ接続のタイプ例は、無線チャネル（例えば、Ｗｉ−Ｆｉ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム、等）、又はファイルサーバに格納された符号化された映像データにアクセスするのに適する両方の組み合わせ、を含むことができる。ファイルサーバからの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
【００１８】
本開示の技法は、無線用途又はセッティングには限定されない。それらの技法は、様々なマルチメディア用途、例えば、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体上での格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートして映像コーディングに適用することができる。幾つかの例では、映像コーディングシステム１０は、映像ストリーミング、映像再生、映像放送、及び／又は映像テレフォニー、等の用途をサポートするための一方向又は両方向の映像送信をサポートするように構成することができる。
図１の例では、ソースデバイス１２は、映像ソース１８と、映像符号器２０と、出力インタフェース２２と、を含む。幾つかの場合は、出力インタフェース２２は、変調器／復調器（モデム）及び／又は送信機を含むことができる。ソースデバイス１２内では、映像ソース１８は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース、及び／又は映像データを生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。
【００１９】
映像符号器２０は、キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像データを符号化することができる。符号化された映像データは、ソースデバイス１２の出力インタフェース２２を介して直接行先デバイス１４に送信することができる。符号化された映像データは、復号及び／又は再生のための行先デバイス１４又はその他のデバイスによるのちのアクセスのために記憶媒体又はファイルサーバに格納することができる。
【００２０】
図１の例では、行先デバイス１４は、入力インタフェース２８と、映像復号器３０と、表示装置３２と、を含む。幾つかの場合は、入力インタフェース２８は、受信機及び／又はモデムを含むことができる。行先デバイス１４の入力インタフェース２８は、チャネル１６を通じて符号化された映像データを受信する。符号化された映像データは、映像データを表現する映像符号器２０によって生成された様々な構文要素を含むことができる。該構文要素は、通信媒体上で送信される符号化された映像データとともに含めること、記憶媒体に格納すること、又はファイルサーバに格納することができる。
【００２１】
表示装置３２は、行先デバイス１４と一体化すること、又は行先デバイス１４の外部に存在することができる。幾つかの例では、行先デバイス１４は、一体化された表示装置を含むことができ、及び、外部表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス１４は、表示装置であることができる。概して、表示装置３２は、復号された映像データをユーザに表示する。表示装置３２は、様々な表示装置、例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
【００２２】
映像符号器２０及び映像復号器３０は、映像圧縮規格、例えば、現在開発中の高効率映像コーディング（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（ＨＥＶＣ）規格、により動作することができ、及び、ＨＥＶＣテストモデル（ＨＭ）に準拠することができる。来るべきＨＥＶＣ規格の最近の草案は、“ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ６”又は“ＷＤ６”と呼ばれ、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３及びＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の映像コーディングに関する共同作業チーム（ＪＣＴ−ＶＣ）第８回会議（米国、カリフォルニア州サンホセ、２０１２年２月）における文書JCTVC-H1003, Bross et al., "High efficiency video coding (HEVC) text specification draft6"（高効率映像コーディング（ＨＥＶＣ）テキスト仕様草案６）において説明されており、２０１２年５月１日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能であり、ここにおける引用によってその内容全体がここに組み入れられている。ＨＥＶＣ規格の他の最近の草案は、“ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ７”又は“ＷＤ７”と呼ばれており、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３及びＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の映像コーディングに関する共同作業チーム（ＪＣＴ−ＶＣ）第９回会議（スイス、ジュネーブ、２０１２年４月２７日〜２０１２年５月７日）における文書HCTVC-I1003, Bross et al., "High efficiency video coding (HEVC) text specification draft6"（高効率映像コーディング（ＨＥＶＣ）テキスト仕様草案７）において説明されており、２０１２年６月５日現在では、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zipからダウンロード可能である。
【００２３】
代替として、映像符号器２０及び映像復号器３０は、その他の独占規格又は産業規格、例えば、ＩＴＵ−Ｔ  Ｈ．２６４規格であり、代替で、ＭＰＥＧ−４  Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれている、又は該規格の拡張版により動作することができる。しかしながら、本開示の技法は、いずれの特定のコーディング規格又は技法にも限定されない。映像圧縮規格及び技法のその他の例は、ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６３及び独占的な又はオープンなソース圧縮形式、例えば、ＶＰ８９及び関連形式を含む。
【００２４】
図１の例には示されていないが、映像符号器２０及び映像復号器３０は、音声符号器及び復号器とそれぞれ一体化することができ、及び、音声及び映像の両方を共通のデータストリーム又は別々のデータストリームで符号化することを取り扱うための該当するＭＵＸ−ＤＥＭＵＸユニット又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル（ＵＤＰ）、に準拠することができる。
【００２５】
繰り返すと、図１は、単なる例であるにすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間でのデータ通信を必ずしも含まない映像コーディング設定（例えば、映像符号化又は映像復号）に適用することができる。その他の例では、データは、ローカルメモリから取り出すことができ、ネットワークを通じてストリーミングすることができ、等である。符号化デバイスは、データを符号化してメモリに格納することができ、及び／又は、復号デバイスは、メモリからデータを取り出して復号することができる。多くの例において、符号化及び復号は、互いに通信しないデバイスによって行われ、単にメモリへのデータを符号化する及び／又はメモリからデータを取り出して復号するにすぎない。
【００２６】
映像符号器２０及び映像復号器３０は、各々、様々な適切な回路、例えば、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ハードウェア、又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内に部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納し、本開示の技法を実施するために１つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器２０及び映像復号器３０の各々は、１つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイス内の結合された符号器／復号器（ＣＯＤＥＣ）の一部として組み入れることができる。
上記において簡単に述べられているように、映像符号器２０は、映像データを符号化する。映像データは、１つ以上のピクチャを備えることができる。これらのピクチャの各々は、映像の一部を形成する静止画像である。幾つかの例では、ピクチャは、映像“フレーム”と呼ぶことができる。映像符号器２０が映像データを符号化するときには、映像符号器２０は、ビットストリームを生成することができる。ビットストリームは、映像データのコーディングされた表現を形成するビットのシーケンスを含むことができる。ビットストリームは、コーディングされたピクチャと、関連付けられたデータと、を含むことができる。コーディングされたピクチャは、ピクチャのコーディングされた表現である。
【００２７】
ビットストリームを生成するために、映像符号器２０は、映像データ内の各ピクチャに関して符号化動作を行うことができる。映像符号器２０がピクチャに関して符号化動作を行うときには、映像符号器２０は、一連のコーディングされたピクチャ及び関連付けられたデータを生成することができる。関連付けられたデータは、シーケンスパラメータセットと、ピクチャパラメータセットと、適合化パラメータセットと、その他の構文構造と、を含むことができる。シーケンスパラメータセット（ＳＰＳ）は、ピクチャのゼロ以上のシーケンスに適用可能なパラメータを含むことができる。ピクチャパラメータセット（ＰＰＳ）は、ゼロ以上のピクチャに適用可能なパラメータを含むことができる。適合化パラメータセット（ＡＰＳ）は、ゼロ以上のピクチャに適用可能なパラメータを含むことができる。ＡＰＳ内のパラメータは、ＰＰＳ内のパラメータよりも変化しやすいパラメータであることができる。
【００２８】
コーディングされたピクチャを生成するために、映像符号器２０は、ピクチャを映像ブロックに分割することができる。映像ブロックは、サンプルの二次元配列であることができる。映像ブロックの各々は、ツリーブロック（ｔｒｅｅｂｌｏｃｋ）と関連付けることができる。幾つかの例では、ツリーブロックは、最大のコーディングユニット（ＬＣＵ）と呼ぶことができる。ＨＥＶＣのツリーブロックは、以前の規格、例えば、Ｈ．２６４／ＡＶＣ、のマクロブロックにほぼ類似することができる。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されず、１つ以上のコーディングユニット（ＣＵ）を含むことができる。映像符号器２０は、ツリーブロックの映像ブロックをＣＵと関連付けられた映像ブロックに分割するために四分木分割を使用することができ、従って、名前は“ツリーブロック”である。
【００２９】
幾つかの例では、映像符号器２０は、ピクチャを複数のスライスに分割することができる。それらのスライスの各々は、整数の数のＣＵを含むことができる。幾つかの例では、スライスは、整数の数のツリーブロックを備える。その他の例では、スライスの境界は、ツリーブロック内にあることができる。
ピクチャに関する符号化動作を行う一部として、映像符号器２０は、ピクチャの各スライスに関する符号化動作を行うことができる。映像符号器２０がスライスに関して符号化動作を行うときには、映像符号器２０は、スライスと関連付けられた符号化されたデータを生成することができる。スライスと関連付けられた符号化されたデータは、“コーディングされたスライス”と呼ぶことができる。
【００３０】
コーディングされたスライスを生成するために、映像符号器２０は、スライス内の各ツリーブロックに関して符号化動作を行うことができる。映像符号器２０がツリーブロックに関して符号化動作を行うときには、映像符号器２０は、コーディングされたツリーブロックを生成することができる。コーディングされたツリーブロックは、ツリーブロックの符号化されたバージョンを表現するデータを備えることができる。
映像符号器２０がコーディングされたスライスを生成するときには、映像符号器２０は、ラスタースキャン順序によりスライス内のツリーブロックに関する符号化動作を行う（すなわち、符号化する）ことができる。換言すると、映像符号器２０は、映像符号器２０がスライス内の各ツリーブロックを符号化するまでスライス内のツリーブロックの最上行（ｒｏｗ）を横切って左から右に進み、次に、ツリーブロックの次に低い行を横切って右から左に進み、以下同様である順序でスライスのツリーブロックを符号化することができる。
ラスタースキャン順序によりツリーブロックを符号化した結果、所定のツリーブロックの上方及び左側のツリーブロックを符号化することができているが、所定のツリーブロックの下方及び右側のツリーブロックはまだ符号化されていない。従って、映像符号器２０は、所定のツリーブロックを符号化時に所定のツリーブロックの上方及び左側のツリーブロックを符号化することによって生成された情報にアクセスすることができる。しかしながら、映像符号器２０は、所定のツリーブロックを符号化時に所定のツリーブロックの下方及び右側のツリーブロックを符号化することによって生成された情報にアクセスすることができない。
【００３１】
コーディングされたツリーブロックを生成するために、映像符号器２０は、ツリーブロックの映像ブロックに関する四分木分割を繰り返し行い、映像ブロックを徐々に小さくなる映像ブロックに分割することができる。より小さい映像ブロックの各々は、異なるＣＵと関連付けることができる。例えば、映像符号器２０は、ツリーブロックの映像ブロックを４つの等しいサイズのサブブロックに分割し、それらのサブブロックのうちの１つ以上を４つの等しいサイズのサブ−サブブロックに分割することができ、以下同様である。分割されたＣＵは、その映像ブロックがその他のＣＵと関連付けられた映像ブロックに分割されたＣＵであることができる。分割されないＣＵは、その映像ブロックがその他のＣＵと関連付けられた映像ブロックに分割されないＣＵであることができる。
ビットストリーム内の１つ以上の構文要素は、映像符号器２０がツリーブロックの映像ブロックを分割することができる最大回数を示すことができる。ＣＵの映像ブロックは、形状が正方形であることができる。ＣＵの映像ブロックのサイズ（すなわち、ＣＵのサイズ）は、８×８ピクセルからツリーブロックの映像ブロックのサイズ（すなわち、ツリーブロックのサイズ）までであることができ、最大は、６４×６４ピクセル以上である。
【００３２】
映像符号器２０は、ｚスキャン順序によりツリーブロックの各々のＣＵに関する符号化動作を行う（すなわち、符号化する）ことができる。換言すると、映像符号器２０は、左上のＣＵ、右上のＣＵ、左下のＣＵ、次に右下のＣＵの順に符号化することができる。映像符号器２０が分割されたＣＵに関する符号化動作を行うときには、映像符号器２０は、ｚスキャン順序により分割されたＣＵの映像ブロックのサブブロックと関連付けられたＣＵを符号化することができる。換言すると、映像符号器２０は、左上のサブブロックと関連付けられたＣＵ、右上のサブブロックと関連付けられたＣＵ、左下のサブブロックと関連付けられたＣＵ、次に右下のサブブロックと関連付けられたＣＵの順に符号化することができる。
【００３３】
ｚスキャン順序によりツリーブロックのＣＵを符号化した結果、所定のＣＵの上方、上方と左側、上方と右側、左側、及び下方と左側のＣＵが符号化されている。所定のＣＵの下方又は右側のＣＵはまだ符号化されていない。従って、映像符号器２０は、所定のＣＵを符号化時に所定のＣＵの近隣の幾つかのＣＵを符号化することによって生成された情報にアクセスすることができる。しかしながら、映像符号器２０は、所定のＣＵを符号化時に所定のＣＵの近隣のその他のＣＵを符号化することによって生成された情報にはアクセスすることができない。
【００３４】
映像符号器２０が分割されないＣＵを符号化するときには、映像符号器２０は、ＣＵに関する１つ以上の予測ユニット（ＰＵ）を生成することができる。ＣＵのＰＵの各々は、ＣＵの映像ブロック内の異なる映像ブロックと関連付けることができる。映像符号器２０は、ＣＵの各ＰＵに関する予測映像ブロックを生成することができる。ＰＵの予測映像ブロックは、サンプルのブロックであることができる。映像符号器２０は、ＰＵに関する予測映像ブロックを生成するためにイントラ予測又はインター予測を使用することができる。
映像符号器２０がＰＵの予測映像ブロックを生成するためにイントラ予測を使用するときには、映像符号器２０は、ＰＵと関連付けられたピクチャの復号されたサンプルに基づいてＰＵの予測映像ブロックを生成することができる。映像符号器２０がＣＵのＰＵの予測映像ブロックを生成するためにイントラ予測を使用する場合は、ＣＵは、イントラ予測されたＣＵである。映像符号器２０がＰＵの予測映像ブロックを生成するためにインター予測を使用するときには、映像符号器２０は、ＰＵと関連付けられたピクチャ以外の１つ以上のピクチャの復号されたサンプルに基づいてＰＵの予測映像ブロックを生成することができる。映像符号器２０がＣＵのＰＵの予測映像ブロックを生成するためにインター予測を使用する場合は、ＣＵは、インター予測されたＣＵである。
【００３５】
さらに、映像符号器２０がＰＵに関する予測映像ブロックを生成するためにインター予測を使用するときには、映像符号器２０は、ＰＵのための動き情報を生成することができる。ＰＵのための動き情報は、ＰＵの１つ以上の基準ブロックを示すことができる。ＰＵの各基準ブロックは、基準ピクチャ内の映像ブロックであることができる。基準ピクチャは、ＰＵと関連付けられたピクチャ以外のピクチャであることができる。幾つかの例では、ＰＵの基準ブロックは、ＰＵの“基準サンプル”と呼ばれることもある。映像符号器２０は、ＰＵの基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することができる。
【００３６】
映像符号器２０がＣＵの１つ以上のＰＵに関する予測映像ブロックを生成した後は、映像符号器２０は、ＣＵのＰＵに関する予測映像ブロックに基づいてＣＵに関する残差データを生成することができる。ＣＵに関する残差データは、ＣＵのＰＵに関する予測映像ブロック内のサンプルとＣＵのオリジナルの映像ブロックとの間の差分を示すことができる。
さらに、分割されないＣＵに関する符号化動作を行う一部として、映像符号器２０は、ＣＵの残差データをＣＵの変換ユニット（ＴＵ）と関連付けられた残差データの１つ以上のブロック（すなわち、残差映像ブロック）に分割するためにＣＵの残差データに関して繰り返しの四分木分割を行うことができる。ＣＵの各ＴＵは、異なる残差映像ブロックと関連付けることができる。
映像コーダ２０は、ＴＵと関連付けられた変換係数ブロック（すなわち、変換係数のブロック）を生成するためにＴＵと関連付けられた残差映像ブロックに１つ以上の変換を適用することができる。概念的には、変換係数ブロックは、変換の周波数領域における大きさを表す変換係数の二次元（２Ｄ）行列を備えることができる。
変換係数ブロックを生成後は、映像符号器２０は、変換係数ブロックに関して量子化プロセスを実施することができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させるために変換係数が量子化されてさらなる圧縮を提供するプロセスを意味する。量子化プロセスは、変換係数の一部又は全部と関連付けられたビット深度を低減させることができる。例えば、ｎビット変換係数は、量子化中に切り捨ててｍビット値することができ、ここで、ｎは、ｍよりも大きい。
【００３７】
映像符号器２０は、各ＣＵを量子化パラメータ（ＱＰ）値と関連付けることができる。ＣＵと関連付けられたＱＰ値は、映像符号器２０がＣＵと関連付けられた変換係数ブロックをどのようにして量子化するかを決定することができる。映像符号器２０は、ＣＵと関連付けられたＱＰ値を調整することによってＣＵと関連付けられた変換係数ブロックに適用される量子化度を調整することができる。
映像符号器２０が変換係数ブロックを量子化後は、映像符号器２０は、量子化された変換係数ブロック内の変換係数を表す構文要素の組を生成することができる。映像符号器２０は、エントロピーコーディング動作、例えば、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）動作、をこれらの構文要素の一部に適用することができる。
映像符号器２０によって生成されるビットストリームは、一連のネットワーク抽象化層（ＮＡＬ）ユニットを含むことができる。ＮＡＬユニットの各々は、ＮＡＬユニット内のデータのタイプ及びデータが入ったバイトの表示を含む構文構造であることができる。例えば、ＮＡＬユニットは、シーケンスパラメータセット、ピクチャパラメータセット、コーディングされたスライス、補足拡張情報（ＳＥＩ）、アクセスユニットデリミッタ、フィラーデータ（ｆｉｌｌｅｒ  ｄａｔａ）、又は他のタイプのデータを表すデータを含むことができる。ＮＡＬユニット内のデータは、様々な構文構造を含むことができる。
映像復号器３０は、映像符号器２０によって生成されたビットストリームを受信することができる。ビットストリームは、映像符号器２０によって符号化された映像データのコーディングされた表現を含むことができる。映像復号器３０がビットストリームを受信するときには、映像復号器３０は、ビットストリームに関する構文解析動作を行うことができる。映像復号器３０が構文解析動作を行うときには、映像復号器３０は、ビットストリームから構文要素を抽出することができる。映像復号器３０は、ビットストリームから抽出された構文要素に基づいて映像データのピクチャを再構築することができる。構文要素に基づいて映像データを再構築するプロセスは、概して、構文要素を生成するために映像符号器２０によって行われるプロセスと相互的であることができる。
映像復号器３０がＣＵと関連付けられた構文要素を抽出後は、映像復号器３０は、構文要素に基づいてＣＵのＰＵに関する予測映像ブロックを生成することができる。さらに、映像復号器３０は、ＣＵのＴＵと関連付けられた変換係数ブロックを逆量子化することができる。映像復号器３０は、ＣＵのＴＵと関連付けられた残差映像ブロックを再構築するために変換係数ブロックに関する逆変換を行うことができる。予測映像ブロックを生成し及び残差映像ブロックを再構築した後は、映像復号器３０は、予測映像ブロック及び残差映像ブロックに基づいてＣＵの映像ブロックを再構築することができる。この方法により、映像復号器３０は、ビットストリーム内の構文要素に基づいてＣＵの映像ブロックを再構築することができる。
上記において簡単に説明されるように、映像符号器２０は、ＣＵのＰＵに関する予測映像ブロック及び動き情報を生成するためにインター予測を使用することができる。多くの例において、所定のＰＵの動き情報は、１つ以上の近傍のＰＵ（すなわち、映像ブロックが所定のＰＵの映像ブロックの空間的に又は時間的に近傍にあるＰＵ）の動き情報と同じであるか又は類似する可能性がある。近傍のＰＵは類似の動き情報を有することがしばしばあるため、映像符号器２０は、近傍のＰＵの動き情報を参照して所定のＰＵの動き情報を符号化することができる。近傍のＰＵの動き情報を参照して所定のＰＵの動き情報を符号化することは、所定のＰＵの動き情報を示すためにビットストリーム内で要求されるビット数を減らすことができる。
【００３８】
映像符号器２０は、近傍のＰＵの動き情報を参照して所定のＰＵの動き情報を様々な方法で符号化することができる。例えば、映像符号器２０は、所定のＰＵの動き情報が近傍のＰＵの動き情報と同じであることを示すことができる。本開示は、所定のＰＵの動き情報が近傍のＰＵの動き情報と同じであるか又は近傍のＰＵの動き情報から導き出すことができることを示すために句“マージモード”を使用することができる。他の例では、映像符号器２０は、所定のＰＵに関する動きベクトル差分（ＭＶＤ）を計算することができる。ＭＶＤは、所定のＰＵの動きベクトルと近傍のＰＵの動きベクトルとの間の差分を示す。この例では、映像符号器２０は、所定のＰＵの動きベクトルの代わりに所定のＰＵの動き情報のＭＶＤを含むことができる。所定のＰＵの動きベクトルよりもＭＶＤを表すほうがビットストリーム内でより少ないビットを要求することができる。本開示は、ＭＶＤ及び候補動きベクトルを識別するインデックス値を用いて所定のＰＵの動き情報をシグナリングすることを示すために句“アドバンスト動きベクトル予測（ＡＭＶＰ）”モードを使用することができる。
マージモード又はＡＭＶＰモードを用いて所定のＰＵの動き情報をシグナリングするために、映像符号器２０は、所定のＰＵに関する候補リストを生成することができる。候補リストは、１つ以上の候補を含むことができる。所定のＰＵに関する候補リスト内の候補の各々は、動き情報を指定することができる。各候補によって示される動き情報は、動きベクトルと、基準ピクチャインデックスと、予測方向インジケータと、を含むことができる。候補リスト内の候補は、“オリジナルの”候補を含むことができ、それらの各々は、所定のＰＵ以外のＰＵ内部の指定された候補位置のうちの１つの動き情報を示す。
【００３９】
ＰＵに関する候補リストを生成後は、映像符号器２０は、ＰＵに関する候補リストから候補うちの１つを選択することができる。例えば、映像符号器は、各候補をコーディング中のＰＵと比較することができ及び望ましいレート−歪み性能を有する候補を選択することができる。映像符号器２０は、ＰＵに関する候補インデックスを出力することができる。候補インデックスは、選択された候補に関する候補リスト内の位置を識別することができる。
【００４０】
さらに、映像符号器２０は、ＰＵの動き情報によって示される基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することができる。ＰＵの動き情報は、ＰＵに関する候補リスト内の選択された候補によって示される動き情報に基づいて決定することができる。例えば、マージモードでは、ＰＵの動き情報は、選択された候補によって示される動き情報と同じであることができる。ＡＭＶＰモードでは、ＰＵの動き情報は、ＰＵに関する動きベクトル差分（ＭＶＤ）及び選択された候補によって示される動き情報に基づいて決定することができる。映像符号器２０は、上述されるようにＰＵに関する予測映像ブロックを処理することができる。
【００４１】
映像復号器３０がビットストリームを受信したときには、映像復号器３０は、ＣＵのＰＵの各々に関する候補リストを生成することができる。映像復号器３０によってＰＵに関して生成される候補リストは、映像符号器２０によってＰＵに関して生成される候補リストと同じであることができる。ビットストリームから構文解析された構文要素は、ＰＵの候補リスト内での選択された候補の位置を示すことができる。ＰＵに関する候補リストを生成後は、映像復号器３０は、ＰＵの動き情報によって示される１つ以上の基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することができる。映像復号器３０は、ＰＵに関する候補リスト内の選択された候補によって示される動き情報に基づいてＰＵの動き情報を決定することができる。映像復号器３０は、ＰＵに関する予測映像ブロック及びＣＵに関する残差映像ブロックに基づいてＣＵに関する映像ブロックを再構築することができる。
【００４２】
図２は、本開示の技法を実装するように構成される映像符号器例２０を示したブロック図である。図２は、説明を目的として提供されており、本開示においては幅広く例示及び説明されている技法を制限するものであるとはみなされるべきでない。説明の目的上、本開示は、ＨＥＶＣコーディングの観点で映像符号器２０について説明する。しかしながら、本開示の技法は、その他のコーディング規格又は方法に対して適用することができる。
図２の例では、映像符号器２０は、複数の機能上のコンポーネントを含む。映像符号器２０の機能上のコンポーネントは、予測モジュール１００と、残差生成モジュール１０２と、変換モジュール１０４と、量子化モジュール１０６と、逆量子化モジュール１０８と、逆変換モジュール１１０と、再構築モジュール１１２と、フィルタモジュール１１３と、復号されたピクチャのバッファ１１４と、エントロピー符号化モジュール１１６と、を含む。予測モジュール１００は、インター予測モジュール１２１と、動き推定モジュール１２２と、動き補償モジュール１２４と、イントラ予測モジュール１２６と、を含む。その他の例では、映像符号器２０は、これよりも多い、少ない、又は異なる機能上のコンポーネントを含むことができる。さらに、動き推定モジュール１２２及び動き補償ユニット１２４は、一体化されることが非常に多いが、説明を目的として図２の例では別々に示される。
【００４３】
映像符号器２０は、映像データを受信することができる。映像符号器２０は、様々なソースから映像データを受信することができる。例えば、映像符号器２０は、映像ソース１８（図１）又は他のソースから映像データを受信することができる。映像データは、一連のピクチャを表現することができる。映像データを符号化するために、映像符号器２０は、ピクチャの各々に関して符号化動作を行うことができる。ピクチャに関して符号化動作を行う一部として、映像符号器２０は、ピクチャの各スライスに関して符号化動作を行うことができる。スライスに関して符号化動作を行う一部として、映像符号器２０は、スライス内のツリーブロックに関して符号化動作を行うことができる。
ツリーブロックに関して符号化動作を行う一部として、予測モジュール１００は、ツリーブロックの映像ブロックに関する四分木分割を行い、映像ブロックを徐々に小さくなる映像ブロックに分割することができる。より小さい映像ブロックの各々は、異なるＣＵと関連付けることができる。例えば、予測モジュール１００は、ツリーブロックの映像ブロックを４つの等しいサイズのサブブロックに分割し、それらのサブブロックのうちの１つ以上を４つの等しいサイズのサブ−サブブロックに分割することができ、以下同様である。
【００４４】
ＣＵと関連付けられた映像ブロックのサイズは、８×８サンプルからツリーブロックのサイズまでであることができ、最大は、６４×６４サンプル以上である。本開示では、“Ｎ×Ｎ”及び“Ｎ  ｂｙ  Ｎ”は、垂直方向及び水平方向の寸法に関する映像ブロックのサンプル寸法を指し示すために互換可能な形で使用され、例えば、１６×１６サンプル又は１６  ｂｙ  １６サンプルである。概して、１６×１６映像ブロックは、垂直方向に１６サンプル（ｙ＝１６）及び水平方向に１６サンプル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮのサンプル及び水平方向にＮのサンプルを有し、Ｎは、負でない整数値である。
【００４５】
さらに、ツリーブロックに関して符号化動作を行う一部として、予測モジュール１００は、ツリーブロックに関する階層四分木データ構造を生成することができる。例えば、ツリーブロックは、四分木データ構造の根ノードに対応することができる。予測モジュール１００がツリーブロックの映像ブロックを４つのサブブロックに分割する場合は、根ノードは、四分木データ構造内において４つの子ノードを有する。それらの子ノードの各々は、サブブロックのうちの１つと関連付けられたＣＵに対応する。予測モジュール１００がサブブロックのうちの１つを４つのサブ−サブブロックに分割する場合は、サブブロックと関連付けられたＣＵに対応するノードは、４つの子ノードを有することができ、それらの各々は、サブ−サブブロックのうちの１つと関連付けられたＣＵに対応する。
【００４６】
四分木データ構造の各ノードは、対応するツリーブロック又はＣＵに関する構文データ（例えば、構文要素）を含むことができる。例えば、四分木内のノードは、そのノードに対応するＣＵの映像ブロックが４つのサブブロックに分割（すなわち、分離）されているかどうかを示すスプリットフラグを含むことができる。ＣＵに関する構文要素は、繰り返し定義することができ、及び、ＣＵの映像ブロックがサブブロックに分割されているかどうかに依存することができる。映像ブロックが分割されないＣＵは、四分木データ構造内の葉ノードに対応することができる。コーディングされたツリーブロックは、対応するツリーブロックに関する四分木データ構造に基づくデータを含むことができる。
【００４７】
映像符号器２０は、ツリーブロックの各々の分割されないＣＵに関して符号化動作を行うことができる。映像符号器２０が分割されないＣＵに関して符号化動作を行うときには、映像符号器２０は、分割されないＣＵの符号化された表現を表すデータを生成する。
【００４８】
ＣＵに関する符号化動作を行う一部として、予測モジュール１００は、ＣＵの１つ以上のＰＵの間でＣＵの映像ブロックを分割することができる。映像符号器２０及び映像復号器３０は、様々なＰＵサイズをサポートすることができる。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、映像符号器２０及び映像復号器３０は、イントラ予測に関しては２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズ、インター予測に関しては２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ，等の対称的なＰＵサイズをサポートすることができる。映像符号器２０及び映像復号器３０は、インター予測に関する２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＮサイズに関する非対称的な分割もサポートすることができる。幾つかの例では、予測モジュール１００は、ＣＵの映像ブロックの側面と直角に出会わない境界に沿ってＣＵのＰＵ間でＣＵの映像ブロックを分割するための幾何学的分割を行うことができる。
インター予測モジュール１２１は、ＣＵの各ＰＵに関してインター予測を行うことができる。インター予測は、時間的圧縮を提供することができる。ＰＵに関してインター予測を行うために、動き推定モジュール１２２は、ＰＵのための動き情報を生成することができる。動き補償モジュール１２４は、動き情報及びＣＵと関連付けられたピクチャ（すなわち、基準ピクチャ）以外のピクチャの復号されたサンプルに基づいてＰＵに関する予測映像ブロックを生成することができる。本開示では、動き補償モジュール１２４によって生成された予測映像ブロックを通じて予測される映像ブロックは、インター予測された映像ブロックと呼ぶことができる。
【００４９】
スライスは、Ｉスライス、Ｐスライス、又はＢスライスであることができる。動き推定モジュール１２２及び動き補償モジュール１２４は、ＣＵのＰＵがＩスライス内、Ｐスライス内、又はＢスライス内のいずれにあるかに依存してそのＰＵに関して異なる動作を行うことができる。従って、ＰＵがＩスライス内にある場合は、動き推定モジュール１２２及び動き補償モジュール１２４は、そのＰＵに関してインター予測を行わない。
【００５０】
ＰＵがＰスライス内にある場合は、ＰＵが入っているピクチャは、“リスト０”と呼ばれる基準ピクチャのリストと関連付けられる。リスト０内の基準ピクチャの各々は、その他のピクチャのインター予測のために使用することができるサンプルを含む。動き推定モジュール１２２がＰスライス内のＰＵに関して動き推定動作を行うときには、動き推定モジュール１２２は、ＰＵに関する基準ブロックの有無に関してリスト０内の基準ピクチャを探索することができる。ＰＵの基準ブロックは、ＰＵの映像ブロック内のサンプルに最も密接に対応するサンプルの組、例えば、サンプルのブロック、であることができる。動き推定モジュール１２２は、基準ピクチャ内のサンプルの組がＰＵの映像ブロック内のサンプルにどれだけ密接に対応するかを決定するために様々なメトリックを使用することができる。例えば、動き推定モジュール１２２は、絶対差分和（ＳＡＤ）、平方差分和（ＳＳＤ）、又はその他の差分メトリックによって、基準ピクチャ内のサンプルの組がＰＵの映像ブロック内のサンプルにどれだけ密接に対応するかを決定することができる。
【００５１】
Ｐスライス内のＰＵの基準ブロックを識別後に、動き推定モジュール１２２は、基準ブロックが入っているリスト０内の基準ピクチャを示す基準インデックス及びＰＵと基準ブロックとの間の空間変位を示す動きベクトルを生成することができる。様々な例において、動き推定モジュール１２２は、様々な精度で動きベクトルを生成することができる。例えば、動き推定モジュール１２２は、１／４サンプル精度、１／８サンプル精度、又はその他の分数のサンプル精度で動きベクトルを生成することができる。分数のサンプル精度の場合は、基準ピクチャ内の整数位置サンプル値から基準ブロック値を内挿することができる。動き推定モジュール１２２は、基準インデックス及び動きベクトルをＰＵの動き情報として出力することができる。動き補償モジュール１２４は、ＰＵの動き情報によって識別された基準ブロックに基づいてＰＵの予測映像ブロックを生成することができる。
【００５２】
ＰＵがＢスライス内に位置する場合は、ＰＵを含むピクチャは、“リスト０”及び“リスト１”と呼ばれる２つの基準ピクチャリストと関連付けることができる。幾つかの例では、Ｂスライスを含むピクチャは、リスト０及びリスト１の組み合わせであるリストの組み合わせと関連付けることができる。
【００５３】
さらに、ＰＵがＢスライス内に位置する場合は、動き推定モジュール１２２は、ＰＵに関する単方向性（ｕｎｉ−ｄｉｒｅｃｔｉｏｎａｌ）予測又は両方向性（ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ）予測を行うことができる。動き推定モジュール１２２がＰＵに関して単方向性予測を行うときには、動き推定モジュール１２２は、ＰＵに関する基準ブロックの有無に関してリスト０又はリスト１の基準ピクチャを探索する。次に、動き推定モジュール１２２は、基準ブロックが入っているリスト０又はリスト１内の基準ピクチャを示す基準インデックス及びＰＵと基準ブロックとの間の空間変位を示す動きベクトルを生成することができる。動き推定モジュール１２２は、基準インデックス、予測方向インジケータ、及び動きベクトルをＰＵの動き情報として出力することができる。予測方向インジケータは、基準インデックスがリスト０又はリスト１のいずれの基準ピクチャを示すかを示すことができる。動き補償モジュール１２４は、ＰＵの動き情報によって示される基準ブロックに基づいてＰＵの予測映像ブロックを生成することができる。
【００５４】
動き推定モジュール１２２がＰＵに関して両方向性予測を行うときには、動き推定モジュール１２２は、ＰＵに関する基準ブロックの有無に関してリスト０内の基準ピクチャを探索し、及びＰＵに関する他の基準ブロックの有無に関してリスト１内の基準ピクチャも探索することができる。次に、動き推定モジュール１２２は、基準ブロック及び基準ブロックとＰＵとの間の空間変位を示す動きベクトルが入っているリスト０及びリスト１内の基準ピクチャを示す基準インデックスを生成することができる。動き推定モジュール１２２は、ＰＵの基準インデックス及び動きベクトルをＰＵの動き情報として出力することができる。動き補償モジュール１２４は、ＰＵの動き情報によって示された基準ブロックに基づいてＰＵの予測映像ブロックを生成することができる。
【００５５】
幾つかの例では、動き推定モジュール１２２は、ＰＵに関する動き情報の完全な組はエントロピー符号化モジュール１６に出力しない。むしろ、動き推定モジュール１２２は、他のＰＵの動き情報を参照してＰＵの動き情報をシグナリングすることができる。例えば、動き推定モジュール１２２は、ＰＵの動き情報が近隣ＰＵの動き情報と十分に類似するということを決定することができる。この例では、動き推定モジュール１２２は、ＰＵと関連付けられた構文構造において、ＰＵが近隣ＰＵと同じ動き情報を有するか又は近隣ＰＵから導き出すことができる動き情報を有することを映像復号器３０に示す値を示すことができる。他の例では、動き推定モジュール１２２は、ＰＵと関連付けられた構文構造において、近隣ＰＵと関連付けられた動き候補及び動きベクトル差分（ＭＶＤ）を識別することができる。ＭＶＤは、ＰＵの動きベクトルと近隣ＰＵと関連付けられた、示された動き候補の動きベクトルとの間の差分を示す。映像復号器３０は、ＰＵの動きベクトルを決定するために示された動き候補の動きベクトル及びＭＶＤを使用することができる。第２のＰＵの動き情報をシグナリングするときに第１のＰＵと関連付けられた候補の動き情報を参照することによって、映像符号器２０は、本来であれば動きベクトルを通信するために必要になるビットよりも少ないビットを用いて第２のＰＵの動き情報をシグナリングすることができる。
【００５６】
後述されるように、インター予測モジュール１２１は、ＣＵの各ＰＵに関する候補リストを生成することができる。候補リストのうちの１つ以上は、１つ以上のオリジナルの候補及びオリジナルの候補から導き出される１つ以上の追加の候補を含むことができる。
【００５７】
ＣＵに関して符号化動作を行う一部として、イントラ予測モジュール１２６は、ＣＵのＰＵに関するイントラ予測を行うことができる。イントラ予測は、空間圧縮を提供することができる。イントラ予測モジュール１２６がＰＵに関してイントラ予測を行うときには、イントラ予測モジュール１２６は、同じピクチャ内のその他のＰＵの復号されたサンプルに基づいてＰＵに関する予測データを生成することができる。ＰＵに関する予測データは、予測映像ブロックと、様々な構文要素と、を含むことができる。イントラ予測モジュール１２６は、Ｉスライス、Ｐスライス、及びＢスライス内のＰＵに関してイントラ予測を行うことができる。
【００５８】
ＰＵに関してイントラ予測を行うために、イントラ予測モジュール１２６は、ＰＵに関する予測データの複数の組を生成するために複数のイントラ予測モードを使用することができる。イントラ予測モジュール１２６がＰＵに関する予測データの組を生成するためにイントラ予測モードを使用するときには、イントラ予測モジュール１２６は、近隣ＰＵの映像ブロックからＰＵの映像ブロックを越えてイントラ予測モードと関連付けられた方向に及び／又は勾配でサンプルを延長することができる。ＰＵ、ＣＵ、及びツリーブロックに関して左から右、上から下への符号化順序であると仮定した場合、近隣ＰＵは、ＰＵの上方、右上、左上、又は左であることができる。イントラ予測モジュール１２６は、様々な数のイントラ予測モード、例えば、３３の方向性イントラ予測モード、を使用することができる。幾つかの例では、イントラ予測モード数は、ＰＵのサイズに依存することができる。
予測モジュール１００は、ＰＵに関して動き補償モジュール１２４によって生成された予測データ又はＰＵに関してイントラ予測モジュール１２６によって生成された予測データの中からＰＵに関する予測データを選択することができる。幾つかの例では、予測モジュール１００は、予測データの組のレート／歪みメトリックに基づいてＰＵに関する予測データを選択する。
【００５９】
予測モジュール１００がイントラ予測モジュール１２６によって生成された予測データを選択する場合は、予測モジュール１００は、ＰＵに関する予測データを生成するために使用されたイントラ予測モード、すなわち、選択されたイントラ予測モード、をシグナリングすることができる。予測モジュール１００は、選択されたイントラ予測モードを様々な方法でシグナリングすることができる。例えば、選択されたイントラ予測モードは、近隣ＰＵのイントラ予測モードと同じである可能性が高い。換言すると、近隣ＰＵのイントラ予測モードは、現在のＰＵに関して最も可能性が高いモードであることができる。従って、予測モジュール１００は、選択されたイントラ予測モードが近隣ＰＵのイントラ予測モードと同じであることを示すための構文要素を生成することができる。
【００６０】
予測モジュール１００がＣＵのＰＵに関する予測データを選択した後は、残差生成モジュール１０２は、ＣＵのＰＵの予測映像ブロックをＣＵの映像ブロックから減じることによってＣＵに関する残差データを生成することができる。ＣＵの残差データは、ＣＵの映像ブロック内のサンプルの異なるサンプルコンポーネントに対応する２Ｄ残差映像ブロックを含むことができる。例えば、残差データは、ＣＵのＰＵの予測映像ブロック内のサンプルのルミナンスコンポーネントとＣＵのオリジナルの映像ブロック内のサンプルのルミナンスコンポーネントとの間の差分に対応する残差映像ブロックを含むことができる。さらに、ＣＵの残差データは、ＣＵのＰＵの予測映像ブロック内のサンプルのクロミナンスコンポーネントとＣＵのオリジナルの映像ブロック内のサンプルのクロミナンスコンポーネントとの間の差分に対応する残差映像ブロックを含むことができる。
【００６１】
予測モジュール１００は、ＣＵの残差映像ブロックをサブブロックに分割するために四分木分割を行うことができる。各々の分割されない残差映像ブロックは、ＣＵの異なるＴＵと関連付けることができる。ＣＵのＴＵと関連付けられた残差映像ブロックのサイズ及び位置は、ＣＵのＰＵと関連付けられた映像ブロックのサイズ及び位置に基づく場合と基づかない場合がある。“残差四分木”（ＲＱＴ）と呼ばれる四分木構造は、各々の残差映像ブロックと関連付けられたノードを含むことができる。ＣＵのＴＵは、ＲＱＴの葉ノードに対応することができる。
【００６２】
変換モジュール１０４は、ＣＵの各ＴＵと関連付けられた残差映像ブロックに１つ以上の変換を適用することによってそのＴＵに関する１つ以上の変換係数ブロックを生成することができる。変換係数ブロックの各々は、変換係数の２Ｄ行列であることができる。変換モジュール１０４は、ＴＵと関連付けられた残差映像ブロックに対して様々な変換を適用することができる。例えば、変換モジュール１０４は、ＴＵと関連付けられた残差映像ブロックに対して離散コサイン変換（ＤＣＴ）、方向性変換、又は概念的に類似する変換を適用することができる。
【００６３】
変換モジュール１０４がＴＵと関連付けられた変換係数ブロックを生成した後は、量子化モジュール１０６は、変換係数ブロック内の変換係数を量子化することができる。量子化モジュール１０６は、ＣＵと関連付けられたＱＰ値に基づいてＣＵのＴＵと関連付けられた変換係数ブロックを量子化することができる。
【００６４】
映像符号器２０は、様々な方法でＱＰ値をＣＵと関連付けることができる。例えば、映像符号器２０は、ＣＵと関連付けられたツリーブロックに関するレート−歪み解析を行うことができる。レート−歪み解析では、映像符号器２０は、ツリーブロックに関して符号化動作を複数回行うことによってツリーブロックの複数のコーディングされた表現を生成することができる。映像符号器２０は、ツリーブロックの異なる符号化された表現を生成するときには異なるＱＰ値をＣＵと関連付けることができる。映像符号器２０は、所定のＱＰ値が最低のビットレート及び歪みメトリックを有するツリーブロックのコーディングされた表現においてＣＵと関連付けられているときにその所定のＱＰ値がＣＵと関連付けられているとシグナリングすることができる。
【００６５】
逆量子化モジュール１０８及び逆変換モジュール１１０は、変換係数ブロックから残差映像ブロックを再構築するために、逆量子化及び逆変換を変換係数ブロックにそれぞれ適用することができる。再構築モジュール１１２は、ＴＵと関連付けられた再構築された映像ブロックを生成するために予測モジュール１００によって生成された１つ以上の予測映像ブロックからの対応するサンプルに再構築された残差映像ブロックを加えることができる。このようにしてＣＵの各ＴＵに関する映像ブロックを再構築することによって、映像符号器２０は、ＣＵの映像ブロックを再構築することができる。
【００６６】
再構築モジュール１１２がＣＵの映像ブロックを再構築後は、フィルタモジュール１１３は、ＣＵと関連付けられた映像ブロックにおけるブロッキングアーティファクトを低減させるためのデブロッキング動作を行うことができる。１回以上のデブロッキング動作を行った後は、フィルタモジュール１１３は、ＣＵの再構築された映像ブロックを復号されたピクチャのバッファ１１４に格納することができる。動き推定モジュール１２２及び動き補償モジュール１２４は、後続するピクチャのＰＵに関するインター予測を行うために再構築された映像ブロックを含む基準ピクチャを使用することができる。さらに、イントラ予測モジュール１２６は、ＣＵと同じピクチャ内のその他のＰＵに関してイントラ予測を行うために復号されたピクチャのバッファ１１４内の再構築された映像ブロックを使用することができる。
エントロピー符号化モジュール１１６は、映像符号器２０のその他の機能上のコンポーネントからデータを受信することができる。例えば、エントロピー符号化モジュール１１６は、量子化モジュール１０６から変換係数ブロックを受信することができ及び予測モジュール１００から構文要素を受信することができる。エントロピー符号化モジュール１１６がデータを受信した時点で、エントロピー符号化モジュール１１６は、エントロピー符号化されたデータを生成するために１回以上のエントロピー符号化動作を行うことができる。例えば、映像符号器２０は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）動作、ＣＡＢＡＣ動作、可変−可変（Ｖ２Ｖ）長コーディング動作、構文に基づくコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）動作、確率間隔分割エントロピー（ＰＩＰＥ）コーディング動作、又はデータに関する他のタイプのエントロピー符号化動作を行うことができる。エントロピー符号化モジュール１１６は、エントロピー符号化されたデータを含むビットストリームを出力することができる。
データに関するエントロピー符号化動作を行う一部として、エントロピー符号化モジュール１１６は、コンテキストモデルを選択することができる。エントロピー符号化モジュール１１６がＣＡＢＡＣ動作を行っている場合は、コンテキストモデルは、特定のビンが特定の値を有する確率の推定値を示すことができる。ＣＡＢＡＣに関して、用語“ビン”は、構文要素のバイナリ化されたバージョンの１ビットを意味するために使用される。
【００６７】
図３は、本開示の技法を実装するように構成される映像復号器例３０を示したブロック図である。図３は、説明を目的として提供されており、本開示において幅広く例示及び説明されている技法を制限するものではない。説明の目的上、本開示は、ＨＥＶＣコーディングの観点で映像復号器３０について説明する。しかしながら、本開示の技法は、その他のコーディング規格又は方法に対して適用することができる。
図３の例では、映像復号器３０は、複数の機能上のコンポーネントを含む。映像復号器３０の機能上のコンポーネントは、エントロピー復号モジュール１５０と、予測モジュール１５２と、逆量子化モジュール１５４と、逆変換モジュール１５６と、再構築モジュール１５８と、フィルタモジュール１５９と、復号されたピクチャのバッファ１６０と、を含む。予測モジュール１５２は、動き補償モジュール１６２と、イントラ予測モジュール１６４と、を含む。幾つかの例では、映像復号器３０は、図２の映像符号器２０に関して説明される符号化パス（ｅｎｃｏｄｉｎｇ  ｐａｓｓ）と概して相互的な復号パスを行うことができる。その他の例では、映像復号器３０は、これよりも多い、少ない、又は異なる機能上のコンポーネントを含むことができる。
映像復号器３０は、符号化された映像データを備えるビットストリームを受信することができる。ビットストリームは、複数の構文要素を含むことができる。映像復号器３０がビットストリームを受信したときに、エントロピー復号モジュール１５０は、ビットストリームに関して構文解析動作を行うことができる。ビットストリームに関して構文解析動作を行った結果として、エントロピー復号モジュール１５０は、ビットストリームから構文要素を抽出することができる。構文解析動作を行う一部として、エントロピー復号モジュール１５０は、ビットストリーム内のエントロピー符号化された構文要素をエントロピー復号することができる。予測モジュール１５２、逆量子化モジュール１５４、逆変換モジュール１５６、再構築モジュール１５８、及びフィルタモジュール１５９は、ビットストリームから抽出された構文要素に基づいて復号された映像データを生成する再構築動作を行うことができる。
上述されるように、ビットストリームは、一連のＮＡＬユニットを備えることができる。ビットストリームのＮＡＬユニットは、シーケンスパラメータセットＮＡＬユニット、ピクチャパラメータセットＮＡＬユニット、ＳＥＩ  ＮＡＬユニット、等を含むことができる。ビットストリームに関して構文解析動作を行う一部として、エントロピー復号モジュール１５０は、シーケンスパラメータセットＮＡＬユニットからシーケンスパラメータセットを、ピクチャパラメータセットＮＡＬユニットからピクチャパラメータセットを、ＳＥＩ  ＮＡＬユニットからＳＥＩデータを、抽出してエントロピー復号する構文解析動作を行うことができる。
【００６８】
さらに、ビットストリームのＮＡＬユニットは、コーディングされたスライスＮＡＬユニットを含むことができる。ビットストリームに関して構文解析動作を行う一部として、エントロピー復号モジュール１５０は、コーディングされたスライスＮＡＬユニットからコーディングされたスライスを抽出してエントロピー復号する構文解析動作を行うことができる。コーディングされたスライスの各々は、スライスヘッダと、スライスデータと、を含むことができる。スライスヘッダは、スライスに関連する構文要素を入れることができる。スライスヘッダ内の構文要素は、スライスを含むピクチャと関連付けられたピクチャパラメータセットを識別する構文要素を含むことができる。エントロピー復号モジュール１５０は、スライスヘッダを復元するためにコーディングされたスライスヘッダ内の構文要素に関してエントロピー復号動作、例えば、ＣＡＢＡＣ復号動作、を行うことができる。
【００６９】
コーディングされたスライスＮＡＬユニットからスライスデータを抽出する一部として、エントロピー復号モジュール１５０は、スライスデータ内のコーディングされたＣＵから構文要素を抽出する構文解析動作を行うことができる。抽出された構文要素は、変換係数ブロックと関連付けられた構文要素を含むことができる。次に、エントロピー復号モジュール１５０は、構文要素の一部に関してＣＡＢＡＣ復号動作を行うことができる。
【００７０】
エントロピー復号モジュール１５０が分割されないＣＵに関して構文解析動作を行った後は、映像復号器３０は、分割されないＣＵに関して再構築動作を行うことができる。分割されないＣＵに関して再構築動作を行うために、映像復号器３０は、ＣＵの各ＴＵに関して再構築動作を行うことができる。ＣＵの各ＴＵに関して再構築動作を行うことによって、映像復号器３０は、ＣＵと関連付けられた残差映像ブロックを再構築することができる。
ＴＵに関して再構築動作を行う一部として、逆量子化モジュール１５４は、ＴＵと関連付けられた変換係数ブロックを逆量子化、すなわち、量子化解除、することができる。逆量子化モジュール１５４は、ＨＥＶＣに関して提案されているか又はＩＴＵ−Ｔ  Ｈ．２６４コーディング規格によって定義されている逆量子化プロセスと同様の方法で変換係数ブロックを逆量子化することができる。逆量子化モジュール１５４は、量子化度、及び同様に、逆量子化モジュール１５４が適用する逆量子化度、を決定するために変換係数ブロックのＣＵに関して映像符号器２０によって計算された量子化パラメータＱＰを使用することができる。
【００７１】
逆量子化モジュール１５４が変換係数ブロックを逆量子化した後は、逆変換モジュール１５６は、変換係数ブロックと関連付けられたＴＵに関する残差映像ブロックを生成することができる。逆変換モジュール１５６は、ＴＵに関する残差映像ブロックを生成するために変換係数ブロックに対して逆変換を適用することができる。例えば、逆変換モジュール１５６は、逆ＤＣＴ、逆整数変換、逆Ｋａｒｈｕｎｅｎ−Ｌｏｅｖｅ変換（ＫＬＴ）、逆回転変換、逆方向性変換、又は他の逆変換を変換係数ブロックに適用することができる。
【００７２】
幾つかの例では、逆変換モジュール１５６は、映像符号器２０からのシグナリングに基づいて変換係数ブロックに適用するための逆変換を決定することができる。該例では、逆変換モジュール１５６は、変換係数ブロックと関連付けられたツリーブロックに関する四分木の根ノードにおいてシグナリングされた変換に基づいて逆変換を決定することができる。その他の例では、逆変換モジュール１５６は、１つ以上のコーディング上の特徴、例えば、ブロックサイズ、コーディングモード、等、から逆変換を推論することができる。幾つかの例では、逆変換モジュール１５６は、カスケード型逆変換を適用することができる。
【００７３】
ＣＵのＰＵがインター予測を用いて符号化された場合は、動き補償モジュール１６２は、ＰＵに関する候補リストを生成することができる。ビットストリームは、ＰＵの候補リスト内の選択された候補の位置を識別するデータを含むことができる。ＰＵに関する候補リストを生成した後は、動き補償モジュール１６２は、ＰＵの動き情報によって示された１つ以上の基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することができる。ＰＵの基準ブロックは、ＰＵと異なる時間的ピクチャ内に存在することができる。動き補償モジュール１６２は、ＰＵの候補リスト内の選択された候補によって示された動き情報に基づいてＰＵの動き情報を決定することができる。
【００７４】
幾つかの例では、動き補償モジュール１６２は、内挿フィルタに基づいて内挿を行うことによってＰＵの予測映像ブロックを向上させることができる。サブサンプル精度を有する動き補償のために使用される内挿フィルタに関する識別子を構文要素内に含めることができる。動き補償モジュール１６２は、基準ブロックの整数未満のサンプルに関する内挿値を計算するためにＰＵの予測映像ブロックの生成中に映像符号器２０によって使用されるのと同じ内挿フィルタを使用することができる。動き補償モジュール１６２は、受信された構文情報により映像符号器２０によって使用される内挿フィルタを決定し、内挿フィルタを用いて予測される映像ブロックを生成することができる。
ＰＵがイントラ予測を用いて符号化される場合は、イントラ予測モジュール１６４は、ＰＵに関する予測映像ブロックを生成するためにイントラ予測を行うことができる。例えば、イントラ予測モジュール１６４は、ビットストリーム内の構文要素に基づいてＰＵに関するイントラ予測モードを決定することができる。ビットストリームは、イントラ予測モジュール１６４がＰＵのイントラ予測モードを決定するために使用することができる構文要素を含むことができる。
【００７５】
幾つかの例では、構文要素は、イントラ予測モジュール１６４が現在のＰＵのイントラ予測モードを決定するために他のＰＵのイントラ予測モードを使用すべきであることを示すことができる。例えば、現在のＰＵのイントラ予測モードは、近隣ＰＵのイントラ予測モードと同じである可能性が高い。換言すると、近隣ＰＵのイントラ予測モードは、現在のＰＵに関して最も可能性が高いモードであることができる。従って、この例では、ビットストリームは、ＰＵのイントラ予測モードが近隣ＰＵのイントラ予測モードと同じであることを示す小さい構文要素を含むことができる。イントラ予測モジュール１６４は、空間的に近隣のＰＵの映像ブロックに基づいてＰＵに関する予測データ（例えば、予測サンプル）を生成するためにイントラ予測モードを使用することができる。
再構築モジュール１５８は、ＣＵの映像ブロックを再構築するために、ＣＵのＴＵと関連付けられた残差映像ブロック及びＣＵのＰＵの予測映像ブロック、すなわち、適宜、イントラ予測データ又はインター予測データ、を使用することができる。従って、映像復号器３０は、ビットストリーム内の構文要素に基づいて予測映像ブロック及び残差映像ブロックを生成することができ及び予測映像ブロック及び残差映像ブロックに基づいて映像ブロックを生成することができる。
【００７６】
再構築モジュール１５８がＣＵの映像ブロックを再構築した後は、フィルタモジュール１５９は、全体的なコーディング品質を向上させるために１つ以上のフィルタリング動作を行うことができる。フィルタモジュール１５９によって行われるフィルタリング動作の例は、デブロッキングフィルタリング動作、サンプル適応型オフセットフィルタリング動作、及び適応型ループフィルタリング動作のうちの１つ以上を含むことができる。フィルタモジュール１５９がフィルタリング動作を行った後は、映像復号器３０は、復号されたピクチャのバッファ１６０内にＣＵの映像ブロックを格納することができる。復号されたピクチャのバッファ１６０は、後続する動き補償、イントラ予測、及び表示装置、例えば、図１の表示装置３２、での提示のために基準ピクチャを提供することができる。例えば、映像復号器３０は、復号されたピクチャのバッファ１６０内の映像ブロックに基づいて、その他のＣＵのＰＵに関するイントラ予測又はインター予測動作を行うことができる。
【００７７】
図４は、インター予測モジュール１２１の構成例を示す概念図である。インター予測モジュール１２１は、複数の分割モードにより現在のＣＵをＰＵに分割することができる。例えば、インター予測モジュール１２１は、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、及びＮ×Ｎの分割モードにより現在のＣＵをＰＵに分割することができる。
インター予測モジュール１２１は、ＰＵの各々に関して整数動き推定（ＩＭＥ）を行い、次に分数動き推定（ＦＭＥ）を行うことができる。インター予測モジュール１２１がＰＵに関してＩＭＥを行うときには、インター予測モジュール１２１は、ＰＵに関する基準ブロックの有無に関して１つ以上の基準ピクチャを探索することができる。ＰＵに関する基準ブロックを見つけた後は、インター予測モジュール１２１は、ＰＵとＰＵに関する基準ブロックとの間の空間変位を整数精度で示す動きベクトルを生成することができる。インター予測モジュール１２１がＰＵに関してＦＭＥを行うときには、インター予測モジュール１２１は、ＰＵに関してＩＭＥを行うことによって動きベクトルを向上させることができる。ＰＵに関してＦＭＥを行うことによって生成された動きベクトルは、整数未満の精度（例えば、１／２ピクセル精度、１／４ピクセル精度、等）を有することができる。ＰＵに関する動きベクトルを生成後は、インター予測モジュール１２１は、ＰＵに関する予測映像ブロックを生成するためにＰＵに関する動きベクトルを使用することができる。
【００７８】
インター予測モジュール１２１がＡＭＶＰモードを用いてＰＵの動き情報をシグナリングする幾つかの例では、インター予測モジュール１２１は、ＰＵに関する候補リストを生成することができる。候補リストは、１つ以上のオリジナルの候補及びオリジナルの候補から導き出される１つ以上の追加の候補を含むことができる。ＰＵに関する候補リストを生成後は、インター予測モジュール１２１は、候補リストから候補を選択し、ＰＵに関する動きベクトル差分（ＭＶＤ）を生成することができる。ＰＵに関するＭＶＤは、選択された候補によって示される動きベクトルとＩＭＥ及びＦＭＥを用いてＰＵに関して生成された動きベクトルとの間の差分を示すことができる。該例では、インター予測モジュール１２１は、候補リスト内での選択された候補の位置を識別する候補インデックスを出力することができる。インター予測モジュール１２１は、ＰＵのＭＶＤを出力することもできる。図６は、以下において詳細に説明されるが、ＡＭＶＰ動作例を示す。
【００７９】
ＰＵに関してＩＭＥ及びＦＭＥを行うことによってＰＵのための動き情報を生成することに加えて、インター予測モジュール１２１は、ＰＵの各々に関してマージ動作を行うことができる。インター予測モジュール１２１がＰＵに関してマージ動作を行うときには、インター予測モジュール１２１は、ＰＵに関する候補リストを生成することができる。ＰＵに関する候補リストは、１つ以上のオリジナルの候補及びオリジナルの候補から導き出される１つ以上の追加の候補を含むことができる。候補リスト内のオリジナルの候補は、１つ以上の空間的候補と１つの時間的候補とを含むことができる。空間的候補は、現在のピクチャ内のその他のＰＵの動き情報を示すことができる。時間的候補は、現在のピクチャ以外のピクチャの共配置されたＰＵの動き情報に基づくことができる。時間的候補は、時間的動きベクトル予測子（ＴＭＶＰ）と呼ぶこともできる。
【００８０】
候補リストを生成後は、インター予測モジュール１２１は、候補リストから候補のうちの１つを選択することができる。インター予測モジュール１２１は、例えば、希望される再構築された映像品質及び／又は圧縮を達成させるために候補リストから候補を選択することができる。次に、インター予測モジュール１２１は、ＰＵの動き情報によって示される基準ブロックに基づいてＰＵに関する予測映像ブロックを生成することができる。マージモードでは、ＰＵの動き情報は、選択された候補によって示される動き情報と同じであることができる。以下において説明される図５は、マージ動作例を示したフローチャートである。
【００８１】
ＩＭＥ及びＦＭＥに基づいてＰＵに関する予測映像ブロックを生成後及びマージ動作に基づいてＰＵに関する予測映像ブロックを生成後は、インター予測モジュール１２１は、ＦＭＥ動作によって生成された予測映像ブロック又はマージ動作によって生成された予測映像ブロックを選択することができる。幾つかの例では、インター予測モジュール１２１は、ＦＭＥ動作によって生成された予測映像ブロック及びマージ動作によって生成された予測映像ブロックのレート／歪み解析に基づいてＰＵに関する予測映像ブロックを選択することができる。
【００８２】
インター予測モジュール１２１が、各々の分割モードにより現在のＣＵを分割することによって生成されたＰＵに関する予測映像ブロックを選択した後は、インター予測モジュール１２１は、現在のＣＵに関する分割モードを選択することができる。幾つかの例では、インター予測モジュール１２１は、各々の分割モードにより現在のＣＵを分割することによって生成されたＰＵに関する選択された予測映像ブロックのレート／歪み解析に基づいて現在のＣＵに関する分割モードを選択することができる。インター予測モジュール１２１は、選択された分割モードに属するＰＵと関連付けられた予測映像ブロックを残差生成モジュール１０２に出力することができる。インター予測モジュール１２１は、選択された分割モードに属するＰＵの動き情報を示す構文要素をエントロピー符号化モジュール１１６に出力することができる。
【００８３】
図４の例において、インター予測モジュール１２１は、ＩＭＥモジュール１８０Ａ乃至１８０Ｎ（総称して“ＩＭＥモジュール１８０”）と、ＦＭＥモジュール１８２Ａ乃至１８２Ｎ（総称して“ＦＭＥモジュール１８２”）と、マージモジュール１８４Ａ乃至１８４Ｎ（総称して“マージモジュール１８４”）と、ＰＵモード決定モジュール１８６Ａ乃至１８６Ｎ（総称して“ＰＵモード決定モジュール１８６”）と、ＣＵモード決定モジュール１８８と、を含む。
【００８４】
ＩＭＥモジュール１８０、ＦＭＥモジュール１８２、及びマージモジュール１８４は、現在のＣＵのＰＵに関してＩＭＥ動作、ＦＭＥ動作、及びマージ動作を行うことができる。図４の例は、インター予測モジュール１２１がＣＵの各分割モードの各ＰＵに関して別々のＩＭＥモジュール１８０、ＦＭＥモジュール１８２、及びマージモジュール１８４を含むとして示している。その他の例では、インター予測モジュール１２１は、ＣＵの各分割モードの各ＰＵに関して別々のＩＭＥモジュール１８０、ＦＭＥモジュール１８２、及びマージモジュール１８４を含まない。
【００８５】
図４の例において示されるように、ＩＭＥモジュール１８０Ａ、ＦＭＥモジュール１８２Ａ、及びマージモジュール１８４Ａは、２Ｎ×２Ｎ分割モードによりＣＵを分割することによって生成されたＰＵに関してＩＭＥ動作、ＦＭＥ動作、及びマージ動作を行うことができる。ＰＵモード決定モジュール１８６Ａは、ＩＭＥモジュール１８０Ａ、ＦＭＥモジュール１８２Ａ、及びマージモジュール１８４Ａによって生成された予測映像ブロックのうちの１つを選択することができる。
【００８６】
ＩＭＥモジュール１８０Ｂ、ＦＭＥモジュール１８２Ｂ、及びマージモジュール１８４Ｂは、Ｎ×２Ｎ分割モードによりＣＵを分割することによって生成された左のＰＵに関してＩＭＥ動作、ＦＭＥ動作、及びマージ動作を行うことができる。ＰＵモード決定モジュール１８６Ｂは、ＩＭＥモジュール１８０Ｂ、ＦＭＥモジュール１８２Ｂ、及びマージモジュール１８４Ｂによって生成された予測映像ブロックのうちの１つを選択することができる。
【００８７】
ＩＭＥモジュール１８０Ｃ、ＦＭＥモジュール１８２Ｃ、及びマージモジュール１８４Ｃは、Ｎ×２Ｎ分割モードによりＣＵを分割することによって生成された右のＰＵに関してＩＭＥ動作、ＦＭＥ動作、及びマージ動作を行うことができる。ＰＵモード決定モジュール１８６Ｃは、ＩＭＥモジュール１８０Ｃ、ＦＭＥモジュール１８２Ｃ、及びマージモジュール１８４Ｃによって生成された予測映像ブロックのうちの１つを選択することができる。
【００８８】
ＩＭＥモジュール１８０Ｎ、ＦＭＥモジュール１８２Ｎ、及びマージモジュール１８４は、Ｎ×Ｎ分割モードによりＣＵを分割することによって生成された右下のＰＵに関してＩＭＥ動作、ＦＭＥ動作、及びマージ動作を行うことができる。ＰＵモード決定モジュール１８６Ｎは、ＩＭＥモジュール１８０Ｎ、ＦＭＥモジュール１８２Ｎ、及びマージモジュール１８４Ｎによって生成された予測映像ブロックのうちの１つを選択することができる。
【００８９】
ＰＵモード決定モジュール１８６は、希望される再構築された映像品質及び／又は希望される圧縮比を生成する予測映像ブロックを選択するように構成することができる。ＰＵモード決定モジュールは、例えば、複数の可能な予測映像ブロックのレート−歪み解析に基づいて予測映像ブロックを選択すること及び所定のコーディングシナリオに関する最良のレート−歪みトレードオフ（ｔｒａｄｅｏｆｆ）を提供する予測映像ブロックを選択することができる。一例として、帯域幅が制限される用途に関して、ＰＵモード決定モジュール１８６は、圧縮比を増大させる予測映像ブロックを選択する方に偏らせることができ、他方、その他の用途に関しては、ＰＵモード決定モジュール１８６は、再構築された映像の品質を向上させる予測映像ブロックを選択する方に偏らせることができる。ＰＵモード決定モジュール１８６が現在のＣＵのＰＵに関して予測映像ブロックを選択した後は、ＣＵモード決定モジュール１８８は、現在のＣＵのＰＵに関する予測映像ブロックを選択し、ＣＵモード決定モジュール１８８は、現在のＣＵに関する分割モードを選択し、選択された分割モードに属するＰＵの予測映像ブロック及び動き情報を出力する。
【００９０】
図５は、マージ動作例２００を示したフローチャートである。映像符号器、例えば、映像符号器２０、は、マージ動作２００を行うことができる。その他の例では、映像符号器は、マージ動作２００以外のマージ動作を行うことができる。例えば、その他の例では、映像符号器は、マージ動作２００よりも多い又は少ないステップ、又はマージ動作２００と異なるステップを実施するマージ動作を行うことができる。その他の例では、映像符号器は、異なる順序で又は並行してマージ動作のステップを実施することができる。符号器は、スキップモードで符号化されたＰＵに関してマージ動作２００を行うこともできる。
【００９１】
映像符号器がマージ動作２００を開始した後は、映像符号器は、現在のＰＵに関する候補リストを生成することができる（２０２）。映像符号器は、現在のＰＵに関する候補リストを様々な方法で生成することができる。例えば、映像符号器は、図８乃至１３Ｂに関して後述される技法例のうちの１つにより現在のＣＵに関する候補リストを生成することができる。
【００９２】
上記において簡単に説明されるように、現在のＰＵに関する候補リストは、時間的候補を含むことができる。時間的候補は、共配置されたＰＵの動き情報を示すことができる。共配置されたＰＵは、現在のＰＵとともに空間的に配置することができるが、現在のピクチャの代わりに基準ピクチャ内にある。本開示は、共配置されたＰＵを含む基準ピクチャを該当する基準ピクチャと呼ぶことができる。本開示は、該当する基準ピクチャの基準ピクチャインデックスを該当する基準ピクチャインデックスと呼ぶことができる。上述されるように、現在のピクチャは、基準ピクチャの１つ以上のリスト、例えば、リスト０、リスト１、等と関連付けることができる。基準ピクチャインデックスは、基準ピクチャのリストのうちの１つにおける基準ピクチャの位置を示すことによって基準ピクチャを示すことができる。幾つかの例では、現在のピクチャは、結合された基準ピクチャリストと関連付けることができる。
【００９３】
幾つかの従来の映像符号器では、該当する基準ピクチャインデックスは、現在のＰＵと関連付けられた基準インデックスソース位置をカバーするＰＵの基準ピクチャインデックスである。該従来の映像符号器では、現在のＰＵと関連付けられた基準インデックスソース位置は、現在のＰＵの直ぐ左又は現在のＰＵの直ぐ上である。本開示では、ＰＵは、ＰＵと関連付けられた映像ブロックが特定の位置を含む場合に特定の位置を“カバーする”ことができる。該従来の映像符号器では、映像符号器は、基準インデックスソース位置を利用できない場合はゼロの基準ピクチャインデックスを使用することができる。
【００９４】
しかしながら、現在のＰＵと関連付けられた基準インデックスソース位置が現在のＣＵ内にある例が存在することができる。該例では、現在のＰＵと関連付けられた基準インデックスソース位置をカバーするＰＵは、このＰＵが現在のＣＵの上方又は左にある場合に利用可能であるとみなすことができる。しかしながら、映像符号器は、共配置されたＰＵを含む基準ピクチャを決定するために現在のＣＵの他のＰＵの動き情報にアクセスすることが必要な場合がある。従って、該映像符号器は、現在のＰＵに関する時間的候補を生成するために現在のＣＵに属するＰＵの動き情報（すなわち、基準ピクチャインデックス）を使用することができる。換言すると、該映像符号器は、現在のＣＵに属するＰＵの動き情報を用いて時間的候補を生成することができる。従って、映像符号器は、現在のＰＵ及び現在のＰＵと関連付けられた基準インデックスソース位置をカバーするＰＵに関する候補リストを並行して生成することはできない。
【００９５】
本開示の技法により、映像符号器は、その他のＰＵの基準ピクチャインデックスを参照せずに、該当する基準ピクチャインデックスを明示で設定することができる。これは、映像符号器が現在のＰＵ及び現在のＣＵのその他のＰＵに関する候補リストを並行して生成するのを可能にすることができる。映像符号器は該当する基準ピクチャインデックスを明示で設定するため、該当する基準ピクチャインデックスは、現在のＣＵのその他のＰＵの動き情報には基づかない。映像符号器が該当する基準ピクチャインデックスを明示で設定する幾つかの例では、映像符号器は、該当する基準ピクチャインデックスを固定された予め定義されたデフォルトの基準ピクチャインデックス、例えば、０、に常に設定することができる。この方法により、映像符号器は、デフォルト基準ピクチャインデックスによって示される基準フレーム内の共配置されたＰＵの動き情報に基づいて時間的候補を生成することができ及び現在のＣＵの候補リストにその時間的候補を含めることができる。
【００９６】
映像符号器が該当する基準ピクチャインデックスを明示で設定する例では、映像符号器は、該当する基準ピクチャインデックスを構文構造、例えば、ピクチャヘッダ、スライスヘッダ、ＡＰＳ、又は他の構文構造において明示でシグナリングすることができる。この例では、映像符号器は、すべてのＬＣＵ、ＣＵ、ＰＵ、ＴＵ又はその他のタイプのサブブロックに関して該当する基準ピクチャインデックスをシグナリングすることができる。例えば、映像符号器は、ＣＵの各ＰＵに関する該当する基準ピクチャインデックスが“１”に等しいことをシグナリングすることができる。
【００９７】
幾つかの例、例えば、図９Ａ乃至９Ｆ及び１０Ａ乃至Ｆを参照して以下で説明されるそれら、では、該当する基準ピクチャインデックスを明示の代わりに暗黙に設定することができる。該例では、映像符号器は、現在のＣＵの外部の位置が現在のＰＵに厳格に隣接していない場合でも、該位置をカバーするＰＵの基準ピクチャインデックスによって示される基準ピクチャ内のＰＵの動き情報を用いて現在のＣＵのＰＵに関する候補リスト内の各時間的候補を生成することができる。
【００９８】
現在のＰＵに関する候補リストを生成後は、映像符号器は、候補リスト内の候補と関連付けられた予測映像ブロックを生成することができる（２０４）。映像符号器は、示された候補の動き情報に基づいて現在のＰＵの動き情報を決定し、次に、現在のＰＵの動き情報によって示される１つ以上の基準ブロックに基づいて予測映像ブロックを生成することによって候補と関連付けられた予測映像ブロックを生成することができる。次に、映像符号器は、候補リストから候補のうちの１つを選択することができる（２０６）。映像符号器は、様々な方法で候補を選択することができる。例えば、映像符号器は、候補と関連付けられた予測映像ブロックの各々に関するレート−歪み解析に基づいて候補のうちの１つを選択することができる。
【００９９】
候補を選択後は、映像符号器は、候補インデックスを出力することができる（２０８）。候補インデックスは、候補リスト内における選択された候補の位置を示すことができる。幾つかの例では、候補インデックスは、“ｍｅｒｇｅ_ｉｄｘ”で表すことができる。
図６は、ＡＭＶＰ動作例２１０を示すフローチャートである。映像符号器、例えば、映像符号器２０、は、ＡＭＶＰ動作２１０を行うことができる。図６は、ＡＭＶＰ動作の単なる一例であるにすぎない。
【０１００】
映像符号器がＡＭＶＰ動作２１０を開始後は、映像符号器は、現在のＰＵに関する１つ以上の動きベクトルを生成することができる（２１１）。映像符号器は、現在のＰＵに関する動きベクトルを生成するために整数動き推定及び分数動き推定を行うことができる。上述されるように、現在のピクチャは、２つの基準ピクチャリスト、リスト０及びリスト１と関連付けることができる。現在のＰＵが単一方向に予測される場合は、映像符号器は、現在のＰＵに関するリスト０動きベクトル又はリスト１動きベクトルを生成することができる。リスト０動きベクトルは、現在のＰＵの映像ブロックとリスト０内の基準ピクチャ内の基準ブロックとの間の空間変位を示すことができる。リスト１動きベクトルは、現在のＰＵの映像ブロックとリスト１内の基準ピクチャ内の基準ブロックとの間の空間変位を示すことができる。現在のＰＵが両方向に予測される場合は、映像符号器は、現在のＰＵに関するリスト０動きベクトル及びリスト１動きベクトルを生成することができる。
【０１０１】
現在のＰＵに関する動きベクトル又は動きベクトル（複数）を生成後は、映像符号器は、現在のＰＵに関する予測映像ブロックを生成することができる（２１２）。映像符号器は、現在のＰＵに関する１つ以上の動きベクトルによって示される１つ以上の基準ブロックに基づいて現在のＰＵに関する予測映像ブロックを生成することができる。
【０１０２】
さらに、映像符号器は、現在のＰＵに関する候補リストを生成することができる（２１３）。映像コーダは、現在のＰＵに関する候補リストを様々な方法で生成することができる。例えば、映像符号器は、図８乃至１３Ｂに関して以下において説明される技法例のうちの１つ以上により現在のＰＵに関する候補リストを生成することができる。幾つかの例では、映像符号器がＡＭＶＰ動作２１０において候補リストを生成するときには、候補リストは、２つの候補に限定することができる。対照的に、映像符号器がマージ動作で候補リストを生成するときには、候補リストは、より多くの候補（例えば、５つの候補）を含むことができる。
【０１０３】
現在のＰＵに関する候補リストを生成後は、映像符号器は、候補リスト内の各リストに関する１つ以上の動きベクトル差分（ＭＶＤ）を生成することができる（２１４）。映像符号器は、候補によって示された動きベクトルと現在のＰＵの対応する動きベクトルとの間の差分を決定することによって候補に関する動きベクトル差分を生成することができる。
現在のＰＵが単一の方向に予測される場合は、映像符号器は、各候補に関する単一のＭＶＤを生成することができる。現在のＰＵが両方向に予測される場合は、映像符号器は、各候補に関して２つのＭＶＤを生成することができる。第１のＭＶＤは、候補の動きベクトルと現在のＰＵのリスト０動きベクトルとの間の差分を示すことができる。第２のＭＶＤは、候補の動きベクトルと現在のＰＵのリスト１動きベクトルとの間の差分を示すことができる。
映像符号器は、候補リストから候補のうちの１つ以上を選択することができる（２１５）。映像符号器は、１つ以上の候補を様々な方法で選択することができる。例えば、映像符号器は、符号化されるべき動きベクトルに最も密接にマッチする関連付けられた動きベクトルを有する候補を選択することができ、それは、候補に関する動きベクトル差分を表すために要求されるビット数を減少させることができる。
【０１０４】
１つ以上の候補を選択後は、映像符号器は、現在のＰＵに関する１つ以上の基準ピクチャインデックス、１つ以上の候補インデックス、及び１つ以上の選択された候補に関する１つ以上の動きベクトル差分を出力することができる（２１６）。
【０１０５】
現在のピクチャが２つの基準ピクチャリスト、リスト０及びリスト１、と関連付けられており、及び、現在のＰＵが単一方向に予測される例では、映像符号器は、リスト０に関する基準ピクチャインデックス（“ｒｅｆ_ｉｄｘ_１０”）又はリスト１（“ｒｅｆ_ｉｄｘ_１１”）を出力することができる。映像符号器は、現在のＰＵのリスト０動きベクトルに関する選択された候補の候補リスト内での位置を示す候補インデックス（“ｍｖｐ_１０_ｆｌａｇ”）を出力することもできる。代替として、映像符号器は、現在のＰＵのリスト１動きベクトルに関する選択された候補の候補リスト内での位置を示す候補インデックス（“ｍｖｐ_１１_ｆｌａｇ”）を出力することができる。映像符号器は、現在のＰＵのリスト０動きベクトル又はリスト１動きベクトルに関するＭＶＤを出力することもできる。
【０１０６】
現在のピクチャが２つの基準ピクチャリスト、リスト０及びリスト１、と関連付けられており、及び現在のＰＵが両方向に予測される例では、映像符号器は、リスト０に関する基準ピクチャインデックス（“ｒｅｆ_ｉｄｘ_１０”）及びリスト１に関する基準ピクチャインデックス（“ｒｅｆ_ｉｄｘ_１１”）を出力することができる。映像符号器は、現在のＰＵのリスト０動きベクトルに関する選択された候補の候補リスト内での位置を示す候補インデックス（“ｍｖｐ_１０_ｆｌａｇ”）を出力することもできる。さらに、映像符号器は、現在のＰＵのリスト１動きベクトルに関する選択された候補の候補リスト内での位置を示す候補インデックス（“ｍｖｐ_１１_ｆｌａｇ”）を出力することもできる。映像符号器は、現在のＰＵのリスト０動きベクトルに関するＭＶＤ及び現在のＰＵのリスト１動きベクトルに関するＭＶＤを出力することもできる。         
図７は、映像復号器、例えば、映像復号器３０、によって行われる動き補償動作例２２０を示したフローチャートである。図７は、動き補償動作の単なる一例であるにすぎない。
【０１０７】
映像復号器が動き補償動作２２０を行うときには、映像復号器は、現在のＰＵに関する選択された候補の表示を受信することができる（２２２）。例えば、映像復号器は、現在のＰＵの候補リスト内での選択された候補の位置を示す候補インデックスを受信することができる。
【０１０８】
現在のＰＵの動き情報がＡＭＶＰモードを用いて符号化され、及び、現在のＰＵが両方向に予測される場合は、映像復号器は、第１の候補インデックス及び第２の候補インデックスを受信することができる。第１の候補インデックスは、現在のＰＵのリスト０動きベクトルに関する選択された候補の候補リスト内での位置を示す。第２の候補インデックスは、現在のＰＵのリスト１動きベクトルに関する選択された候補の候補リスト内での位置を示す。幾つかの例では、両方の候補インデックスを識別するために単一の構文要素を使用することができる。
【０１０９】
さらに、映像復号器は、現在のＰＵに関する候補リストを生成することができる（２２４）。映像復号器は、現在のＰＵに関する該候補リストを様々な方法で生成することができる。例えば、映像復号器は、現在のＰＵに関する候補リストを生成するために図８乃至１５を参照して以下において説明される技法を使用することができる。映像復号器が候補リストに関する時間的候補を生成するときには、映像復号器は、図５に関して上述されるように、共配置されたＰＵを含む基準ピクチャを識別する基準ピクチャインデックスを明示で又は暗黙に設定することができる。
現在のＰＵに関する候補リストを生成後は、映像復号器は、現在のＰＵに関する候補リスト内の１つ以上の選択された候補によって示される動き情報に基づいて現在のＰＵの動き情報を決定することができる（２２５）。例えば、現在のＰＵの動き情報がマージモードを用いて符号化される場合は、現在のＰＵの動き情報は、選択された候補によって示される動き情報と同じであることができる。現在のＰＵの動き情報がＡＭＶＰモードを用いて符号化される場合は、映像復号器は、現在のＰＵの動きベクトル又は動きベクトル（複数）を再構築するために選択された候補又は候補（複数）によって示される１つ以上の動きベクトル又はビットストリーム内で示される１つ以上のＭＶＤを使用することができる。現在のＰＵの基準ピクチャインデックス及び予測方向インジケータは、１つ以上の選択された候補の基準ピクチャインデックス及び予測方向インジケータと同じであることができる。現在のＰＵの動き情報を決定後は、映像復号器は、現在のＰＵの動き情報によって示される１つ以上の基準ブロックに基づいて現在のＰＵに関する予測映像ブロックを生成することができる（２２６）。
【０１１０】
近隣物の動き情報は、現在の映像ブロックの位置（及びＡＭＶＰの場合のＭＶＤ）に関して使用される。換言すると、近隣物のＭＶは、近隣物に関する動きを意味する。現在のブロックのＭＶは、現在のブロックに関する動きを意味する。このため、現在のブロックが近隣物動き情報を採用する場合は、採用されたＭＶは、（それが採用された近隣物ではなく）現在のブロックに関する動きを定義する。
【０１１１】
図８は、ＣＵ２５０及びＣＵ２５０と関連付けられた候補位置例２５２Ａ乃至Ｅを示した概念図である。本開示は、候補位置２５２Ａ乃至２５２Ｅを総称して候補位置２５２と呼ぶことができる。候補位置２５２は、ＣＵ２５０と同じピクチャ内にある空間候補を表す。候補位置２５２Ａは、ＣＵ２５０の左に位置する。候補位置２５２Ｂは、ＣＵ２５０の上方に位置する。候補位置２５２Ｃは、ＣＵ２５０の右上に位置する。候補位置２５２Ｄは、ＣＵ２５０の左下に位置する。候補位置２５２Ｄは、ＣＵ２５０の左下に位置する。候補位置２５２Ｅは、ＣＵ２５０の左上に位置する。図８は、インター予測モジュール１２１及び動き補償モジュール１６２が候補リストをどのようにして生成することができるかを示す例を提供するために使用される。以下の例は、基準インター予測モジュール１２１を用いて説明されるが、動き補償モジュール１６２が同じ技法を実装し、従って、同じ候補リストを生成できることが理解されるべきである。
【０１１２】
図９は、本開示の技法により候補リストを構築するための方法例を示したフローチャートである。図９の技法は、５つの候補を含むリストを参照して説明されるが、ここにおいて説明される技法は、その他のサイズのリストとともに使用することもできる。５つの候補は、マージインデックス（例えば、０乃至４）を各々有することができる。図９の技法は、一般的な映像コーダを参照して説明される。一般的映像コーダは、例えば、映像符号器、例えば、映像符号器２０、又は映像復号器、例えば、映像復号器３０、であることができる。
図９の例により候補リストを構築するために、映像コーダは、最初に、４つの空間的候補を検討する（９０２）。４つの空間的候補は、例えば、候補位置２５２Ａ、２５２Ｂ、２５２Ｃ、及び２５２Ｄを含むことができる。４つの空間的候補は、現在のＣＵ（例えば、ＣＵ２５０）と同じピクチャ内の４つのＰＵの動き情報に対応する。映像コーダは、リスト内の４つの空間的候補を特定の順序で検討することができる。例えば、候補位置２５２Ａを最初に検討することができる。候補位置２５２Ａが利用可能である場合は、候補位置２５２Ａをマージインデックス０に割り当てることができる。候補位置２５２Ａが利用可能でない場合は、映像コーダは、候補位置２５２Ａを候補リストに含めることができない。候補位置は、様々な理由で利用不能になることがある。例えば、候補位置が現在のピクチャ内に存在しない場合は、候補位置は利用不能である。他の例では、候補位置は、候補位置がイントラ予測される場合に利用不能であることがある。他の例では、候補位置は、候補位置が現在のＣＵと異なるスライス内にある場合に利用できないことがある。
【０１１３】
候補位置２５２Ａを検討後は、映像コーダは、次に、候補位置２５２Ｂを検討することができる。候補位置２５２Ｂが利用可能でありかつ候補位置２５２Ａと異なる場合は、映像コーダは、候補位置２５２Ｂを候補リストに加えることができる。この特定の文脈では、用語“同じ”及び“異なる”は、候補位置と関連付けられた動き情報に関するものである。従って、２つの候補位置は、それらが同じ動き情報を有する場合は同じであるとみなされ、それらが異なる動き情報を有する場合は異なるとみなされる。候補２５２Ａが利用可能でなかった場合は、映像コーダは、候補位置２５２Ｂをマージインデックス０に割り当てることができる。候補位置２５２Ａが利用可能であった場合は、映像コーダは、候補位置２５２をマージインデックス１に割り当てることができる。候補位置２５２Ｂが利用可能でないか又は候補位置２５２Ａと同じである場合は、映像コーダは、候補位置２５２Ｂをスキップし、候補リストに含めない。
【０１１４】
候補位置２５２Ｃも同様に映像コーダによってリストに含めるかどうかが検討される。候補位置２５２Ｃが利用可能でありかつ候補位置２５２Ｂ及び２５２Ｃと同じでない場合は、映像コーダは、候補位置２５２Ｃを次に利用可能なマージインデックスに割り当てる。候補位置２５２Ｃが利用不能であるか又は候補位置２５２Ａ及び２５２Ｂのうちの少なくとも１つと異なっていない場合は、映像コーダは、候補位置２５２Ｃを候補リストに含めない。次に、候補位置２５２Ｄが映像コーダによって検討される。候補位置２５２Ｄが利用可能でありかつ候補位置２５２Ａ、２５２Ｂ、及び２５２Ｃと同じでない場合は、映像コーダは、候補位置２５２Ｄを次に利用可能なマージインデックスに割り当てる。候補位置２５２Ｄが利用不能であるか又は候補位置２５２Ａ、２５２Ｂ、及び２５２Ｃのうちの少なくとも１つと異なっていない場合は、映像コーダは、候補位置２５２Ｄを候補リストに含めない。上例は、概して、候補２５２Ａ乃至Ｄを候補リストに含めることに関して個々に検討されているが、幾つかの実装では、すべての候補２５２Ａ乃至Ｄを最初に候補リストに追加し、のちに重複物を候補リストから取り除くことができる。
【０１１５】
映像コーダが最初の４つの空間的候補を検討後は、候補リストは、４つの空間的候補を含むことができるか又はリストは、４つよりも少ない空間的候補を含むことができる。リストが４つの空間的候補を含む場合は（９０４、はい）、映像コーダは時間的候補を検討する（９０６）。時間的候補は、現在のピクチャ以外のピクチャの共配置されたＰＵの動き情報に対応することができる。時間的候補が利用可能でありかつ最初の４つの空間的候補と異なる場合は、映像コーダは、時間的候補をマージインデックス４に割り当てる。時間的候補が利用可能でないか又は最初の４つの空間的候補のうちの１つと同じである場合は、映像コーダは、時間的候補を候補リストに含めない。従って、映像コーダが時間的候補を検討後は（９０６）、候補リストは、５つの候補（ブロック９０２で検討された最初の４つの空間的候補及びブロック９０４で検討された時間的候補）を含む場合と４つの候補（ブロック９０２で検討された最初の４つの空間的候補）を含む場合がある。候補リストが５つの候補を含む場合は（９０８、はい）、映像コーダはリストの構築を終了させる。
【０１１６】
候補リストが４つの候補を含む場合は（９０８、いいえ）、映像コーダは、第５の空間的候補を検討することができる（９１０）。第５の空間的候補は、例えば、候補位置２５２Ｅに対応することができる。位置２５２Ｅにおける候補が利用可能でありかつ位置２５２Ａ、２５２Ｂ、２５２Ｃ、及び２５２Ｄにおける候補と異なる場合は、映像コーダは、マージ４に割り当てられた候補リストに第５の空間的候補を加えることができる。位置２５２Ｅにおける候補が利用不納であるか又は候補位置２５２Ａ、２５２Ｂ、２５２Ｃ、及び２５２Ｄにおける１つと異ならない場合は、映像コーダは、位置２５２の候補を候補リストに含めることができない。従って、第５の空間的候補を検討後は（９１０）、リストは、５つの候補（ブロック９０２で検討された最初の４つの空間的候補及びブロック９１０で検討された第５の空間的候補）を含む場合と４つの候補（ブロック９０２で検討された最初の４つの空間的候補）を含む場合がある。
【０１１７】
候補リストが５つの候補を含む場合は（９１２、はい）、映像コーダは、候補リストの生成を終了させる。候補リストが４つの候補を含む場合は（９１２、いいえ）、映像コーダは、リストが５つの候補を含むまで（９１６、はい）人工的に生成された候補を加える（９１４）。
【０１１８】
映像コーダが第１の４つの空間的候補を検討後に、リストが４つよりも少ない数の空間的候補を含む場合は（９０４、いいえ）、映像コーダは、第５の空間的候補を検討することができる（９１８）。第５の空間的候補は、例えば、候補位置２５２Ｅに対応することができる。位置２５２Ｅにおける候補が利用可能でありかつ候補リストに既に含まれている候補と異なる場合は、映像コーダは、次の利用可能なマージインデックスに割り当てられた候補リストに第５の空間的候補を加えることができる。位置２５２Ｅの候補が利用可能でないか又は候補リストに既に含まれている候補のうちの１つと異ならない場合は、映像コーダは、位置２５２Ｅにおける候補を候補リストに含めることができない。映像コーダは、時間的候補を検討することができる（９２０）。時間的候補が利用可能でありかつ候補リストに既に含まれている候補と異なる場合は、映像コーダは、次の利用可能なマージインデックスに割り当てられた候補リストに時間的候補を加えることができる。時間的候補が利用可能でないか又は候補リストに既に含まれている候補のうちの１つと異ならない場合は、映像コーダは、時間的候補を候補リストに含めることができない。
【０１１９】
第５の空間的候補（ブロック９１８）及び時間的候補（ブロック９２０）を検討後に、候補リストが５つの候補を含む場合は（９２２、はい）、映像コーダは、候補リストの生成を終わらせる。候補リストが５つよりも少ない候補を含む場合は（９２２、いいえ）、映像コーダは、リストが５つの候補を含むまで（９１６、はい）人工的に生成された候補を加える（９１４）。
【０１２０】
本開示の技法により、マージ候補リストのサイズをマージ候補のうちの指定された数、例えば、図９の例では５つ、に固定させるために空間的候補及び時間的候補に引き続いて追加のマージ候補を人工的に生成することができる。追加のマージ候補は、例えば、結合された両方向性予測（ｂｉ−ｐｒｅｄｉｃｔｉｖｅ）マージ候補（候補１）と、スケーリングされた両方向性予測マージ候補（候補２）と、ゼロベクトルマージ／ＡＭＶＰ候補（候補３）と、を含むことができる。
【０１２１】
図１０は、結合されたマージ候補の例を示す。結合された両方向性予測マージ候補は、オリジナルのマージ候補を結合することによって生成することができる。特に、ｍｖＬ０及びｒｅｆＩｄｘＬ０又はｍｖＬ１及びｒｅｆＩｄｘＬ１を有する、オリジナルの候補のうちの２つの候補を、両方向性予測マージ候補を生成するために使用することができる。図１０は、結合された両方向性予測マージ候補の例を示す。図１０において、２つの候補がオリジナルのマージ候補リストに含められる。１方の候補の予測タイプは、リスト０単方向性予測（ｕｎｉ−ｐｒｅｄｉｃｔｉｖｅ）であり、他方の１つは、リスト１単方向性予測である。この例では、ｍｖＬ０_Ａ及びｒｅｆ０がリスト０から選択され、ｍｖＬ１_Ｂ及びｒｅｆ０がリスト１から選択され、次に、リスト０内にｍｖＬ０_Ａ及びｒｅｆ０、リスト１内にｍｖＬ１_Ｂ及びｒｅｆ０を有する両方向性マージ候補を生成し、候補リストに既に含まれている候補と異なるかどうかを検査することができる。それが異なる場合は、映像コーダは、両方向性予測マージ候補を候補リストに含めることができる。
【０１２２】
図１１は、スケーリングされたマージ候補の例を示す。スケーリングされた両方向性予測マージ候補は、オリジナルのマージ候補をスケーリングすることによって生成することができる。特に、ｍｖＬＸ及びｒｅｆＩｄｘＬＸを有することができる、オリジナルの候補からの１つの候補を、両方向性予測マージ候補を生成するために使用することができる。図１１は、スケーリングされた両方向性予測マージ候補の例を示す。図１１の例では、２つの候補がオリジナルマージ候補リスト内に含められる。一方の候補の予測タイプは、リスト０単方向性予測であり、他方の１つは、リスト１単方向性予測である。この例では、ｍｖＬ０_Ａ及びｒｅｆ０をリスト０から選択することができ、ｒｅｆ０は、リスト１内の基準インデックスｒｅｆ０’にコピーすることができる。次に、ｒｅｆ０及びｒｅｆ０’を用いてｍｖＬ０_ＡをスケーリングすることによってｍｖＬ０’_Ａを計算することができる。スケーリングは、ＰＯＣ距離に依存することができる。次に、リスト０内においてｍｖＬ０_Ａ及びｒｅｆ０及びリスト１内においてｍｖＬ０’_Ａ及びｒｅｆ０’を有する両方向性予測マージ候補を生成し、それが重複しているかどうかを検査することができる。それが重複していない場合は、マージ候補リストに加えることができる。
図１２は、ゼロベクトルマージ候補の例を示す。ゼロベクトルマージ候補は、ゼロベクトル及び参照することができる基準インデックスを結合することによって生成することができる。図１２は、ゼロベクトルマージ候補の例を示す。ゼロベクトル候補が重複していない場合は、それらは、マージ候補リストに加えることができる。各々の生成されたマージ候補に関して、動き情報をリスト内の前の候補のそれらと比較することができる。一例では、新しい生成された候補が候補リスト内に既に含まれている候補と異なる場合は、生成された候補がマージ候補リストに加えられる。候補が候補リスト内に既に含められている候補と異なるかどうかを決定するこのプロセスは、プルーニング（ｐｒｕｎｉｎｇ）と時々呼ばれる。プルーニングを用いることで、各々の新しい生成された候補をリスト内の既存の候補と比較することができ、それは、高い計算コストを有する可能性がある。幾つかの例では、プルーニング動作は、１つ以上の新しい候補を候補リスト内に既に存在する候補と比較することと、候補リスト内に既に存在する候補の重複物である新しい候補を加えないことと、を含むことができる。その他の例では、プルーニング動作は、１つ以上の新しい候補を候補リストに加えることと、のちに重複する候補をリストから取り除くことと、を含むことができる。
【０１２３】
本開示の技法は、幾つかの例では、先行する技法と比較して単純化および改良を提供することができる。本開示の技法は、幾つかの例では、プルーニング動作を結合された両方向性予測候補に限定することを含み、結合された両方向性予測候補のみがリスト内の候補と比較されることを意味する。該例では、その他のすべての候補（例えば、スケーリングされた両方向性予測候補、ゼロ候補、及びｍｖ_ｏｆｆｓｅｔ候補）は、動き情報がリスト内の幾つかと同じである場合でも、比較することもプルーニングすることもできない。本開示の技法は、スケーリングされた両方向性予測候補を取り除くことと、それらを候補リスト内に含めるための検討をしないことと、をさらに含むことができる。
【０１２４】
本開示のさらなる技法により、上記の単純化によってもたらされる可能性のある性能損失を補償するために新しい候補（オフセット候補）を追加してゼロ候補と統合することができる。オフセット候補は、既存のマージ候補の動きベクトルにオフセットｍｖを加えることによって生成することができる。加えることができるオフセットｍｖｓは、例えば、（４、０）、（−４、０）、（０、４）、及び（０、−４）を含むことができる。これらのオフセット値は、オフセット候補を生成するために他の動きベクトルに加えることができる。示される以外のその他のオフセット値を使用することもできる。
【０１２５】
以下の表１は、Ｍｖ_ｏｆｆｓｅｔ候補の例を示す。表１に示される例として、第１の２つの候補は、空間的および時間的近隣物からである。最後の３つの候補は、既存の候補をオフセットすることによって生成される。
【表１】
0005908600.tif 000002
【０１２６】
本開示の技法により、ｍｖ_ｏｆｆｓｅｔ候補を生成するための手順は、次のステップを含むことができる。
１．既存のマージ候補が単方向性予測候補である場合は、既存のマージ候補に基づくｍｖ_ｏｆｆｓｅｔ候補は、表１のマージ候補３によって示されるように、既存のマージ候補の動きベクトルにオフセット値を加え、基準インデックスをコピーすることによって生成することができる。
２．既存のマージ候補が両方向性予測候補である場合は、既存のマージ候補に基づくｍｖ_ｏｆｆｓｅｔ候補は、以下のようにして生成することができる。
ａ．Ｌ０及びＬ１の２つの基準フレームが現在のフレームの同じ側からのものである場合は（前方及び後方）、ｍｖ_ｏｆｆｓｅｔ候補は、現在のフレームから遠い方の基準フレームを指し示す動きベクトルにオフセット値を加えることによって生成することができる。例えば、図１３Ａを参照。
【０１２７】
ｂ．Ｌ０及びＬ１の２つの基準フレームが現在のフレームの異なる側からのものである場合は、ｍｖ_ｏｆｆｓｅｔ候補は、一方のリストからのｍｖにオフセット値を加え、他方のリストからのｍｖから同じオフセット値を減じることによって生成することができる。例えば、図１３Ｂを参照。
【０１２８】
図１３Ａは、上のステップ２（ａ）によりｍｖ_ｏｆｆｓｅｔ候補を生成することの図形例を示す。図１３Ａにおいて、両方の基準フレーム（この例ではＮ−３及びＮ−２）が現在のフレームの同じ側にある。図１３Ａにおいて、両方の基準フレームとも現在のフレームに対して後方であるが、両方の基準フレームが現在のフレームに対して前方である例において同じ技法を使用することができる。基準フレームＮ−２は、関連付けられた動きベクトルｍｖ１を有しており、基準フレームＮ−３は、関連付けられた動きベクトルｍｖ２を有する。人工的な候補を生成するために、遠い方の基準フレームを指し示す動きベクトルにｍｖ_ｏｆｆｓｅｔが加えられ、それは、図１３Ａの例においては基準フレームＮ−３のｍｖ２である。従って、図１３Ａの例では、人工的に生成されたマージ候補は、基準フレームＮ−２の動き情報及び基準フレームＮ−３から導き出された動き情報（ｍｖ２＋ｍｖ_ｏｆｆｓｅｔ）を有する両方向性予測候補である。
【０１２９】
図１３Ｂは、上のステップ２（ｂ）によりｍｖ_ｏｆｆｓｅｔ候補を生成することの図形例を示す。図１３Ｂにおいて、１つの基準フレーム（Ｎ−１）が現在のフレームに対して後方であり、１つの基準フレーム（Ｎ＋１）が現在のフレームに対して前方である。基準フレームＮ−１は、関連付けられた動きベクトルｍｖ１を有しており、基準フレームＮ＋１は、関連付けられた動きベクトルｍｖ２を有する。人工的な候補を生成するために、一方の基準フレームの動きベクトルにｍｖ_ｏｆｆｓｅｔが加えられ、他方の基準フレームの動きベクトルから減じられる。従って、図１３Ｂの例では、人工的に生成されたマージ候補は、基準フレームＮ−１から導き出された動き情報及び基準フレームＮ＋１から導き出された動き情報を有する両方向性予測候補である。
【０１３０】
本開示の技法により、ゼロ候補をオフセット候補内に組み入れることができる。該技法では、ゼロ候補は、次のようにオフセット候補の前に条件付きで加えることができる。
・空間的及び時間的近隣物において候補が見つからない場合は、ｍｖ＝（０，０）ｒｅｆｉｄｘ＝０がオフセット候補の前に加えられる。
【０１３１】
・空間的及び時間的近隣物において候補ｍｖ＝（０，０）ｒｅｆｉｄｘ＝０が既に見つかっている場合は、ｍｖ＝（０，０）ｒｅｆｉｄｘ＝１がオフセット候補の前に加えられる。
【０１３２】
本開示の追加の技法により、最終的な追加のマージ候補は下記を含むことができる。
候補１：結合された両方向性予測候補（プルーニング動作あり）
候補２：ゼロが組み入れられた候補を有するオフセット（プルーニング動作なし）
“候補２”内の候補はプルーニングを必要としないため、候補１及び２は、並行して生成することができる。
【０１３３】
図１４は、本開示で説明される技法の例を示したフローチャートである。図１４の技法は、映像コーダ、例えば、映像符号器２０又は映像復号器３０、によって実施することができる。映像復号器は、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定することができる（１４２）。空間的候補の組は、現在の部分に隣接する現在の映像フレームの近隣部分に対応することができる。各空間的候補は、関連付けられた動き情報を有する。映像コーダは、現在の映像フレームの現在の部分と関連付けられた時間的候補を決定することもできる（１４４）。時間的候補は、基準映像フレームの一部分に対応することができ、時間的候補は、関連付けられた動き情報を有する。
【０１３４】
空間的候補の組の部分組及び時間的候補に基づき、映像コーダは、候補のリストを生成することができる（１４６）。候補リストが最大数未満の候補を含むことに応答して、映像コーダは、人工的に生成された候補を候補のリストに加えることができる（１４８）。人工的に生成された候補は、部分組の空間的候補又は時間的候補の動き情報と同じである動き情報を有することができる。リスト内に既に含まれている候補の動き情報と同じ動き情報を有する人工的に生成された候補を候補のリストに含めることによって、コーダの複雑さを低減させることができる。
【０１３５】
空間的候補の組は、同じ動き情報を有する２つ以上の空間的候補を含むことができ、他方、空間的候補の部分組は、２つ以上の空間的候補のうちの１つのみを含む。従って、空間的候補を取り除くか又はプルーニングし、より一意の候補を含めることによって、例えば、レート−歪みメトリックによって測定される映像コーディング品質を向上させることができる。空間的候補をプルーニングするが人工的に生成された候補をプルーニングしないことの組み合わせは、優れた映像コーディング品質と低減された複雑さの両方を提供する希望される折衷を提供することができる。
【０１３６】
１つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において１つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。このように、コンピュータによって読み取り可能な媒体は、概して、（１）非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は（２）通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
【０１３７】
一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非遷移的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、Ｂｌｕ−ｒａｙディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは、通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
【０１３８】
命令は、１つ以上のプロセッサ、例えば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、１つ以上の回路又は論理素子内に完全に実装することが可能である。
【０１３９】
本開示の技法は、無線ハンドセット、ＩＣ又は一組のＩＣ（例えば、チップセット）を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように１つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
【０１４０】
様々な例が説明されている。これらの及びその他の例は、以下の請求項の適用範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［１］  映像データをコーディングする方法であって、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定することであって、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有することと、前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定することであって、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有することと、空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成することと、前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えることであって、前記人工的に生成された候補は、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有することと、を備える、方法。
［２］  空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む［１］に記載の方法。
［３］  空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成することは、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことを備える［１］に記載の方法。
［４］  前記人工的に生成された候補を前記候補リストに加えることは、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることを備える［１］に記載の方法。
［５］  前記人工的に生成された候補は、スケーリングされない両方向性予測候補である［１］に記載の方法。
［６］  前記人工的に生成された候補は、ゼロ候補である［１］に記載の方法。
［７］  前記人工的に生成された候補は、動きベクトルオフセット候補である［１］に記載の方法。
［８］  第２の人工的に生成された候補を生成することであって、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成されることをさらに備える［１］に記載の方法。
［９］  マージモードを用いて前記現在の映像フレームの前記現在の部分をコーディングすることであって、前記マージモードのための動き情報は、前記候補リストに基づいて決定されることをさらに備える［１］に記載の方法。
［１０］  前記方法は、映像符号器によって実施され、前記方法は、前記候補リストから候補を選択することと、前記選択された候補のインデックスを示す構文要素を生成することと、をさらに備える［１］に記載の方法。
［１１］  前記方法は、映像復号器によって実施され、前記方法は、前記候補リストから候補を識別する構文要素を受信することと、前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号することと、をさらに備える［１］に記載の方法。
［１２］  映像データをコーディングするためのデバイスであって、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定し、前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定し、空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成し、及び前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えるように構成された映像コーダを備え、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有し、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有し、前記人工的に生成された候補は、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する、デバイス。
［１３］  空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む［１２］に記載のデバイス。
［１４］  前記映像コーダは、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことによって空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成する［１２］に記載のデバイス。
［１５］  前記映像コーダは、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えることによって前記人工的に生成された候補を前記候補リストに加える［１２］に記載のデバイス。
［１６］  前記人工的に生成された候補は、スケーリングされない両方向性予測候補である［１２］に記載のデバイス。
［１７］  前記人工的に生成された候補は、ゼロ候補である［１２］に記載のデバイス。
［１８］  前記人工的に生成された候補は、動きベクトルオフセット候補である［１２］に記載のデバイス。
［１９］  前記映像コーダは、第２の人工的に生成された候補を生成するようにさらに構成され、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される［１２］に記載のデバイス。
［２０］  前記映像コーダは、マージモードを用いて前記現在の映像フレームの前記現在の部分をコーディングするようにさらに構成され、前記マージモードのための動き情報は、前記候補リストに基づいて決定される［１２］に記載のデバイス。
［２１］  前記映像コーダは、映像符号器であり、前記映像符号器は、前記候補リストから候補を選択し及び前記選択された候補のインデックスを示す構文要素を生成するように構成される［１２］に記載のデバイス。
［２２］  前記映像コーダは、映像復号器であり、前記映像復号器は、前記候補リストから候補を識別する構文要素を受信し及び前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号するように構成される［１２］に記載のデバイス。
［２３］  前記デバイスは、集積回路、マイクロプロセッサ、及び前記映像コーダを含む無線通信デバイスのうちの少なくとも１つを備える［１２］に記載のデバイス。
［２４］  映像データをコーディングするためのデバイスであって、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定するための手段であって、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有する手段と、前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定するための手段であって、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有する手段と、空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成するための手段と、前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えるための手段であって、前記人工的に生成された候補は、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する手段と、を備える、デバイス。
［２５］  空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む［２４］に記載のデバイス。
［２６］  空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成するための前記手段は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うための手段を備える［２４］に記載のデバイス。
［２７］  前記人工的に生成された候補を前記候補リストに加えるための前記手段は、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を加えるための手段を備える［２４］に記載のデバイス。
［２８］  前記人工的に生成された候補は、スケーリングされない両方向性予測候補である［２４］に記載のデバイス。
［２９］  前記人工的に生成された候補は、ゼロ候補である［２４］に記載のデバイス。
［３０］  前記人工的に生成された候補は、動きベクトルオフセット候補である［２４］に記載のデバイス。
［３１］  第２の人工的に生成された候補を生成するための手段であって、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される手段、をさらに備える［２４］に記載のデバイス。
［３２］  マージモードを用いて前記現在の映像フレームの前記現在の部分をコーディングするための手段であって、前記マージモードのための動き情報は、前記候補リストに基づいて決定される手段、をさらに備える［２４］に記載のデバイス。
［３３］  前記デバイスは、映像符号器を備え、前記デバイスは、前記候補リストから候補を選択するための手段と、前記選択された候補のインデックスを示す構文要素を生成するための手段と、をさらに備える［２４］に記載のデバイス。
［３４］  前記デバイスは、映像復号器を備え、前記デバイスは、前記候補リストから候補を識別する構文要素を受信するための手段と、前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号するための手段と、をさらに備える［２４］に記載のデバイス。
［３５］  コンピュータによって読み取り可能な記憶媒体であって、実行されたときに、現在の映像フレームの現在の部分と関連付けられた空間的候補の組を決定し、前記現在の映像フレームの前記現在の部分と関連付けられた時間的候補を決定し、空間的候補の前記組の部分組及び前記時間的候補に基づいて候補リストを生成し、及び前記候補リストが指定された数よりも少ない候補を備えることに応答して、人工的に生成された候補を前記候補リストに加えることを１つ以上のプロセッサに行わせる命令を格納し、空間的候補の前記組は、前記現在の部分に隣接する前記現在の映像フレームの近隣部分に対応し、前記空間的候補の各々は、関連付けられた動き情報を有し、前記時間的候補は、基準映像フレームの一部分に対応し、及び、前記時間的候補は、関連付けられた動き情報を有し、前記人工的に生成された候補は、前記部分組の空間的候補の動き情報と同じであるか又は前記時間的候補の動き情報と同じである動き情報を有する、コンピュータによって読み取り可能な記憶媒体。
［３６］  空間的候補の前記組は、前記同じ動き情報を有する２つ以上の空間的候補を備え、空間的候補の前記部分組は、前記２つ以上の空間的候補のうちの１つのみを含む［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［３７］  前記命令は、重複する動き情報を有する候補を前記候補リストから除外するためのプルーニング動作を行うことによって空間的候補の前記組の前記部分組及び前記時間的候補に基づいて前記候補リストを生成することを前記１つ以上のプロセッサに行わせる［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［３８］  前記命令は、前記人工的に生成された候補に関して１つ以上のプルーニング動作を行わずに前記人工的に生成された候補を前記候補リストに加えることを前記１つ以上のプロセッサに行わせる［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［３９］  前記人工的に生成された候補は、スケーリングされない両方向性予測候補である［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［４０］  前記人工的に生成された候補は、ゼロ候補である［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［４１］  前記人工的に生成された候補は、動きベクトルオフセット候補である［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［４２］  実行されたときに、第２の人工的に生成された候補を生成することを前記１つ以上のプロセッサに行わせる命令をさらに備え、前記人工的に生成された候補及び前記第２の人工的に生成された候補は、並行して生成される［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［４３］  実行されたときに、マージモードを用いて前記現在の映像フレームの前記現在の部分をコーディングすることを前記１つ以上のプロセッサに行わせるさらなる命令を格納し、前記マージモードのための動き情報は、前記候補リストに基づいて決定される［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［４４］  前記１つ以上のプロセッサは、映像符号器を備え、前記コンピュータによって読み取り可能な記憶媒体は、実行されたときに、前記候補リストから候補を選択し、及び前記選択された候補のインデックスを示す構文要素を生成することを前記１つ以上のプロセッサに行わせるさらなる命令を格納する［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
［４５］  前記１つ以上のプロセッサは、映像復号器を備え、前記コンピュータによって読み取り可能な記憶媒体は、実行されたときに、前記候補リストから候補を識別する構文要素を受信し及び前記識別された候補の動き情報を用いて前記現在の映像フレームの前記現在の部分を復号することを前記１つ以上のプロセッサに行わせるさらなる命令を格納する［３５］に記載のコンピュータによって読み取り可能な記憶媒体。
【図１】
0005908600.tif 000003
【図２】
0005908600.tif 000004
【図３】
0005908600.tif 000005
【図４】
0005908600.tif 000006
【図５】
0005908600.tif 000007
【図６】
0005908600.tif 000008
【図７】
0005908600.tif 000009
【図８】
0005908600.tif 000010
【図９】
0005908600.tif 000011
【図１０】
0005908600.tif 000012
【図１１】
0005908600.tif 000013
【図１２】
0005908600.tif 000014
【図１３Ａ】
0005908600.tif 000015
【図１３Ｂ】
0005908600.tif 000016
【図１４】
0005908600.tif 000017