(57)【要約】  復号方法が提供される。方法は、シンタックス要素を取得するためにビットストリームを構文解析することであって、ここで、シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを含むこと(s151)と、現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることをシンタックス要素に基づいて決定すること(s152)であって、ここで、第1のリストがブロックベースの候補動き情報リストであり、第2のリストがサブブロックベースの候補動き情報リストであることと、インデックスに基づいて第1のリストまたは第2のリストから最適動き情報を決定すること(s153)と、最適動き情報に基づいて現在ブロックを予測すること(s154)とを含む。この方法では、ブロック(BLOCK)ベースの候補動き情報リストおよびサブブロック(SUB-BLOCK)ベースの候補動き情報リストが互いに区別される。このことは、最適候補動き情報の伝送コストを効果的に低減する。
2021530165.tif 000002
【特許請求の範囲】
【請求項１】
復号方法であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストの構成モードを取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記候補動き情報リストの前記構成モードが、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードである、ステップと、
前記構成モードで前記候補動き情報リストを構成するステップと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項２】
現在ブロックの最適候補動き情報を備える候補動き情報リストの構成モードを取得する前記ステップが、
前記候補動き情報リストを決定するために使用される識別子を取得するステップを備え、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記ブロックベースの候補動き情報リストを構成する前記モードであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記サブブロックベースの候補動き情報リストを構成する前記モードである、
請求項1に記載の方法。
【請求項３】
前記サブブロックベースの候補動き情報リストが、
affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、
請求項1または2に記載の方法。
【請求項４】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項1または2に記載の方法。
【請求項５】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項1から4のいずれか一項に記載の方法。
【請求項６】
復号方法であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、ステップと、
前記識別子に基づいて前記候補動き情報リストを構成するステップであって、前記識別子が第1の特徴値であるとき、前記候補動き情報リストがブロックベースの候補動き情報リストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストがサブブロックベースの候補動き情報リストである、ステップと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項７】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項5に記載の方法。
【請求項８】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項6または7に記載の方法。
【請求項９】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項6から8のいずれか一項に記載の方法。
【請求項１０】
復号方法であって、
現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、前記現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、ステップと、
前記識別子に基づいて前記候補動き情報リストを構成するステップであって、前記識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または前記識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成する、ステップと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項１１】
前記現在ブロックの前記サイズが前記事前設定済みのサンプル数量を満たさない場合、前記ブロックベースの候補動き情報リストを構成し、前記候補動き情報リストの中の前記最適候補動き情報の前記インデックスを取得するステップであって、前記現在ブロックに対して使用される前記インター予測モードが前記マージモードである、ステップと、
前記取得されたインデックスに基づいて、前記構成された候補動き情報リストから前記最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
をさらに備える、請求項10に記載の方法。
【請求項１２】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項10または11に記載の方法。
【請求項１３】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項10から12のいずれか一項に記載の方法。
【請求項１４】
現在ブロックのサイズが事前設定済みのサンプル数量を満たすことが、前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上であることを備える、請求項10から13のいずれか一項に記載の方法。
【請求項１５】
復号装置であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストの構成モードを取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記候補動き情報リストの前記構成モードが、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードである、取得モジュールと、
前記構成モードで前記候補動き情報リストを構成するように構成された、構成モジュールと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項１６】
前記取得モジュールが、
前記候補動き情報リストを決定するために使用される識別子を取得するように特に構成され、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記ブロックベースの候補動き情報リストを構成する前記モードであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記サブブロックベースの候補動き情報リストを構成する前記モードである、
請求項15に記載の装置。
【請求項１７】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項15または16に記載の装置。
【請求項１８】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項15から17のいずれか一項に記載の装置。
【請求項１９】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項15から18のいずれか一項に記載の装置。
【請求項２０】
復号装置であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、取得モジュールと、
前記識別子に基づいて前記候補動き情報リストを構成するように構成された、構成モジュールであって、前記識別子が第1の特徴値であるとき、前記候補動き情報リストがブロックベースの候補動き情報リストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストがサブブロックベースの候補動き情報リストである、構成モジュールと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項２１】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項20に記載の装置。
【請求項２２】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項20または21に記載の装置。
【請求項２３】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項20から22のいずれか一項に記載の装置。
【請求項２４】
復号装置であって、
現在ブロックのサイズが事前設定済みのサンプル数量を満たすとき、前記現在ブロックの最適候補動き情報を備える候補動き情報リストの識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、取得モジュールと、
前記識別子に基づいて前記候補動き情報リストを構成するように構成された、構成モジュールであって、前記識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または前記識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成する、構成モジュールと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項２５】
前記構成モジュールが、
前記現在ブロックの前記サイズが前記事前設定済みのサンプル数量を満たさないとき、前記ブロックベースの候補動き情報リストを構成するようにさらに特に構成され、前記現在ブロックに対して使用される前記インター予測モードが前記マージモードである、
請求項24に記載の装置。
【請求項２６】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項24または25に記載の装置。
【請求項２７】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項24から26のいずれか一項に記載の装置。
【請求項２８】
現在ブロックのサイズが事前設定済みのサンプル数量を満たすことが、前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上であることを備える、請求項24から27のいずれか一項に記載の装置。
【請求項２９】
復号方法であって、
シンタックス要素を取得するためにビットストリームを構文解析するステップであって、前記シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを備える、ステップと、
前記現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることを前記シンタックス要素に基づいて決定するステップであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストである、ステップと、
前記インデックスに基づいて前記第1のリストまたは前記第2のリストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項３０】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項29に記載の方法。
【請求項３１】
前記サブブロックベースの候補動き情報リストが、ATMVPのサブブロックベースのマージモードのみで構成される候補動き情報リストを備える、請求項29に記載の方法。
【請求項３２】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項29から31のいずれか一項に記載の方法。
【請求項３３】
前記第1のリストの中の候補動き情報が、前記現在ブロックの左上で空間的に隣接するブロックの動き情報、前記現在ブロックの左に空間的に隣接するブロックの動き情報、前記現在ブロックの左下で空間的に隣接するブロックの動き情報、前記現在ブロックの右上で空間的に隣接するブロックの動き情報、または前記現在ブロックの右に空間的に隣接するブロックの動き情報のうちの1つまたは複数を備える、請求項29から31のいずれか一項に記載の方法。
【請求項３４】
前記シンタックス要素がリストインデックスを備え、前記現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることを前記シンタックス要素に基づいて決定する前記ステップが、
候補動き情報リストインデックスを取得するステップを備え、前記リストインデックスが第1の特徴値であるとき、そのことは前記現在ブロックに対して前記第1のリストを構成すべきであることを示し、または前記リストインデックスが第2の特徴値であるとき、そのことは前記現在ブロックに対して前記第2のリストを構成すべきであることを示す、
請求項29から33のいずれか一項に記載の方法。
【請求項３５】
前記シンタックス要素が、前記現在ブロックに対して前記ブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報、または前記現在ブロックに対して前記サブブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報をさらに備える、請求項29から33のいずれか一項に記載の方法。
【請求項３６】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項29から35のいずれか一項に記載の方法。
【請求項３７】
復号装置であって、
シンタックス要素を取得するためにビットストリームを構文解析するように構成された、取得モジュールであって、前記シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを備える、取得モジュールと、
前記現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることを前記シンタックス要素に基づいて決定するように構成された、構成モジュールであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストである、構成モジュールと、
前記インデックスに基づいて前記第1のリストまたは前記第2のリストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項３８】
前記サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを備える、請求項37に記載の装置。
【請求項３９】
前記サブブロックベースの候補動き情報リストが、ATMVPのサブブロックベースのマージモードのみで構成される候補動き情報リストを備える、請求項37に記載の装置。
【請求項４０】
前記ブロックベースの候補動き情報リストが、HEVC規格または前記HEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを備える、請求項37から39のいずれか一項に記載の装置。
【請求項４１】
前記第1のリストの中の候補動き情報が、前記現在ブロックの左上で空間的に隣接するブロックの動き情報、前記現在ブロックの左に空間的に隣接するブロックの動き情報、前記現在ブロックの左下で空間的に隣接するブロックの動き情報、前記現在ブロックの右上で空間的に隣接するブロックの動き情報、または前記現在ブロックの右に空間的に隣接するブロックの動き情報のうちの1つまたは複数を備える、請求項37から40のいずれか一項に記載の装置。
【請求項４２】
前記シンタックス要素がリストインデックスを備え、前記構成モジュールが、
候補動き情報リストインデックスを取得するように特に構成され、前記リストインデックスが第1の特徴値であるとき、そのことは前記現在ブロックに対して前記第1のリストを構成すべきであることを示し、または前記リストインデックスが第2の特徴値であるとき、そのことは前記現在ブロックに対して前記第2のリストを構成すべきであることを示す、
請求項37から41のいずれか一項に記載の装置。
【請求項４３】
前記シンタックス要素が、前記現在ブロックに対して前記ブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報、または前記現在ブロックに対して前記サブブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報をさらに備える、請求項37から41のいずれか一項に記載の装置。
【請求項４４】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項37から43のいずれか一項に記載の装置。
【請求項４５】
符号化方法であって、
第1のリストを構成するステップであって、前記第1のリストがブロックベースの候補動き情報リストである、ステップと、
第2のリストを構成するステップであって、前記第2のリストがサブブロックベースの候補動き情報リストである、ステップと、
前記第1のリストおよび前記第2のリストから最適候補動き情報を決定するステップと、
前記最適動き情報に基づいて現在ブロックを予測するステップと
を備える方法。
【請求項４６】
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストが前記第1のリストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストが前記第2のリストである、ステップと、
前記識別子および前記インデックスをビットストリームに符号化するステップと
をさらに備える、請求項45に記載の方法。
【請求項４７】
符号化方法であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストがブロックベースの候補動き情報リストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストがサブブロックベースの候補動き情報リストである、ステップと、
前記識別子および前記インデックスをビットストリームに符号化するステップと
を備える方法。
【請求項４８】
符号化方法であって、
現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、
第1のリストおよび第2のリストを構成するステップであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストであり、前記現在ブロックに対して使用されるインター予測モードがマージモードである、ステップと、
前記第1のリストおよび前記第2のリストから最適候補動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項４９】
前記現在ブロックの前記サイズが前記事前設定済みのサンプル数量を満たす場合、
前記第1のリストを構成するステップであって、前記第1のリストが前記ブロックベースの候補動き情報リストであり、前記現在ブロックに対して使用される前記インター予測モードが前記マージモードである、ステップと、
前記第1のリストから前記最適候補動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
をさらに備える、請求項48に記載の方法。
【請求項５０】
符号化装置であって、
第1のリストおよび第2のリストを構成するように構成された、構成モジュールであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストである、構成モジュールと、
前記第1の候補動き情報リストおよび前記第2の候補動き情報リストから最適候補動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項５１】
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストが前記第1のリストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストが前記第2のリストである、取得モジュールと、
前記識別子および前記インデックスをビットストリームに符号化するように構成された、符号化モジュールと
をさらに備える、請求項50に記載の装置。
【請求項５２】
符号化装置であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストがブロックベースの候補動き情報リストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストがサブブロックベースの候補動き情報リストである、取得モジュールと、
前記識別子および前記インデックスをビットストリームに符号化するように構成された、符号化モジュールと
を備える装置。
【請求項５３】
符号化装置であって、
現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、第1のリストおよび第2のリストを構成するように構成された、構成モジュールであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストであり、前記現在ブロックに対して使用されるインター予測モードがマージモードである、構成モジュールと、
前記第1のリストおよび前記第2のリストから最適候補動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項５４】
前記構成モジュールが、
前記現在ブロックの前記サイズが前記事前設定済みのサンプル数量を満たす場合、前記第1のリストを構成するようにさらに構成され、前記第1のリストが前記ブロックベースの候補動き情報リストであり、前記現在ブロックに対して使用される前記インター予測モードが前記マージモードである、
請求項53に記載の装置。
【請求項５５】
ビデオコーディングデバイスであって、前記デバイスが、互いに結合された不揮発性メモリおよびプロセッサを備え、前記プロセッサが、請求項1から14、29から36、または45から49のいずれか一項に記載の方法を実行するために前記メモリの中に記憶されたプログラムコードを呼び出す、ビデオコーディングデバイス。
【請求項５６】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体がコンピュータプログラムを記憶し、前記コンピュータプログラムがプロセッサ上で動作するとき、請求項1から14、29から36、または45から49のいずれか一項に記載の方法が実施される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ビデオコーディング技術の分野に関し、詳細には、動きベクトル予測方法および装置、ならびに対応するエンコーダおよびデコーダに関する。
【背景技術】
【０００２】
情報技術の発展とともに、高精細テレビジョン、ウェブ会議、IPTV、および3Dテレビジョンなどのビデオサービスが急速に発展する。ビデオ信号は、直感性および高効率などの利点によって、人の日常生活の中で情報を取得する最も重要な方法になる。ビデオ信号は大量のデータを含み、したがって、大量の伝送帯域幅および記憶空間を占有する。ビデオ信号を効果的に伝送および記憶するために、ビデオ信号は圧縮および符号化される必要がある。ビデオ圧縮技術は、ビデオ用途の分野ではますます不可欠な主要技術になる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明の実施形態は、ビデオエンコーダ、ビデオデコーダ、および対応する方法を開示する。特定の実装形態は、本出願における特許請求の範囲、本明細書、および添付図面の説明に基づいて明らかである。
【０００４】
第1の態様によれば、本発明は、復号方法または動きベクトル予測方法に関する。方法は、現在コーディングブロックの最適候補動き情報を含む候補動き情報リストの構成モードを取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得することであって、ここで、候補動き情報リストの構成モードが、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードであることと、構成モードで候補動き情報リストを構成することと、インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定することと、最適動き情報に基づいて現在コーディングブロックを予測することとを含む。
【０００５】
現在の技術では、現在コーディングブロックが、もっと小さいサブブロックに区分され得ることを理解されたい。たとえば、現在コーディングブロックは、4分木(quad-tree、QT)区分、2分木(binary-tree、BT)区分、もしくは3分木(triple-tree、TT)、またはそれらの任意の組合せを使用して、繰返しを通じて区分され得る。言い換えれば、1つのコーディングブロックが、もっと小さいサブブロックに分割され得る。
【０００６】
この方法では、現在ブロック(場合によっては、言語習慣の差異に起因して、現在コーディングブロックは、現在ピクチャブロック、現在の符号化ブロック、現在の復号ブロック、現在の符号化されるべきブロック、現在の復号されるべきブロックなどを指すことがあり、その名称は本発明においていかなる限定もなすべきではない)の候補動き情報リストが分類される。候補動き情報は、ブロック(BLOCK)ベースの予測を通じて取得される候補動き情報、およびサブブロック(SUB-BLOCK)ベースの予測を通じて取得される候補動き情報に分類される。ブロックベースの候補動き情報リストおよびサブブロックベースの候補動き情報リストが構成される。このことは、最適候補動き情報の伝送コストを効果的に低減することができる。
【０００７】
第1の態様によれば、可能な実施プロセスでは、現在ブロックの最適候補動き情報を含む候補動き情報リストの構成モードを取得することは、候補動き情報リストを決定するために使用される識別子を取得することを含み、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストの構成モードは、ブロックベースの候補動き情報リストを構成するモードであり、または識別子が第2の特徴値であるとき、候補動き情報リストの構成モードは、サブブロックベースの候補動き情報リストを構成するモードである。第1の特徴値および第2の特徴値が、2つの値を表すために使用される名称であり、いかなる限定もなさないことを理解されたい。
【０００８】
随意に、第1の特徴値は0または1であってよく、第2の特徴値は1または0であってよい。随意に、識別子は、たとえば、list-idxとして表されてよい。ただし、このことは限定されない。随意に、ブロックベースのモードで構成される候補動き情報リストは、list0(またはlist1)として表されてよく、サブブロックベースのモードで構成される候補動き情報リストは、list1(またはlist0)として表されてよい。特徴値の特定の値、または識別子およびリストの特定の表現シンボルが限定されず、本発明で網羅的に説明されるとは限らないことを理解されたい。
【０００９】
第1の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【００１０】
第1の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストの中の候補動き情報は、現在ブロックの空間的に隣接するコード化ブロックの動き情報または現在ブロックの時間的に隣接するコード化ブロックの動き情報のうちの少なくとも1つを含む。候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得される動き情報であってよい。
【００１１】
第1の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００１２】
第1の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００１３】
第1の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００１４】
第1の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００１５】
第1の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【００１６】
第1の態様によれば、可能な実施プロセスでは、最適動き情報がブロックベースの候補動き情報リストの中の動き情報である場合、現在ブロックは、最適動き情報に基づいて予測される。
【００１７】
第1の態様によれば、可能な実施プロセスでは、最適動き情報がサブブロックベースの候補動き情報リストの中の動き情報である場合、少なくとも以下の3つの事例が含まれる。
【００１８】
事例1:S23において決定された最適動き情報がaffineモード(少なくともaffine model mergeモードまたはcomplex mergeモードを含む)で取得される場合、現在ブロックのサブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックのサブブロックが予測される。現在ブロックは、複数のサブブロックを含んでよく、現在ブロックのサブブロックは、複数のサブブロックのうちのいずれか1つであってよい。可能な実施プロセスでは、現在ブロックの各サブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックの各サブブロックが、それに対応して予測される。
【００１９】
事例2:S23において決定された最適動き情報がATMVPモードで取得される場合、現在ブロックのサブブロックは、最適動き情報に基づいて予測される。可能な実施プロセスでは、最適候補動き情報は、動き情報の組合せであってよく、現在ブロックの各サブブロックに対応する動き情報を含み、現在ブロックの各サブブロックが、それに対応して予測される。
【００２０】
事例3:S23において決定された最適動き情報が表示を通じてATMVPモードで取得される場合、最適動き情報は、対応する表示に基づいて取得され、現在ブロックのサブブロックが、最適動き情報に基づいて予測される。可能な実施プロセスでは、最適候補動き情報は、表示情報に基づいて取得され得る。現在ブロックの各サブブロックに対応する動き情報は、表示情報に基づいてATMVPモードで取得され得、現在ブロックの各サブブロックが、それに対応して予測される。
【００２１】
第2の態様によれば、本発明は、復号方法または動きベクトル予測方法に関する。方法は、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得することであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであることと、識別子に基づいて候補動き情報リストを構成することであって、ここで、識別子が第1の特徴値であるとき、候補動き情報リストがブロックベースの候補動き情報リストであり、または識別子が第2の特徴値であるとき、候補動き情報リストがサブブロックベースの候補動き情報リストであることと、インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することとを含む。
【００２２】
第2の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【００２３】
第2の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストの中の候補動き情報は、現在ブロックの空間的に隣接するコード化ブロックの動き情報または現在ブロックの時間的に隣接するコード化ブロックの動き情報のうちの少なくとも1つを含む。候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得される動き情報であってよい。
【００２４】
第2の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００２５】
第2の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００２６】
第2の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００２７】
第2の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００２８】
第2の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【００２９】
第3の態様によれば、本発明は、動きベクトル予測方法に関する。方法は、現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得することであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであることと、識別子に基づいて候補動き情報リストを構成することであって、ここで、識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成することと、インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することとを含む。
【００３０】
第3の態様によれば、可能な実施プロセスでは、現在ブロックのサイズが事前設定済みのサンプル数量を満たさない場合、ブロックベースの候補動き情報リストを構成し、候補動き情報リストの中の最適候補動き情報のインデックスを取得することであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであることと、取得されたインデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することと。
【００３１】
この解決策の発明的概念は、次の通りである。すなわち、現在ブロックが事前設定条件を満たすかどうかを最初に決定すること、および現在ブロックが事前設定条件を満たす場合、現在ブロックの最適候補動き情報を含む候補動き情報リストを示すことができる識別子を取得し、識別子に基づいてブロックベースの候補動き情報リストまたはサブブロックベースの候補動き情報リストを構成すること、あるいは現在ブロックが事前設定条件を満たさない場合、ブロックベースの候補動き情報リストのみを構成し、取得された動き情報インデックスに基づいて、構成された候補動き情報リストから最適候補動き情報を決定すること、および現在ブロックを予測することである。
【００３２】
第3の態様によれば、可能な実施プロセスでは、現在ブロックが事前設定条件を満たすかどうかは、限定はしないが、現在ブロックのサイズが事前設定済みのサンプル数量を満たすかどうかを含む。
【００３３】
第3の態様によれば、可能な実施プロセスでは、現在ブロックのサイズが事前設定済みのサンプル数量を満たすことは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上であることを含む。
【００３４】
随意に、現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの幅がしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの幅がしきい値未満であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの高さがしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの高さがしきい値未満であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの幅がしきい値以上であるか、または現在ブロックの高さが別のしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの幅がしきい値未満であり、かつ現在ブロックの高さが別のしきい値未満であることであり、あるいは現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの幅がしきい値以上であり、かつ現在ブロックの高さが別のしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの幅がしきい値未満であるか、または現在ブロックの高さが別のしきい値未満であることである。しきい値は4、8、または16であってよいが、このことは限定されない。この論理が一例にすぎず、いかなる限定もなさないことを理解されたい。加えて、幅と高さとの間の関係もまた、本発明において限定されない。
【００３５】
第3の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【００３６】
第3の態様によれば、可能な実施プロセスでは、取得されたブロックベースの候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得された動き情報であってよい。
【００３７】
第3の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００３８】
第3の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００３９】
第3の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００４０】
第3の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００４１】
上記の方法は、動きベクトル予測装置またはデバイスによって実行され得る。随意に、本発明は、それに対応して、第1の態様、第2の態様、および第3の態様に従って、第4の態様、第5の態様、および第6の態様において装置を提供する。
【００４２】
第4の態様によれば、本発明は、復号装置または動きベクトル予測装置に関する。装置は、現在ブロックの最適候補動き情報を含む候補動き情報リストの構成モードを取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、ここで、候補動き情報リストの構成モードが、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードである、取得モジュールと、構成モードで候補動き情報リストを構成するように構成された、構成モジュールと、インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【００４３】
第4の態様によれば、可能な実施プロセスでは、取得モジュールは、候補動き情報リストを決定するために使用される識別子を取得するように特に構成され、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストの構成モードは、ブロックベースの候補動き情報リストを構成するモードであり、または識別子が第2の特徴値であるとき、候補動き情報リストの構成モードは、サブブロックベースの候補動き情報リストを構成するモードである。
【００４４】
随意に、第1の特徴値は0または1であってよく、第2の特徴値は1または0であってよい。随意に、識別子は、たとえば、list-idxとして表されてよい。ただし、このことは限定されない。随意に、ブロックベースのモードで構成される候補動き情報リストは、list0(またはlist1)として表されてよく、サブブロックベースのモードで構成される候補動き情報リストは、list1(またはlist0)として表されてよい。特徴値の特定の値、または識別子およびリストの特定の表現シンボルが限定されず、本発明で網羅的に説明されるとは限らないことを理解されたい。
【００４５】
第4の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【００４６】
第4の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストの中の候補動き情報は、現在ブロックの空間的に隣接するコード化ブロックの動き情報または現在ブロックの時間的に隣接するコード化ブロックの動き情報のうちの少なくとも1つを含む。候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得される動き情報であってよい。
【００４７】
第4の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００４８】
第4の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００４９】
第4の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００５０】
第4の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００５１】
第4の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【００５２】
第5の態様によれば、本発明は、復号装置または動きベクトル予測装置に関する。装置は、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードである、取得モジュールと、識別子に基づいて候補動き情報リストを構成するように構成された、構成モジュールであって、ここで、識別子が第1の特徴値であるとき、候補動き情報リストがブロックベースの候補動き情報リストであり、または識別子が第2の特徴値であるとき、候補動き情報リストがサブブロックベースの候補動き情報リストである、構成モジュールと、インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【００５３】
第5の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【００５４】
第5の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストの中の候補動き情報は、現在ブロックの空間的に隣接するコード化ブロックの動き情報または現在ブロックの時間的に隣接するコード化ブロックの動き情報のうちの少なくとも1つを含む。候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得される動き情報であってよい。
【００５５】
第5の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００５６】
第5の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００５７】
第5の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００５８】
第5の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００５９】
第5の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【００６０】
第6の態様によれば、本発明は、復号装置または動きベクトル予測装置に関する。装置は、現在ブロックのサイズが事前設定済みのサンプル数量を満たすとき、現在ブロックの最適候補動き情報を含む候補動き情報リストの識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードである、取得モジュールと、識別子に基づいて候補動き情報リストを構成するように構成された、構成モジュールであって、識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成する、構成モジュールと、インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【００６１】
第6の態様によれば、可能な実施プロセスでは、構成モジュールは、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないとき、ブロックベースの候補動き情報リストを構成するようにさらに特に構成され、ここで、現在ブロックに対して使用されるインター予測モードはマージモードである。
【００６２】
第6の態様によれば、可能な実施プロセスでは、現在ブロックが事前設定条件を満たすかどうかは、限定はしないが、現在ブロックのサイズが事前設定済みのサンプル数量を満たすかどうかを含む。
【００６３】
第6の態様によれば、可能な実施プロセスでは、現在ブロックのサイズが事前設定済みのサンプル数量を満たすことは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上であることを含む。
【００６４】
随意に、現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの幅がしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの幅がしきい値未満であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの高さがしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの高さがしきい値未満であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの幅がしきい値以上であるか、または現在ブロックの高さが別のしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの幅がしきい値未満であり、かつ現在ブロックの高さが別のしきい値未満であることであり、あるいは現在ブロックのサイズが事前設定済みのサンプル数量を満たすときとは、現在ブロックの幅がしきい値以上であり、かつ現在ブロックの高さが別のしきい値以上であることであり、現在ブロックのサイズが事前設定済みのサンプル数量を満たさないこととは、現在ブロックの幅がしきい値未満であるか、または現在ブロックの高さが別のしきい値未満であることである。しきい値は4、8、または16であってよいが、このことは限定されない。この論理が一例にすぎず、いかなる限定もなさないことを理解されたい。加えて、幅と高さとの間の関係もまた、本発明において限定されない。
【００６５】
第6の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【００６６】
第6の態様によれば、可能な実施プロセスでは、取得されたブロックベースの候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得された動き情報であってよい。
【００６７】
第6の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００６８】
第6の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００６９】
第6の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００７０】
第6の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００７１】
第7の態様によれば、本発明は、復号方法または動きベクトル予測方法に関する。方法は、シンタックス要素を取得するためにビットストリームを構文解析することであって、ここで、シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを含むことと、現在ピクチャブロックに対して第1のリストまたは第2のリストを構成すべきであることをシンタックス要素に基づいて決定することであって、ここで、第1のリストがブロックベースの候補動き情報リストであり、第2のリストがサブブロックベースの候補動き情報リストであることと、インデックスに基づいて第1のリストまたは第2のリストから最適動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することとを含む。
【００７２】
第7の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、(いくつかのシナリオではgeneral_mergeまたはregular_mergeとしても表現され得る)従来のマージモードで構成された候補動き情報リストである。
【００７３】
第7の態様によれば、可能な実施プロセスでは、従来のマージモードは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたモードを含む。詳細には、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定された従来のマージモードで構成される候補動き情報リストを含む。
【００７４】
第7の態様によれば、可能な実施プロセスでは、第1のリストの中の候補動き情報は、現在ピクチャブロックの左上で空間的に隣接するブロックの動き情報、現在ピクチャブロックの左に空間的に隣接するブロックの動き情報、現在ピクチャブロックの左下で空間的に隣接するブロックの動き情報、現在ピクチャブロックの右上で空間的に隣接するブロックの動き情報、または現在ピクチャブロックの右に空間的に隣接するブロックの動き情報のうちの1つまたは複数を含む。
【００７５】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、サブブロックベースのマージ(merge_subblock)モードで構成された候補動き情報リストである。
【００７６】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースのマージモードは、affine model merge、complex merge、またはATMVPのうちの少なくとも1つを含む。詳細には、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。
【００７７】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、ATMVPのサブブロックベースのマージモードのみで構成される候補動き情報リストを含む。
【００７８】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【００７９】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【００８０】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【００８１】
第7の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【００８２】
第7の態様によれば、可能な実施プロセスでは、シンタックス要素はリストインデックスを含み、現在ピクチャブロックに対して第1のリストまたは第2のリストを構成すべきであることをシンタックス要素に基づいて決定することは、候補動き情報リストインデックスを取得することを含み、ここで、リストインデックスが第1の特徴値であるとき、そのことは現在ピクチャブロックに対して第1のリストを構成すべきであることを示し、リストインデックスが第2の特徴値であるとき、そのことは現在ピクチャブロックに対して第2のリストを構成すべきであることを示す。
【００８３】
第7の態様によれば、可能な実施プロセスでは、シンタックス要素は、現在ブロックに対して使用される従来のマージモードを示すために使用される表示情報、または現在ブロックに対して使用されるサブブロックベースのマージモードを示すために使用される表示情報をさらに含む。
【００８４】
第7の態様によれば、可能な実施プロセスでは、シンタックス要素は、現在ブロックに対してブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報、または現在ブロックに対してサブブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報をさらに含む。
【００８５】
第7の態様によれば、可能な実施プロセスでは、第1の特徴値は0または1であってよく、第2の特徴値は1または0であってよい。随意に、識別子は、たとえば、list-idxとして表されてよい。ただし、このことは限定されない。随意に、ブロックベースのモードで構成される候補動き情報リストは、list0(またはlist1)として表されてよく、サブブロックベースのモードで構成される候補動き情報リストは、list1(またはlist0)として表されてよい。特徴値の特定の値、または識別子およびリストの特定の表現シンボルが限定されず、本発明で網羅的に説明されるとは限らないことを理解されたい。
【００８６】
第7の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【００８７】
第7の態様によれば、可能な実施プロセスでは、最適動き情報がブロックベースの候補動き情報リストの中の動き情報である場合、現在ブロックは、最適動き情報に基づいて予測される。
【００８８】
第7の態様によれば、可能な実施プロセスでは、最適動き情報がサブブロックベースの候補動き情報リストの中の動き情報である場合、少なくとも以下の3つの事例が含まれる。
【００８９】
事例1:S23において決定された最適動き情報がaffineモード(少なくともaffine model mergeモードまたはcomplex mergeモードを含む)で取得される場合、現在ブロックのサブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックのサブブロックが予測される。現在ブロックは、複数のサブブロックを含んでよく、現在ブロックのサブブロックは、複数のサブブロックのうちのいずれか1つであってよい。可能な実施プロセスでは、現在ブロックの各サブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックの各サブブロックが、それに対応して予測される。
【００９０】
事例2:S23において決定された最適動き情報がATMVPモードで取得される場合、現在ブロックのサブブロックは、最適動き情報に基づいて予測される。可能な実施プロセスでは、最適候補動き情報は、動き情報の組合せであってよく、現在ブロックの各サブブロックに対応する動き情報を含み、現在ブロックの各サブブロックが、それに対応して予測される。
【００９１】
事例3:S23において決定された最適動き情報が表示を通じてATMVPモードで取得される場合、最適動き情報は、対応する表示に基づいて取得され、現在ブロックのサブブロックが、最適動き情報に基づいて予測される。可能な実施プロセスでは、最適候補動き情報は、表示情報に基づいて取得され得る。現在ブロックの各サブブロックに対応する動き情報は、表示情報に基づいてATMVPモードで取得され得、現在ブロックの各サブブロックが、それに対応して予測される。
【００９２】
第8の態様によれば、本発明は、復号装置または動きベクトル予測装置に関する。装置は、シンタックス要素を取得するためにビットストリームを構文解析するように構成された、取得モジュールであって、ここで、シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを含む、取得モジュールと、現在ピクチャブロックに対して第1のリストまたは第2のリストを構成すべきであることをシンタックス要素に基づいて決定するように構成された、構成モジュールであって、ここで、第1のリストがブロックベースの候補動き情報リストであり、第2のリストがサブブロックベースの候補動き情報リストである、構成モジュールと、インデックスに基づいて第1のリストまたは第2のリストから最適動き情報を決定するように構成された、決定モジュールと、最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【００９３】
第8の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、(いくつかのシナリオではgeneral_mergeまたはregular_mergeとしても表現され得る)従来のマージモードで構成された候補動き情報リストである。
【００９４】
第8の態様によれば、可能な実施プロセスでは、従来のマージモードは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたモードを含む。詳細には、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定された従来のマージモードで構成される候補動き情報リストを含む。
【００９５】
第8の態様によれば、可能な実施プロセスでは、第1のリストの中の候補動き情報は、現在ピクチャブロックの左上で空間的に隣接するブロックの動き情報、現在ピクチャブロックの左に空間的に隣接するブロックの動き情報、現在ピクチャブロックの左下で空間的に隣接するブロックの動き情報、現在ピクチャブロックの右上で空間的に隣接するブロックの動き情報、または現在ピクチャブロックの右に空間的に隣接するブロックの動き情報のうちの1つまたは複数を含む。
【００９６】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、サブブロックベースのマージ(merge_subblock)モードで構成された候補動き情報リストである。
【００９７】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースのマージモードは、affine model merge、complex merge、またはATMVPのうちの少なくとも1つを含む。詳細には、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。
【００９８】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、ATMVPのサブブロックベースのマージモードのみで構成される候補動き情報リストを含む。
【００９９】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【０１００】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【０１０１】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【０１０２】
第8の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【０１０３】
第8の態様によれば、可能な実施プロセスでは、シンタックス要素はリストインデックスを含み、構成モジュールは、候補動き情報リストインデックスを取得するように特に構成され、ここで、リストインデックスが第1の特徴値であるとき、そのことは現在ピクチャブロックに対して第1のリストを構成すべきであることを示し、またはリストインデックスが第2の特徴値であるとき、そのことは現在ピクチャブロックに対して第2のリストを構成すべきであることを示す。
【０１０４】
第8の態様によれば、可能な実施プロセスでは、シンタックス要素は、現在ブロックに対して使用される従来のマージモードを示すために使用される表示情報、または現在ブロックに対して使用されるサブブロックベースのマージモードを示すために使用される表示情報をさらに含む。
【０１０５】
第8の態様によれば、可能な実施プロセスでは、シンタックス要素は、現在ブロックに対してブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報、または現在ブロックに対してサブブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報をさらに含む。
【０１０６】
第8の態様によれば、可能な実施プロセスでは、第1の特徴値は0または1であってよく、第2の特徴値は1または0であってよい。随意に、識別子は、たとえば、list-idxとして表されてよい。ただし、このことは限定されない。随意に、ブロックベースのモードで構成される候補動き情報リストは、list0(またはlist1)として表されてよく、サブブロックベースのモードで構成される候補動き情報リストは、list1(またはlist0)として表されてよい。特徴値の特定の値、または識別子およびリストの特定の表現シンボルが限定されず、本発明で網羅的に説明されるとは限らないことを理解されたい。
【０１０７】
第8の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【０１０８】
第9の態様によれば、本発明は、符号化方法または動きベクトル予測方法に関する。方法は、第1のリストを構成することであって、ここで、第1のリストがブロックベースの候補動き情報リストであることと、第2のリストを構成することであって、ここで、第2のリストがサブブロックベースの候補動き情報リストであることと、第1の候補動き情報リストおよび第2の候補動き情報リストから最適候補動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することとを含む。
【０１０９】
第9の態様によれば、可能な実施プロセスでは、方法は、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得することであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストが第1のリストであり、または識別子が第2の特徴値であるとき、候補動き情報リストが第2のリストであることと、識別子およびインデックスをビットストリームに符号化することとをさらに含む。
【０１１０】
第10の態様によれば、本発明は、符号化方法または動きベクトル予測方法に関する。方法は、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得することであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストがブロックベースの候補動き情報リストであり、または識別子が第2の特徴値であるとき、候補動き情報リストがサブブロックベースの候補動き情報リストであることと、識別子およびインデックスをビットストリームに符号化することとを含む。
【０１１１】
第11の態様によれば、本発明は、符号化方法または動きベクトル予測方法に関する。方法は、現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、第1のリストおよび第2のリストを構成することであって、ここで、第1のリストがブロックベースの候補動き情報リストであり、第2のリストがサブブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードがマージモードであることと、第1のリストおよび第2のリストから最適候補動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することとを含む。
【０１１２】
第11の態様によれば、可能な実施プロセスでは、方法は、現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、第1のリストを構成することであって、ここで、第1のリストがブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードがマージモードであることと、第1のリストから最適候補動き情報を決定することと、最適動き情報に基づいて現在ブロックを予測することとをさらに含む。
【０１１３】
第12の態様によれば、本発明は、符号化装置または動きベクトル予測装置に関する。装置は、第1のリストおよび第2のリストを構成するように構成された、構成モジュールであって、ここで、第1のリストがブロックベースの候補動き情報リストであり、第2のリストがサブブロックベースの候補動き情報リストである、構成モジュールと、第1の候補動き情報リストおよび第2の候補動き情報リストから最適候補動き情報を決定するように構成された、決定モジュールと、最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【０１１４】
第12の態様によれば、可能な実施プロセスでは、装置は、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストが第1のリストであり、または識別子が第2の特徴値であるとき、候補動き情報リストが第2のリストである、取得モジュールと、識別子およびインデックスをビットストリームに符号化するように構成された、符号化モジュールとをさらに含む。
【０１１５】
第13の態様によれば、本発明は、符号化装置または動きベクトル予測装置に関する。装置は、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、ここで、現在ブロックに対して使用されるインター予測モードがマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストがブロックベースの候補動き情報リストであり、または識別子が第2の特徴値であるとき、候補動き情報リストがサブブロックベースの候補動き情報リストである、取得モジュールと、識別子およびインデックスをビットストリームに符号化するように構成された、符号化モジュールとを含む。
【０１１６】
第14の態様によれば、本発明は、符号化装置または動きベクトル予測装置に関する。装置は、現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、第1のリストおよび第2のリストを構成するように構成された、構成モジュールであって、ここで、第1のリストがブロックベースの候補動き情報リストであり、第2のリストがサブブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードがマージモードである、構成モジュールと、第1のリストおよび第2のリストから最適候補動き情報を決定するように構成された、決定モジュールと、最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【０１１７】
第14の態様によれば、可能な実施プロセスでは、構成モジュールは、現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、第1のリストを構成するようにさらに構成され、ここで、第1のリストはブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードはマージモードである。
【０１１８】
第9の態様〜第14の態様(第9の態様、第10の態様、第11の態様、第12の態様、第13の態様、および第14の態様のうちのいずれか1つを含む)によれば、可能な実施プロセスでは、第1の特徴値は0または1であってよく、第2の特徴値は1または0であってよい。随意に、識別子は、たとえば、list-idxとして表されてよい。ただし、このことは限定されない。随意に、ブロックベースのモードで構成される候補動き情報リストは、list0(またはlist1)として表されてよく、サブブロックベースのモードで構成される候補動き情報リストは、list1(またはlist0)として表されてよい。特徴値の特定の値、または識別子およびリストの特定の表現シンボルが限定されず、本発明で網羅的に説明されるとは限らないことを理解されたい。
【０１１９】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定されたマージモードで構成される候補動き情報リストを含む。たとえば、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。いくつかの可能な構成モードについては、実施形態S11.1における関係する説明を参照されたい。
【０１２０】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、ブロックベースの候補動き情報リストの中の候補動き情報は、現在ブロックの空間的に隣接するコード化ブロックの動き情報または現在ブロックの時間的に隣接するコード化ブロックの動き情報のうちの少なくとも1つを含む。候補動き情報リストの中のすべての候補動き情報は、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、候補動き情報のうちのいくつかは、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかは、別の方式で取得される動き情報であってよい。
【０１２１】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成される候補動き情報リストを含む。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。このことは、本発明では詳細に列挙または説明されない。
【０１２２】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードで構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、以下のことに限定はしないが、最初にアフィンコード化ブロックを見つけること、アフィンコード化ブロックの制御点の動き情報を取得すること、アフィン変換モデルに従って現在コーディングブロックの左上頂点の動き情報および右上頂点の動き情報を導出すること、ならびに利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.1における関係する説明を参照されたい。
【０１２３】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、制御点ベースの複合マージモード(complex mergeモード)で構成され得る。現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、導出を通じて各制御点の動き情報を取得すること、非平行移動の(アフィンモデルベースの)動き情報を取得するために制御点の動き情報を合成すること、制御点の動き情報を合成することによって取得されたこれらのモデルを事前構成済みのシーケンスでトラバースすること、有効なモデルにおける候補動き情報の利用可能性をチェックするとともに反復された項目を除去すること、および反復された無資格の情報を除外して動き情報を候補動き情報リストの中に挿入することである。いくつかの可能な構成モードについては、実施形態S12.2における関係する説明を参照されたい。
【０１２４】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、サブブロックベースの候補動き情報リストは、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)モードで構成され得る。具体的に言えば、ATMVP候補動き情報が、事前設定された規則に従って候補動き情報リストの中に追加される。特定の実施方法は、たとえば、限定はしないが、最初にコロケート参照ピクチャ(Collocated reference picture)を決定すること、次いで、現在コーディングユニット(現在ブロック)を各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割すること、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報を取得すること、動き情報をスケーリングすること、動き情報を各現在コーディングサブユニットの動き情報に変換すること、および利用可能性をチェックするとともに反復された項目を除去した後、利用可能なロケーションブロックに対応する動き情報を候補動き情報リストの中に連続的に挿入することである。いくつかの可能な構成モードについては、実施形態S12.3における関係する説明を参照されたい。
【０１２５】
第9の態様〜第14の態様によれば、可能な実施プロセスでは、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【０１２６】
本発明による上記の可能な方法の他の特徴および実装形態が、本発明および様々な実装形態において提供される対応する装置の機能に依存し得ることを理解されたい。
【０１２７】
第15の態様によれば、本発明は、動きベクトル予測方法に関する。方法は、現在ブロックの最適候補動き情報のインデックス情報を取得することと、インデックス情報に基づいて候補動き情報リストを構成することであって、ここで、候補動き情報リストの中に含まれる動きベクトルを取得するモードが、インデックス情報のフィールドとともに変わることと、インデックス情報に基づいて候補動き情報リストの中の最適動きベクトルを決定することと、最適動きベクトルに基づいて現在ブロックを予測することとを含む。
【０１２８】
第15の態様によれば、可能な実施プロセスでは、インデックス情報が第1の特徴値であるとき、候補動き情報リストは、HEVCモードまたはnon-adjacentモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１２９】
第15の態様によれば、可能な実施プロセスでは、インデックス情報が第2の特徴値であるとき、候補動き情報リストは、AFFINEモード、ATMVPモード、STMVPモード、またはplanarモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１３０】
第15の態様によれば、可能な実施プロセスでは、インデックス情報が第3の特徴値であるとき、候補動き情報リストは、HEVCモード、non-adjacentモード、ATMVPモード、またはSTMVPモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１３１】
第15の態様によれば、可能な実施プロセスでは、インデックス情報が第4の特徴値であるとき、候補動き情報リストは、AFFINEまたはplanarモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１３２】
第15の態様によれば、可能な実施プロセスでは、現在ブロックの最適候補動き情報のインデックス情報を取得することは、現在ブロックが第1の事前設定条件を満たす場合、取得されたインデックス情報が、現在ブロックの候補動き情報リストを構成すべきであることを示すために使用されることを含む。
【０１３３】
第15の態様によれば、可能な実施プロセスでは、現在ブロックの最適候補動き情報のインデックス情報を取得することは、現在ブロックが第2の事前設定条件を満たす場合、取得されたインデックス情報が、現在サブブロックの候補動き情報リストを構成すべきであることを示すために使用されることを含み、ここで、現在サブブロックは、現在ブロックを分割することによって取得される。
【０１３４】
第15の態様によれば、可能な実施プロセスでは、現在ブロックの最適候補動き情報のインデックス情報を取得することは、現在ブロックが第1の事前設定条件を満たさない場合、最適候補動き情報を含む候補動き情報リストのインデックスを取得するためにビットストリームを構文解析することを含む。
【０１３５】
第16の態様によれば、本発明は、動きベクトル予測装置に関する。装置は、現在ブロックの最適候補動き情報のインデックス情報を取得するように構成された、取得モジュールと、インデックス情報に基づいて候補動き情報リストを構成するように構成された、構成モジュールであって、ここで、候補動き情報リストの中に含まれる動きベクトルを取得するモードが、インデックス情報のフィールドとともに変わる、構成モジュールと、インデックス情報に基づいて候補動き情報リストから最適動きベクトルを決定するように構成された、決定モジュールと、最適動きベクトルに基づいて現在ブロックを予測するように構成された、予測モジュールとを含む。
【０１３６】
第16の態様によれば、可能な実施プロセスでは、インデックス情報が第1の特徴値であるとき、候補動き情報リストは、HEVCモードまたはnon-adjacentモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１３７】
第16の態様によれば、可能な実施プロセスでは、インデックス情報が第2の特徴値であるとき、候補動き情報リストは、AFFINE、ATMVP、STMVP、またはplanarモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１３８】
第16の態様によれば、可能な実施プロセスでは、インデックス情報が第3の特徴値であるとき、候補動き情報リストは、HEVCモード、non-adjacentモード、ATMVPモード、またはSTMVPモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１３９】
第16の態様によれば、可能な実施プロセスでは、インデックス情報が第4の特徴値であるとき、候補動き情報リストは、AFFINEモードまたはplanarモードのうちの少なくとも1つで取得された候補動きベクトルを含む。
【０１４０】
第17の態様によれば、本発明は、ビデオコーディングデバイスに関する。ビデオコーディングデバイスは、互いに結合された不揮発性メモリおよびプロセッサを含む。プロセッサは、上記の態様または可能な設計方法のうちのいずれか1つを実行するために、メモリの中に記憶されたプログラムコードを呼び出す。
【０１４１】
第18の態様によれば、本発明は、コンピュータ可読記憶媒体に関する。コンピュータ可読記憶媒体は、コンピュータプログラムを記憶する。コンピュータプログラムがプロセッサ上で動作させられるとき、上記の態様または可能な設計方法のうちのいずれか1つが実施される。
【０１４２】
第19の態様によれば、本発明は、メモリおよびプロセッサを含む、デコーダに関する。デコーダは、上記の態様のうちのいずれか1つにおける復号方法、復号装置、および可能な実施解決策を、それに対応して実施するように構成され得る。
【０１４３】
第20の態様によれば、本発明は、メモリおよびプロセッサを含む、エンコーダに関する。エンコーダは、上記の態様のうちのいずれか1つにおける符号化方法、符号化装置、および可能な実施解決策を、それに対応して実施するように構成され得る。
【０１４４】
エンコーダおよびデコーダの機能が、互いに結合されてよいことを理解されたい。したがって、いくつかの可能な場合には、デコーダ側における方法がエンコーダ側に相当することがあり、エンコーダ側における方法がデコーダ側に相当することがある。本発明では詳細は説明されない。
【０１４５】
実施解決策の多様性に起因して、上記の可能な実装形態および説明が、組合せ論理に違反することなく、自由に組み合わせられてよいことを理解されたい。態様および対応する実現可能な実装形態において取得される有益な効果は類似する。詳細は再び説明されない。1つまたは複数の実施形態の詳細が、添付図面および以下の説明の中で説明される。他の特徴、目的、および利点は、本明細書、添付図面、および特許請求の範囲から明らかである。
【図面の簡単な説明】
【０１４６】
【図１】ビデオ符号化手順の概略図である。
【図２】インター予測の概略図である。
【図３】ビデオ復号手順の概略図である。
【図４】動き情報の候補ロケーションの概略図である。
【図５】アフィン変換の高度動きベクトル予測モードの概略図である。
【図６】ビデオ伝送システムの概略図である。
【図７】空間的に隣接する候補ブロックの動き情報の概略図である。
【図８】空間的に隣接しない候補ブロックの動き情報の概略図である。
【図９】アフィンモデルマージモードの概略図である。
【図１０】複合マージモードの概略図である。
【図１１】ATMVP予測モードの概略図である。
【図１２】STMVP予測モードの概略図である。
【図１３】planar動きベクトル導出の概略図である。
【図１４】本発明の一実施形態による復号方法を示す図である。
【図１５】本発明の一実施形態による別の復号方法を示す図である。
【図１６】本発明の一実施形態によるシンタックステーブルを示す図である。
【図１７】本発明の一実施形態による別の復号方法を示す図である。
【図１８】本発明の一実施形態による復号装置を示す図である。
【図１９】本発明の一実施形態によるコーディングデバイスを示す図である。
【発明を実施するための形態】
【０１４７】
以下のことは、本出願の実施形態の中の添付図面を参照しながら、本出願の実施形態を説明する。
【０１４８】
図1に示すように、符号化プロセスは、主に以下の段階、すなわち、イントラ予測(Intra Prediction)、インター予測(Inter Prediction)、変換(Transform)、量子化(Quantization)、エントロピー符号化(Entropy encode)、ループ内フィルタ処理(in-loop filtering)(主にデブロッキングフィルタ処理)などを含む。ピクチャがコーディングブロックに分割された後、イントラ予測またはインター予測が実行される。次いで、残差が取得された後、変換および量子化が実行される。最後に、エントロピー符号化が実行され、ビットストリームが出力される。本明細書では、コーディングブロックは、サイズがM×Nサンプルのアレイである(ただし、MはNに等しくても等しくなくてもよい)。加えて、各サンプルロケーションのサンプル値が与えられる。
【０１４９】
イントラ予測とは、現在ピクチャの中の再構成されたエリアの中のサンプルのサンプル値に基づいて、現在コーディングブロックの中のサンプルのサンプル値を予測することを意味する。
【０１５０】
インター予測とは、参照ブロックの中のサンプルのサンプル値を現在コーディングブロックの中のサンプルのサンプル値の予測情報または予測子(以下では予測情報と予測子との間で区別は行われない)として使用して、現在ピクチャの中の現在コーディングブロック用の整合した参照ブロックに対する再構成されたピクチャを探索すること(ここで、このプロセスは動き推定(Motion estimation、ME)(図2Bに示すような)と呼ばれる)、および現在コーディングブロックの動き情報を送信することを意味する。
【０１５１】
現在コーディングブロックの動き情報が、予測方向表示情報(一般に、前方予測、後方予測、または双方向予測)、参照ブロックを指し示す1つまたは2つの動きベクトル(Motion vector、MV)、および参照ブロックが位置するピクチャの表示情報(一般に、reference indexとして示される)を含むことに留意されたい。
【０１５２】
前方予測とは、現在コーディングブロック用の参照ブロックを取得するために、前方の参照ピクチャセットから参照ピクチャを選択することを意味する。後方予測とは、現在コーディングブロック用の参照ブロックを取得するために、後方の参照ピクチャセットから参照ピクチャを選択することを意味する。双方向予測とは、参照ブロックを取得するために、前方の参照ピクチャセットから参照ピクチャを、かつ後方の参照ピクチャセットから参照ピクチャを選択することを意味する。双方向予測方法が使用されるとき、現在コーディングブロックは2つの参照ブロックを有する。各参照ブロックは、表示のために動きベクトルおよび参照インデックスを必要とする。現在ブロックの中のサンプルのサンプル値の予測子は、2つの参照ブロックの中のサンプルのサンプル値に基づいて決定される。
【０１５３】
動き推定プロセスにおいて、現在コーディングブロックは、参照ピクチャの中の複数の参照ブロックを試すことを必要とし、レートひずみ最適化(Rate-distortion optimization、RDO)を通じて、または別の方法を使用することによって、特定の参照ブロック、すなわち予測のために最終的に使用される特定のブロックが決定される。
【０１５４】
イントラ予測またはインター予測を通じて予測情報が取得された後、現在コーディングブロックの中のサンプルのサンプル値から、対応する予測情報を減算することによって、残差情報が取得される。次いで、離散コサイン変換(Discrete Cosine Transformation、DCT)などの方法を使用することによって残差情報が変換される。次いで、量子化およびエントロピー符号化を通じてビットストリームが取得される。再構成された信号を取得するために、予測された信号と再構成された残差信号とを加算することによる結果に対して、フィルタ処理演算が実行される必要がある。再構成された信号は、後続の符号化のための基準信号として使用される。
【０１５５】
復号は符号化の逆のプロセスである。たとえば、図3に示すように、エントロピー復号、逆量子化、および逆変換が最初に実行されて、残差情報を取得し、ビットストリームが復号されて、現在コーディングブロックに対してイントラ予測が使用されているのか、それともインター予測が使用されているのかを決定する。イントラ予測が使用されている場合、イントラ予測方法を使用することによって、現在コーディングブロックの周囲の再構成されたエリアの中のサンプルのサンプル値に基づいて予測情報が構成される。インター予測が使用されている場合、動き情報が構文解析される必要があり、構文解析を通じて取得された動き情報に基づいて、再構成されたピクチャの中で参照ブロックが決定され、そのブロックの中のサンプルのサンプル値が予測情報として使用される。そのようなプロセスは動き補償(Motion compensation、MC)と呼ばれる。再構成された情報は、予測情報と残差情報とを加算することによる結果に対してフィルタ処理演算を実行することによって取得され得る。
【０１５６】
HEVCでは、2つのインター予測モード、すなわち、高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モードおよびマージ(Merge)モードが使用される。
【０１５７】
AMVPモードでは、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報に基づいて、候補動きベクトルリストが構成される。次いで、候補動きベクトルリストから最適動きベクトルが決定され、最適動きベクトルは、現在コーディングブロックの動きベクトル予測子(Motion vector predictor、MVP)として使用される。レートひずみコストが式(1)に従って計算され、ただし、Jは、レートひずみコストRD Costを表し、SADは、元のサンプル値と候補動きベクトル予測子を使用することによって実行される動き推定を通じて取得される予測サンプル値との間の絶対差分の合計(Sum of Absolute Differences、SAD)を表し、Rは、ビットレートを表し、λは、ラグランジュ乗数を表す。エンコーダ側は、候補動きベクトルリストの中の選択された動きベクトル予測子のインデックス値、および参照インデックス値を、デコーダ側に転送する。さらに、現在コーディングブロックの実際の動きベクトルを取得するために、MVPを中心にした隣接エリアの中で動き探索が実行される。エンコーダ側は、MVPと実際の動きベクトルとの間の差分(Motion vector difference)をデコーダ側に転送する。
J=SAD+λR (1)
【０１５８】
mergeモードでは、現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの動き情報に基づいて、候補動き情報リストが最初に構成され、次いで、レートひずみコスト基準に従って候補動き情報リストから最適動き情報が決定され、最適動き情報は、現在コーディングブロックの動き情報として使用され、候補動き情報リストの中の最適動き情報のロケーションのインデックス値(やはり以下の説明に適用されるmerge indexとして示される)が、次いで、デコーダ側に転送される。現在コーディングブロックの空間的または時間的に隣接するコード化ブロックの候補動き情報が図4に示される。空間的な候補動き情報は、空間的に隣接する5つのブロック(A0、A1、B0、B1、およびB2)に由来する。隣接ブロックが利用不可能であるか、または隣接ブロックがイントラコーディングされる場合、隣接ブロックの動き情報は候補動き情報リストの中に追加されない。現在ピクチャの参照ピクチャおよびピクチャ順序カウント(Picture order count、POC)に基づいて、参照ピクチャの中のコロケートブロックのMVをスケーリングすることによって、現在コーディングブロックの時間的な候補動き情報が取得される。参照ピクチャの中のロケーションTにおけるブロックが利用可能であるかどうかが、最初に決定される。そのブロックが利用不可能である場合、ロケーションCにおけるブロックが選択される。
【０１５９】
候補動きベクトルリスト(略して候補リストと呼ばれることがある、候補のリストとも呼ばれる)がAMVPモードとmergeモードの両方において維持される必要があることを知ることができる。新たな動き情報が候補リストの中に追加される前に、同じ動き情報がリストの中にすでに存在するかどうかが、最初にチェックされる。同じ動き情報がリストの中に存在する場合、その動き情報はリストの中に追加されない。そのチェックプロセスは、候補動きベクトルリストのプルーニングと呼ばれる。リストのプルーニングはリストの中での同じ動き情報の存在を防止し、このことは冗長なレートひずみコスト計算を回避する。
【０１６０】
HEVCインター予測では、コーディングブロックの中のすべてのサンプルは同じ動き情報を使用し、次いで、コーディングブロックのサンプルの予測子を取得するために、動き情報に基づいて動き補償が実行される。しかしながら、コーディングブロックの中で、すべてのサンプルが同じ動き特性を有するとは限らない。同じ動き情報を使用することは、動き補償予測の不正確さを招くことがあり、より多くの残差情報をもたらすことがある。
【０１６１】
既存のビデオコーディング規格では、平行移動の動きモデルによるブロック整合動き推定が使用され、ブロックのすべてのサンプルが、一致した動きを有することが想定される。しかしながら、実世界では、様々な動きがある。多くの物体、たとえば、回転している物体、異なる方向で回転しているローラーコースター、花火、および映画の中のいくつかのスタントは、平行移動の動きをなしていない。これらの動いている物体の場合、特にUGC(User Generated Content)シナリオにおけるそれらは、既存のコーディング規格において平行移動の動きモデルベースのブロック動き補償技術を使用することによってコーディングが実行される場合、コーディング効率は大幅に影響を受ける。したがって、非平行移動の動きモデルについての検討が、当業界においてかつHuaweiによって行われている。詳細には、コーディング効率をさらに改善するために、アフィン変換ベースの動きモデルについて綿密な検討が行われている。
【０１６２】
非平行移動の動きモデルベースの予測とは、現在コーディングブロックの中の各動き補償サブユニットの動き情報が、エンコーダ側とデコーダ側の両方において同じ動きモデルを使用することによって導出されることを意味し、予測効率を改善するために、動き補償サブユニットの動き情報に基づいて動き補償が実行されて予測ブロックを取得する。一般に使用される動きモデルは、6パラメータアフィン変換モデルおよび4パラメータアフィン変換モデルを含む。
【０１６３】
4パラメータアフィン変換モデルが式(2)に示される。
【０１６４】
【数１】
2021530165.tif 000003
【０１６５】
4パラメータアフィン変換モデルは、2つのサンプルの動きベクトル、および現在コーディングブロックの左上頂点のサンプルに対するその動きベクトルの座標を使用することによって表されてよく、動きモデルパラメータを表すために使用されるサンプルは、制御点として示される。制御点として左上頂点(0,0)および右上頂点(W,0)におけるサンプルが使用される場合、現在コーディングブロックの左上頂点および右上頂点における制御点の動きベクトル(vx0,vy0)および(vx1,vy1)が最初に決定される。次いで、現在コーディングブロックの中の各動き補償サブユニットの動き情報が式(3)に従って導出され、ただし、(x,y)は、動き補償サブユニットの、現在コーディングブロックの左上頂点におけるサンプルに対する座標を表し、WおよびHは、それぞれ、現在コーディングブロックの幅および高さを表す。
【０１６６】
【数２】
2021530165.tif 000004
【０１６７】
6パラメータアフィン変換モデルが式(4)に示される。
【０１６８】
【数３】
2021530165.tif 000005
【０１６９】
6パラメータアフィン変換モデルは、3つのサンプルの動きベクトル、および現在コーディングブロックの左上サンプルに対するそれらの座標を使用することによって表されてよい。制御点として左上頂点(0,0)、右上頂点(W,0)、および左下頂点(0,H)におけるサンプルが使用される場合、現在コーディングブロックの左上頂点、右上頂点、および左下頂点における制御点の動きベクトル(vx0,vy0)、(vx1,vy1)、および(vx2,vy2)が最初に決定される。次いで、現在コーディングブロックの中の各動き補償サブユニットの動き情報が式(5)に従って導出され、ただし、(x,y)は、動き補償サブユニットの、現在コーディングブロックの左上頂点におけるサンプルに対する座標を表し、Wは、現在コーディングブロックの幅を表す。
【０１７０】
【数４】
2021530165.tif 000006
【０１７１】
8パラメータ双線形モデルが式(6)に示される。
【０１７２】
【数５】
2021530165.tif 000007
【０１７３】
8パラメータ双線形モデルは、4つのサンプルの動きベクトル、および現在コーディングブロックの左上頂点のサンプルに対する動きベクトルの座標を使用することによって表されてよい。制御点として左上頂点(0,0)、右上頂点(W,0)、左下頂点(0,H)、および右下頂点(W,H)のサンプルが使用される場合、現在コーディングブロックの左上頂点、右上頂点、左下頂点、および右下頂点制御点の動きベクトル(vx0,vy0)、(vx1,vy1)、(vx2,vy2)、および(vx3,vy3)が最初に決定される。次いで、現在コーディングブロックの中の各動き補償サブユニットの動き情報が式(7)に従って導出され、ただし、(x,y)は、動き補償サブユニットの、現在コーディングブロックの左上頂点におけるサンプルに対する座標を表し、WおよびHは、それぞれ、現在コーディングブロックの幅および高さである。
【０１７４】
【数６】
2021530165.tif 000008
【０１７５】
非平行移動の動きモデルに従って予測されるコーディングブロックは、非平行移動コーディングブロックと呼ばれる。
【０１７６】
概して、非平行移動コーディングブロックの制御点の動き情報は、アフィン変換ベースの高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モードまたはアフィン変換ベースのマージ(Merge)モードで取得され得る。
【０１７７】
以下のことは、4パラメータアフィン変換モデルにおける2つの制御点の動き情報を取得するための方法を説明する。
【０１７８】
アフィン変換ベースの高度動きベクトル予測モード:
【０１７９】
(1)候補動きベクトル2タプルの構成
【０１８０】
現在コーディングブロックの左上頂点および右上頂点の動きベクトルは、現在コーディングブロックの隣接するコード化ブロックの動き情報に基づいて決定される。図5に示すように、左上頂点の隣接するコード化ブロックA、B、およびCの動きベクトルは、現在コーディングブロックの左上頂点の候補動きベクトルとして使用され、右上頂点の隣接するコード化ブロックDおよびEの動きベクトルは、現在ブロックの右上頂点の候補動きベクトルとして使用される。左上頂点の候補動きベクトルおよび右上頂点の候補動きベクトルは、2つの制御点の候補動きベクトル2タプルキューをなすように合成される。
{(v0A,v1D),(v0A,v1E),(v0B,v1D),(v0B,v1E),(v0C,v1D),(v0C,v1E)}
【０１８１】
v0は、左上頂点の候補動きベクトルを表し、v1は、右上頂点の候補動きベクトルを表す。キューの中の候補動きベクトルのロケーションにインデックスが付けられ、ただし、インデックス値は、0、1、2、3、4、および5である。
【０１８２】
随意に、候補動きベクトル2タプルキューは、特定の規則に従ってプルーニングおよびソートされ、キューの中に含まれる特定の数量の要素を取得するために、候補動きベクトル2タプルキューに対して切り捨ておよび充填が実行され得る。
【０１８３】
(2)最適候補動きベクトル2タプルの決定
【０１８４】
エンコーダ側において、現在コーディングブロックの中の(特定の方法を使用することによる分割を通じて取得された、サイズがN_1×N_2のサンプルまたはサンプルブロックである)各動き補償サブユニットの動きベクトルが、式(3)に従って各候補動きベクトル2タプルを使用することによって取得されて、各動き補償サブユニットの動きベクトルが指し示す先の、参照ピクチャの中のロケーションのサンプル値を取得する。サンプル値は、アフィン変換動き補償用の、現在コーディングブロックの中のサンプルのサンプル値の予測子として使用される。現在コーディングブロックの中のサンプルのものである元の値と予測子との間の差分の平均値が計算され、最小差分平均に対応する、候補動きベクトル2タプルの中の動きベクトルが、現在コーディングブロックの中の2つの制御点の動きベクトル予測子として選択される。候補動きベクトル2タプルキューの中の2タプルのロケーションを表すインデックス値が、ビットストリームに符号化されデコーダへ送られる。
【０１８５】
デコーダ側において、2つの制御点の動きベクトル予測子を取得するために、インデックス値が構文解析される。
【０１８６】
(3)制御点の動きベクトルの決定
【０１８７】
エンコーダ側において、2つの制御点の動きベクトルを取得するために、2つの制御点の動きベクトル予測子を探索始点として使用することによって特定の探索範囲内で動き探索が実行される。2つの制御点の動きベクトルと動きベクトル予測子との間の差分が、デコーダ側に転送される。
【０１８８】
デコーダ側において、制御点の動きベクトルを取得するために、2つの制御点の動きベクトル差分が構文解析され、動きベクトル予測子に追加される。
【０１８９】
図6は、本発明によるシステムフレームワークを示す。本発明は、主にシステムフレームワークの中でのビデオ符号化およびビデオ復号に関する。既存のビデオ伝送システムは、一般に、収集、符号化、送出、受信、復号、および表示を含む。収集モジュールは、カメラまたはカメラモジュール、およびプリプロセッサを含み、光信号をデジタルビデオシーケンスに変換する。次いで、ビデオシーケンスは、エンコーダによって符号化され、ビットストリームに変換される。ビットストリームは、次いで、送出モジュールによってネットワークを通じて受信モジュールへ送られ、受信モジュールによって変換され、デコーダによって復号されるとともにビデオシーケンスに再構成される。最後に、再構成されたビデオシーケンスがレンダリングなどの後処理を受け、表示のためにディスプレイデバイスへ送られる。
【０１９０】
本発明は、主にシステムフレームワークの中でのビデオ符号化およびビデオ復号に関する。
【０１９１】
本発明の適用シナリオが、図1および図2に示すハイブリッドコーディングフレームワークベースのビデオ符号化および復号システムに示される。図1に示すような符号化プロセスは主に、イントラ予測(Intra Prediction)、インター予測(Inter Prediction)、変換(Transform)、量子化(Quantization)、エントロピー符号化(Entropy encode)、ループフィルタ処理(Loop filter)、および他の段階を含む。これらの手順は主に、それぞれ、以下の動作、すなわち、現在ピクチャの隣接するサンプルから予測ブロックを取得すること、MV情報を算出し参照ピクチャから予測ブロックを取得すること、残差をサンプル領域から変換領域に変換すること、変換領域係数を圧縮すること、符号化情報を圧縮すること、および再構成されたピクチャに対して後処理を実行することを実施するために使用される。図2に示すような復号システムにおける動作は、符号化プロセスにおいて実行される逆のプロセスである。本発明は、主にビデオ符号化および復号システムにおけるインター予測に適用される。
【０１９２】
実施形態1(エンコーダ側)
簡単な説明:list0およびlist1が、現在ブロック(Block)に対して様々な動き情報リスト構成モードで構成される。list0は、基本予測単位としてブロックを使用することによって現在ブロックが予測されるときに、現在ブロックに対して使用される候補動きベクトルリストである。list1は、基本予測単位としてサブブロックを使用することによって現在ブロックが予測されるときに、現在ブロックに対して使用される候補動きベクトルリストである。現在ブロックは複数のサブブロックに分割されてよく、各サブブロックは正方形または長方形の形状をなしてよい。サブブロックは、たとえば、限定はしないが、サイズが4×4、8×8、または4×8であってよい。list0およびlist1は候補動き情報を含む。候補動き情報は、動きベクトル、予測方向、参照インデックスなどを含む。手短に言えば、list0およびlist1は、現在ブロックの特徴に適用可能な様々な動き情報リスト構成モードで構成される。
【０１９３】
たとえば、block-based list0は、HEVCモードおよびnon-adjacentモードを含んでよく、
subblock-based list1は、AFFINEモード(動きモデルベースのアフィンモデルマージモードおよび/または制御点ベースの複合マージモードを含む)、ATMVPモード、STMVPモード、およびplanarモードを含んでよい。
【０１９４】
特定の実施プロセスでは、block-based list0は、HEVCモードおよびnon-adjacentモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよく、subblock-based list1は、AFFINEモード、ATMVPモード、STMVPモード、およびplanarモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよい。たとえば、list1は、代替として、ATMVPモードのみを含んでよい。本出願では、説明のために複数のモードが使用されることがある。
【０１９５】
S11:現在コーディングブロックの第1の候補動き情報リスト(List0)を構成し、すなわち、ブロックベースの候補動き情報リストを構成する。List0の中の動き情報は、ブロックベースの候補動き情報と呼ばれることがある。
【０１９６】
S11.1:現在コーディングブロックの空間的および/または時間的に隣接するコード化ブロックの動き情報が、HEVCモードにおける事前設定された規則に従って第1の候補動き情報リストの中に追加される。
【０１９７】
図7は、空間的に隣接する候補ブロックの動き情報を示す。一番左において、空間的な候補ブロックが、以下のシーケンス、すなわち、a1、b1、b0、a0、および(b2)で選択される。最初の4個のブロックのうちのいずれかが利用不可能である場合、b2の動き情報が存在し利用可能であるかどうかがチェックされる。b2の動き情報が存在し利用可能である場合、b2の動き情報が候補動き情報リストの中に追加される。次いで、時間的な候補動き情報および/またはゼロベクトルが、動き情報リストの中に追加されるべきものと見なされる。空間的な候補および時間的な候補を選択するための事前設定された複数の規則があり得ることを理解されたい。このことは本発明において限定されない。
【０１９８】
可能な実施プロセスでは、導出シーケンスは、a0、b0、b1、a1、およびb2であり得る。ロケーションa0、b0、b1、およびa1における任意のCUが利用不可能であるか(たとえば、CUが別のsliceまたは別のtileに属するか)、またはCUがイントラコーディングされる場合のみ、ロケーションb2が検討される。候補ロケーションa1が追加された後、残りの候補が追加されるときに冗長性チェックが実行される必要がある。冗長性チェックは、同じ動き情報を有する候補項目がリストの中に追加されることを防止し、それによって、コーディング効率を改善する。計算の複雑さを低減するために、冗長性チェックにおいていくつかの候補が選択的に検討されてよい。たとえば、冗長性チェックのために使用される対応する候補に対する同じ動き情報がないときのみ、候補がリストの中に追加される。
【０１９９】
可能な一実装形態では、空間的な候補ブロックの最大数量は4個である。加えて、(反復された無資格の情報を除外して)list0の中の候補動き情報の断片の数量がMaxNumMergeCand個に等しい場合、挿入または付加が停止される。candidates List1の中の候補動き情報の断片の最大数量MaxNumMergeCandがビットストリームの中で送信されてよく、または符号化および復号の際にデフォルト値が使用されてもよい。この実施形態では、候補動き情報断片の最大数量は、たとえば、5個である。
【０２００】
随意に、ブロックベースの候補動き情報リストは、HEVC規格またはHEVC規格の発展型バージョンに従って規定された(いくつかのシナリオではgeneral_mergeまたはregular_mergeモードとしても表現され得る)従来のマージモードで構成される候補動き情報リストを含む。ブロックベースの候補動き情報リストの中のすべての候補動き情報が、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよい。代替として、いくつかの候補動き情報が、現在ブロックの空間的または時間的に隣接するコード化ブロックの動き情報であってよく、候補動き情報のうちのいくつかが、別の方式で取得される動き情報であってよい。
【０２０１】
S11.2:現在コーディングブロックの空間的に隣接しないコード化ブロックの動き情報を、事前設定された規則に従って第1の候補動き情報リストに追加する。
【０２０２】
空間的に隣接しない候補ブロックの動きベクトルが以下の図(図8)に示される。空間的な候補ブロックが、以下のシーケンス、すなわち、候補ブロック6〜候補ブロック49で選択される。利用可能性がチェックされるとともに反復された項目が除去された後、利用可能なロケーションブロックに対応する動き情報が、第1の候補動き情報リストの中に連続的に挿入される。(反復された無資格の情報を除外して)list0の中の候補動き情報の断片の数量がMaxNumMergeCand個に等しい場合、挿入は停止される。
【０２０３】
list0は、S11.1およびS11.2に基づいて構成される。(反復された無資格の情報を除外して)list0の中の候補動き情報の断片の数量が5個未満である場合、リストの中の候補動き情報の断片の数量は、ゼロ動きベクトルを追加することによって指定の数量に達することができるようになる。たとえば、現在ブロックの第1の候補動き情報リスト(List0)は、以下の形式をなしてよい。
【０２０４】
【表１】
2021530165.tif 000009
【０２０５】
代替として、現在ブロックの第1の候補動き情報リスト(List0)は、以下の形式をなしてよい。
【０２０６】
【表２】
2021530165.tif 000010
【０２０７】
本発明では、ブロックベースの候補動き情報リストを構成するS11の中で、S11.1において候補動き情報をリストの中に追加しS11.2において候補動き情報をリストの中に追加するシーケンスが限定されないことに留意されたい。S11.1における動き情報が最初に追加されてよく、S11.2における動き情報が次に追加され、S11.2における動き情報が最初に追加されてよく、S11.1における動き情報が次に追加され、またはS11.1およびS11.2における動き情報が、リストの中に交互に追加されてもよい。代替として、S11.1およびS11.2のうちの一方または両方が、S11に対して実行されてよい。
【０２０８】
S12:現在の符号化サブブロックの第2の候補動き情報リスト(List1)を構成し、すなわち、サブブロックベースの候補動き情報リストを構成する。list1の中の動き情報は、サブブロックベースの候補動き情報と呼ばれることがある。
【０２０９】
S12.1:現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報が、動きモデルベースのアフィンモデルマージ(Affine model merge、AMM)モードにおける事前設定された規則に従って第2の候補動き情報リスト(List1)の中に追加される。
【０２１０】
現在ブロックがアフィン変換予測ブロックであるときにコーディング効率を改善するために、現在ブロックの制御点の動き情報が符号化されるとき、事前設定された選択ポリシーに従って現在ブロックの隣接ブロックから1つのブロックが選択され、そのブロックの頂点の動き情報に基づいて現在ブロックの頂点の動き情報が導出される(このことは、規格ではluma affine control point motion vectors from a neighbouring blockと呼ばれることがある)。エンコーダ側は、選択された隣接ブロックの表示情報をデコーダ側に転送する必要がない。この場合、現在ブロックおよび隣接ブロックは同じアフィン変換モデルを使用する。
【０２１１】
図9に示すように、A、B、C、D、およびEは、現在コーディングブロックの隣接するコード化ブロックであり、アフィンコード化ブロックを見つけるためにA、B、C、D、およびEというシーケンスでトラバースが実行され、アフィンコード化ブロックの制御点の動き情報が取得され、現在コーディングブロックの左上頂点および右上頂点の動き情報がさらに導出される。
【０２１２】
以下のことは、導出プロセスを説明するための一例としてAを使用し、他の事例が類似する。Aに対応するコード化ブロックがアフィンコード化ブロックである場合、アフィンコード化ブロックの左上頂点(x2,y2)の動きベクトル(vx2,vy2)および右上頂点(x3,y3)の動きベクトル(vx3,vy3)が取得される。現在コーディングブロックの左上頂点(x0,y0)の動きベクトル(vx0,vy0)は、式(8)に従って計算される。現在コーディングブロックの右上頂点(x1,y1)の動きベクトル(vx1,vy1)は、式(9)に従って計算される。
【０２１３】
【数７】
2021530165.tif 000011
【０２１４】
【数８】
2021530165.tif 000012
【０２１５】
利用可能性がチェックされるとともに反復された項目が除去された後、利用可能なロケーションブロックに対応する動き情報が、第2の候補動き情報リスト(List1)の中に連続的に挿入される。(反復された無資格の情報を除外して)list1の中の候補動き情報の断片の数量がMaxNumMergeCand個に等しい場合、挿入は停止される。
【０２１６】
S12.2:現在コーディングブロックの空間的に隣接するコード化ブロックの動き情報を、制御点ベースの複合マージモード(Complex mergeモード)における事前設定された規則に従って第2の候補動き情報リスト(List1)の中に追加する。
【０２１７】
最初に、各制御点の動き情報が導出される。図10に示すように、CPk(k=1,2,3,4)は第kの制御点を表す。A0、A1、A2、B0、B1、B2、およびB3は、現在ブロックの空間的に隣接するロケーションを表し、CPk(k=1,2,3)を予測するために使用される。Trは、現在ブロックの時間的に隣接するロケーションを表し、CP4を予測するために使用される。
【０２１８】
CP1、CP2、CP3、およびCP4の座標は、それぞれ、(0,0)、(W,0)、(H,0)、および(W,H)であり、ただし、WおよびHは現在ブロックの幅および高さを表す。
【０２１９】
制御点ごとに、以下のシーケンスで制御点の動き情報が取得される。
【０２２０】
CP1に対して、チェックシーケンスはB2->A2->B3である。B2が利用可能である場合、B2の動き情報が使用される。そうでない場合、A2およびB3がチェックされる。すべての3つのロケーションの動き情報が利用不可能である場合、CP1の動き情報は取得され得ない。
【０２２１】
CP2に対して、チェックシーケンスはB0->B1である。
【０２２２】
CP3に対して、チェックシーケンスはA0->A1である。
【０２２３】
CP4に対して、Trの動き情報が使用される。
【０２２４】
本明細書では、本明細書における「利用可能な」とは、ロケーションXにおけるブロックが符号化され、かつインター符号化されることを意味する。そうでない場合、ロケーションXは利用不可能である。
【０２２５】
制御点の動き情報を取得するための他の方法も本発明に適用可能であることに留意されたい。詳細は本明細書で説明されない。
【０２２６】
次いで、制御点の動き情報が合成されて非平行移動の(アフィンモデルベースの)動き情報を取得する。
【０２２７】
2つの制御点の動き情報が合成されて4パラメータアフィン変換モデルを構成する。制御点のうちの2つが、次のように、すなわち、{CP1,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、および{CP3,CP4}のように合成される。たとえば、制御点CP1およびCP2を用いて構成された4パラメータアフィン変換モデルは、affine(CP1,CP2)として示される。
【０２２８】
3つの制御点の動き情報が合成されて6パラメータアフィン変換モデルを構成する。制御点のうちの3つが、次のように、すなわち、{CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、および{CP1,CP3,CP4}のように合成される。たとえば、制御点CP1、CP2、およびCP3を用いて構成された6パラメータアフィン変換モデルは、affine(CP1,CP2,CP3)として示される。
【０２２９】
4つの制御点の動き情報が合成されて8パラメータ双線形モデルを構成する。制御点CP1、CP2、CP3、およびCP4を用いて構成された8パラメータ双線形モデルは、bilinear(CP1,CP2,CP3,CP4)として示される。
【０２３０】
これらのモデル(異なるタイプのモデル、または同じタイプのモデル)が、事前構成されたシーケンスでトラバースされる。合成モデルに対応する制御点の動き情報が利用不可能である場合、モデルは利用不可能であるものと見なされる。そうでない場合、モデルの参照インデックス(すべての制御点の動きベクトルが、同じ参照ピクチャを指し示す)が決定され、制御点の動きベクトルがスケーリングされる。たとえば、動きベクトルは式(10)に従ってスケーリングされる。スケーリング係数とは、現在ピクチャから参照ピクチャまでの距離対現在ピクチャから隣接ブロックの参照ピクチャまでの距離の比である。スケーリングの後にすべての制御点の動き情報が一致する場合、モデルは無効である。そうでない場合、モデルを構成する制御点の動き情報が候補動き情報リストの中に追加される。
【０２３１】
【数９】
2021530165.tif 000013
【０２３２】
利用可能性がチェックされるとともに反復された項目が除去された後、利用可能なロケーションブロックに対応する動き情報が、第2の候補動き情報リスト(List1)の中に連続的に挿入される。(反復された無資格の情報を除外して)list1の中の候補動き情報の断片の数量がMaxNumMergeCand個に等しい場合、挿入は停止される。
【０２３３】
complex merge modeで取得される候補動き情報は、最新の規格では、constructed affine control point motion vector merging candidatesと呼ばれる。
【０２３４】
S12.3:事前設定された規則に従ってATMVPおよび/またはSTMVP候補動きベクトルを第2の候補動き情報リスト(List1)の中に追加する。
【０２３５】
サブブロックベースの動きベクトル予測(Sub-BLOCK-based motion vector prediction、SMVP)技術を使用することによって、現在コーディングユニットは、各々のサイズがM×Nであるコーディングサブユニットに分割され、各コーディングサブユニットの動き情報が導出され、次いで、すべてのコーディングサブユニットの動き情報に基づいて動き補償が実行されて、現在コーディングユニットの予測子を取得する。
【０２３６】
本技術では、mergeモードにおいて2つのタイプの候補動き情報、すなわち、高度時間動きベクトル予測(Advanced temporal motion vector prediction、ATMVP)候補動き情報、および空間時間動きベクトル予測(Spatial-temporal motion vector prediction、STMVP)候補動き情報がある。
【０２３７】
ATMVP技術では、図11に示すように、コロケート参照ピクチャ(Collocated reference picture)が最初に決定され、現在コーディングユニット(現在ブロック)は、各々のサイズがM×Nであるコーディングサブユニット(コーディングサブブロック)に分割され、各現在コーディングサブユニットに対応しコロケート参照ピクチャの中にあるコーディングサブユニットの中心点ロケーションサンプルの動き情報が取得され、動き情報がスケーリングされ、動き情報が各現在コーディングサブユニットの動き情報に変換される。
【０２３８】
STMVP技術では、空間的に隣接する上方のロケーション、空間的に隣接する左のロケーション、および時間的に隣接する右下のロケーションにおける現在の各符号化サブユニットの動き情報が取得され、動き情報の平均値が計算され、計算された平均値が現在の各符号化サブユニットの動き情報に変換される。以下の図(図12)に示すように、現在コーディングユニットは、4つの符号化サブユニット、すなわち、A、B、C、およびDに分割される。一例としてAが使用される。符号化サブユニットAの動き情報は、空間的に隣接するロケーションcおよびbの動き情報、ならびにコロケート参照ピクチャの中のロケーションDの動き情報に基づいて導出される。
【０２３９】
利用可能性がチェックされるとともに反復された項目が除去された後、利用可能なロケーションブロックに対応する動き情報が、第2の候補動き情報リスト(List1)の中に連続的に挿入される。(反復された無資格の情報を除外して)list1の中の候補動き情報の断片の数量がMaxNumMergeCand個に等しい場合、挿入は停止される。
【０２４０】
S12.4:事前設定された規則に従ってplanar候補動き情報を第2の候補動き情報リスト(List1)の中に追加する。
【０２４１】
図13を参照されたい。現在ブロックの時間的に隣接する右下のM×Nブロックの動き情報が取得される。隣接する右の各M×Nブロックの動き情報R(W,y)は、空間的に隣接する右上のブロックの動き情報(AR)および時間的に隣接する右下のM×Nブロックの動き情報(BR)に基づいて、以下の式による垂直補間を通じて取得され、ただし、M×Nはブロックのサイズを表す。
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H
【０２４２】
隣接する下方の各M×Nブロックの動き情報(B(x,H))は、空間的に隣接する左下のM×Nブロックの動き情報(BL)および時間的に隣接する右下のM×Nブロックの動き情報(BR)に基づいて、以下の式による水平補間を通じて取得される。
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W
【０２４３】
(x,y)は、現在ブロックの左上のサブブロックに対する現在のM×Nサブブロックの座標を表す。WおよびHは、それぞれ、現在ブロックの(サブブロック単位で測定された)幅および高さを表す。ARは、空間的に隣接する右上のM×Nブロックの動き情報を表す。BRは、時間的に隣接する右下のM×Nブロックの動き情報を表す。BLは、空間的に隣接する左下のM×Nブロックの動き情報を表す。
【０２４４】
各サブブロックの動き情報は以下の方式で取得される。
【０２４５】
現在サブブロックが位置する行の中の、隣接する左のM×Nブロックの動きベクトルおよび隣接する右のM×Nブロックの動きベクトルに基づいて、以下の式による水平補間を通じて水平動きベクトルが取得される。
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
【０２４６】
現在サブブロックが位置する列の中の、隣接する上方のM×Nブロックの動きベクトルおよび隣接する下方のM×Nブロックの動きベクトルに基づいて、以下の式による垂直補間を通じて垂直動きベクトルが取得される。
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
【０２４７】
水平および垂直の線形補間を通じて取得された動きベクトルの平均値が、以下の式に従って取得され、すなわち、各サブブロックの動きベクトルは以下の通りである。
P(x,y)=(H×Pn(x,y)+W×Pv(x,y)+H×W)/(2×H×W)
【０２４８】
L(-1,y)およびR(W,y)は、それぞれ、現在サブブロックが位置する行の中の、隣接する左のM×Nブロックの動きベクトルおよび隣接する右のM×Nブロックの動きベクトルを表す。A(x,-1)およびB(x,H)は、それぞれ、現在サブブロックが位置する列の中の、隣接する上方のM×Nブロックの動きベクトルおよび隣接する下方のM×Nブロックの動きベクトルを表す。Ph(x,y)は、水平補間を通じて取得された動きベクトルを表す。Pv(x,y)は、垂直補間を通じて取得された動きベクトルを表す。
【０２４９】
すべての空間的かつ時間的な隣接ブロック(および、時間的に隣接するブロック)がリストの中の同じ動き情報(既存かつ処理済みの動き情報のみ)を含む場合、リストが利用不可能である。2つのリストが利用不可能である場合、planar動き情報が利用不可能である。代替として、空間的に隣接するすべてのブロック(および、時間的に隣接するブロック)がリストの中の同じ動き情報(既存かつ処理済みの動き情報のみ)を含む場合、同じ動き情報は、リストの中の現在コーディングブロックのすべてのサブブロックの動き情報である。
【０２５０】
利用可能性がチェックされるとともに反復された項目が除去された後、利用可能なロケーションブロックに対応する動き情報が、第2の候補動き情報リスト(List1)の中に連続的に挿入される。(反復された無資格の情報を除外して)list1の中の候補動き情報の断片の数量がMaxNumMergeCand個に等しい場合、挿入は停止される。
【０２５１】
list1は、S12.1〜S12.4に基づいて構成される。(反復された無資格の情報を除外して)list1の中の候補動き情報の断片の数量が5個未満である場合、リストの中の候補動き情報の断片の数量は、ゼロ動きベクトルを追加することによって指定の数量に達することができるようになる。たとえば、現在ブロックの第2の候補動き情報リスト(List1)は、Table 3(表3)に示す形式をなしてよい。
【０２５２】
【表３】
2021530165.tif 000014
【０２５３】
代替として、現在ブロックの第2の候補動き情報リスト(List1)は、Table 4(表4)に示す形式をなしてよい。
【０２５４】
【表４】
2021530165.tif 000015
【０２５５】
本発明では、サブブロックベースの候補動き情報リストを構成するS12の中で、S12.1、S12.2、S12.3、またはS12.4における候補動き情報をリストの中に追加するシーケンスが限定されないことに留意されたい。候補動き情報が特定のシーケンスで追加されてよく、または異なるタイプの動き情報がリストの中に交互に追加されてよく、またはS12.1、S12.2、S12.3、およびS12.4における候補動き情報のうちの1つもしくは複数がリストの中に追加されてもよい。
【０２５６】
サブブロックベースの候補動き情報リストが、サブブロックベースのマージモード(merge_subblock)モードで構成された候補動き情報リストであり、サブブロックベースの候補動き情報リストが、affine model merge、complex merge、またはATMVPのうちの、少なくとも1つのサブブロックベースのマージモードで構成された候補動き情報リストを含んでよいことを理解されたい。サブブロックベースの候補動き情報リストの中のすべての候補動き情報は、affine model mergeモードでの、もしくはcomplex mergeモードでの、もしくはATMVPモードのみでの、または複数の異なるモードでの、導出を通じて取得され得る。複数の異なるモードは、affine model merge、complex merge、およびATMVPという、3つのモードの任意の組合せであってよい。いくつかの可能な場合には、候補動き情報リストは、別のサブブロックベースのモードで取得される動き情報をさらに含んでよい。候補動き情報は、次のようにリストの中に追加されてよい。すなわち、ATMVPモードで導出された候補動き情報が最初に追加されてよく、次いで、別のモードで導出された候補動き情報が追加されてよい。合成方式および追加するシーケンスは、本発明で詳細には列挙または説明されない。
【０２５７】
随意に、2×2サブブロックを含むブロックが一例として使用される。サブブロックベースの構成済みの候補動き情報リストlist1の可能な実施形式は、{ATMVP((MVx01,MVy01)(MVx02,MVy02)(MVx03,MVy03)(MVx04,MVy04)),(MVx1,MVy1),(MVx2,MVy2),(MVx3,MVy3),(MVx4,MVy4)}を含んでよい。indexの値が0である場合、対応する予測は、それぞれ、後で(MVx01,MVy01)(MVx02,MVy02)(MVx03,MVy03)(MVx04,MVy04)に基づいて4つのサブブロックに対して実行され得る。indexの値が1である場合、現在ブロックのサブブロックの各MVは、AFFINEモードでの(MVx1,MVy1)に基づいて導出される。次いで、現在ブロックの各サブブロックが、導出された各MVに基づいて予測される。
【０２５８】
随意に、サブブロックベースの構成済みの候補動き情報リストlist1の可能な実施形式は、{ATMVP(MVx1,MVy1),(MVx2,MVy2),(MVx3,MVy3),(MVx4,MVy4)}を含んでよい。indexの値が0である場合、最終的に使用される動き情報はATMVPを通じて取得される。indexの値が1である場合、使用される動き情報は、現在ブロックのサブブロックの、AFFINEモードでの(MVx1,MVy1)に基づいて導出されたMVである。
【０２５９】
S13:2つのlistから最適候補動き情報を選択する。
【０２６０】
最適候補動き情報は、最小レートひずみコスト基準に従って2つの候補動き情報リストから決定され、最適候補動き情報は、現在コーディングブロックの動き情報として使用される。次いで、最適候補動き情報を含む候補動き情報リストのインデックス(たとえば、list-idx)、およびリストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-idx)が、デコーダ側に転送される。レートひずみコストは、以下の式に従って計算され、ただし、Jは、レートひずみコストRD Costを表し、SADは、元のサンプル値と候補動き情報を使用することによって実行される動き補償を通じて取得される予測サンプル値との間の絶対差分の合計(Sum of Absolute Differences、SAD)を表し、Rは、ビットレートを表し、λは、ラグランジュ乗数を表す。エンコーダ側は、候補動き情報リストの中の選択された動き情報のインデックス値をデコーダ側へ送信する。
J=SAD+λR
【０２６１】
S14:S13において取得された最適候補動き情報に基づいて現在ブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。
【０２６２】
加えて、list0およびlist1の中の「0」および「1」が区別のために使用されるにすぎないことを理解されたい。list0またはlist1が、ブロックベースのリストとして指名されるのか、それともサブブロックベースのリストとして指名されるのかは、事前設定された規則に従って決定されてよい。このことは本出願で限定されない。
【０２６３】
特に、最適動き情報がブロックベースの候補動き情報リストの中の動き情報である場合、現在ブロックは最適動き情報に基づいて予測される。
【０２６４】
特に、最適動き情報がサブブロックベースの候補動き情報リストの中の動き情報である場合、少なくとも以下の2つの事例が含まれる。
【０２６５】
事例1:最適動き情報がaffineモード(少なくともaffine model mergeモードまたはcomplex mergeモードを含む)で取得される場合、現在ブロックのサブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックのサブブロックが予測される。現在ブロックは、複数のサブブロックを含んでよく、現在ブロックのサブブロックは、複数のサブブロックのうちのいずれか1つであってよい。
【０２６６】
可能な実施プロセスでは、現在ブロックの各サブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックの各サブブロックが、それに対応して予測される。
【０２６７】
事例2:最適動き情報がATMVPを通じて導出される場合、現在ブロックのサブブロックが、最適動き情報に基づいて予測される。
【０２６８】
可能な実施プロセスでは、最適候補動き情報は、動き情報の組合せであってよく、現在ブロックの各サブブロックに対応する動き情報を含み、現在ブロックの各サブブロックが、それに対応して予測される。
【０２６９】
加えて、最適動き情報に基づいて予測を実行することが、最適動き情報に基づいて予測を直接実行することを含んでよく、または最適動き情報を導出し、かつ導出された動き情報に基づいて最適動き情報を予測することを含んでよく、または最適動き情報を補正し、かつ補正を通じて取得された動き情報に基づいて予測を実行することを含んでよいことを、さらに理解されたい。
【０２７０】
上記の事例は本発明のいくつかの可能な実装形態にすぎず、いかなる限定もなさないものとする。本発明では他の事例が網羅的に説明されるとは限らない。
【０２７１】
随意に、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【０２７２】
実施形態1によれば、以下の方法フローが取得され得る。
【０２７３】
S1301:第1のリストを構成し、ここで、第1のリストはブロックベースの候補動き情報リストである。
【０２７４】
S1302:第2のリストを構成し、ここで、第2のリストはサブブロックベースの候補動き情報リストである。
【０２７５】
S1303:第1の候補動き情報リストおよび第2の候補動き情報リストから最適候補動き情報を決定する。
【０２７６】
S1304:最適動き情報に基づいて現在ブロックを予測する。
【０２７７】
方法はまた、以下のステップをさらに含んでよい。
【０２７８】
S1305:現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得し、ここで、現在ブロックに対して使用されるインター予測モードはマージモードであり、識別子が第1の特徴値であるとき、候補動き情報リストは第1のリストであり、または識別子が第2の特徴値であるとき、候補動き情報リストは第2のリストである。
【０２７９】
S1306:識別子およびインデックスをビットストリームに符号化する。
【０２８０】
S1305およびS1306は、さらに独立して新たな符号化方法をなすことがある。詳細は本明細書で説明されない。
【０２８１】
実施形態1と現在の技術との間の差異は以下の通りである。すなわち、複数のタイプの候補動き情報が、異なる候補動き情報リストの中に挿入され、最適候補動き情報がRDO基準に従って選択され、最適候補動き情報がデコーダ側に転送される。実施形態1によれば、ブロック(BLOCK)ベースの候補動き情報リストおよびサブブロック(Sub-BLOCK)ベースの候補動き情報リストが取得されるように、ブロック(BLOCK)ベースの候補動き情報リストおよびサブブロック(Sub-BLOCK)ベースの候補動き情報リストが互いに区別され得る。このことは、最適候補動き情報の伝送コストを効果的に低減する。
【０２８２】
実施形態2(デコーダ側)
簡単な説明:現在ブロック(Block)の候補動き情報および現在サブブロック(Sub-BLOCK)の候補動き情報が、それぞれ、候補動き情報のモードを取得する際にlist0およびlist1の中に挿入(または構成)され得る。
【０２８３】
block-based list0は、HEVCモードおよびnon-adjacentモードを含む。
【０２８４】
subblock-based list1は、AFFINEモード(動きモデルベースのアフィンモデルマージモードまたは制御点ベースの複合マージモードを含む)、ATMVPモード、STMVPモード、およびplanarモードを含む。
【０２８５】
特定の実施プロセスでは、block-based list0は、HEVCモード(general_mergeまたはregular_merge)およびnon-adjacentモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよく、subblock-based list1は、AFFINEモード、ATMVPモード、STMVPモード、およびplanarモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよい。本出願では、説明のために複数のモードが使用されることがある。たとえば、list1は、代替として、ATMVPモードのみを含んでよい。
【０２８６】
S21:最適候補動き情報のインデックス情報を取得するためにビットストリームを構文解析する。
【０２８７】
詳細には、最適候補動き情報を含む候補動き情報リストのインデックス(たとえば、list-idx)、およびリストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-index)を取得するために、ビットストリームが構文解析される。ビットストリームを構文解析することによってもっと多くのシンタックス要素がさらに取得されてよく、またリストインデックスが可能な実装形態にすぎないことを理解されたい。
【０２８８】
S22:候補動き情報リストのインデックスに基づいて候補動き情報リストを構成する。
【０２８９】
たとえば、限定はしないが、以下の事例があり得る。
【０２９０】
list-idx=0の場合、S11における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。たとえば、ブロックベースの候補動き情報リストは、S11.1および/またはS11.2におけるモードで構成される。たとえば、候補動き情報リストは、限定はしないが、Table 1(表1)またはTable 2(表2)に示すリストであってよい。
【０２９１】
list-idx=1の場合、S12における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。たとえば、サブブロックベースの候補動き情報リストは、S12.1、S12.2、および/またはS12.3におけるモードで構成される。たとえば、候補動き情報リストは、限定はしないが、Table 3(表3)またはTable 4(表4)に示すリストであってよい。
【０２９２】
動きベクトルリストのインデックス(list-idx)およびリストの中のベクトルのインデックス(mv-index)が決定されるという条件で特定の動きベクトルが決定され得ることを、表から知ることができる。随意に、インデックスの識別子は、たとえば、list-idxとして表されてよい。ただし、このことは限定されない。随意に、インデックスlist-idxの識別子の値は、限定はしないが、0または1を含んでよい。随意に、ブロックベースのモードで構成された候補動き情報リストは、list0(またはlist1)として表されてよく、サブブロックベースのモードで構成された候補動き情報リストは、list1(またはlist0)として表されてよい。「ブロックベースのモード」とは、現在ブロックに基づいて予測を実行するモードを指し、「サブブロックベースのモード」とは、サブブロックに基づいて予測を実行するモードを指し、ここで、サブブロックは、現在ブロックを複数のサブブロックに分割することによって取得される。
【０２９３】
特徴値の特定の値、または識別子の形式、またはリストの特定の表現シンボルが限定されず、本発明で網羅的に説明されるとは限らないことを理解されたい。
【０２９４】
リストインデックス、または類似の識別子、または類似のシンタックス要素が、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用されてよく、または現在ブロックの最適候補動き情報を含む候補動き情報リストを構成するモードを決定するために使用されてよく、または現在ブロックに対して従来のマージモードが使用されるのか、それともサブブロックベースのマージモードが使用されるのかを示すために使用されてよいことを理解されたい。
【０２９５】
随意に、ビットストリームが構文解析されるとき、取得されるシンタックス要素はリストインデックスを含んでよく、現在コーディングブロックに対して第1のリストまたは第2のリストを構成すべきであることをシンタックス要素に基づいて決定することは、候補動き情報リストインデックスを取得することを含み、ここで、リストインデックスが第1の特徴値であるとき、そのことは現在コーディングブロックに対して第1のリストを構成すべきであることを示し、またはリストインデックスが第2の特徴値であるとき、そのことは現在コーディングブロックに対して第2のリストを構成すべきであることを示す。
【０２９６】
随意に、ビットストリームが構文解析されるとき、取得されるシンタックス要素は、現在ブロックに対して使用される従来のマージモードを示すために使用される表示情報、または現在ブロックに対して使用されるサブブロックベースのマージモードを示すために使用される表示情報を含んでよい。
【０２９７】
随意に、ビットストリームが構文解析されるとき、取得されるシンタックス要素は、現在ブロックに対してブロックベースの候補動き情報リストが使用されることを決定するために使用される表示情報、または現在ブロックに対してサブブロックベースの候補動き情報リストが使用されることを決定するために使用される表示情報を含んでよい。
【０２９８】
S23:インデックス情報に基づいて最適候補動き情報を決定する。
【０２９９】
詳細には、最適候補動き情報は、list-idxおよびmv-indexに基づいてリストから決定される。
【０３００】
たとえば、list-idx=0かつmv-index=0の場合、現在ブロックの動き情報はMVB1である。
【０３０１】
S24:S23において取得された最適候補動き情報に基づいて現在ブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。
【０３０２】
特定の予測モードは、エンコーダ側における予測モードに相当し得る。
【０３０３】
特に、最適動き情報がブロックベースの候補動き情報リストの中の動き情報である場合、現在ブロックは最適動き情報に基づいて予測される。
【０３０４】
特に、最適動き情報がサブブロックベースの候補動き情報リストの中の動き情報である場合、少なくとも以下の2つの事例が含まれる。
【０３０５】
事例1:S23において決定された最適動き情報がaffineモード(少なくともaffine model mergeモードまたはcomplex mergeモードを含む)で取得される場合、現在ブロックのサブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックのサブブロックが予測される。現在ブロックは、複数のサブブロックを含んでよく、現在ブロックのサブブロックは、複数のサブブロックのうちのいずれか1つであってよい。
【０３０６】
可能な実施プロセスでは、現在ブロックの各サブブロックに対応する動き情報は、最適動き情報に基づいて導出され、現在ブロックの各サブブロックが、それに対応して予測される。
【０３０７】
事例2:S23において決定された最適動き情報がATMVPモードで取得される場合、現在ブロックのサブブロックは、最適動き情報に基づいて予測される。
【０３０８】
可能な実施プロセスでは、最適候補動き情報は、動き情報の組合せであってよく、現在ブロックの各サブブロックに対応する動き情報を含み、現在ブロックの各サブブロックが、それに対応して予測される。
【０３０９】
事例3:S23において決定された最適動き情報が表示を通じてATMVPモードで取得される場合、最適動き情報は、対応する表示に基づいて取得され、現在ブロックのサブブロックは、最適動き情報に基づいて予測される。
【０３１０】
可能な実施プロセスでは、最適候補動き情報は、表示情報に基づいて取得され得る。現在ブロックの各サブブロックに対応する動き情報は、表示情報に基づいてATMVPモードで取得され得、現在ブロックの各サブブロックが、それに対応して予測される。
【０３１１】
加えて、最適動き情報に基づいて予測を実行することが、最適動き情報に基づいて予測を直接実行することを含んでよく、または最適動き情報を導出し、かつ導出を通じて取得された動き情報に基づいて予測を実行することを含んでよく、または最適動き情報を補正し、かつ補正を通じて取得された動き情報に基づいて予測を実行することを含んでよいことを、さらに理解されたい。
【０３１２】
上記の事例は本発明のいくつかの可能な実装形態にすぎず、いかなる限定もなさないものとする。本発明では他の事例が網羅的に説明されるとは限らない。
【０３１３】
随意に、現在ブロックの幅がしきい値以上であり、かつ/または現在ブロックの高さがしきい値以上である。しきい値は4、8、または16であってよいが、このことは限定されない。
【０３１４】
結論として、実施形態1および実施形態2によれば、本発明では以下の方法手順が取得され得る。図14および図15を参照されたい。
【０３１５】
図14は復号方法を示す。方法は以下のステップを含む。
【０３１６】
S141:現在ブロックの最適候補動き情報を含む候補動き情報リストの構成モードを取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得し、ここで、候補動き情報リストの構成モードは、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードである。
【０３１７】
随意の方式については、本実施形態におけるS21を参照されたい。
【０３１８】
詳細には、候補動き情報リストを決定するために使用される識別子が取得される。現在ブロックに対して使用されるインター予測モードはマージモードである。識別子が第1の特徴値であるとき、候補動き情報リストの構成モードは、ブロックベースの候補動き情報リストを構成するモードであり、または識別子が第2の特徴値であるとき、候補動き情報リストの構成モードは、サブブロックベースの候補動き情報リストを構成するモードである。
【０３１９】
随意の方式については、本実施形態でのS22における識別子の機能を参照されたい。
【０３２０】
S142:構成モードで候補動き情報リストを構成する。
【０３２１】
随意の方式については、本実施形態におけるS22を参照されたい。
【０３２２】
ブロックベースの候補動き情報リストの構成については、本実施形態におけるS11.1および/またはS11.2を参照されたい。
【０３２３】
サブブロックベースの候補動き情報リストの構成については、本実施形態におけるS12.1、S12.2、S12.3、および/またはS12.4を参照されたい。
【０３２４】
S143:インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定する。随意の方式については、本実施形態におけるS13を参照されたい。
【０３２５】
S144:最適動き情報に基づいて現在ブロックを予測する。随意の方式については、本実施形態におけるS14を参照されたい。
【０３２６】
図15は復号方法を示す。方法は以下のステップを含む。
【０３２７】
S151:シンタックス要素を取得するためにビットストリームを構文解析し、ここで、シンタックス要素は、現在ブロックの最適候補動き情報の少なくともインデックスを含む。
【０３２８】
随意の方式については、本実施形態におけるS21を参照されたい。
【０３２９】
S152:現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることをシンタックス要素に基づいて決定し、ここで、第1のリストはブロックベースの候補動き情報リストであり、第2のリストはサブブロックベースの候補動き情報リストである。
【０３３０】
随意の方式については、本実施形態におけるS22を参照されたい。
【０３３１】
ブロックベースの候補動き情報リストの構成については、本実施形態におけるS11.1および/またはS11.2を参照されたい。
【０３３２】
サブブロックベースの候補動き情報リストの構成については、本実施形態におけるS12.1、S12.2、S12.3、および/またはS12.4を参照されたい。
【０３３３】
S153:インデックスに基づいて第1のリストまたは第2のリストから最適動き情報を決定する。
【０３３４】
随意の方式については、本実施形態におけるS23を参照されたい。
【０３３５】
S154:最適動き情報に基づいて現在ブロックを予測する。
【０３３６】
随意の方式については、本実施形態におけるS24を参照されたい。
【０３３７】
特定の実施解決策が、上記の実施形態で十分に説明されている。詳細は本明細書で再び説明しない。
【０３３８】
より明瞭なシンタックステーブルについては、図16を参照されたい。図16はmerge data syntaxテーブルを示す。
【０３３９】
シンタックステーブルまたはビットストリームがmerge_subblock_flag[x0][y0]を含むことを知ることができる。merge_subblock_flag[x0][y0]は、本発明において現在ブロックに対してブロックベースの候補動き情報リストまたはサブブロックベースの候補動き情報リストが使用されることを示すために使用され得る表示情報に相当し得る。
【０３４０】
実施形態2と現在の技術との間の差異は以下の通りである。すなわち、複数のタイプの候補動き情報が、異なる候補動き情報リストの中に挿入され、最適候補動き情報のインデックス情報を取得するためにビットストリームが構文解析され、対応する動き情報に基づいて現在ブロックが復号される。実施形態2によれば、ブロック(BLOCK)ベースの候補動き情報リストおよびサブブロック(Sub-BLOCK)ベースの候補動き情報リストが互いに区別され得る。このことは、最適候補動き情報の伝送コストを効果的に低減する。
【０３４１】
実施形態3(エンコーダ側)
簡単な説明:list0およびlist1が、現在ブロック(Block)に対して様々な動き情報リスト構成モードで構成される。list0は、基本予測単位としてブロックを使用することによって現在ブロックが予測されるときに、現在ブロックに対して使用される候補動きベクトルリストである。list1は、基本予測単位としてサブブロックを使用することによって現在ブロックが予測されるときに、現在ブロックに対して使用される候補動きベクトルリストである。現在ブロックは複数のサブブロックに分割されてよく、各サブブロックは正方形または長方形の形状をなしてよい。サブブロックは、たとえば、限定はしないが、サイズが4×4、8×8、または4×8であってよい。list0およびlist1は候補動き情報を含む。候補動き情報は、動きベクトル、予測方向、参照インデックスなどを含む。手短に言えば、list0およびlist1は、現在ブロックの特徴に適用可能な様々な動き情報リスト構成モードで構成される。
【０３４２】
たとえば、block-based list0は、HEVCモード、non-adjacentモード、ATMVPモード、またはSTMVPモードを含み、
subblock-based list1は、AFFINEモード(動きモデルベースのアフィンモデルマージモードまたは制御点ベースの複合マージモードを含む)およびplanarモードを含む。
【０３４３】
特定の実施プロセスでは、list0は、HEVCモード、non-adjacentモード、ATMVPモード、およびSTMVPモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよい。たとえば、別の実施形態では、list0は、代替として、ATMVPモードのみを含んでよい。list1は、AFFINEモードおよびplanarモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよい。本出願では、説明のために複数のモードが使用されることがある。
【０３４４】
S31:現在コーディングブロックの第1の候補動き情報リスト(List0)を構成する。
【０３４５】
S31.1:S11.1における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３４６】
S31.2:S11.2における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３４７】
S31.3:S12.3における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３４８】
本発明では、S31.1およびS31.2における候補動き情報をリストの中に追加するシーケンスがS31に対して限定されないことに留意されたい。S31.1における動き情報が、S31.2における動き情報の前に追加されてよく、もしくはS31.2における動き情報が、S31.1における動き情報の前に追加されてよく、またはS31.1における動き情報およびS31.2における動き情報が、リストの中に交互に追加されてもよい。
【０３４９】
S32:現在コーディングブロックの第2の候補動き情報リスト(List1)を構成する。
【０３５０】
S32.1:S12.1における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３５１】
S32.2:S12.2における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３５２】
S32.3:S12.4における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３５３】
本発明では、S32.1、S32.2、およびS32.3における候補動き情報をリストの中に追加するシーケンスがS32に対して限定されないことに留意されたい。候補動き情報は、特定のシーケンスで追加されてよく、または異なるタイプの動き情報が、リストの中に交互に追加されてよく、またはS32.1、S32.2、およびS32.3における候補動き情報のうちの1つまたは複数が、リストの中に追加されてもよい。
【０３５４】
S33:2つのlistから最適候補動き情報を選択し、ここで、S13における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３５５】
S34:S33において取得された最適候補動き情報に基づいて現在ブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。S14における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３５６】
list0およびlist1が入れ替えられてよいことを理解されたい。
【０３５７】
実施形態3と現在の技術との間の差異は以下の通りである。すなわち、様々な候補動きベクトルが、異なる候補動きベクトルリストの中に挿入され、最適候補動き情報のインデックス情報を取得するためにビットストリームが構文解析され、対応する動き情報に基づいて現在ブロックが復号される。実施形態3によれば、モデルベースのサブブロック(SUB-BLOCK)ベースの候補動き情報リストおよび他の候補動き情報が互いに区別され得る。このことは、最適候補動き情報の伝送コストを効果的に低減する。
【０３５８】
実施形態4(デコーダ側)
簡単な説明:現在ブロック(Block)の候補動き情報および現在サブブロック(Sub-BLOCK)の候補動き情報が、それぞれ、候補動き情報のモードを取得する際にlist0およびlist1の中に挿入(または構成)され得る。
【０３５９】
block-based list0は、HEVCモード、non-adjacentモード、ATMVPモード、およびSTMVPモードを含む。
【０３６０】
subblock-based list1は、AFFINEモード(動きモデルベースのアフィンモデルマージモードまたは制御点ベースの複合マージモードを含む)およびplanarモードを含む。
【０３６１】
特定の実施プロセスでは、list0は、HEVCモード、non-adjacentモード、ATMVPモード、およびSTMVPモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよい。たとえば、別の実施形態では、list0は、ATMVPモードのみを含んでよい。list1は、AFFINEモードおよびplanarモードなどの候補動きベクトル導出モードのうちの1つまたは複数を含んでよい。本出願では、説明のために複数のモードが使用されることがある。
【０３６２】
S41:最適候補動き情報のインデックス情報を取得するためにビットストリームを構文解析する。
【０３６３】
詳細には、ビットストリームが構文解析されて、最適候補動き情報を含む候補動き情報リストのインデックス(たとえば、list-idx)を取得し、リストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-index)を取得する。
【０３６４】
S42:候補動き情報リストのインデックスに基づいて候補動き情報リストを構成する。
【０３６５】
list-idx=0の場合、S31における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。たとえば、ブロックベースの候補動き情報リストは、S31.1、S31.2、および/またはS31.3におけるモードで構成される。それに対応して、別の例の場合、ブロックベースの候補動き情報リストは、S11.1、S11.2、および/またはS12.3におけるモードで構成される。
【０３６６】
list-idx=1の場合、モデルベースのサブブロックベースの候補動き情報リストは、S32.1、S32.2、および/またはS32.3におけるモードで構成される。それに対応して、別の例の場合、サブブロックベースの候補動き情報リストは、S12.1、S12.2、および/またはS12.4におけるモードで構成される。
【０３６７】
S43:インデックス情報に基づいて最適候補動き情報を決定する。
【０３６８】
詳細には、最適候補動き情報は、list-idxおよびmv-indexに基づいてリストから決定される。
【０３６９】
S44:S43において取得された最適候補動き情報に基づいて現在ブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。
【０３７０】
実施形態4と現在の技術との間の差異は以下の通りである。すなわち、異なるタイプの候補動き情報が、異なる候補動き情報リストの中に挿入され、最適候補動き情報のインデックス情報を取得するためにビットストリームが構文解析され、対応する動き情報に基づいて現在ブロックが復号される。実施形態4によれば、モデルベースのサブブロック(SUB-BLOCK)ベースの候補動き情報リストおよび他の候補動き情報が互いに区別され得る。このことは、最適候補動き情報の伝送コストを効果的に低減する。
【０３７１】
実施形態5(エンコーダ側)
現在コーディングブロックが事前設定条件を満たすかどうかが決定される。現在コーディングブロックが事前設定条件を満たす場合、S51およびS52が実行され、または現在コーディングブロックが事前設定条件を満たさない場合、S51が実行される。代替として、現在コーディングブロックが事前設定条件を満たす場合、S51およびS52が実行され、または現在コーディングブロックが事前設定条件を満たさない場合、S52が実行される。
【０３７２】
事前設定条件は以下の通りであり得る。
(1)現在コーディングブロックの幅がしきい値(たとえば、限定はしないが、4、8、16、または32)以上であり、かつ/または現在コーディングブロックの高さがしきい値(たとえば、限定はしないが、4、8、16、または32)以上であるか、あるいは
(2)現在コーディングブロックのサンプル数量(幅×高さ)がしきい値(たとえば、256)以上である。
【０３７３】
事前設定条件は、エンコーダ側とデコーダ側の両方によって合意されてよく、またはSPSもしくはPPSなどのもっと高いレベルのシンタックスを使用することによって指定されてもよい。
【０３７４】
S51:現在コーディングブロックの第1の候補動き情報リスト(List0)を構成する。
【０３７５】
第1の候補動き情報リストは、対応する方法、たとえば、実施形態1でのS11または実施形態3でのS31における方法を使用することによって構成される。詳細は本明細書で再び説明しない。
【０３７６】
S52:現在コーディングブロックの第2の候補動き情報リスト(List1)を構成する。
【０３７７】
第2の候補動き情報リストは、対応する方法、たとえば、実施形態1でのS12または実施形態3でのS32における方法を使用することによって構成される。詳細は本明細書で再び説明しない。
【０３７８】
S53:最適候補動き情報を選択する。
【０３７９】
現在コーディングブロックが事前設定条件を満たす場合、現在コーディングブロックの動き情報として、最適候補動き情報が、レートひずみコスト基準に従って2つの候補動き情報リストから決定される。次いで、最適候補動き情報を含む候補動き情報リストのインデックス(たとえば、list-idx)、およびリストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-idx)が、デコーダ側に転送される。
【０３８０】
現在コーディングブロックが事前設定条件を満たさない場合、現在コーディングブロックの動き情報として、最適候補動き情報が、レートひずみコスト基準に従って1つの候補動き情報リストから決定される。次いで、候補動き情報リストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-idx)が、デコーダ側に転送される。
【０３８１】
S54:S53において取得された最適候補動き情報に基づいて現在ブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。S14またはS34における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０３８２】
実施形態5と現在の技術との間の差異は以下の通りである。すなわち、様々な候補動きベクトルが、異なる候補動きベクトルリストの中に挿入され、最適候補動き情報のインデックス情報を取得するためにビットストリームが構文解析され、対応する動き情報に基づいて現在ブロックが復号される。加えて、様々な動き情報リストが、事前設定条件に基づいて構成されることになり、使用される候補リストは、現在コーディングブロックの特徴に基づいて条件付きで構文解析され、その結果、候補リストを示すために必要とされるビットの数量が低減され得る。
【０３８３】
実施形態5を参照すると、符号化方法手順は次のように取得され得る。
【０３８４】
S161:現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、第1のリストを構成する。
【０３８５】
S162:第2のリストを構成し、ここで、第1のリストはブロックベースの候補動き情報リストであり、第2のリストはサブブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードはマージモードである。
【０３８６】
S163:第1のリストおよび第2のリストから最適候補動き情報を決定する。
【０３８７】
S164:最適動き情報に基づいて現在ブロックを予測する。
【０３８８】
随意に、S161の前に、方法は、
現在ブロックのサイズが事前設定済みのサンプル数量を満たすかどうかを決定することを、さらに含んでよい。
【０３８９】
随意に、現在コーディングブロックの幅または高さのいずれかがしきい値以上であるかどうかが決定される。たとえば、幅および/または高さが8以上であるかどうかが決定される。
【０３９０】
現在ブロックのサイズが事前設定済みのサンプル数量を満たさない場合、方法は以下のことをさらに含む。
【０３９１】
S165:第1のリストを構成し、ここで、第1のリストはブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードはマージモードである。
【０３９２】
S166:第1のリストから最適候補動き情報を決定する。
【０３９３】
S167:最適動き情報に基づいて現在ブロックを予測する。
【０３９４】
S165〜S167が、S161〜S164から独立した実施可能な符号化方法をなし得ることを理解されたい。
【０３９５】
実施形態6(デコーダ側)
S61:最適候補動き情報のインデックス情報を取得するために、事前設定条件に基づいてビットストリームを構文解析する。
【０３９６】
事前設定条件は以下の通りであり得る。
(1)現在コーディングブロックの幅がしきい値(たとえば、限定はしないが、4、8、16、または32)以上であり、かつ/または現在コーディングブロックの高さがしきい値(たとえば、限定はしないが、4、8、16、または32)以上であるか、あるいは
(2)現在コーディングブロックのサンプル数量(幅×高さ)がしきい値(たとえば、256)以上である。
【０３９７】
事前設定条件は、エンコーダ側とデコーダ側の両方によって合意されてよく、またはSPSもしくはPPSなどのもっと高いレベルのシンタックスを使用することによって指定されてもよい。
【０３９８】
現在コーディングブロックが事前設定条件を満たさない(そのことは、事前設定条件のいずれも満たされないこととして理解され得る)とき、動き情報のインデックス情報は構文解析されない(ブロックベースの動き情報しか使用されない)。この場合、list0(特定の実装形態ではlist-idx=0)がデフォルトで使用され、list0の中のロケーションのインデックス値(mv-index)が構文解析される。詳細には、リストlist0の中のロケーションのインデックス値(mv-index)のみが構文解析されてよい。
【０３９９】
現在コーディングブロックが条件を満たす(そのことは、事前設定条件のいずれかが満たされることとして理解され得る)とき、ビットストリームが構文解析されて、最適候補動き情報を含む候補動き情報リストのインデックス(たとえば、list-idx、ただし、list-idxの値は0または1であり得る)を取得し、候補動き情報リストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-index)を取得する。
【０４００】
S62:候補動き情報リストのインデックスに基づいて候補動き情報リストを構成する。
【０４０１】
詳細には、リストは、実施形態2または実施形態4における対応する方法を使用することによって構成されてよい。詳細には、リストは、S22またはS42における方法と同じかまたは類似の方法を使用することによって構成されてよい。詳細は本明細書で再び説明しない。
【０４０２】
S63:インデックス情報に基づいて最適候補動き情報を決定する。
【０４０３】
詳細には、最適候補動き情報は、list-idxおよびmv-indexに基づいてリストから決定される。詳細には、最適候補動き情報は、S23またはS43における方法と同じかまたは類似の方法を使用することによって決定されてよい。詳細は本明細書で再び説明しない。
【０４０４】
S64:S63において取得された最適候補動き情報に基づいて現在コーディングブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。S24またはS44における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０４０５】
実施形態6と現在の技術との間の差異は以下の通りである。すなわち、様々な候補動きベクトルが、異なる候補動きベクトルリストの中に挿入され、最適候補動き情報のインデックス情報を取得するためにビットストリームが構文解析され、対応する動き情報に基づいて現在コーディングブロックが復号される。加えて、様々な動き情報リストが、事前設定条件に基づいて構成されることになり、使用される候補リストは、現在コーディングブロックの特徴に基づいて条件付きで構文解析され、その結果、候補リストを示すために必要とされるビットの数量が低減され得る。
【０４０６】
実施形態6を参照すると、復号方法手順が取得され得る。図17を参照されたい。方法は以下のステップを含む。
【０４０７】
S171:現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、現在ブロックの最適候補動き情報を含む候補動き情報リストを決定するために使用される識別子を取得し、候補動き情報リストの中の最適候補動き情報のインデックスを取得し、ここで、現在ブロックに対して使用されるインター予測モードはマージモードである。
【０４０８】
随意に、特定の実装形態についてはS61を参照されたい。
【０４０９】
S172:識別子に基づいて候補動き情報リストを構成し、識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成する。
【０４１０】
随意に、特定の実装形態についてはS62を参照されたい。
【０４１１】
S173:インデックスに基づいて、構成された候補動き情報リストから最適動き情報を決定する。
【０４１２】
随意に、特定の実装形態についてはS63を参照されたい。
【０４１３】
S174:最適動き情報に基づいて現在ブロックを予測する。
【０４１４】
随意に、特定の実装形態についてはS64を参照されたい。
【０４１５】
S171の前に、方法は、現在ブロックのサイズが事前設定条件または事前設定済みのサンプル数量を満たすかどうかを決定することをさらに含む。
【０４１６】
随意に、現在コーディングブロックの幅または高さのいずれかがしきい値以上であるかどうかが決定される。たとえば、幅および/または高さが8以上であるかどうかが決定される。
【０４１７】
現在ブロックのサイズが事前設定済みのサンプル数量を満たさない場合、方法は以下のことをさらに含む。
【０４１８】
S175:第1のリストを構成し、ここで、第1のリストはブロックベースの候補動き情報リストであり、現在ブロックに対して使用されるインター予測モードはマージモードである。
【０４１９】
S176:第1のリストから最適候補動き情報を決定する。
【０４２０】
S177:最適動き情報に基づいて現在ブロックを予測する。
【０４２１】
S175〜S177が、S171〜S174から独立した実施可能な符号化方法をなし得ることを理解されたい。
【０４２２】
実施形態7(デコーダ側)
S71:最適候補動き情報のインデックス情報を取得するために、事前設定条件に基づいてビットストリームを構文解析する。
【０４２３】
第1の事前設定条件が満たされるとき、最適候補動き情報リストのインデックスは0である(ブロックベースの動き情報しか使用されない)。言い換えれば、(list-idx=0によって同様に示されてよい)list0が使用される。
【０４２４】
第2の事前設定条件が満たされるとき、最適候補動き情報リストのインデックスは1である(サブブロックベースの動き情報しか使用されない)。言い換えれば、(list-idx=1によって同様に示されてよい)list1が使用される。
【０４２５】
第1の事前設定条件も第2の事前設定条件も満たされないとき、ビットストリームが構文解析されて、最適候補動き情報を含む候補動き情報リストのインデックス(たとえば、list-idx)を取得し、list0が使用されるべきであるのかそれともlist1が使用されるべきであるのかが、list-idxに基づいて決定される。最後に、対応するリストの中の最適候補動き情報のロケーションのインデックス値(たとえば、mv-index)が構文解析される。
【０４２６】
第1の事前設定条件は以下の通りであり得る。
(1)現在コーディングブロックの幅が第1のしきい値(たとえば、16)未満であり、かつ/または現在コーディングブロックの高さが第1のしきい値(たとえば、16)未満であるか、あるいは
(2)現在コーディングブロックのサンプル数量(幅×高さ)が第1のしきい値(たとえば、256)未満である。
【０４２７】
第1の事前設定条件は、エンコーダ側とデコーダ側の両方によって合意されてよく、またはSPSもしくはPPSなどのもっと高いレベルのシンタックスを使用することによって指定されてもよい。
【０４２８】
第2の事前設定条件は以下の通りであり得る。
(1)現在コーディングブロックの幅が第2のしきい値(たとえば、64)以上であり、かつ/または現在コーディングブロックの高さが第2のしきい値(たとえば、64)以上であるか、あるいは
(2)現在コーディングブロックのサンプル数量(幅×高さ)が第2のしきい値(たとえば、1024)以上である。
【０４２９】
第2の事前設定条件は、エンコーダ側とデコーダ側の両方によって合意されてよく、またはSPSもしくはPPSなどのもっと高いレベルのシンタックスを使用することによって指定されてもよい。
【０４３０】
第2のしきい値は第1のしきい値よりも大きい。
【０４３１】
S72:候補動き情報リストのインデックスに基づいて候補動き情報リストを構成する。
【０４３２】
詳細には、リストは、実施形態2、実施形態4、または実施形態6における対応する方法を使用することによって構成されてよい。詳細には、リストは、S22、S42、またはS62における方法と同じかまたは類似の方法を使用することによって構成されてよい。詳細は本明細書で再び説明しない。
【０４３３】
S73:インデックス情報に基づいて最適候補動き情報を決定する。
【０４３４】
詳細には、最適候補動き情報は、list-idxおよびmv-indexに基づいてリストから決定される。詳細には、最適候補動き情報は、S23、S43、またはS63における方法と同じかまたは類似の方法を使用することによって決定されてよい。詳細は本明細書で再び説明しない。
【０４３５】
S74:S73において取得された最適候補動き情報に基づいて現在コーディングブロックに対して動き補償を実行して、ブロックのサンプル予測子を取得する。S24、S44、またはS64における方法と同じかまたは類似の方法を使用することによって、特定の実装形態が実行されてよい。
【０４３６】
実施形態7と現在の技術との間の差異は以下の通りである。すなわち、様々な候補動きベクトルが、異なる候補動きベクトルリストの中に挿入され、最適候補動き情報のインデックス情報を取得するためにビットストリームが構文解析され、対応する動き情報に基づいて現在コーディングブロックが復号される。加えて、様々な動き情報リストが、事前設定条件に基づいて構成され、使用される候補リストは、現在コーディングブロックの特徴に基づいて条件付きで構文解析され、その結果、候補リストを示すために必要とされるビットの数量が低減され得る。
【０４３７】
本出願の一実施形態は装置1800を提供する。図18を参照されたい。装置1800は、
現在ブロックの最適候補動き情報のインデックス情報を取得するように構成された取得モジュール1801と、
インデックス情報に基づいて候補動き情報リストを構成するように構成された構成モジュール1802であって、ここで、候補動き情報リストの中に含まれる動きベクトルを取得するモードが、インデックス情報のフィールドとともに変わる、構成モジュール1802と、
インデックス情報に基づいて候補動き情報リストから最適動きベクトルを決定するように構成された決定モジュール1803と、
最適動きベクトルに基づいて現在ブロックを予測するように構成された予測モジュール1804とを含む。
【０４３８】
詳細には、取得モジュール1801は、S21における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。構成モジュール1802は、S22における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。決定モジュール1803は、S23における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。予測モジュール1804は、S24における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。
【０４３９】
詳細には、取得モジュール1801は、S41における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。構成モジュール1802は、S42における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。決定モジュール1803は、S43における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。予測モジュール1804は、S44における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。
【０４４０】
詳細には、取得モジュール1801は、S51における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。構成モジュール1802は、S52における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。決定モジュール1803は、S53における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。予測モジュール1804は、S54における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。
【０４４１】
詳細には、取得モジュール1801は、S61における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。構成モジュール1802は、S62における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。決定モジュール1803は、S63における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。予測モジュール1804は、S64における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。
【０４４２】
詳細には、取得モジュール1801は、S71における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。構成モジュール1802は、S72における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。決定モジュール1803は、S73における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。予測モジュール1804は、S74における対応する方法および部分的な置き換えのために使用され得る均等な方法を実行するように構成される。
【０４４３】
加えて、取得モジュール1801は、S141、S151、またはS171に対応する方法およびS141、S151、またはS171の部分的な置き換えのために使用され得る均等な方法を実行するように構成される。構成モジュール1802は、S142、S152、またはS172に対応する方法およびS142、S152、またはS172の部分的な置き換えのために使用され得る均等な方法を実行するように構成される。決定モジュール1803は、S143、S153、またはS173に対応する方法およびS143、S153、またはS173の部分的な置き換えのために使用され得る均等な方法を実行するように構成される。予測モジュール1804は、S144、S154、またはS174に対応する方法およびS144、S154、またはS174の部分的な置き換えのために使用され得る均等な方法を実行するように構成される。
【０４４４】
本出願の一実施形態は符号化デバイス19を提供する。図19を参照されたい。デバイスは、多用途コーディングデバイスであってよく、互いに結合された不揮発性メモリおよびプロセッサを含む。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S11、S12、S13、およびS14などの方法、ならびに均等な方法を実行する。
【０４４５】
本出願の一実施形態は、互いに結合された不揮発性メモリおよびプロセッサを含む、符号化デバイス19を提供する。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S31、S32、S33、およびS34などの方法、ならびに均等な方法を実行する。
【０４４６】
本出願の一実施形態は、互いに結合された不揮発性メモリおよびプロセッサを含む、符号化デバイス19を提供する。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S51、S52、S53、およびS54などの方法、ならびに均等な方法を実行する。
【０４４７】
本出願の一実施形態は、互いに結合された不揮発性メモリ1901およびプロセッサ1902を含む、復号デバイス19(ここで、デバイスはコーディングデバイスであってよい)を提供する。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S21、S22、S23、およびS24などの方法、ならびに均等な方法を実行する。
【０４４８】
本出願の一実施形態は、互いに結合された不揮発性メモリ1901およびプロセッサ1902を含む、復号デバイス19を提供する。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S41、S42、S43、およびS44などの方法、ならびに均等な方法を実行する。
【０４４９】
本出願の一実施形態は、互いに結合された不揮発性メモリ1901およびプロセッサ1902を含む、復号デバイス19を提供する。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S61、S62、S63、およびS64などの方法、ならびに均等な方法を実行する。
【０４５０】
本出願の一実施形態は、互いに結合された不揮発性メモリ1901およびプロセッサ1902を含む、復号デバイス19を提供する。プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、S71、S72、S73、およびS74などの方法、ならびに均等な方法を実行する。
【０４５１】
コーディングデバイス19は、ビデオピクチャを表示するように構成されたディスプレイ1903をさらに含んでよい。
【０４５２】
本出願の一実施形態はコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体はプログラムコードを記憶する。プログラムコードは、S11〜S14、S21〜S24、S31〜S34、S41〜S44、S51〜S54、S61〜S64、および/またはS71〜S74のうちの、一部または全部のステップを実行するために使用される命令を含む。
【０４５３】
本出願の一実施形態はコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で動作するとき、コンピュータは、S11〜S14、S21〜S24、S31〜S34、S41〜S44、S51〜S54、S61〜S64、および/またはS71〜S74のうちの、一部または全部のステップを実行する。
【０４５４】
方法実施形態におけるいくつかの技術的特徴の説明および記載が、装置実施形態、符号化デバイス、復号デバイス、コンピュータプログラム、記憶媒体などにも適用可能であることを理解されたい。
【０４５５】
本明細書で開示および説明した様々な例示的な論理ブロック、モジュール、およびアルゴリズムステップを参照しながら説明した機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せによって実施され得ることを、当業者は理解することができる。ソフトウェアによって実装される場合、例示的な論理ブロック、モジュール、およびステップを参照しながら説明した機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体の中に記憶されてよく、またはコンピュータ可読媒体を介して送信されてもよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、またはある場所から別の場所へのコンピュータプログラムの(たとえば、通信プロトコルによる)転送を容易にする任意の媒体を含む通信媒体を含んでよい。このようにして、コンピュータ可読媒体は、概して、(1)非一時的有形コンピュータ可読記憶媒体、または(2)信号もしくはキャリアなどの通信媒体に相当し得る。データ記憶媒体は、本出願で説明した技術を実施するために、命令、コード、および/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の使用可能な媒体であってよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでよい。
【０４５６】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは別のコンパクトディスク記憶装置、磁気ディスク記憶装置もしくは別の磁気記憶装置、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を含んでよい。加えて、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または別のリモートソースから同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を通じて送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、キャリア、信号、または他の一時的媒体を含まないが、実際には非一時的有形記憶媒体を意味することを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、およびBlu-ray(登録商標)ディスク(disc)を含む。ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記のものの組合せもコンピュータ可読媒体の範囲の中に含まれるべきである。
【０４５７】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の均等な集積回路もしくは個別論理回路などの、1つまたは複数のプロセッサによって実行されてよい。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技術を実施するのに適した任意の他の構造のうちのいずれかであってよい。加えて、いくつかの態様では、本明細書で説明した例示的な論理ブロック、モジュール、およびステップを参照しながら説明した機能は、符号化および復号のために構成された専用ハードウェア内および/もしくはソフトウェアモジュール内に設けられてよく、または組み合わせられたコーデックの中に組み込まれてもよい。加えて、本技術は、1つまたは複数の回路または論理要素の中で完全に実施され得る。
【０４５８】
本出願における技術は、ワイヤレスハンドセット、集積回路(IC)、または1組のIC(たとえば、チップセット)を含む、様々な装置またはデバイスの中で実施され得る。様々なコンポーネント、モジュール、またはユニットは、開示する技術を実行するように構成された装置の機能的態様を強調するように本出願で説明されるが、必ずしも異なるハードウェアユニットによって実装されるとは限らない。実際には、上記で説明したように、様々なユニットは、適切なソフトウェアおよび/またはファームウェアと組み合わせてコーデックハードウェアユニットの中に組み合わせられてよく、あるいは(上記で説明した1つまたは複数のプロセッサを含む)相互動作可能なハードウェアユニットによって設けられてもよい。
【０４５９】
上記の説明は、本出願の特定の実装形態の例にすぎず、本出願の保護範囲を限定することを意図しない。本出願で開示する技術的範囲内で当業者によって容易に見出される任意の変形または置き換えは、本出願の保護範囲内に入るものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲を受けるものとする。
【符号の説明】
【０４６０】
19  符号化デバイス、復号デバイス、コーディングデバイス
1800  装置
1801  取得モジュール
1802  構成モジュール
1803  決定モジュール
1804  予測モジュール
1901  不揮発性メモリ
1902  プロセッサ
1903  ディスプレイ
【図１】
2021530165.tif 000016
【図２】
2021530165.tif 000017
【図３】
2021530165.tif 000018
【図４】
2021530165.tif 000019
【図５】
2021530165.tif 000020
【図６】
2021530165.tif 000021
【図７】
2021530165.tif 000022
【図８】
2021530165.tif 000023
【図９】
2021530165.tif 000024
【図１０】
2021530165.tif 000025
【図１１】
2021530165.tif 000026
【図１２】
2021530165.tif 000027
【図１３】
2021530165.tif 000028
【図１４】
2021530165.tif 000029
【図１５】
2021530165.tif 000030
【図１６】
2021530165.tif 000031
【図１７】
2021530165.tif 000032
【図１８】
2021530165.tif 000033
【図１９】
2021530165.tif 000034
【手続補正書】
【提出日】令和3年3月3日(2021.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
復号方法であって、
シンタックス要素を取得するためにビットストリームを構文解析するステップであって、前記シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを備える、ステップと、
前記現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることを前記シンタックス要素に基づいて決定するステップであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストである、ステップと、
前記インデックスに基づいて前記第1のリストまたは前記第2のリストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項２】
前記サブブロックベースの候補動き情報リストが、ATMVPのサブブロックベースのマージモードのみで構成される候補動き情報リストを備える、請求項1に記載の方法。
【請求項３】
第2のリストを構成する前記ステップが、
前記現在ブロックのコロケート参照ピクチャを決定するステップと、
前記現在ブロックをM*N個のサブブロックに分割するステップと、
分割を通じて取得された前記M*N個のサブブロックの各々に対応し前記コロケート参照ピクチャの中にあるサブブロックユニットの中心点ロケーションサンプルの動き情報を取得し、スケーリングを通じて前記動き情報を前記サブブロックの動き情報に変換するステップと、
各サブブロックの前記動き情報に基づいて前記第2のリストを取得するステップと
を備える、
請求項1または2に記載の方法。
【請求項４】
前記シンタックス要素がリストインデックスを備え、前記現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることを前記シンタックス要素に基づいて決定する前記ステップが、
候補動き情報リストインデックスを取得するステップを備え、前記リストインデックスが第1の特徴値であるとき、そのことは前記現在ブロックに対して前記第1のリストを構成すべきであることを示し、または前記リストインデックスが第2の特徴値であるとき、そのことは前記現在ブロックに対して前記第2のリストを構成すべきであることを示す、
請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記シンタックス要素が、前記現在ブロックに対して前記ブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報、または前記現在ブロックに対して前記サブブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報をさらに備える、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項1から5のいずれか一項に記載の方法。
【請求項７】
復号装置であって、
シンタックス要素を取得するためにビットストリームを構文解析するように構成された、取得モジュールであって、前記シンタックス要素が、現在ブロックの最適候補動き情報の少なくともインデックスを備える、取得モジュールと、
前記現在ブロックに対して第1のリストまたは第2のリストを構成すべきであることを前記シンタックス要素に基づいて決定するように構成された、構成モジュールであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストである、構成モジュールと、
前記インデックスに基づいて前記第1のリストまたは前記第2のリストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項８】
前記サブブロックベースの候補動き情報リストが、ATMVPのサブブロックベースのマージモードのみで構成される候補動き情報リストを備える、請求項7に記載の装置。
【請求項９】
前記構成モジュールが、
前記現在ブロックのコロケート参照ピクチャを決定し、
前記現在ブロックをM*N個のサブブロックに分割し、
分割を通じて取得された前記M*N個のサブブロックの各々に対応し前記コロケート参照ピクチャの中にあるサブブロックユニットの中心点ロケーションサンプルの動き情報を取得し、スケーリングを通じて前記動き情報を前記サブブロックの動き情報に変換し、
各サブブロックの前記動き情報に基づいて前記第2のリストを取得する
ように特に構成される、
請求項7に記載の装置。
【請求項１０】
前記シンタックス要素がリストインデックスを備え、前記構成モジュールが、
候補動き情報リストインデックスを取得するように特に構成され、前記リストインデックスが第1の特徴値であるとき、そのことは前記現在ブロックに対して前記第1のリストを構成すべきであることを示し、または前記リストインデックスが第2の特徴値であるとき、そのことは前記現在ブロックに対して前記第2のリストを構成すべきであることを示す、
請求項7から9のいずれか一項に記載の装置。
【請求項１１】
前記シンタックス要素が、前記現在ブロックに対して前記ブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報、または前記現在ブロックに対して前記サブブロックベースの候補動き情報リストが使用されることを示すために使用される表示情報をさらに備える、請求項7から10のいずれか一項に記載の装置。
【請求項１２】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項7から11のいずれか一項に記載の装置。
【請求項１３】
符号化方法であって、
第1のリストを構成するステップであって、前記第1のリストがブロックベースの候補動き情報リストである、ステップと、
第2のリストを構成するステップであって、前記第2のリストがサブブロックベースの候補動き情報リストである、ステップと、
前記第1のリストおよび前記第2のリストから最適候補動き情報を決定するステップと、
前記最適動き情報に基づいて現在ブロックを予測するステップと
を備える方法。
【請求項１４】
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストが前記第1のリストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストが前記第2のリストである、ステップと、
前記識別子および前記インデックスをビットストリームに符号化するステップと
をさらに備える、請求項13に記載の方法。
【請求項１５】
第2のリストを構成する前記ステップが、
前記現在ブロックのコロケート参照ピクチャを決定するステップと、
前記現在ブロックをM*N個のサブブロックに分割するステップと、
分割を通じて取得された前記M*N個のサブブロックの各々に対応し前記コロケート参照ピクチャの中にあるサブブロックユニットの中心点ロケーションサンプルの動き情報を取得し、スケーリングを通じて前記動き情報を前記サブブロックの動き情報に変換するステップと、
各サブブロックの前記動き情報に基づいて前記第2のリストを取得するステップと
を備える、
請求項13または14に記載の方法。
【請求項１６】
符号化装置であって、
第1のリストおよび第2のリストを構成するように構成された、構成モジュールであって、前記第1のリストがブロックベースの候補動き情報リストであり、前記第2のリストがサブブロックベースの候補動き情報リストである、構成モジュールと、
前記第1の候補動き情報リストおよび前記第2の候補動き情報リストから最適候補動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項１７】
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストが前記第1のリストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストが前記第2のリストである、取得モジュールと、
前記識別子および前記インデックスをビットストリームに符号化するように構成された、符号化モジュールと
をさらに備える、請求項16に記載の装置。
【請求項１８】
前記構成モジュールが、
前記現在ブロックのコロケート参照ピクチャを決定し、
前記現在ブロックをM*N個のサブブロックに分割し、
分割を通じて取得された前記M*N個のサブブロックの各々に対応し前記コロケート参照ピクチャの中にあるサブブロックユニットの中心点ロケーションサンプルの動き情報を取得し、スケーリングを通じて前記動き情報を前記サブブロックの動き情報に変換し、
各サブブロックの前記動き情報に基づいて前記第2のリストを取得する
ように特に構成される、
請求項16に記載の装置。
【請求項１９】
コンピュータ可読記憶媒体であって、前記記憶媒体が、請求項1から6のいずれか一項に記載の方法を使用することによって復号を通じて取得された前記ビットストリーム、または請求項13から15のいずれか一項に記載の方法を使用することによって生成された前記ビットストリームを備える、コンピュータ可読記憶媒体。
【請求項２０】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体がコンピュータプログラムを記憶し、前記コンピュータプログラムがプロセッサ上で動作するとき、請求項1から6、または13から15のいずれか一項に記載の方法が実施される、コンピュータ可読記憶媒体。
【請求項２１】
復号方法であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストの構成モードを取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記候補動き情報リストの前記構成モードが、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードである、ステップと、
前記構成モードで前記候補動き情報リストを構成するステップと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項２２】
現在ブロックの最適候補動き情報を備える候補動き情報リストの構成モードを取得する前記ステップが、
前記候補動き情報リストを決定するために使用される識別子を取得するステップを備え、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記ブロックベースの候補動き情報リストを構成する前記モードであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記サブブロックベースの候補動き情報リストを構成する前記モードである、
請求項21に記載の方法。
【請求項２３】
前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、請求項21または22のいずれか一項に記載の方法。
【請求項２４】
復号方法であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、ステップと、
前記識別子に基づいて前記候補動き情報リストを構成するステップであって、前記識別子が第1の特徴値であるとき、前記候補動き情報リストがブロックベースの候補動き情報リストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストがサブブロックベースの候補動き情報リストである、ステップと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップであって、前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上である、ステップと
を備える方法。
【請求項２５】
復号方法であって、
現在ブロックのサイズが事前設定済みのサンプル数量を満たす場合、前記現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するステップであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、ステップと、
前記識別子に基づいて前記候補動き情報リストを構成するステップであって、前記識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または前記識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成する、ステップと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
を備える方法。
【請求項２６】
前記現在ブロックの前記サイズが前記事前設定済みのサンプル数量を満たさない場合、前記ブロックベースの候補動き情報リストを構成し、前記候補動き情報リストの中の前記最適候補動き情報の前記インデックスを取得するステップであって、前記現在ブロックに対して使用される前記インター予測モードが前記マージモードである、ステップと、
前記取得されたインデックスに基づいて、前記構成された候補動き情報リストから前記最適動き情報を決定するステップと、
前記最適動き情報に基づいて前記現在ブロックを予測するステップと
をさらに備える、請求項25に記載の方法。
【請求項２７】
現在ブロックのサイズが事前設定済みのサンプル数量を満たすことが、前記現在ブロックの幅がしきい値以上であり、かつ/または前記現在ブロックの高さがしきい値以上であることを備える、請求項25または26に記載の方法。
【請求項２８】
復号装置であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストの構成モードを取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記候補動き情報リストの前記構成モードが、ブロックベースの候補動き情報リストを構成するモード、またはサブブロックベースの候補動き情報リストを構成するモードである、取得モジュールと、
前記構成モードで前記候補動き情報リストを構成するように構成された、構成モジュールと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項２９】
前記取得モジュールが、
前記候補動き情報リストを決定するために使用される識別子を取得するように特に構成され、前記現在ブロックに対して使用されるインター予測モードがマージモードであり、前記識別子が第1の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記ブロックベースの候補動き情報リストを構成する前記モードであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストの前記構成モードが、前記サブブロックベースの候補動き情報リストを構成する前記モードである、
請求項28に記載の装置。
【請求項３０】
復号装置であって、
現在ブロックの最適候補動き情報を備える候補動き情報リストを決定するために使用される識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、取得モジュールと、
前記識別子に基づいて前記候補動き情報リストを構成するように構成された、構成モジュールであって、前記識別子が第1の特徴値であるとき、前記候補動き情報リストがブロックベースの候補動き情報リストであり、または前記識別子が第2の特徴値であるとき、前記候補動き情報リストがサブブロックベースの候補動き情報リストである、構成モジュールと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項３１】
復号装置であって、
現在ブロックのサイズが事前設定済みのサンプル数量を満たすとき、前記現在ブロックの最適候補動き情報を備える候補動き情報リストの識別子を取得し、前記候補動き情報リストの中の前記最適候補動き情報のインデックスを取得するように構成された、取得モジュールであって、前記現在ブロックに対して使用されるインター予測モードがマージモードである、取得モジュールと、
前記識別子に基づいて前記候補動き情報リストを構成するように構成された、構成モジュールであって、前記識別子が第1の特徴値であるとき、ブロックベースの候補動き情報リストを構成し、または前記識別子が第2の特徴値であるとき、サブブロックベースの候補動き情報リストを構成する、構成モジュールと、
前記インデックスに基づいて、前記構成された候補動き情報リストから最適動き情報を決定するように構成された、決定モジュールと、
前記最適動き情報に基づいて前記現在ブロックを予測するように構成された、予測モジュールと
を備える装置。
【請求項３２】
前記構成モジュールが、
前記現在ブロックの前記サイズが前記事前設定済みのサンプル数量を満たさないとき、前記ブロックベースの候補動き情報リストを構成するようにさらに特に構成され、前記現在ブロックに対して使用される前記インター予測モードが前記マージモードである、
請求項31に記載の装置。
【国際調査報告】
2021530165.tif 000035
2021530165.tif 000036
2021530165.tif 000037
2021530165.tif 000038