(57)【要約】  本発明はビデオ復号化方法及びビデオ・デコーダを開示する。方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、シンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又はシンタックス要素２に対応するコンテキスト・モデルはコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。本発明によれば、より少ないストレージ空間がコンテキスト・モデルにより占有されることが可能である。
2021536710.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ復号化方法であって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含む、ステップと、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップであって、前記現在ブロックにおける前記シンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は前記現在ブロックにおける前記シンタックス要素２に関するエントロピー復号化は前記コンテキスト・モデルを使用することにより完了する、ステップと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するステップと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するステップと
を含む方法。
【請求項２】
ビデオ復号化方法であって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含む、ステップと、
前記エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、前記現在ブロックにおける前記シンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は前記現在ブロックにおける前記シンタックス要素２に対応するコンテキスト・モデルは前記事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に対応する前記コンテキスト・モデルに基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するステップと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するステップと
を含む方法。
【請求項３】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３である、請求項２に記載の方法。
【請求項４】
前記現在ブロックにおける前記シンタックス要素１に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、
前記現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素１のコンテキスト・インデックスを決定することを含み、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素１に対応する前記コンテキスト・モデルを示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素２に対応するコンテキスト・モデルが前記事前に設定されたコンテキスト・モデル・セットから決定されることは、
前記現在ブロックの前記左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素２のコンテキスト・インデックスを決定することを含み、前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素２に対応する前記コンテキスト・モデルを示すために使用される、請求項２又は３に記載の方法。
【請求項５】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である、請求項４に記載の方法。
【請求項６】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である、請求項４に記載の方法。
【請求項７】
前記現在ブロックにおける前記シンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用される、請求項１−６のうちの何れか１項に記載の方法。
【請求項８】
ビデオ復号化方法であって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素３又は前記現在ブロックにおけるシンタックス要素４を含む、ステップと、
前記エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、前記現在ブロックにおける前記シンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は前記現在ブロックにおける前記シンタックス要素４に対応するコンテキスト・モデルは前記事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に対応する前記コンテキスト・モデルに基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するステップと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するステップと
を含む方法。
【請求項９】
前記事前に設定されたコンテキスト・モデル・セットは、５つのコンテキスト・モデルを含む、請求項８に記載の方法。
【請求項１０】
前記現在ブロックにおける前記シンタックス要素３は、merge_idxであり、前記現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は前記現在ブロックにおける前記シンタックス要素４は、affine_merge_idxであり、前記現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素３は、merge_idxであり、前記現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は前記現在ブロックにおける前記シンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される、請求項８又は９に記載の方法。
【請求項１１】
ビデオ復号化方法であって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含む、ステップと、
前記現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、前記現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定するステップと、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素の前記コンテキスト・インデックスの前記値に基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するステップと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するステップと
を含む方法。
【請求項１２】
前記現在ブロックにおける前記シンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用される、請求項１１に記載の方法。
【請求項１３】
前記現在ブロックの前記左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、前記現在ブロックの前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定する前記ステップは、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素の前記コンテキスト・インデックスの前記値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定するステップを含み、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素２の前記値を示し、
availableLは、前記左隣接ブロックが利用可能であるか否かを示し、availableAは、前記上隣接ブロックが利用可能であるか否かを示す、請求項１１又は１２に記載の方法。
【請求項１４】
ビデオ・デコーダであって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含み、前記エントロピー復号化ユニットは、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成され、前記現在ブロックにおける前記シンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は前記現在ブロックにおける前記シンタックス要素２に関するエントロピー復号化は前記コンテキスト・モデルを使用することにより完了する、エントロピー復号化ユニットと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するように構成された再構成ユニットと
を含むビデオ・デコーダ。
【請求項１５】
ビデオ・デコーダであって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含み、前記エントロピー復号化ユニットは、前記エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、前記現在ブロックにおける前記シンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は前記現在ブロックにおける前記シンタックス要素２に対応するコンテキスト・モデルは前記事前に設定されたコンテキスト・モデル・セットから決定され、前記エントロピー復号化ユニットは、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に対応する前記コンテキスト・モデルに基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するように構成された再構成ユニットと
を含むビデオ・デコーダ。
【請求項１６】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３である、請求項１５に記載のビデオ・デコーダ。
【請求項１７】
前記エントロピー復号化ユニットは、具体的には、
前記現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素１のコンテキスト・インデックスを決定するように構成され、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素１に対応する前記コンテキスト・モデルを示すために使用され、又は
前記エントロピー復号化ユニットは、具体的には、
前記現在ブロックの前記左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素２のコンテキスト・インデックスを決定するように構成され、前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素２に対応する前記コンテキスト・モデルを示すために使用される、請求項１５又は１６に記載のビデオ・デコーダ。
【請求項１８】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である、請求項１７に記載のビデオ・デコーダ。
【請求項１９】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である、請求項１７に記載のビデオ・デコーダ。
【請求項２０】
前記現在ブロックにおける前記シンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用される、請求項１４−１９のうちの何れか１項に記載のビデオ・デコーダ。
【請求項２１】
ビデオ・デコーダであって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素３又は前記現在ブロックにおけるシンタックス要素４を含み、前記エントロピー復号化ユニットは、前記エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、前記現在ブロックにおける前記シンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は前記現在ブロックにおける前記シンタックス要素４に対応するコンテキスト・モデルは前記事前に設定されたコンテキスト・モデル・セットから決定され、前記エントロピー復号化ユニットは、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に対応する前記コンテキスト・モデルに基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するように構成された再構成ユニットと
を含むビデオ・デコーダ。
【請求項２２】
前記事前に設定されたコンテキスト・モデル・セットは、５つのコンテキスト・モデルを含む、請求項２１に記載のビデオ・デコーダ。
【請求項２３】
前記現在ブロックにおける前記シンタックス要素３は、merge_idxであり、前記現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は前記現在ブロックにおける前記シンタックス要素４は、affine_merge_idxであり、前記現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素３は、merge_idxであり、前記現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は前記現在ブロックにおける前記シンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される、請求項２１又は２２に記載のビデオ・デコーダ。
【請求項２４】
ビデオ・デコーダであって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含み、前記エントロピー復号化ユニットは、前記現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、前記現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定し、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素の前記コンテキスト・インデックスの前記値に基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するように構成された再構成ユニットと
を含むビデオ・デコーダ。
【請求項２５】
前記現在ブロックにおける前記シンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用され、又は前記現在ブロックにおける前記シンタックス要素２は、affine_inter_flagであり、且つ、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用される、請求項２４に記載のビデオ・デコーダ。
【請求項２６】
前記エントロピー復号化ユニットは、具体的には、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素の前記コンテキスト・インデックスの前記値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定するように構成されており、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素２の前記値を示し、
availableLは、前記左隣接ブロックが利用可能であるか否かを示し、availableAは、前記上隣接ブロックが利用可能であるか否かを示す、請求項２４又は２５に記載のビデオ・デコーダ。
【請求項２７】
請求項１−１３のうちの何れか１項に記載の方法を実行するように構成された実行回路を含むビデオ・デコーダ。
【請求項２８】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合された不揮発性のコンピュータ読み取り可能な記憶媒体であって、前記不揮発性のコンピュータ読み取り可能な記憶媒体は、前記少なくとも１つのプロセッサにより実行されることが可能なコンピュータ・プログラムを記憶し、前記コンピュータ・プログラムが前記少なくとも１つのプロセッサにより実行されると、ビデオ・デコーダは、請求項１−１３のうちの何れか１項に記載の方法を実行するように動作することが可能である、ビデオ・デコーダ。
【請求項２９】
プロセッサにより実行されることが可能なコンピュータ・プログラムを記憶するように構成されたコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ・プログラムが前記少なくとも１つのプロセッサにより実行されると、請求項１−１３のうちの何れか１項に記載の方法が実行される、記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
本願は、2018年9月10日に中国国家知識産権局に出願された「ビデオ復号化方法及びビデオ・デコーダ」と題する中国特許出願第201811053068.0号に対する優先権を主張しており、参照によりその全体が本願に援用される。
【０００２】
技術分野
本願の実施態様は、一般に、ビデオ・コーディングの分野に関連し、より具体的にはビデオ復号化方法及びビデオ・デコーダに関連する。
【０００３】
背景
ビデオ・コーディング（ビデオ符号化及び復号化）は、幅広いデジタル・ビデオ・アプリケーションにおいて、例えば放送用デジタルＴＶ、インターネットやモバイル・ネットワークを介したビデオ伝送、ビデオ・チャットやビデオ会議のようなリアルタイム会話アプリケーション、ＤＶＤ及びブルーレイ・ディスク、ビデオ・コンテンツ捕捉編集のシステム及びカムコーダのセキュリティ・アプリケーションにおいて使用される。
【０００４】
１９９０年のＨ．２６１規格におけるブロック・ベースのハイブリッド・ビデオ・コーディング・モードの開発により、新たなビデオ・コーディング技術及びツールが開発されており、新たなビデオ・コーディング規格の基礎を築いている。その他のビデオ・コーディング規格は、MPEG-1ビデオ、MPEG-2ビデオ、ITU-T  H.262/MPEG-2、ITU-T  H.263、ITU-T  H.264/MPEG-4  Part10：アドバンスト・ビデオ・コーディング（Advanced  Video  Coding，AVC）、ITU-T  H.265／高効率ビデオ・コーディング（High  Efficiency  Video  Coding，HEVC）、及びそのような規格の拡張、例えば、そのような規格のスケーラビリティ及び／又は３Ｄ（三次元）拡張を含む。ビデオの制作及び利用が益々普及するにつれて、ビデオ・トラフィックは、通信ネットワーク及びデータ・ストレージにとって最大の負担になっている。従って、多くのビデオ・コーディング規格の目的の１つは、以前の規格と比較して、画質を犠牲にすることなくビット・レートを低減することである。最新の高効率ビデオ・コーディング(high  efficiency  video  coding，HEVC)は、画質を犠牲にすることなく、AVCの約2倍でビデオを圧縮することが可能であるが、HEVCと比較してビデオを更に圧縮するための新たな技術に対する緊急のニーズが依然として存在する。
【発明の概要】
【０００５】
本願の実施形態は、コンテキストを記憶するためにエンコーダ又はデコーダにより必要とされるスペースを減らすビデオ復号化方法及びビデオ・デコーダを提供する。
【０００６】
上記及び他の目的は独立請求項の対象事項により達成される。他の実装は従属請求項、明細書、及び添付図面から明らかである。
【０００７】
第１態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップであって、現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化はコンテキスト・モデルを使用することにより完了する、ステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【０００８】
現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、デコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、デコーダによりビデオ復号化を実行する復号化効率を改善する。更に、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・デコーダのより少ないストレージ空間が占有されることが可能である。
【０００９】
第２態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【００１０】
現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２について唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【００１１】
第２態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３である。
【００１２】
第２態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用され、又は
現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【００１３】
第２態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【００１４】
第２態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【００１５】
第１態様又は第２態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００１６】
第３態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【００１７】
現在ブロックにおけるシンタックス要素３及びシンタックス要素４は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素３及びシンタックス要素４について唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【００１８】
第３態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットは、５つのコンテキスト・モデルを含む。
【００１９】
第３態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、affine_merge_idxであり、現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【００２０】
第４態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定するステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値に基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【００２１】
第４態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００２２】
第４態様に関し、可能な実装において、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定するステップは、
現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定するステップを含み、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素２の値を示し、
availableLは、左隣接ブロックが利用可能であるか否かを示し、availableAは、上隣接ブロックが利用可能であるか否かを示す。
【００２３】
第５態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニットは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定し、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値に基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００２４】
第５態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００２５】
第５態様に関し、可能な実装において、可能な実装において、エントロピー復号化ユニットは、具体的には、
現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定するように構成されており、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素２の値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素２の前記値を示し、
availableLは、左隣接ブロックが利用可能であるか否かを示し、availableAは、上隣接ブロックが利用可能であるか否かを示す。
【００２６】
第６態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成され、現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化はコンテキスト・モデルを使用することにより完了する、エントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００２７】
第７態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００２８】
第７態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３である。
【００２９】
第７態様に関し、可能な実装において、エントロピー復号化ユニットは、具体的には、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定するように構成され、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用され、又は
エントロピー復号化ユニットは、具体的には、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定するように構成され、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【００３０】
第７態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【００３１】
第７態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【００３２】
第６態様又は第７態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００３３】
第８態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー復号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００３４】
第８態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットは、５つのコンテキスト・モデルを含む。
【００３５】
第８態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、affine_merge_idxであり、現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【００３６】
第９態様によれば、符号化方法が提供され、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、ステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。
【００３７】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第１態様を参照されたい。
【００３８】
第１０態様によれば、符号化方法が提供され、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。
【００３９】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第２態様を参照されたい。
【００４０】
第１１態様によれば、符号化方法が提供され、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。
【００４１】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第３態様を参照されたい。
【００４２】
第１２態様によれば、ビデオ・エンコーダが提供され、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニットであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されており、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、エントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力とを含む。
【００４３】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第４態様を参照されたい。
【００４４】
第１３態様によれば、ビデオ・エンコーダが提供され、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニットであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力とを含む。
【００４５】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第５態様を参照されたい。
【００４６】
第１４態様によれば、ビデオ・エンコーダが提供され、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニットであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー符号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力とを含む。
【００４７】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第６態様を参照されたい。
【００４８】
第１５態様によれば、本発明は、プロセッサ及びメモリを含む、ビデオ・ストリームを復号化する装置に関連する。メモリは命令を記憶し、命令は、第１態様、第２態様、第３態様、若しくは第４態様、又はそれらの任意の可能な実装における方法をプロセッサが実行することを可能にする。
【００４９】
第１６態様によれば、本発明は、プロセッサ及びメモリを含む、ビデオ・ストリームを復号化する装置に関連する。メモリは命令を記憶し、命令は、第７態様、第８態様、若しくは第９態様、又はそれらの任意の可能な実装における方法をプロセッサが実行することを可能にする。
【００５０】
第１７態様によれば、コンピュータ読み取り可能な記憶媒体が提案される。コンピュータ読み取り可能な記憶媒体は命令を記憶し、命令が実行されると、１つ以上のプロセッサはビデオ・データを符号化することが可能である。命令は、第１態様、第２態様、第３態様、第４態様、第７態様、第８態様、若しくは第９態様、又はそれらの任意の可能な実装における方法を１つ以上のプロセッサが実行することを可能にする。
【００５１】
第１８態様によれば、本発明はプログラム・コードを含むコンピュータ・プログラムに関連する。プログラム・コードがコンピュータ上で実行されると、第１態様、第２態様、第３態様、第４態様、第７態様、第８態様、若しくは第９態様、又はそれらの任意の可能な実装における方法が実行される。
【００５２】
１つ以上の実施形態の詳細が添付図面及び以下の説明において記載されている。他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００５３】
本願の実施態様又は背景における技術的解決策をより明確に説明するために、以下、本願の実施態様又は背景を説明するために必要とされる添付図面を簡単に説明する。
【００５４】
【図１】本発明の実施形態を実装するためのビデオ符号化システムの一例のブロック図である。
【００５５】
【図２】本発明の実施形態を実装するためのビデオ・エンコーダの例示的な構造を示すブロック図である。
【００５６】
【図３】本発明の実施形態を実装するためのビデオ・デコーダの例示的な構造を示すブロック図である。
【００５７】
【図４】図２のエンコーダ２０と図３のデコーダ３０とを含むビデオ・コーディング・システムを示す図である。
【００５８】
【図５】他の符号化装置又は復号化装置の一例を示すブロック図である。
【００５９】
【図６】一実施形態による現在ブロックの空間ドメイン及び時間ドメインにおける候補の動き情報の位置を示す概略図である。
【００６０】
【図７】一実施形態による現在ブロックと複数の隣接位置ブロックとの位置を示す概略図である。
【００６１】
【図８Ａ】一実施形態による構築制御ポイント動きベクトルを予測する方法を示すフローチャートである。
【００６２】
【図８Ｂ】一実施形態による構築制御ポイント動きベクトルを予測する方法を示すフローチャートである。
【００６３】
【図９Ａ】一実施形態によるインター予測方法を示すフローチャートである。
【００６４】
【図９Ｂ】一実施形態による構築制御ポイント動きベクトルを予測する方法を示すフローチャートである。
【００６５】
【図９Ｃ】一実施形態による動き補償ユニットの中心点に基づく動き補償ユニットの位置を示す概略図である。
【００６６】
【図１０】一実施形態によるビデオ復号化方法を示すフローチャートである。
【００６７】
【図１１】一実施形態に係るビデオ復号化方法を示すフローチャートである。
【００６８】
【図１２】一実施形態によるビデオ復号化方法を示すフローチャートである。
【００６９】
以下において、特に指定されない限り、同一の参照記号は同一の又は少なくとも機能的に同等な特徴を表す。
【発明を実施するための形態】
【００７０】
以下の説明において、本開示の一部を成し、例示として本発明の実施形態の特定の態様又は本発明の実施形態が使用される可能性のある特定の態様、を示す添付図面に対する参照が行われる。本発明の実施形態は、他の態様で使用される可能性があり、添付図面に示されていない構造的又は論理的な変更を含む可能性があることは理解されるべきである。従って、以下の詳細な説明は、限定としては解釈されないものとし、本発明の範囲は、添付の特許請求の範囲によって定められる。
【００７１】
例えば、説明される方法に関して開示される内容は、方法を実行するように構成された対応するデバイス又はシステムにも適用される可能性があり、その逆も可能であることが理解されるべきである。例えば、1つ以上の特定の方法ステップが説明される場合、対応するデバイスは、説明された１つ以上の方法ステップを実行するための機能ユニットのような１つ以上のユニット（例えば、１つ以上のステップを実行する１つのユニット、又は複数のステップのうちの１つ以上を各々が実行する複数のユニット）を、たとえそのような１つ以上のユニットが添付図面において明示的に説明も図示もされていなかったとしても、含む可能性がある。更に、例えば、機能ユニットのような１つ以上のユニットに基づいて、特定の装置が説明される場合、対応する方法は、１つ以上のユニットの機能を実行するための１つのステップ（例えば、１つ以上のユニットの機能を実行するための１つのステップ、又は複数のユニットのうちの１つ以上の機能を実行するために各々が使用される複数のステップ）を、たとえそのような１つ以上のステップが添付図面において明示的に説明も図示もされていなかったとしても、含む可能性がある。更に、本明細書で説明される様々な例示的な実施形態及び／又は態様の特徴は、特に指定されない限り、互いに組み合わせられる可能性があることは理解されるべきである。
【００７２】
ビデオ・コーディングは、通常、ビデオ又はビデオ・シーケンスを形成する一連のピクチャを処理する。ビデオ・コーディングの分野において、「ピクチャ（picture）」、「フレーム（frame）」及び「画像（image）」という用語は同義語として使用される可能性がある。本願（又は本開示）で使用されるビデオ・コーディングは、ビデオ符号化又はビデオ復号化を示す。ビデオ符号化は、ソース側で実行され、通常、ビデオ・ピクチャを表すのに必要なデータ量を減らすために（より効率的な記憶及び／又は伝送のために）オリジナル・ビデオ・ピクチャを（例えば、圧縮により）処理することを含む。ビデオ復号化は、宛先側で実行され、通常、ビデオ・ピクチャを再構成するために、エンコーダに関連する逆の処理を含む。実施形態におけるビデオ・ピクチャ（又は、以下で説明されるピクチャとして一般的に言及される）の「コーディング」は、ビデオ・シーケンスに関する「符号化」又は「復号化」として理解されるべきである。符号化及び復号化の組み合わせもまた、コーディング（符号化及び復号化）と言及される。
【００７３】
ロスレス・ビデオ・コーディングの場合、オリジナル・ビデオ・ピクチャを再構成することが可能であり、即ち、再構成されたビデオ・ピクチャはオリジナル・ビデオ・ピクチャと同じ質を有する（記憶及び伝送の間に、伝送ロス又は他のデータ・ロスは発生しないことを仮定している）。ロスレスでないビデオ・コーディングの場合、ビデオ・ピクチャを表現するために必要なデータ量を減らすために、量子化などによって更なる圧縮が実行され、ビデオ・ピクチャはデコーダ側で完全には再構成することができず、即ち、再構成されたビデオ・ピクチャの質は、オリジナル・ビデオ・ピクチャのものより劣る。
【００７４】
幾つかのＨ．２６１ビデオ・コーディング規格は、「ロスレスでないハイブリッド・ビデオ・コーディング」に関連している（即ち、サンプル・ドメインにおける空間的及び時間的な予測は、変換ドメインにおける量子化を適用するために２Ｄ変換コーディングと組み合わされる）。ビデオ・シーケンスの各ピクチャは、通常、重複しないブロックのセットに分割され、通常、ブロック・レベルでコーディングが実行される。具体的には、エンコーダ側において、ビデオは、通常、ブロック（ビデオ・ブロック）レベルで処理される、即ち符号化される。例えば、予測ブロックは、空間（イントラ・ピクチャ）予測及び時間（インター・ピクチャ）予測により生成され、予測ブロックは、残差ブロックを取得するために、現在ブロック（現在処理中の又は処理されるべきブロック）から減算され、残差ブロックは、変換ドメインにおいて変換され、量子化されて、伝送されるべきデータ量を減少させる（圧縮される）。デコーダ側では、エンコーダに対する逆処理が、符号化又は圧縮されたブロックに適用され、表現のために現在ブロックを再構成する。更に、エンコーダは、デコーダの処理ループを繰り返し、その結果、エンコーダ及びデコーダは、以後のブロックを処理、即ち符号化するために、同じ予測（例えば、イントラ予測及びインター予測）及び／又は再構成を生成する。
【００７５】
本明細書で使用されるように、「ブロック」という用語は、ピクチャ又はフレームの一部であってもよい。説明を容易にするために、ＩＴＵ−Ｔビデオ・コーディング・エキスパート・グループ(Video  Coding  Experts  Group，VCEG)及びＩＳＯ／ＩＥＣ動画エキスパート・グループ(Motion  Picture  Experts  Group，MPEG)のビデオ・コーディングに関する共同研究チーム(Joint  Collaboration  Team  on  Video  Coding，JCT-VC)によって開発された汎用ビデオ・コーディング(VVC：Versatile  Video  Coding)又は高効率ビデオ・コーディング(High-Efficiency  Video  Coding，HEVC)を参照して、本発明の実施形態を説明する。当業者は、本発明の実施形態がＨＥＶＣ又はＶＶＣに限定されず、ブロックはＣＵ、ＰＵ又はＴＵであってもよいことを理解する。ＨＥＶＣにおいて、ＣＴＵは、コーディング・ツリーとして示される四分木構造を使用することによって、複数のＣＵに分割される。ピクチャ領域がＣＵレベルでインター・ピクチャ（時間的）又はイントラ・ピクチャ（空間的）予測によりコーディングされるかどうかが決定される。各ＣＵは更に、ＰＵ分割タイプに基づいて、１つ、２つ、又は４つのＰＵに分割されてもよい。同じ予測プロセスが１つのＰＵ内で適用され、関連情報はＰＵに基づいてデコーダに送信される。ＰＵ分割タイプに基づいて予測プロセスを適用することにより、残差ブロックを取得した後に、ＣＵは、ＣＵに使用されるコーディング・ツリーに類似する別の四分木構造に基づいて、変換ユニット（transform  unit，TU）に分割される可能性がある。最新のビデオ圧縮技術の開発では、フレームは、コーディング・ブロックを分割するために、四分木プラス二分木（Quad-tree  and  binary  tree，QTBT）により分割される。ＱＴＢＴブロック構造では、ＣＵは正方形又は長方形であってもよい。ＶＶＣでは、コーディング・ツリー・ユニット（coding  tree  unit，CTU）は先ず四分木構造を使用することにより分割され、四分木リーフ・ノードは二分木構造を使用することにより更に分割される。二分木リーフ・ノードはコーディング・ユニット（ＣＵ）と言及され、その分割は、他の如何なる分割もなしに予測及び変換処理のために使用される。これは、ＣＵ、ＰＵ、ＴＵがＱＴＢＴコーディング・ブロック構造において同じブロック・サイズを有することを意味する。更に、多重分割、例えばトリプル・ツリー分割がＱＴＢＴブロック構造とともに使用される。
【００７６】
以下、エンコーダ２０、デコーダ３０、符号化システム１０、復号化システム４０の実施形態を、（図１０に基づいて本発明の実施形態をより詳細に説明する前に）図１−図４に基づいて説明する。
【００７７】
図１は、例示的な符号化システム１０、例えば本願（本開示）の技術を使用することが可能なビデオ符号化システム１０を示す概念的又は概略的なブロック図である。ビデオ符号化システム１０内のエンコーダ２０（例えば、ビデオ・エンコーダ２０）及びデコーダ３０（例えば、ビデオ・デコーダ３０）は、本願で説明される種々の例に従って．．．（分割／イントラ予測／．．．）のための技術を実行するように構成されている可能性があるデバイス例を表す。図１に示すように、符号化システム１０は、符号化されたピクチャ１３のような符号化されたデータ１３を、符号化されたデータ１３等を復号化する宛先デバイスへ提供するように構成されたソース・デバイス１２を含む。
【００７８】
ソース・デバイス１２は、エンコーダ２０を含み、追加的に又はオプションとして、ピクチャ・ソース１６、例えばピクチャ前処理ユニット１８のような前処理ユニット１８、及び、通信インターフェース又は通信ユニット２２を含む可能性がある。
【００７９】
ビデオ・ソース１６は、実世界のピクチャ等を捕捉するように構成された任意の種類のピクチャ捕捉デバイス、及び／又は、ピクチャ又はコメントを生成する任意の種類のデバイス（スクリーン・コンテンツ符号化の場合には、スクリーン上の何らかのテキストもまた、符号化対象のピクチャ又は画像の一部と考えられる）、例えば、コンピュータ・アニメーション・ピクチャを生成するように構成されたコンピュータ・グラフィックス処理ユニット、又は、実世界のピクチャ又はコンピュータ・アニメーション・ピクチャを取得及び／又は提供するように構成された任意の種類のデバイス（例えば、スクリーン・コンテンツ又はバーチャル・リアリティ（virtual  reality，VR）ピクチャ）、及び／又は、それらの任意の組み合わせ（例えば、拡張現実（augmented  reality，AR）ピクチャ）を含んでもよいし、又はそれらであってもよい。
【００８０】
（デジタル）ピクチャは、ルミナンス値を有するサンプルの２次元アレイ又はマトリックスであるか、又はそのように考えられてもよい。アレイ中のサンプルは、ピクセル（pixel）（ピクチャ要素（picture  element）の短縮形）又はペルと呼ばれてもよい。アレイ又はピクチャの水平及び垂直方向（又は軸）におけるサンプルの量は、ピクチャのサイズ及び／又は解像度を規定する。色の表現には、通常、３つの色成分が使用され、即ち、ピクチャは、３つのサンプル・アレイとして表現されてもよいし、又はそれを含んでもよい。ＲＢＧフォーマット又は色空間において、ピクチャは対応する赤、緑、及び青のサンプル・アレイを含む。しかしながら、ビデオ・コーディングにおいては、各サンプルは、通常、ルミナンス／クロミナンス・フォーマット又は色空間で表現され、例えば、ＹＣｂＣｒフォーマットのピクチャは、Ｙで示されるルミナンス成分（時にはＬで示される）とＣｂ及びＣｒで示される２つのクロミナンス成分を含む。ルミナンス（略称、ルマ）成分Ｙは、ルミナンス又はグレー・レベル強度を示し（例えば、両者はグレー・スケール・ピクチャでは同じである）、２つのクロミナンス成分（略称、クロマ）Ｃｂ及びＣｒはクロミナンス又は色情報成分を表す。従って、ＹＣｂＣｒフォーマットにおけるピクチャは、ルミナンス・サンプル値（Ｙ）のルミナンス・サンプル・アレイと、クロミナンス値（Ｃｂ及びＣｒ）の２つのクロミナンス・サンプル・アレイとを含む。ＲＧＢフォーマットのピクチャは、ＹＣｂＣｒフォーマットのピクチャにコンバート又は変換されることが可能であり、その逆も可能である。このプロセスは、色変換又はコンバージョンとも呼ばれる。ピクチャがモノクロである場合、そのピクチャはルミナンス・サンプル・アレイのみを含む可能性がある。
【００８１】
ピクチャ・ソース１６（例えば、ビデオ・ソース１６）は、例えば、ピクチャを捕捉するように構成されたカメラ、例えば、事前に捕捉された若しくは生成したピクチャを包含又は記憶するピクチャ・メモリのようなメモリ、及び／又はピクチャを取得若しくは受信するための任意のタイプの（内部又は外部）インターフェースであってもよい。カメラは、例えば、ソース・デバイスに一体化されたローカル・カメラ又は一体化カメラであってもよく、メモリは、ソース・デバイスに一体化されたローカル・メモリ又は一体化メモリであってもよい。インターフェースは、例えば、外部ビデオ・ソースからピクチャを受信するための外部インターフェースであってもよい。外部ビデオ・ソースは、例えば、カメラ、外部メモリ、又は外部ピクチャ生成デバイスのような外部ピクチャ捕捉デバイスである。外部ピクチャ生成デバイスは、例えば、外部コンピュータ・グラフィックス処理ユニット、コンピュータ、又はサーバーである。インターフェースは、任意のプロプライエタリ又は標準化されたインターフェース・プロトコルに従う任意のタイプのインターフェース、例えば有線又は無線インターフェース又は光インターフェースであるとすることが可能である。ピクチャ・データ１７を取得するためのインターフェースは、通信インターフェース２２と同じインターフェースであってもよいし、又は通信インターフェース２２の一部であってもよい。
【００８２】
前処理ユニット１８及び前処理ユニット１８により実行される処理とは異なり、ピクチャ１７及びピクチャ・データ１７（例えば、ビデオ・データ１６）はまた、オリジナル・ピクチャ１７又はオリジナル・ピクチャ・データ１７と呼ばれてもよい。
【００８３】
前処理ユニット１８は、（オリジナル）ピクチャ・データ１７を受信し、ピクチャ・データ１７に関して前処理を実行して、前処理されたピクチャ１９又は前処理されたピクチャ・データ１９を取得するように構成されている。例えば、前処理ユニット１８によって実行される前処理は、トリミング、カラー・フォーマット変換（例えば、ＲＧＢからＹＣｂＣｒへ）、色補正、又はノイズ低減を含む可能性がある。前処理ユニット１８はオプションの構成要素であってもよいことは理解されるであろう。
【００８４】
エンコーダ２０（例えば、ビデオ・エンコーダ２０）は、前処理されたピクチャ・データ１９を受信し、符号化されたピクチャ・データ２１を提供するように構成される（詳細は、例えば以下において図２又は図４に基づいて更に説明される）。一例では、エンコーダ２０は、ピクチャを符号化するように構成されることが可能である。
【００８５】
ソース・デバイス１２の通信インターフェース２２は、符号化されたピクチャ・データ２１を受信し、符号化されたピクチャ・データ２１を他のデバイス、例えば宛先デバイス１４又は任意の他のデバイスへ、記憶又は直接的な再構成のために送信するように構成されることが可能であり、又は符号化されたピクチャ・データ１３を相応して記憶し、及び／又は符号化されたデータ１３を他のデバイスに送信する前に、符号化されたピクチャ・データ２１を処理するように構成されることが可能である。他のデバイスは、例えば宛先デバイス１４、又は復号化又は記憶のために使用される他のデバイスである。
【００８６】
宛先デバイス１４は、デコーダ３０（例えば、ビデオ・デコーダ３０）を含み、追加的に又はオプションとして、通信インターフェース又は通信ユニット２８、後処理ユニット３２、及び表示デバイス３４を含む可能性がある。
【００８７】
例えば、宛先デバイス１４の通信インターフェース２８は、符号化されたピクチャ・データ２１又は符号化されたデータ１３を、ソース・デバイス１２又は他の任意のソースから直接的に受信するように構成される。任意の他のソースは、例えば記憶デバイスであり、記憶デバイスは、例えば符号化されたピクチャ・データの記憶デバイスである。
【００８８】
通信インターフェース２２及び通信インターフェース２８は、ソース・デバイス１２と宛先デバイス１４との間の直接的な通信リンク、又は任意のタイプのネットワークを介して、符号化されたピクチャ・データ２１又は符号化されたデータ１３を送信又は受信するように構成されることが可能である。直接的な通信リンクは、例えば、直接的な有線又は無線の接続であり、任意の種類のネットワークが、例えば有線又は無線ネットワーク若しくはそれらの任意の組み合わせ、又は任意の種類の私的なネットワーク若しくは公のネットワーク、又はそれらの任意の組み合わせである。
【００８９】
通信インターフェース２２は、例えば、符号化されたピクチャ・データ２１を、通信リンク又は通信ネットワークでの伝送のためのパケットのような適切なフォーマットにカプセル化するように構成されることが可能である。
【００９０】
通信インターフェース２２の対応する部分としての通信インターフェース２８は、符号化されたピクチャ・データ２１等を取得するために符号化されたデータ１３を非カプセル化するように構成されることが可能である。
【００９１】
通信インターフェース２２及び通信インターフェース２８の両方は、一方向通信インターフェース、例えば図１の符号化されたピクチャ・データ１３のために使用されるソース・デバイス１２から宛先デバイス１４へ向かう矢印として構成されることが可能であり、又は双方向通信インターフェースとして構成されることが可能であり、例えば接続を確立するためにメッセージを送信及び受信し、通信リンク及び／又は符号化されたピクチャ・データ伝送のようなデータ伝送に関連する他の任意の情報を確認及び交換するように構成されることが可能である。
【００９２】
デコーダ３０は、符号化されたピクチャ・データ２１を受信し、復号化されたピクチャ・データ３１又は復号化されたピクチャ３１を提供するように構成される（詳細は、例えば図３又は図５に基づいて、以下において更に説明される）。
【００９３】
宛先デバイス１４の後処理プロセッサ３２は、復号化されたピクチャ・データ１３１のような復号化されたピクチャ・データ３１（再構成されたピクチャ・データとも呼ばれる）を後処理して、後処理されたピクチャ３３のような後処理されたピクチャ・データ３３を取得するように構成される。後処理ユニット３２によって実行される後処理は、例えばカラー・フォーマット変換（例えば、ＹＣｂＣｒからＲＧＢへ）、色補正、トリミング、リサンプリング、又は表示デバイス３４による表示のための復号化されたピクチャ・データ３１を準備するための他の任意の処理を含む可能性がある。
【００９４】
宛先デバイス１４の表示デバイス３４は、後処理ピクチャ・データ３３を受信して、ピクチャをユーザー、ビューア等に表示するように構成されている。表示デバイス３４は、再構成されたピクチャを提示するように構成された任意のタイプのディスプレイ、例えば一体化された又は外部のディスプレイ又はモニタであってもよいし、又はそれらを含んでもよい。例えば、ディスプレイは、液晶ディスプレイ（liquid  crystal  display，LCD）、有機発光ダイオード（organic  light  emitting  diode，OLED）ディスプレイ、プラズマ・ディスプレイ、プロジェクタ、マイクロＬＥＤディスプレイ、液晶オン・シリコン（liquid  crystal  on  silicon，LCoS）ディスプレイ、デジタル光プロセッサ（digital  light  processor，DLP）、又は任意の他のタイプのディスプレイを含む可能性がある。
【００９５】
図１は、ソース・デバイス１２と宛先デバイス１４とを別々のデバイスとして描いているが、デバイスの実施形態はまた、ソース・デバイス１２と宛先デバイス１４の両方、又はソース・デバイス１２の機能と宛先デバイス１４の機能の両方、即ち、ソース・デバイス１２又は対応する機能と、宛先デバイス１４又は対応する機能とを含む可能性がある。そのような実施形態では、ソース・デバイス１２又は対応する機能と宛先デバイス１４又は対応する機能とは、同じハードウェア及び／又はソフトウェア、別個のハードウェア及び／又はソフトウェア、又はそれらの任意の組み合わせを使用することにより実装されもよい。
【００９６】
図１に示すソース・デバイス１２及び／又は宛先デバイス１４の機能／様々なユニットの機能又は機能の存在及び（正確な）分割は、実際のデバイス及び用途によって異なる可能性があることを、当業者は明細書に基づいて容易に理解する。
【００９７】
エンコーダ２０（例えば、ビデオ・エンコーダ２０）及びデコーダ３０（例えば、ビデオ・デコーダ３０）は、それぞれ、種々の適切な回路、例えば１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（digital  signal  processor，DSP）、特定用途向け集積回路（application-specific  integrated  circuit，ASIC）、フィールド・プログラマブル・ゲート・アレイ（field-programmable  gate  array，FPGA）、ディスクリート・ロジック、ハードウェア、又はそれらの任意の組み合わせのうちの任意の１つとして実現されることが可能性である。技術がソフトウェアで部分的に実装される場合、デバイスは、ソフトウェア命令を、適切な非一時的なコンピュータ読み取り可能な記憶媒体に記憶することが可能であり、本開示の技術を実行するために１つ以上のプロセッサを使用することによって、ハードウェアにおいて命令を実行することが可能である。前述の任意の内容（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ等を含む）が、１つ以上のプロセッサと考えられてもよい。ビデオ・エンコーダ２０及びビデオ・デコーダ３０は、それぞれ、１つ以上のエンコーダ又はデコーダに含まれる可能性があり、エンコーダ又はデコーダの任意の１つが、対応するデバイス内の組み合わされたエンコーダ／デコーダ（コーデック）の一部として統合される可能性がある。
【００９８】
ソース・デバイス１２は、ビデオ符号化デバイス又はビデオ符号化装置と言及されてもよい。宛先デバイス１４は、ビデオ復号化デバイス又はビデオ復号化装置と言及されてもよい。ソース・デバイス１２及び宛先デバイス１４は、それぞれ、ビデオ符号化デバイス又はビデオ符号化装置の一例とすることが可能である。
【００９９】
ソース・デバイス１２及び宛先デバイス１４は、それぞれ、任意のタイプのハンドヘルド又はステーショナリ・デバイスを含む様々なデバイスのうちの任意の１つ、例えば、ノートブック又はラップトップ・コンピュータ、携帯電話、スマートフォン、タブレット又はタブレット・コンピュータ、ビデオ・カメラ、デスクトップ・コンピュータ、セット・トップ・ボックス、テレビ、表示デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、ビデオ・ストリーミング伝送デバイス（コンテンツ・サービス・サーバー又はコンテンツ配信サーバー等）、放送受信デバイス、又は放送送信デバイスである可能性があり、任意のタイプのオペレーティング・システムを使用してもよいし、又は使用しなくてもよい。
【０１００】
場合によっては、ソース・デバイス１２及び宛先デバイス１４は無線通信用に装備されてもよい。従って、ソース・デバイス１２及び宛先デバイス１４は、無線通信デバイスであってもよい。
【０１０１】
場合によっては、図１に示すビデオ符号化システム１０は単なる一例に過ぎず、本願の技術は、符号化デバイスと復号化デバイスとの間で如何なるデータ通信も含む必要のないビデオ・コーディング設定（例えば、ビデオ符号化又はビデオ復号化）に適用される可能性がある。他の例において、データは、ローカル・メモリから検索されてもよいし、ネットワークを介してストリーミング等されてもよい。ビデオ符号化デバイスは、データを符号化し、そのデータをメモリに格納することが可能であり、及び／又はビデオ復号化デバイスは、データをメモリから検索し、そのデータを復号化することが可能である。幾つかの例では、符号化及び復号化は、互いに通信しないが、メモリへのデータを符号化し及び／又はメモリからデータを検索してデータを復号化するだけのデバイスによって実行される。
【０１０２】
ビデオ・エンコーダ２０を参照して説明された前述の例のそれぞれについて、ビデオ・デコーダ３０は、逆プロセスを実行するように構成さることが可能であることが理解されるはずである。シグナリング・シンタックス要素の場合、ビデオ・デコーダ３０は、シンタックス要素を受信及び解析し、それに応じて、関連するビデオ・データを復号化するように構成されることが可能である。幾つかの例では、ビデオ・エンコーダ２０は、符号化ビデオ・ビットストリームへの．．．を規定する１つ以上のシンタックス要素をエントロピー符号化することができる。このような例では、ビデオ・デコーダ３０は、このようなシンタックス要素を解析し、それに応じて、関連するビデオ・データを復号化することが可能である。
【０１０３】
エンコーダ＆符号化方法
【０１０４】
図２は、本願（開示）における技術を実装するように構成されたビデオ・エンコーダ２０の一例の概略的／概念的なブロック図である。図２の例では、ビデオ・エンコーダ２０は、残差計算ユニット２０４と、変換処理ユニット２０６と、量子化ユニット２０８と、逆量子化ユニット２１０と、逆変換処理ユニット２１２と、再構成ユニット２１４と、バッファ２１６と、ループ・フィルタ・ユニット２２０と、復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０と、予測処理ユニット２６０と、エントロピー符号化ユニット２７０とを含む。予測処理ユニット２６０は、インター予測ユニット２４４と、イントラ予測ユニット２５４と、モード選択ユニット２６２とを含むことが可能である。インター予測ユニット２４４は、動き推定ユニットと、動き補償ユニット（図面には示されていない）とを含むことが可能である。図２に示すビデオ・エンコーダ２０はまた、ハイブリッド・ビデオ・エンコーダ又はハイブリッド・ビデオ・コーデック・ベースのビデオ・エンコーダと言及されてもよい。
【０１０５】
例えば、残差計算ユニット２０４、変換処理ユニット２０６、量子化ユニット２０８、予測処理ユニット２６０、エントロピー符号化ユニット２７０は、エンコーダ２０の順方向信号経路を形成し、逆量子化ユニット２１０、逆変換処理ユニット部２１２、再構成ユニット２１４、バッファ２１６、ループ・フィルタ２２０、復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０、予測処理ユニット２６０等は、エンコーダの逆方向信号経路を形成する。エンコーダの逆方向信号経路は、デコーダ（図３のデコーダ３０を参照されたい）の信号経路に対応する。
【０１０６】
エンコーダ２０は、ピクチャ２０１又はピクチャ２０１のブロック２０３、例えばビデオ又はビデオ・シーケンスを形成する一連のピクチャにおけるピクチャを、入力２０２等を使用することにより受信する。ピクチャ・ブロック２０３はまた、現在のピクチャ・ブロック又は符号化対象のピクチャ・ブロックと言及される可能性があり、ピクチャ２０１は、現在のピクチャ又は符号化対象のピクチャと言及される可能性がある（特に、現在ピクチャがビデオ・コーディングにおける他のピクチャから区別される場合、例えば同じビデオ・シーケンス内の他のピクチャはまた、現在のピクチャのビデオ・シーケンスにおける以前に符号化及び／又は復号化されたピクチャを含む。）。
【０１０７】
分割
【０１０８】
エンコーダ２０の実施形態は、ピクチャ２０１を、ブロック２０３のような複数の重複しないブロックに分割するように構成された分割ユニット（図２には示されていない）を含むことが可能である。分割ユニットは、ビデオ・シーケンス内のすべてのピクチャに対して同一のブロック・サイズとブロック・サイズを規定する対応するラスタとを使用するように構成されることが可能であり、又は、ピクチャ、サブセット、又はピクチャ・グループ間のブロック・サイズを変更し、各ピクチャを対応するブロックに分割するように構成されることが可能である。
【０１０９】
一例では、ビデオ・エンコーダ２０の予測処理ユニット２６０は、前述の分割技術の任意の組み合わせを実行するように構成されてもよい。
【０１１０】
例えば、ピックチャ２０１において、ブロック２０３はまた、ルミナンス値（サンプル値）を有する２次元アレイ又はマトリクスであるか、又はそれらとして考えられてもよいが、ブロック２０３のサイズはピクチャ２０１のものより小さい。換言すれば、ブロック２０３は、例えば、１つのサンプル・アレイ（例えば、モノクロ・ピクチャ２０１の場合のルミナンス・アレイ）、３つのサンプル・アレイ（例えば、カラー・ピクチャの場合における１つのルミナンス・アレイ及び２つのクロミナンス・アレイ）、又は使用されるカラー・フォーマットに基づく他の任意の量及び／又はアレイのタイプを含むことが可能である。ブロック２０３の水平及び垂直方向（又は軸）におけるサンプルの量は、ブロック２０３のサイズを規定する。
【０１１１】
図２に示すエンコーダ２０は、ブロック毎にピクチャ２０１を符号化するように、例えば各ブロック２０３において符号化及び予測を実行するように構成される。
【０１１２】
残差計算
【０１１３】
残差計算ユニット２０４は、ピクチャ・ブロック２０３及び予測ブロック２６５（予測ブロック２６５に関する更なる詳細は以下において行われる）に基づいて、残差ブロック２０５を計算するように、例えば、予測ブロック２６５のサンプル値をサンプル毎に（ピクセル毎に）ピクチャ・ブロック２０３のサンプル値から減算することにより、サンプル・ドメインにおいて残差ブロック２０５を取得するように構成されている。
【０１１４】
変換
【０１１５】
変換処理ユニット２０６は、離散コサイン変換（discrete  cosine  transform，DCT）又は離散サイン変換（discrete  sine  transform，DST）のような変換を、残差ブロック２０５のサンプル値に適用し、変換ドメインにおいて変換係数２０７を取得するように構成されている。変換係数２０７はまた、残差変換係数と言及されてもよく、変換ドメインにおける残差ブロック２０５を示す。
【０１１６】
変換処理ユニット２０６は、ＤＣＴ／ＤＳＴの整数近似、例えばＨＥＶＣ／Ｈ．２６５で指定されている変換を適用するように構成されてもよい。この整数近似は、通常、直交ＤＣＴ変換に匹敵する因子によって比例的にスケーリングされる。順変換及び逆変換を通じて取得された残差ブロックのノルムを維持するために、追加的なスケール因子が変換プロセスの一部として適用される。スケール因子は、通常、幾つかの制約条件に基づいて選択され、例えば、２の冪乗、変換係数のビット深度、又はシフト演算に使用される精度と実装コストとの間のトレードオフに基づいて選択される。例えば、逆変換処理ユニット２１２を使用することにより、デコーダ３０側における逆変換に対して（相応に、逆変換処理ユニット２１２等を使用することにより、エンコーダ２０側における逆変換に対して）、特定のスケール因子が指定され、これに対応して、変換処理ユニット２０６を使用することにより、エンコーダ２０側における順変換に対して、対応するスケール因子が指定されてもよい。
【０１１７】
量子化
【０１１８】
量子化ユニット２０８は、スケール量子化やベクトル量子化などを適用することにより変換係数２０７を量子化し、量子化された変換係数２０９を取得するように構成される。量子化された変換係数２０９は、量子化された残差係数２０９とも呼ばれる。量子化プロセスは、幾つかの又は全ての変換係数２０７に関連するビット深度を低減することができる。例えば、ｎビット変換係数は、量子化中にｍビット変換係数に丸められる可能性があり、ここで、ｎはｍより大きい。量子化の程度は、量子化パラメータ（quantization  parameter，QP）を調整することによって修正されることが可能である。例えば、スケール量子化のために、異なるスケールが、より細かい又はより粗い量子化を達成するために適用されてもよい。より小さな量子化ステップはより細かい量子化に対応し、より大きな量子化ステップはより粗い量子化に対応する。適切な量子化ステップは、量子化パラメータ（quantization  parameter，QP）を使用することによって示されてもよい。例えば、量子化パラメータは、適切な量子化ステップの所定のセットのインデックスであってもよい。例えば、より小さな量子化パラメータはより細かい量子化（より小さな量子化ステップ）に対応し、より大きな量子化パラメータはより粗い量子化（より大きな量子化ステップ）に対応し、その逆も可能である。量子化は、量子化ステップによる除算と、逆量子化ユニット２１０等によって実行される対応する量子化又は逆量子化とを含んでもよいし、又は量子化ステップによる乗算を含んでもよい。ＨＥＶＣ等の幾つかの規格による実施形態では、量子化ステップを決定するために量子化パラメータが使用されてもよい。一般に、量子化ステップは、除算を含む式の固定小数点近似による量子化パラメータに基づいて計算される可能性がある。追加的なスケール因子が量子化及び逆量子化のために導入され、残差ブロックのノルムであって、量子化ステップのために使用される式の固定小数点近似で使用されるスケール及び量子化パラメータに起因して修正される可能性があるノルムを復元することが可能である。例示的な実装において、逆変換のスケールは逆量子化のスケールと組み合わせられてもよい。代替的に、カスタマイズされた量子化テーブルが使用され、エンコーダからデコーダへ、例えばビットストリームでシグナリングされてもよい。量子化はロスレスでない演算であり、より大きな量子化ステップはより大きなロスを示す。
【０１１９】
逆量子化ユニット２１０は、量子化ユニット２０８の逆量子化を量子化係数に適用して、逆量子化係数２１１を取得するように、例えば量子化ユニット２０８と同じ量子化ステップに基づいて又はそれを使用して、量子化ユニット２０８により適用される量子化方式の逆量子化方式を適用するように、構成される。逆量子化係数２１１はまた、逆量子化残差係数２１１とも呼ばれ、変換係数２０７に対応するが、量子化によって生じるロスは、通常、変換係数とは異なる。
【０１２０】
逆変換処理ユニット２１２は、変換処理ユニット２０６によって適用される変換の逆変換、例えば逆離散コサイン変換（discrete  cosine  transform，DCT）又は逆離散サイン変換（discrete  sine  transform，DST）を適用して、サンプル・ドメインにおける逆変換ブロック２１３を取得するように構成される。逆変換ブロック２１３はまた、逆変換逆量子化ブロック２１３又は逆変換残差ブロック２１３と言及されてもよい。
【０１２１】
再構成ユニット２１４（例えば、加算器２１４）は、予測ブロック２６５に逆変換ブロック２１３（即ち、再構成された残差ブロック２１３）を加算して、例えば再構成された残差ブロック２１３のサンプル値と予測ブロック２６５のサンプル値とを加算することにより、サンプル・ドメインにおいて再構成されたブロック２１５を取得するように構成される。
【０１２２】
オプションとして、ライン・バッファ２１６のようなバッファ・ユニット２１６（又は略称「バッファ」２１６）は、再構成されたブロック２１５とイントラ予測などのための対応するサンプル値とをバッファリング又は記憶するように構成される。他の実施形態では、エンコーダは、イントラ予測などの任意のタイプの推定及び／又は予測のために、バッファ・ユニット２１６に記憶されたフィルタリングされていない再構成ブロック及び／又は対応するサンプル値を使用するように構成されてもよい。
【０１２３】
例えば、エンコーダ２０の実施形態は、バッファ・ユニット２１６が、イントラ予測２５４のために再構成ブロック２１５を記憶するように構成されるだけでなく、ループ・フィルタ・ユニット２２０（図２には図示せず）のフィルタリングされたブロック２２１を記憶するようにも構成され、及び／又はバッファ・ユニット２１６と復号化済みピクチャ・バッファ・ユニット２３０とが１つのバッファを形成するように、構成されることが可能である。他の実施形態は、フィルタリングされたブロック２２１及び／又は復号化済みピクチャ・バッファ２３０（図２には示されていない）からのブロック又はサンプルを、イントラ予測２５４のための入力又は基礎として使用するために使用されることが可能である。
【０１２４】
ループ・フィルタ・ユニット２２０（又は、略称「ループ・フィルタ」２２０）は、フィルタリングされたブロック２２１を取得するために、再構成されたブロック２１５に関してフィルタリングを実行し、サンプル変換を円滑に行い、又はビデオ品質を改善するように構成される。ループ・フィルタ・ユニット２２０は、１つ以上のループ・フィルタ、例えばデブロッキング・フィルタ、サンプル・アダプティブ・オフセット（sample-adaptive  offset，ＳＡＯ）フィルタ、又は、バイラテラル・フィルタ、アダプティブ・ループ・フィルタ（adaptive  loop  filter，ＡＬＦ）、鮮鋭化又は平滑化フィルタ、又は協調フィルタ等の別のフィルタを表すように意図されている。ループ・フィルタ・ユニット２２０は、ループ内フィルタとして図２に示されているが、ループ・フィルタ・ユニット２２０は、他の構成では、ポスト・ループ・フィルタとして実装されてもよい。フィルタリングされたブロック２２１は、フィルタリング済みの再構成されたブロック２２１としても参照されてもよい。復号化済みピクチャ・バッファ２３０は、ループ・フィルタ・ユニット２２０が再構成されたコーディング・ブロックに対してフィルタリング処理を実行した後に、再構成されたコーディング・ブロックを記憶することが可能である。
【０１２５】
エンコーダ２０（対応して、ループ・フィルタ・ユニット２２０）の実施形態は、ループ・フィルタ・パラメータ（例えば、サンプル適応オフセット情報）を出力するために、例えばループ・フィルタ・パラメータを直接的に出力するために、又は例えばエントロピー符号化ユニット２７０又は何らかの他のエントロピー符号化ユニットがエントロピー符号化を実行した後に、ループ・フィルタ・パラメータを出力するために使用されることが可能であり、その結果、デコーダ３０は復号化などのために同じループ・フィルタ・パラメータを受信及び適用することが可能である。
【０１２６】
復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０は、ビデオ・データを符号化するためにビデオ・エンコーダ２０用に参照ピクチャ・データを記憶する参照ピクチャ・メモリであってもよい。ＤＰＢ２３０は、複数のメモリ、例えば、ダイナミック・ランダム・アクセス・メモリ（dynamic  random  access  memory，DRAM）（同期DRAM（synchronous  DRAM，SDRAM）、磁気抵抗ＲＡＭ（magnetoresistive  RAM，  MRAM）、又は抵抗ＲＡＭ（resistive  RAM，RRAM）を含む）、又は別のタイプのメモリのうちの任意のものであってもよい。ＤＰＢ２３０及びバッファ２１６は、同一のメモリ又は別個のメモリによって提供されてもよい。一例では、復号化済みピクチャ・バッファ（decoded  picture  buffer，DRB）２３０は、フィルタリングされたブロック２２１を記憶するように構成される。復号化済みピクチャ・バッファ２３０は、更に、同じ現在ピクチャ又は以前に再構成されたピクチャのような異なるピクチャの、以前に再構成されフィルタリングされたブロック２２１のような他の以前のフィルタリングされたブロックを記憶するように更に構成されることが可能であり、完全な以前の再構成された、即ち復号化されたピクチャ（及び対応する参照ブロック及び対応するサンプル）及び／又はイントラ予測等のための部分的に再構成された現在ピクチャ（及び対応する参照ブロック及び対応するサンプル）を提供することが可能である。一例では、再構成ブロック２１５がループ内フィルタリングなしに再構成される場合、復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０は、再構成ブロック２１５を記憶するように構成される。
【０１２７】
予測処理ユニット２６０はまた、ブロック予測処理ユニット２６０とも言及され、ブロック２０３（現在ピクチャ２０１の現在ブロック２０３）及び再構成されたピクチャ・データ、例えばバッファ２１６内の同じ（現在の）ピクチャからの参照サンプル、復号化済みピクチャ・バッファ２３０内の１つ以上の以前の復号化されたピクチャからの参照ピクチャ・データ２３１を受信又は取得し、そのデータを予測のために処理し、即ち、インター予測ブロック２４５又はイントラ予測ブロック２５５である可能性がある予測ブロック２６５を提供するように構成される。
【０１２８】
モード選択ユニット２６２は、予測ブロック２６５として予測モード（例えば、イントラ又はインター予測モード）及び／又は対応する予測ブロック２４５又は２５５を選択して、残差ブロック２０５を計算し、再構成ブロック２１５を再構成するように構成されることが可能である。
【０１２９】
モード選択ユニット２６２の実施形態は、予測モードを（例えば、予測処理ユニット２６０によりサポートされる予測モードから）選択するために使用されてもよい。予測モードは、最良の一致又は最小の残差（最小の残差は、伝送又は記憶における、より良い圧縮を意味する）を提供し、又は最小のシグナリング・オーバヘッド（最小のシグナリング・オーバヘッドは、伝送又は記憶における、より良い圧縮を意味する）を提供し、或いは両者を考慮する又はバランスをとる。モード選択ユニット２６２は、レート歪最適化（rate  distortion  optimization，RDO）に基づいて予測モードを決定するように、即ち、最小レート歪最適化を提供する予測モードを選択するように、又は関連するレート歪が少なくとも予測モード選択基準を満たす予測モードを選択するように構成されてもよい。
【０１３０】
エンコーダ２０の一例によって実行される、（例えば、予測処理ユニット２６０を用いることによる）予測処理及び（例えば、モード選択ユニット２６２を用いることによる）モード選択が、以下において詳細に説明される。
【０１３１】
上述したように、エンコーダ２０は、（所定の）予測モード・セットから最良の又は最適な予測モードを決定又は選択するように構成される。予測モード・セットは、例えば、イントラ予測モード及び／又はインター予測モードを含むことが可能である。
【０１３２】
イントラ予測モード・セットは、３５個の異なるイントラ予測モード、例えば、ＤＣ（又は平均）モード及び平面モードのような非方向性モード、又はＨ．２６５で規定されている方向性モードを含むことが可能であり、又は６７個のイントラ予測モード、例えばＤＣ（又は平均）モード及び平面モードのような非方向性モード、又はＨ．２６６で規定される発展した方向性モードを含むことが可能である。
【０１３３】
（可能な）インター予測モード・セットは、利用可能な参照ピクチャ（例えば、ＤＢＰ２３０に記憶されている復号化されたピクチャの少なくとも一部）及び他のインター予測パラメータに依存し、例えば、参照ピクチャ全体が使用されるか又は参照ピクチャの一部分のみが使用されるかどうか、例えば、現在ブロックの領域を囲むサーチ・ウィンドウ領域が、最良に合致する参照ブロックのために探索されるかどうかに依存し、及び／又は、ハーフ・サンプル及び／又は４分の１サンプル補間のようなサンプル補間が適用されるかどうかに依存する。
【０１３４】
前述の予測モードに加えて、スキップ・モード及び／又はダイレクト・モードも適用されることが可能である。
【０１３５】
予測処理ユニット２６０は、更に、ブロック２０３を、より小さなブロック・パーティション又はサブブロックに、例えば四分木（quad-tree，QT）分割、二分木（binary-tree，BT）分割、三分木又は三分探索木（triple-tree  or  ternary-tree，ＴＴ）分割、又はこれらの組み合わせを反復的に用いることにより分割し、ブロック・パーティション又はサブブロックのそれぞれに関して予測などを実行するように構成されてもよい。モード選択は、分割されたブロック２０３のツリー構造を選択することと、ブロック・パーティション又はサブブロックの各々に適用される予測モードを選択することとを含む。
【０１３６】
インター予測ユニット２４４は、動き推定（motion  estimation，ME）ユニット（図２には示されていない）と、動き補償（motion  compensation，MC）ユニット（図２には示されていない）とを含むことが可能である。動き推定ユニットは、動き推定を行うために、ピクチャ・ブロック２０３（現在ピクチャ２０１の現在ピクチャ・ブロック２０３）及び復号化されたピクチャ２３１、又は少なくとも１つ以上の以前に再構成されたブロック、例えば、以前に復号化されたピクチャ２３１とは異なる１つ以上の他の再構成されたブロックを受信又は取得するように構成される。例えば、ビデオ・シーケンスは、現在のピクチャ及び以前の復号化されたピクチャ３１を含む可能性がある。換言すれば、現在ピクチャ及び以前の復号化されたピクチャ３１は、ビデオ・シーケンスを形成する、又はピクチャ・シーケンスを形成するピクチャのシーケンスの一部であってもよい。
【０１３７】
例えば、エンコーダ２０は、同一のピクチャの複数の参照ブロック、又は複数の他のピクチャにおける異なるピクチャから、参照ブロックを選択し、参照ピクチャ（又は参照ピクチャ・インデックス）、及び／又は参照ブロックの位置（Ｘ−Ｙ座標）と現在ブロックの位置との間のオフセット（空間オフセット）を、インター予測パラメータとして動き推定ユニット（図２には示されていない）に提供するように構成されてもよい。このオフセットは、動きベクトル（motion  vector，MV）とも言及される。
【０１３８】
動き補償ユニットは、例えば、インター予測パラメータを取得、例えば受信し、インター予測パラメータに基づいて又はそれを使用することにより、インター予測を行ってインター予測ブロック２４５を取得するように構成される。動き補償ユニット（図２には示されていない）によって実行される動き補償は、動き推定によって決定される動き／ブロック・ベクトルに基づいて、予測ブロックをフェッチ又は生成すること（可能性として、サブ・サンプル精度で補間を実行することを含む）を含む可能性がある。補間フィルタリングの間に、追加サンプルが既知のサンプルから生成され、それにより、ピクチャ・ブロックを符号化するために使用される可能性がある候補予測ブロックの量を潜在的に増加させることが可能である。一旦、現在のピクチャ・ブロックのＰＵに使用される動きベクトルが受信されると、動き補償ユニット２４６は、動きベクトルが参照ピクチャ・リスト内で指し示す予測ブロックを位置決めすることが可能である。動き補償ユニット２４６は、更に、ブロック及びビデオ・スライスに関連するシンタックス要素を生成することが可能であり、その結果、ビデオ・デコーダ３０は、ビデオ・スライスのピクチャ・ブロックを復号化する場合にシンタックス要素を使用する。
【０１３９】
イントラ予測ユニット２５４は、例えば、同じピクチャのピクチャ・ブロック２０３（現在ピクチャ・ブロック）と、再構成された隣接ブロックのような１つ以上の以前の再構成ブロックとを取得、例えば受信して、イントラ推定を実行するように構成される。例えば、エンコーダ２０は、複数の（所定の）イントラ予測モードからイントラ予測モードを選択するように構成されることが可能である。
【０１４０】
エンコーダ２０の実施形態は、最適化基準に基づいて、例えば最小残差（例えば、現在のピクチャ・ブロック２０３に最も類似した予測ブロック２５５を提供するイントラ予測モード）又は最小レート歪に基づいて、イントラ予測モードを選択するように構成されてもよい。
【０１４１】
イントラ予測部２５４は、選択されたイントラ予測モードのイントラ予測パラメータに基づいて、イントラ予測ブロック２５５を決定するように更に構成される。何れにせよ、ブロックに使用されるイントラ予測モードを選択した後、イントラ予測ユニット２５４は、更に、エントロピー符号化ユニット２７０にイントラ予測パラメータを提供するように、即ち、ブロックに使用される選択されたイントラ予測モードを示す情報を提供するように構成される。一例では、イントラ予測ユニット２５４は、以下のイントラ予測技術の任意の組み合わせを実行するように構成されてもよい。
【０１４２】
エントロピー符号化ユニット２７０は、エントロピー符号化アルゴリズム又はスキーム（例えば、可変長コーディング（variable  length  coding，VLC）スキーム、コンテキスト適応ＶＬＣ（context  adaptive  VLC，CAVLC）スキーム、算術コーディング・スキーム、コンテキスト適応バイナリ算術コーディング（context  adaptive  binary  arithmetic  coding，CABAC）スキーム、シンタックス・ベースのコンテキスト適応バイナリ算術コーディング（syntax-based  context-adaptive  binary  arithmetic  coding,  SBAC）スキーム、確率区間分割エントロピー（probability  interval  partitioning  entropy,  PIPE）コーディング・スキーム、又は他のエントロピー符号化方法又は技術）を、量子化された残差係数２０９、インター予測パラメータ、イントラ予測パラメータ、及び／又はループ・フィルタ・パラメータのうちの１つ以上に適用して（又は何れにも適用せず）、出力２７２を使用することにより例えば符号化されたビットストリーム２１の形式で出力されることが可能な符号化されたピクチャ・データ２１を取得するように構成される。符号化されたビットストリームは、ビデオ・デコーダ３０に送信されてもよいし、又はビデオ・デコーダ３０による後の送信又は検索のために保管されてもよい。エントロピー符号化ユニット２７０は、符号化されつつある現在のビデオ・スライスの別のシンタックス要素に関してエントロピー符号化を実行するように更に構成されてもよい。
【０１４３】
ビデオ・エンコーダ２０の別の構造的な変形は、ビデオ・ストリームを符号化するように構成されてもよい。例えば、非変換ベースのエンコーダ２０は、幾つかのブロック又はフレームについて、変換処理ユニット２０６を使用せずに残差信号を直接的に量子化することができる。別の実装において、エンコーダ２０は、１つのユニットに結合される量子化ユニット２０８及び逆量子化ユニット２１０を有することが可能である。
【０１４４】
図３は、本願における技術を実装するように構成されたビデオ・デコーダ３０の一例を示す。ビデオ・デコーダ３０は、エンコーダ２０等によって符号化された符号化されたピクチャ・データ（例えば、符号化されたビットストリーム）２１を受信して、復号化されたピクチャ２３１を取得するように構成される。復号化処理において、ビデオ・デコーダ３０は、ビデオ・エンコーダ２０からビデオ・データ、例えば符号化ビデオ・スライスのピクチャ・ブロック及び関連するシンタックス要素を示す符号化ビデオ・ビットストリームを受信する。
【０１４５】
図３の例では、デコーダ３０は、エントロピー復号化ユニット３０４と、逆量子化ユニット３１０と、逆変換処理ユニット３１２と、再構成ユニット３１４（例えば、加算器３１４）と、バッファ３１６と、ループ・フィルタ３２０と、復号化済みピクチャ・バッファ３３０と、予測処理ユニット３６０とを含む。予測処理ユニット３６０は、インター予測ユニット３４４と、イントラ予測ユニット３５４と、モード選択ユニット３６２とを含んでもよい。幾つかの例では、ビデオ・デコーダ３０は、図２のビデオ・エンコーダ２０を参照して説明した符号化トラバースに対して概ね逆の復号化トラバースを実行することが可能である。
【０１４６】
エントロピー復号化ユニット３０４は、符号化されたピクチャ・データ２１に関してエントロピー復号化を実行し、量子化係数３０９、復号化されたコーディング・パラメータ（図３には示されていない）等、及び／又は、例えばインター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータ、及び／又は他のシンタックス要素（復号化されている）のうちの任意の１つ又は全てを取得するように構成される。エントロピー復号化ユニット３０４は、更に、インター予測パラメータ、イントラ予測パラメータ、及び／又は他のシンタックス要素を予測処理ユニット３６０に転送するように構成される。ビデオ・デコーダ３０は、ビデオ・スライス・レベルでのシンタックス要素及び／又はビデオ・ブロック・レベルでのシンタックス要素を受信することが可能である。
【０１４７】
逆量子化ユニット３１０は、逆量子化ユニット１１０と同じ機能を有してもよく、逆変換処理ユニット３１２は、逆変換処理ユニット２１２と同じ機能を有してもよく、再構成ユニット３１４は、再構成ユニット２１４と同じ機能を有してもよく、バッファ３１６は、バッファ２１６と同じ機能を有してもよく、ループ・フィルタ３２０は、ループ・フィルタ２２０と同じ機能を有してもよく、復号化済みピクチャ・バッファ３３０は、復号化済みピクチャ・バッファ２３０と同じ機能を有してもよい。
【０１４８】
予測処理ユニット３６０は、インター予測ユニット３４４及び内部予測ユニット３５４を含むことが可能である。インター予測ユニット３４４は、インター予測ユニット２４４と同様の機能を有してもよく、イントラ予測ユニット３５４は、イントラ予測ユニット２５４と同様の機能を有してもよい。予測処理ユニット３６０は、通常、ブロック予測を実行し、及び／又は符号化されたデータ２１から予測ブロック３６５を取得し、選択された予測モードに関する予測関連パラメータ及び／又は情報を、例えばエントロピー復号化ユニット３０４から（明示的又は黙示的に）受信又は取得するように構成される。
【０１４９】
ビデオ・スライスがイントラ符号化（Ｉ）として符号化されると、予測処理ユニット３６０のイントラ予測ユニット３５４は、現在フレーム又はピクチャの以前の復号化されたブロックからのデータ及びシグナリングされたイントラ予測モードに基づいて、現在のビデオ・スライスのピクチャ・ブロックに使用される予測ブロック３６５を生成するように構成される。ビデオ・フレームが、インター・コーディングされた（即ち、Ｂ又はＰ）スライスとして符号化されると、予測処理ユニット３６０のインター予測ユニット３４４（例えば、動き補償ユニット）は、エントロピー復号化ユニット３０４から受信した動きベクトル及び別のシンタックス要素に基づいて、現在のビデオ・スライスのビデオ・ブロックに使用される予測ブロック３６５を生成するように構成される。インター予測に関し、予測ブロックは、１つの参照ピクチャ・リスト内の参照ピクチャの１つから生成されてもよい。ビデオ・デコーダ３０は、ＤＰＢ３３０に記憶された参照ピクチャに基づくデフォルトの構成技術を使用することによって、リスト０及びリスト１の参照フレーム・リストを構成することができる。
【０１５０】
予測処理ユニット３６０は、動きベクトル及び他のシンタックス要素を解析することにより、現在のビデオ・スライスのビデオ・ブロックに使用される予測情報を決定し、予測情報を使用して、復号化されつつある現在のビデオ・ブロックに使用される予測ブロックを生成するように構成される。例えば、予測処理ユニット３６０は、受信した幾つかのシンタックス要素を使用することにより、ビデオ・スライスのビデオ・ブロックを符号化するために使用される予測モード（例えば、イントラ又はインター予測）、インター予測スライス・タイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスに使用される参照ピクチャ・リスト内の１つ以上のピクチャの構成情報、スライスに使用されるインター符号化ビデオ・ブロック各々の動きベクトル、スライスに使用されるインター符号化ビデオ・ブロック各々のインター予測状態、及び他の情報を決定して、現在のビデオ・スライスのビデオ・ブロックを復号化する。
【０１５１】
逆量子化ユニット３１０は、ビットストリームで提供されるエントロピー復号化ユニット３０４によって復号化される量子化変換係数に対して逆量子化（即ち、非量子化）を実行するように構成されてもよい。逆量子化プロセスは、ビデオ・スライス内の各ビデオ・ブロックについてビデオ・エンコーダ２０によって計算される量子化パラメータを使用して、適用されるべき量子化の程度を決定し、適用されるべき逆量子化の程度を決定することを含む可能性がある。
【０１５２】
逆変換処理ユニット３１２は、変換係数に逆変換（例えば、逆ＤＣＴ、逆整数変換、又は概念的に類似する逆変換処理）を適用して、サンプル・ドメインにおける残差ブロックを生成するように構成される。
【０１５３】
再構成ユニット３１４（例えば、加算器３１４）は、逆変換ブロック３１３（即ち、再構成された残差ブロック３１３）を予測ブロック３６５に加算して、例えば、再構成された残差ブロック３１３のサンプル値を予測ブロック３６５のサンプル値に加算することによって、サンプル・ドメインにおける再構成されたブロック３１５を取得するように構成される。
【０１５４】
ループ・フィルタ・ユニット３２０（符号化ループ内又は符号化ループの後）は、再構成されたブロック３１５をフィルタリングして、フィルタリングされたブロック３２１を取得し、サンプル変換を円滑に実行する、又はビデオ品質を改善するように構成される。一例では、ループ・フィルタ・ユニット３２０は、以下のフィルタリング技術の任意の組み合わせを実行するように構成されることが可能である。ループ・フィルタ・ユニット３２０は、１つ以上のループ・フィルタ、例えば、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット（sample-adaptive  offset，SAO）フィルタ、又は別のフィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ（adaptive  loop  filter，ALF）、鮮鋭化又は平滑化フィルタ、又は協調フィルタを表すように意図されている。ループ・フィルタ・ユニット３２０は、ループ内フィルタとして図３に示されているが、ループ・フィルタ・ユニット３２０は、他の構成では、ポスト・ループ・フィルタとして実装されてもよい。
【０１５５】
所与のフレーム又はピクチャ内の復号化されたビデオ・ブロック３２１は、その後の動き補償に使用される参照ピクチャを記憶する復号化済みピクチャ・バッファ３３０に記憶される。
【０１５６】
デコーダ３０は、出力３３２等を使用することにより復号化されたピクチャ３１を出力し、復号化されたピクチャ３１をユーザーに提示する、又はユーザーが眺めるように復号化されたピクチャ３１を提供するように構成される。
【０１５７】
ビデオ・デコーダ３０の別の変形は、圧縮されたビットストリームを復号化するように構成されることが可能である。例えば、デコーダ３０は、ループ・フィルタ・ユニット３２０なしに出力ビデオ・ストリームを生成することができる。例えば、非変換ベースのデコーダ３０は、幾つかのブロック又はフレームに対して、逆変換処理ユニット３１２なしに、残差信号を直接的に非量子化することが可能である。別の実装において、ビデオ・デコーダ３０は、１つのユニットに結合される逆量子化ユニット３１０及び逆変換処理ユニット３１２を有することが可能である。
【０１５８】
図４は、例示の実施形態による図２のエンコーダ２０及び／又は図３のデコーダ３０を含むビデオ・コーディング・システム４０の一例を示す図である。システム４０は本願の様々な技術の組み合わせを実装することが可能である。図示の実装において、ビデオ・コーディング・システム４０は、撮像デバイス４１、ビデオ・エンコーダ２０、ビデオ・デコーダ３０（及び／又は、処理ユニット４６の論理回路４７によって実現されるビデオ・エンコーダ）、アンテナ４２、１つ以上のプロセッサ４３、１つ以上のメモリ４４、及び／又は、表示デバイス４５を含んでもよい。
【０１５９】
図面に示されるように、撮像デバイス４１、アンテナ４２、処理デバイス４６、論理回路４７、ビデオ・エンコーダ２０、ビデオ・デコーダ３０、プロセッサ４３、メモリ４４、及び／又は表示デバイス４５は、互いに通信することが可能である。説明されるように、ビデオ・コーディング・システム４０は、ビデオ・エンコーダ２０及びビデオ・デコーダ３０の両方とともに示されているが、異なる例において、ビデオ・コーディング・システム４０は、ビデオ・エンコーダ２０のみ、又はビデオ・デコーダ３０のみを含む可能性がある。
【０１６０】
幾つかの例では、図面に示されるように、ビデオ・コーディング・システム４０は、アンテナ４２を含むことが可能である。例えば、アンテナ４２は、ビデオ・データの符号化されたビットストリームを送信又は受信するように構成されることが可能である。更に、幾つかの例において、ビデオ・コーディング・システム４０は、表示デバイス４５を含んでもよい。表示デバイス４５は、ビデオ・データを提示するように構成されることが可能である。幾つかの例では、図面に示されるように、論理回路４７は、処理ユニット４６によって実現されてもよい。処理ユニット４６は、特定用途向け集積回路（application-specific  integrated  circuit，ASIC）ロジック、グラフィックス処理ユニット、汎用プロセッサ等を含むことが可能である。ビデオ・コーディング・システム４０はまた、オプションのプロセッサ４３を含んでもよい。オプションのプロセッサ４３は、同様に、特定用途向け集積回路（application-specific  integrated  circuit，ASIC）ロジック、グラフィックス処理ユニット、汎用プロセッサ等を含むことが可能である。幾つかの例では、論理回路４７は、ビデオ符号化専用ハードウェアのようなハードウェアによって実装されることが可能であり、プロセッサ４３は、ユニバーサル・ソフトウェア、オペレーティング・システム等によって実現されることが可能である。更に、メモリ４４は、任意のタイプのメモリ、例えば揮発性メモリ（例えば、スタティック・ランダム・アクセス・メモリ（Static  Random  Access  Memory，SRAM）又はダイナミック・ランダム・アクセス・メモリ（Dynamic  Random  Access  Memory,  DRAM）又は不揮発性メモリ（例えば、フラッシュ・メモリ）であってもよい。非限定的な例では、メモリ４４は、キャッシュ・メモリによって実現されてもよい。幾つかの例では、論理回路４７は、（例えば、イメージ・バッファを実現するための）メモリ４４にアクセスすることが可能である。他の例では、論理回路４７及び／又は処理ユニット４６は、画像バッファ等を実現するためのメモリ（例えば、キャッシュ）を含む可能性がある。
【０１６１】
一部の例では、論理回路によって実現されるビデオ・エンコーダ２０は、画像バッファ（例えば、処理ユニット４６又はメモリ４４によって実現される）及びグラフィックス処理ユニット（例えば、処理ユニット４６によって実現される）を含むことが可能である。グラフィックス処理ユニットは、画像バッファに通信可能に結合されることが可能である。グラフィックス処理ユニットは、図２を参照して説明される種々のモジュール、及び／又は本明細書で説明される他の任意のエンコーダ・システム又はサブシステムを実現するために、論理回路４７によって実現されるビデオ・エンコーダ２０を含んでもよい。論理回路は、本明細書で説明される種々の動作を実行するように構成されることが可能である。
【０１６２】
ビデオ・デコーダ３０は、図３のデコーダ３０を参照して説明される種々のモジュール、及び／又は本明細書で説明される他の任意のデコーダ・システム又はサブシステムを実現するために、論理回路４７によって同様に実現されてもよい。幾つかの例において、論理回路によって実現されるビデオ・デコーダ３０は、画像バッファ（処理ユニット２８２０又はメモリ４４によって実現される）及びグラフィックス処理ユニット（例えば、処理ユニット４６によって実現される）を含んでもよい。グラフィックス処理ユニットは、画像バッファに通信可能に結合されることが可能である。グラフィックス処理ユニットは、図３を参照して説明される種々のモジュール、及び／又は本明細書で説明される任意の他のデコーダ・システム又はサブシステムを実現するために、論理回路４７によって実現されるビデオ・デコーダ３０を含んでもよい。
【０１６３】
幾つかの例では、ビデオ・コーディング・システム４０のアンテナ４２は、ビデオ・データの符号化されたビットストリームを受信するように構成されてもよい。説明されるように、符号化されたビットストリームは、本明細書で説明されるビデオ・フレーム符号化に関連するデータ、インジケータ、インデックス値、モード選択データ等、例えば、符号化分割に関連するデータ（例えば、変換係数又は量子化変換係数、（説明されているような）オプションのインジケータ、及び／又は符号化分割を規定するデータ）を含んでもよい。ビデオ・コーディング・システム４０は、アンテナ４２に結合され、符号化されたビットストリームを復号化するように構成されたビデオ・デコーダ３０を更に含むことが可能である。表示デバイス４５は、ビデオ・フレームを提示するように構成される。
【０１６４】
図５は、例示的な実施形態による図１のソース・デバイス１２及び宛先デバイス１４のうちの任意の１つ又は２つとして使用することが可能な装置５００の簡略化されたブロック図である。装置５００は、本願における技術を実装することができる。装置５００は、複数のコンピューティング・デバイスを含むコンピューティング・システムの一形態を使用することが可能であり、又は、携帯電話、タブレット・コンピュータ、ラップトップ・コンピュータ、ノートブック・コンピュータ、又はデスクトップ・コンピュータのような単一のコンピューティング・デバイスの一形態を使用することが可能である。
【０１６５】
装置５００内のプロセッサ５０２は、中央処理ユニットであってもよい。代替的に、プロセッサ５０２は、何らかの他のタイプの既存の若しくは将来のデバイス、又は情報を制御又は処理することが可能なデバイスであってもよい。図面に示されているように、開示される実装は、プロセッサ５０２のような単一のプロセッサを使用することによって実施されることが可能であるが、１つより多いプロセッサを使用することによって、速度及び効率における利点を達成することができる。
【０１６６】
実装においては、装置５００内のメモリ５０４は、リード・オンリ・メモリ（Read  Only  Memory，ROM）デバイス又はランダム・アクセス・メモリ（random  access  memory，RAM）デバイスであってもよい。他の任意の適切なタイプの記憶デバイスがメモリ５０４として使用されることが可能である。メモリ５０４は、バス５１２を使用することによって、プロセッサ５０２によりアクセスされるコード及びデータ５０６を含んでもよい。メモリ５０４は、オペレーティング・システム５０８及びアプリケーション・プログラム５１０を更に含んでもよい。アプリケーション・プログラム５１０は、プロセッサ５０２が本明細書で説明される方法を実行することを可能にする少なくとも１つのプログラムを含む。例えば、アプリケーション・プログラム５１０はアプリケーション１からＮを含むことが可能であり、アプリケーション１からＮは更に、本明細書で説明される方法を実行するためのビデオ符号化アプリケーションを更に含む。装置５００は、更に、セカンダリ・メモリ５１４の形態で追加メモリを含んでもよい。セカンダリ・メモリ５１４は、例えば、モバイル・コンピューティング・デバイスと共に使用されるメモリ・カードであってもよい。ビデオ通信セッションは、大量の情報を含む可能性があるので、情報は、セカンダリ・メモリ５１４に完全又は部分的に記憶され、必要に応じて処理のためにメモリ５０４にロードされることが可能である。
【０１６７】
装置５００は、１つ以上の出力デバイス、例えばディスプレイ５１８を更に含んでもよい。一例では、ディスプレイ５１８は、タッチ入力を感知するように動作することが可能なタッチ感知素子とディスプレイを組み合わせるタッチ感知ディスプレイであってもよい。ディスプレイ５１８は、バス５１２を使用することによってプロセッサ５０２に結合されことが可能である。ディスプレイ５１８に加えて、ユーザーが装置５００をプログラムすること、又は別の方法で装置５００を使用することを可能にする別の出力デバイスが更に提供されてもよく、又は別の出力デバイスがディスプレイ５１８の代わりとして提供されてもよい。出力デバイスがディスプレイである、又はディスプレイを含む場合、ディスプレイは、例えば、液晶ディスプレイ（liquid  crystal  display，LCD）、陰極線管（cathode-ray  tube，CRT）ディスプレイ、プラズマ・ディスプレイ、又は有機ＬＥＤ（organic  LED，OLED）ディスプレイのような発光ダイオード（ＬＥＤ）ディスプレイを使用することによって、別様に実装されてもよい。
【０１６８】
装置５００は、更に、画像感知デバイス５２０を含んでもよいし、又は画像感知デバイス５２０に接続されてもよい。画像感知デバイス５２０は、例えば、画像を感知することが可能なカメラ又は何らかの他の既存の若しくは将来の画像感知デバイス５２０である。画像は、例えば、装置５００を動かすユーザーの画像である。画像感知デバイス５２０は、装置５００を動かすユーザーに直に対面して配置されることが可能である。一例では、画像感知デバイス５２０の位置及び光軸は、画像感知デバイス５２０の視野が、ディスプレイ５１８に隣接する領域を含み、且つディスプレイ５１８がその領域から見えるように、構成されることが可能である。
【０１６９】
デバイス５００は、更に、サウンド感知デバイス５２２を含んでもよいし、又はサウンド感知デバイス５２２に接続されてもよい。サウンド感知デバイス５２２は、例えば、マイクロホン、又はデバイス５００の近辺で音を感知することが可能な何らかの他の既存の又は将来のサウンド感知デバイスである。サウンド感知デバイス５２２は、装置５００を動かすユーザーに直に対面して配置されることが可能であり、ユーザーが装置５００を動かす場合にユーザーによって生じる声又は別の音、のような音を受信するように構成されてもよい。
【０１７０】
装置５００のプロセッサ５０２及びメモリ５０４は、図５に示されるように１つのユニットに一体化されているが、他の構成を使用することが可能である。プロセッサ５０２の動作は、直接結合されることが可能な複数のマシン（各マシンは１つ以上のプロセッサを有する）に分散されてもよいし、又はローカルな領域又は別のネットワークに分散されてもよい。メモリ５０４は、ネットワーク・ベースのメモリ及び装置５００を動かす複数のマシンにおけるメモリのように複数のマシンに分散されもよい。ここでは単一のバスが描かれているが、装置５００の複数のバス５１２が存在してもよい。更に、セカンダリ・メモリ５１４は、装置５００の他の構成要素に直接的に結合されてもよいし、又はネットワークを介してアクセスされてもよいし、メモリ・カードのような単一の集積ユニット、又は複数のメモリ・カードのような複数のユニットを含んでもよい。従って、装置５００は、複数の構成で実現されることが可能である。
【０１７１】
以下、本願の概念を説明する。
【０１７２】
１．インター予測モード
【０１７３】
ＨＥＶＣでは、２つのインター予測モード：アドバンスト動きベクトル予測（advanced  motion  vector  prediction，AMVP）モード及びマージ（merge）モードが使用される。
【０１７４】
ＡＭＶＰモードでは、先ず現在ブロックの空間的又は時間的に隣接する符号化ブロック（隣接ブロックと称する）がトラバースされ、隣接ブロックの動き情報に基づいて、候補動きベクトル・リスト（動き情報候補リストとも言及される）が構築される。次に、レート歪コストに基づいて、最適な動きベクトルが、候補動きベクトル・リストから決定され、最小レート歪コストを有する候補動き情報が、現在ブロックの動きベクトル予測子（motion  vector  predictor，MVP）として使用される。隣接ブロックの位置及びそのトラバース順序の両方は予め定められる。レート歪コストは、式（１）に従って計算され、ここで、Ｊはレート歪コストＲＤコストを示し、ＳＡＤはオリジナル・サンプル値と、候補動きベクトル予測子を使用することによる動き推定によって取得される予測サンプル値との間の絶対差の合計（sum  of  absolute  differences，SAD）であり、Ｒはビット・レートを示し、λはラグランジュ乗数を示す。エンコーダ側は、候補動きベクトル・リスト内の選択された動きベクトル予測子のインデックスと、参照フレームのインデックス値とを、デコーダ側に転送する。更に、現在ブロックの実際の動きベクトルを取得するために、ＭＶＰを中心とした近傍で動き探索が実行される。エンコーダ側は、ＭＶＰと実際の動きベクトルとの間の差（動きベクトル差）をデコーダ側に転送する。
Ｊ  ＝  ＳＡＤ  ＋  λＲ        （１）
【０１７５】
マージ・モードにおいて、現在ブロックの空間的又は時間的に隣接する符号化ブロックの動き情報に基づいて、候補動きベクトル・リストが先ず構築される。次いで、現在ブロックの動き情報として役立つように、レート歪コストに基づいて、最適動き情報が候補動きベクトル・リストから決定される。次に、候補動きベクトル・リスト内の最適動き情報の位置のインデックス値（以下、マージ・インデックスと称する）が、デコーダ側に転送される。現在ブロックの空間候補動き情報及び時間候補動き情報が図６に示されている。空間候補動き情報は、５つの空間的に隣接するブロック（Ａ０，Ａ１，Ｂ０，Ｂ１，Ｂ２）からのものである。隣接ブロックが利用可能でない場合（隣接ブロックが存在しない場合、隣接ブロックが符号化されていない場合、隣接ブロックに使用される予測モードがインター予測モードでない場合）、隣接ブロックの動き情報は候補動きベクトル・リストに追加されない。現在ブロックの時間候補動き情報は、参照フレーム及び現在フレームのピクチャ順序カウント（picture  order  count，POC）に基づいて、参照フレームの対応する位置におけるブロックのＭＶをスケーリングすることによって取得される。参照フレーム内のＴの位置のブロックが利用可能であるか否かが先ず判定される。ブロックが利用可能でない場合、Ｃの位置のブロックが選択される。
【０１７６】
ＡＭＶＰモードと同様に、マージ・モードでは、隣接ブロックの位置とそのトラバース順序の両方が予め決定される。更に、隣接ブロックの位置及びそのトラバース順序は、モードによって変化する可能性がある。
【０１７７】
候補動きベクトル・リストは、ＡＭＶＰモード及びマージ・モードの両方で維持されなければならないことが分かる。新しい動き情報が候補リストに追加される前にその都度、リスト内に同じ動き情報が存在するかどうかが先ず検査される。同じ動き情報が存在する場合、動き情報はリストに追加されない。この検査プロセスは、候補動きベクトル・リストのトリミングと言及される。リストのトリミングは、リスト内の同じ動き情報を回避することであり、それによって冗長なレート歪コスト計算を回避する。
【０１７８】
ＨＥＶＣインター予測では、コーディング・ブロック内のすべてのサンプルが同じの動き情報を使用し、従って、コーディング・ブロックのサンプルの予測子を取得するために、動き補償が動き情報に基づいて実行される。しかしながら、コーディング・ブロックにおいて、すべてのサンプルが同じ動き特性を有するわけではない。同じ動き情報を使用すると、不正確な動き補償予測、及びより多くの残差情報を生じさせる可能性がある。
【０１７９】
既存のビデオ・コーディング規格では、並進運動モデルに基づくブロック・マッチング動き推定が使用され、ブロック内のすべてのサンプルの動きは一貫していると仮定されている。しかしながら、現実の世界では、さまざまな動きが存在する。多くの物体は、非並進運動にあり、例えば、回転する物体、様々な方向で回転するローラー・コースター、花火の表示、及び映画における幾つかのスタント、特にＵＧＣシナリオにおける移動する物体である。これらの移動する物体に対して、既存のコーディング規格における並進運動モデルに基づくブロック動き補償技術がコーディングに使用される場合、コーディング効率は大きく影響される可能性がある。従って、コーディング効率を更に改善するために、アフィン動きモデルのような非並進運動モデルが導入される。
【０１８０】
従って、様々な運動モデルに関し、ＡＭＶＰモードは、並進モデル・ベースのＡＭＶＰモードと非並進モデル・ベースのＡＭＶＰモードとに分類され、マージ・モードは、並進モデル・ベースのマージ・モードと非並進モデル・ベースのマージ・モードとに分類されることが可能である。
【０１８１】
２．非並進運動モデル
【０１８２】
非並進運動モデル・ベースの予測では、コーデック側は、現在ブロック内の各々のチャイルド動き補償ユニットの動き情報を導出するために１つの運動モデルを使用し、予測ブロックを取得するためにチャイルド動き補償ユニットの動き情報に基づいて動き補償を実行し、予測効率を向上させる。一般的な非並進運動モデルは、４パラメータ・アフィン動きモデル又は６パラメータ・アフィン動きモデルである。
【０１８３】
本願の実施形態におけるチャイルド動き補償ユニットは、特定の方法に従う分割によって得られたサンプル又はＮ１×Ｎ２サンプル・ブロックである可能性があり、Ｎ１及びＮ２は双方とも正の整数であり、Ｎ１はＮ２に等しくてもよいし、又はＮ２に等しくなくてもよい。
【０１８４】
４パラメータ・アフィン動きモデルは式（２）のように表現される：
【数１】
2021536710.tif 000003
【０１８５】
４パラメータ・アフィン動きモデルは、２つのサンプルの動きベクトルと、現在ブロックの左上サンプルに対する２つのサンプルの座標とによって表すことが可能である。運動モデル・パラメータを表現するために使用されるサンプルは、制御ポイントと呼ばれる。左上サンプル（０，０）及び右上サンプル（Ｗ，０）が制御ポイントとして使用される場合、現在ブロックの左上制御ポイントと右上制御ポイントの動きベクトル（ｖｘ０，ｖｙ０）及び（ｖｘ１，ｖｙ１）が、先ず決定される。次いで、現在ブロックにおける各チャイルド動き補償ユニットの動き情報は、式（３）に従って取得され、ここで、（ｘ，ｙ）は現在ブロックの左上サンプルに対するチャイルド動き補償ユニットの座標であり、Ｗは現在ブロックの幅を示す。
【数２】
2021536710.tif 000004
【０１８６】
６パラメータ・アフィン動きモデルは式（４）のように表現される：
【数３】
2021536710.tif 000005
【０１８７】
６パラメータ・アフィン動きモデルは、３つのサンプルの動きベクトルと、現在ブロックの左上サンプルに対する３つのサンプルの座標とによって表現されることが可能である。左上サンプル（０，０）、右上サンプル（Ｗ，０）、及び左下サンプル（０，Ｈ）が制御ポイントとして使用される場合に、現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトル（ｖｘ０，ｖｙ０），（ｖｘ１，ｖｙ１）及び（ｖｘ２，ｖｙ２）が先ず決定される。次いで、現在ブロックにおける各チャイルド動き補償ユニットの動き情報は、式（５）に従って取得され、ここで、（ｘ，ｙ）は現在ブロックの左上サンプルに対するチャイルド動き補償ユニットの座標であり、Ｗ及びＨはそれぞれ現在ブロックの幅及び高さを示す。
【数４】
2021536710.tif 000006
【０１８８】
アフィン動きモデルを使用することにより予測されるコーディング・ブロックは、アフィン・コーディング・ブロックと言及される。
【０１８９】
一般に、アフィン・コーディング・ブロックの制御ポイントの動き情報は、アフィン動きモデル・ベースのアドバンスト動きベクトル予測（Advanced  Motion  Vector  Prediction，AMVP）モード又はアフィン動きモデル・ベースのマージ（Merge）モードを使用することにより取得することができる。
【０１９０】
現在のコーディング・ブロックの制御ポイントの動き情報は、継承制御ポイント動きベクトル予測法又は構築制御ポイント動きベクトル予測法を使用することにより取得されることが可能である。
【０１９１】
３．継承制御ポイント動きベクトル予測法
【０１９２】
継承制御ポイント動きベクトル予測法は、隣接する符号化されたアフィン・コーディング・ブロックの動きモデルを用いて、現在ブロックの候補制御ポイント動きベクトルを決定するものである。
【０１９３】
図７に示す現在ブロックが一例として使用される。現在ブロック周辺の隣接ブロックは、指定された順序、例えば、Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２でトラバースされ、現在ブロックの隣接ブロックが位置するアフィン・コーディング・ブロックを発見し、アフィン・コーディング・ブロックの制御ポイント動き情報を取得する。更に、現在ブロックの制御ポイント動きベクトル（マージ・モードの場合）又は制御ポイント動きベクトル予測子（ＡＭＶＰモードの場合）が、アフィン・コーディング・ブロックの制御ポイント動き情報を使用することにより構築された運動モデルを用いて導出される。Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順序は、単なる一例として使用されている。他の組み合わせの順序もまた、本願に適用可能である。更に、隣接ブロックは、Ａ１、Ｂ１、Ｂ０、Ａ０、及びＢ２に限定されない。
【０１９４】
隣接ブロックは、特定の分割方法に基づいて得られる事前に設定されたサイズのサンプル又はサンプル・ブロックである可能性があり、例えば４×４サンプル・ブロック、４×２サンプル・ブロック、又は別のサイズのサンプル・ブロックであってもよい。これは限定されない。
【０１９５】
以下、一例としてＡ１を用いることによる決定プロセスを説明する。他の場合はこれと同様である。
【０１９６】
図７に示すように、Ａ１が位置するコーディング・ブロックが４パラメータ・アフィン・コーディング・ブロックである場合、アフィン・コーディング・ブロックの左上サンプル（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）と右上サンプル（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）とが取得される。現在アフィン・コーディング・ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、式（６）に従って計算され、現在のアフィン・コーディング・ブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、式（７）に従って計算される。
【数５】
2021536710.tif 000007
【０１９７】
Ａ１が位置するアフィン・コーディング・ブロックに基づいて得られる、現在ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）と右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）との組み合わせが、現在ブロックの候補の制御ポイント動きベクトルである。
【０１９８】
Ａ１が位置するコーディング・ブロックが６パラメータ・アフィン・コーディング・ブロックである場合、アフィン・コーディン・ブロックの左上サンプル（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上サンプル（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、左下サンプル（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。現在ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、式（８）に従って計算され、現在ブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、式（９）に従って計算され、現在ブロックの左下サンプル（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）は、式（１０）に従って計算される。
【数６】
2021536710.tif 000008
【０１９９】
Ａ１が位置するアフィン・コーディング・ブロックに基づいて取得される現在ブロックの、左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、左下サンプル（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）の組み合わせが、現在ブロックの候補の制御ポイント動きベクトルである。
【０２００】
他の運動モデル、候補位置、検索及びトラバース順序も本願に適用可能であることに留意すべきである。詳細は本願の実施形態では説明されない。
【０２０１】
隣接する及び現在のコーディング・ブロックの運動モデルを表現するために他の制御ポイントが使用される方法もまた本願に適用可能であることに留意すべきである。詳細はここでは説明されない。
【０２０２】
４．構築制御ポイント動きベクトル（constructed  control  point  motion  vectors）予測法１
【０２０３】
構築制御ポイント動きベクトル予測法は、隣接する符号化ブロックがアフィン・コーディング・ブロックであるかどうかを考慮せずに、現在ブロックの制御ポイント周辺の隣接する符号化ブロックの動きベクトルを結合し、結合された動きベクトルを、現在のアフィン・コーディング・ブロックの制御ポイント動きベクトルとして使用するものである。
【０２０４】
現在ブロックの左上サンプルと右上サンプルの動きベクトルは、現在のコーディング・ブロック周辺の隣接する符号化ブロックの動き情報を使用することにより決定される。図８Ａは、構築制御ポイント動きベクトル予測法を説明するための一例として使用される。図８Ａは単なる一例であることに留意すべきである。
【０２０５】
図８Ａに示すように、左上サンプルの隣接する符号化ブロックＡ２、Ｂ２、Ｂ３の動きベクトルは、現在ブロックの左上サンプルの動きベクトルに対する候補動きベクトルとして使用され、右上サンプルの隣接する符号化ブロックＢ１、Ｂ０の動きベクトルは、現在ブロックの右上サンプルの動きベクトルに対する候補動きベクトルとして使用される。左上サンプルと右上サンプルの候補の動きベクトルは、複数の２タプルを構成するように組み合わせられる。２タプルに含まれる２つの符号化ブロックの動きベクトルは、以下の式（１１Ａ）に示されるように、現在ブロックの候補の制御ポイント動きベクトルとして使用されることが可能である：
【数７】
2021536710.tif 000009
【０２０６】
ｖＡ２はＡ２の動きベクトルを示し、ｖＢ１はＢ１の動きベクトルを示し、ｖＢ０はＢ０の動きベクトルを示し、ｖＢ２はＢ２の動きベクトルを示し、ｖＢ３はＢ３の動きベクトルを示す。
【０２０７】
図８Ａに示されるように、左上サンプルの隣接する符号化ブロックＡ２、Ｂ２、Ｂ３の動きベクトルは、現在ブロックの左上サンプルの動きベクトルに対する候補動きベクトルとして使用され、右上サンプルの隣接する符号化ブロックＢ１、Ｂ０の動きベクトルは、現在ブロックの右上サンプルの動きベクトルに対する候補動きベクトルとして使用され、左下サンプルの隣接する符号化ブロックＡ０、Ａ１の動きベクトルは、現在ブロックの左下サンプルの動きベクトルに対する候補動きベクトルとして使用される。左上サンプル、右上サンプル、及び左下サンプルの候補動きベクトルは、３タプルを構成するように組み合わせられる。３タプルに含まれる３つの符号化ブロックの動きベクトルは、以下の式（１１Ｂ）及び（１１Ｃ）に示されるように、現在ブロックの候補制御ポイント動きベクトルとして使用されることが可能である：
【数８】
2021536710.tif 000010
【０２０８】
ｖＡ２はＡ２の動きベクトルを示し、ｖＢ１はＢ１の動きベクトルを示し、ｖＢ０はＢ０の動きベクトルを示し、ｖＢ２はＢ２の動きベクトルを示し、ｖＢ３はＢ３の動きベクトルを示し、ｖＡ０はＡ０の動きベクトルを示し、ｖＡ１はＡ１の動きベクトルを示す。
【０２０９】
制御ポイントの動きベクトルを組み合わせる他の方法も本願に適用できることに留意すべきである。詳細はここでは説明されない。
【０２１０】
隣接する及び現在のコーディング・ブロックの運動モデルを表現するために他の制御ポイントが使用される方法もまた本願に適用できることに留意すべきである。詳細はここでは説明されない。
【０２１１】
５．構築制御ポイント動きベクトル（constructed  control  point  motion  vectors）予測法２：これについては、図８を参照されたい。
【０２１２】
ステップ８０１：現在ブロックの制御ポイントの動き情報を取得する。
【０２１３】
例えば、図８Ａにおいて、ＣＰｋ（ｋ＝１，２，３，又は４）はｋ番目の制御ポイントを示し、Ａ０，Ａ１，Ａ２，Ｂ０，Ｂ１，Ｂ２，及びＢ３は、現在ブロックの空間的に隣接する位置であり、且つＣＰ１，ＣＰ２，又はＣＰ３を予測するために使用され、Ｔは、現在ブロックの時間的に隣接する位置であり、且つＣＰ４を予測するために使用される。
【０２１４】
ＣＰ１，ＣＰ２，ＣＰ３，及びＣＰ４の座標はそれぞれ（０，０），（Ｗ，０），（Ｈ，０），（Ｗ，Ｈ）であると仮定し、ここで、ＷとＨは現在ブロックの幅と高さを示す。
【０２１５】
各々の制御ポイントの動き情報は以下の順序で取得される：
【０２１６】
（１）ＣＰ１の場合、検査順序はＢ２→Ａ２→Ｂ３である。Ｂ２が利用可能である場合、Ｂ２の動き情報が使用される。Ｂ２が利用可能でない場合、Ａ２及びＢ３が検査される。３つの位置すべての動き情報が利用不能な場合、ＣＰ１の動き情報を取得することはできない。
【０２１７】
（２）ＣＰ２の場合、検査順序はＢ０→Ｂ１である。Ｂ０が利用可能である場合、Ｂ０の動き情報がＣＰ２のために使用される。Ｂ０が利用可能でない場合、Ｂ１が検査される。双方の位置の動き情報が利用不能な場合、ＣＰ２の動き情報を取得することはできない。
【０２１８】
（３）ＣＰ３の場合、検査順序はＡ０→Ａ１である。
【０２１９】
（４）ＣＰ４の場合、Ｔの動き情報が使用される。
【０２２０】
ここで、Ｘが利用可能であるということは、Ｘ（ＸはＡ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、Ｂ３、又はＴである）の位置におけるブロックが符号化されており、インター予測モードが使用されることを意味する。そうでない場合、Ｘの位置は利用可能ではない。
【０２２１】
制御ポイントの動き情報を取得する他の方法もまた本願に適用できることに留意すべきである。詳細はここでは説明されない。
【０２２２】
ステップ８０２：制御ポイントの動き情報を結合し、構築制御ポイント動き情報を取得する。
【０２２３】
２つの制御ポイントの動き情報は、２タプルを構成するように組み合わせられ、４パラメータ・アフィン動きモデルを構築する。２つの制御ポイントを結合する方法は、｛ＣＰ１，ＣＰ４｝，｛ＣＰ２，ＣＰ３｝，｛ＣＰ１，ＣＰ２｝，｛ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ３｝，又は｛ＣＰ３，ＣＰ４｝であってもよい。例えば、制御ポイントＣＰ１及びＣＰ２を含む２タプルを使用することにより構築された４パラメータ・アフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）として示される可能性がある。
【０２２４】
３つの制御ポイントの動き情報は、３タプルを構成するように組み合わせられ、６パラメータ・アフィン動きモデルを構築する。３つの制御ポイントを結合する方法は、｛ＣＰ１，ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ２，ＣＰ３｝，｛ＣＰ２，ＣＰ３，ＣＰ４｝，又は｛ＣＰ１，ＣＰ３，ＣＰ４｝であってもよい。例えば、制御ポイントＣＰ１、ＣＰ２、及びＣＰ３を含む３タプルを使用することにより構築された６パラメータ・アフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）として示される可能性がある。
【０２２５】
４つの制御ポイントの動き情報は、４タプルを構成するように組み合わせられ、８パラメータ・バイリニア・モデルを構築する。制御ポイントＣＰ１，ＣＰ２，ＣＰ３，及びＣＰ４を含む４タプルを使用することにより構築された８パラメータ・バイリニア・モデルは、“Ｂｉｌｉｎｅａｒ”（ＣＰ１，ＣＰ２，ＣＰ３，ＣＰ４）として示される可能性がある。
【０２２６】
本願のこの実施形態では、説明を容易にするために、２つの制御ポイント（又は２つの符号化ブロック）の動き情報の組み合わせは単に２タプルとして言及され、３つの制御ポイント（又は２つの符号化ブロック）の動き情報の組み合わせは単に３タプルとして言及され、４つの制御ポイント（又は４つの符号化ブロック）の動き情報の組み合わせは単に４タプルとして言及される。
【０２２７】
これらのモデルは事前に設定された順序でトラバースされる。結合モデルに対応する制御ポイントの動き情報が利用可能でない場合、モデルは利用可能でないと考えられる。そうでない場合、モデルの参照フレーム・インデックスが決定され、制御ポイントの動きベクトルがスケーリングされる。すべての制御ポイントのスケーリングされた動き情報が一貫している場合、モデルは無効である。モデルを制御する全ての制御ポイントの動き情報が利用可能であり、且つモデルが有効である場合、モデルを構成する制御ポイントの動き情報が動き情報候補リストに追加される。
【０２２８】
制御ポイント動きベクトル・スケーリング法は式（１２）に示される：
【数９】
2021536710.tif 000011
【０２２９】
ＣｕｒＰｏｃは現在フレームのＰＯＣ番号を示し、ＤｅｓＰｏｃは現在ブロックの参照フレームのＰＯＣ番号を示し、ＳｒｃＰｏｃは制御ポイントの参照フレームのＰＯＣ番号を示し、ＭＶｓはスケーリングにより得られる動きベクトルを示し、ＭＶは制御ポイントの動きベクトルを示す。
【０２３０】
異なる制御ポイントの組み合わせが、同じ位置における制御ポイントに変換される可能性があることに留意すべきである。
【０２３１】
例えば｛ＣＰ１，ＣＰ４｝，｛ＣＰ２，ＣＰ３｝，｛ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ３｝又は｛ＣＰ３，ＣＰ４｝の組み合わせにより得られる４パラメータ・アフィン動きモデルが、｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝による表現に変換される。変換方法は、制御ポイントの動きベクトルと座標情報を式（２）に代入してモデル・パラメータを取得し、次いで｛ＣＰ１，ＣＰ２｝の座標情報を式（３）に代入して動きベクトルを取得するものである。
【０２３２】
より直接的には、変換は以下の式（１３）−（２１）に従って実行されることが可能であり、ここで、Ｗは現在ブロックの幅を示し、Ｈは現在ブロックの高さを示す。式（１３）−（２１）において、（ｖｘ０，ｖｙ０）はＣＰ１の動きベクトルを示し、（ｖｘ１，ｖｙ１）はＣＰ２の動きベクトルを示し、（ｖｘ２，ｖｙ２）はＣＰ３の動きベクトルを示し、（ｖｘ３，ｖｙ３）はＣＰ４の動きベクトルを示す。
【０２３３】
｛ＣＰ１，ＣＰ２｝は、以下の式（１３）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である。換言すれば、｛ＣＰ１，ＣＰ２，ＣＰ３｝におけるＣＰ３の動きベクトルは、式（１３）により決定されることが可能である：
【数１０】
2021536710.tif 000012
【０２３４】
｛ＣＰ１，ＣＰ３｝は、以下の式（１４）により｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１１】
2021536710.tif 000013
【０２３５】
｛ＣＰ２，ＣＰ３｝は、以下の式（１５）により｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１２】
2021536710.tif 000014
【０２３６】
｛ＣＰ１，ＣＰ４｝は、以下の式（１６）又は（１７）により｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１３】
2021536710.tif 000015
【０２３７】
｛ＣＰ２，ＣＰ４｝は、以下の式（１８）により｛ＣＰ１，ＣＰ２｝に変換されることが可能であり、｛ＣＰ２，ＣＰ４｝は、以下の式（１８）及び（１９）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１４】
2021536710.tif 000016
【０２３８】
｛ＣＰ３，ＣＰ４｝は、以下の式（２０）により｛ＣＰ１，ＣＰ２｝に変換されることが可能であり、｛ＣＰ３，ＣＰ４｝は、以下の式（２０）及び（２１）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１５】
2021536710.tif 000017
【０２３９】
例えば｛ＣＰ１，ＣＰ２，ＣＰ４｝，｛ＣＰ２，ＣＰ３，ＣＰ４｝，又は｛ＣＰ１，ＣＰ３，ＣＰ４｝の組み合わせにより得られる６パラメータ・アフィン動きモデルは、｛ＣＰ１，ＣＰ２，ＣＰ３｝による表現に変換される。変換方法は、制御ポイントの動きベクトルと座標情報を式（４）に代入してモデル・パラメータを取得し、次いで｛ＣＰ１，ＣＰ２，ＣＰ３｝の座標情報を式（５）に代入して動きベクトルを取得するものである。
【０２４０】
より直接的には、変換は以下の式（２２）−（２４）に従って実行されることが可能であり、ここで、Ｗは現在ブロックの幅を示し、Ｈは現在ブロックの高さを示す。式（１３）−（２１）において、（ｖｘ０，ｖｙ０）はＣＰ１の動きベクトルを示し、（ｖｘ１，ｖｙ１）はＣＰ２の動きベクトルを示し、（ｖｘ２，ｖｙ２）はＣＰ３の動きベクトルを示し、（ｖｘ３，ｖｙ３）はＣＰ４の動きベクトルを示す。
【０２４１】
｛ＣＰ１，ＣＰ２，ＣＰ４｝は、以下の式（２２）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：  
【数１６】
2021536710.tif 000018
【０２４２】
｛ＣＰ２，ＣＰ３，ＣＰ４｝は、以下の式（２３）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：  
【数１７】
2021536710.tif 000019
【０２４３】
｛ＣＰ１，ＣＰ３，ＣＰ４｝は、以下の式（２４）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：  
【数１８】
2021536710.tif 000020
【０２４４】
６．アフィン動きモデル・ベースのアドバンスト動きベクトル予測モード（Affine  AMVP  mode）
【０２４５】
（１）候補動きベクトル・リストを構築する
【０２４６】
アフィン動きモデル・ベースのＡＭＶＰモードのための候補動きベクトル・リストは、継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を使用することによって構築される。本願のこの実施形態では、アフィン動きモデル・ベースのＡＭＶＰモードのための候補動きベクトル・リストは、制御ポイント動きベクトル予測子候補リスト（control  point  motion  vectors  predictor  candidate  list）と言及されてもよい。各々の制御ポイントの動きベクトル予測子は、２つの（４パラメータ・アフィン動きモデルの）制御ポイントの動きベクトル又は３つの（６パラメータ・アフィン動きモデルの）制御ポイントの動きベクトルを含む。
【０２４７】
オプションとして、制御ポイント動きベクトル予測子候補リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０２４８】
（２）最適な制御ポイント動きベクトル予測子を決定する
【０２４９】
エンコーダ側では、現在のコーディング・ブロック内の各チャイルド動き補償ユニットの動きベクトルが、式（３）／（５）を用いることで、制御ポイント動きベクトル予測子リスト内の各制御ポイント動きベクトル予測子に基づいて取得され、各チャイルド動き補償ユニットの動きベクトルが指し示す参照フレームにおける対応する位置におけるサンプル値を取得し、サンプル値は、アフィン動きモデルを使用することで動き補償を実行するための予測子として使用される。現在のコーディング・ブロックにおける各サンプルのオリジナル値と予測子との間の平均差分が計算される。最小平均差分に対応する制御ポイント動きベクトル予測子は、最適制御ポイント動きベクトル予測子として選択され、現在のコーディング・ブロックの２つ／３つの制御ポイントの動きベクトル予測子として使用される。制御ポイント動きベクトル予測子候補リストにおける制御ポイント動きベクトル予測子の位置を表すインデックス番号は、ビットストリーム内に符号化され、デコーダへ送信される。
【０２５０】
デコーダ側では、インデックス番号が解析され、インデックス番号に基づいて、制御ポイント動きベクトル予測子（control  point  motion  vectors  predictor，CPMVP）が、制御ポイント動きベクトル予測子候補リストから決定される。
【０２５１】
（３）制御ポイント動きベクトルを決定する
【０２５２】
エンコーダ側では、制御ポイント動きベクトル（control  point  motion  vectors，CPMV）を取得するために、制御ポイント動きベクトル予測子が、特定の探索レンジ内の動き探索のための探索開始点として使用される。制御ポイント動きベクトルと制御ポイント動きベクトル予測子との間の差分（control  point  motion  vectors  differences,  CPMVD）は、デコーダ側に転送される。
【０２５３】
デコーダ側では、制御ポイント動きベクトル差分が解析され、制御ポイント動きベクトル予測子に追加されて、制御ポイント動きベクトルを取得する。
【０２５４】
７．アフィン・マージ・モード（Affine  Merge  mode）
【０２５５】
継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を使用することにより、制御ポイント動きベクトル・マージ候補リスト（control  point  motion  vectors  merge  candidate  list）が構築される。
【０２５６】
オプションとして、制御ポイント動きベクトル予測子候補リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０２５７】
エンコーダ側では、現在のコーディング・ブロック内の各チャイルド動き補償ユニット（特定の方法に従う分割により取得されるＮ１×Ｎ２サンプル・ブロック又はサンプル）の動きベクトルが、式（３）／（５）を用いることで、マージ候補リスト内の各制御ポイント動きベクトルに基づいて取得され、各チャイルド動き補償ユニットの動きベクトルが指し示す参照フレーム内の位置におけるサンプル値を取得し、サンプル値は、アフィン動き補償を実行するための予測子として使用される。現在のコーディング・ブロックにおける各サンプルのオリジナル値と予測子との間の平均差分が計算される。最小平均差分に対応する制御ポイント動きベクトルは、現在のコーディング・ブロックの２つ／３つの制御ポイントの動きベクトルとして選択される。候補リストにおける制御ポイント動きベクトルの位置を表すインデックス番号は、ビットストリーム内に符号化され、デコーダへ送信される。
【０２５８】
デコーダ側では、インデックス番号が解析され、インデックス番号に基づいて、制御ポイント動きベクトル（control  point  motion  vectors，CPMV）が、制御ポイント動きベクトル・マージ候補リストから決定される。
【０２５９】
なお、本願において、「少なくとも１つ」は１つ以上を意味し、「複数の」は２つ以上を意味することに留意すべきである。「及び／又は」は、関連する対象を説明するための関連付け関係を説明しており、３つの関係が存在する可能性があることを示す。例えば、Ａ及び／又はＢは、以下のケース：Ａのみが存在すること、Ａ及びＢ双方が存在すること、Ｂのみが存在することを表す可能性があり、ここでＡ及びＢは単数又は複数である可能性がある。文字「／」は、一般に、関連する対象間の「又は」の関係を表す。「以下のアイテム（ピース）のうちの少なくとも１つ」又は類似の表現は、単一のアイテム（ピース）又は複数のアイテム（ピース）の任意の組み合わせを含む、これらのアイテムの任意の組み合わせを示す。例えば、ａ，ｂ，又はｃのうちの少なくとも１つは、ａ、ｂ、ｃ、ａ及びｂ、ａ及びｃ、ｂ及びｃ、又はａ、ｂ、及びｃを示す可能性があり、ここで、ａ、ｂ、及びｃは単数又は複数である可能性がある。
【０２６０】
本願では、現在ブロックを復号化するためにインター予測モードが使用される場合に、インター予測モードをシグナリングするために、シンタックス要素が使用されてもよい。
【０２６１】
現在ブロックの解析に使用されるインター予測モードの現在使用されているシンタックス構造の一部については、表１を参照されたい。シンタックス構造におけるシンタックス要素は、代替的に、他の識別子によって表現されてもよいことに留意すべきである。これは本願において具体的には限定されない。
表１
【表１】
2021536710.tif 000021
2021536710.tif 000022
【０２６２】
シンタックス要素merge_flag[x0][y0]は、マージ・モードが現在ブロックに使用されているかどうかを示すために使用されることが可能である。例えば、merge_flag[x0][y0]=1の場合、マージ・モードが現在ブロックに使用されていることを示し、merge_flag[x0][y0]=0の場合、マージ・モードが現在ブロックに使用されていないことを示し、ここで、ｘ０とｙ０はビデオ・ピクチャにおける現在ブロックの座標を示す。
【０２６３】
変数allowAffineMergeは、現在ブロックがアフィン動きモデル・ベースのマージ・モードを使用する条件を満たしているかどうかを示すために使用されることが可能である。例えば、allowAffineInter=0の場合、アフィン動きモデル・ベースのマージ・モードを使用する条件が満たされていないことを示し、allowAffineInter=1の場合、アフィン動きモデル・ベースのマージ・モードを使用する条件が満たされていることを示す。アフィン動きモデル・ベースのマージ・モードを使用するための条件は、現在ブロックの幅と高さの両方が８以上であることであってもよく、ここで、cbWidthは現在ブロックの幅を示し、cbHeightは現在ブロックの高さを示す。換言すれば、cbWidth<8又はcbHeight<8である場合、alloweAffineMerge=0であり、cbWidth≧8及びcbHeight≧8である場合、allowAffineMerge=1である。
【０２６４】
変数allowAffineInterは、現在ブロックがアフィン動きモデル・ベースのＡＭＶＰモードを使用する条件を満たしているかどうかを示すために使用されることが可能である。例えば、allowAffineInter=0の場合、アフィン動きモデル・ベースのＡＭＶＰモードを使用する条件は満たされていないことを示し、alloweAffineInter=1の場合、アフィン動きモデル・ベースのＡＭＶＰモードを使用する条件は満たされていることを示す。アフィン動きモデル・ベースのＡＭＶＰモードを使用するための条件は、現在ブロックの幅と高さの両方が１６以上であることであってもよい。換言すれば、cbWidth<16又はcbHeight<16である場合、alloweAffineMerge=0であり、cbWidth≧16及びcbHeight≧16である場合、allowAffineMerge=1である。
【０２６５】
シンタックス要素affine_merge_flag[x0][y0]は、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているかどうかを示すために使用されてもよい。現在ブロックが位置付けられているスライスのタイプ（slice_type）のタイプは、Ｐタイプ又はＢタイプである。例えば、affine_merge_flag[x0][y0]=1の場合、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されていることを示し、affine_merge_flag[x0][y0]=0の場合、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されていないことを示すが、並進運動モデル・ベースのマージ・モードが使用されてもよい。
【０２６６】
シンタックス要素merge_idx[x0][y0]は、マージ候補リストのインデックス値を示すために使用されてもよい。
【０２６７】
シンタックス要素affine_merge_idx[x0][y0]は、アフィン・マージ候補リストのインデックス値を示すために使用されてもよい。
【０２６８】
シンタックス要素affine_inter_flag[x0][y0]は、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されるかどうかを示すために使用されてもよい。例えば、allowAffineInter=0の場合、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されていることを示し、allowAffineInter=1の場合、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されていないことを示すが、並進運動モデル・ベースのＡＭＶＰモードが使用されてもよい。
【０２６９】
現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、シンタックス要素affine_type_flag[x0][y0]は、現在ブロックに関して動き補償を実行するために６パラメータ・アフィン動きモデルが使用されるかどうかを示すために、使用されてもよい。affine_type_flag[x0][y0]=0の場合、６パラメータ・アフィン動きモデルが現在ブロックに関して動き補償を実行するために使用されておらず、４パラメータ・アフィン動きモデルのみが動き補償を実行するために使用されてもよいことを示し、affine_type_flag[x0][y0]=1の場合、６パラメータ・アフィン動きモデルが現在ブロックに関して動き補償を実行するために使用されていることを示す。
【０２７０】
表２に示すように、MotionModelIdc[x0][y0]=1の場合、４パラメータ・アフィン動きモデルが使用されていることを示し、MotionModelIdc[x0][y0]=2の場合、６パラメータ・アフィン動きモデルが使用されていることを示し、MotionModelIdc[x0][y0]=0の場合、並進動きモデルが使用されていることを示す。
表２
【表２】
2021536710.tif 000023
【０２７１】
変数MaxNumMergeCand及びMaxAffineNumMrgCandは、最大リスト長を示し、構築された候補動きベクトル・リストの最大長を示すために使用され、inter_pred_idc[x0][y0]は予測方向を示すために使用され、PRED_L1は後方予測を示すために使用され、num_ref_idx_l0_active_minus1は前方参照フレーム・リストにおける参照フレームの量を示し、ref_idx_l0[x0][y0]は現在ブロックの前方参照フレーム・インデックス値を示し、mvd_coding(x0,y0,0,0)は第１動きベクトル差分を示し、mvp_l0_flag[x0][y0]は前方ＭＶＰ候補リスト・インデックス値を示し、PRED_L0は前方予測を示し、num_ref_idx_l1_active_minus1は後方参照フレーム・リストにおける参照フレームの量を示し、ref_idx_l1[x0][y0]は現在ブロックの後方参照フレーム・インデックス値を示し、mvp_l1_flag[x0][y0]は後方ＭＶＰ候補リスト・インデックス値を示す。
【０２７２】
表１において、ａｅ（ｖ）は、コンテキスト・ベースの適応バイナリ算術コーディング（context-based  adaptive  binary  arithmetic  coding，cabac）によって符号化されるシンタックス要素を示す。
【０２７３】
以下、インター予測プロセスを詳細に説明する。これについては、図９Ａを参照されたい。
【０２７４】
ステップ６０１：表１に示すシンタックス構造に基づいてビットストリームを解析し、現在ブロックのインター予測モードを決定する。
【０２７５】
現在ブロックのインター予測モードがアフィン動きモデル・ベースのＡＭＶＰモードであると判定された場合に、ステップ６０２ａが実行される。
【０２７６】
具体的には、シンタックス要素merge_flag=0及びシンタックス要素affine_inter_flag=1の場合、それは現在ブロックのインター予測モードがアフィン動きモデル・ベースのＡＭＶＰモードであることを示す。
【０２７７】
現在ブロックのインター予測モードがアフィン動きモデル・ベースのマージ（merge）モードであると判定された場合、ステップ６０２ｂが実行される。
【０２７８】
具体的には、シンタックス要素merge_flag=1及びシンタックス要素affine_merge_flag=1の場合、それは現在ブロックのインター予測モードがアフィン動きモデル・ベースのＡＭＶＰモードであることを示す。
【０２７９】
ステップ６０２ａ：アフィン動きモデル・ベースのＡＭＶＰモードに対応する候補動きベクトル・リストを作成し、ステップ６０３ａを実行する。
【０２８０】
現在ブロックの候補制御ポイント動きベクトルは、継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を用いて導出され、候補動きベクトル・リストに追加される。
【０２８１】
候補動きベクトル・リストは、２タプル・リスト（４パラメータ・アフィン動きモデルが現在のコーディング・ブロックに使用される）又は３タプル・リストを含む可能性がある。２タプル・リストは、４パラメータ・アフィン動きモデルを構築するために使用される１つ以上の２タプルを含む。３タプル・リストは、６パラメータ・アフィン動きモデルを構築するために使用される１つ以上の３タプルを含む。
【０２８２】
オプションとして、候補動きベクトルの２タプル／３タプル・リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０２８３】
Ａ１：継承制御ポイント動きベクトル予測法を使用することにより候補動きベクトル・リストを構築するプロセスが説明される。
【０２８４】
図７が一例として使用される。現在ブロック周辺の隣接ブロックは、図７におけるＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順序でトラバースされ、隣接ブロックが位置付けられているアフィン・コーディング・ブロックを発見し、アフィン・コーディング・ブロックの制御ポイント動き情報を取得する。更に、現在ブロックの候補の制御ポイント動き情報は、アフィン・コーディング・ブロックの制御ポイント動き情報に基づいて構築された運動モデルを使用することにより導出される。詳細については、３における継承制御ポイント動きベクトル予測法の関連する説明を参照されたい。詳細はここでは説明されない。
【０２８５】
例えば、現在ブロックに使用されるアフィン動きモデルが４パラメータ・アフィン動きモデルである場合において（即ち、MotionModelIdc=1）、４パラメータ・アフィン動きモデルが隣接するアフィン復号化ブロックに使用される場合、アフィン復号化ブロックの２つの制御ポイントの動きベクトル：左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及び右上制御ポイント（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。アフィン復号化ブロックは、アフィン動きモデルを使用することにより符号化フェーズで予測されるアフィン・コーディング・ブロックである。
【０２８６】
現在ブロックの左上制御ポイント及び右上制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号化ブロックの２つの制御ポイントを含む４パラメータ・アフィン動きモデルを使用することにより、４パラメータ・アフィン動きモデルに対応する式（６）及び式（７）に従って導出される。
【０２８７】
６パラメータ・アフィン動きモデルが隣接するアフィン復号化ブロックに使用される場合、隣接するアフィン復号化ブロックの３つの制御ポイントの動きベクトル、例えば、図７における左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御ポイント（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及び左下制御ポイント（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。
【０２８８】
現在ブロックの左上制御ポイント及び右上制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号ブロックの３つの制御ポイントを含む６パラメータ・アフィン動きモデルを使用することにより、６パラメータ・アフィン動きモデルに対応する式（８）及び式（９）に従って導出される。
【０２８９】
例えば、現在の復号化ブロックに使用されるアフィン動きモデルは、６パラメータ・アフィン動きモデルである（即ち、MotionModelIdc=2）。
【０２９０】
隣接するアフィン復号化ブロックに使用されるアフィン動きモデルが、６パラメータ・アフィン動きモデルである場合、隣接するアフィン復号化ブロックの３つの制御ポイントの動きベクトル、例えば、図７における左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御ポイントの動きベクトル（ｖｘ５，ｖｙ５）、及び左下制御ポイント（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。
【０２９１】
現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号化ブロックの３つの制御ポイントを含む６パラメータ・アフィン動きモデルを使用することにより、６パラメータ・アフィン動きモデルに対応する式（８）、（９）及び式（１０）に従って導出される。
【０２９２】
隣接するアフィン復号化ブロックに使用されるアフィン動きモデルが、４パラメータ・アフィン動きモデルである場合、アフィン復号化ブロックの２つの制御ポイントの動きベクトル、例えば、左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、及び右上制御ポイント（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。
【０２９３】
現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号化ブロックの２つの制御ポイントを含む４パラメータ・アフィン動きモデルを使用することにより、４パラメータ・アフィン動きモデルに対応する式（６）及び式（７）に従って導出される。
【０２９４】
他の運動モデル、候補位置、検索順序も本願に適用可能であることに留意すべきである。詳細はここでは説明されない。隣接する及び現在のコーディング・ブロックの運動モデルを表現するために他の制御ポイントが使用される方法もまた本願に適用可能であることに留意すべきである。詳細はここでは説明されない。
【０２９５】
Ａ２：構築制御ポイント動きベクトル予測法を使用することにより候補動きベクトル・リストを構築するプロセスが説明される。
【０２９６】
例えば、現在の復号化ブロックに使用されているアフィン動きモデルが４パラメータ・アフィン動きモデルである場合（即ち、MotionModelIdc=1）、現在のコーディング・ブロックの左上サンプル及び右上サンプルの動きベクトルは、現在のコーディング・ブロックの隣接する符号化ブロックの動き情報を使用することにより決定される。具体的には、構築制御ポイント動きベクトル予測法１又は構築制御ポイント動きベクトル予測法２を使用することにより、候補動きベクトル・リストが構築されることが可能である。具体的な方法については、４及び５の説明を参照されたい。詳細はここでは説明されない。
【０２９７】
例えば、現在の復号化ブロックに使用されているアフィン運動モデルが６パラメータ・アフィン運動モデルである場合（即ち、MotionModelIdc=2）、現在のコーディング・ブロックの左上サンプル、右上サンプル、及び左下サンプルの動きベクトルは、現在のコーディング・ブロックの隣接する符号化ブロックの動き情報を使用することにより決定される。具体的には、候補動きベクトル・リストは、構築制御ポイント動きベクトル予測法１又は構築制御ポイント動きベクトル予測法２を使用することにより構成されることが可能である。具体的な方法については、４及び５の説明を参照されたい。詳細はここでは説明されない。
【０２９８】
制御ポイント動き情報を組み合わせる別の方法もまた本願に適用可能であることに留意すべきである。詳細はここでは説明されない。
【０２９９】
ステップ６０３ａ：ビットストリームを解析して最適な制御ポイント動きベクトル予測子を決定し、ステップ６０４ａを実行する。
【０３００】
Ｂ１：現在の復号化ブロックに使用されているアフィン動きモデルが４パラメータ・アフィン動きモデルである場合（MotionModelIdc=1）、インデックス番号が解析され、インデックス番号に基づいて、２つの制御ポイントにおける最適な動きベクトル予測子が、候補動きベクトル・リストから決定される。
【０３０１】
例えば、インデックス番号は、mvp_l0_flag又はmvp_l1_flagである。
【０３０２】
Ｂ２：現在の復号化ブロックに使用されているアフィン動きモデルが６パラメータ・アフィン動きモデルである場合（MotionModelIdc=2）、インデックス番号が解析され、インデックス番号に基づいて、３つの制御ポイントにおける最適な動きベクトル予測子が、候補動きベクトル・リストから決定される。
【０３０３】
ステップ６０４ａ：ビットストリームを解析して、制御ポイント動きベクトルを決定する。
【０３０４】
Ｃ１：現在の復号化ブロックに使用されているアフィン動きモデルが４パラメータ・アフィン動きモデルである場合（MotionModelIdc=1）、現在ブロックの２つの制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、制御ポイントの動きベクトルは、制御ポイントの動きベクトル差分と動きベクトル予測子と基づいて取得される。前方予測を一例として使用すると、２つの制御ポイントの動きベクトル差分はそれぞれ、mvd_coding(x0,y0,0,0)及びmvd_coding(x0,y0,0,1)である。
【０３０５】
例えば、左上制御ポイント及び右上制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、それぞれ動きベクトル予測子に加算され、現在ブロックの左上制御ポイント及び右上制御ポイントの動きベクトルを取得する。
【０３０６】
Ｃ２：現在の復号化ブロックに使用されているアフィン動きモデルは、６パラメータ・アフィン動きモデルである（MotionModelIdc=2）。
【０３０７】
現在ブロックの３つの制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、制御ポイント動きベクトルが、制御ポイントの動きベクトル差分と動きベクトル予測子とに基づいて取得される。前方予測を一例として使用すると、３つの制御ポイントの動きベクトル差分はそれぞれ、mvd_coding(x0,y0,0,0)，mvd_coding(x0,y0,0,1)及びmvd_coding(x0,y0,0,2)である。
【０３０８】
例えば、左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、それぞれ動きベクトル予測子に加算され、現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトルを取得する。
【０３０９】
ステップ６０５ａ：現在の復号化ブロックに使用されている制御ポイントの動き情報とアフィン動きモデルとに基づいて、現在ブロックにおける各サブブロックの動きベクトルを取得する。
【０３１０】
現在のアフィン復号化ブロック内の各サブブロックに関し（１つのサブブロックは、１つの動き補償ユニットと同等であり、サブブロックの幅及び高さは、現在ブロックの幅及び高さよりも小さい）、動き補償ユニット内の事前に設定された位置におけるサンプルの動き情報が、動き補償ユニット内のすべてのサンプルの動き情報を表現するために使用されることが可能である。動き補償ユニットのサイズがＭｘＮであると仮定すると、事前に設定された位置におけるサンプルは、中心サンプル（Ｍ／２，Ｎ／２）、左上サンプル（０，０）、右上サンプル（Ｍ−１，０）、又は動き補償ユニットの別の位置におけるサンプルであってもよい。以下、説明のための一例として、動き補償ユニットの中心サンプルを使用する。図９Ｃを参照すると、Ｖ０は左上制御ポイントの動きベクトルを示し、Ｖ１は右上制御ポイントの動きベクトルを示している。小さなボックスの各々は１つの補償ユニットを示す。
【０３１１】
現在のアフィン復号化ブロックの左上サンプルに対する動き補償ユニットの中心サンプルの座標は、式（２５）を使用することにより算出され、ここで、ｉは水平方向の（左から右への）ｉ番目の動き補償ユニットを示し、ｊは垂直方向の（上から下への）ｊ番目の動き補償ユニットを示し、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は現在のアフィン復号化ブロックの左上サンプルに対する（ｉ，ｊ）番目の動き補償ユニットの中心サンプルの座標を示す。
【０３１２】
現在のアフィン復号化ブロックに使用されるアフィン動きモデルが６パラメータ・アフィン動きモデルである場合には、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））が、６パラメータ・アフィン動きモデルに対応する式（２６）に代入され、各動き補償ユニットの中心サンプルの動きベクトルを取得し、中心サンプルの動きベクトルは、動き補償ユニットにおけるすべてのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【０３１３】
現在のアフィン復号化ブロックに使用されるアフィン動きモデルが４パラメータ・アフィン動きモデルである場合には、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））が、４パラメータ・アフィン動きモデルに対応する式（２７）に代入され、各動き補償ユニットの中心サンプルの動きベクトルを取得し、中心サンプルの動きベクトルは、動き補償ユニットにおけるすべてのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【数１９】
2021536710.tif 000024
【０３１４】
ステップ６０６ａ：サブブロックの決定された動きベクトルに基づいて各サブブロックに関して動き補償を実行し、サブブロックのサンプル予測子を取得する。
【０３１５】
ステップ６０２ｂ：アフィン動きモデル・ベースのマージ・モードに対応する動き情報候補リストを構築する。
【０３１６】
具体的には、アフィン動きモデル・ベースのマージ・モードに対応する動き情報候補リストは、継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を使用することにより構築されることが可能である。
【０３１７】
オプションとして、動き情報候補リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０３１８】
Ｄ１：継承制御ポイント動きベクトル予測法を使用することにより候補動きベクトル・リストを構築するプロセスが説明される。
【０３１９】
現在ブロックの候補制御ポイント動き情報は、継承制御ポイント動きベクトル予測法を使用することにより導出され、動き情報候補リストに追加される。
【０３２０】
現在ブロック周辺の隣接ブロックは、図８ＡにおけるＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順序でトラバースされ、位置が突き止められているアフィン・コーディング・ブロックを発見し、アフィン・コーディング・ブロックの制御ポイント動き情報を取得する。更に、現在ブロックの候補制御ポイント動き情報が、アフィン・コーディング・ブロックの動きモデルを使用することにより導出される。
【０３２１】
候補動きベクトル・リストが空である場合、候補制御ポイント動き情報が候補リストに追加される。そうでない場合、候補動きベクトル・リストにおける動き情報は、順次トラバースされ、候補制御ポイント動き情報と同一の動き情報が、候補動きベクトル・リスト内に存在するか否かを検査する。候補制御ポイント動き情報と同一の動き情報が候補動きベクトル・リスト内に存在しない場合、候補制御ポイント動き情報が、候補動きベクトル・リストに追加される。
【０３２２】
２つの候補動き情報が同一であるかどうかを判定するには、順方向参照フレーム、逆方向参照フレーム、順方向動きベクトル各々の水平及び垂直成分、逆方向動きベクトル各々の水平及び垂直成分が、２つの候補動き情報において、同一であるかどうかを順次判定する必要がある。２つの候補動き情報は、前述の要素のすべてが異なる場合に限り、異なるものと考えられる。
【０３２３】
候補動きベクトル・リスト内の動き情報の個数が、最大リスト長MaxAffineNumMrgCand（MaxAffineNumMrgCandは、１，２，３，４，又は５のような正の整数であり、以下、一例として５である長さを使用することにより説明を行い、詳細はここでは説明されない）に到達する場合、候補リストは完備である。そうでない場合、次の隣接ブロックがトラバースされる。
【０３２４】
Ｄ２：現在ブロックの候補の制御ポイント動き情報は、構築制御ポイント動きベクトル予測方法を使用することにより導出され、動き情報候補リストに追加される。これについては、図９Ｂを参照されたい。
【０３２５】
ステップ６０１ｃ：現在ブロックの制御ポイントの動き情報を取得する。これについては、５における構築制御ポイント動きベクトル予測法２におけるステップ８０１を参照されたい。詳細はここで再び説明されない。
【０３２６】
ステップ６０２ｃ：制御ポイントの動き情報を結合し、構築制御ポイント動き情報を取得する。これについては、図８Ｂのステップ８０１を参照されたい。詳細はここで再び説明されない。
【０３２７】
ステップ６０３ｃ：構築制御ポイントの動き情報を候補の動きベクトル・リストに追加する。
【０３２８】
候補リストの長さが最大リスト長MaxAffineNumMrgCandより短い場合、候補制御ポイント動き情報として有効な組み合わせを取得するために、事前に設定された順序で組み合わせがトラバースされる。この場合において、候補動きベクトル・リストが空である場合、候補制御ポイント動き情報が候補動きベクトル・リストに追加される。そうでない場合、候補動きベクトル・リスト内の動き情報が順次トラバースされ、候補制御ポイント動き情報と同一である動き情報が、候補動きベクトル・リスト内に存在するか否かを検査する。候補制御ポイント動き情報と同一の動き情報が候補動きベクトル・リストに存在しない場合、候補制御ポイント動き情報が候補動きベクトル・リストに追加される。
【０３２９】
例えば、事前に設定された順序は次のとおりである：Affine(CP1,CP2,CP3)→Affine  (CP1,CP2,CP4)→Affine(CP1,CP3,CP4)→Affine(CP2,CP3,CP4)→Affine(CP1,CP2)→Affine(CP1,CP3)→Affine(CP2,CP3)→Affine(CP1,CP4)→Affine(CP2,CP4)→Affine(CP3,CP4)。合計１０個の組み合わせが存在する。
【０３３０】
組み合わせに対応する制御ポイント動き情報が利用可能でない場合、その組み合わせは利用可能でないと考えられる。組み合わせが利用可能である場合、組み合わせの参照フレーム・インデックスが決定され（２つの制御ポイントの場合には、より小さな参照フレーム・インデックスが組み合わせの参照フレーム・インデックスとして選択され、２つより多い制御ポイントの場合には、最も頻繁に現れる参照フレーム・インデックスが選択され、複数の参照フレーム・インデックスが現れる回数が同一であれば、最小参照フレーム・インデックスが組み合わせの参照フレーム・インデックスとして選択される）、制御ポイントの動きベクトルがスケーリングされる。すべての制御ポイントのスケーリングされた動き情報が一貫している場合、その組み合わせは無効である。
【０３３１】
オプションとして、本願のこの実施形態では、候補動きベクトル・リストはパディングされてもよい。例えば、前述のトラバース処理の後、候補動きベクトル・リストの長さが最大リスト長MaxAffineNumMrgCandより短い場合、候補動きベクトル・リストは、リスト長がMaxAffineNumMrgCandに等しくなるまで、パディングされてもよい。
【０３３２】
パディングは、ゼロ動きベクトル・パディング法を使用するか、又は既存のリスト内の既存の候補動き情報を結合又は重み付け平均化することによって、実行されることが可能である。候補動きベクトル・リストをパディングするための別の方法も、本願に適用可能であることに留意すべきである。詳細はここで説明されない。
【０３３３】
ステップＳ６０３ｂ：ビットストリームを解析して、最適な制御ポイント動き情報を決定する。
【０３３４】
インデックス番号は解析され、インデックス番号に基づいて、最適な制御ポイント動き情報が候補動きベクトル・リストから決定される。
【０３３５】
ステップ６０４ｂ：現在の復号化ブロックに使用されている最適な制御ポイント動き情報とアフィン動きモデルとに基づいて、現在ブロックの各サブブロックの動きベクトルを取得する。
【０３３６】
このステップはステップ６０５ａと同じである。
【０３３７】
ステップ６０５ｂ：サブブロックの決定された動きベクトルに基づいて、各サブブロックに関して動き補償を実行し、サブブロックのサンプル予測子を取得する。
【０３３８】
本発明における技術は、コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）エントロピー・デコーダ、又は確率間隔分割エントロピー（ＰＩＰＥ）デコーダ又は関連するデコーダのような別のエントロピー・デコーダに関連する。算術復号化は、シンボルが算術復号化において非整数長コードにマッピングされることが可能であるので、高い復号化効率を有する多くの圧縮アルゴリズムで使用されるエントロピー復号化の一形態である。一般に、ＣＡＢＡＣによるデータ・シンボルを復号化することは、以下のステップのうちの１つ以上を含む：
【０３３９】
（１）二進化：復号化対象のシンボルがバイナリでない場合、シンボルは「バイナリ」シーケンスにマッピングされ、各バイナリ・ビットの値は「０」又は「１」を有することが可能である。
【０３４０】
（２）コンテキスト割り当て：（通常モードにおいて）各バイナリ・ビットに１つのコンテキストが割り当てられる。コンテキスト・モデルは、バイナリ・ビットに対して利用可能な情報に基づいて、所与のバイナリ・ビットに対するコンテキストを計算するための方法を決定するために使用される。その情報は、例えば、以前に復号化されたシンボルの値又は２進数である。
【０３４１】
（３）二進符号化：算術エンコーダはバイナリ・ビットを符号化する。バイナリ・ビットを符号化するために、算術エンコーダは、バイナリ・ビットの値の確率を入力として必要とし、その確率は、バイナリ・ビットの値が「０」に等しい確率、及びバイナリ・ビットの値が「１」に等しい確率である。各コンテキストの（推定された）確率は、「コンテキスト状態」と呼ばれる整数値で表現される。各コンテキストは状態を有し、従って、状態（即ち、推定された確率）は、１つのコンテキストが割り当てられるバイナリ・ビットに対しては同一であり、コンテキスト間で異なる。
【０３４２】
（４）状態更新：コンテキストを選択する確率（状態）は、バイナリ・ビットの実際の復号化された値に基づいて更新される（例えば、バイナリ・ビットの値が「１」である場合、「１」の確率は増やされる）。
【０３４３】
従来技術では、アフィン動きモデルのパラメータ情報、例えば表１におけるaffine_merge_flag，affine_merge_idx，affine_inter_flag，及びaffine_type_flagをＣＡＢＡＣにより解析する場合、異なるコンテキストが、ＣＡＢＡＣ解析において異なるシンタックス要素に対して使用されることを必要とする。本発明では、ＣＡＢＡＣで使用されるコンテキストの量が削減される。従って、コンテキストを記憶するためにエンコーダ及びデコーダによって必要とされる、より少ない空間が、コーディング効率に影響することなく占有される。
【０３４４】
affine_merge_flag及びaffine_inter_flagについては、２つの異なるコンテキスト・セット（各コンテキスト・セットは３つのコンテキストを含む）が従来技術におけるＣＡＢＡＣで使用されている。各セットで使用される実際のコンテキスト・インデックスは、表３に示されるように、現在の復号化ブロックの左隣接ブロックにおける同じシンタックス要素の値と、現在の復号化ブロックの上隣接ブロックの同じシンタックス要素の値との合計に等しい。ここで、avallableLは、現在の復号化ブロックの左隣接ブロックの利用可能性（左隣接ブロックが存在し且つ復号化されているか否か）を示し、avallableAは、現在の復号化ブロックの上隣接ブロックの利用可能性（上隣接ブロックが存在し且つ復号化されているか否か）を示す。従来技術では、affine_merge_flag及びaffine_inter_flagのコンテキストの量は６である。
表３  コンテキスト・インデックス
【表３】
2021536710.tif 000025
【０３４５】
図１０は、本発明の一実施形態によるビデオ復号化方法の手順を記載している。この実施形態は、図３に示すビデオ・デコーダによって実行されることが可能である。図１０に示すように、本方法は、以下のステップを含む。
【０３４６】
１００１．受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得し、ここで、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む。
【０３４７】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、又は現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３４８】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、又は現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３４９】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３５０】
本発明のこの実施形態における現在ブロックは、ＣＵであってもよい。
【０３５１】
１００２．現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行する。現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は、事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化は、コンテキスト・モデルを使用することにより完了する。
【０３５２】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３５３】
１００３．現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるものに基づいて、現在ブロックに関して予測処理を実行し、現在ブロックの予測ブロックを取得する。
【０３５４】
このステップは、具体的には、図３の予測処理ユニット３６０によって実行されてもよい。
【０３５５】
１００４．現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得する。
【０３５６】
このステップは、具体的には、図３の再構成ユニット３１４によって実行されてもよい。
【０３５７】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、デコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、デコーダによりビデオ復号化を実行する復号化効率を改善する。更に、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・デコーダのより少ないストレージ空間が占有される。
【０３５８】
図１０において説明されるビデオ復号化方法に対応して、本発明の実施形態は更に符号化方法を提供し、符号化方法は：
現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、ステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデルは、図１０に記載されるビデオ復号化方法におけるコンテキスト・モデルと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、エンコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、エンコーダによりビデオ符号化を実行する復号化効率を改善する。更に、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・エンコーダのより少ないストレージ空間が占有される。
【０３５９】
図１１は、本発明の別の実施形態によるビデオ復号化方法の手順を記載している。この実施形態は、図３に示すビデオ・デコーダによって実行されることが可能である。図１１に示すように、本方法は以下のステップを含む。
【０３６０】
１１０１．受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得する。現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む。
【０３６１】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３６２】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３６３】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３６４】
１１０２．エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得する。現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデル・セットから決定されるか、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデル・セットから決定される。
【０３６５】
ビデオ・デコーダは、シンタックス要素１とシンタックス要素２に対して唯１つのコンテキスト・モデル・セットを記憶することを必要とする。
【０３６６】
幾つかの実装において、事前に設定されたコンテキスト・モデル・セットは唯２つのコンテキスト・モデルを含む。幾つかの他の実装において、事前に設定されたコンテキスト・モデル・セットは、３つのコンテキスト・モデルのみを含む。事前に設定されたコンテキスト・モデル・セットは、代替的に、４つ、５つ、又は６つのコンテキスト・モデルを含む可能性があることを理解することができる。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は、本発明のこの実施形態では限定されない。
【０３６７】
実装において、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用される。
【０３６８】
別の実装において、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【０３６９】
例えば、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【０３７０】
具体的には、シンタックス要素１affine_merge_flag及びシンタックス要素２affine_inter_flagは、１つのコンテキスト・モデル・セットを共有することが可能である（セットは３つのコンテキスト・モデルを含む）。各セットで使用される実際のコンテキスト・インデックスは、表４に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とを加算することによって得られる結果に等しい。ここで、「｜」はＯＲ演算を示す。
表４  本発明におけるコンテキスト・インデックス
【表４】
2021536710.tif 000026
【０３７１】
例えば、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【０３７２】
具体的には、シンタックス要素１affine_merge_flag及びシンタックス要素２affine_inter_flagは、１つのコンテキスト・モデル・セットを共有する（セットは２つのコンテキスト・モデルを含む）。各セットで使用される実際のコンテキスト・インデックスは、表５に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とに、ＯＲ演算を実行することによって得られる結果に等しい。ここで、「｜」はＯＲ演算を示す。本発明のこの実施形態では、affine_merge_flag及びaffine_inter_flagに関するコンテキストの量は２に減少する。
表５  本発明におけるコンテキスト・インデックス
【表５】
2021536710.tif 000027
【０３７３】
１１０３．現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行する。
【０３７４】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３７５】
１１０４．現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得する。
【０３７６】
このステップは、具体的には、図３の予測処理ユニット３６０によって実行されてもよい。
【０３７７】
１１０５．現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得する。
【０３７８】
このステップは、具体的には、図３の再構成ユニット３１４によって実行されてもよい。
【０３７９】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０３８０】
図１１において説明されるビデオ復号化方法に対応して、本発明の実施形態は更に符号化方法を提供し、符号化方法は、
現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１１に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は、１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０３８１】
図１２は、本発明の実施形態によるビデオ復号化方法の手順を記載している。この実施形態は、図３に示すビデオ・デコーダによって実行されてもよい。図１２に示すように、本方法は、以下のステップを含む。
【０３８２】
１２０１．受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得する。現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む。
【０３８３】
実装において、現在ブロックにおけるシンタックス要素３はmerge_idxであり、現在ブロックにおけるシンタックス要素４はaffine_merge_idxである。
【０３８４】
実装において、現在ブロックにおけるシンタックス要素３はmerge_idxであり、現在ブロックにおけるシンタックス要素４はsubblock_merge_idxである。
【０３８５】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３８６】
１２０２．エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得する。現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデル・セットから決定されるか、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデルから決定される。
【０３８７】
実装において、事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は５である。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は、代替的に、１、２、３、又は４のような別の値であってもよいことを理解することができる。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量が１である場合、事前に設定されたコンテキスト・モデル・セットは１つのコンテキスト・モデルである。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は、本発明のこの実施形態では限定されない。
【０３８８】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３８９】
１２０３．現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行する。
【０３９０】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３９１】
１２０４．現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得する。
【０３９２】
このステップは、具体的には、図３の予測処理ユニット３６０によって実行されてもよい。
【０３９３】
１２０５．現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得する。
【０３９４】
このステップは、具体的には、図３の再構成ユニット３１４によって実行されてもよい。
【０３９５】
この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は、１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０３９６】
図１２において説明されるビデオ復号化方法に対応して、本発明の実施形態は更に符号化方法を提供し、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１２に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は、１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０３９７】
本発明の実施形態は、エントロピー復号化ユニット３０４、予測処理ユニット３６０、及び再構成ユニット３１４を含むビデオ・デコーダ３０を提供する。
【０３９８】
エントロピー復号化ユニット３０４は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成され、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニット３０４は、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成され、現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化はコンテキスト・モデルを使用することにより完了する。
【０３９９】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４００】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４０１】
予測処理ユニット３６０は、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるシンタックス要素に基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成される。
【０４０２】
再構成ユニット３１４は、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成される。
【０４０３】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、デコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、デコーダによりビデオ復号化を実行する復号化効率を改善する。更に、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・デコーダのより少ないストレージ空間が占有される。
【０４０４】
相応して、本発明の実施形態はビデオ・エンコーダ２０を提供し、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニット２７０であって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されており、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、エントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力２７２とを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデルは、図１０に記載される方法におけるコンテキスト・モデルと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、エンコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、エンコーダによりビデオ符号化を実行する復号化効率を改善する。更に、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・エンコーダのより少ないストレージ空間が占有される。
【０４０５】
本発明の別の実施形態は、エントロピー復号化ユニット３０４、予測処理ユニット３６０、及び再構成ユニット３１４を含むビデオ・デコーダ３０を提供する。
【０４０６】
エントロピー復号化ユニット３０４は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成され、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニット３０４は、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されている。
【０４０７】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４０８】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４０９】
実装において、エントロピー復号化ユニット３０４は、具体的には、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定するように構成されることが可能であり、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用され、又は、
エントロピー復号化ユニットは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定するように構成されることが可能であり、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【０４１０】
例えば、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【０４１１】
例えば、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【０４１２】
予測処理ユニット３６０は、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるものに基づいて、現在ブロックに関して予測処理を実行し、現在ブロックの予測ブロックを取得するように構成される。
【０４１３】
再構成ユニット３１４は、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成される。
【０４１４】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は、１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２に対して唯１つのコンテキスト・モデルのみを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０４１５】
相応して、本発明の実施形態は更にビデオ・エンコーダ２０を提供し、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニット２７０であって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力２７２とを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１１に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０４１６】
本発明の別の実施形態は、エントロピー復号化ユニット３０４、予測処理ユニット３６０、及び再構成ユニット３１４を含むビデオ・デコーダ３０を提供する。
【０４１７】
エントロピー復号化ユニット３０４は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成され、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー復号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されている。
【０４１８】
事前に設定されたコンテキスト・モデル・セットは、１つ、２つ、３つ、４つ、又は５つのコンテキスト・モデルを含む。事前に設定されたコンテキスト・モデル・セットが１つのコンテキスト・モデルのみを含む場合、事前に設定されたコンテキスト・モデル・セットは１つのコンテキスト・モデルであることを理解することができる。
【０４１９】
実装において、現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、affine_merge_idxであり、現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【０４２０】
予測処理ユニット３６０は、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成される。
【０４２１】
再構成ユニット３１４は、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成される。
【０４２２】
この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０４２３】
相応して、本発明の実施形態は更にビデオ・エンコーダを提供し、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニット２７０であって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー符号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力２７２とを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１２に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０４２４】
本発明の実施形態１は、affine_merge_flag及びaffine_inter_flagが、１つのコンテキスト・セットを共有すること（セットは３つのコンテキストを含む）、及び、各セットで使用される実際のコンテキスト・インデックスは、表４に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とを加算することによって得られる結果に等しいこと、を提案する。ここで、「｜」はＯＲ演算を示す。本発明の実施形態１では、affine_merge_flag及びaffine_inter_flagに関するコンテキストの量は３に減少する。
【０４２５】
本発明の実施形態２は、affine_merge_flag及びaffine_inter_flagが、１つのコンテキスト・セットを共有すること（セットは２つのコンテキストを含む）、及び、各セットで使用される実際のコンテキスト・インデックスは、表５に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とに、ＯＲ演算を実行することによって得られる結果に等しいこと、を提案する。ここで、「｜」はＯＲ演算を示す。本発明の実施形態２では、affine_merge_flag及びaffine_inter_flagに関するコンテキストの量は２に減少する。
【０４２６】
本発明の実施形態３は、affine_merge_flagとaffine_inter_flagとが１つのコンテキストを共有することを提案する。本発明の実施形態３では、affine_merge_flagコンテキストの数及びaffine_inter_flagコンテキストの数は１に減少する。
【０４２７】
先行技術では、打ち切られた単進符号を使用することにより、二進化がmerge_idx及びaffine_merge_idxに関して実行され、２つの異なるコンテキスト・セット（各コンテキスト・セットは５つのコンテキストを含む）がＣＡＢＡＣにおいて使用され、異なるコンテキストが、二値化後の各バイナリ・ビットに対して使用される。先行技術において、merge_idx及びaffine_merge_idxのコンテキストの量は１０である。
【０４２８】
本発明の実施形態４は、merge_idx及びaffine_merge_idxが１つのコンテキスト・セットを共有することを提案する（各コンテキスト・セットは５つのコンテキストを含む）。本発明の実施形態４では、merge_idx及びaffine_merge_idxのコンテキストの量は５に減少する。
【０４２９】
幾つかの他の技術において、表１のシンタックス要素affine_merge_flag[x0][y0]は、subblock_merge_flag[x0][y0]に置換されてもよく、サブブロック・ベースのマージ・モードが現在ブロックに使用されているかどうかを示すために使用され、表１のシンタックス要素affine_merge_idx[x0][y0]は、subblock_merge_idx[x0][y0]に置換されてもよく、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【０４３０】
この場合において、本発明の実施形態１ないし実施形態４が依然として適用可能であり、即ちsubblock_merge_flag及びaffine_inter_flagは１つのコンテキスト・セット（又はコンテキスト）及び１つのインデックス取得方法を共有し、merge_idx及びsubblock_merge_idxは１つのコンテキスト・セット（又はコンテキスト）を共有する。
【０４３１】
本発明の実施形態は、更に、上記の何れかの方法を実行するように構成された実行回路を含むビデオ・デコーダを提供する。
【０４３２】
本発明の実施形態は、更に、少なくとも１つのプロセッサと、少なくとも１つのプロセッサに結合された不揮発性のコンピュータ読み取り可能な記憶媒体とを含むビデオ・デコーダを提供する。不揮発性のコンピュータ読み取り可能な記憶媒体は、少なくとも１つのプロセッサにより実行されることが可能なコンピュータ・プログラムを記憶し、コンピュータ・プログラムが少なくとも１つのプロセッサにより実行されると、ビデオ・デコーダは、上記の何れかの方法を実行するように動作することが可能である。
【０４３３】
本発明の実施形態は、プロセッサにより実行されることが可能なコンピュータ・プログラムを記憶するように構成されたコンピュータ読み取り可能な記憶媒体を更に提供する。コンピュータ・プログラムが少なくとも１つのプロセッサにより実行されると、上記の何れかの方法が実行される。
【０４３４】
本発明の実施形態は、更に、コンピュータ・プログラムを提供する。コンピュータ・プログラムが実行されると、上記の何れかの方法が実行される。
【０４３５】
前述の１つ以上の例において、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることが可能である。ソフトウェアで実現される場合、機能は、コンピュータ読み取り可能な媒体に記憶されるか又はそれで伝送され、１つ以上の命令又はコードとしてハードウェア・ベースの処理ユニットによって実行されることが可能である。コンピュータ読み取り可能な媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ読み取り可能な記憶媒体又は通信媒体を含む可能性がある。通信媒体は、例えば、通信プロトコルに従って或る場所から他の場所へのコンピュータ・プログラムの転送を促す任意の媒体を含む。従って、コンピュータ読み取り可能な媒体は、一般に、（１）非一時的な有形のコンピュータ読み取り可能な記憶媒体、又は（２）信号又はキャリアのような通信媒体に対応する可能性がある。データ記憶媒体は、本発明で説明される技術の実装のための命令、コード、及び／又はデータ構造を取り出するために、１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされることが可能な任意の利用可能な媒体であってもよい。コンピュータ・プログラム製品は、コンピュータ読み取り可能な媒体を含む可能性がある。
【０４３６】
限定ではなく例示として、このようなコンピュータ読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、又は他の光ディスク・ストレージ、磁気ディスク・ストレージ、又は他の磁気ストレージ・デバイス、フラッシュ・メモリ、又は、任意の他の媒体であって命令又はデータ構造の形態で必要なプログラム・コードを記憶するために使用されることが可能であり且つコンピュータによってアクセスされることが可能なもの、を含む可能性がある。更に、任意の接続がコンピュータ読み取り可能な媒体として適切に言及されてもよい。例えば、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者回線（digital  subscriber  line，  DSL）、又は、赤外線、無線、及びマイクロ波などの無線技術を利用することにより、命令がウェブサイト、サーバー、又は他のリモート・ソースから伝送される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、又は赤外線、無線、無線、及びマイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読み取り可能な記憶媒体及びデータ記憶媒体は、接続、キャリア、信号、又は他の任意の一時的な媒体を含まず、実際には非一時的な有形の記憶媒体に向けられることが理解されるべきである。本明細書において使用されるように、ディスク及び光ディスクは、コンパクト・ディスク（compact  disc，CD）、レーザー・ディスク、光ディスク、デジタル多用途ディスク（digital  versatile  disc，DVD）、フロッピー・ディスク、及びブルーレイ・ディスクを含む。ディスクは一般に磁気的にデータを再生し、光ディスクはレーザーを使用することにより光学的にデータを再生する。上記の如何なる組み合わせも、コンピュータ読み取り可能な媒体の範囲内に該当するはずである。
【０４３７】
命令は、１つ以上のプロセッサによって実行されることが可能であり、１つ以上のプロセッサは、例えば１つ以上のデジタル信号プロセッサ（digital  signal  processor，DSP）、１つ以上の汎用マイクロプロセッサ、１つ以上の特定用途向け集積回路（application  specific  integrated  circuit，ASIC）、１つ以上のフィールド・プログラマブル論理アレイ（field  programmable  logic  arrays，FPGA）、又は他の同等な統合された又は個別的な論理回路である。従って、本明細書で使用される用語「プロセッサ」は、前述の構造又は本明細書で説明される技術の実装に適用可能な他の構造、のうちの任意の１つを表す可能性がある。更に、幾つかの態様において、本明細書で説明される機能は、符号化及び復号化を実行するように構成された専用ハードウェア及び／又はソフトウェア・モジュール内で提供されてもよいし、又は組み合わされたコーデックに組み込まれてもよい。更に、技術は、１つ以上の回路又は論理素子で完全に実現されてもよい。
【０４３８】
本開示の技術は、無線ハンドセット、集積回路（integrated  circuit，IC）、又はＩＣセット（例えば、チップセット）を含む複数のデバイス又は装置で実現されてもよい。開示される技術を実行するように構成されるデバイスの機能を強調するために、本開示では様々な構成要素、モジュール、又はユニットが説明されており、これらは、必ずしも異なるハードウェア・ユニットによって実現される必要はない。実際には、上述したように、種々のユニットは、適切なソフトウェア及び／又はファームウェアと共にコーデック・ハードウェア・ユニット内で結合されてもよいし、又は一組の相互運用可能なハードウェア・ユニットによって提供されてもよい。ハードウェア・ユニットは、上述の１つ以上のプロセッサを含む。
【図１】
2021536710.tif 000028
【図２】
2021536710.tif 000029
【図３】
2021536710.tif 000030
【図４】
2021536710.tif 000031
【図５】
2021536710.tif 000032
【図６】
2021536710.tif 000033
【図７】
2021536710.tif 000034
【図８Ａ】
2021536710.tif 000035
【図８Ｂ】
2021536710.tif 000036
【図９Ａ】
2021536710.tif 000037
【図９Ｂ】
2021536710.tif 000038
【図９Ｃ】
2021536710.tif 000039
【図１０】
2021536710.tif 000040
【図１１】
2021536710.tif 000041
【図１２】
2021536710.tif 000042
【手続補正書】
【提出日】令和3年4月22日(2021.4.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ復号化方法であって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含む、ステップと、
前記エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、前記現在ブロックにおける前記シンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は前記現在ブロックにおける前記シンタックス要素２に対応するコンテキスト・モデルは前記事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に対応する前記コンテキスト・モデルに基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するステップと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するステップと
を含む方法。
【請求項２】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３又は５である、請求項１に記載の方法。
【請求項３】
前記現在ブロックにおける前記シンタックス要素１に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、
前記現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素１のコンテキスト・インデックスを決定することを含み、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素１に対応する前記コンテキスト・モデルを示すために使用され、又は
前記現在ブロックにおける前記シンタックス要素２に対応するコンテキスト・モデルが前記事前に設定されたコンテキスト・モデル・セットから決定されることは、
前記現在ブロックの前記左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素２のコンテキスト・インデックスを決定することを含み、前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素２に対応する前記コンテキスト・モデルを示すために使用される、請求項１又は２に記載の方法。
【請求項４】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である、請求項３に記載の方法。
【請求項５】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である、請求項３に記載の方法。
【請求項６】
前記現在ブロックにおける前記シンタックス要素１は、アフィン動きモデル・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２は、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであり、又は
前記現在ブロックにおける前記シンタックス要素１は、サブブロック・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２は、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであり、又は
前記現在ブロックにおける前記シンタックス要素１は前記現在ブロックのマージ候補リストのインデックス値を示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２は前記現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用されるフラグであり、又は
前記現在ブロックにおける前記シンタックス要素１は前記現在ブロックのマージ候補リストのインデックス値を示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２はサブブロック・マージ候補リストのインデックス値を示すために使用されるフラグである
請求項１−５のうちの何れか１項に記載の方法。
【請求項７】
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素１の前記コンテキスト・インデックスの値は、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素１の前記コンテキスト・インデックスの前記値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定することで取得され、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素２の前記値を示し、
availableLは、前記左隣接ブロックが利用可能であるか否かを示し、availableAは、前記上隣接ブロックが利用可能であるか否かを示す、請求項３に記載の方法。
【請求項８】
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素２の前記コンテキスト・インデックスの値は、
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素２の前記コンテキスト・インデックスの前記値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定することで取得され、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素２の前記値を示し、
availableLは、前記左隣接ブロックが利用可能であるか否かを示し、availableAは、前記上隣接ブロックが利用可能であるか否かを示す、請求項３に記載の方法。
【請求項９】
ビデオ・デコーダであって、
受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素は、前記現在ブロックにおけるシンタックス要素１又は前記現在ブロックにおけるシンタックス要素２を含み、前記エントロピー復号化ユニットは、前記エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、前記現在ブロックにおける前記シンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は前記現在ブロックにおける前記シンタックス要素２に対応するコンテキスト・モデルは前記事前に設定されたコンテキスト・モデル・セットから決定され、前記エントロピー復号化ユニットは、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素に対応する前記コンテキスト・モデルに基づいて、前記エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、
前記現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、前記現在ブロックに関して予測処理を実行して、前記現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、
前記現在ブロックの前記予測ブロックに基づいて、前記現在ブロックの再構成された画像を取得するように構成された再構成ユニットと
を含むビデオ・デコーダ。
【請求項１０】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３又は５である、請求項９に記載のビデオ・デコーダ。
【請求項１１】
前記エントロピー復号化ユニットは、更に、
前記現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素１のコンテキスト・インデックスを決定するように構成され、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素１に対応する前記コンテキスト・モデルを示すために使用され、又は
前記エントロピー復号化ユニットは、具体的には、
前記現在ブロックの前記左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、前記現在ブロックの前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、前記現在ブロックにおける前記シンタックス要素２のコンテキスト・インデックスを決定するように構成され、前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスは、前記現在ブロックにおける前記シンタックス要素２に対応する前記コンテキスト・モデルを示すために使用される、請求項９又は１０に記載のビデオ・デコーダ。
【請求項１２】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である、請求項１１に記載のビデオ・デコーダ。
【請求項１３】
前記事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、前記現在ブロックにおける前記シンタックス要素１の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
前記現在ブロックにおける前記シンタックス要素２の前記コンテキスト・インデックスの値は、前記上隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値と、前記左隣接ブロックにおける前記シンタックス要素１及び前記シンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である、請求項１１に記載のビデオ・デコーダ。
【請求項１４】
前記現在ブロックにおける前記シンタックス要素１は、アフィン動きモデル・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２は、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであり、又は
前記現在ブロックにおける前記シンタックス要素１は、サブブロック・ベースのマージ・モードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２は、前記現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが前記現在ブロックに使用されているか否かを示すために使用されるフラグであり、又は
前記現在ブロックにおける前記シンタックス要素１は前記現在ブロックのマージ候補リストのインデックス値を示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２は前記現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用されるフラグであり、又は
前記現在ブロックにおける前記シンタックス要素１は前記現在ブロックのマージ候補リストのインデックス値を示すために使用されるフラグであるか、又は前記現在ブロックにおける前記シンタックス要素２はサブブロック・マージ候補リストのインデックス値を示すために使用されるフラグである
請求項９−１３のうちの何れか１項に記載のビデオ・デコーダ。
【請求項１５】
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素１の前記コンテキスト・インデックスの値は、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素１の前記コンテキスト・インデックスの前記値を決定することで取得され、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素２の前記値を示し、
availableLは、前記左隣接ブロックが利用可能であるか否かを示し、availableAは、前記上隣接ブロックが利用可能であるか否かを示す、請求項１１に記載のビデオ・デコーダ。
【請求項１６】
前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素２の前記コンテキスト・インデックスの値は、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って、前記現在ブロックにおける前記エントロピー復号化対象のシンタックス要素２の前記コンテキスト・インデックスの前記値を決定することで取得され、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0−1][y0]は、前記左隣接ブロックにおける前記シンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素１の前記値を示し、syntax  element  2  [x0][y0−1]は、前記上隣接ブロックにおける前記シンタックス要素２の前記値を示し、
availableLは、前記左隣接ブロックが利用可能であるか否かを示し、availableAは、前記上隣接ブロックが利用可能であるか否かを示す、請求項１１に記載のビデオ・デコーダ。
【請求項１７】
請求項１−８のうちの何れか１項に記載の方法を実行するように構成された実行回路を含むビデオ・デコーダ。
【請求項１８】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合された不揮発性のコンピュータ読み取り可能な記憶媒体であって、前記不揮発性のコンピュータ読み取り可能な記憶媒体は、前記少なくとも１つのプロセッサにより実行されることが可能なコンピュータ・プログラムを記憶し、前記コンピュータ・プログラムが前記少なくとも１つのプロセッサにより実行されると、ビデオ・デコーダは、請求項１−８のうちの何れか１項に記載の方法を実行するように動作することが可能である、ビデオ・デコーダ。
【請求項１９】
プログラムを記録したコンピュータ読み取り可能な記憶媒体であって、前記プログラムは請求項１−８のうちの何れか１項に記載の方法をコンピュータに実行させる、記憶媒体。
【請求項２０】
請求項１−８のうちの何れか１項に記載の方法をコンピュータに実行させるように構成されたコンピュータ・プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【背景技術】
【０００１】
本願は、2018年9月10日に中国国家知識産権局に出願された「ビデオ復号化方法及びビデオ・デコーダ」と題する中国特許出願第201811053068.0号に対する優先権を主張しており、参照によりその全体が本願に援用される。
【０００２】
技術分野
本願の実施態様は、一般に、ビデオ・コーディングの分野に関連し、より具体的にはビデオ復号化方法及びビデオ・デコーダに関連する。
【０００３】
背景
ビデオ・コーディング（ビデオ符号化及び復号化）は、幅広いデジタル・ビデオ・アプリケーションにおいて、例えば放送用デジタルＴＶ、インターネットやモバイル・ネットワークを介したビデオ伝送、ビデオ・チャットやビデオ会議のようなリアルタイム会話アプリケーション、ＤＶＤ及びブルーレイ・ディスク、ビデオ・コンテンツ捕捉編集のシステム及びカムコーダのセキュリティ・アプリケーションにおいて使用される。
【０００４】
１９９０年のＨ．２６１規格におけるブロック・ベースのハイブリッド・ビデオ・コーディング・モードの開発により、新たなビデオ・コーディング技術及びツールが開発されており、新たなビデオ・コーディング規格の基礎を築いている。その他のビデオ・コーディング規格は、MPEG-1ビデオ、MPEG-2ビデオ、ITU-T  H.262/MPEG-2、ITU-T  H.263、ITU-T  H.264/MPEG-4  Part10：アドバンスト・ビデオ・コーディング（Advanced  Video  Coding，AVC）、ITU-T  H.265／高効率ビデオ・コーディング（High  Efficiency  Video  Coding，HEVC）、及びそのような規格の拡張、例えば、そのような規格のスケーラビリティ及び／又は３Ｄ（三次元）拡張を含む。ビデオの制作及び利用が益々普及するにつれて、ビデオ・トラフィックは、通信ネットワーク及びデータ・ストレージにとって最大の負担になっている。従って、多くのビデオ・コーディング規格の目的の１つは、以前の規格と比較して、画質を犠牲にすることなくビット・レートを低減することである。最新の高効率ビデオ・コーディング(high  efficiency  video  coding，HEVC)は、画質を犠牲にすることなく、AVCの約2倍でビデオを圧縮することが可能であるが、HEVCと比較してビデオを更に圧縮するための新たな技術に対する緊急のニーズが依然として存在する。
【発明の概要】
【０００５】
本願の実施形態は、コンテキストを記憶するためにエンコーダ又はデコーダにより必要とされるスペースを減らすビデオ復号化方法及びビデオ・デコーダを提供する。
【０００６】
上記及び他の目的は独立請求項の対象事項により達成される。他の実装は従属請求項、明細書、及び添付図面から明らかである。
【０００７】
第１態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップであって、現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化はコンテキスト・モデルを使用することにより完了する、ステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【０００８】
現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、デコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、デコーダによりビデオ復号化を実行する復号化効率を改善する。更に、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・デコーダのより少ないストレージ空間が占有されることが可能である。
【０００９】
第２態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【００１０】
現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２について唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【００１１】
第２態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３である。
【００１２】
第２態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用され、又は
現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【００１３】
第２態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【００１４】
第２態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【００１５】
第１態様又は第２態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００１６】
第３態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【００１７】
現在ブロックにおけるシンタックス要素３及びシンタックス要素４は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素３及びシンタックス要素４について唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【００１８】
第３態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットは、５つのコンテキスト・モデルを含む。
【００１９】
第３態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、affine_merge_idxであり、現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【００２０】
第４態様によれば、ビデオ復号化方法が提供され、ビデオ復号化方法は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定するステップと、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値に基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するステップと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するステップとを含む。
【００２１】
第４態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００２２】
第４態様に関し、可能な実装において、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定するステップは、
現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定するステップを含み、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素２の前記値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素２の値を示し、
availableLは、左隣接ブロックが利用可能であるか否かを示し、availableAは、上隣接ブロックが利用可能であるか否かを示す。
【００２３】
第５態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニットは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２の値とに基づいて、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を決定し、現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値に基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００２４】
第５態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００２５】
第５態様に関し、可能な実装において、可能な実装において、エントロピー復号化ユニットは、具体的には、
現在ブロックにおけるエントロピー復号化対象のシンタックス要素のコンテキスト・インデックスの値を、以下の論理表現：
Context  index  =  (condL  &&  availableL)  +  (condA  &&  availableA)
に従って決定するように構成されており、
condL  =  syntax  element  1  [x0−1][y0]  |  syntax  element  2  [x0−1][y0]
であり、syntax  element  1  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0−1][y0]は、左隣接ブロックにおけるシンタックス要素２の値を示し、
condA  =  syntax  element  1  [x0][y0−1]  |  syntax  element  2  [x0][y0−1]
であり、syntax  element  1  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素１の値を示し、syntax  element  2  [x0][y0−1]は、上隣接ブロックにおけるシンタックス要素２の前記値を示し、
availableLは、左隣接ブロックが利用可能であるか否かを示し、availableAは、上隣接ブロックが利用可能であるか否かを示す。
【００２６】
第６態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成され、現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化はコンテキスト・モデルを使用することにより完了する、エントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００２７】
第７態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００２８】
第７態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量は２又は３である。
【００２９】
第７態様に関し、可能な実装において、エントロピー復号化ユニットは、具体的には、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定するように構成され、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用され、又は
エントロピー復号化ユニットは、具体的には、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定するように構成され、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【００３０】
第７態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【００３１】
第７態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【００３２】
第６態様又は第７態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素１は、affine_merge_flagであり、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用され、又は
現在ブロックにおけるシンタックス要素１は、subblock_merge_flagであり、サブブロック・ベースのマージ・モードが現在ブロックに使用されているか否かを示すために使用され、又は現在ブロックにおけるシンタックス要素２は、affine_inter_flagであり、且つ、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されているか否かを示すために使用される。
【００３３】
第８態様によれば、ビデオ・デコーダが提供され、ビデオ・デコーダは、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成されたエントロピー復号化ユニットであって、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー復号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されているエントロピー復号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成された予測処理ユニットと、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成された再構成ユニットとを含む。
【００３４】
第８態様に関し、可能な実装において、事前に設定されたコンテキスト・モデル・セットは、５つのコンテキスト・モデルを含む。
【００３５】
第８態様に関し、可能な実装において、現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、affine_merge_idxであり、現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【００３６】
第９態様によれば、符号化方法が提供され、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、ステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。
【００３７】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第１態様を参照されたい。
【００３８】
第１０態様によれば、符号化方法が提供され、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。
【００３９】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第２態様を参照されたい。
【００４０】
第１１態様によれば、符号化方法が提供され、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む、ステップと、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。
【００４１】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第３態様を参照されたい。
【００４２】
第１２態様によれば、ビデオ・エンコーダが提供され、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニットであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されており、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、エントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力とを含む。
【００４３】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第４態様を参照されたい。
【００４４】
第１３態様によれば、ビデオ・エンコーダが提供され、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニットであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、エントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力とを含む。
【００４５】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第５態様を参照されたい。
【００４６】
第１４態様によれば、ビデオ・エンコーダが提供され、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニットであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー符号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力とを含む。
【００４７】
具体的なシンタックス要素及び具体的なコンテキスト・モデルについては、第６態様を参照されたい。
【００４８】
第１５態様によれば、本発明は、プロセッサ及びメモリを含む、ビデオ・ストリームを復号化する装置に関連する。メモリは命令を記憶し、命令は、第１態様、第２態様、第３態様、若しくは第４態様、又はそれらの任意の可能な実装における方法をプロセッサが実行することを可能にする。
【００４９】
第１６態様によれば、本発明は、プロセッサ及びメモリを含む、ビデオ・ストリームを復号化する装置に関連する。メモリは命令を記憶し、命令は、第７態様、第８態様、若しくは第９態様、又はそれらの任意の可能な実装における方法をプロセッサが実行することを可能にする。
【００５０】
第１７態様によれば、コンピュータ読み取り可能な記憶媒体が提案される。コンピュータ読み取り可能な記憶媒体は命令を記憶し、命令が実行されると、１つ以上のプロセッサはビデオ・データを符号化することが可能である。命令は、第１態様、第２態様、第３態様、第４態様、第７態様、第８態様、若しくは第９態様、又はそれらの任意の可能な実装における方法を１つ以上のプロセッサが実行することを可能にする。
【００５１】
第１８態様によれば、本発明はプログラム・コードを含むコンピュータ・プログラムに関連する。プログラム・コードがコンピュータ上で実行されると、第１態様、第２態様、第３態様、第４態様、第７態様、第８態様、若しくは第９態様、又はそれらの任意の可能な実装における方法が実行される。
【００５２】
１つ以上の実施形態の詳細が添付図面及び以下の説明において記載されている。他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００５３】
本願の実施態様又は背景における技術的解決策をより明確に説明するために、以下、本願の実施態様又は背景を説明するために必要とされる添付図面を簡単に説明する。
【００５４】
【図１】本発明の実施形態を実装するためのビデオ符号化システムの一例のブロック図である。
【００５５】
【図２】本発明の実施形態を実装するためのビデオ・エンコーダの例示的な構造を示すブロック図である。
【００５６】
【図３】本発明の実施形態を実装するためのビデオ・デコーダの例示的な構造を示すブロック図である。
【００５７】
【図４】図２のエンコーダ２０と図３のデコーダ３０とを含むビデオ・コーディング・システムを示す図である。
【００５８】
【図５】他の符号化装置又は復号化装置の一例を示すブロック図である。
【００５９】
【図６】一実施形態による現在ブロックの空間ドメイン及び時間ドメインにおける候補の動き情報の位置を示す概略図である。
【００６０】
【図７】一実施形態による現在ブロックと複数の隣接位置ブロックとの位置を示す概略図である。
【００６１】
【図８Ａ】一実施形態による構築制御ポイント動きベクトルを予測する方法を示すフローチャートである。
【００６２】
【図８Ｂ】一実施形態による構築制御ポイント動きベクトルを予測する方法を示すフローチャートである。
【００６３】
【図９Ａ】一実施形態によるインター予測方法を示すフローチャートである。
【００６４】
【図９Ｂ】一実施形態による構築制御ポイント動きベクトルを予測する方法を示すフローチャートである。
【００６５】
【図９Ｃ】一実施形態による動き補償ユニットの中心点に基づく動き補償ユニットの位置を示す概略図である。
【００６６】
【図１０】一実施形態によるビデオ復号化方法を示すフローチャートである。
【００６７】
【図１１】一実施形態に係るビデオ復号化方法を示すフローチャートである。
【００６８】
【図１２】一実施形態によるビデオ復号化方法を示すフローチャートである。
【００６９】
以下において、特に指定されない限り、同一の参照記号は同一の又は少なくとも機能的に同等な特徴を表す。
【発明を実施するための形態】
【００７０】
以下の説明において、本開示の一部を成し、例示として本発明の実施形態の特定の態様又は本発明の実施形態が使用される可能性のある特定の態様、を示す添付図面に対する参照が行われる。本発明の実施形態は、他の態様で使用される可能性があり、添付図面に示されていない構造的又は論理的な変更を含む可能性があることは理解されるべきである。従って、以下の詳細な説明は、限定としては解釈されないものとし、本発明の範囲は、添付の特許請求の範囲によって定められる。
【００７１】
例えば、説明される方法に関して開示される内容は、方法を実行するように構成された対応するデバイス又はシステムにも適用される可能性があり、その逆も可能であることが理解されるべきである。例えば、1つ以上の特定の方法ステップが説明される場合、対応するデバイスは、説明された１つ以上の方法ステップを実行するための機能ユニットのような１つ以上のユニット（例えば、１つ以上のステップを実行する１つのユニット、又は複数のステップのうちの１つ以上を各々が実行する複数のユニット）を、たとえそのような１つ以上のユニットが添付図面において明示的に説明も図示もされていなかったとしても、含む可能性がある。更に、例えば、機能ユニットのような１つ以上のユニットに基づいて、特定の装置が説明される場合、対応する方法は、１つ以上のユニットの機能を実行するための１つのステップ（例えば、１つ以上のユニットの機能を実行するための１つのステップ、又は複数のユニットのうちの１つ以上の機能を実行するために各々が使用される複数のステップ）を、たとえそのような１つ以上のステップが添付図面において明示的に説明も図示もされていなかったとしても、含む可能性がある。更に、本明細書で説明される様々な例示的な実施形態及び／又は態様の特徴は、特に指定されない限り、互いに組み合わせられる可能性があることは理解されるべきである。
【００７２】
ビデオ・コーディングは、通常、ビデオ又はビデオ・シーケンスを形成する一連のピクチャを処理する。ビデオ・コーディングの分野において、「ピクチャ（picture）」、「フレーム（frame）」及び「画像（image）」という用語は同義語として使用される可能性がある。本願（又は本開示）で使用されるビデオ・コーディングは、ビデオ符号化又はビデオ復号化を示す。ビデオ符号化は、ソース側で実行され、通常、ビデオ・ピクチャを表すのに必要なデータ量を減らすために（より効率的な記憶及び／又は伝送のために）オリジナル・ビデオ・ピクチャを（例えば、圧縮により）処理することを含む。ビデオ復号化は、宛先側で実行され、通常、ビデオ・ピクチャを再構成するために、エンコーダに関連する逆の処理を含む。実施形態におけるビデオ・ピクチャ（又は、以下で説明されるピクチャとして一般的に言及される）の「コーディング」は、ビデオ・シーケンスに関する「符号化」又は「復号化」として理解されるべきである。符号化及び復号化の組み合わせもまた、コーディング（符号化及び復号化）と言及される。
【００７３】
ロスレス・ビデオ・コーディングの場合、オリジナル・ビデオ・ピクチャを再構成することが可能であり、即ち、再構成されたビデオ・ピクチャはオリジナル・ビデオ・ピクチャと同じ質を有する（記憶及び伝送の間に、伝送ロス又は他のデータ・ロスは発生しないことを仮定している）。ロスレスでないビデオ・コーディングの場合、ビデオ・ピクチャを表現するために必要なデータ量を減らすために、量子化などによって更なる圧縮が実行され、ビデオ・ピクチャはデコーダ側で完全には再構成することができず、即ち、再構成されたビデオ・ピクチャの質は、オリジナル・ビデオ・ピクチャのものより劣る。
【００７４】
幾つかのＨ．２６１ビデオ・コーディング規格は、「ロスレスでないハイブリッド・ビデオ・コーディング」に関連している（即ち、サンプル・ドメインにおける空間的及び時間的な予測は、変換ドメインにおける量子化を適用するために２Ｄ変換コーディングと組み合わされる）。ビデオ・シーケンスの各ピクチャは、通常、重複しないブロックのセットに分割され、通常、ブロック・レベルでコーディングが実行される。具体的には、エンコーダ側において、ビデオは、通常、ブロック（ビデオ・ブロック）レベルで処理される、即ち符号化される。例えば、予測ブロックは、空間（イントラ・ピクチャ）予測及び時間（インター・ピクチャ）予測により生成され、予測ブロックは、残差ブロックを取得するために、現在ブロック（現在処理中の又は処理されるべきブロック）から減算され、残差ブロックは、変換ドメインにおいて変換され、量子化されて、伝送されるべきデータ量を減少させる（圧縮される）。デコーダ側では、エンコーダに対する逆処理が、符号化又は圧縮されたブロックに適用され、表現のために現在ブロックを再構成する。更に、エンコーダは、デコーダの処理ループを繰り返し、その結果、エンコーダ及びデコーダは、以後のブロックを処理、即ち符号化するために、同じ予測（例えば、イントラ予測及びインター予測）及び／又は再構成を生成する。
【００７５】
本明細書で使用されるように、「ブロック」という用語は、ピクチャ又はフレームの一部であってもよい。説明を容易にするために、ＩＴＵ−Ｔビデオ・コーディング・エキスパート・グループ(Video  Coding  Experts  Group，VCEG)及びＩＳＯ／ＩＥＣ動画エキスパート・グループ(Motion  Picture  Experts  Group，MPEG)のビデオ・コーディングに関する共同研究チーム(Joint  Collaboration  Team  on  Video  Coding，JCT-VC)によって開発された汎用ビデオ・コーディング(VVC：Versatile  Video  Coding)又は高効率ビデオ・コーディング(High-Efficiency  Video  Coding，HEVC)を参照して、本発明の実施形態を説明する。当業者は、本発明の実施形態がＨＥＶＣ又はＶＶＣに限定されず、ブロックはＣＵ、ＰＵ又はＴＵであってもよいことを理解する。ＨＥＶＣにおいて、ＣＴＵは、コーディング・ツリーとして示される四分木構造を使用することによって、複数のＣＵに分割される。ピクチャ領域がＣＵレベルでインター・ピクチャ（時間的）又はイントラ・ピクチャ（空間的）予測によりコーディングされるかどうかが決定される。各ＣＵは更に、ＰＵ分割タイプに基づいて、１つ、２つ、又は４つのＰＵに分割されてもよい。同じ予測プロセスが１つのＰＵ内で適用され、関連情報はＰＵに基づいてデコーダに送信される。ＰＵ分割タイプに基づいて予測プロセスを適用することにより、残差ブロックを取得した後に、ＣＵは、ＣＵに使用されるコーディング・ツリーに類似する別の四分木構造に基づいて、変換ユニット（transform  unit，TU）に分割される可能性がある。最新のビデオ圧縮技術の開発では、フレームは、コーディング・ブロックを分割するために、四分木プラス二分木（Quad-tree  plus  binary  tree，QTBT）により分割される。ＱＴＢＴブロック構造では、ＣＵは正方形又は長方形であってもよい。ＶＶＣでは、コーディング・ツリー・ユニット（coding  tree  unit，CTU）は先ず四分木構造を使用することにより分割され、四分木リーフ・ノードは二分木構造を使用することにより更に分割される。二分木リーフ・ノードはコーディング・ユニット（ＣＵ）と言及され、その分割は、他の如何なる分割もなしに予測及び変換処理のために使用される。これは、ＣＵ、ＰＵ、ＴＵがＱＴＢＴコーディング・ブロック構造において同じブロック・サイズを有することを意味する。更に、多重分割、例えばトリプル・ツリー分割がＱＴＢＴブロック構造とともに使用される。
【００７６】
以下、エンコーダ２０、デコーダ３０、符号化システム１０、復号化システム４０の実施形態を、（図１０に基づいて本発明の実施形態をより詳細に説明する前に）図１−図４に基づいて説明する。
【００７７】
図１は、例示的な符号化システム１０、例えば本願（本開示）の技術を使用することが可能なビデオ符号化システム１０を示す概念的又は概略的なブロック図である。ビデオ符号化システム１０内のエンコーダ２０（例えば、ビデオ・エンコーダ２０）及びデコーダ３０（例えば、ビデオ・デコーダ３０）は、本願で説明される種々の例に従って．．．（分割／イントラ予測／．．．）のための技術を実行するように構成されている可能性があるデバイス例を表す。図１に示すように、符号化システム１０は、符号化されたピクチャ１３のような符号化されたデータ１３を、符号化されたデータ１３等を復号化する宛先デバイスへ提供するように構成されたソース・デバイス１２を含む。
【００７８】
ソース・デバイス１２は、エンコーダ２０を含み、追加的に又はオプションとして、ピクチャ・ソース１６、例えばピクチャ前処理ユニット１８のような前処理ユニット１８、及び、通信インターフェース又は通信ユニット２２を含む可能性がある。
【００７９】
ビデオ・ソース１６は、実世界のピクチャ等を捕捉するように構成された任意の種類のピクチャ捕捉デバイス、及び／又は、ピクチャ又はコメントを生成する任意の種類のデバイス（スクリーン・コンテンツ符号化の場合には、スクリーン上の何らかのテキストもまた、符号化対象のピクチャ又は画像の一部と考えられる）、例えば、コンピュータ・アニメーション・ピクチャを生成するように構成されたコンピュータ・グラフィックス処理ユニット、又は、実世界のピクチャ又はコンピュータ・アニメーション・ピクチャを取得及び／又は提供するように構成された任意の種類のデバイス（例えば、スクリーン・コンテンツ又はバーチャル・リアリティ（virtual  reality，VR）ピクチャ）、及び／又は、それらの任意の組み合わせ（例えば、拡張現実（augmented  reality，AR）ピクチャ）を含んでもよいし、又はそれらであってもよい。
【００８０】
（デジタル）ピクチャは、ルミナンス値を有するサンプルの２次元アレイ又はマトリックスであるか、又はそのように考えられてもよい。アレイ中のサンプルは、ピクセル（pixel）（ピクチャ要素（picture  element）の短縮形）又はペルと呼ばれてもよい。アレイ又はピクチャの水平及び垂直方向（又は軸）におけるサンプルの量は、ピクチャのサイズ及び／又は解像度を規定する。色の表現には、通常、３つの色成分が使用され、即ち、ピクチャは、３つのサンプル・アレイとして表現されてもよいし、又はそれを含んでもよい。ＲＢＧフォーマット又は色空間において、ピクチャは対応する赤、緑、及び青のサンプル・アレイを含む。しかしながら、ビデオ・コーディングにおいては、各サンプルは、通常、ルミナンス／クロミナンス・フォーマット又は色空間で表現され、例えば、ＹＣｂＣｒフォーマットのピクチャは、Ｙで示されるルミナンス成分（時にはＬで示される）とＣｂ及びＣｒで示される２つのクロミナンス成分を含む。ルミナンス（略称、ルマ）成分Ｙは、ルミナンス又はグレー・レベル強度を示し（例えば、両者はグレー・スケール・ピクチャでは同じである）、２つのクロミナンス成分（略称、クロマ）Ｃｂ及びＣｒはクロミナンス又は色情報成分を表す。従って、ＹＣｂＣｒフォーマットにおけるピクチャは、ルミナンス・サンプル値（Ｙ）のルミナンス・サンプル・アレイと、クロミナンス値（Ｃｂ及びＣｒ）の２つのクロミナンス・サンプル・アレイとを含む。ＲＧＢフォーマットのピクチャは、ＹＣｂＣｒフォーマットのピクチャにコンバート又は変換されることが可能であり、その逆も可能である。このプロセスは、色変換又はコンバージョンとも呼ばれる。ピクチャがモノクロである場合、そのピクチャはルミナンス・サンプル・アレイのみを含む可能性がある。
【００８１】
ピクチャ・ソース１６（例えば、ビデオ・ソース１６）は、例えば、ピクチャを捕捉するように構成されたカメラ、例えば、事前に捕捉された若しくは生成したピクチャを包含又は記憶するピクチャ・メモリのようなメモリ、及び／又はピクチャを取得若しくは受信するための任意のタイプの（内部又は外部）インターフェースであってもよい。カメラは、例えば、ソース・デバイスに一体化されたローカル・カメラ又は一体化カメラであってもよく、メモリは、ソース・デバイスに一体化されたローカル・メモリ又は一体化メモリであってもよい。インターフェースは、例えば、外部ビデオ・ソースからピクチャを受信するための外部インターフェースであってもよい。外部ビデオ・ソースは、例えば、カメラ、外部メモリ、又は外部ピクチャ生成デバイスのような外部ピクチャ捕捉デバイスである。外部ピクチャ生成デバイスは、例えば、外部コンピュータ・グラフィックス処理ユニット、コンピュータ、又はサーバーである。インターフェースは、任意のプロプライエタリ又は標準化されたインターフェース・プロトコルに従う任意のタイプのインターフェース、例えば有線又は無線インターフェース又は光インターフェースであるとすることが可能である。ピクチャ・データ１７を取得するためのインターフェースは、通信インターフェース２２と同じインターフェースであってもよいし、又は通信インターフェース２２の一部であってもよい。
【００８２】
前処理ユニット１８及び前処理ユニット１８により実行される処理とは異なり、ピクチャ１７及びピクチャ・データ１７（例えば、ビデオ・データ１６）はまた、オリジナル・ピクチャ１７又はオリジナル・ピクチャ・データ１７と呼ばれてもよい。
【００８３】
前処理ユニット１８は、（オリジナル）ピクチャ・データ１７を受信し、ピクチャ・データ１７に関して前処理を実行して、前処理されたピクチャ１９又は前処理されたピクチャ・データ１９を取得するように構成されている。例えば、前処理ユニット１８によって実行される前処理は、トリミング、カラー・フォーマット変換（例えば、ＲＧＢからＹＣｂＣｒへ）、色補正、又はノイズ低減を含む可能性がある。前処理ユニット１８はオプションの構成要素であってもよいことは理解されるであろう。
【００８４】
エンコーダ２０（例えば、ビデオ・エンコーダ２０）は、前処理されたピクチャ・データ１９を受信し、符号化されたピクチャ・データ２１を提供するように構成される（詳細は、例えば以下において図２又は図４に基づいて更に説明される）。一例では、エンコーダ２０は、ピクチャを符号化するように構成されることが可能である。
【００８５】
ソース・デバイス１２の通信インターフェース２２は、符号化されたピクチャ・データ２１を受信し、符号化されたピクチャ・データ２１を他のデバイス、例えば宛先デバイス１４又は任意の他のデバイスへ、記憶又は直接的な再構成のために送信するように構成されることが可能であり、又は符号化されたピクチャ・データ１３を相応して記憶し、及び／又は符号化されたデータ１３を他のデバイスに送信する前に、符号化されたピクチャ・データ２１を処理するように構成されることが可能である。他のデバイスは、例えば宛先デバイス１４、又は復号化又は記憶のために使用される他のデバイスである。
【００８６】
宛先デバイス１４は、デコーダ３０（例えば、ビデオ・デコーダ３０）を含み、追加的に又はオプションとして、通信インターフェース又は通信ユニット２８、後処理ユニット３２、及び表示デバイス３４を含む可能性がある。
【００８７】
例えば、宛先デバイス１４の通信インターフェース２８は、符号化されたピクチャ・データ２１又は符号化されたデータ１３を、ソース・デバイス１２又は他の任意のソースから直接的に受信するように構成される。任意の他のソースは、例えば記憶デバイスであり、記憶デバイスは、例えば符号化されたピクチャ・データの記憶デバイスである。
【００８８】
通信インターフェース２２及び通信インターフェース２８は、ソース・デバイス１２と宛先デバイス１４との間の直接的な通信リンク、又は任意のタイプのネットワークを介して、符号化されたピクチャ・データ２１又は符号化されたデータ１３を送信又は受信するように構成されることが可能である。直接的な通信リンクは、例えば、直接的な有線又は無線の接続であり、任意の種類のネットワークが、例えば有線又は無線ネットワーク若しくはそれらの任意の組み合わせ、又は任意の種類の私的なネットワーク若しくは公のネットワーク、又はそれらの任意の組み合わせである。
【００８９】
通信インターフェース２２は、例えば、符号化されたピクチャ・データ２１を、通信リンク又は通信ネットワークでの伝送のためのパケットのような適切なフォーマットにカプセル化するように構成されることが可能である。
【００９０】
通信インターフェース２２の対応する部分としての通信インターフェース２８は、符号化されたピクチャ・データ２１等を取得するために符号化されたデータ１３を非カプセル化するように構成されることが可能である。
【００９１】
通信インターフェース２２及び通信インターフェース２８の両方は、一方向通信インターフェース、例えば図１の符号化されたピクチャ・データ１３のために使用されるソース・デバイス１２から宛先デバイス１４へ向かう矢印として構成されることが可能であり、又は双方向通信インターフェースとして構成されることが可能であり、例えば接続を確立するためにメッセージを送信及び受信し、通信リンク及び／又は符号化されたピクチャ・データ伝送のようなデータ伝送に関連する他の任意の情報を確認及び交換するように構成されることが可能である。
【００９２】
デコーダ３０は、符号化されたピクチャ・データ２１を受信し、復号化されたピクチャ・データ３１又は復号化されたピクチャ３１を提供するように構成される（詳細は、例えば図３又は図５に基づいて、以下において更に説明される）。
【００９３】
宛先デバイス１４の後処理プロセッサ３２は、復号化されたピクチャ・データ３１のような復号化されたピクチャ・データ３１（再構成されたピクチャ・データとも呼ばれる）を後処理して、後処理されたピクチャ３３のような後処理されたピクチャ・データ３３を取得するように構成される。後処理ユニット３２によって実行される後処理は、例えばカラー・フォーマット変換（例えば、ＹＣｂＣｒからＲＧＢへ）、色補正、トリミング、リサンプリング、又は表示デバイス３４による表示のための復号化されたピクチャ・データ３１を準備するための他の任意の処理を含む可能性がある。
【００９４】
宛先デバイス１４の表示デバイス３４は、後処理ピクチャ・データ３３を受信して、ピクチャをユーザー、ビューア等に表示するように構成されている。表示デバイス３４は、再構成されたピクチャを提示するように構成された任意のタイプのディスプレイ、例えば一体化された又は外部のディスプレイ又はモニタであってもよいし、又はそれらを含んでもよい。例えば、ディスプレイは、液晶ディスプレイ（liquid  crystal  display，LCD）、有機発光ダイオード（organic  light  emitting  diode，OLED）ディスプレイ、プラズマ・ディスプレイ、プロジェクタ、マイクロＬＥＤディスプレイ、液晶オン・シリコン（liquid  crystal  on  silicon，LCoS）ディスプレイ、デジタル光プロセッサ（digital  light  processor，DLP）、又は任意の他のタイプのディスプレイを含む可能性がある。
【００９５】
図１は、ソース・デバイス１２と宛先デバイス１４とを別々のデバイスとして描いているが、デバイスの実施形態はまた、ソース・デバイス１２と宛先デバイス１４の両方、又はソース・デバイス１２の機能と宛先デバイス１４の機能の両方、即ち、ソース・デバイス１２又は対応する機能と、宛先デバイス１４又は対応する機能とを含む可能性がある。そのような実施形態では、ソース・デバイス１２又は対応する機能と宛先デバイス１４又は対応する機能とは、同じハードウェア及び／又はソフトウェア、別個のハードウェア及び／又はソフトウェア、又はそれらの任意の組み合わせを使用することにより実装されもよい。
【００９６】
図１に示すソース・デバイス１２及び／又は宛先デバイス１４の機能／様々なユニットの機能又は機能の存在及び（正確な）分割は、実際のデバイス及び用途によって異なる可能性があることを、当業者は明細書に基づいて容易に理解する。
【００９７】
エンコーダ２０（例えば、ビデオ・エンコーダ２０）及びデコーダ３０（例えば、ビデオ・デコーダ３０）は、それぞれ、種々の適切な回路、例えば１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（digital  signal  processor，DSP）、特定用途向け集積回路（application-specific  integrated  circuit，ASIC）、フィールド・プログラマブル・ゲート・アレイ（field-programmable  gate  array，FPGA）、ディスクリート・ロジック、ハードウェア、又はそれらの任意の組み合わせのうちの任意の１つとして実現されることが可能性である。技術がソフトウェアで部分的に実装される場合、デバイスは、ソフトウェア命令を、適切な非一時的なコンピュータ読み取り可能な記憶媒体に記憶することが可能であり、本開示の技術を実行するために１つ以上のプロセッサを使用することによって、ハードウェアにおいて命令を実行することが可能である。前述の任意の内容（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ等を含む）が、１つ以上のプロセッサと考えられてもよい。ビデオ・エンコーダ２０及びビデオ・デコーダ３０は、それぞれ、１つ以上のエンコーダ又はデコーダに含まれる可能性があり、エンコーダ又はデコーダの任意の１つが、対応するデバイス内の組み合わされたエンコーダ／デコーダ（コーデック）の一部として統合される可能性がある。
【００９８】
ソース・デバイス１２は、ビデオ符号化デバイス又はビデオ符号化装置と言及されてもよい。宛先デバイス１４は、ビデオ復号化デバイス又はビデオ復号化装置と言及されてもよい。ソース・デバイス１２及び宛先デバイス１４は、それぞれ、ビデオ符号化デバイス又はビデオ復号化装置の一例とすることが可能である。
【００９９】
ソース・デバイス１２及び宛先デバイス１４は、それぞれ、任意のタイプのハンドヘルド又はステーショナリ・デバイスを含む様々なデバイスのうちの任意の１つ、例えば、ノートブック又はラップトップ・コンピュータ、携帯電話、スマートフォン、タブレット又はタブレット・コンピュータ、ビデオ・カメラ、デスクトップ・コンピュータ、セット・トップ・ボックス、テレビ、表示デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、ビデオ・ストリーミング伝送デバイス（コンテンツ・サービス・サーバー又はコンテンツ配信サーバー等）、放送受信デバイス、又は放送送信デバイスである可能性があり、任意のタイプのオペレーティング・システムを使用してもよいし、又は使用しなくてもよい。
【０１００】
場合によっては、ソース・デバイス１２及び宛先デバイス１４は無線通信用に装備されてもよい。従って、ソース・デバイス１２及び宛先デバイス１４は、無線通信デバイスであってもよい。
【０１０１】
場合によっては、図１に示すビデオ符号化システム１０は単なる一例に過ぎず、本願の技術は、符号化デバイスと復号化デバイスとの間で如何なるデータ通信も含む必要のないビデオ・コーディング設定（例えば、ビデオ符号化又はビデオ復号化）に適用される可能性がある。他の例において、データは、ローカル・メモリから検索されてもよいし、ネットワークを介してストリーミング等されてもよい。ビデオ符号化デバイスは、データを符号化し、そのデータをメモリに格納することが可能であり、及び／又はビデオ復号化デバイスは、データをメモリから検索し、そのデータを復号化することが可能である。幾つかの例では、符号化及び復号化は、互いに通信しないが、メモリへのデータを符号化し及び／又はメモリからデータを検索してデータを復号化するだけのデバイスによって実行される。
【０１０２】
ビデオ・エンコーダ２０を参照して説明された前述の例のそれぞれについて、ビデオ・デコーダ３０は、逆プロセスを実行するように構成さることが可能であることが理解されるはずである。シグナリング・シンタックス要素の場合、ビデオ・デコーダ３０は、シンタックス要素を受信及び解析し、それに応じて、関連するビデオ・データを復号化するように構成されることが可能である。幾つかの例では、ビデオ・エンコーダ２０は、符号化ビデオ・ビットストリームへの．．．を規定する１つ以上のシンタックス要素をエントロピー符号化することができる。このような例では、ビデオ・デコーダ３０は、このようなシンタックス要素を解析し、それに応じて、関連するビデオ・データを復号化することが可能である。
【０１０３】
エンコーダ＆符号化方法
【０１０４】
図２は、本願（開示）における技術を実装するように構成されたビデオ・エンコーダ２０の一例の概略的／概念的なブロック図である。図２の例では、ビデオ・エンコーダ２０は、残差計算ユニット２０４と、変換処理ユニット２０６と、量子化ユニット２０８と、逆量子化ユニット２１０と、逆変換処理ユニット２１２と、再構成ユニット２１４と、バッファ２１６と、ループ・フィルタ・ユニット２２０と、復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０と、予測処理ユニット２６０と、エントロピー符号化ユニット２７０とを含む。予測処理ユニット２６０は、インター予測ユニット２４４と、イントラ予測ユニット２５４と、モード選択ユニット２６２とを含むことが可能である。インター予測ユニット２４４は、動き推定ユニットと、動き補償ユニット（図面には示されていない）とを含むことが可能である。図２に示すビデオ・エンコーダ２０はまた、ハイブリッド・ビデオ・エンコーダ又はハイブリッド・ビデオ・コーデック・ベースのビデオ・エンコーダと言及されてもよい。
【０１０５】
例えば、残差計算ユニット２０４、変換処理ユニット２０６、量子化ユニット２０８、予測処理ユニット２６０、エントロピー符号化ユニット２７０は、エンコーダ２０の順方向信号経路を形成し、逆量子化ユニット２１０、逆変換処理ユニット部２１２、再構成ユニット２１４、バッファ２１６、ループ・フィルタ２２０、復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０、予測処理ユニット２６０等は、エンコーダの逆方向信号経路を形成する。エンコーダの逆方向信号経路は、デコーダ（図３のデコーダ３０を参照されたい）の信号経路に対応する。
【０１０６】
エンコーダ２０は、ピクチャ２０１又はピクチャ２０１のブロック２０３、例えばビデオ又はビデオ・シーケンスを形成する一連のピクチャにおけるピクチャを、入力２０２等を使用することにより受信する。ピクチャ・ブロック２０３はまた、現在のピクチャ・ブロック又は符号化対象のピクチャ・ブロックと言及される可能性があり、ピクチャ２０１は、現在のピクチャ又は符号化対象のピクチャと言及される可能性がある（特に、現在ピクチャがビデオ・コーディングにおける他のピクチャから区別される場合、例えば同じビデオ・シーケンス内の他のピクチャはまた、現在のピクチャのビデオ・シーケンスにおける以前に符号化及び／又は復号化されたピクチャを含む。）。
【０１０７】
分割
【０１０８】
エンコーダ２０の実施形態は、ピクチャ２０１を、ブロック２０３のような複数の重複しないブロックに分割するように構成された分割ユニット（図２には示されていない）を含むことが可能である。分割ユニットは、ビデオ・シーケンス内のすべてのピクチャに対して同一のブロック・サイズとブロック・サイズを規定する対応するラスタとを使用するように構成されることが可能であり、又は、ピクチャ、サブセット、又はピクチャ・グループ間のブロック・サイズを変更し、各ピクチャを対応するブロックに分割するように構成されることが可能である。
【０１０９】
一例では、ビデオ・エンコーダ２０の予測処理ユニット２６０は、前述の分割技術の任意の組み合わせを実行するように構成されてもよい。
【０１１０】
例えば、ピックチャ２０１において、ブロック２０３はまた、ルミナンス値（サンプル値）を有する２次元アレイ又はマトリクスであるか、又はそれらとして考えられてもよいが、ブロック２０３のサイズはピクチャ２０１のものより小さい。換言すれば、ブロック２０３は、例えば、１つのサンプル・アレイ（例えば、モノクロ・ピクチャ２０１の場合のルミナンス・アレイ）、３つのサンプル・アレイ（例えば、カラー・ピクチャの場合における１つのルミナンス・アレイ及び２つのクロミナンス・アレイ）、又は使用されるカラー・フォーマットに基づく他の任意の量及び／又はアレイのタイプを含むことが可能である。ブロック２０３の水平及び垂直方向（又は軸）におけるサンプルの量は、ブロック２０３のサイズを規定する。
【０１１１】
図２に示すエンコーダ２０は、ブロック毎にピクチャ２０１を符号化するように、例えば各ブロック２０３において符号化及び予測を実行するように構成される。
【０１１２】
残差計算
【０１１３】
残差計算ユニット２０４は、ピクチャ・ブロック２０３及び予測ブロック２６５（予測ブロック２６５に関する更なる詳細は以下において行われる）に基づいて、残差ブロック２０５を計算するように、例えば、予測ブロック２６５のサンプル値をサンプル毎に（ピクセル毎に）ピクチャ・ブロック２０３のサンプル値から減算することにより、サンプル・ドメインにおいて残差ブロック２０５を取得するように構成されている。
【０１１４】
変換
【０１１５】
変換処理ユニット２０６は、離散コサイン変換（discrete  cosine  transform，DCT）又は離散サイン変換（discrete  sine  transform，DST）のような変換を、残差ブロック２０５のサンプル値に適用し、変換ドメインにおいて変換係数２０７を取得するように構成されている。変換係数２０７はまた、残差変換係数と言及されてもよく、変換ドメインにおける残差ブロック２０５を示す。
【０１１６】
変換処理ユニット２０６は、ＤＣＴ／ＤＳＴの整数近似、例えばＨＥＶＣ／Ｈ．２６５で指定されている変換を適用するように構成されてもよい。この整数近似は、通常、直交ＤＣＴ変換に匹敵する因子によって比例的にスケーリングされる。順変換及び逆変換を通じて取得された残差ブロックのノルムを維持するために、追加的なスケール因子が変換プロセスの一部として適用される。スケール因子は、通常、幾つかの制約条件に基づいて選択され、例えば、２の冪乗、変換係数のビット深度、又はシフト演算に使用される精度と実装コストとの間のトレードオフに基づいて選択される。例えば、逆変換処理ユニット２１２を使用することにより、デコーダ３０側における逆変換に対して（相応に、逆変換処理ユニット２１２等を使用することにより、エンコーダ２０側における逆変換に対して）、特定のスケール因子が指定され、これに対応して、変換処理ユニット２０６を使用することにより、エンコーダ２０側における順変換に対して、対応するスケール因子が指定されてもよい。
【０１１７】
量子化
【０１１８】
量子化ユニット２０８は、スケール量子化やベクトル量子化などを適用することにより変換係数２０７を量子化し、量子化された変換係数２０９を取得するように構成される。量子化された変換係数２０９は、量子化された残差係数２０９とも呼ばれる。量子化プロセスは、幾つかの又は全ての変換係数２０７に関連するビット深度を低減することができる。例えば、ｎビット変換係数は、量子化中にｍビット変換係数に丸められる可能性があり、ここで、ｎはｍより大きい。量子化の程度は、量子化パラメータ（quantization  parameter，QP）を調整することによって修正されることが可能である。例えば、スケール量子化のために、異なるスケールが、より細かい又はより粗い量子化を達成するために適用されてもよい。より小さな量子化ステップはより細かい量子化に対応し、より大きな量子化ステップはより粗い量子化に対応する。適切な量子化ステップは、量子化パラメータ（quantization  parameter，QP）を使用することによって示されてもよい。例えば、量子化パラメータは、適切な量子化ステップの所定のセットのインデックスであってもよい。例えば、より小さな量子化パラメータはより細かい量子化（より小さな量子化ステップ）に対応し、より大きな量子化パラメータはより粗い量子化（より大きな量子化ステップ）に対応し、その逆も可能である。量子化は、量子化ステップによる除算と、逆量子化ユニット２１０等によって実行される対応する量子化又は逆量子化とを含んでもよいし、又は量子化ステップによる乗算を含んでもよい。ＨＥＶＣ等の幾つかの規格による実施形態では、量子化ステップを決定するために量子化パラメータが使用されてもよい。一般に、量子化ステップは、除算を含む式の固定小数点近似による量子化パラメータに基づいて計算される可能性がある。追加的なスケール因子が量子化及び逆量子化のために導入され、残差ブロックのノルムであって、量子化ステップのために使用される式の固定小数点近似で使用されるスケール及び量子化パラメータに起因して修正される可能性があるノルムを復元することが可能である。例示的な実装において、逆変換のスケールは逆量子化のスケールと組み合わせられてもよい。代替的に、カスタマイズされた量子化テーブルが使用され、エンコーダからデコーダへ、例えばビットストリームでシグナリングされてもよい。量子化はロスレスでない演算であり、より大きな量子化ステップはより大きなロスを示す。
【０１１９】
逆量子化ユニット２１０は、量子化ユニット２０８の逆量子化を量子化係数に適用して、逆量子化係数２１１を取得するように、例えば量子化ユニット２０８と同じ量子化ステップに基づいて又はそれを使用して、量子化ユニット２０８により適用される量子化方式の逆量子化方式を適用するように、構成される。逆量子化係数２１１はまた、逆量子化残差係数２１１とも呼ばれ、変換係数２０７に対応するが、量子化によって生じるロスは、通常、変換係数とは異なる。
【０１２０】
逆変換処理ユニット２１２は、変換処理ユニット２０６によって適用される変換の逆変換、例えば逆離散コサイン変換（discrete  cosine  transform，DCT）又は逆離散サイン変換（discrete  sine  transform，DST）を適用して、サンプル・ドメインにおける逆変換ブロック２１３を取得するように構成される。逆変換ブロック２１３はまた、逆変換逆量子化ブロック２１３又は逆変換残差ブロック２１３と言及されてもよい。
【０１２１】
再構成ユニット２１４（例えば、加算器２１４）は、予測ブロック２６５に逆変換ブロック２１３（即ち、再構成された残差ブロック２１３）を加算して、例えば再構成された残差ブロック２１３のサンプル値と予測ブロック２６５のサンプル値とを加算することにより、サンプル・ドメインにおいて再構成されたブロック２１５を取得するように構成される。
【０１２２】
オプションとして、ライン・バッファ２１６のようなバッファ・ユニット２１６（又は略称「バッファ」２１６）は、再構成されたブロック２１５とイントラ予測などのための対応するサンプル値とをバッファリング又は記憶するように構成される。他の実施形態では、エンコーダは、イントラ予測などの任意のタイプの推定及び／又は予測のために、バッファ・ユニット２１６に記憶されたフィルタリングされていない再構成ブロック及び／又は対応するサンプル値を使用するように構成されてもよい。
【０１２３】
例えば、エンコーダ２０の実施形態は、バッファ・ユニット２１６が、イントラ予測のために再構成ブロック２１５を記憶するように構成されるだけでなく、ループ・フィルタ・ユニット２２０（図２には図示せず）のフィルタリングされたブロック２２１を記憶するようにも構成され、及び／又はバッファ・ユニット２１６と復号化済みピクチャ・バッファ・ユニット２３０とが１つのバッファを形成するように、構成されることが可能である。他の実施形態は、フィルタリングされたブロック２２１及び／又は復号化済みピクチャ・バッファ２３０（図２には示されていない）からのブロック又はサンプルを、イントラ予測２５４のための入力又は基礎として使用するために使用されることが可能である。
【０１２４】
ループ・フィルタ・ユニット２２０（又は、略称「ループ・フィルタ」２２０）は、フィルタリングされたブロック２２１を取得するために、再構成されたブロック２１５に関してフィルタリングを実行し、サンプル変換を円滑に行い、又はビデオ品質を改善するように構成される。ループ・フィルタ・ユニット２２０は、１つ以上のループ・フィルタ、例えばデブロッキング・フィルタ、サンプル・アダプティブ・オフセット（sample-adaptive  offset，ＳＡＯ）フィルタ、又は、バイラテラル・フィルタ、アダプティブ・ループ・フィルタ（adaptive  loop  filter，ＡＬＦ）、鮮鋭化又は平滑化フィルタ、又は協調フィルタ等の別のフィルタを表すように意図されている。ループ・フィルタ・ユニット２２０は、ループ内フィルタとして図２に示されているが、ループ・フィルタ・ユニット２２０は、他の構成では、ポスト・ループ・フィルタとして実装されてもよい。フィルタリングされたブロック２２１は、フィルタリング済みの再構成されたブロック２２１としても参照されてもよい。復号化済みピクチャ・バッファ２３０は、ループ・フィルタ・ユニット２２０が再構成されたコーディング・ブロックに対してフィルタリング処理を実行した後に、再構成されたコーディング・ブロックを記憶することが可能である。
【０１２５】
エンコーダ２０（対応して、ループ・フィルタ・ユニット２２０）の実施形態は、ループ・フィルタ・パラメータ（例えば、サンプル適応オフセット情報）を出力するために、例えばループ・フィルタ・パラメータを直接的に出力するために、又は例えばエントロピー符号化ユニット２７０又は何らかの他のエントロピー符号化ユニットがエントロピー符号化を実行した後に、ループ・フィルタ・パラメータを出力するために使用されることが可能であり、その結果、デコーダ３０は復号化などのために同じループ・フィルタ・パラメータを受信及び適用することが可能である。
【０１２６】
復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０は、ビデオ・データを符号化するためにビデオ・エンコーダ２０用に参照ピクチャ・データを記憶する参照ピクチャ・メモリであってもよい。ＤＰＢ２３０は、複数のメモリ、例えば、ダイナミック・ランダム・アクセス・メモリ（dynamic  random  access  memory，DRAM）（同期DRAM（synchronous  DRAM，SDRAM）、磁気抵抗ＲＡＭ（magnetoresistive  RAM，  MRAM）、又は抵抗ＲＡＭ（resistive  RAM，RRAM）を含む）、又は別のタイプのメモリのうちの任意のものであってもよい。ＤＰＢ２３０及びバッファ２１６は、同一のメモリ又は別個のメモリによって提供されてもよい。一例では、復号化済みピクチャ・バッファ（decoded  picture  buffer，DRB）２３０は、フィルタリングされたブロック２２１を記憶するように構成される。復号化済みピクチャ・バッファ２３０は、更に、同じ現在ピクチャ又は以前に再構成されたピクチャのような異なるピクチャの、以前に再構成されフィルタリングされたブロック２２１のような他の以前のフィルタリングされたブロックを記憶するように更に構成されることが可能であり、完全な以前の再構成された、即ち復号化されたピクチャ（及び対応する参照ブロック及び対応するサンプル）及び／又はイントラ予測等のための部分的に再構成された現在ピクチャ（及び対応する参照ブロック及び対応するサンプル）を提供することが可能である。一例では、再構成ブロック２１５がループ内フィルタリングなしに再構成される場合、復号化済みピクチャ・バッファ（decoded  picture  buffer，DPB）２３０は、再構成ブロック２１５を記憶するように構成される。
【０１２７】
予測処理ユニット２６０はまた、ブロック予測処理ユニット２６０とも言及され、ブロック２０３（現在ピクチャ２０１の現在ブロック２０３）及び再構成されたピクチャ・データ、例えばバッファ２１６内の同じ（現在の）ピクチャからの参照サンプル、復号化済みピクチャ・バッファ２３０内の１つ以上の以前の復号化されたピクチャからの参照ピクチャ・データ２３１を受信又は取得し、そのデータを予測のために処理し、即ち、インター予測ブロック２４５又はイントラ予測ブロック２５５である可能性がある予測ブロック２６５を提供するように構成される。
【０１２８】
モード選択ユニット２６２は、予測ブロック２６５として予測モード（例えば、イントラ又はインター予測モード）及び／又は対応する予測ブロック２４５又は２５５を選択して、残差ブロック２０５を計算し、再構成ブロック２１５を再構成するように構成されることが可能である。
【０１２９】
モード選択ユニット２６２の実施形態は、予測モードを（例えば、予測処理ユニット２６０によりサポートされる予測モードから）選択するために使用されてもよい。予測モードは、最良の一致又は最小の残差（最小の残差は、伝送又は記憶における、より良い圧縮を意味する）を提供し、又は最小のシグナリング・オーバヘッド（最小のシグナリング・オーバヘッドは、伝送又は記憶における、より良い圧縮を意味する）を提供し、或いは両者を考慮する又はバランスをとる。モード選択ユニット２６２は、レート歪最適化（rate  distortion  optimization，RDO）に基づいて予測モードを決定するように、即ち、最小レート歪最適化を提供する予測モードを選択するように、又は関連するレート歪が少なくとも予測モード選択基準を満たす予測モードを選択するように構成されてもよい。
【０１３０】
エンコーダ２０の一例によって実行される、（例えば、予測処理ユニット２６０を用いることによる）予測処理及び（例えば、モード選択ユニット２６２を用いることによる）モード選択が、以下において詳細に説明される。
【０１３１】
上述したように、エンコーダ２０は、（所定の）予測モード・セットから最良の又は最適な予測モードを決定又は選択するように構成される。予測モード・セットは、例えば、イントラ予測モード及び／又はインター予測モードを含むことが可能である。
【０１３２】
イントラ予測モード・セットは、３５個の異なるイントラ予測モード、例えば、ＤＣ（又は平均）モード及び平面モードのような非方向性モード、又はＨ．２６５で規定されている方向性モードを含むことが可能であり、又は６７個のイントラ予測モード、例えばＤＣ（又は平均）モード及び平面モードのような非方向性モード、又はＨ．２６６で規定される発展した方向性モードを含むことが可能である。
【０１３３】
（可能な）インター予測モード・セットは、利用可能な参照ピクチャ（例えば、ＤＢＰ２３０に記憶されている復号化されたピクチャの少なくとも一部）及び他のインター予測パラメータに依存し、例えば、参照ピクチャ全体が使用されるか又は参照ピクチャの一部分のみが使用されるかどうか、例えば、現在ブロックの領域を囲むサーチ・ウィンドウ領域が、最良に合致する参照ブロックのために探索されるかどうかに依存し、及び／又は、ハーフ・サンプル及び／又は４分の１サンプル補間のようなサンプル補間が適用されるかどうかに依存する。
【０１３４】
前述の予測モードに加えて、スキップ・モード及び／又はダイレクト・モードも適用されることが可能である。
【０１３５】
予測処理ユニット２６０は、更に、ブロック２０３を、より小さなブロック・パーティション又はサブブロックに、例えば四分木（quad-tree，QT）分割、二分木（binary-tree，BT）分割、三分木又は三分探索木（triple-tree  or  ternary-tree，ＴＴ）分割、又はこれらの組み合わせを反復的に用いることにより分割し、ブロック・パーティション又はサブブロックのそれぞれに関して予測などを実行するように構成されてもよい。モード選択は、分割されたブロック２０３のツリー構造を選択することと、ブロック・パーティション又はサブブロックの各々に適用される予測モードを選択することとを含む。
【０１３６】
インター予測ユニット２４４は、動き推定（motion  estimation，ME）ユニット（図２には示されていない）と、動き補償（motion  compensation，MC）ユニット（図２には示されていない）とを含むことが可能である。動き推定ユニットは、動き推定を行うために、ピクチャ・ブロック２０３（現在ピクチャ２０１の現在ピクチャ・ブロック２０３）及び復号化されたピクチャ３１、又は少なくとも１つ以上の以前に再構成されたブロック、例えば、以前に復号化されたピクチャ３１とは異なる１つ以上の他の再構成されたブロックを受信又は取得するように構成される。例えば、ビデオ・シーケンスは、現在のピクチャ及び以前の復号化されたピクチャ３１を含む可能性がある。換言すれば、現在ピクチャ及び以前の復号化されたピクチャ３１は、ビデオ・シーケンスを形成する、又はピクチャ・シーケンスを形成するピクチャのシーケンスの一部であってもよい。
【０１３７】
例えば、エンコーダ２０は、同一のピクチャの複数の参照ブロック、又は複数の他のピクチャにおける異なるピクチャから、参照ブロックを選択し、参照ピクチャ（又は参照ピクチャ・インデックス）、及び／又は参照ブロックの位置（Ｘ−Ｙ座標）と現在ブロックの位置との間のオフセット（空間オフセット）を、インター予測パラメータとして動き推定ユニット（図２には示されていない）に提供するように構成されてもよい。このオフセットは、動きベクトル（motion  vector，MV）とも言及される。
【０１３８】
動き補償ユニットは、例えば、インター予測パラメータを取得、例えば受信し、インター予測パラメータに基づいて又はそれを使用することにより、インター予測を行ってインター予測ブロック２４５を取得するように構成される。動き補償ユニット（図２には示されていない）によって実行される動き補償は、動き推定によって決定される動き／ブロック・ベクトルに基づいて、予測ブロックをフェッチ又は生成すること（可能性として、サブ・サンプル精度で補間を実行することを含む）を含む可能性がある。補間フィルタリングの間に、追加サンプルが既知のサンプルから生成され、それにより、ピクチャ・ブロックを符号化するために使用される可能性がある候補予測ブロックの量を潜在的に増加させることが可能である。一旦、現在のピクチャ・ブロックのＰＵに使用される動きベクトルが受信されると、動き補償ユニット２４６は、動きベクトルが参照ピクチャ・リスト内で指し示す予測ブロックを位置決めすることが可能である。動き補償ユニット２４６は、更に、ブロック及びビデオ・スライスに関連するシンタックス要素を生成することが可能であり、その結果、ビデオ・デコーダ３０は、ビデオ・スライスのピクチャ・ブロックを復号化する場合にシンタックス要素を使用する。
【０１３９】
イントラ予測ユニット２５４は、例えば、同じピクチャのピクチャ・ブロック２０３（現在ピクチャ・ブロック）と、再構成された隣接ブロックのような１つ以上の以前の再構成ブロックとを取得、例えば受信して、イントラ推定を実行するように構成される。例えば、エンコーダ２０は、複数の（所定の）イントラ予測モードからイントラ予測モードを選択するように構成されることが可能である。
【０１４０】
エンコーダ２０の実施形態は、最適化基準に基づいて、例えば最小残差（例えば、現在のピクチャ・ブロック２０３に最も類似した予測ブロック２５５を提供するイントラ予測モード）又は最小レート歪に基づいて、イントラ予測モードを選択するように構成されてもよい。
【０１４１】
イントラ予測部２５４は、選択されたイントラ予測モードのイントラ予測パラメータに基づいて、イントラ予測ブロック２５５を決定するように更に構成される。何れにせよ、ブロックに使用されるイントラ予測モードを選択した後、イントラ予測ユニット２５４は、更に、エントロピー符号化ユニット２７０にイントラ予測パラメータを提供するように、即ち、ブロックに使用される選択されたイントラ予測モードを示す情報を提供するように構成される。一例では、イントラ予測ユニット２５４は、以下のイントラ予測技術の任意の組み合わせを実行するように構成されてもよい。
【０１４２】
エントロピー符号化ユニット２７０は、エントロピー符号化アルゴリズム又はスキーム（例えば、可変長コーディング（variable  length  coding，VLC）スキーム、コンテキスト適応ＶＬＣ（context  adaptive  VLC，CAVLC）スキーム、算術コーディング・スキーム、コンテキスト適応バイナリ算術コーディング（context  adaptive  binary  arithmetic  coding，CABAC）スキーム、シンタックス・ベースのコンテキスト適応バイナリ算術コーディング（syntax-based  context-adaptive  binary  arithmetic  coding,  SBAC）スキーム、確率区間分割エントロピー（probability  interval  partitioning  entropy,  PIPE）コーディング・スキーム、又は他のエントロピー符号化方法又は技術）を、量子化された残差係数２０９、インター予測パラメータ、イントラ予測パラメータ、及び／又はループ・フィルタ・パラメータのうちの１つ以上に適用して（又は何れにも適用せず）、出力２７２を使用することにより例えば符号化されたビットストリームの形式で出力されることが可能な符号化されたピクチャ・データ２１を取得するように構成される。符号化されたビットストリームは、ビデオ・デコーダ３０に送信されてもよいし、又はビデオ・デコーダ３０による後の送信又は検索のために保管されてもよい。エントロピー符号化ユニット２７０は、符号化されつつある現在のビデオ・スライスの別のシンタックス要素に関してエントロピー符号化を実行するように更に構成されてもよい。
【０１４３】
ビデオ・エンコーダ２０の別の構造的な変形は、ビデオ・ストリームを符号化するように構成されてもよい。例えば、非変換ベースのエンコーダ２０は、幾つかのブロック又はフレームについて、変換処理ユニット２０６を使用せずに残差信号を直接的に量子化することができる。別の実装において、エンコーダ２０は、１つのユニットに結合される量子化ユニット２０８及び逆量子化ユニット２１０を有することが可能である。
【０１４４】
図３は、本願における技術を実装するように構成されたビデオ・デコーダ３０の一例を示す。ビデオ・デコーダ３０は、エンコーダ２０等によって符号化された符号化されたピクチャ・データ（例えば、符号化されたビットストリーム）２１を受信して、復号化されたピクチャ３１を取得するように構成される。復号化処理において、ビデオ・デコーダ３０は、ビデオ・エンコーダ２０からビデオ・データ、例えば符号化ビデオ・スライスのピクチャ・ブロック及び関連するシンタックス要素を示す符号化ビデオ・ビットストリームを受信する。
【０１４５】
図３の例では、デコーダ３０は、エントロピー復号化ユニット３０４と、逆量子化ユニット３１０と、逆変換処理ユニット３１２と、再構成ユニット３１４（例えば、加算器３１４）と、バッファ３１６と、ループ・フィルタ３２０と、復号化済みピクチャ・バッファ３３０と、予測処理ユニット３６０とを含む。予測処理ユニット３６０は、インター予測ユニット３４４と、イントラ予測ユニット３５４と、モード選択ユニット３６２とを含んでもよい。幾つかの例では、ビデオ・デコーダ３０は、図２のビデオ・エンコーダ２０を参照して説明した符号化トラバースに対して概ね逆の復号化トラバースを実行することが可能である。
【０１４６】
エントロピー復号化ユニット３０４は、符号化されたピクチャ・データ２１に関してエントロピー復号化を実行し、量子化係数３０９、復号化されたコーディング・パラメータ（図３には示されていない）等、及び／又は、例えばインター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータ、及び／又は他のシンタックス要素（復号化されている）のうちの任意の１つ又は全てを取得するように構成される。エントロピー復号化ユニット３０４は、更に、インター予測パラメータ、イントラ予測パラメータ、及び／又は他のシンタックス要素を予測処理ユニット３６０に転送するように構成される。ビデオ・デコーダ３０は、ビデオ・スライス・レベルでのシンタックス要素及び／又はビデオ・ブロック・レベルでのシンタックス要素を受信することが可能である。
【０１４７】
逆量子化ユニット３１０は、逆量子化ユニット１１０と同じ機能を有してもよく、逆変換処理ユニット３１２は、逆変換処理ユニット２１２と同じ機能を有してもよく、再構成ユニット３１４は、再構成ユニット２１４と同じ機能を有してもよく、バッファ３１６は、バッファ２１６と同じ機能を有してもよく、ループ・フィルタ３２０は、ループ・フィルタ２２０と同じ機能を有してもよく、復号化済みピクチャ・バッファ３３０は、復号化済みピクチャ・バッファ２３０と同じ機能を有してもよい。
【０１４８】
予測処理ユニット３６０は、インター予測ユニット３４４及び内部予測ユニット３５４を含むことが可能である。インター予測ユニット３４４は、インター予測ユニット２４４と同様の機能を有してもよく、イントラ予測ユニット３５４は、イントラ予測ユニット２５４と同様の機能を有してもよい。予測処理ユニット３６０は、通常、ブロック予測を実行し、及び／又は符号化されたデータ２１から予測ブロック３６５を取得し、選択された予測モードに関する予測関連パラメータ及び／又は情報を、例えばエントロピー復号化ユニット３０４から（明示的又は黙示的に）受信又は取得するように構成される。
【０１４９】
ビデオ・スライスがイントラ符号化（Ｉ）として符号化されると、予測処理ユニット３６０のイントラ予測ユニット３５４は、現在フレーム又はピクチャの以前の復号化されたブロックからのデータ及びシグナリングされたイントラ予測モードに基づいて、現在のビデオ・スライスのピクチャ・ブロックに使用される予測ブロック３６５を生成するように構成される。ビデオ・フレームが、インター・コーディングされた（即ち、Ｂ又はＰ）スライスとして符号化されると、予測処理ユニット３６０のインター予測ユニット３４４（例えば、動き補償ユニット）は、エントロピー復号化ユニット３０４から受信した動きベクトル及び別のシンタックス要素に基づいて、現在のビデオ・スライスのビデオ・ブロックに使用される予測ブロック３６５を生成するように構成される。インター予測に関し、予測ブロックは、１つの参照ピクチャ・リスト内の参照ピクチャの１つから生成されてもよい。ビデオ・デコーダ３０は、ＤＰＢ３３０に記憶された参照ピクチャに基づくデフォルトの構成技術を使用することによって、リスト０及びリスト１の参照フレーム・リストを構成することができる。
【０１５０】
予測処理ユニット３６０は、動きベクトル及び他のシンタックス要素を解析することにより、現在のビデオ・スライスのビデオ・ブロックに使用される予測情報を決定し、予測情報を使用して、復号化されつつある現在のビデオ・ブロックに使用される予測ブロックを生成するように構成される。例えば、予測処理ユニット３６０は、受信した幾つかのシンタックス要素を使用することにより、ビデオ・スライスのビデオ・ブロックを符号化するために使用される予測モード（例えば、イントラ又はインター予測）、インター予測スライス・タイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスに使用される参照ピクチャ・リスト内の１つ以上のピクチャの構成情報、スライスに使用されるインター符号化ビデオ・ブロック各々の動きベクトル、スライスに使用されるインター符号化ビデオ・ブロック各々のインター予測状態、及び他の情報を決定して、現在のビデオ・スライスのビデオ・ブロックを復号化する。
【０１５１】
逆量子化ユニット３１０は、ビットストリームで提供されるエントロピー復号化ユニット３０４によって復号化される量子化変換係数に対して逆量子化（即ち、非量子化）を実行するように構成されてもよい。逆量子化プロセスは、ビデオ・スライス内の各ビデオ・ブロックについてビデオ・エンコーダ２０によって計算される量子化パラメータを使用して、適用されるべき量子化の程度を決定し、適用されるべき逆量子化の程度を決定することを含む可能性がある。
【０１５２】
逆変換処理ユニット３１２は、変換係数に逆変換（例えば、逆ＤＣＴ、逆整数変換、又は概念的に類似する逆変換処理）を適用して、サンプル・ドメインにおける残差ブロックを生成するように構成される。
【０１５３】
再構成ユニット３１４（例えば、加算器３１４）は、逆変換ブロック３１３（即ち、再構成された残差ブロック３１３）を予測ブロック３６５に加算して、例えば、再構成された残差ブロック３１３のサンプル値を予測ブロック３６５のサンプル値に加算することによって、サンプル・ドメインにおける再構成されたブロック３１５を取得するように構成される。
【０１５４】
ループ・フィルタ・ユニット３２０（符号化ループ内又は符号化ループの後）は、再構成されたブロック３１５をフィルタリングして、フィルタリングされたブロック３２１を取得し、サンプル変換を円滑に実行する、又はビデオ品質を改善するように構成される。一例では、ループ・フィルタ・ユニット３２０は、以下のフィルタリング技術の任意の組み合わせを実行するように構成されることが可能である。ループ・フィルタ・ユニット３２０は、１つ以上のループ・フィルタ、例えば、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット（sample-adaptive  offset，SAO）フィルタ、又は別のフィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ（adaptive  loop  filter，ALF）、鮮鋭化又は平滑化フィルタ、又は協調フィルタを表すように意図されている。ループ・フィルタ・ユニット３２０は、ループ内フィルタとして図３に示されているが、ループ・フィルタ・ユニット３２０は、他の構成では、ポスト・ループ・フィルタとして実装されてもよい。
【０１５５】
所与のフレーム又はピクチャ内のフィルタリングされたブロック３２１は、その後の動き補償に使用される参照ピクチャを記憶する復号化済みピクチャ・バッファ３３０に記憶される。
【０１５６】
デコーダ３０は、出力３３２等を使用することにより復号化されたピクチャ３１を出力し、復号化されたピクチャ３１をユーザーに提示する、又はユーザーが眺めるように復号化されたピクチャ３１を提供するように構成される。
【０１５７】
ビデオ・デコーダ３０の別の変形は、圧縮されたビットストリームを復号化するように構成されることが可能である。例えば、デコーダ３０は、ループ・フィルタ・ユニット３２０なしに出力ビデオ・ストリームを生成することができる。例えば、非変換ベースのデコーダ３０は、幾つかのブロック又はフレームに対して、逆変換処理ユニット３１２なしに、残差信号を直接的に非量子化することが可能である。別の実装において、ビデオ・デコーダ３０は、１つのユニットに結合される逆量子化ユニット３１０及び逆変換処理ユニット３１２を有することが可能である。
【０１５８】
図４は、例示の実施形態による図２のエンコーダ２０及び／又は図３のデコーダ３０を含むビデオ・コーディング・システム４０の一例を示す図である。システム４０は本願の様々な技術の組み合わせを実装することが可能である。図示の実装において、ビデオ・コーディング・システム４０は、撮像デバイス４１、ビデオ・エンコーダ２０、ビデオ・デコーダ３０（及び／又は、処理ユニット４６の論理回路４７によって実現されるビデオ・デコーダ）、アンテナ４２、１つ以上のプロセッサ４３、１つ以上のメモリ４４、及び／又は、表示デバイス４５を含んでもよい。
【０１５９】
図面に示されるように、撮像デバイス４１、アンテナ４２、処理デバイス４６、論理回路４７、ビデオ・エンコーダ２０、ビデオ・デコーダ３０、プロセッサ４３、メモリ４４、及び／又は表示デバイス４５は、互いに通信することが可能である。説明されるように、ビデオ・コーディング・システム４０は、ビデオ・エンコーダ２０及びビデオ・デコーダ３０の両方とともに示されているが、異なる例において、ビデオ・コーディング・システム４０は、ビデオ・エンコーダ２０のみ、又はビデオ・デコーダ３０のみを含む可能性がある。
【０１６０】
幾つかの例では、図面に示されるように、ビデオ・コーディング・システム４０は、アンテナ４２を含むことが可能である。例えば、アンテナ４２は、ビデオ・データの符号化されたビットストリームを送信又は受信するように構成されることが可能である。更に、幾つかの例において、ビデオ・コーディング・システム４０は、表示デバイス４５を含んでもよい。表示デバイス４５は、ビデオ・データを提示するように構成されることが可能である。幾つかの例では、図面に示されるように、論理回路４７は、処理ユニット４６によって実現されてもよい。処理ユニット４６は、特定用途向け集積回路（application-specific  integrated  circuit，ASIC）ロジック、グラフィックス処理ユニット、汎用プロセッサ等を含むことが可能である。ビデオ・コーディング・システム４０はまた、オプションのプロセッサ４３を含んでもよい。オプションのプロセッサ４３は、同様に、特定用途向け集積回路（application-specific  integrated  circuit，ASIC）ロジック、グラフィックス処理ユニット、汎用プロセッサ等を含むことが可能である。幾つかの例では、論理回路４７は、ビデオ符号化専用ハードウェアのようなハードウェアによって実装されることが可能であり、プロセッサ４３は、ユニバーサル・ソフトウェア、オペレーティング・システム等によって実現されることが可能である。更に、メモリ４４は、任意のタイプのメモリ、例えば揮発性メモリ（例えば、スタティック・ランダム・アクセス・メモリ（Static  Random  Access  Memory，SRAM）又はダイナミック・ランダム・アクセス・メモリ（Dynamic  Random  Access  Memory,  DRAM）又は不揮発性メモリ（例えば、フラッシュ・メモリ）であってもよい。非限定的な例では、メモリ４４は、キャッシュ・メモリによって実現されてもよい。幾つかの例では、論理回路４７は、（例えば、イメージ・バッファを実現するための）メモリ４４にアクセスすることが可能である。他の例では、論理回路４７及び／又は処理ユニット４６は、画像バッファ等を実現するためのメモリ（例えば、キャッシュ）を含む可能性がある。
【０１６１】
一部の例では、論理回路によって実現されるビデオ・エンコーダ２０は、画像バッファ（例えば、処理ユニット４６又はメモリ４４によって実現される）及びグラフィックス処理ユニット（例えば、処理ユニット４６によって実現される）を含むことが可能である。グラフィックス処理ユニットは、画像バッファに通信可能に結合されることが可能である。グラフィックス処理ユニットは、図２を参照して説明される種々のモジュール、及び／又は本明細書で説明される他の任意のエンコーダ・システム又はサブシステムを実現するために、論理回路４７によって実現されるビデオ・エンコーダ２０を含んでもよい。論理回路は、本明細書で説明される種々の動作を実行するように構成されることが可能である。
【０１６２】
ビデオ・デコーダ３０は、図３のデコーダ３０を参照して説明される種々のモジュール、及び／又は本明細書で説明される他の任意のデコーダ・システム又はサブシステムを実現するために、論理回路４７によって同様に実現されてもよい。幾つかの例において、論理回路によって実現されるビデオ・デコーダ３０は、画像バッファ（処理ユニット４６又はメモリ４４によって実現される）及びグラフィックス処理ユニット（例えば、処理ユニット４６によって実現される）を含んでもよい。グラフィックス処理ユニットは、画像バッファに通信可能に結合されることが可能である。グラフィックス処理ユニットは、図３を参照して説明される種々のモジュール、及び／又は本明細書で説明される任意の他のデコーダ・システム又はサブシステムを実現するために、論理回路４７によって実現されるビデオ・デコーダ３０を含んでもよい。
【０１６３】
幾つかの例では、ビデオ・コーディング・システム４０のアンテナ４２は、ビデオ・データの符号化されたビットストリームを受信するように構成されてもよい。説明されるように、符号化されたビットストリームは、本明細書で説明されるビデオ・フレーム符号化に関連するデータ、インジケータ、インデックス値、モード選択データ等、例えば、符号化分割に関連するデータ（例えば、変換係数又は量子化変換係数、（説明されているような）オプションのインジケータ、及び／又は符号化分割を規定するデータ）を含んでもよい。ビデオ・コーディング・システム４０は、アンテナ４２に結合され、符号化されたビットストリームを復号化するように構成されたビデオ・デコーダ３０を更に含むことが可能である。表示デバイス４５は、ビデオ・フレームを提示するように構成される。
【０１６４】
図５は、例示的な実施形態による図１のソース・デバイス１２及び宛先デバイス１４のうちの任意の１つ又は２つとして使用することが可能な装置５００の簡略化されたブロック図である。装置５００は、本願における技術を実装することができる。装置５００は、複数のコンピューティング・デバイスを含むコンピューティング・システムの一形態を使用することが可能であり、又は、携帯電話、タブレット・コンピュータ、ラップトップ・コンピュータ、ノートブック・コンピュータ、又はデスクトップ・コンピュータのような単一のコンピューティング・デバイスの一形態を使用することが可能である。
【０１６５】
装置５００内のプロセッサ５０２は、中央処理ユニットであってもよい。代替的に、プロセッサ５０２は、何らかの他のタイプの既存の若しくは将来のデバイス、又は情報を制御又は処理することが可能なデバイスであってもよい。図面に示されているように、開示される実装は、プロセッサ５０２のような単一のプロセッサを使用することによって実施されることが可能であるが、１つより多いプロセッサを使用することによって、速度及び効率における利点を達成することができる。
【０１６６】
実装においては、装置５００内のメモリ５０４は、リード・オンリ・メモリ（Read  Only  Memory，ROM）又はランダム・アクセス・メモリ（random  access  memory，RAM）であってもよい。他の任意の適切なタイプの記憶デバイスがメモリ５０４として使用されることが可能である。メモリ５０４は、バス５１２を使用することによって、プロセッサ５０２によりアクセスされるコード及びデータ５０６を含んでもよい。メモリ５０４は、オペレーティング・システム５０８及びアプリケーション・プログラム５１０を更に含んでもよい。アプリケーション・プログラム５１０は、プロセッサ５０２が本明細書で説明される方法を実行することを可能にする少なくとも１つのプログラムを含む。例えば、アプリケーション・プログラム５１０はアプリケーション１からＮを含むことが可能であり、アプリケーション１からＮは更に、本明細書で説明される方法を実行するためのビデオ符号化アプリケーションを更に含む。装置５００は、更に、セカンダリ・メモリ５１４の形態で追加メモリを含んでもよい。セカンダリ・メモリ５１４は、例えば、モバイル・コンピューティング・デバイスと共に使用されるメモリ・カードであってもよい。ビデオ通信セッションは、大量の情報を含む可能性があるので、情報は、セカンダリ・メモリ５１４に完全又は部分的に記憶され、必要に応じて処理のためにメモリ５０４にロードされることが可能である。
【０１６７】
装置５００は、１つ以上の出力デバイス、例えばディスプレイ５１８を更に含んでもよい。一例では、ディスプレイ５１８は、タッチ入力を感知するように動作することが可能なタッチ感知素子とディスプレイを組み合わせるタッチ感知ディスプレイであってもよい。ディスプレイ５１８は、バス５１２を使用することによってプロセッサ５０２に結合されことが可能である。ディスプレイ５１８に加えて、ユーザーが装置５００をプログラムすること、又は別の方法で装置５００を使用することを可能にする別の出力デバイスが更に提供されてもよく、又は別の出力デバイスがディスプレイ５１８の代わりとして提供されてもよい。出力デバイスがディスプレイである、又はディスプレイを含む場合、ディスプレイは、例えば、液晶ディスプレイ（liquid  crystal  display，LCD）、陰極線管（cathode-ray  tube，CRT）ディスプレイ、プラズマ・ディスプレイ、又は有機ＬＥＤ（organic  LED，OLED）ディスプレイのような発光ダイオード（ＬＥＤ）ディスプレイを使用することによって、別様に実装されてもよい。
【０１６８】
装置５００は、更に、画像感知デバイス５２０を含んでもよいし、又は画像感知デバイス５２０に接続されてもよい。画像感知デバイス５２０は、例えば、画像を感知することが可能なカメラ又は何らかの他の既存の若しくは将来の画像感知デバイス５２０である。画像は、例えば、装置５００を動かすユーザーの画像である。画像感知デバイス５２０は、装置５００を動かすユーザーに直に対面して配置されることが可能である。一例では、画像感知デバイス５２０の位置及び光軸は、画像感知デバイス５２０の視野が、ディスプレイ５１８に隣接する領域を含み、且つディスプレイ５１８がその領域から見えるように、構成されることが可能である。
【０１６９】
デバイス５００は、更に、サウンド感知デバイス５２２を含んでもよいし、又はサウンド感知デバイス５２２に接続されてもよい。サウンド感知デバイス５２２は、例えば、マイクロホン、又はデバイス５００の近辺で音を感知することが可能な何らかの他の既存の又は将来のサウンド感知デバイスである。サウンド感知デバイス５２２は、装置５００を動かすユーザーに直に対面して配置されることが可能であり、ユーザーが装置５００を動かす場合にユーザーによって生じる声又は別の音、のような音を受信するように構成されてもよい。
【０１７０】
装置５００のプロセッサ５０２及びメモリ５０４は、図５に示されるように１つのユニットに一体化されているが、他の構成を使用することが可能である。プロセッサ５０２の動作は、直接結合されることが可能な複数のマシン（各マシンは１つ以上のプロセッサを有する）に分散されてもよいし、又はローカルな領域又は別のネットワークに分散されてもよい。メモリ５０４は、ネットワーク・ベースのメモリ及び装置５００を動かす複数のマシンにおけるメモリのように複数のマシンに分散されもよい。ここでは単一のバスが描かれているが、装置５００の複数のバス５１２が存在してもよい。更に、セカンダリ・メモリ５１４は、装置５００の他の構成要素に直接的に結合されてもよいし、又はネットワークを介してアクセスされてもよいし、メモリ・カードのような単一の集積ユニット、又は複数のメモリ・カードのような複数のユニットを含んでもよい。従って、装置５００は、複数の構成で実現されることが可能である。
【０１７１】
以下、本願の概念を説明する。
【０１７２】
１．インター予測モード
【０１７３】
ＨＥＶＣでは、２つのインター予測モード：アドバンスト動きベクトル予測（advanced  motion  vector  prediction，AMVP）モード及びマージ（merge）モードが使用される。
【０１７４】
ＡＭＶＰモードでは、先ず現在ブロックの空間的又は時間的に隣接する符号化ブロック（隣接ブロックと称する）がトラバースされ、隣接ブロックの動き情報に基づいて、候補動きベクトル・リスト（動き情報候補リストとも言及される）が構築される。次に、レート歪コストに基づいて、最適な動きベクトルが、候補動きベクトル・リストから決定され、最小レート歪コストを有する候補動き情報が、現在ブロックの動きベクトル予測子（motion  vector  predictor，MVP）として使用される。隣接ブロックの位置及びそのトラバース順序の両方は予め定められる。レート歪コストは、式（１）に従って計算され、ここで、Ｊはレート歪コストＲＤコストを示し、ＳＡＤはオリジナル・サンプル値と、候補動きベクトル予測子を使用することによる動き推定によって取得される予測サンプル値との間の絶対差の合計（sum  of  absolute  differences，SAD）であり、Ｒはビット・レートを示し、λはラグランジュ乗数を示す。エンコーダ側は、候補動きベクトル・リスト内の選択された動きベクトル予測子のインデックスと、参照フレームのインデックス値とを、デコーダ側に転送する。更に、現在ブロックの実際の動きベクトルを取得するために、ＭＶＰを中心とした近傍で動き探索が実行される。エンコーダ側は、ＭＶＰと実際の動きベクトルとの間の差（動きベクトル差）をデコーダ側に転送する。
Ｊ  ＝  ＳＡＤ  ＋  λＲ        （１）
【０１７５】
マージ・モードにおいて、現在ブロックの空間的又は時間的に隣接する符号化ブロックの動き情報に基づいて、候補動きベクトル・リストが先ず構築される。次いで、現在ブロックの動き情報として役立つように、レート歪コストに基づいて、最適動き情報が候補動きベクトル・リストから決定される。次に、候補動きベクトル・リスト内の最適動き情報の位置のインデックス値（以下、マージ・インデックスと称する）が、デコーダ側に転送される。現在ブロックの空間候補動き情報及び時間候補動き情報が図６に示されている。空間候補動き情報は、５つの空間的に隣接するブロック（Ａ０，Ａ１，Ｂ０，Ｂ１，Ｂ２）からのものである。隣接ブロックが利用可能でない場合（隣接ブロックが存在しない場合、隣接ブロックが符号化されていない場合、隣接ブロックに使用される予測モードがインター予測モードでない場合）、隣接ブロックの動き情報は候補動きベクトル・リストに追加されない。現在ブロックの時間候補動き情報は、参照フレーム及び現在フレームのピクチャ順序カウント（picture  order  count，POC）に基づいて、参照フレームの対応する位置におけるブロックのＭＶをスケーリングすることによって取得される。参照フレーム内のＴの位置のブロックが利用可能であるか否かが先ず判定される。ブロックが利用可能でない場合、Ｃの位置のブロックが選択される。
【０１７６】
ＡＭＶＰモードと同様に、マージ・モードでは、隣接ブロックの位置とそのトラバース順序の両方が予め決定される。更に、隣接ブロックの位置及びそのトラバース順序は、モードによって変化する可能性がある。
【０１７７】
候補動きベクトル・リストは、ＡＭＶＰモード及びマージ・モードの両方で維持されなければならないことが分かる。新しい動き情報が候補リストに追加される前にその都度、リスト内に同じ動き情報が存在するかどうかが先ず検査される。同じ動き情報が存在する場合、動き情報はリストに追加されない。この検査プロセスは、候補動きベクトル・リストのトリミングと言及される。リストのトリミングは、リスト内の同じ動き情報を回避することであり、それによって冗長なレート歪コスト計算を回避する。
【０１７８】
ＨＥＶＣインター予測では、コーディング・ブロック内のすべてのサンプルが同じの動き情報を使用し、従って、コーディング・ブロックのサンプルの予測子を取得するために、動き補償が動き情報に基づいて実行される。しかしながら、コーディング・ブロックにおいて、すべてのサンプルが同じ動き特性を有するわけではない。同じ動き情報を使用すると、不正確な動き補償予測、及びより多くの残差情報を生じさせる可能性がある。
【０１７９】
既存のビデオ・コーディング規格では、並進運動モデルに基づくブロック・マッチング動き推定が使用され、ブロック内のすべてのサンプルの動きは一貫していると仮定されている。しかしながら、現実の世界では、さまざまな動きが存在する。多くの物体は、非並進運動にあり、例えば、回転する物体、様々な方向で回転するローラー・コースター、花火の表示、及び映画における幾つかのスタント、特にＵＧＣシナリオにおける移動する物体である。これらの移動する物体に対して、既存のコーディング規格における並進運動モデルに基づくブロック動き補償技術がコーディングに使用される場合、コーディング効率は大きく影響される可能性がある。従って、コーディング効率を更に改善するために、アフィン動きモデルのような非並進運動モデルが導入される。
【０１８０】
従って、様々な運動モデルに関し、ＡＭＶＰモードは、並進モデル・ベースのＡＭＶＰモードと非並進モデル・ベースのＡＭＶＰモードとに分類され、マージ・モードは、並進モデル・ベースのマージ・モードと非並進モデル・ベースのマージ・モードとに分類されることが可能である。
【０１８１】
２．非並進運動モデル
【０１８２】
非並進運動モデル・ベースの予測では、コーデック側は、現在ブロック内の各々のチャイルド動き補償ユニットの動き情報を導出するために１つの運動モデルを使用し、予測ブロックを取得するためにチャイルド動き補償ユニットの動き情報に基づいて動き補償を実行し、予測効率を向上させる。一般的な非並進運動モデルは、４パラメータ・アフィン動きモデル又は６パラメータ・アフィン動きモデルである。
【０１８３】
本願の実施形態におけるチャイルド動き補償ユニットは、特定の方法に従う分割によって得られたサンプル又はＮ１×Ｎ２サンプル・ブロックである可能性があり、Ｎ１及びＮ２は双方とも正の整数であり、Ｎ１はＮ２に等しくてもよいし、又はＮ２に等しくなくてもよい。
【０１８４】
４パラメータ・アフィン動きモデルは式（２）のように表現される：
【数１】
2021536710.tif 000043
【０１８５】
４パラメータ・アフィン動きモデルは、２つのサンプルの動きベクトルと、現在ブロックの左上サンプルに対する２つのサンプルの座標とによって表すことが可能である。運動モデル・パラメータを表現するために使用されるサンプルは、制御ポイントと呼ばれる。左上サンプル（０，０）及び右上サンプル（Ｗ，０）が制御ポイントとして使用される場合、現在ブロックの左上制御ポイントと右上制御ポイントの動きベクトル（ｖｘ０，ｖｙ０）及び（ｖｘ１，ｖｙ１）が、先ず決定される。次いで、現在ブロックにおける各チャイルド動き補償ユニットの動き情報は、式（３）に従って取得され、ここで、（ｘ，ｙ）は現在ブロックの左上サンプルに対するチャイルド動き補償ユニットの座標であり、Ｗは現在ブロックの幅を示す。
【数２】
2021536710.tif 000044
【０１８６】
６パラメータ・アフィン動きモデルは式（４）のように表現される：
【数３】
2021536710.tif 000045
【０１８７】
６パラメータ・アフィン動きモデルは、３つのサンプルの動きベクトルと、現在ブロックの左上サンプルに対する３つのサンプルの座標とによって表現されることが可能である。左上サンプル（０，０）、右上サンプル（Ｗ，０）、及び左下サンプル（０，Ｈ）が制御ポイントとして使用される場合に、現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトル（ｖｘ０，ｖｙ０），（ｖｘ１，ｖｙ１）及び（ｖｘ２，ｖｙ２）が先ず決定される。次いで、現在ブロックにおける各チャイルド動き補償ユニットの動き情報は、式（５）に従って取得され、ここで、（ｘ，ｙ）は現在ブロックの左上サンプルに対するチャイルド動き補償ユニットの座標であり、Ｗ及びＨはそれぞれ現在ブロックの幅及び高さを示す。
【数４】
2021536710.tif 000046
【０１８８】
アフィン動きモデルを使用することにより予測されるコーディング・ブロックは、アフィン・コーディング・ブロックと言及される。
【０１８９】
一般に、アフィン・コーディング・ブロックの制御ポイントの動き情報は、アフィン動きモデル・ベースのアドバンスト動きベクトル予測（Advanced  Motion  Vector  Prediction，AMVP）モード又はアフィン動きモデル・ベースのマージ（Merge）モードを使用することにより取得することができる。
【０１９０】
現在のコーディング・ブロックの制御ポイントの動き情報は、継承制御ポイント動きベクトル予測法又は構築制御ポイント動きベクトル予測法を使用することにより取得されることが可能である。
【０１９１】
３．継承制御ポイント動きベクトル予測法
【０１９２】
継承制御ポイント動きベクトル予測法は、隣接する符号化されたアフィン・コーディング・ブロックの動きモデルを用いて、現在ブロックの候補制御ポイント動きベクトルを決定するものである。
【０１９３】
図７に示す現在ブロックが一例として使用される。現在ブロック周辺の隣接ブロックは、指定された順序、例えば、Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２でトラバースされ、現在ブロックの隣接ブロックが位置するアフィン・コーディング・ブロックを発見し、アフィン・コーディング・ブロックの制御ポイント動き情報を取得する。更に、現在ブロックの制御ポイント動きベクトル（マージ・モードの場合）又は制御ポイント動きベクトル予測子（ＡＭＶＰモードの場合）が、アフィン・コーディング・ブロックの制御ポイント動き情報を使用することにより構築された運動モデルを用いて導出される。Ａ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順序は、単なる一例として使用されている。他の組み合わせの順序もまた、本願に適用可能である。更に、隣接ブロックは、Ａ１、Ｂ１、Ｂ０、Ａ０、及びＢ２に限定されない。
【０１９４】
隣接ブロックは、特定の分割方法に基づいて得られる事前に設定されたサイズのサンプル又はサンプル・ブロックである可能性があり、例えば４×４サンプル・ブロック、４×２サンプル・ブロック、又は別のサイズのサンプル・ブロックであってもよい。これは限定されない。
【０１９５】
以下、一例としてＡ１を用いることによる決定プロセスを説明する。他の場合はこれと同様である。
【０１９６】
図７に示すように、Ａ１が位置するコーディング・ブロックが４パラメータ・アフィン・コーディング・ブロックである場合、アフィン・コーディング・ブロックの左上サンプル（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）と右上サンプル（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）とが取得される。現在アフィン・コーディング・ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、式（６）に従って計算され、現在のアフィン・コーディング・ブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、式（７）に従って計算される。
【数５】
2021536710.tif 000047
【０１９７】
Ａ１が位置するアフィン・コーディング・ブロックに基づいて得られる、現在ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）と右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）との組み合わせが、現在ブロックの候補の制御ポイント動きベクトルである。
【０１９８】
Ａ１が位置するコーディング・ブロックが６パラメータ・アフィン・コーディング・ブロックである場合、アフィン・コーディン・ブロックの左上サンプル（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上サンプル（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、左下サンプル（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。現在ブロックの左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）は、式（８）に従って計算され、現在ブロックの右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）は、式（９）に従って計算され、現在ブロックの左下サンプル（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）は、式（１０）に従って計算される。
【数６】
2021536710.tif 000048
【０１９９】
Ａ１が位置するアフィン・コーディング・ブロックに基づいて取得される現在ブロックの、左上サンプル（ｘ０，ｙ０）の動きベクトル（ｖｘ０，ｖｙ０）、右上サンプル（ｘ１，ｙ１）の動きベクトル（ｖｘ１，ｖｙ１）、左下サンプル（ｘ２，ｙ２）の動きベクトル（ｖｘ２，ｖｙ２）の組み合わせが、現在ブロックの候補の制御ポイント動きベクトルである。
【０２００】
他の運動モデル、候補位置、検索及びトラバース順序も本願に適用可能であることに留意すべきである。詳細は本願の実施形態では説明されない。
【０２０１】
隣接する及び現在のコーディング・ブロックの運動モデルを表現するために他の制御ポイントが使用される方法もまた本願に適用可能であることに留意すべきである。詳細はここでは説明されない。
【０２０２】
４．構築制御ポイント動きベクトル（constructed  control  point  motion  vectors）予測法１
【０２０３】
構築制御ポイント動きベクトル予測法は、隣接する符号化ブロックがアフィン・コーディング・ブロックであるかどうかを考慮せずに、現在ブロックの制御ポイント周辺の隣接する符号化ブロックの動きベクトルを結合し、結合された動きベクトルを、現在のアフィン・コーディング・ブロックの制御ポイント動きベクトルとして使用するものである。
【０２０４】
現在ブロックの左上サンプルと右上サンプルの動きベクトルは、現在のコーディング・ブロック周辺の隣接する符号化ブロックの動き情報を使用することにより決定される。図８Ａは、構築制御ポイント動きベクトル予測法を説明するための一例として使用される。図８Ａは単なる一例であることに留意すべきである。
【０２０５】
図８Ａに示すように、左上サンプルの隣接する符号化ブロックＡ２、Ｂ２、Ｂ３の動きベクトルは、現在ブロックの左上サンプルの動きベクトルに対する候補動きベクトルとして使用され、右上サンプルの隣接する符号化ブロックＢ１、Ｂ０の動きベクトルは、現在ブロックの右上サンプルの動きベクトルに対する候補動きベクトルとして使用される。左上サンプルと右上サンプルの候補の動きベクトルは、複数の２タプルを構成するように組み合わせられる。２タプルに含まれる２つの符号化ブロックの動きベクトルは、以下の式（１１Ａ）に示されるように、現在ブロックの候補の制御ポイント動きベクトルとして使用されることが可能である：
【数７】
2021536710.tif 000049
【０２０６】
ｖＡ２はＡ２の動きベクトルを示し、ｖＢ１はＢ１の動きベクトルを示し、ｖＢ０はＢ０の動きベクトルを示し、ｖＢ２はＢ２の動きベクトルを示し、ｖＢ３はＢ３の動きベクトルを示す。
【０２０７】
図８Ａに示されるように、左上サンプルの隣接する符号化ブロックＡ２、Ｂ２、Ｂ３の動きベクトルは、現在ブロックの左上サンプルの動きベクトルに対する候補動きベクトルとして使用され、右上サンプルの隣接する符号化ブロックＢ１、Ｂ０の動きベクトルは、現在ブロックの右上サンプルの動きベクトルに対する候補動きベクトルとして使用され、左下サンプルの隣接する符号化ブロックＡ０、Ａ１の動きベクトルは、現在ブロックの左下サンプルの動きベクトルに対する候補動きベクトルとして使用される。左上サンプル、右上サンプル、及び左下サンプルの候補動きベクトルは、３タプルを構成するように組み合わせられる。３タプルに含まれる３つの符号化ブロックの動きベクトルは、以下の式（１１Ｂ）及び（１１Ｃ）に示されるように、現在ブロックの候補制御ポイント動きベクトルとして使用されることが可能である：
【数８】
2021536710.tif 000050
【０２０８】
ｖＡ２はＡ２の動きベクトルを示し、ｖＢ１はＢ１の動きベクトルを示し、ｖＢ０はＢ０の動きベクトルを示し、ｖＢ２はＢ２の動きベクトルを示し、ｖＢ３はＢ３の動きベクトルを示し、ｖＡ０はＡ０の動きベクトルを示し、ｖＡ１はＡ１の動きベクトルを示す。
【０２０９】
制御ポイントの動きベクトルを組み合わせる他の方法も本願に適用できることに留意すべきである。詳細はここでは説明されない。
【０２１０】
隣接する及び現在のコーディング・ブロックの運動モデルを表現するために他の制御ポイントが使用される方法もまた本願に適用できることに留意すべきである。詳細はここでは説明されない。
【０２１１】
５．構築制御ポイント動きベクトル（constructed  control  point  motion  vectors）予測法２：これについては、図８を参照されたい。
【０２１２】
ステップ８０１：現在ブロックの制御ポイントの動き情報を取得する。
【０２１３】
例えば、図８Ａにおいて、ＣＰｋ（ｋ＝１，２，３，又は４）はｋ番目の制御ポイントを示し、Ａ０，Ａ１，Ａ２，Ｂ０，Ｂ１，Ｂ２，及びＢ３は、現在ブロックの空間的に隣接する位置であり、且つＣＰ１，ＣＰ２，又はＣＰ３を予測するために使用され、Ｔは、現在ブロックの時間的に隣接する位置であり、且つＣＰ４を予測するために使用される。
【０２１４】
ＣＰ１，ＣＰ２，ＣＰ３，及びＣＰ４の座標はそれぞれ（０，０），（Ｗ，０），（Ｈ，０），（Ｗ，Ｈ）であると仮定し、ここで、ＷとＨは現在ブロックの幅と高さを示す。
【０２１５】
各々の制御ポイントの動き情報は以下の順序で取得される：
【０２１６】
（１）ＣＰ１の場合、検査順序はＢ２→Ａ２→Ｂ３である。Ｂ２が利用可能である場合、Ｂ２の動き情報が使用される。Ｂ２が利用可能でない場合、Ａ２及びＢ３が検査される。３つの位置すべての動き情報が利用不能な場合、ＣＰ１の動き情報を取得することはできない。
【０２１７】
（２）ＣＰ２の場合、検査順序はＢ０→Ｂ１である。Ｂ０が利用可能である場合、Ｂ０の動き情報がＣＰ２のために使用される。Ｂ０が利用可能でない場合、Ｂ１が検査される。双方の位置の動き情報が利用不能な場合、ＣＰ２の動き情報を取得することはできない。
【０２１８】
（３）ＣＰ３の場合、検査順序はＡ０→Ａ１である。
【０２１９】
（４）ＣＰ４の場合、Ｔの動き情報が使用される。
【０２２０】
ここで、Ｘが利用可能であるということは、Ｘ（ＸはＡ０、Ａ１、Ａ２、Ｂ０、Ｂ１、Ｂ２、Ｂ３、又はＴである）の位置におけるブロックが符号化されており、インター予測モードが使用されることを意味する。そうでない場合、Ｘの位置は利用可能ではない。
【０２２１】
制御ポイントの動き情報を取得する他の方法もまた本願に適用できることに留意すべきである。詳細はここでは説明されない。
【０２２２】
ステップ８０２：制御ポイントの動き情報を結合し、構築制御ポイント動き情報を取得する。
【０２２３】
２つの制御ポイントの動き情報は、２タプルを構成するように組み合わせられ、４パラメータ・アフィン動きモデルを構築する。２つの制御ポイントを結合する方法は、｛ＣＰ１，ＣＰ４｝，｛ＣＰ２，ＣＰ３｝，｛ＣＰ１，ＣＰ２｝，｛ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ３｝，又は｛ＣＰ３，ＣＰ４｝であってもよい。例えば、制御ポイントＣＰ１及びＣＰ２を含む２タプルを使用することにより構築された４パラメータ・アフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２）として示される可能性がある。
【０２２４】
３つの制御ポイントの動き情報は、３タプルを構成するように組み合わせられ、６パラメータ・アフィン動きモデルを構築する。３つの制御ポイントを結合する方法は、｛ＣＰ１，ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ２，ＣＰ３｝，｛ＣＰ２，ＣＰ３，ＣＰ４｝，又は｛ＣＰ１，ＣＰ３，ＣＰ４｝であってもよい。例えば、制御ポイントＣＰ１、ＣＰ２、及びＣＰ３を含む３タプルを使用することにより構築された６パラメータ・アフィン動きモデルは、Ａｆｆｉｎｅ（ＣＰ１，ＣＰ２，ＣＰ３）として示される可能性がある。
【０２２５】
４つの制御ポイントの動き情報は、４タプルを構成するように組み合わせられ、８パラメータ・バイリニア・モデルを構築する。制御ポイントＣＰ１，ＣＰ２，ＣＰ３，及びＣＰ４を含む４タプルを使用することにより構築された８パラメータ・バイリニア・モデルは、“Ｂｉｌｉｎｅａｒ”（ＣＰ１，ＣＰ２，ＣＰ３，ＣＰ４）として示される可能性がある。
【０２２６】
本願のこの実施形態では、説明を容易にするために、２つの制御ポイント（又は２つの符号化ブロック）の動き情報の組み合わせは単に２タプルとして言及され、３つの制御ポイント（又は３つの符号化ブロック）の動き情報の組み合わせは単に３タプルとして言及され、４つの制御ポイント（又は４つの符号化ブロック）の動き情報の組み合わせは単に４タプルとして言及される。
【０２２７】
これらのモデルは事前に設定された順序でトラバースされる。結合モデルに対応する制御ポイントの動き情報が利用可能でない場合、モデルは利用可能でないと考えられる。そうでない場合、モデルの参照フレーム・インデックスが決定され、制御ポイントの動きベクトルがスケーリングされる。すべての制御ポイントのスケーリングされた動き情報が一貫している場合、モデルは無効である。モデルを制御する全ての制御ポイントの動き情報が利用可能であり、且つモデルが有効である場合、モデルを構成する制御ポイントの動き情報が動き情報候補リストに追加される。
【０２２８】
制御ポイント動きベクトル・スケーリング法は式（１２）に示される：
【数９】
2021536710.tif 000051
【０２２９】
ＣｕｒＰｏｃは現在フレームのＰＯＣ番号を示し、ＤｅｓＰｏｃは現在ブロックの参照フレームのＰＯＣ番号を示し、ＳｒｃＰｏｃは制御ポイントの参照フレームのＰＯＣ番号を示し、ＭＶｓはスケーリングにより得られる動きベクトルを示し、ＭＶは制御ポイントの動きベクトルを示す。
【０２３０】
異なる制御ポイントの組み合わせが、同じ位置における制御ポイントに変換される可能性があることに留意すべきである。
【０２３１】
例えば｛ＣＰ１，ＣＰ４｝，｛ＣＰ２，ＣＰ３｝，｛ＣＰ２，ＣＰ４｝，｛ＣＰ１，ＣＰ３｝又は｛ＣＰ３，ＣＰ４｝の組み合わせにより得られる４パラメータ・アフィン動きモデルが、｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝による表現に変換される。変換方法は、制御ポイントの動きベクトルと座標情報を式（２）に代入してモデル・パラメータを取得し、次いで｛ＣＰ１，ＣＰ２｝の座標情報を式（３）に代入して動きベクトルを取得するものである。
【０２３２】
より直接的には、変換は以下の式（１３）−（２１）に従って実行されることが可能であり、ここで、Ｗは現在ブロックの幅を示し、Ｈは現在ブロックの高さを示す。式（１３）−（２１）において、（ｖｘ０，ｖｙ０）はＣＰ１の動きベクトルを示し、（ｖｘ１，ｖｙ１）はＣＰ２の動きベクトルを示し、（ｖｘ２，ｖｙ２）はＣＰ３の動きベクトルを示し、（ｖｘ３，ｖｙ３）はＣＰ４の動きベクトルを示す。
【０２３３】
｛ＣＰ１，ＣＰ２｝は、以下の式（１３）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である。換言すれば、｛ＣＰ１，ＣＰ２，ＣＰ３｝におけるＣＰ３の動きベクトルは、式（１３）により決定されることが可能である：
【数１０】
2021536710.tif 000052
【０２３４】
｛ＣＰ１，ＣＰ３｝は、以下の式（１４）により｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１１】
2021536710.tif 000053
【０２３５】
｛ＣＰ２，ＣＰ３｝は、以下の式（１５）により｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１２】
2021536710.tif 000054
【０２３６】
｛ＣＰ１，ＣＰ４｝は、以下の式（１６）又は（１７）により｛ＣＰ１，ＣＰ２｝又は｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１３】
2021536710.tif 000055
【０２３７】
｛ＣＰ２，ＣＰ４｝は、以下の式（１８）により｛ＣＰ１，ＣＰ２｝に変換されることが可能であり、｛ＣＰ２，ＣＰ４｝は、以下の式（１８）及び（１９）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１４】
2021536710.tif 000056
【０２３８】
｛ＣＰ３，ＣＰ４｝は、以下の式（２０）により｛ＣＰ１，ＣＰ２｝に変換されることが可能であり、｛ＣＰ３，ＣＰ４｝は、以下の式（２０）及び（２１）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：
【数１５】
2021536710.tif 000057
【０２３９】
例えば｛ＣＰ１，ＣＰ２，ＣＰ４｝，｛ＣＰ２，ＣＰ３，ＣＰ４｝，又は｛ＣＰ１，ＣＰ３，ＣＰ４｝の組み合わせにより得られる６パラメータ・アフィン動きモデルは、｛ＣＰ１，ＣＰ２，ＣＰ３｝による表現に変換される。変換方法は、制御ポイントの動きベクトルと座標情報を式（４）に代入してモデル・パラメータを取得し、次いで｛ＣＰ１，ＣＰ２，ＣＰ３｝の座標情報を式（５）に代入して動きベクトルを取得するものである。
【０２４０】
より直接的には、変換は以下の式（２２）−（２４）に従って実行されることが可能であり、ここで、Ｗは現在ブロックの幅を示し、Ｈは現在ブロックの高さを示す。式（１３）−（２１）において、（ｖｘ０，ｖｙ０）はＣＰ１の動きベクトルを示し、（ｖｘ１，ｖｙ１）はＣＰ２の動きベクトルを示し、（ｖｘ２，ｖｙ２）はＣＰ３の動きベクトルを示し、（ｖｘ３，ｖｙ３）はＣＰ４の動きベクトルを示す。
【０２４１】
｛ＣＰ１，ＣＰ２，ＣＰ４｝は、以下の式（２２）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：  
【数１６】
2021536710.tif 000058
【０２４２】
｛ＣＰ２，ＣＰ３，ＣＰ４｝は、以下の式（２３）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：  
【数１７】
2021536710.tif 000059
【０２４３】
｛ＣＰ１，ＣＰ３，ＣＰ４｝は、以下の式（２４）により｛ＣＰ１，ＣＰ２，ＣＰ３｝に変換されることが可能である：  
【数１８】
2021536710.tif 000060
【０２４４】
６．アフィン動きモデル・ベースのアドバンスト動きベクトル予測モード（Affine  AMVP  mode）
【０２４５】
（１）候補動きベクトル・リストを構築する
【０２４６】
アフィン動きモデル・ベースのＡＭＶＰモードのための候補動きベクトル・リストは、継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を使用することによって構築される。本願のこの実施形態では、アフィン動きモデル・ベースのＡＭＶＰモードのための候補動きベクトル・リストは、制御ポイント動きベクトル予測子候補リスト（control  point  motion  vectors  predictor  candidate  list）と言及されてもよい。各々の制御ポイントの動きベクトル予測子は、２つの（４パラメータ・アフィン動きモデルの）制御ポイントの動きベクトル又は３つの（６パラメータ・アフィン動きモデルの）制御ポイントの動きベクトルを含む。
【０２４７】
オプションとして、制御ポイント動きベクトル予測子候補リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０２４８】
（２）最適な制御ポイント動きベクトル予測子を決定する
【０２４９】
エンコーダ側では、現在のコーディング・ブロック内の各チャイルド動き補償ユニットの動きベクトルが、式（３）／（５）を用いることで、制御ポイント動きベクトル予測子リスト内の各制御ポイント動きベクトル予測子に基づいて取得され、各チャイルド動き補償ユニットの動きベクトルが指し示す参照フレームにおける対応する位置におけるサンプル値を取得し、サンプル値は、アフィン動きモデルを使用することで動き補償を実行するための予測子として使用される。現在のコーディング・ブロックにおける各サンプルのオリジナル値と予測子との間の平均差分が計算される。最小平均差分に対応する制御ポイント動きベクトル予測子は、最適制御ポイント動きベクトル予測子として選択され、現在のコーディング・ブロックの２つ／３つの制御ポイントの動きベクトル予測子として使用される。制御ポイント動きベクトル予測子候補リストにおける制御ポイント動きベクトル予測子の位置を表すインデックス番号は、ビットストリーム内に符号化され、デコーダへ送信される。
【０２５０】
デコーダ側では、インデックス番号が解析され、インデックス番号に基づいて、制御ポイント動きベクトル予測子（control  point  motion  vectors  predictor，CPMVP）が、制御ポイント動きベクトル予測子候補リストから決定される。
【０２５１】
（３）制御ポイント動きベクトルを決定する
【０２５２】
エンコーダ側では、制御ポイント動きベクトル（control  point  motion  vectors，CPMV）を取得するために、制御ポイント動きベクトル予測子が、特定の探索レンジ内の動き探索のための探索開始点として使用される。制御ポイント動きベクトルと制御ポイント動きベクトル予測子との間の差分（control  point  motion  vectors  differences,  CPMVD）は、デコーダ側に転送される。
【０２５３】
デコーダ側では、制御ポイント動きベクトル差分が解析され、制御ポイント動きベクトル予測子に追加されて、制御ポイント動きベクトルを取得する。
【０２５４】
７．アフィン・マージ・モード（Affine  Merge  mode）
【０２５５】
継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を使用することにより、制御ポイント動きベクトル・マージ候補リスト（control  point  motion  vectors  merge  candidate  list）が構築される。
【０２５６】
オプションとして、制御ポイント動きベクトル予測子候補リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０２５７】
エンコーダ側では、現在のコーディング・ブロック内の各チャイルド動き補償ユニット（特定の方法に従う分割により取得されるＮ１×Ｎ２サンプル・ブロック又はサンプル）の動きベクトルが、式（３）／（５）を用いることで、マージ候補リスト内の各制御ポイント動きベクトルに基づいて取得され、各チャイルド動き補償ユニットの動きベクトルが指し示す参照フレーム内の位置におけるサンプル値を取得し、サンプル値は、アフィン動き補償を実行するための予測子として使用される。現在のコーディング・ブロックにおける各サンプルのオリジナル値と予測子との間の平均差分が計算される。最小平均差分に対応する制御ポイント動きベクトルは、現在のコーディング・ブロックの２つ／３つの制御ポイントの動きベクトルとして選択される。候補リストにおける制御ポイント動きベクトルの位置を表すインデックス番号は、ビットストリーム内に符号化され、デコーダへ送信される。
【０２５８】
デコーダ側では、インデックス番号が解析され、インデックス番号に基づいて、制御ポイント動きベクトル（control  point  motion  vectors，CPMV）が、制御ポイント動きベクトル・マージ候補リストから決定される。
【０２５９】
なお、本願において、「少なくとも１つ」は１つ以上を意味し、「複数の」は２つ以上を意味することに留意すべきである。「及び／又は」は、関連する対象を説明するための関連付け関係を説明しており、３つの関係が存在する可能性があることを示す。例えば、Ａ及び／又はＢは、以下のケース：Ａのみが存在すること、Ａ及びＢ双方が存在すること、Ｂのみが存在することを表す可能性があり、ここでＡ及びＢは単数又は複数である可能性がある。文字「／」は、一般に、関連する対象間の「又は」の関係を表す。「以下のアイテム（ピース）のうちの少なくとも１つ」又は類似の表現は、単一のアイテム（ピース）又は複数のアイテム（ピース）の任意の組み合わせを含む、これらのアイテムの任意の組み合わせを示す。例えば、ａ，ｂ，又はｃのうちの少なくとも１つは、ａ、ｂ、ｃ、ａ及びｂ、ａ及びｃ、ｂ及びｃ、又はａ、ｂ、及びｃを示す可能性があり、ここで、ａ、ｂ、及びｃは単数又は複数である可能性がある。
【０２６０】
本願では、現在ブロックを復号化するためにインター予測モードが使用される場合に、インター予測モードをシグナリングするために、シンタックス要素が使用されてもよい。
【０２６１】
現在ブロックの解析に使用されるインター予測モードの現在使用されているシンタックス構造の一部については、表１を参照されたい。シンタックス構造におけるシンタックス要素は、代替的に、他の識別子によって表現されてもよいことに留意すべきである。これは本願において具体的には限定されない。
表１
【表１】
2021536710.tif 000061
2021536710.tif 000062
【０２６２】
シンタックス要素merge_flag[x0][y0]は、マージ・モードが現在ブロックに使用されているかどうかを示すために使用されることが可能である。例えば、merge_flag[x0][y0]=1の場合、マージ・モードが現在ブロックに使用されていることを示し、merge_flag[x0][y0]=0の場合、マージ・モードが現在ブロックに使用されていないことを示し、ここで、ｘ０とｙ０はビデオ・ピクチャにおける現在ブロックの座標を示す。
【０２６３】
変数allowAffineMergeは、現在ブロックがアフィン動きモデル・ベースのマージ・モードを使用する条件を満たしているかどうかを示すために使用されることが可能である。例えば、allowAffineInter=0の場合、アフィン動きモデル・ベースのマージ・モードを使用する条件が満たされていないことを示し、allowAffineInter=1の場合、アフィン動きモデル・ベースのマージ・モードを使用する条件が満たされていることを示す。アフィン動きモデル・ベースのマージ・モードを使用するための条件は、現在ブロックの幅と高さの両方が８以上であることであってもよく、ここで、cbWidthは現在ブロックの幅を示し、cbHeightは現在ブロックの高さを示す。換言すれば、cbWidth<8又はcbHeight<8である場合、alloweAffineMerge=0であり、cbWidth≧8及びcbHeight≧8である場合、allowAffineMerge=1である。
【０２６４】
変数allowAffineInterは、現在ブロックがアフィン動きモデル・ベースのＡＭＶＰモードを使用する条件を満たしているかどうかを示すために使用されることが可能である。例えば、allowAffineInter=0の場合、アフィン動きモデル・ベースのＡＭＶＰモードを使用する条件は満たされていないことを示し、alloweAffineInter=1の場合、アフィン動きモデル・ベースのＡＭＶＰモードを使用する条件は満たされていることを示す。アフィン動きモデル・ベースのＡＭＶＰモードを使用するための条件は、現在ブロックの幅と高さの両方が１６以上であることであってもよい。換言すれば、cbWidth<16又はcbHeight<16である場合、alloweAffineMerge=0であり、cbWidth≧16及びcbHeight≧16である場合、allowAffineMerge=1である。
【０２６５】
シンタックス要素affine_merge_flag[x0][y0]は、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されているかどうかを示すために使用されてもよい。現在ブロックが位置付けられているスライスのタイプ（slice_type）のタイプは、Ｐタイプ又はＢタイプである。例えば、affine_merge_flag[x0][y0]=1の場合、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されていることを示し、affine_merge_flag[x0][y0]=0の場合、アフィン動きモデル・ベースのマージ・モードが現在ブロックに使用されていないことを示すが、並進運動モデル・ベースのマージ・モードが使用されてもよい。
【０２６６】
シンタックス要素merge_idx[x0][y0]は、マージ候補リストのインデックス値を示すために使用されてもよい。
【０２６７】
シンタックス要素affine_merge_idx[x0][y0]は、アフィン・マージ候補リストのインデックス値を示すために使用されてもよい。
【０２６８】
シンタックス要素affine_inter_flag[x0][y0]は、現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されるかどうかを示すために使用されてもよい。例えば、allowAffineInter=0の場合、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されていることを示し、allowAffineInter=1の場合、アフィン動きモデル・ベースのＡＭＶＰモードが現在ブロックに使用されていないことを示すが、並進運動モデル・ベースのＡＭＶＰモードが使用されてもよい。
【０２６９】
現在ブロックが位置付けられているスライスがＰタイプ・スライス又はＢタイプ・スライスである場合に、シンタックス要素affine_type_flag[x0][y0]は、現在ブロックに関して動き補償を実行するために６パラメータ・アフィン動きモデルが使用されるかどうかを示すために、使用されてもよい。affine_type_flag[x0][y0]=0の場合、６パラメータ・アフィン動きモデルが現在ブロックに関して動き補償を実行するために使用されておらず、４パラメータ・アフィン動きモデルのみが動き補償を実行するために使用されてもよいことを示し、affine_type_flag[x0][y0]=1の場合、６パラメータ・アフィン動きモデルが現在ブロックに関して動き補償を実行するために使用されていることを示す。
【０２７０】
表２に示すように、MotionModelIdc[x0][y0]=1の場合、４パラメータ・アフィン動きモデルが使用されていることを示し、MotionModelIdc[x0][y0]=2の場合、６パラメータ・アフィン動きモデルが使用されていることを示し、MotionModelIdc[x0][y0]=0の場合、並進動きモデルが使用されていることを示す。
表２
【表２】
2021536710.tif 000063
【０２７１】
変数MaxNumMergeCand及びMaxAffineNumMrgCandは、最大リスト長を示し、構築された候補動きベクトル・リストの最大長を示すために使用され、inter_pred_idc[x0][y0]は予測方向を示すために使用され、PRED_L1は後方予測を示すために使用され、num_ref_idx_l0_active_minus1は前方参照フレーム・リストにおける参照フレームの量を示し、ref_idx_l0[x0][y0]は現在ブロックの前方参照フレーム・インデックス値を示し、mvd_coding(x0,y0,0,0)は第１動きベクトル差分を示し、mvp_l0_flag[x0][y0]は前方ＭＶＰ候補リスト・インデックス値を示し、PRED_L0は前方予測を示し、num_ref_idx_l1_active_minus1は後方参照フレーム・リストにおける参照フレームの量を示し、ref_idx_l1[x0][y0]は現在ブロックの後方参照フレーム・インデックス値を示し、mvp_l1_flag[x0][y0]は後方ＭＶＰ候補リスト・インデックス値を示す。
【０２７２】
表１において、ａｅ（ｖ）は、コンテキスト・ベースの適応バイナリ算術コーディング（context-based  adaptive  binary  arithmetic  coding，CABAC）によって符号化されるシンタックス要素を示す。
【０２７３】
以下、インター予測プロセスを詳細に説明する。これについては、図９Ａを参照されたい。
【０２７４】
ステップ６０１：表１に示すシンタックス構造に基づいてビットストリームを解析し、現在ブロックのインター予測モードを決定する。
【０２７５】
現在ブロックのインター予測モードがアフィン動きモデル・ベースのＡＭＶＰモードであると判定された場合に、ステップ６０２ａが実行される。
【０２７６】
具体的には、シンタックス要素merge_flag=0及びシンタックス要素affine_inter_flag=1の場合、それは現在ブロックのインター予測モードがアフィン動きモデル・ベースのＡＭＶＰモードであることを示す。
【０２７７】
現在ブロックのインター予測モードがアフィン動きモデル・ベースのマージ（merge）モードであると判定された場合、ステップ６０２ｂが実行される。
【０２７８】
具体的には、シンタックス要素merge_flag=1及びシンタックス要素affine_merge_flag=1の場合、それは現在ブロックのインター予測モードがアフィン動きモデル・ベースのマージ・モードであることを示す。
【０２７９】
ステップ６０２ａ：アフィン動きモデル・ベースのＡＭＶＰモードに対応する候補動きベクトル・リストを作成し、ステップ６０３ａを実行する。
【０２８０】
現在ブロックの候補制御ポイント動きベクトルは、継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を用いて導出され、候補動きベクトル・リストに追加される。
【０２８１】
候補動きベクトル・リストは、２タプル・リスト（４パラメータ・アフィン動きモデルが現在のコーディング・ブロックに使用される）又は３タプル・リストを含む可能性がある。２タプル・リストは、４パラメータ・アフィン動きモデルを構築するために使用される１つ以上の２タプルを含む。３タプル・リストは、６パラメータ・アフィン動きモデルを構築するために使用される１つ以上の３タプルを含む。
【０２８２】
オプションとして、候補動きベクトルの２タプル／３タプル・リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０２８３】
Ａ１：継承制御ポイント動きベクトル予測法を使用することにより候補動きベクトル・リストを構築するプロセスが説明される。
【０２８４】
図７が一例として使用される。現在ブロック周辺の隣接ブロックは、図７におけるＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順序でトラバースされ、隣接ブロックが位置付けられているアフィン・コーディング・ブロックを発見し、アフィン・コーディング・ブロックの制御ポイント動き情報を取得する。更に、現在ブロックの候補の制御ポイント動き情報は、アフィン・コーディング・ブロックの制御ポイント動き情報に基づいて構築された運動モデルを使用することにより導出される。詳細については、３における継承制御ポイント動きベクトル予測法の関連する説明を参照されたい。詳細はここでは説明されない。
【０２８５】
例えば、現在ブロックに使用されるアフィン動きモデルが４パラメータ・アフィン動きモデルである場合において（即ち、MotionModelIdc=1）、４パラメータ・アフィン動きモデルが隣接するアフィン復号化ブロックに使用される場合、アフィン復号化ブロックの２つの制御ポイントの動きベクトル：左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）及び右上制御ポイント（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。アフィン復号化ブロックは、アフィン動きモデルを使用することにより符号化フェーズで予測されるアフィン・コーディング・ブロックである。
【０２８６】
現在ブロックの左上制御ポイント及び右上制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号化ブロックの２つの制御ポイントを含む４パラメータ・アフィン動きモデルを使用することにより、４パラメータ・アフィン動きモデルに対応する式（６）及び式（７）に従って導出される。
【０２８７】
６パラメータ・アフィン動きモデルが隣接するアフィン復号化ブロックに使用される場合、隣接するアフィン復号化ブロックの３つの制御ポイントの動きベクトル、例えば、図７における左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御ポイント（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）、及び左下制御ポイント（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。
【０２８８】
現在ブロックの左上制御ポイント及び右上制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号ブロックの３つの制御ポイントを含む６パラメータ・アフィン動きモデルを使用することにより、６パラメータ・アフィン動きモデルに対応する式（８）及び式（９）に従って導出される。
【０２８９】
例えば、現在の復号化ブロックに使用されるアフィン動きモデルは、６パラメータ・アフィン動きモデルである（即ち、MotionModelIdc=2）。
【０２９０】
隣接するアフィン復号化ブロックに使用されるアフィン動きモデルが、６パラメータ・アフィン動きモデルである場合、隣接するアフィン復号化ブロックの３つの制御ポイントの動きベクトル、例えば、図７における左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、右上制御ポイントの動きベクトル（ｖｘ５，ｖｙ５）、及び左下制御ポイント（ｘ６，ｙ６）の動きベクトル（ｖｘ６，ｖｙ６）が取得される。
【０２９１】
現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号化ブロックの３つの制御ポイントを含む６パラメータ・アフィン動きモデルを使用することにより、６パラメータ・アフィン動きモデルに対応する式（８）、（９）及び式（１０）に従って導出される。
【０２９２】
隣接するアフィン復号化ブロックに使用されるアフィン動きモデルが、４パラメータ・アフィン動きモデルである場合、アフィン復号化ブロックの２つの制御ポイントの動きベクトル、例えば、左上制御ポイント（ｘ４，ｙ４）の動きベクトル（ｖｘ４，ｖｙ４）、及び右上制御ポイント（ｘ５，ｙ５）の動きベクトル（ｖｘ５，ｖｙ５）が取得される。
【０２９３】
現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトルはそれぞれ、隣接するアフィン復号化ブロックの２つの制御ポイントを含む４パラメータ・アフィン動きモデルを使用することにより、４パラメータ・アフィン動きモデルに対応する式（６）及び式（７）に従って導出される。
【０２９４】
他の運動モデル、候補位置、検索順序も本願に適用可能であることに留意すべきである。詳細はここでは説明されない。隣接する及び現在のコーディング・ブロックの運動モデルを表現するために他の制御ポイントが使用される方法もまた本願に適用可能であることに留意すべきである。詳細はここでは説明されない。
【０２９５】
Ａ２：構築制御ポイント動きベクトル予測法を使用することにより候補動きベクトル・リストを構築するプロセスが説明される。
【０２９６】
例えば、現在の復号化ブロックに使用されているアフィン動きモデルが４パラメータ・アフィン動きモデルである場合（即ち、MotionModelIdc=1）、現在のコーディング・ブロックの左上サンプル及び右上サンプルの動きベクトルは、現在のコーディング・ブロックの隣接する符号化ブロックの動き情報を使用することにより決定される。具体的には、構築制御ポイント動きベクトル予測法１又は構築制御ポイント動きベクトル予測法２を使用することにより、候補動きベクトル・リストが構築されることが可能である。具体的な方法については、４及び５の説明を参照されたい。詳細はここでは説明されない。
【０２９７】
例えば、現在の復号化ブロックに使用されているアフィン運動モデルが６パラメータ・アフィン運動モデルである場合（即ち、MotionModelIdc=2）、現在のコーディング・ブロックの左上サンプル、右上サンプル、及び左下サンプルの動きベクトルは、現在のコーディング・ブロックの隣接する符号化ブロックの動き情報を使用することにより決定される。具体的には、候補動きベクトル・リストは、構築制御ポイント動きベクトル予測法１又は構築制御ポイント動きベクトル予測法２を使用することにより構成されることが可能である。具体的な方法については、４及び５の説明を参照されたい。詳細はここでは説明されない。
【０２９８】
制御ポイント動き情報を組み合わせる別の方法もまた本願に適用可能であることに留意すべきである。詳細はここでは説明されない。
【０２９９】
ステップ６０３ａ：ビットストリームを解析して最適な制御ポイント動きベクトル予測子を決定し、ステップ６０４ａを実行する。
【０３００】
Ｂ１：現在の復号化ブロックに使用されているアフィン動きモデルが４パラメータ・アフィン動きモデルである場合（MotionModelIdc=1）、インデックス番号が解析され、インデックス番号に基づいて、２つの制御ポイントにおける最適な動きベクトル予測子が、候補動きベクトル・リストから決定される。
【０３０１】
例えば、インデックス番号は、mvp_l0_flag又はmvp_l1_flagである。
【０３０２】
Ｂ２：現在の復号化ブロックに使用されているアフィン動きモデルが６パラメータ・アフィン動きモデルである場合（MotionModelIdc=2）、インデックス番号が解析され、インデックス番号に基づいて、３つの制御ポイントにおける最適な動きベクトル予測子が、候補動きベクトル・リストから決定される。
【０３０３】
ステップ６０４ａ：ビットストリームを解析して、制御ポイント動きベクトルを決定する。
【０３０４】
Ｃ１：現在の復号化ブロックに使用されているアフィン動きモデルが４パラメータ・アフィン動きモデルである場合（MotionModelIdc=1）、現在ブロックの２つの制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、制御ポイントの動きベクトルは、制御ポイントの動きベクトル差分と動きベクトル予測子と基づいて取得される。前方予測を一例として使用すると、２つの制御ポイントの動きベクトル差分はそれぞれ、mvd_coding(x0,y0,0,0)及びmvd_coding(x0,y0,0,1)である。
【０３０５】
例えば、左上制御ポイント及び右上制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、それぞれ動きベクトル予測子に加算され、現在ブロックの左上制御ポイント及び右上制御ポイントの動きベクトルを取得する。
【０３０６】
Ｃ２：現在の復号化ブロックに使用されているアフィン動きモデルは、６パラメータ・アフィン動きモデルである（MotionModelIdc=2）。
【０３０７】
現在ブロックの３つの制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、制御ポイント動きベクトルが、制御ポイントの動きベクトル差分と動きベクトル予測子とに基づいて取得される。前方予測を一例として使用すると、３つの制御ポイントの動きベクトル差分はそれぞれ、mvd_coding(x0,y0,0,0)，mvd_coding(x0,y0,0,1)及びmvd_coding(x0,y0,0,2)である。
【０３０８】
例えば、左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトル差分が、復号化によりビットストリームから取得され、それぞれ動きベクトル予測子に加算され、現在ブロックの左上制御ポイント、右上制御ポイント、及び左下制御ポイントの動きベクトルを取得する。
【０３０９】
ステップ６０５ａ：現在の復号化ブロックに使用されている制御ポイントの動き情報とアフィン動きモデルとに基づいて、現在ブロックにおける各サブブロックの動きベクトルを取得する。
【０３１０】
現在のアフィン復号化ブロック内の各サブブロックに関し（１つのサブブロックは、１つの動き補償ユニットと同等であり、サブブロックの幅及び高さは、現在ブロックの幅及び高さよりも小さい）、動き補償ユニット内の事前に設定された位置におけるサンプルの動き情報が、動き補償ユニット内のすべてのサンプルの動き情報を表現するために使用されることが可能である。動き補償ユニットのサイズがＭｘＮであると仮定すると、事前に設定された位置におけるサンプルは、中心サンプル（Ｍ／２，Ｎ／２）、左上サンプル（０，０）、右上サンプル（Ｍ−１，０）、又は動き補償ユニットの別の位置におけるサンプルであってもよい。以下、説明のための一例として、動き補償ユニットの中心サンプルを使用する。図９Ｃを参照すると、Ｖ０は左上制御ポイントの動きベクトルを示し、Ｖ１は右上制御ポイントの動きベクトルを示している。小さなボックスの各々は１つの補償ユニットを示す。
【０３１１】
現在のアフィン復号化ブロックの左上サンプルに対する動き補償ユニットの中心サンプルの座標は、式（２５）を使用することにより算出され、ここで、ｉは水平方向の（左から右への）ｉ番目の動き補償ユニットを示し、ｊは垂直方向の（上から下への）ｊ番目の動き補償ユニットを示し、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））は現在のアフィン復号化ブロックの左上サンプルに対する（ｉ，ｊ）番目の動き補償ユニットの中心サンプルの座標を示す。
【０３１２】
現在のアフィン復号化ブロックに使用されるアフィン動きモデルが６パラメータ・アフィン動きモデルである場合には、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））が、６パラメータ・アフィン動きモデルに対応する式（２６）に代入され、各動き補償ユニットの中心サンプルの動きベクトルを取得し、中心サンプルの動きベクトルは、動き補償ユニットにおけるすべてのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【０３１３】
現在のアフィン復号化ブロックに使用されるアフィン動きモデルが４パラメータ・アフィン動きモデルである場合には、（ｘ（ｉ，ｊ），ｙ（ｉ，ｊ））が、４パラメータ・アフィン動きモデルに対応する式（２７）に代入され、各動き補償ユニットの中心サンプルの動きベクトルを取得し、中心サンプルの動きベクトルは、動き補償ユニットにおけるすべてのサンプルの動きベクトル（ｖｘ（ｉ，ｊ），ｖｙ（ｉ，ｊ））として使用される。
【数１９】
2021536710.tif 000064
【０３１４】
ステップ６０６ａ：サブブロックの決定された動きベクトルに基づいて各サブブロックに関して動き補償を実行し、サブブロックのサンプル予測子を取得する。
【０３１５】
ステップ６０２ｂ：アフィン動きモデル・ベースのマージ・モードに対応する動き情報候補リストを構築する。
【０３１６】
具体的には、アフィン動きモデル・ベースのマージ・モードに対応する動き情報候補リストは、継承制御ポイント動きベクトル予測法及び／又は構築制御ポイント動きベクトル予測法を使用することにより構築されることが可能である。
【０３１７】
オプションとして、動き情報候補リストは、特定のルールに従ってプルーニング及びソートされ、特定の量に打ち切られるか又はパディングされることが可能である。
【０３１８】
Ｄ１：継承制御ポイント動きベクトル予測法を使用することにより候補動きベクトル・リストを構築するプロセスが説明される。
【０３１９】
現在ブロックの候補制御ポイント動き情報は、継承制御ポイント動きベクトル予測法を使用することにより導出され、動き情報候補リストに追加される。
【０３２０】
現在ブロック周辺の隣接ブロックは、図８ＡにおけるＡ１→Ｂ１→Ｂ０→Ａ０→Ｂ２の順序でトラバースされ、位置が突き止められているアフィン・コーディング・ブロックを発見し、アフィン・コーディング・ブロックの制御ポイント動き情報を取得する。更に、現在ブロックの候補制御ポイント動き情報が、アフィン・コーディング・ブロックの動きモデルを使用することにより導出される。
【０３２１】
候補動きベクトル・リストが空である場合、候補制御ポイント動き情報が候補リストに追加される。そうでない場合、候補動きベクトル・リストにおける動き情報は、順次トラバースされ、候補制御ポイント動き情報と同一の動き情報が、候補動きベクトル・リスト内に存在するか否かを検査する。候補制御ポイント動き情報と同一の動き情報が候補動きベクトル・リスト内に存在しない場合、候補制御ポイント動き情報が、候補動きベクトル・リストに追加される。
【０３２２】
２つの候補動き情報が同一であるかどうかを判定するには、順方向参照フレーム、逆方向参照フレーム、順方向動きベクトル各々の水平及び垂直成分、逆方向動きベクトル各々の水平及び垂直成分が、２つの候補動き情報において、同一であるかどうかを順次判定する必要がある。２つの候補動き情報は、前述の要素のすべてが異なる場合に限り、異なるものと考えられる。
【０３２３】
候補動きベクトル・リスト内の動き情報の個数が、最大リスト長MaxAffineNumMrgCand（MaxAffineNumMrgCandは、１，２，３，４，又は５のような正の整数であり、以下、一例として５である長さを使用することにより説明を行い、詳細はここでは説明されない）に到達する場合、候補リストは完備である。そうでない場合、次の隣接ブロックがトラバースされる。
【０３２４】
Ｄ２：現在ブロックの候補の制御ポイント動き情報は、構築制御ポイント動きベクトル予測方法を使用することにより導出され、動き情報候補リストに追加される。これについては、図９Ｂを参照されたい。
【０３２５】
ステップ６０１ｃ：現在ブロックの制御ポイントの動き情報を取得する。これについては、５における構築制御ポイント動きベクトル予測法２におけるステップ８０１を参照されたい。詳細はここで再び説明されない。
【０３２６】
ステップ６０２ｃ：制御ポイントの動き情報を結合し、構築制御ポイント動き情報を取得する。これについては、図８Ｂのステップ８０１を参照されたい。詳細はここで再び説明されない。
【０３２７】
ステップ６０３ｃ：構築制御ポイントの動き情報を候補の動きベクトル・リストに追加する。
【０３２８】
候補リストの長さが最大リスト長MaxAffineNumMrgCandより短い場合、候補制御ポイント動き情報として有効な組み合わせを取得するために、事前に設定された順序で組み合わせがトラバースされる。この場合において、候補動きベクトル・リストが空である場合、候補制御ポイント動き情報が候補動きベクトル・リストに追加される。そうでない場合、候補動きベクトル・リスト内の動き情報が順次トラバースされ、候補制御ポイント動き情報と同一である動き情報が、候補動きベクトル・リスト内に存在するか否かを検査する。候補制御ポイント動き情報と同一の動き情報が候補動きベクトル・リストに存在しない場合、候補制御ポイント動き情報が候補動きベクトル・リストに追加される。
【０３２９】
例えば、事前に設定された順序は次のとおりである：Affine(CP1,CP2,CP3)→Affine  (CP1,CP2,CP4)→Affine(CP1,CP3,CP4)→Affine(CP2,CP3,CP4)→Affine(CP1,CP2)→Affine(CP1,CP3)→Affine(CP2,CP3)→Affine(CP1,CP4)→Affine(CP2,CP4)→Affine(CP3,CP4)。合計１０個の組み合わせが存在する。
【０３３０】
組み合わせに対応する制御ポイント動き情報が利用可能でない場合、その組み合わせは利用可能でないと考えられる。組み合わせが利用可能である場合、組み合わせの参照フレーム・インデックスが決定され（２つの制御ポイントの場合には、より小さな参照フレーム・インデックスが組み合わせの参照フレーム・インデックスとして選択され、２つより多い制御ポイントの場合には、最も頻繁に現れる参照フレーム・インデックスが選択され、複数の参照フレーム・インデックスが現れる回数が同一であれば、最小参照フレーム・インデックスが組み合わせの参照フレーム・インデックスとして選択される）、制御ポイントの動きベクトルがスケーリングされる。すべての制御ポイントのスケーリングされた動き情報が一貫している場合、その組み合わせは無効である。
【０３３１】
オプションとして、本願のこの実施形態では、候補動きベクトル・リストはパディングされてもよい。例えば、前述のトラバース処理の後、候補動きベクトル・リストの長さが最大リスト長MaxAffineNumMrgCandより短い場合、候補動きベクトル・リストは、リスト長がMaxAffineNumMrgCandに等しくなるまで、パディングされてもよい。
【０３３２】
パディングは、ゼロ動きベクトル・パディング法を使用するか、又は既存のリスト内の既存の候補動き情報を結合又は重み付け平均化することによって、実行されることが可能である。候補動きベクトル・リストをパディングするための別の方法も、本願に適用可能であることに留意すべきである。詳細はここで説明されない。
【０３３３】
ステップＳ６０３ｂ：ビットストリームを解析して、最適な制御ポイント動き情報を決定する。
【０３３４】
インデックス番号は解析され、インデックス番号に基づいて、最適な制御ポイント動き情報が候補動きベクトル・リストから決定される。
【０３３５】
ステップ６０４ｂ：現在の復号化ブロックに使用されている最適な制御ポイント動き情報とアフィン動きモデルとに基づいて、現在ブロックの各サブブロックの動きベクトルを取得する。
【０３３６】
このステップはステップ６０５ａと同じである。
【０３３７】
ステップ６０５ｂ：サブブロックの決定された動きベクトルに基づいて、各サブブロックに関して動き補償を実行し、サブブロックのサンプル予測子を取得する。
【０３３８】
本発明における技術は、コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ）エントロピー・デコーダ、又は確率間隔分割エントロピー（ＰＩＰＥ）デコーダ又は関連するデコーダのような別のエントロピー・デコーダに関連する。算術復号化は、シンボルが算術復号化において非整数長コードにマッピングされることが可能であるので、高い復号化効率を有する多くの圧縮アルゴリズムで使用されるエントロピー復号化の一形態である。一般に、ＣＡＢＡＣによるデータ・シンボルを復号化することは、以下のステップのうちの１つ以上を含む：
【０３３９】
（１）二進化：復号化対象のシンボルがバイナリでない場合、シンボルは「バイナリ」シーケンスにマッピングされ、各バイナリ・ビットの値は「０」又は「１」を有することが可能である。
【０３４０】
（２）コンテキスト割り当て：（通常モードにおいて）各バイナリ・ビットに１つのコンテキストが割り当てられる。コンテキスト・モデルは、バイナリ・ビットに対して利用可能な情報に基づいて、所与のバイナリ・ビットに対するコンテキストを計算するための方法を決定するために使用される。その情報は、例えば、以前に復号化されたシンボルの値又は２進数である。
【０３４１】
（３）二進符号化：算術エンコーダはバイナリ・ビットを符号化する。バイナリ・ビットを符号化するために、算術エンコーダは、バイナリ・ビットの値の確率を入力として必要とし、その確率は、バイナリ・ビットの値が「０」に等しい確率、及びバイナリ・ビットの値が「１」に等しい確率である。各コンテキストの（推定された）確率は、「コンテキスト状態」と呼ばれる整数値で表現される。各コンテキストは状態を有し、従って、状態（即ち、推定された確率）は、１つのコンテキストが割り当てられるバイナリ・ビットに対しては同一であり、コンテキスト間で異なる。
【０３４２】
（４）状態更新：コンテキストを選択する確率（状態）は、バイナリ・ビットの実際の復号化された値に基づいて更新される（例えば、バイナリ・ビットの値が「１」である場合、「１」の確率は増やされる）。
【０３４３】
従来技術では、アフィン動きモデルのパラメータ情報、例えば表１におけるaffine_merge_flag，affine_merge_idx，affine_inter_flag，及びaffine_type_flagをＣＡＢＡＣにより解析する場合、異なるコンテキストが、ＣＡＢＡＣ解析において異なるシンタックス要素に対して使用されることを必要とする。本発明では、ＣＡＢＡＣで使用されるコンテキストの量が削減される。従って、コンテキストを記憶するためにエンコーダ及びデコーダによって必要とされる、より少ない空間が、コーディング効率に影響することなく占有される。
【０３４４】
affine_merge_flag及びaffine_inter_flagについては、２つの異なるコンテキスト・セット（各コンテキスト・セットは３つのコンテキストを含む）が従来技術におけるＣＡＢＡＣで使用されている。各セットで使用される実際のコンテキスト・インデックスは、表３に示されるように、現在の復号化ブロックの左隣接ブロックにおける同じシンタックス要素の値と、現在の復号化ブロックの上隣接ブロックの同じシンタックス要素の値との合計に等しい。ここで、avallableLは、現在の復号化ブロックの左隣接ブロックの利用可能性（左隣接ブロックが存在し且つ復号化されているか否か）を示し、avallableAは、現在の復号化ブロックの上隣接ブロックの利用可能性（上隣接ブロックが存在し且つ復号化されているか否か）を示す。従来技術では、affine_merge_flag及びaffine_inter_flagのコンテキストの量は６である。
表３  コンテキスト・インデックス
【表３】
2021536710.tif 000065
【０３４５】
図１０は、本発明の一実施形態によるビデオ復号化方法の手順を記載している。この実施形態は、図３に示すビデオ・デコーダによって実行されることが可能である。図１０に示すように、本方法は、以下のステップを含む。
【０３４６】
１００１．受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得し、ここで、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む。
【０３４７】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、又は現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３４８】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、又は現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３４９】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３５０】
本発明のこの実施形態における現在ブロックは、ＣＵであってもよい。
【０３５１】
１００２．現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行する。現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は、事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化は、コンテキスト・モデルを使用することにより完了する。
【０３５２】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３５３】
１００３．現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるものに基づいて、現在ブロックに関して予測処理を実行し、現在ブロックの予測ブロックを取得する。
【０３５４】
このステップは、具体的には、図３の予測処理ユニット３６０によって実行されてもよい。
【０３５５】
１００４．現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得する。
【０３５６】
このステップは、具体的には、図３の再構成ユニット３１４によって実行されてもよい。
【０３５７】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、デコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、デコーダによりビデオ復号化を実行する復号化効率を改善する。更に、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・デコーダのより少ないストレージ空間が占有される。
【０３５８】
図１０において説明されるビデオ復号化方法に対応して、本発明の実施形態は更に符号化方法を提供し、符号化方法は：
現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、ステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデルは、図１０に記載されるビデオ復号化方法におけるコンテキスト・モデルと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、エンコーダは、エントロピー符号化を実行する際にコンテキスト・モデルを確認する必要がなく、エンコーダによりビデオ符号化を実行する符号化効率を改善する。更に、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・エンコーダのより少ないストレージ空間が占有される。
【０３５９】
図１１は、本発明の別の実施形態によるビデオ復号化方法の手順を記載している。この実施形態は、図３に示すビデオ・デコーダによって実行されることが可能である。図１１に示すように、本方法は以下のステップを含む。
【０３６０】
１１０１．受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得する。現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む。
【０３６１】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３６２】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０３６３】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３６４】
１１０２．エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得する。現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデル・セットから決定されるか、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデル・セットから決定される。
【０３６５】
ビデオ・デコーダは、シンタックス要素１とシンタックス要素２に対して唯１つのコンテキスト・モデル・セットを記憶することを必要とする。
【０３６６】
幾つかの実装において、事前に設定されたコンテキスト・モデル・セットは唯２つのコンテキスト・モデルを含む。幾つかの他の実装において、事前に設定されたコンテキスト・モデル・セットは、３つのコンテキスト・モデルのみを含む。事前に設定されたコンテキスト・モデル・セットは、代替的に、４つ、５つ、又は６つのコンテキスト・モデルを含む可能性があることを理解することができる。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は、本発明のこの実施形態では限定されない。
【０３６７】
実装において、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用される。
【０３６８】
別の実装において、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルが事前に設定されたコンテキスト・モデル・セットから決定されることは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定することを含み、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【０３６９】
例えば、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が３である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【０３７０】
具体的には、シンタックス要素１affine_merge_flag及びシンタックス要素２affine_inter_flagは、１つのコンテキスト・モデル・セットを共有することが可能である（セットは３つのコンテキスト・モデルを含む）。各セットで使用される実際のコンテキスト・インデックスは、表４に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とを加算することによって得られる結果に等しい。ここで、「｜」はＯＲ演算を示す。
表４  本発明におけるコンテキスト・インデックス
【表４】
2021536710.tif 000066
【０３７１】
例えば、事前に設定されたコンテキスト・モデル・セットにおけるコンテキスト・モデルの量が２である場合に、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【０３７２】
具体的には、シンタックス要素１affine_merge_flag及びシンタックス要素２affine_inter_flagは、１つのコンテキスト・モデル・セットを共有する（セットは２つのコンテキスト・モデルを含む）。各セットで使用される実際のコンテキスト・インデックスは、表５に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とに、ＯＲ演算を実行することによって得られる結果に等しい。ここで、「｜」はＯＲ演算を示す。本発明のこの実施形態では、affine_merge_flag及びaffine_inter_flagに関するコンテキストの量は２に減少する。
表５  本発明におけるコンテキスト・インデックス
【表５】
2021536710.tif 000067
【０３７３】
１１０３．現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行する。
【０３７４】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３７５】
１１０４．現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得する。
【０３７６】
このステップは、具体的には、図３の予測処理ユニット３６０によって実行されてもよい。
【０３７７】
１１０５．現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得する。
【０３７８】
このステップは、具体的には、図３の再構成ユニット３１４によって実行されてもよい。
【０３７９】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０３８０】
図１１において説明されるビデオ復号化方法に対応して、本発明の実施形態は更に符号化方法を提供し、符号化方法は、
現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含む、ステップと、エントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１１に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は、１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０３８１】
図１２は、本発明の実施形態によるビデオ復号化方法の手順を記載している。この実施形態は、図３に示すビデオ・デコーダによって実行されてもよい。図１２に示すように、本方法は、以下のステップを含む。
【０３８２】
１２０１．受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得する。現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む。
【０３８３】
実装において、現在ブロックにおけるシンタックス要素３はmerge_idxであり、現在ブロックにおけるシンタックス要素４はaffine_merge_idxである。
【０３８４】
実装において、現在ブロックにおけるシンタックス要素３はmerge_idxであり、現在ブロックにおけるシンタックス要素４はsubblock_merge_idxである。
【０３８５】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３８６】
１２０２．エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得する。現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデル・セットから決定されるか、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは、事前に設定されたコンテキスト・モデルから決定される。
【０３８７】
実装において、事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は５である。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は、代替的に、１、２、３、又は４のような別の値であってもよいことを理解することができる。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量が１である場合、事前に設定されたコンテキスト・モデル・セットは１つのコンテキスト・モデルである。事前に設定されたコンテキスト・モデル・セットに含まれるコンテキスト・モデルの量は、本発明のこの実施形態では限定されない。
【０３８８】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３８９】
１２０３．現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行する。
【０３９０】
このステップは、具体的には、図３のエントロピー復号化ユニット３０４によって実行されてもよい。
【０３９１】
１２０４．現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得する。
【０３９２】
このステップは、具体的には、図３の予測処理ユニット３６０によって実行されてもよい。
【０３９３】
１２０５．現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得する。
【０３９４】
このステップは、具体的には、図３の再構成ユニット３１４によって実行されてもよい。
【０３９５】
この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は、１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０３９６】
図１２において説明されるビデオ復号化方法に対応して、本発明の実施形態は更に符号化方法を提供し、符号化方法は、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するステップであって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含む、ステップと、エントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するステップであって、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定される、ステップと、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するステップと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するステップとを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１２に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は、１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０３９７】
本発明の実施形態は、エントロピー復号化ユニット３０４、予測処理ユニット３６０、及び再構成ユニット３１４を含むビデオ・デコーダ３０を提供する。
【０３９８】
エントロピー復号化ユニット３０４は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成され、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニット３０４は、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成され、現在ブロックにおけるシンタックス要素１に関するエントロピー復号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー復号化はコンテキスト・モデルを使用することにより完了する。
【０３９９】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４００】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４０１】
予測処理ユニット３６０は、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるシンタックス要素に基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成される。
【０４０２】
再構成ユニット３１４は、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成される。
【０４０３】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、デコーダは、エントロピー復号化を実行する際にコンテキスト・モデルを確認する必要がなく、デコーダによりビデオ復号化を実行する復号化効率を改善する。更に、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・デコーダのより少ないストレージ空間が占有される。
【０４０４】
相応して、本発明の実施形態はビデオ・エンコーダ２０を提供し、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニット２７０であって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されており、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に関してエントロピー符号化が実行される場合に、現在ブロックにおけるシンタックス要素１に関するエントロピー符号化は事前に設定されたコンテキスト・モデルを使用することにより完了し、又は現在ブロックにおけるシンタックス要素２に関するエントロピー符号化はコンテキスト・モデルを使用することにより完了する、エントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力２７２とを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデルは、図１０に記載される方法におけるコンテキスト・モデルと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、エンコーダは、エントロピー符号化を実行する際にコンテキスト・モデルを確認する必要がなく、エンコーダによりビデオ符号化を実行する符号化効率を改善する。更に、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とするので、ビデオ・エンコーダのより少ないストレージ空間が占有される。
【０４０５】
本発明の別の実施形態は、エントロピー復号化ユニット３０４、予測処理ユニット３６０、及び再構成ユニット３１４を含むビデオ・デコーダ３０を提供する。
【０４０６】
エントロピー復号化ユニット３０４は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成され、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー復号化ユニット３０４は、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されている。
【０４０７】
実装において、現在ブロックにおけるシンタックス要素１はaffine_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４０８】
実装において、現在ブロックにおけるシンタックス要素１はsubblock_merge_flagであり、現在ブロックにおけるシンタックス要素２はaffine_inter_flagである。
【０４０９】
実装において、エントロピー復号化ユニット３０４は、具体的には、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスを決定するように構成されることが可能であり、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルを示すために使用され、又は、
エントロピー復号化ユニットは、現在ブロックの左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２と、現在ブロックの上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２とに基づいて、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスを決定するように構成されることが可能であり、現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスは、現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルを示すために使用される。
【０４１０】
例えば、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値との合計である。
【０４１１】
例えば、現在ブロックにおけるシンタックス要素１のコンテキスト・インデックスの値は、上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果であり、又は
現在ブロックにおけるシンタックス要素２のコンテキスト・インデックスの値は、前記上隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値と、左隣接ブロックにおけるシンタックス要素１及びシンタックス要素２に関してＯＲ演算を実行することにより取得される値とに、ＯＲ演算を実行することにより取得される結果である。
【０４１２】
予測処理ユニット３６０は、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化によって取得されるものに基づいて、現在ブロックに関して予測処理を実行し、現在ブロックの予測ブロックを取得するように構成される。
【０４１３】
再構成ユニット３１４は、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成される。
【０４１４】
この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は、１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素１及びシンタックス要素２に対して唯１つのコンテキスト・モデルのみを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０４１５】
相応して、本発明の実施形態は更にビデオ・エンコーダ２０を提供し、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニット２７０であって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素１又は現在ブロックにおけるシンタックス要素２を含み、エントロピー符号化ユニットは、エントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素１に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素２に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力２７２とを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１１に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素１及びシンタックス要素２は１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素１及びシンタックス要素２のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０４１６】
本発明の別の実施形態は、エントロピー復号化ユニット３０４、予測処理ユニット３６０、及び再構成ユニット３１４を含むビデオ・デコーダ３０を提供する。
【０４１７】
エントロピー復号化ユニット３０４は、受信ビットストリームを解析して、現在ブロックにおけるエントロピー復号化対象のシンタックス要素を取得するように構成され、現在ブロックにおけるエントロピー復号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー復号化ユニットは、エントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー復号化ユニットは、現在ブロックにおけるエントロピー復号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー復号化対象のシンタックス要素に関してエントロピー復号化を実行するように構成されている。
【０４１８】
事前に設定されたコンテキスト・モデル・セットは、１つ、２つ、３つ、４つ、又は５つのコンテキスト・モデルを含む。事前に設定されたコンテキスト・モデル・セットが１つのコンテキスト・モデルのみを含む場合、事前に設定されたコンテキスト・モデル・セットは１つのコンテキスト・モデルであることを理解することができる。
【０４１９】
実装において、現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、affine_merge_idxであり、現在ブロックのアフィン・マージ候補リストのインデックス値を示すために使用され、又は
現在ブロックにおけるシンタックス要素３は、merge_idxであり、現在ブロックのマージ候補リストのインデックス値を示すために使用され、又は現在ブロックにおけるシンタックス要素４は、subblock_merge_idxであり、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【０４２０】
予測処理ユニット３６０は、現在ブロックにおけるシンタックス要素であり且つエントロピー復号化により取得されるものに基づいて、現在ブロックに関して予測処理を実行して、現在ブロックの予測ブロックを取得するように構成される。
【０４２１】
再構成ユニット３１４は、現在ブロックの予測ブロックに基づいて、現在ブロックの再構成された画像を取得するように構成される。
【０４２２】
この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は１つのコンテキスト・モデルを共有するので、ビデオ・デコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・デコーダのより少ないストレージ空間を占有する。
【０４２３】
相応して、本発明の実施形態は更にビデオ・エンコーダを提供し、ビデオ・エンコーダは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素を取得するように構成されたエントロピー符号化ユニット２７０であって、現在ブロックにおけるエントロピー符号化対象のシンタックス要素は、現在ブロックにおけるシンタックス要素３又は現在ブロックにおけるシンタックス要素４を含み、エントロピー符号化ユニットは、エントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルを取得するように構成され、現在ブロックにおけるシンタックス要素３に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、又は現在ブロックにおけるシンタックス要素４に対応するコンテキスト・モデルは事前に設定されたコンテキスト・モデル・セットから決定され、エントロピー符号化ユニットは、現在ブロックにおけるエントロピー符号化対象のシンタックス要素に対応するコンテキスト・モデルに基づいて、エントロピー符号化対象のシンタックス要素に関してエントロピー符号化を実行するように構成されているエントロピー符号化ユニットと、現在ブロックにおけるシンタックス要素であり且つエントロピー符号化により取得されるものを含むビットストリームを出力するように構成された出力２７２とを含む。現在ブロック上でエントロピー符号化が実行される場合に使用されるコンテキスト・モデル・セットは、図１２に記載されるビデオ復号化方法におけるコンテキスト・モデル・セットと同じである。この実施形態では、現在ブロックにおけるシンタックス要素３及びシンタックス要素４は１つのコンテキスト・モデルを共有するので、ビデオ・エンコーダは、シンタックス要素３及びシンタックス要素４のために唯１つのコンテキスト・モデルを記憶することを必要とし、ビデオ・エンコーダのより少ないストレージ空間を占有する。
【０４２４】
本発明の実施形態１は、affine_merge_flag及びaffine_inter_flagが、１つのコンテキスト・セットを共有すること（セットは３つのコンテキストを含む）、及び、各セットで使用される実際のコンテキスト・インデックスは、表４に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とを加算することによって得られる結果に等しいこと、を提案する。ここで、「｜」はＯＲ演算を示す。本発明の実施形態１では、affine_merge_flag及びaffine_inter_flagに関するコンテキストの量は３に減少する。
【０４２５】
本発明の実施形態２は、affine_merge_flag及びaffine_inter_flagが、１つのコンテキスト・セットを共有すること（セットは２つのコンテキストを含む）、及び、各セットで使用される実際のコンテキスト・インデックスは、表５に示すように、現在の復号化ブロックの左隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値と、現在の復号化ブロックの上隣接ブロックにおける２つのシンタックス要素に関してＯＲ演算を実行することにより得られる値とに、ＯＲ演算を実行することによって得られる結果に等しいこと、を提案する。ここで、「｜」はＯＲ演算を示す。本発明の実施形態２では、affine_merge_flag及びaffine_inter_flagに関するコンテキストの量は２に減少する。
【０４２６】
本発明の実施形態３は、affine_merge_flagとaffine_inter_flagとが１つのコンテキストを共有することを提案する。本発明の実施形態３では、affine_merge_flagコンテキストの数及びaffine_inter_flagコンテキストの数は１に減少する。
【０４２７】
先行技術では、打ち切られた単進符号を使用することにより、二進化がmerge_idx及びaffine_merge_idxに関して実行され、２つの異なるコンテキスト・セット（各コンテキスト・セットは５つのコンテキストを含む）がＣＡＢＡＣにおいて使用され、異なるコンテキストが、二値化後の各バイナリ・ビットに対して使用される。先行技術において、merge_idx及びaffine_merge_idxのコンテキストの量は１０である。
【０４２８】
本発明の実施形態４は、merge_idx及びaffine_merge_idxが１つのコンテキスト・セットを共有することを提案する（各コンテキスト・セットは５つのコンテキストを含む）。本発明の実施形態４では、merge_idx及びaffine_merge_idxのコンテキストの量は５に減少する。
【０４２９】
幾つかの他の技術において、表１のシンタックス要素affine_merge_flag[x0][y0]は、subblock_merge_flag[x0][y0]に置換されてもよく、サブブロック・ベースのマージ・モードが現在ブロックに使用されているかどうかを示すために使用され、表１のシンタックス要素affine_merge_idx[x0][y0]は、subblock_merge_idx[x0][y0]に置換されてもよく、サブブロック・マージ候補リストのインデックス値を示すために使用される。
【０４３０】
この場合において、本発明の実施形態１ないし実施形態４が依然として適用可能であり、即ちsubblock_merge_flag及びaffine_inter_flagは１つのコンテキスト・セット（又はコンテキスト）及び１つのインデックス取得方法を共有し、merge_idx及びsubblock_merge_idxは１つのコンテキスト・セット（又はコンテキスト）を共有する。
【０４３１】
本発明の実施形態は、更に、上記の何れかの方法を実行するように構成された実行回路を含むビデオ・デコーダを提供する。
【０４３２】
本発明の実施形態は、更に、少なくとも１つのプロセッサと、少なくとも１つのプロセッサに結合された不揮発性のコンピュータ読み取り可能な記憶媒体とを含むビデオ・デコーダを提供する。不揮発性のコンピュータ読み取り可能な記憶媒体は、少なくとも１つのプロセッサにより実行されることが可能なコンピュータ・プログラムを記憶し、コンピュータ・プログラムが少なくとも１つのプロセッサにより実行されると、ビデオ・デコーダは、上記の何れかの方法を実行するように動作することが可能である。
【０４３３】
本発明の実施形態は、プロセッサにより実行されることが可能なコンピュータ・プログラムを記憶するように構成されたコンピュータ読み取り可能な記憶媒体を更に提供する。コンピュータ・プログラムが少なくとも１つのプロセッサにより実行されると、上記の何れかの方法が実行される。
【０４３４】
本発明の実施形態は、更に、コンピュータ・プログラムを提供する。コンピュータ・プログラムが実行されると、上記の何れかの方法が実行される。
【０４３５】
前述の１つ以上の例において、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることが可能である。ソフトウェアで実現される場合、機能は、コンピュータ読み取り可能な媒体に記憶されるか又はそれで伝送され、１つ以上の命令又はコードとしてハードウェア・ベースの処理ユニットによって実行されることが可能である。コンピュータ読み取り可能な媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ読み取り可能な記憶媒体又は通信媒体を含む可能性がある。通信媒体は、例えば、通信プロトコルに従って或る場所から他の場所へのコンピュータ・プログラムの転送を促す任意の媒体を含む。従って、コンピュータ読み取り可能な媒体は、一般に、（１）非一時的な有形のコンピュータ読み取り可能な記憶媒体、又は（２）信号又はキャリアのような通信媒体に対応する可能性がある。データ記憶媒体は、本発明で説明される技術の実装のための命令、コード、及び／又はデータ構造を取り出するために、１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされることが可能な任意の利用可能な媒体であってもよい。コンピュータ・プログラム製品は、コンピュータ読み取り可能な媒体を含む可能性がある。
【０４３６】
限定ではなく例示として、このようなコンピュータ読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、又は他の光ディスク・ストレージ、磁気ディスク・ストレージ、又は他の磁気ストレージ・デバイス、フラッシュ・メモリ、又は、任意の他の媒体であって命令又はデータ構造の形態で必要なプログラム・コードを記憶するために使用されることが可能であり且つコンピュータによってアクセスされることが可能なもの、を含む可能性がある。更に、任意の接続がコンピュータ読み取り可能な媒体として適切に言及されてもよい。例えば、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者回線（digital  subscriber  line，  DSL）、又は、赤外線、無線、及びマイクロ波などの無線技術を利用することにより、命令がウェブサイト、サーバー、又は他のリモート・ソースから伝送される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、又は赤外線、無線、無線、及びマイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読み取り可能な記憶媒体及びデータ記憶媒体は、接続、キャリア、信号、又は他の任意の一時的な媒体を含まず、実際には非一時的な有形の記憶媒体に向けられることが理解されるべきである。本明細書において使用されるように、ディスク及び光ディスクは、コンパクト・ディスク（compact  disc，CD）、レーザー・ディスク、光ディスク、デジタル多用途ディスク（digital  versatile  disc，DVD）、フロッピー・ディスク、及びブルーレイ・ディスクを含む。ディスクは一般に磁気的にデータを再生し、光ディスクはレーザーを使用することにより光学的にデータを再生する。上記の如何なる組み合わせも、コンピュータ読み取り可能な媒体の範囲内に該当するはずである。
【０４３７】
命令は、１つ以上のプロセッサによって実行されることが可能であり、１つ以上のプロセッサは、例えば１つ以上のデジタル信号プロセッサ（digital  signal  processor，DSP）、１つ以上の汎用マイクロプロセッサ、１つ以上の特定用途向け集積回路（application  specific  integrated  circuit，ASIC）、１つ以上のフィールド・プログラマブル論理アレイ（field  programmable  logic  arrays，FPGA）、又は他の同等な統合された又は個別的な論理回路である。従って、本明細書で使用される用語「プロセッサ」は、前述の構造又は本明細書で説明される技術の実装に適用可能な他の構造、のうちの任意の１つを表す可能性がある。更に、幾つかの態様において、本明細書で説明される機能は、符号化及び復号化を実行するように構成された専用ハードウェア及び／又はソフトウェア・モジュール内で提供されてもよいし、又は組み合わされたコーデックに組み込まれてもよい。更に、技術は、１つ以上の回路又は論理素子で完全に実現されてもよい。
【０４３８】
本開示の技術は、無線ハンドセット、集積回路（integrated  circuit，IC）、又はＩＣセット（例えば、チップセット）を含む複数のデバイス又は装置で実現されてもよい。開示される技術を実行するように構成されるデバイスの機能を強調するために、本開示では様々な構成要素、モジュール、又はユニットが説明されており、これらは、必ずしも異なるハードウェア・ユニットによって実現される必要はない。実際には、上述したように、種々のユニットは、適切なソフトウェア及び／又はファームウェアと共にコーデック・ハードウェア・ユニット内で結合されてもよいし、又は一組の相互運用可能なハードウェア・ユニットによって提供されてもよい。ハードウェア・ユニットは、上述の１つ以上のプロセッサを含む。
【国際調査報告】
2021536710.tif 000068
2021536710.tif 000069
2021536710.tif 000070
2021536710.tif 000071
2021536710.tif 000072
2021536710.tif 000073
2021536710.tif 000074
2021536710.tif 000075
2021536710.tif 000076
2021536710.tif 000077
2021536710.tif 000078
2021536710.tif 000079
2021536710.tif 000080
2021536710.tif 000081