(57)【要約】ビデオ復号デバイスは、予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信する。ビデオ復号デバイスは、残差ブロック中の係数を変換するために採用されるＳＶＴのタイプを決定し、候補位置ステップサイズとＳＶＴのための位置インデックスとを決定することによって残差ブロックに対するＳＶＴの位置を決定する。ビデオ復号デバイスは、再構成された残差ブロックを作成するためにＳＶＴタイプおよび位置に基づいて係数に逆変換を適用する。ビデオ復号デバイスは、ビデオブロックを再構成するために予測ブロックに再構成された残差ブロックを適用し、表示のためにビデオシーケンスを再構成することであって、ビデオシーケンスは、再構成されたビデオブロックを含むビデオフレームを含む、再構成することを行う。
2020537468.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するステップと、
前記残差ブロック中の前記係数を変換するために採用されるＳＶＴブロックのタイプを決定するステップと、
候補位置ステップサイズと前記ＳＶＴブロックのための位置インデックスとを決定することによって前記残差ブロックに対する前記ＳＶＴブロックの位置を決定するステップと、
前記ＳＶＴブロックタイプおよび位置に基づいて前記係数に逆変換を適用して、再構成された残差ブロックを作成するステップと、
前記予測ブロックに前記再構成された残差ブロックを適用して、ビデオブロックを再構成するステップと、
表示のためにビデオシーケンスを再構成するステップであって、前記ビデオシーケンスは、前記再構成されたビデオブロックを含むビデオフレームを含む、再構成するステップと
を備える方法。
【請求項２】
ＳＶＴブロックの前記タイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択され、前記垂直ＳＶＴは、前記残差ブロックの高さに等しい高さを含み、前記残差ブロックの幅の１／２に等しい幅を含み、前記水平ＳＶＴは、前記残差ブロックの高さの１／２に等しい高さを含み、前記残差ブロックの幅に等しい幅を含む請求項１に記載の方法。
【請求項３】
前記ＳＶＴブロックの前記位置は、前記候補位置ステップサイズと位置インデックスとを乗算することによって決定される請求項１または２に記載の方法。
【請求項４】
前記候補位置ステップサイズは、前記残差ブロックの幅を所定の整数（Ｍ１）で除算することによって垂直ＳＶＴタイプについて決定されるか、または前記残差ブロックの高さを所定の整数（Ｍ２）で除算することによって水平ＳＶＴタイプについて決定される請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ１）と前記残差ブロックの前記幅をＭ１で除算した結果との間の最大値を選択することによって前記垂直ＳＶＴについて決定され、前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ２）と前記残差ブロックの前記高さをＭ２で除算した結果との間の最大値を選択することによって前記水平ＳＶＴについて決定される請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
Ｍ１は、前記残差ブロックの前記幅が前記残差ブロックの前記高さ以上であるときに８に設定され、前記残差ブロックの前記幅が前記残差ブロックの前記高さよりも小さいときに４に設定され、Ｍ２は、前記残差ブロックの前記高さが前記残差ブロックの前記幅以上であるときに８に設定され、前記残差ブロックの前記高さが前記残差ブロックの前記幅よりも小さいときに４に設定される請求項５に記載の方法。
【請求項７】
Ｍ１、Ｍ２、Ｔｈ１、Ｔｈ２、またはそれらの組合せは、前記ビットストリーム中のシンタックス要素から取得される請求項４乃至６のいずれか一項に記載の方法。
【請求項８】
前記ビットストリームから前記位置インデックスを取得するステップをさらに備える請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記残差ブロック中の前記係数に対して算術演算を適用することによって前記位置インデックスを決定することをさらに備える請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含む請求項９に記載の方法。
【請求項１１】
前記位置インデックスは、係数の数がしきい値以下であるときに前記ビットストリームから取得され、前記位置インデックスは、係数の前記数が前記しきい値よりも大きいときに前記係数に前記算術演算を適用することによって決定される請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
前記ＳＶＴブロックの前記タイプは、係数の第１のグループに基づいて決定され、前記位置インデックスは、係数の第２のグループに基づいて決定される請求項１乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記候補位置ステップサイズ、または候補位置の対応する数は、非ゼロ係数の数または位置に基づいて決定される請求項１乃至３および８乃至１２のいずれか一項に記載の方法。
【請求項１４】
ビデオコーディングデバイスであって、
予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信機と、
前記受信機に結合されたプロセッサであって、
前記残差ブロック中の前記係数を変換するために採用されるＳＶＴブロックのタイプを決定することと、
候補位置ステップサイズと前記ＳＶＴブロックのための位置インデックスとを決定することによって前記残差ブロックに対する前記ＳＶＴブロックの位置を決定することと、
前記ＳＶＴブロックタイプおよび位置に基づいて前記係数に逆変換を適用して、再構成された残差ブロックを作成することと、
前記予測ブロックに前記再構成された残差ブロックを適用して、ビデオブロックを再構成することと、
表示のためにビデオシーケンスを再構成することであって、前記ビデオシーケンスは、前記再構成されたビデオブロックを含むビデオフレームを含む、再構成することと
を行うように構成されたプロセッサと
を備えるビデオコーディングデバイス。
【請求項１５】
ＳＶＴブロックの前記タイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択され、前記垂直ＳＶＴは、前記残差ブロックの高さに等しい高さを含み、前記残差ブロックの幅の１／２に等しい幅を含み、前記水平ＳＶＴは、前記残差ブロックの高さの１／２に等しい高さを含み、前記残差ブロックの幅に等しい幅を含む請求項１４に記載のビデオコーディングデバイス。
【請求項１６】
前記ＳＶＴブロックの前記位置は、前記候補位置ステップサイズと位置インデックスとを乗算することによって決定される請求項１４または１５に記載のビデオコーディングデバイス。
【請求項１７】
前記候補位置ステップサイズは、前記残差ブロックの幅を所定の整数（Ｍ１）で除算することによって垂直ＳＶＴタイプについて決定されるか、または前記残差ブロックの高さを所定の整数（Ｍ２）で除算することによって水平ＳＶＴタイプについて決定される請求項１４乃至１６のいずれか一項に記載のビデオコーディングデバイス。
【請求項１８】
前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ１）と前記残差ブロックの前記幅をＭ１で除算した結果との間の最大値を選択することによって前記垂直ＳＶＴについて決定され、前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ２）と前記残差ブロックの前記高さをＭ２で除算した結果との間の最大値を選択することによって前記水平ＳＶＴについて決定される請求項１４乃至１７のいずれか一項に記載のビデオコーディングデバイス。
【請求項１９】
Ｍ１は、前記残差ブロックの前記幅が前記残差ブロックの前記高さ以上であるときに８に設定され、前記残差ブロックの前記幅が前記残差ブロックの前記高さよりも小さいときに４に設定され、Ｍ２は、前記残差ブロックの前記高さが前記残差ブロックの前記幅以上であるときに８に設定され、前記残差ブロックの前記高さが前記残差ブロックの前記幅よりも小さいときに４に設定される請求項１８に記載のビデオコーディングデバイス。
【請求項２０】
Ｍ１、Ｍ２、Ｔｈ１、Ｔｈ２、またはそれらの組合せは、前記ビットストリーム中のシンタックス要素から取得される請求項１７または１８に記載のビデオコーディングデバイス。
【請求項２１】
前記プロセッサは、前記ビットストリームから前記位置インデックスを取得するようにさらに構成された請求項１４乃至２０のいずれか一項に記載のビデオコーディングデバイス。
【請求項２２】
前記プロセッサは、前記残差ブロック中の前記係数に対して算術演算を適用することによって前記位置インデックスを決定するようにさらに構成された請求項１４乃至２１のいずれか一項に記載のビデオコーディングデバイス。
【請求項２３】
前記算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含む請求項２２に記載のビデオコーディングデバイス。
【請求項２４】
前記位置インデックスは、係数の数がしきい値以下であるときに前記ビットストリームから取得され、前記位置インデックスは、係数の前記数が前記しきい値よりも大きいときに前記係数に前記算術演算を適用することによって決定される請求項１４乃至２３のいずれか一項に記載のビデオコーディングデバイス。
【請求項２５】
前記ＳＶＴブロックの前記タイプは、係数の第１のグループに基づいて決定され、前記位置インデックスは、係数の第２のグループに基づいて決定される請求項１４乃至２４のいずれか一項に記載のビデオコーディングデバイス。
【請求項２６】
前記候補位置ステップサイズ、または候補位置の対応する数は、非ゼロ係数の数または位置に基づいて決定される請求項１４乃至１６および２１乃至２５のいずれか一項に記載のビデオコーディングデバイス。
【請求項２７】
ビデオコーディングデバイスが使用するためのコンピュータプログラム製品を備える非一時的コンピュータ可読媒体であって、前記コンピュータプログラム製品は、プロセッサによって実行されたときに前記ビデオコーディングデバイスに請求項１乃至１３のいずれか一項に記載の方法を実行させるような、前記非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を備える、非一時的コンピュータ可読媒体。
【請求項２８】
ビデオコーディングデバイスであって、
予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信手段と、
前記受信手段と併せて方法１乃至１３のうちのいずれかを実行するように構成された処理手段と
を備えるビデオコーディングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ビデオコーディングシステムに関し、詳細には、予測ベースのコーディングから生じる残差ブロックを圧縮するための空間変動変換に関する。
【背景技術】
【０００２】
関連出願の相互参照
本特許出願は、参照により本明細書に組み込まれる、「Ｓｐａｔｉａｌ  Ｖａｒｙｉｎｇ  Ｔｒａｎｓｆｏｒｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題するＹｉｎ  Ｚｈａｏらによる２０１８年８月２２日に出願された米国特許仮出願第６２／７２１，１７９号、および「Ｓｐａｔｉａｌ  Ｖａｒｙｉｎｇ  Ｔｒａｎｓｆｏｒｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題するＹｉｎ  Ｚｈａｏらによる２０１７年１０月１６日に出願された米国特許仮出願第６２／５７２，９８７号の利益を主張する。
【０００３】
比較的短いビデオを示すために必要なビデオデータの量であっても相当な量であることがあり、これは、データがストリーミングされるべきであるとき、または限定された帯域幅容量をもつ通信ネットワークにわたって通信されるときに問題が生じ得る。したがって、ビデオデータは、概して、現代の通信ネットワークにわたって通信される前に圧縮される。ビデオのサイズはまた、メモリリソースが限定され得るのでビデオがストレージデバイス上に記憶されるときに問題になる可能性がある。ビデオ圧縮デバイスは、しばしば、送信またはストレージより前にビデオデータをコーディングするためにソースにおいてソフトウェアおよび／またはハードウェアを使用し、それによって、デジタルビデオ画像を表すために必要なデータの量を減少させる。圧縮データは、次いで、ビデオデータを復号するビデオ復元デバイスによって宛先において受信される。限定されたネットワークリソース、さらにはより高いビデオ品質の増加する需要では、画質にほとんど犠牲なしに圧縮比を改善する改善された圧縮および復元技法が望ましい。
【発明の概要】
【課題を解決するための手段】
【０００４】
一実施形態では、本開示は、予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信することを対象とする方法を含む。本方法は、残差ブロック中の係数を変換するために採用されるＳＶＴブロックのタイプを決定することを含む。ＳＶＴブロックの位置はまた、候補位置ステップサイズとＳＶＴブロックのための位置インデックスとを決定することによって残差ブロックに対して決定される。逆変換は、再構成された残差ブロックを作成するためにＳＶＴブロックタイプおよび位置に基づいて係数に適用される。再構成された残差ブロックは、ビデオブロックを再構成するために予測ブロックに適用される。ビデオシーケンスは、表示のために再構成される。ビデオシーケンスは、再構成されたビデオブロックを含むビデオフレームを含む。位置インデックス、ＳＶＴブロックタイプ、および候補位置ステップサイズに従ってＳＶＴブロック位置をシグナリングすることは、符号化サイズを低減し、したがって、コーディング効率を増加させる。たとえば、ＳＶＴブロックは、残差ブロックに対して多くの異なるロケーションに位置決めされ得、これは、ＳＶＴブロックの座標をシグナリングすることを生じる。ＳＶＴブロックタイプおよび候補位置ステップサイズに従ってＳＶＴ位置を限定することによって、ＳＶＴブロックの位置を示すために単一の位置インデックスが採用され得る。
【０００５】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ＳＶＴブロックのタイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択されることであって、垂直ＳＶＴは、残差ブロックの高さに等しい高さを含み、残差ブロックの幅の１／２に等しい幅を含み、水平ＳＶＴは、残差ブロックの高さの１／２に等しい高さを含み、残差ブロックの幅に等しい幅を含む、選択されることを含む。ＳＶＴブロックは、残差ブロックに対して多くの異なる位置を占有することができる。ＳＶＴを垂直ＳＶＴと水平ＳＶＴとに限定することによって、潜在的な位置の数が低減される。これにより、ＳＶＴ位置を単一のインデックスによって示すことが可能になり、これは、コーディングサイズを低減する。これはまた、ＳＶＴが占有することができる潜在的な位置の数を低減し、したがって、レートひずみ最適化を実行するときにエンコーダによってテストされる代替符号化方式の数を低減する。
【０００６】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ＳＶＴブロックの位置は、候補位置ステップサイズと位置インデックスとを乗算することによって決定されることを含む。
【０００７】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、候補位置ステップサイズは、残差ブロックの幅を所定の整数（Ｍ１）で除算することによって垂直ＳＶＴタイプについて決定されるか、または残差ブロックの高さを所定の整数（Ｍ２）で除算することによって水平ＳＶＴタイプについて決定されることを含む。
【０００８】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、候補位置ステップサイズは、最小ステップサイズ（Ｔｈ１）と残差ブロックの幅をＭ１で除算した結果との間の最大値を選択することによって垂直ＳＶＴについて決定され、候補位置ステップサイズは、最小ステップサイズ（Ｔｈ２）と残差ブロックの高さをＭ２で除算した結果との間の最大値を選択することによって水平ＳＶＴについて決定されることを含む。デコーダにおいて候補位置ステップサイズを決定することによって、候補位置は、明示的にシグナリングされないことがあり、これは、符号化のサイズを低減し得、したがって、コーディング効率を増加させる。
【０００９】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、Ｍ１は、残差ブロックの幅が残差ブロックの高さ以上であるときに８に設定され、残差ブロックの幅が残差ブロックの高さよりも小さいときに４に設定され、Ｍ２は、残差ブロックの高さが残差ブロックの幅以上であるときに８に設定され、残差ブロックの高さが残差ブロックの幅よりも小さいときに４に設定されることを含む。
【００１０】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、Ｍ１、Ｍ２、Ｔｈ１、Ｔｈ２、またはそれらの組合せは、ビットストリーム中のシンタックス要素から取得されることを含む。シンタックス要素中でそのような情報をシグナリングすることによって、デコーダは、シンタックス要素の小さいグループに基づいて複数のブロックおよび／またはフレームのための候補位置ステップサイズを決定することができ、これは、符号化サイズを減少させる。
【００１１】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ビットストリームから位置インデックスを取得することをさらに備えることを含む。
【００１２】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、残差ブロック中の係数に対して算術演算を適用することによって位置インデックスを決定することをさらに備えることを含む。デコーダにおいて算術演算に基づいて位置インデックスを決定することによって、位置インデックスは別々にシグナリングされる必要がなく、これは、符号化サイズを減少させる。
【００１３】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含むことを含む。
【００１４】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、位置インデックスが、係数の数がしきい値以下であるときにビットストリームから取得され、位置インデックスが、係数の数がしきい値よりも大きいときに係数に算術演算を適用することによって決定されることを含む。この手法により、位置インデックスは、十分な数の係数が存在するときに別個のデータ要素として省略され、少数の係数しか存在しないときに別個のインデックスとしてシグナリングされることが可能になる。したがって、係数は、ＳＶＴブロック位置シグナリングをサポートするために不必要に追加される必要はなく、これは、場合によっては、符号化サイズを増加し得る。
【００１５】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ＳＶＴブロックのタイプは、係数の第１のグループに基づいて決定され、位置インデックスは、係数の第２のグループに基づいて決定されることを含む。この手法により、ビデオ再構成をサポートするためにビットストリーム中にすでに存在する係数を検査することによってＳＶＴブロックタイプとＳＶＴ位置との両方を決定することが可能になる。したがって、ＳＶＴブロックタイプとＳＶＴ位置とは、ビットストリーム中の別個のデータ要素として省略され得、これは、符号化サイズを減少させる。
【００１６】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、候補位置ステップサイズ、または候補位置の対応する数は、非ゼロ係数の数または位置に基づいて決定されることを含む。この手法により、ビデオ再構成をサポートするためにビットストリーム中にすでに存在する係数を検査することによって候補位置をシグナリングすることが可能になる。したがって、ＳＶＴ候補位置はシグナリングされ、さらに、ビットストリーム中の別個のデータ要素として省略され、これは、符号化サイズを減少させる。
【００１７】
一実施形態では、本開示は、ビデオコーディングデバイスを含む。ビデオコーディングデバイスは、予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信機を備える。ビデオコーディングデバイスはまた、受信機に結合されたプロセッサを備える。プロセッサは、残差ブロック中の係数を変換するために採用されるＳＶＴブロックのタイプを決定するように構成される。プロセッサはまた、候補位置ステップサイズとＳＶＴブロックのための位置インデックスとを決定することによって残差ブロックに対するＳＶＴブロックの位置を決定する。プロセッサは、ＳＶＴブロックタイプおよび位置に基づいて係数に逆変換を適用して、再構成された残差ブロックを作成する。プロセッサはまた、予測ブロックに再構成された残差ブロックを適用して、ビデオブロックを再構成する。プロセッサは、次いで、表示のためにビデオシーケンスを再構成することであって、ビデオシーケンスは、再構成されたビデオブロックを含むビデオフレームを含む、再構成することを行うことができる。位置インデックス、ＳＶＴブロックタイプ、および候補位置ステップサイズに従ってＳＶＴブロック位置をシグナリングすることは、符号化サイズを低減し、したがって、コーディング効率を増加させる。たとえば、ＳＶＴブロックは、残差ブロックに対して多くの異なるロケーションに位置決めされ得、これは、ＳＶＴブロックの座標をシグナリングすることを生じる。ＳＶＴブロックタイプおよび候補位置ステップサイズに従ってＳＶＴ位置を限定することによって、ＳＶＴブロックの位置を示すために単一の位置インデックスが採用され得る。
【００１８】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ＳＶＴブロックのタイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択されることであって、垂直ＳＶＴは、残差ブロックの高さに等しい高さを含み、残差ブロックの幅の１／２に等しい幅を含み、水平ＳＶＴは、残差ブロックの高さの１／２に等しい高さを含み、残差ブロックの幅に等しい幅を含む、選択されることを含む。ＳＶＴブロックは、残差ブロックに対して多くの異なる位置を占有することができる。ＳＶＴを垂直ＳＶＴと水平ＳＶＴとに限定することによって、潜在的な位置の数が低減される。これにより、ＳＶＴ位置を単一のインデックスによって示すことが可能になり、これは、コーディングサイズを低減する。これはまた、ＳＶＴが占有することができる潜在的な位置の数を低減し、したがって、レートひずみ最適化を実行するときにエンコーダによってテストされる代替符号化方式の数を低減する。
【００１９】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ＳＶＴブロックの位置は、候補位置ステップサイズと位置インデックスとを乗算することによって決定されることを含む。
【００２０】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、候補位置ステップサイズは、残差ブロックの幅を所定の整数（Ｍ１）で除算することによって垂直ＳＶＴタイプについて決定されるか、または残差ブロックの高さを所定の整数（Ｍ２）で除算することによって水平ＳＶＴタイプについて決定されることを含む。
【００２１】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、候補位置ステップサイズは、最小ステップサイズ（Ｔｈ１）と残差ブロックの幅をＭ１で除算した結果との間の最大値を選択することによって垂直ＳＶＴについて決定され、候補位置ステップサイズは、最小ステップサイズ（Ｔｈ２）と残差ブロックの高さをＭ２で除算した結果との間の最大値を選択することによって水平ＳＶＴについて決定されることを含む。デコーダにおいて候補位置ステップサイズを決定することによって、候補位置は、明示的にシグナリングされないことがあり、これは、符号化のサイズを低減し得、したがって、コーディング効率を増加させる。
【００２２】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、Ｍ１は、残差ブロックの幅が残差ブロックの高さ以上であるときに８に設定され、残差ブロックの幅が残差ブロックの高さよりも小さいときに４に設定され、Ｍ２は、残差ブロックの高さが残差ブロックの幅以上であるときに８に設定され、残差ブロックの高さが残差ブロックの幅よりも小さいときに４に設定されることを含む。
【００２３】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、Ｍ１、Ｍ２、Ｔｈ１、Ｔｈ２、またはそれらの組合せは、ビットストリーム中のシンタックス要素から取得されることを含む。シンタックス要素中でそのような情報をシグナリングすることによって、デコーダは、シンタックス要素の小さいグループに基づいて複数のブロックおよび／またはフレームのための候補位置ステップサイズを決定することができ、これは、符号化サイズを減少させる。
【００２４】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、プロセッサは、ビットストリームから位置インデックスを取得するようにさらに構成されることを含む。
【００２５】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、プロセッサは、残差ブロック中の係数に対して算術演算を適用することによって位置インデックスを決定するようにさらに構成されることを含む。デコーダにおいて算術演算に基づいて位置インデックスを決定することによって、位置インデックスは別々にシグナリングされる必要がなく、これは、符号化サイズを減少させる。
【００２６】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含むことを含む。
【００２７】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、位置インデックスは、係数の数がしきい値以下であるときにビットストリームから取得され、位置インデックスは、係数の数がしきい値よりも大きいときに係数に算術演算を適用することによって決定されることを含む。この手法により、位置インデックスは、十分な数の係数が存在するときに別個のデータ要素として省略され、少数の係数しか存在しないときに別個のインデックスとしてシグナリングされることが可能になる。したがって、係数は、ＳＶＴブロック位置シグナリングをサポートするために不必要に追加される必要はなく、これは、場合によっては、符号化サイズを増加し得る。
【００２８】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、ＳＶＴブロックのタイプは、係数の第１のグループに基づいて決定され、位置インデックスは、係数の第２のグループに基づいて決定されることを含む。この手法により、ビデオ再構成をサポートするためにビットストリーム中にすでに存在する係数を検査することによってＳＶＴブロックタイプとＳＶＴ位置との両方を決定することが可能になる。したがって、ＳＶＴブロックタイプとＳＶＴ位置とは、ビットストリーム中の別個のデータ要素として省略され得、これは、符号化サイズを減少させる。
【００２９】
任意選択で、前の態様のうちのいずれかでは、態様の別の実装は、候補位置ステップサイズ、または候補位置の対応する数は、非ゼロ係数の数または位置に基づいて決定されることを含む。この手法により、ビデオ再構成をサポートするためにビットストリーム中にすでに存在する係数を検査することによって候補位置をシグナリングすることが可能になる。したがって、ＳＶＴ候補位置はシグナリングされ、さらに、ビットストリーム中の別個のデータ要素として省略され、これは、符号化サイズを減少させる。
【００３０】
一実施形態では、本開示は、ビデオコーディングデバイスが使用するためのコンピュータプログラム製品を備える非一時的コンピュータ可読媒体であって、コンピュータプログラム製品は、プロセッサによって実行されたときにビデオコーディングデバイスに前の態様のうちのいずれかを実行させるような、非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を備える、非一時的コンピュータ可読媒体を含む。
【００３１】
一実施形態では、本開示は、ビデオコーディングデバイスを含む。ビデオコーディングデバイスは、予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信手段を備える。ビデオコーディングデバイスはまた、受信手段と併せて前の態様のうちのいずれかを実行するように構成された処理手段を備える。
【００３２】
明快さのために、上記の実施形態のうちのいずれか１つは、本開示の範囲内で新しい実施形態を作成するために他の上記の実施形態のうちの任意の１つまたは複数と組み合わされ得る。
【００３３】
これらおよび他の特徴は、添付の図面および特許請求の範囲とともに以下の詳細な説明からより明確に理解されよう。
【図面の簡単な説明】
【００３４】
本開示のより完全な理解のために、次に、添付の図面および詳細な説明とともに以下の簡単な説明を参照し、ここにおいて、同様の参照番号は、同様の部分を表す。
【００３５】
【図１】ビデオ信号をコーディングする例示的な方法のフローチャートである。
【図２】ビデオコーディングのための例示的なコーディングおよび復号（コーデック）システムの概略図である。
【図３】空間変動変換（ＳＶＴ）を実装し得る例示的なビデオエンコーダを示す概略図である。
【図４】ＳＶＴを実装し得る例示的なビデオデコーダを示す概略図である。
【図５】例示的な垂直ＳＶＴを示す概略図である。
【図６】例示的な水平ＳＶＴを示す概略図である。
【図７Ａ】例示的な垂直ＳＶＴ候補位置を示す概略図である。
【図７Ｂ】例示的な垂直ＳＶＴ候補位置を示す概略図である。
【図７Ｃ】例示的な垂直ＳＶＴ候補位置を示す概略図である。
【図７Ｄ】例示的な垂直ＳＶＴ候補位置を示す概略図である。
【図７Ｅ】例示的な垂直ＳＶＴ候補位置を示す概略図である。
【図８Ａ】例示的な水平ＳＶＴ候補位置を示す概略図である。
【図８Ｂ】例示的な水平ＳＶＴ候補位置を示す概略図である。
【図８Ｃ】例示的な水平ＳＶＴ候補位置を示す概略図である。
【図８Ｄ】例示的な水平ＳＶＴ候補位置を示す概略図である。
【図８Ｅ】例示的な水平ＳＶＴ候補位置を示す概略図である。
【図９】例示的な変換係数グループを示す概略図である。
【図１０】ＳＶＴサイズおよび位置を決定する例示的な方法のフローチャートである。
【図１１】例示的なビデオコーディングデバイスの概略図である。
【図１２】ＳＶＴサイズおよび位置を決定するためのデバイスの一実施形態である。
【発明を実施するための形態】
【００３６】
最初に、１つまたは複数の実施形態の例示的な実装を以下に与えるが、開示するシステムおよび／または方法が、現在知られているのかまたは存在するのかにかかわらず、任意の数の技法を使用して実装され得ることを理解されたい。本開示は、いかなる場合も本明細書で図示および説明する例示的な設計および実装を含む以下に示す例示的な実装、図面、および技法に限定されるべきではないが、それらの全範囲の等価物とともに添付の特許請求の範囲内で変更され得る。
【００３７】
ビデオコーディングは、インター予測（フレーム間の予測）とイントラ予測（フレーム内の予測）とによる圧縮の組合せに関与する。これは、予測ブロックと残差ブロックとの作成を生じる。予測ブロックは、ビデオフレーム中のピクセルのブロックを再構成するために採用され得る予測情報のブロックである。予測ブロックは、参照ブロックとして働くピクセルの他のブロックに対する関係を示すことによって生成される。残差ブロックは、予測ブロックによって参照される参照ブロックと圧縮されているピクセルの元のブロックとの間の差を記憶する。残差ブロックはまたさらに圧縮され得る。たとえば、対応する残差データを変換係数に変える変換が残差データに適用され得る。変換は、本質的に信号／パターンである。係数は、パターンをデータに一致させるパターンに対する変更を記述する。そのような係数は、残差ブロック中の基礎をなす残差データよりも少ない空間を占有し得る。
【００３８】
しかしながら、場合によっては、残差ブロックは、データの不均等な分散を含む。たとえば、残差ブロックのかなりの部分はデータとしてゼロ値を含み得る。そのようなエリアに変換を適用することは、データのサイズを実際に増加させ得る。したがって、ＳＶＴが採用され得る。ＳＶＴは、残差ブロック中の残差データの一部分のみに変換ブロックを適用し、他のデータを未変換のままにする処理である。非ゼロ残差データは残差ブロックにわたって不均等に分散され得、そのような分散は、ブロックごとに変化し得る。ＳＶＴにより、圧縮を最適化するために変換ブロックを残差ブロックに対して異なるロケーションに配置することが可能になる。一例では、ＳＶＴは、残差ブロックのサイズの１／４である変換ブロックを採用する。この例における変換ブロックのうちのいくつかは、残差ブロックの高さよりも低い高さと残差ブロックの幅よりも小さい幅とを有する。これは、そのような変換が候補位置として知られる多数のロケーション（一例では、たとえば、８１個の可能な候補位置）に位置決めされ得ることを意味する。したがって、ＳＶＴが使用されるとき、位置がシグナリングされ得、そのような位置情報のシグナリングオーバーヘッドは、多数の可能な候補位置が利用可能であるときに有意になり得る。これは、位置が候補変換位置の総グループから選定された変換位置を一意に示すために必要ないくつかのビットによってシグナリングされ得るからである。残差ブロックが大きくなるにつれて、候補位置の数が増加し、これは、さらに、シグナリングオーバーヘッドを増加させ、圧縮効率を低減する。さらに、実際には、ＳＶＴ変換の１／４のサイズは、多くの場合、残差ブロック中の大部分の非ゼロデータをカバーするには不十分であり得、したがって、変換圧縮とシグナリングオーバーヘッドとの間での準最適なトレードオフであり得る。また、エンコーダは、フレームごとにすべての可能な符号化オプションをチェックすることと、圧縮およびビデオ品質劣化について考えることと、フレームのために最良のコーディング技法を選択することとを含むレートひずみ最適化（ＲＤＯ）処理を採用する。より多数の候補変換位置は、チェックすべきより多くの潜在的な符号化オプションを作成することによってＲＤＯ処理の複雑性を増加させ、したがって、候補変換位置の数が望ましくないことがある。
【００３９】
本明細書では、増加された圧縮および／またはより低いシグナリングオーバーヘッドを生じる改善されたＳＶＴ方式を開示する。開示するＳＶＴブロックは、残差ブロックのサイズの１／２になるように選択される。具体的には、垂直ＳＶＴブロックおよび／または水平ＳＶＴブロックが採用される。垂直ＳＶＴブロックは、残差ブロックと同じ高さを含み、残差ブロックの半分の幅を含む。水平ＳＶＴブロックは、残差ブロックと同じ幅を含み、残差ブロックの半分の高さを含む。この手法は、候補位置の数を著しく低減し、したがって、ＳＶＴシグナリングオーバーヘッドを著しく低減する。また、増加されたＳＶＴブロックサイズは、残差データのより大きい部分を変換する。たとえば、２つのＳＶＴブロックしか採用されないので、採用されるべきＳＶＴブロックタイプはシングルビットでシグナリングされ得る。また、ＳＶＴブロック位置は、候補位置ステップサイズおよび／または位置インデックスによってシグナリングされ得る。これらの値は、（たとえば、高さ座標と幅座標との両方を採用する代わりに）残差ブロックに対するＳＶＴブロック位置を決定するために採用されるオフセットを決定するためにデコーダによって採用され得る。いくつかの例では、候補位置ステップサイズは、シグナリングオーバーヘッドをさらに低減するためにあらかじめ定義され得る。他の例では、エンコーダは、シグナリング目的のために残差係数のうちのいくつかを改変することができる。デコーダは、次いで、残差係数に基づいてＳＶＴブロックタイプ、ＳＶＴブロック候補位置ステップサイズ、および／またはＳＶＴブロック位置インデックスを決定することができる。
【００４０】
図１は、ビデオ信号をコーディングする例示的な方法１００のフローチャートである。具体的には、ビデオ信号は、エンコーダにおいて符号化される。符号化プロセスは、ビデオファイルサイズを低減するために様々な機構を採用することによってビデオ信号を圧縮する。より小さいファイルサイズにより、関連する帯域幅オーバーヘッドを低減しながら圧縮ビデオファイルをユーザに送信することが可能になる。デコーダは、次いで、エンドユーザへの表示のために元のビデオ信号を再構成するために圧縮ビデオファイルを復号する。復号プロセスは、概して、デコーダがビデオ信号を一貫して再構成することを可能にするために符号化プロセスをミラーリングする。
【００４１】
ステップ１０１において、ビデオ信号がエンコーダに入力される。たとえば、ビデオ信号は、メモリ中に記憶された圧縮されていないビデオファイルであり得る。別の例として、ビデオファイルは、ビデオカメラなどのビデオキャプチャデバイスによってキャプチャされ、ビデオのライブストリーミングをサポートするために符号化され得る。ビデオファイルは、オーディオ成分とビデオ成分との両方を含み得る。ビデオ成分は、シーケンス中で閲覧されるときに動きの視覚的印象を与える一連の画像フレームを含んでいる。フレームは、本明細書ではルーマ成分と呼ぶ光とクロマ成分と呼ばれる色とに関して表されるピクセルを含んでいる。いくつかの例では、フレームはまた、３次元視をサポートするために深度値を含み得る。
【００４２】
ステップ１０３において、ビデオは、ブロックに区分される。区分は、圧縮のために各フレーム中のピクセルを正方形および／または矩形ブロックに再分割することを含む。たとえば、コーディングツリーは、ブロックを分割し、次いで、さらなる符号化をサポートする構成が達成されるまで再帰的に再分割するために採用され得る。したがって、ブロックは、（Ｈ．２６５およびＭｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）−Ｈ  Ｐａｒｔ  ２としても知られる）高効率ビデオコーディング（ＨＥＶＣ）ではコーディングツリーユニットと呼ばれることがある。たとえば、フレームのルーマ成分は、個々のブロックが比較的均質の照明値を含むまで再分割され得る。さらに、フレームのクロマ成分は、個々のブロックが比較的均質の色値を含むまで再分割され得る。したがって、区分機構は、ビデオフレームのコンテンツに応じて変化する。
【００４３】
ステップ１０５において、様々な圧縮機構が、ステップ１０３において区分された画像ブロックを圧縮するために採用される。たとえば、インター予測および／またはイントラ予測が採用され得る。インター予測は、共通のシーン中のオブジェクトが連続フレーム中に現れる傾向があることを利用するように設計される。したがって、参照フレーム中のオブジェクトを示すブロックを隣接するフレーム中で繰り返し記述する必要はない。具体的には、表などのオブジェクトは、複数のフレームにわたって一定の位置に残り得る。したがって、表は１回記述され、隣接するフレームは参照フレームを参照して戻ることができる。パターンマッチング機構は、複数のフレームにわたってオブジェクトに一致するために採用され得る。さらに、移動物体は、たとえば、オブジェクトの移動またはカメラの移動により複数のフレームにわたって表され得る。特定の例として、ビデオは、複数のフレームにわたってスクリーンを横切って移動する自動車を示し得る。動きベクトルは、そのような移動（または、それの欠如）を記述するために採用され得る。動きベクトルは、フレーム中のオブジェクトの座標から参照フレーム中のオブジェクトの座標までのオフセットを与える２次元ベクトルである。したがって、インター予測は、参照フレーム中の対応するブロックからのオフセットを示す動きベクトルのセットとして現在のフレーム中の画像ブロックを符号化することができる。
【００４４】
イントラ予測は、共通のフレーム中のブロックを符号化する。イントラ予測は、ルーマ成分とクロマ成分とがフレーム中でクラスタ化する傾向があることを利用する。たとえば、ツリーの一部分中の緑色のパッチは、緑色の同様のパッチに隣接して位置決めされる傾向がある。イントラ予測は、複数の指向性予測モード（たとえば、ＨＥＶＣでは３３個）、平面モード、および直流（ＤＣ）モードを採用する。指向性モードは、現在のブロックが対応する方向でネイバーブロックのサンプルと同様／同じであることを示す。平面モードは、行／列（たとえば、平面）に沿った一連のブロックが行の端にあるネイバーブロックに基づいて補間され得ることを示す。平面モードは、事実上、値を変更する際に比較的一定の傾斜を採用することによって行／列にわたる光／色の滑らかな遷移を示す。ＤＣモードは、境界の平滑化のために採用され、ブロックが指向性予測モードの角方向に関連するすべてのネイバーブロックのサンプルに関連する平均値と同様／同じであることを示す。したがって、イントラ予測ブロックは、実際の値の代わりに様々な関係のある予測モード値として画像ブロックを表すことができる。さらに、インター予測ブロックは、実際の値の代わりに動きベクトル値として画像ブロックを表すことができる。いずれの場合も、予測ブロックは、場合によっては、画像ブロックを正確に表さないことがある。あらゆる差が残差ブロック中に記憶される。変換は、ファイルをさらに圧縮するために残差ブロックに適用され得る。
【００４５】
ステップ１０７において、様々なフィルタ処理技法が適用され得る。ＨＥＶＣでは、フィルタは、インループフィルタ処理方式に従って適用される。上記で説明したブロックベースの予測は、デコーダにおけるブロック状の画像の作成を生じ得る。さらに、ブロックベースの予測方式は、ブロックを符号化し、次いで、参照ブロックとして後で使用するために符号化されたブロックを再構成し得る。インループフィルタ処理方式は、ブロック／フレームに雑音抑圧フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびサンプル適応オフセット（ＳＡＯ）フィルタを反復的に適用する。これらのフィルタは、そのようなブロッキングアーティファクトを緩和し、したがって、符号化ファイルが正確に再構成され得る。さらに、これらのフィルタは、再構成された参照ブロック中のアーティファクトを緩和し、したがって、アーティファクトは、再構成された参照ブロックに基づいて符号化される後続のブロック中で追加のアーティファクトを作成する可能性が低い。
【００４６】
ビデオ信号が区分され、圧縮され、フィルタ処理されると、得られたデータは、ステップ１０９においてビットストリーム中に符号化される。ビットストリームは、上記で説明したデータならびにデコーダにおける適切なビデオ信号再構成をサポートするために望まれる任意のシグナリングデータを含む。たとえば、そのようなデータは、区分データと、予測データと、残差ブロックと、デコーダにコーディング命令を与える様々なフラグとを含み得る。ビットストリームは、要求時におけるデコーダへの送信のためにメモリ中に記憶され得る。ビットストリームはまた、複数のデコーダにブロードキャストおよび／またはマルチキャストされ得る。ビットストリームの作成は、反復処理である。したがって、ステップ１０１、１０３、１０５、１０７、および１０９は、多くのフレームおよびブロックにわたって連続的におよび／または同時に行われ得る。図１に示した順序は、明快さのため、および説明を容易にするために提示され、特定の順序にビデオコーディングプロセスを限定するものではない。さらに、ステップ１１１、１１３、１１５、および１１７における復号は、多くのフレームおよびブロックにわたって連続的におよび／または同時に行われ得、したがって、復号のために示した順序は同じく限定するものであると見なすべきでない。
【００４７】
デコーダは、ビットストリームを受信し、ステップ１１１において復号プロセスを始める。具体的には、デコーダは、ビットストリームを対応するシンタックスおよびビデオデータに変換するためにエントロピー復号方式を採用する。デコーダは、ステップ１１１においてフレームのための区分を決定するためにビットストリームからのシンタックスデータを採用する。区分は、ステップ１０３においてブロック区分の結果に一致しなければならない。次に、ステップ１１１において採用されるエントロピー符号化／復号について説明する。エンコーダは、入力画像中の値の空間測位に基づいていくつかの可能な選択肢からブロック区分方式を選択するなど、圧縮プロセス中に多くの選択を行う。正確な選択肢をシグナリングすることは多数のビンを採用し得る。本明細書で使用するビンは、変数として扱われる２進値（たとえば、コンテキストに応じて異なり得るビット値）である。エントロピーコーディングにより、エンコーダは、特定の場合に明らかに実行可能でないあらゆるオプションを破棄し、許容できるオプション（たとえば、候補）のセットを残すことが可能になる。許容できる各オプションには、次いで、コードワードが割り当てられる。コードワードの長さは、許容できるオプションの数（たとえば、２つのオプションでは１つのビン、３から４つのオプションでは２つのビンなど）に基づく。エンコーダは、次いで、選択されたオプションのためのコードワードを符号化する。コードワードが、すべての可能なオプションの潜在的に大きいセットからの選択を一意に示すのとは反対に許容できるオプションの小さいサブセットからの選択を一意に示すために望まれる大きさと同じ大きさであるので、この方式はコードワードのサイズを低減する。デコーダは、次いで、エンコーダと同様の方法で許容できるオプションのセットを決定することによって選択を復号する。許容できるオプションのセットを決定することによって、デコーダは、コードワードを読み取り、エンコーダによって行われる選択を決定することができる。
【００４８】
ステップ１１３において、デコーダは、ブロック復号を実行する。具体的には、デコーダは、残差ブロックを生成するために逆変換を採用する。次いで、デコーダは、区分に従って画像ブロックを再構成するために残差ブロックと対応する予測ブロックとを採用する。予測ブロックは、ステップ１０５においてエンコーダにおいて生成されたイントラ予測ブロックとインター予測ブロックとの両方を含み得る。再構成された画像ブロックは、次いで、ステップ１１１において決定された区分データに従って再構成されたビデオ信号のフレームに位置決めされる。ステップ１１３についてのシンタックスはまた、上記で説明したようにエントロピーコーディングを介してビットストリーム中でシグナリングされ得る。
【００４９】
ステップ１１５において、フィルタ処理が、エンコーダにおいてステップ１０７と同様の方法で再構成されたビデオ信号のフレームに対して実行される。たとえば、雑音抑圧フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびＳＡＯフィルタが、ブロッキングアーティファクトを除去するためにフレームに適用され得る。フレームがフィルタ処理されると、ビデオ信号は、エンドユーザによる閲覧のためにステップ１１７においてディスプレイに出力され得る。
【００５０】
本開示は、ＳＶＴを改善するための変更に関する。具体的には、本開示は、残差ブロックに適用される変換として使用するために改善されたＳＶＴブロックをもたらす。改善されたＳＶＴブロックは、レガシーＳＶＴブロックよりも大きい。したがって、改善されたＳＶＴブロックは、より少数の候補位置を有し、低減されたシグナリングオーバーヘッドを生じる。さらに、ＳＶＴブロックタイプおよび位置のための改善されたシグナリング機構を開示する。したがって、改善されたＳＶＴブロックおよび以下の図において説明するシグナリング機構は、ステップ１０５におけるブロック圧縮、ステップ１０９におけるビットストリームの符号化、デコーダにおけるビットストリームの受信、およびステップ１１３におけるブロック復号を改善する。
【００５１】
図２は、ビデオコーディングのための例示的なコーディングおよび復号（コーデック）システム２００の概略図である。具体的には、コーデックシステム２００は、方法１００の実装をサポートするために機能を与える。コーデックシステム２００をエンコーダとデコーダとの両方において採用される構成要素を示すために一般化した。コーデックシステム２００は、方法１００中のステップ１０１および１０３に関して説明したようにビデオ信号を受信し、区分し、区分されたビデオ信号２０１を生じる。コーデックシステム２００は、次いで、方法１００中のステップ１０５、１０７、および１０９に関して説明したようにエンコーダとして働くときにコーディングされたビットストリームに区分されたビデオ信号２０１を圧縮する。デコーダとして働くときに、コーデックシステム２００は、方法１００中のステップ１１１、１１３、１１５、および１１７に関して説明したように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム２００は、一般コーダ制御構成要素２１１と、変換スケーリングおよび量子化構成要素２１３と、イントラピクチャ推定構成要素２１５と、イントラピクチャ予測構成要素２１７と、動き補償構成要素２１９と、動き推定構成要素２２１と、スケーリングおよび逆変換構成要素２２９と、フィルタ制御分析構成要素２２７と、ループ内フィルタ構成要素２２５と、復号ピクチャバッファ構成要素２２３と、ヘッダフォーマット化およびコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）構成要素２３１とを含む。そのような構成要素は、図示のように結合される。図２では、黒線は、符号化／復号されるべきデータの移動を示し、一方、破線は、他の構成要素の動作を制御する制御データの移動を示す。コーデックシステム２００の構成要素はすべて、エンコーダ中に存在し得る。デコーダは、コーデックシステム２００の構成要素のサブセットを含み得る。たとえば、デコーダは、イントラピクチャ予測構成要素２１７と、動き補償構成要素２１９と、スケーリングおよび逆変換構成要素２２９と、ループ内フィルタ構成要素２２５と、復号ピクチャバッファ構成要素２２３とを含み得る。次に、これらの構成要素について説明する。
【００５２】
区分されたビデオ信号２０１は、コーディングツリーによってピクセルのブロックに区分されているキャプチャされたビデオシーケンスである。コーディングツリーは、ピクセルのブロックをピクセルのより小さいブロックに再分割するために様々な分割モードを採用する。これらのブロックは、次いで、より小さいブロックにさらに再分割され得る。ブロックは、コーディングツリー上のノードと呼ばれることがある。より大きい親ノードは、より小さい子ノードに分割される。ノードが再分割される回数は、ノード／コーディングツリーの深度と呼ばれる。分割されたブロックは、場合によっては、コーディングユニット（ＣＵ）と呼ばれる。分割モードは、採用される分割モードに応じてノードを様々な形のそれぞれ２つ、３つ、または４つの子ノードに区分するために採用されるバイナリツリー（ＢＴ）、トリプルツリー（ＴＴ）、およびクアッドツリー（ＱＴ）を含み得る。区分されたビデオ信号２０１は、圧縮のために一般コーダ制御構成要素２１１、変換スケーリングおよび量子化構成要素２１３、イントラピクチャ推定構成要素２１５、フィルタ制御分析構成要素２２７、および動き推定構成要素２２１に転送される。
【００５３】
一般コーダ制御構成要素２１１は、アプリケーション制約によるビットストリームへのビデオシーケンスの画像のコーディングに関係する判断を行うように構成される。たとえば、一般コーダ制御構成要素２１１は、ビットレート／ビットストリームサイズ対再構成品質の最適化を管理する。そのような判断は、ストレージ空間／帯域幅の利用可能性および画像解像度要求に基づいて行われ得る。一般コーダ制御構成要素２１１はまた、バッファアンダーランおよびオーバーラン問題を緩和するために送信速度に照らしてバッファ利用を管理する。これらの問題を管理するために、一般コーダ制御構成要素２１１は、他の構成要素によって区分、予測、およびフィルタ処理を管理する。たとえば、一般コーダ制御構成要素２１１は、動的に、解像度を増加させ、帯域幅使用を増加させるために圧縮複雑性を増加させるか、または解像度および帯域幅使用を減少させるために圧縮複雑性を減少させ得る。したがって、一般コーダ制御構成要素２１１は、ビットレート問題（たとえば、レートひずみ最適化）とビデオ信号再構成品質とのバランスをとるためにコーデックシステム２００の他の構成要素を制御する。一般コーダ制御構成要素２１１は、他の構成要素の動作を制御する制御データを作成する。制御データはまた、デコーダにおいて復号するためのパラメータをシグナリングするためにビットストリーム中に符号化されるためにヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１に転送される。
【００５４】
区分されたビデオ信号２０１はまた、インター予測のために動き推定構成要素２２１と動き補償構成要素２１９とに送られる。区分されたビデオ信号２０１のフレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定構成要素２２１と動き補償構成要素２１９とは、時間的予測を与えるために１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。コーデックシステム２００は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために複数の符号化パスを実行し得る。
【００５５】
動き推定構成要素２２１と動き補償構成要素２１９とは高度に統合され得るが、概念的な目的のために別々に示してある。動き推定構成要素２２１によって実行される動き推定は、動きベクトルを生成する処理であり、これは、ビデオブロックの動きを推定する。動きベクトルは、たとえば、予測ブロックに対するコーディングされたオブジェクトの変位を示し得る。予測ブロックは、ピクセル差分に関してコーディングされるべきブロックに厳密に一致することがわかるブロックである。予測ブロックは、参照ブロックと呼ばれることもある。そのようなピクセル差分は、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得る。ＨＥＶＣは、コーディングツリーユニット（ＣＴＵ）、コーディングツリーブロック（ＣＴＢ）、およびＣＵを含むいくつかのコーディングされたオブジェクトを採用する。たとえば、ＣＴＵは、ＣＴＢに分割され得、これは、次いで、ＣＵに分割され得、これは、必要に応じてさらに再分割され得る。ＣＵは、予測データを含んでいる予測ユニット（ＰＵ）および／またはＣＵのための変換された残差データを含んでいる変換ユニット（ＴＵ）として符号化され得る。動き推定構成要素２２１は、レートひずみ分析を使用することによって動きベクトル、ＰＵ、およびＴＵを生成する。たとえば、動き推定構成要素２２１は、現在のブロック／フレームのための複数の参照ブロック、複数の動きベクトルなどを決定し得、最良のレートひずみ特性を有する参照ブロック、動きベクトルなどを選択し得る。最良のレートひずみ特性は、コーディング効率（たとえば、最終的な符号化のサイズ）とビデオ再構成の品質（たとえば、圧縮によるデータ損失の量）との両方のバランスをとる。
【００５６】
いくつかの例では、コーデックシステム２００は、復号ピクチャバッファ構成要素２２３中に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオコーデックシステム２００は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定構成要素２２１は、完全ピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。動き推定構成要素２２１は、参照ピクチャの予測ブロックの位置とＰＵの位置を比較することによってインターコーディングされたスライス中のビデオブロックのＰＵのための動きベクトルを計算する。動き推定構成要素２２１は、計算された動きベクトルを符号化のためにヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１に動きデータとして出力し、動き補償構成要素２１９に動きとして出力する。
【００５７】
動き補償構成要素２１９によって実行される動き補償は、動き推定構成要素２２１によって決定された動きベクトルに基づいて予測ブロックをフェッチするかまたは生成することを伴い得る。この場合も、動き推定構成要素２２１と動き補償構成要素２１９とは、いくつかの例では、機能的に統合され得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償構成要素２１９は、動きベクトルが指す予測ブロックの位置を特定し得る。残差ビデオブロックは、次いで、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって形成され、ピクセル差分値を形成する。概して、動き推定構成要素２２１は、ルーマ成分に対して動き推定を実行し、動き補償構成要素２１９は、クロマ成分とルーマ成分との両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。予測ブロックと残差ブロックとは、変換スケーリングおよび量子化構成要素２１３に転送される。
【００５８】
区分されたビデオ信号２０１はまた、イントラピクチャ推定構成要素２１５とイントラピクチャ予測構成要素２１７とに送られる。動き推定構成要素２２１および動き補償構成要素２１９の場合と同様に、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７は、高度に統合され得るが、概念的な目的のために別々に示してある。イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７は、上記で説明したようにフレーム間で動き推定構成要素２２１および動き補償構成要素２１９によって実行されるインター予測の代替として、現在のフレーム中のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定構成要素２１５は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定構成要素２１５は、複数のテストされたイントラ予測モードから現在のブロックを符号化するのに適切なイントラ予測モードを選択する。選択されたイントラ予測モードは、次いで、符号化のためにヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１に転送される。
【００５９】
たとえば、イントラピクチャ推定構成要素２１５は、様々なテストされたイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードのうちで最良のレートひずみ特性を有するイントラ予測モードを選択する。レートひずみ分析は、概して、符号化されたブロックと符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみの量（またはエラー）、ならびに符号化されたブロックを生成するために使用されるビットレート（たとえば、ビットの数）を決定する。イントラピクチャ推定構成要素２１５は、どのイントラ予測モードがブロックの最良のレートひずみ値を示すのかを決定するために様々な符号化されたブロックのひずみとレートとから比を計算する。さらに、イントラピクチャ推定構成要素２１５は、レートひずみ最適化（ＲＤＯ）に基づいて深度モデリングモード（ＤＭＭ）を使用して深度マップの深度ブロックをコーディングするように構成され得る。
【００６０】
イントラピクチャ予測構成要素２１７は、エンコーダ上に実装されるとイントラピクチャ推定構成要素２１５によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成するか、またはデコーダ上に実装されるとビットストリームから残差ブロックを読み取り得る。残差ブロックは、行列として表される予測ブロックと元のブロックとの間の値の差を含む。残差ブロックは、次いで、変換スケーリングおよび量子化構成要素２１３に転送される。イントラピクチャ推定構成要素２１５とイントラピクチャ予測構成要素２１７とは、ルーマ成分とクロマ成分の両方に対して動作し得る。
【００６１】
変換スケーリングおよび量子化構成要素２１３は、残差ブロックを圧縮するようにさらに構成される。変換スケーリングおよび量子化構成要素２１３は、残差ブロックに離散コサイン変換（ＤＣＴ）、離散サイン変換（ＤＳＴ）、または概念的に同様の変換などの変換を適用し、残差変換係数値を備えるビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用され得る。変換は、ピクセル値領域から周波数領域などの変換領域に残差情報を変換し得る。変換スケーリングおよび量子化構成要素２１３はまた、たとえば、周波数に基づいて変換された残差情報をスケーリングするように構成される。そのようなスケーリングは、残差情報にスケールファクタを適用することに関与し、したがって、異なる周波数情報は、異なる粒度で量子化され、これは、再構成されたビデオの最終的な視覚的品質に影響を及ぼし得る。変換スケーリングおよび量子化構成要素２１３はまた、ビットレートをさらに低減するために変換係数を量子化するように構成される。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、変換スケーリングおよび量子化構成要素２１３は、次いで、量子化変換係数を含む行列の走査を実行し得る。量子化変換係数は、ビットストリーム中に符号化されるためにヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１に転送される。
【００６２】
スケーリングおよび逆変換構成要素２２９は、動き推定をサポートするために変換スケーリングおよび量子化構成要素２１３の逆動作を適用する。スケーリングおよび逆変換構成要素２２９は、たとえば、別の現在のブロックのための予測ブロックになり得る参照ブロックとして後で使用するためにピクセル領域中で残差ブロックを再構成するために逆スケーリング、変換、および／または量子化を適用する。動き推定構成要素２２１および／または動き補償構成要素２１９は、後のブロック／フレームの動き推定における使用のための対応する予測ブロックに残差ブロックを加算して戻すことによって参照ブロックを計算し得る。フィルタは、スケーリング、量子化、および変換中に作成されるアーティファクトを緩和するために再構成された参照ブロックに適用される。そのようなアーティファクトは、場合によっては、後続のブロックが予測されるときに不正確な予測を生じ（、追加のアーティファクトを作成す）る可能性がある。
【００６３】
フィルタ制御分析構成要素２２７およびループ内フィルタ構成要素２２５は、残差ブロックにおよび／または再構成された画像ブロックにフィルタを適用する。たとえば、スケーリングおよび逆変換構成要素２２９からの変換された残差ブロックは、元の画像ブロックを再構成するためにイントラピクチャ予測構成要素２１７および／または動き補償構成要素２１９からの対応する予測ブロックと組み合わされ得る。フィルタは、次いで、再構成された画像ブロックに適用され得る。いくつかの例では、フィルタは、代わりに、残差ブロックに適用され得る。図２の他の構成要素の場合と同様に、フィルタ制御分析構成要素２２７およびループ内フィルタ構成要素２２５は高度に統合され、一緒に実装され得るが、概念的な目的のために別々に示されている。再構成された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、そのようなフィルタがどのように適用されるのかを調整するために複数のパラメータを含む。フィルタ制御分析構成要素２２７は、そのようなフィルタがどこに適用されなければならないのかについて決定するために再構成された参照ブロックを分析し、対応するパラメータを設定する。そのようなデータは、符号化のためにフィルタ制御データとしてヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１に転送される。ループ内フィルタ構成要素２２５は、フィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、デブロッキングフィルタと、雑音抑圧フィルタと、ＳＡＯフィルタと、適応ループフィルタとを含み得る。そのようなフィルタは、例に応じて、空間／ピクセル領域中に（たとえば、再構成されたピクセルブロック上に）または周波数領域中に適用され得る。
【００６４】
エンコーダとして動作するとき、フィルタ処理された再構成された画像ブロック、残差ブロック、および／または予測ブロックは、上記で説明したように動き推定において後で使用するために復号ピクチャバッファ構成要素２２３中に記憶される。デコーダとして動作するとき、復号ピクチャバッファ構成要素２２３は、再構成されたフィルタ処理されたブロックを記憶し、それを出力ビデオ信号の一部としてディスプレイに転送する。復号ピクチャバッファ構成要素２２３は、予測ブロック、残差ブロック、および／または再構成された画像ブロックを記憶することが可能な任意のメモリデバイスであり得る。
【００６５】
ヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１は、コーデックシステム２００の様々な構成要素からデータを受信し、デコーダへの送信のためにコーディングされたビットストリームにそのようなデータを符号化する。具体的には、ヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１は、一般的な制御データおよびフィルタ制御データなどの制御データを符号化するために様々なヘッダを生成する。さらに、イントラ予測および動きデータを含む予測データならびに量子化変換係数データの形態での残差データはすべて、ビットストリーム中に符号化される。最終的なビットストリームは、元の区分されたビデオ信号２０１を再構成するためにデコーダによって望まれるすべての情報を含む。そのような情報はまた、（コードワードマッピングテーブルとも呼ばれる）イントラ予測モードインデックステーブル、様々なブロックのためのコンテキストを符号化することの定義、最も可能性が高いイントラ予測モードのインジケーション、区分情報のインジケーションなどを含み得る。そのようなデータは、符号化され得、エントロピーコーディングを採用していることがある。たとえば、情報は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、ＣＡＢＡＣ、シンタックスベースのコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピーコーディング技法を採用することによって符号化され得る。エントロピーコーディングに続いて、コーディングされたビットストリームが、別のデバイス（たとえば、ビデオデコーダ）に送信されるか、または後の送信もしくは検索のためにアーカイブされ得る。
【００６６】
本開示は、ＳＶＴを改善するための変更に関する。具体的には、本開示は、残差ブロックに適用される変換として使用するために改善されたＳＶＴブロックをもたらす。改善されたＳＶＴブロックは、レガシーＳＶＴブロックよりも大きい。したがって、改善されたＳＶＴブロックは、より少数の候補位置を有し、低減されたシグナリングオーバーヘッドを生じる。さらに、ＳＶＴブロックタイプおよび位置のための改善されたシグナリング機構を開示する。したがって、以下の図で説明する改善されたＳＶＴブロックおよびシグナリング機構は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、ヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１および／または一般コーダ制御構成要素２１１の動作を改善する。
【００６７】
図３は、ＳＶＴを実装し得る例示的なビデオエンコーダ３００を示すブロック図である。ビデオエンコーダ３００は、コーデックシステム２００の符号化機能を実装するならびに／または方法１００のステップ１０１、１０３、１０５、１０７および／もしくは１０９を実装するために採用され得る。エンコーダ３００は、入力ビデオ信号を区分し、区分されたビデオ信号３０１を生じ、これは、区分されたビデオ信号２０１と実質的に同様である。区分されたビデオ信号３０１は、次いで、圧縮され、エンコーダ３００の構成要素によってビットストリームに符号化される。
【００６８】
具体的には、区分されたビデオ信号３０１は、イントラ予測のためにイントラピクチャ予測構成要素３１７に転送される。イントラピクチャ予測構成要素３１７は、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７と実質的に同様であり得る。区分されたビデオ信号３０１はまた、復号ピクチャバッファ構成要素３２３中の参照ブロックに基づいてインター予測のために動き補償構成要素３２１に転送される。動き補償構成要素３２１は、動き推定構成要素２２１および動き補償構成要素２１９と実質的に同様であり得る。イントラピクチャ予測構成要素３１７および動き補償構成要素３２１からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化構成要素３１３に転送される。変換および量子化構成要素３１３は、変換スケーリングおよび量子化構成要素２１３と実質的に同様であり得る。（関連する制御データとともに）変換された量子化された残差ブロックおよび対応する予測ブロックは、ビットストリームへのコーディングのためにエントロピーコーディング構成要素３３１に転送される。エントロピーコーディング構成要素３３１は、ヘッダフォーマット化およびＣＡＢＡＣ構成要素２３１と実質的に同様であり得る。
【００６９】
変換された量子化された残差ブロックおよび／または対応する予測ブロックはまた、動き補償構成要素３２１が使用するための参照ブロックへの再構成のために変換および量子化構成要素３１３から逆変換および量子化構成要素３２９に転送される。逆変換および量子化構成要素３２９は、スケーリングおよび逆変換構成要素２２９と実質的に同様であり得る。ループ内フィルタ構成要素３２５中のループ内フィルタはまた、再構成された参照ブロックに適用される。ループ内フィルタ構成要素３２５は、フィルタ制御分析構成要素２２７およびループ内フィルタ構成要素２２５と実質的に同様であり得る。ループ内フィルタ構成要素３２５は、ループ内フィルタ構成要素２２５に関して説明したように複数のフィルタを含み得る。フィルタ処理されたブロックは、次いで、動き補償構成要素３２１が参照ブロックとして使用するために復号ピクチャバッファ構成要素３２３中に記憶される。復号ピクチャバッファ構成要素３２３は、復号ピクチャバッファ構成要素２２３と実質的に同様であり得る。
【００７０】
本開示は、ＳＶＴを改善するための変更に関する。具体的には、本開示は、残差ブロックに適用される変換として使用するために改善されたＳＶＴブロックをもたらす。改善されたＳＶＴブロックは、レガシーＳＶＴブロックよりも大きい。したがって、改善されたＳＶＴブロックは、より少数の候補位置を有し、低減されたシグナリングオーバーヘッドを生じる。さらに、ＳＶＴブロックタイプおよび位置のための改善されたシグナリング機構を開示する。たとえば、ＳＶＴタイプおよび／または位置は、パラメータセット中のパラメータとしてシグナリングされ得る。別の例では、エンコーダ３００は、ＳＶＴタイプおよび／または位置をシグナリングするために変換された残差ブロック中の係数を改変することができる。したがって、以下の図で説明する改善されたＳＶＴブロックおよびシグナリング機構は、エンコーダ３００中の変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／またはエントロピーコーディング構成要素３３１の動作を改善する。
【００７１】
図４は、ＳＶＴを実装し得る例示的なビデオデコーダ４００を示すブロック図である。ビデオデコーダ４００は、コーデックシステム２００の復号機能を実装するならびに／または方法１００のステップ１１１、１１３、１１５、および／もしくは１１７を実装するために採用され得る。デコーダ４００は、たとえば、エンコーダ３００からビットストリームを受信し、エンドユーザへの表示のためにビットストリームに基づいて再構成された出力ビデオ信号を生成する。
【００７２】
ビットストリームは、エントロピー復号構成要素４３３によって受信される。エントロピー復号構成要素４３３は、ＣＡＶＬＣ、ＣＡＢＡＣ、ＳＢＡＣ、ＰＩＰＥコーディング、または他のエントロピーコーディング技法などのエントロピー復号方式を実装するように構成される。たとえば、エントロピー復号構成要素４３３は、ビットストリーム中にコードワードとして符号化された追加のデータを解釈するためにコンテキストを与えるためにヘッダ情報を採用し得る。復号された情報は、一般制御データ、フィルタ制御データ、区分情報、動きデータ、予測データ、および残差ブロックからの量子化された変換係数などのビデオ信号を復号するために任意の所望の情報を含む。量子化された変換係数は、残差ブロックへの再構成のために逆変換および量子化構成要素４２９に転送される。逆変換および量子化構成要素４２９は、逆変換および量子化構成要素３２９と同様であり得る。
【００７３】
再構成された残差ブロックおよび／または予測ブロックは、イントラ予測動作に基づく画像ブロックへの再構成のためにイントラピクチャ予測構成要素４１７に転送される。イントラピクチャ予測構成要素４１７は、イントラピクチャ推定構成要素２１５およびイントラピクチャ予測構成要素２１７と同様であり得る。具体的には、イントラピクチャ予測構成要素４１７は、フレーム中の参照ブロックの位置を特定するために予測モードを採用し、イントラ予測された画像ブロックを再構成するために結果に残差ブロックを適用する。再構成されたイントラ予測された画像ブロックならびに／または残差ブロックおよび対応するインター予測データは、ループ内フィルタ構成要素４２５を介して復号ピクチャバッファ構成要素４２３に転送され、これは、それぞれ、復号ピクチャバッファ構成要素２２３およびループ内フィルタ構成要素２２５と実質的に同様であり得る。ループ内フィルタ構成要素４２５は、再構成された画像ブロック、残差ブロックおよび／または予測ブロックをフィルタ処理し、そのような情報は、復号ピクチャバッファ構成要素４２３中に記憶される。復号ピクチャバッファ構成要素４２３からの再構成された画像ブロックは、インター予測のために動き補償構成要素４２１に転送される。動き補償構成要素４２１は、動き推定構成要素２２１および／または動き補償構成要素２１９と実質的に同様であり得る。具体的には、動き補償構成要素４２１は、予測ブロックを生成するために参照ブロックからの動きベクトルを採用し、画像ブロックを再構成するために結果に残差ブロックを適用する。得られた再構成されたブロックはまた、復号ピクチャバッファ構成要素４２３にループ内フィルタ構成要素４２５を介して転送され得る。復号ピクチャバッファ構成要素４２３は、追加の再構成された画像ブロックを記憶し続け、これは、区分情報を介してフレームに再構成され得る。そのようなフレームはまた、シーケンスで配置され得る。シーケンスは、再構成された出力ビデオ信号としてディスプレイに出力される。
【００７４】
本開示は、ＳＶＴを改善するための変更に関する。具体的には、本開示は、残差ブロックに適用される変換として使用するために改善されたＳＶＴブロックをもたらす。改善されたＳＶＴブロックは、レガシーＳＶＴブロックよりも大きい。したがって、改善されたＳＶＴブロックは、より少数の候補位置を有し、低減されたシグナリングオーバーヘッドを生じる。さらに、ＳＶＴブロックタイプおよび位置のための改善されたシグナリング機構を開示する。たとえば、ＳＶＴタイプおよび／または位置は、パラメータセット中のパラメータとしてシグナリングされ得る。別の例では、エンコーダ３００は、ＳＶＴタイプおよび／または位置をシグナリングするために変換された残差ブロック中の係数を改変することができる。したがって、以下の図で説明する改善されたＳＶＴブロックおよびシグナリング機構は、デコーダ４００中のエントロピー復号構成要素４３３ならびに逆変換および量子化構成要素４２９の動作を改善する。
【００７５】
次に、方法１００、コーデックシステム２００、エンコーダ３００、および／またはデコーダ４００に対する改善について、概して、以下の図に関して与えるさらなる例示的な実装詳細を用いて説明する。上記で説明したように、エンコーダ（たとえば、エンコーダ３００）は、ピクセルのブロックを予測情報に変換することによってそのようなブロックを符号化し、これは、予測ブロックと呼ばれることもある。予測ブロックは、対応する参照ブロックを参照してピクセルブロックを符号化する。よく一致した参照ブロックでさえ、符号化されているピクセルブロックとはやや異なり得る。したがって、予測ブロックは単独で、デコーダ（たとえば、デコーダ４００）においてピクセルブロックを再構成するのに十分な情報を与えないことがある。ピクセルブロックと予測ブロックによって参照される参照ブロックとの間の差は、残差ブロック中で符号化される。したがって、デコーダは、予測ブロック、残差ブロック、および対応する参照ブロックを採用することによってピクセルブロックを復号することができる。残差ブロックは、残差ブロック中に含まれている値に変換を適用することによってさらに圧縮され得る。これは、変換領域（たとえば、周波数領域）中で残差ブロック値を係数に変換する。残差ブロック全体を変換することは、特に、残差ブロックがゼロ値の有意なグループを含んでいるとき（これは、ピクセルブロックと参照ブロックとの間での良好な一致の場合に発生する）、変換計算機構に関係する理由のために最適な圧縮を提供しないことがある。
【００７６】
したがって、ＳＶＴ処理は、エンコーダにおいて残差ブロック上に変換ブロックを配置する。変換ブロックは、残差ブロックの対応する部分を変換係数に変換し、残差ブロックの他の部分を未変換のままにする。残差ブロックは、次いで、変換係数と（もしあれば）非ゼロ値との組合せとしてビットストリーム中に符号化され得る。残差ブロックを復号するために、デコーダは、（あらかじめ定義され得る）使用される変換と、変換ブロックのサイズと、残差ブロックに対する変換ブロックの位置とを知っていなければならない。デコーダは、次いで、さらなる復号のために残差ブロック値を再構成するために残差ブロックに対応する逆変換ブロックを適用することができる。逆変換は、変換の反対の数学関数であり、変換によって生じた計算を逆行するために採用され得る。したがって、変換は、データ値を係数に変換し、逆変換は、係数に基づいて元のデータ値を回復することができる。説明の明快さを増加するために、本明細書では、変換／変換ブロックが符号化するときの変換と復号するときの対応する逆変換とを言及するために使用されることに留意されたい。
【００７７】
デコーダに変換ブロックを配置するのをサポートするためにＳＶＴ情報をシグナリングすることは、全体的な圧縮／コーディング効率を低減し得る。本開示は、変換ブロックを選択するときにエンコーダにおいてシグナリングオーバーヘッドを低減し、コーディング効率を増加させ、および／またはＲＤＯ処理の複雑性を低減するＳＶＴ改善を含む。本開示では、エンコーダは、それぞれ図５および図６に示すように垂直ＳＶＴまたは水平ＳＶＴを選択することに限定される。２つのオプションしか利用可能でないので、シグナリングオーバーヘッドが低減される。たとえば、変換ブロックサイズおよび形状は、どのＳＶＴブロックタイプ、垂直または水平が採用されるのかを決定することによってデコーダにおいて決定され得る。垂直ＳＶＴと水平ＳＶＴとは、残差ブロックのサイズの半分をカバーし、したがって、（残差ブロックのサイズの１／４しかカバーしない）他のＳＶＴ方式よりも多くの残差ブロックを変換する。さらに、垂直ＳＶＴは、残差ブロックの高さであり、水平ＳＶＴは、残差ブロックの幅である。これは、変換ブロックの位置を対応する垂直ＳＶＴ候補位置または水平候補位置の小さいグループに限定し、これらの例を、それぞれ、図７および図８に示す。変換ブロックの位置は、どの候補位置が選択されるのかを符号化することによってシグナリングされ得る。具体的には、デコーダは、ＳＶＴブロックタイプ、候補位置ステップサイズ、および位置インデックスを決定することによってＳＶＴブロックのための選択された候補位置を決定することができる。ＳＶＴブロックタイプおよび位置インデックスがシグナリングされ得、候補位置ステップサイズは、例に応じてあらかじめ定義されるかまたはシグナリングされ得る。本明細書では、ＳＶＴブロックタイプ、候補位置ステップサイズ、および／または位置インデックスをＳＶＴ情報と呼ぶ。
【００７８】
本開示はまた、ＳＶＴ情報をシグナリングするための改善されたシグナリング機構を含む。いくつかの例では、ＳＶＴ情報は、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダなどのパラメータセット中でシグナリングされる。いくつかの例では、ＳＶＴ情報の一部または全部が、シグナリングオーバーヘッドを低減するために残差ブロック中の係数によってシグナリングされ得る。たとえば、エンコーダは、著しく影響を及ぼされた全体的な画質を伴わずに、残差値／変換係数を調整することができる。したがって、エンコーダは、ＳＶＴ情報またはそれの部分を示すためにいくつかのあらかじめ定義された位置にある残差値／変換係数を調整することができる。デコーダは、次いで、ＳＶＴ情報を決定するためにあらかじめ定義された位置にある残差値／変換係数のグループを検討することができる。そのような係数グループの一例を図９に示す。特定の例として、デコーダは、単独でまたはパラメータセット中でシグナリングするのと組み合わせてＳＶＴ情報を決定するためにあらかじめ定義されたグループに加算またはモジュロ演算などの計算関数を適用することができる。次に、前の改善の詳細について対応する図に関して以下で説明する。
【００７９】
ＳＶＴは、いくつかの例では、インター予測ベースの予測ブロックに対する使用に制限され得ることに留意されたい。他の例では、ＳＶＴはまた、イントラ予測ベースの予測ブロックのために使用され得る。いくつかの例では、ＳＶＴは、特定のインター予測機構（たとえば、並進モデルベースの動き補償）を使用する予測ブロックに採用されるが、他のインター予測機構（たとえば、アフィンモデルベースの動き補償）を使用する予測ブロックに採用されないことがある。
【００８０】
図５は、例示的な垂直ＳＶＴ５４３を示す概略図５００である。垂直ＳＶＴ５４３は、位置オフセット５４５に基づいて残差ブロック５４１上に位置決めされ得るＳＶＴブロック（たとえば、垂直ＳＶＴブロック）である。たとえば、垂直ＳＶＴ５４３は、方法１００のステップ１０５および／または１１３において採用される残差ブロック５４１を変換することができる。さらに、垂直ＳＶＴ５４３は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９によって採用され得る。垂直ＳＶＴ５４３は、それぞれ、ピクセル領域から周波数／変換領域に、その逆も同様に、残差ブロック５４１中のデータ値を変換するために、例に応じて変換または逆変換を含んでいるブロックである。
【００８１】
残差ブロック５４１は、予測ブロックと１つまたは複数の対応する参照ブロックとの間の差を表す値の行列を含んでいる。したがって、残差ブロック５４１と対応する予測ブロックとは、デコーダにおいて画像ブロックを再構成するために採用され得る。エンコーダにおいて、残差ブロック５４１は、最初に、値の様々な分散を含んでいる。予測ブロックと参照ブロックとの間の一致がより近接するほど、残差ブロック５４１中に含まれる非ゼロ値がより少なくなる。したがって、異なる残差ブロック５４１は、様々な位置において様々な数のゼロ値と様々な数の非ゼロ値とを含むことができる。非ゼロ値の位置が変動するので、垂直ＳＶＴ５４３は、非ゼロ値の可能な最大数をカバーし、したがって、変換するためにいくつかの候補位置のうちの１つに位置決めされ得る。
【００８２】
エンコーダにおいて、斜めの陰影をもつボックスによって示される垂直ＳＶＴ５４３は、残差ブロック５４１値の一部分を変換係数に変換することによって残差ブロック５４１を圧縮するために適用され得る。垂直ＳＶＴ５４３は、ＤＣＴ、ＤＳＴ、または他の変換（たとえば、フーリエ関連の変換）などの変換を含む。変換は、異なる周波数および振幅をもつ正弦曲線で表され得る関数／信号である。エンコーダにおいて、変換は、変換によってカバーされる残差ブロック５４１の値を、変換関数と垂直ＳＶＴ５４３によってカバーされた残差ブロック５４１中の値によって作成される信号との間の差を示す変換係数に変換する。したがって、エンコーダは、値と変換係数との組合せとしてビットストリーム中に残差ブロック５４１を符号化することができる。具体的には、変換された残差ブロック５４１は、変換によって生成された係数を含み得、また、変換ブロックによってカバーされる残差ブロック５４１のエリアの外部に位置決めされた未変換の値を含み得る。デコーダにおいて、残差ブロック５４１は、値と変換係数との組合せとして受信される。デコーダにおいて、垂直ＳＶＴ５４３は、エンコーダにおいて採用される変換に対する逆変換を含んでいる。逆変換は、数値しか含んでいない残差ブロック５４１を再構成するために変換係数に適用され得る。残差ブロック５４１は、次いで、ビデオシーケンスにおいて使用するためのピクセルブロックを再構成するために予測ブロックと参照ブロックと併せて採用され得る。
【００８３】
垂直ＳＶＴ５４３は、残差ブロック５４１のエリアの半分をカバーする。これは、（残差ブロックのエリアの１／４をカバーするＳＶＴブロックを採用する）他のＳＶＴ方式に対して垂直ＳＶＴ５４３によって変換され得る残差ブロック５４１中の値の数を増加させる。具体的には、残差ブロック５４１は、幅（ｗ）５４１ａと高さ（ｈ）５４１ｂとを含む。垂直ＳＶＴ５４３は、変換の幅（ｗ＿ｔ）５４３ａと変換の高さ（ｈ＿ｔ）５４３ｂとを含む。垂直ＳＶＴ５４３の変換の高さ５４３ｂは、残差ブロック５４１の高さ５４１ｂに等しくなる。垂直ＳＶＴ５４３の変換の幅５４３ａは、残差ブロック５４１の幅５４１ａの１／２である。これにより、垂直ＳＶＴ５４３を残差ブロック５４１に対して異なる候補位置に水平方向にシフトすることが可能になるが、垂直ＳＶＴ５４３は、残差ブロック５４１に対して垂直方向にシフトされないことがある。したがって、垂直ＳＶＴ５４３のための候補位置の数は、残差ブロック５４１の高さ５４１ｂではなく残差ブロック５４１の幅５４１ａと相関している。これは、他のＳＶＴ方式に対して垂直ＳＶＴ５４３のための可能な候補位置の数を低減する。
【００８４】
また、垂直ＳＶＴ５４３は、垂直の観点から１つのロケーションにしか位置決めされ得ないので、垂直座標は、垂直ＳＶＴ５４３を位置決めするためにシグナリングされない。具体的には、垂直ＳＶＴ５４３は、位置オフセット５４５によって残差ブロックに対して位置決めされ得る。垂直ＳＶＴ５４３のための位置オフセット５４５は、垂直ＳＶＴ５４３の開始位置と残差ブロック５４１の左側との間の水平距離を示す。
【００８５】
たとえば、垂直ＳＶＴ５４３のための候補位置は、候補位置ステップサイズ（ＣＰＳＳ）に従って決定され得る。ＣＰＳＳを採用すると、候補位置は、ＣＰＳＳによって指定されたもので（たとえば、垂直ＳＶＴ５４３の水平方向で）等しい空間で分離される。候補位置の数は、いくつかの例では、５つ以下に低減され得る。これは、位置情報のオーバーヘッドシグナリングをさらに緩和する。これはまた、ＲＤＯ処理における最良の変換ブロック位置を決定するときにエンコーダにおける判断複雑性を低減することができる。
【００８６】
候補位置ステップサイズは、残差ブロック５４１に対する２つの隣接する候補位置間の距離を示す値である。候補位置ステップサイズは、ＳＶＴブロックのための可能な候補位置のセットを決定するために採用され得る。位置インデックスは、候補位置のセットから選択されたＳＶＴ位置を示すデータ値である。ＣＰＳＳは、以下でより詳細に説明するように垂直ＳＶＴ５４３が採用されるのかまたは水平ＳＶＴが採用されるのかに応じて残差ブロック５４１の幅５４１ａまたは高さ５４１ｂに基づいて計算され得る。たとえば、垂直ＳＶＴ５４３のためのＣＰＳＳは、以下の式１に従って決定され得る。
ＣＰＳＳ＝ｗ／Ｍ１，  式１
ここで、ｗは、幅５４１ａであり、Ｍ１は、２から８の範囲内にあり得るあらかじめ定義されたステップサイズを表す整数である。より大きいＭ１値では、より多くの候補位置が可能になる。一例では、Ｍ１は８として設定され、これにより、０から４の位置インデックスが可能になる。この例を図７に示す。別の例として、垂直ＳＶＴ５４３のためのＣＰＳＳは、以下の式２に従って決定され得る。
ＣＰＳＳ＝ｍａｘ（ｗ／Ｍ１，Ｔｈ１），  式２
ここで、ｗは、幅５４１ａであり、Ｍ１は、あらかじめ定義されたステップサイズを表す整数であり、Ｔｈ１は、最大ステップサイズのしきい値を示すあらかじめ定義された整数であり、ｍａｘ（）は、含まれた値のうちで最大値を選択する関数である。したがって、垂直ＳＶＴ５４３のためのＣＰＳＳは、ステップサイズのしきい値最大数を用いた残差ブロック５４１の幅５４１ａと相関していることがある。特定の例では、Ｍ１は、２から８の間の整数（たとえば、８、４、または、２）であり得る。Ｔｈ１は、２以上の整数であり得る。Ｍ１および／もしくはＴｈ１は、エンコーダ／デコーダに知られている固定値であり得、ならびに／またはシーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダなどのビットストリーム中の高レベルシンタックス構造から導出され得る。
【００８７】
ＣＰＳＳを採用することによって、位置オフセット５４５は、たとえば、インデックスを採用することによって決定され得る。そのような場合、インデックスは、どの候補位置がエンコーダによって選択されるのかを示すためにシグナリングされ得る。デコーダは、次いで、位置オフセット５４５を決定するためにインデックスとＣＰＳＳとを採用し、適切なロケーションにおいて残差ブロック５４１に垂直ＳＶＴ５４３を適用することができる。
【００８８】
本開示はまた、ＳＶＴ情報のコーディングのための改善されたシグナリング機構を含む。ＳＶＴ情報は、ＳＶＴタイプを含み得、この場合、垂直ＳＶＴ５４３と残差ブロック５４１に対する変換ブロックの位置とを含み得る。いくつかの例では、そのようなデータの一部または全部は、残差ブロック５４１中の変換係数を検査することによってデコーダにおいて決定され得る。たとえば、残差ブロック５４１中の変換係数値中の小さい変化は、最終的な画質に著しく影響を及ぼさないことがある。したがって、エンコーダは、ＳＶＴ情報をシグナリングするために残差ブロック５４１中の変換係数値を改変することができる。デコーダは、次いで、ＳＶＴ情報を決定するために残差ブロック５４１中の変換係数値を検査することができる。たとえば、位置インデックスおよび／またはＣＰＳＳなどの垂直ＳＶＴ５４３の位置情報は、残差ブロック５４１中の変換係数レベルの和から導出され得る。別の例では、ＳＶＴタイプ情報は、変換係数の第１のグループ（たとえば、走査順で最初の１６個の係数）の和から導出され得、位置情報は、変換係数の第２のグループ（たとえば、残差ブロック５４１中の残りの係数）の和から導出される。さらに別の例では、候補位置の数は、変換係数情報に従って決定され得、位置情報は、候補位置の数に基づいて復号され得る。
【００８９】
図６は、例示的な水平ＳＶＴ６４３を示す概略図６００である。水平ＳＶＴ６４３は、位置オフセット６４５に基づいて残差ブロック６４１上に位置決めされ得るＳＶＴブロック（たとえば、水平ＳＶＴブロック）である。たとえば、水平ＳＶＴ６４３は、方法１００のステップ１０５および／または１１３において採用される残差ブロック６４１を変換することができる。さらに、水平ＳＶＴ６４３は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９によって採用され得る。水平ＳＶＴ６４３は、それぞれ、ピクセル領域から周波数／変換領域に、その逆も同様に、残差ブロック６４１中のデータ値を変換するために、例に応じて変換または逆変換を含んでいるブロックである。
【００９０】
斜めの陰影をもつボックスによって示される水平ＳＶＴ６４３は、垂直ＳＶＴ５４３と実質的に同様であるが、異なる次元を含んでいる。たとえば、エンコーダは、非ゼロ値の分散に応じて残差ブロック５４１／６４１を変換するために水平ＳＶＴ６４３または垂直ＳＶＴ５４３を選択することができる。具体的には、残差ブロック６４１は、幅６４１ａと高さ６４１ｂとを含み、そのようなアイテムは、それぞれ、残差ブロック５４１の幅５４１ａと高さ５４１ｂと実質的に同様であり得る。水平ＳＶＴ６４３はまた、残差ブロック６４１のエリアの１／２をカバーする。水平ＳＶＴ６４３は、変換の幅（ｗ＿ｔ）６４３ａと変換の高さ（ｈ＿ｔ）６４３ｂとを含む。水平ＳＶＴ６４３の変換の高さ６４３ｂは、残差ブロック６４１の高さ６４１ｂの１／２である。水平ＳＶＴ６４３の変換の幅６４３ａは、残差ブロック６４１の幅６４１ａに等しくなる。これにより、垂直ＳＶＴの水平ＳＶＴ６４３は、（垂直ＳＶＴ５４３の水平シフトとは対照的に）残差ブロック６４１に対して異なる候補位置に垂直方向にシフトすることが可能になる。水平ＳＶＴ６４３は、残差ブロック６４１に対して水平方向にシフトされないことがある。したがって、水平ＳＶＴ６４３のための候補位置の数は、残差ブロック６４１の幅６４１ａではなく残差ブロック６４１の高さ６４１ｂと相関している。これは、他のＳＶＴ方式に対して水平ＳＶＴ６４３のための可能な候補位置の数を低減する。
【００９１】
水平ＳＶＴ６４３の場合、位置オフセット６４５は、水平ＳＶＴ６４３の開始位置と残差ブロック６４１の上面との間の垂直距離を示す。水平ＳＶＴ６４３が単一の水平位置にしか位置決めされ得ないので、位置オフセット６４５は、残差ブロック６４１に対して水平ＳＶＴ６４３を位置決めするのに十分な情報を含んでいる。垂直ＳＶＴ５４３と同様に、水平ＳＶＴ６４３は、ＣＰＳＳに基づいて位置決めされ得る。しかしながら、水平ＳＶＴ６４３を採用するとき、ＣＰＳＳは、ＣＰＳＳによって指定されたように垂直方向に等しい空間で分離される候補位置を示す。ＣＰＳＳの決定および対応するシグナリングは、垂直ＳＶＴ５４３のためのＣＰＳＳ決定／シグナリングと実質的に同様であり得る。しかしながら、水平ＳＶＴ６４３のためのＣＰＳＳは、残差ブロック６４１の高さ６４１ｂに応じて決定され得る。
【００９２】
たとえば、水平ＳＶＴ６４３のためのＣＰＳＳは、以下の式３に従って決定され得る。
ＣＰＳＳ＝ｈ／Ｍ２，  式３
【００９３】
ここで、ｈは、高さ５４１ｂであり、Ｍ２は、２から８の範囲内にあり得るあらかじめ定義されたステップサイズを表す整数である。より大きいＭ３値では、より多くの候補位置が可能になる。一例では、Ｍ３は８として設定され、これにより、０から４の位置インデックスが可能になる。この例を図８に示す。別の例として、水平ＳＶＴ６４３のためのＣＰＳＳは、以下の式４に従って決定され得る。
ＣＰＳＳ＝ｍａｘ（ｈ／Ｍ２，Ｔｈ２），  式４
ここで、ｈは、高さ５４１ｂであり、Ｍ２は、あらかじめ定義されたステップサイズを表す整数であり、Ｔｈ２は、最大ステップサイズのしきい値を示すあらかじめ定義された整数であり、ｍａｘ（）は、含まれた値のうちで最大値を選択する関数である。したがって、水平ＳＶＴ６４３のためのＣＰＳＳは、ステップサイズのしきい値最大数を用いた残差ブロック６４１の高さ６４１ｂと相関していることがある。特定の例では、Ｍ２は、２から８の間の整数（たとえば、８、４、または、２）であり得る。Ｔｈ２は、２以上の整数であり得る。Ｍ２および／もしくはＴｈ２は、エンコーダ／デコーダに知られている固定値であり得、ならびに／またはシーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダなどのビットストリーム中の高レベルシンタックス構造から導出され得る。さらに、水平ＳＶＴ６４３についてのＳＶＴ情報は、垂直ＳＶＴ５４３と同様の方法で変換係数によってシグナリングされ得る。
【００９４】
図７Ａ〜図７Ｅは、例示的な垂直ＳＶＴ候補位置７００を示す概略図である。たとえば、垂直ＳＶＴ候補位置７００は、垂直ＳＶＴ５４３を実装し得る垂直ＳＶＴ７４３によって採用され得る。したがって、候補位置７００は、方法１００のステップ１０５および／または１１３において採用され得る。さらに、候補位置７００は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９によって採用され得る。
【００９５】
候補位置７００は、垂直ＳＶＴ７４３が位置オフセット７４５の変化に基づいて残差ブロック７４１に対して占有することができる異なる可能な位置を含み、これらは、それぞれ、残差ブロック５４１および位置オフセット５４５と同様であり得る。図示の例では、ＣＰＳＳの計算は、５つの可能な候補位置７００を生じる。具体的には、図７Ａに、位置オフセット７４５が０である第１の候補位置（たとえば、位置インデックス１）を示し、図７Ｂに、位置オフセット７４５が残差ブロック７４１の幅の１／８である第２の候補位置（たとえば、位置インデックス２）を示し、図７Ｃに、位置オフセット７４５が残差ブロック７４１の幅の１／４である第３の候補位置（たとえば、位置インデックス３）を示し、図７Ｄに、位置オフセット７４５が残差ブロック７４１の幅の３／８である第４の候補位置（たとえば、位置インデックス４）を示し、図７Ｅに、位置オフセット７４５が残差ブロック７４１の幅の１／２である第５の候補位置（たとえば、位置インデックス５）を示す。したがって、垂直ＳＶＴ７４３は、垂直ＳＶＴ７４３が（たとえば、水平ＳＶＴの代わりに）採用されると決定することと、（たとえば、この例では、５つの候補位置７００を生じる）ＣＰＳＳを決定することと、候補位置７００のうちのどれが採用されるのかを示すために位置インデックスを決定することとを行うことによって特定の残差ブロック７４１上で位置決めされ得る。採用されるＳＶＴブロックの識別情報、ＣＰＳＳ／候補の位置、および／または位置インデックスは、ＳＶＴ情報としてエンコーダとデコーダとの間でシグナリングされ得る。ＳＶＴ情報は、パラメータセット中でシグナリングされるか、または残差ブロック７４１の係数中に符号化され得る。シグナリング機構について、以下でさらに詳細に説明する。
【００９６】
図８Ａ〜図８Ｅは、例示的な水平ＳＶＴ候補位置８００を示す概略図である。たとえば、水平ＳＶＴ候補位置８００は、水平ＳＶＴ６４３を実装し得る水平ＳＶＴ８４３によって採用され得る。したがって、候補位置８００は、方法１００のステップ１０５および／または１１３において採用され得る。さらに、候補位置８００は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９によって採用され得る。
【００９７】
候補位置８００は、水平ＳＶＴ８４３が位置オフセット８４５の変化に基づいて残差ブロック８４１に対して占有することができる異なる可能な位置を含み、これらは、それぞれ、残差ブロック６４１および位置オフセット６４５と同様であり得る。図示の例では、ＣＰＳＳの計算は、５つの可能な候補位置８００を生じる。具体的には、図８Ａに、位置オフセット８４５が０である第１の候補位置（たとえば、位置インデックス１）を示し、図８Ｂに、位置オフセット８４５が残差ブロック８４１の幅の１／８である第２の候補位置（たとえば、位置インデックス２）を示し、図８Ｃに、位置オフセット８４５が残差ブロック８４１の幅の１／４である第３の候補位置（たとえば、位置インデックス３）を示し、図８Ｄに、位置オフセット８４５が残差ブロック８４１の幅の３／８である第４の候補位置（たとえば、位置インデックス４）を示し、図８Ｅに、位置オフセット８４５が残差ブロック８４１の幅の１／２である第５の候補位置（たとえば、位置インデックス５）を示す。したがって、水平ＳＶＴ８４３は、水平ＳＶＴ８４３が（たとえば、垂直ＳＶＴの代わりに）採用されると決定することと、（たとえば、この例では、５つの候補位置８００を生じる）ＣＰＳＳを決定することと、候補位置８００のうちのどれが採用されるのかを示すために位置インデックスを決定することとを行うことによって特定の残差ブロック８４１上で位置決めされ得る。採用されるＳＶＴブロックの識別情報、ＣＰＳＳ／候補の位置、および／または位置インデックスは、ＳＶＴ情報としてエンコーダとデコーダとの間でシグナリングされ得る。ＳＶＴ情報は、パラメータセット中でシグナリングされるか、または残差ブロック８４１の係数中に符号化され得る。シグナリング機構について、以下でさらに詳細に説明する。
【００９８】
図９は、例示的な変換係数グループ９００を示す概略図である。たとえば、変換係数グループ９００は、それぞれ、垂直ＳＶＴ５４３または水平ＳＶＴ６４３を実装し得る垂直ＳＶＴ７４３または水平ＳＶＴ８４３についてのＳＶＴ情報をシグナリングするために採用され得る。したがって、変換係数グループ９００は、ステップ１０５に応答して生成され得、方法１００のステップ１１３において使用するためのＳＶＴ情報をシグナリングすることができる。さらに、変換係数グループ９００は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９が使用するためのＳＶＴ情報を示すために採用され得る。
【００９９】
変換係数グループ９００は、例に応じて垂直ＳＶＴ５４３、垂直ＳＶＴ７４３、水平ＳＶＴ６４３、および／または水平ＳＶＴ８４３などの変換ブロック９４３によって変換されている変換係数を残差ブロック中に含む。変換係数グループ９００は、水平の陰影をもつボックスによって示される第１の変換係数グループ９４７と垂直の陰影をもつボックスによって示される第２の変換係数グループ９４９とを含む。第１の変換係数グループ９４７は、あらかじめ定義され得る第１の変換グループの幅（ｗ＿ｔ１）と第１の変換グループの高さ（ｈ＿ｔ１）とを含む。第２の変換係数グループ９４９は、同じくあらかじめ定義され得る第２の変換グループの幅（ｗ＿ｔ２）と第２の変換グループの高さ（ｈ＿ｔ２）とを含む。そのような幅と高さとは、例に応じて変動することができる。さらに、いくつかの例は、ＳＶＴ情報をシグナリングするために第１の変換係数グループ９４７と第２の変換係数グループ９４９との両方を採用するが、いくつかの例は、ＳＶＴ情報をシグナリングするために単一の変換係数グループ９４７または９４９を採用する。また、いくつかのコーディング方式では、ビデオフレームは、Ｙ成分として知られるルーマ成分とＵ成分およびＶ成分として知られるクロマ成分とに分割されることに留意されたい。したがって、別個の残差ブロックがあり得、したがって、Ｙ成分、Ｕ成分、および／またはＶ成分のために変換係数の異なるグループがあり得る。
【０１００】
一例では、ＳＶＴ情報のうちの少なくともいくつかは、Ｙ成分のみの変換ブロック９４３中の変換係数の和を決定することによって決定され得る。一例では、ＳＶＴ情報のうちの少なくともいくつかは、Ｙ成分、Ｕ成分、およびＶ成分の対応する変換ブロック９４３中の変換係数の和を決定することによって決定され得る。別の例では、ＳＶＴ情報のうちの少なくともいくつかは、係数走査順で（たとえば、ジグザグ走査を使用して）Ｙ成分の変換ブロック９４３中の最初のＮ個の変換係数の和を決定することによって決定され得、ここで、Ｎは、１６または３２などの整数であり得る。
【０１０１】
別の例では、ＳＶＴ情報のうちの少なくともいくつかは、変換ブロック９４３の左上の部分にサイズｗ＿ｔ１×ｈ＿ｔ１の領域をもつ第１の変換係数グループ９４７中の係数の和を決定することによって決定され得る。この位置は、より低い周波数変換係数に対応し得る。一例では、ｗ＿ｔ１とｈ＿ｔ１とは共に４として設定される。別の例では、ｗ＿ｔ１とｈ＿ｔ１とは、以下の式５〜６に従って設定される。
ｗ＿ｔ１＝ｍａｘ（ｗ／８，４），  式５
ｈ＿ｔ１＝ｍａｘ（ｈ／８，４），  式６
ここで、ｗ＿ｔ１とｈ＿ｔ１とは、第１の変換係数グループ９４７のそれぞれ幅および高さであり、ｈとｗとは、残差ブロックのそれぞれ高さおよび幅であり、ｍａｘ（）は、含まれた値のうちで最大値を選択する関数である。たとえば、第１の変換係数グループ９４７の偶数和は、垂直ＳＶＴが採用されることを示すことができ、第１の変換係数グループ９４７の奇数和は、水平ＳＶＴが採用されることを示すことができ、またその逆も同様である。
【０１０２】
別の例では、ＳＶＴ情報のうちの少なくともいくつかは、第２の変換係数グループ９４９の和を決定することによって決定され得る。たとえば、位置インデックスは、第２の変換係数グループ９４９中の変換係数の和に基づいて導出され得る。第２の変換係数グループ９４９は、第１の変換係数グループ９４７を含まない、残差ブロック９４１の左上隅のサイズｗ＿ｔ２×ｈ＿ｔ２の領域中にあり得る。一例では、ｗ＿ｔ２＝ｗ＿ｔであり、ｈ＿ｔ２＝ｈ＿ｔであり、したがって、すべての係数は、第１の変換係数グループ９４７以外は第２の変換係数グループ９４９に属する。別の例では、ｗ＿ｔ２とｈ＿ｔ２とは、以下の式７〜８に従って決定される。
ｗ＿ｔ２＝ｍａｘ（ｗ＿ｔ／２，ｗ＿ｔ１），  式７
ｈ＿ｔ２＝ｍａｘ（ｈ＿ｔ／２，ｈ＿ｔ１），  式８
ここで、ｗ＿ｔ２とｈ＿ｔ２とは、第２の変換係数グループ９４９のそれぞれ幅および高さであり、ｗ＿ｔ１とｈ＿ｔ１とは、第１の変換係数グループ９４７のそれぞれ幅および高さであり、ｗ＿ｔとｈ＿ｔとは、変換ブロック９４３のそれぞれ幅および高さである。
【０１０３】
一例では、第１の変換係数グループ９４７は、ＳＶＴ位置インデックスを決定するために採用され得る。別の例では、第１の変換係数グループ９４７は、ＳＶＴタイプを決定するために採用され得、第２の変換係数グループ９４９は、ＳＶＴ位置インデックスを決定するために採用され得、またその逆も同様である。係数走査順は、変換ブロック９４３の幅と高さとに基づいて導出され得る。さらに、ＳＶＴ位置のための変換係数をパースするとき、第１の変換係数グループ９４７によってカバーされる位置の係数は、スキップされ、したがって、第２の変換係数グループ９４７に割り当てられ得る。
【０１０４】
たとえば、ＳＶＴブロックのための位置インデックスは、変換係数グループ９４７または９４９中の変換係数の和とＳＶＴブロックに関連する候補位置の数とに基づいて決定され得る。この例では、ＳＶＴブロックタイプは、パラメータセット中でシグナリングされ得、候補位置の数は、あらかじめ定義されているか、またはパラメータセット中でシグナリングされ得るＣＰＳＳに基づいて決定され得る。位置インデックスは、以下の式９に従って決定され得る。
Ｐ＝Ｓｔ％Ｎｔ，  式９
ここで、Ｐは、位置インデックスであり、Ｓｔは、変換係数グループ９４７または９４９中の変換係数の和であり、Ｎｔは、ＳＶＴブロックのための候補位置の数であり、％は、ＮｔでのＳｔの除算の後に余りを戻すモジュロ演算を示す。
【０１０５】
特定の例として、式１〜４のパラメータＭ１およびＭ２は、４として設定され得、これは、水平ＳＶＴまたは垂直ＳＶＴのための３つの候補位置を生じる。これは、式９からのＮｔを水平ＳＶＴまたは垂直ＳＶＴのための３に設定する。位置インデックスは、次いで、Ｓｔを３で除算したものの余りとして計算される。別の例では、パラメータＭ１およびＭ２は、２として設定され、これは、水平ＳＶＴまたは垂直ＳＶＴのための２つの候補位置を生じる。これは、式９からのＮｔを水平ＳＶＴまたは垂直ＳＶＴのための２に設定する。位置インデックスは、次いで、Ｓｔを２で除算したものの余りとして計算される。
【０１０６】
別の例では、位置インデックスは、変換係数グループ９４７または９４９からの変換係数の和によって部分的に決定され得る。パラメータＭ１およびＭ２は、８に設定され得、ＳＶＴの５つの候補位置を生じる。Ｓｔモジュロ３が０に等しくなるとき、位置インデックスは、０であると決定され、Ｓｔモジュロ３が１に等しくなるとき、位置インデックスは、４であると決定される。場合によっては、位置インデックス値は、１から３の間にあるが、未決定である。次いで、３つの可能な値を有するシンタックス要素は、位置インデックスが１に等しくなるのか、２に等しくなるのか、または３に等しくなるのかを決定するためにパラメータセットからパースされる（たとえば、シンタックス要素値が、それぞれ、０、１、または２である場合、Ｐは１、２、または３として設定される）。
【０１０７】
いくつかの例では、デコーダは、ＳＶＴ情報のいずれかが係数の和中に隠されているのかを決定するために条件検査を採用し得る。たとえば、変換係数の数がしきい値（たとえば、４または６）よりも小さいか、または第１の係数と最後の係数との間の距離がしきい値（たとえば、５または６）よりも小さいとき、位置インデックスは係数の和に依拠しない。この場合、位置インデックスは、明示的にシグナリングされ、デコーダは、ＳＶＴ情報について変換係数グループ９４７または９４９を調べない。
【０１０８】
図１０は、ＳＶＴサイズおよび位置を決定する例示的な方法１０００のフローチャートである。たとえば、方法１０００は、ＳＶＴ情報をシグナリングするために変換係数グループ９００を採用し得る。さらに、方法１０００は、残差ブロックを変換するために垂直ＳＶＴ５４３および／もしくは７４３または水平ＳＶＴ６４３および／もしくは８４３を採用し得る。したがって、方法１０００は、方法１００のステップ１０５および／または１１３の一部として採用され得る。さらに、方法１０００は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９によって採用され得る。
【０１０９】
ステップ１００１において、ビットストリームは、デコーダ４００などのデコーダにおいて受信される。ビットストリームは、復号のためのビデオデータの少なくとも１つのピクチャ／フレームを含んでいる。ピクチャ／フレームは、複数の矩形画像領域に分割される。各領域は、ＣＴＵに対応する。ＣＴＵは、ビットストリーム中に含まれているブロック区分情報に従ってＨＥＶＣにおけるコーディングユニットなどの複数のブロックに区分される。ブロックのコーディング情報は、コーディング情報に基づくブロックのピクセルの再構成のためにビットストリームからパースされる。一例では、ブロックは、コーディングユニットを指すことがあり、ここで、コーディングユニットは、１つの予測ブロックと１つの残差ブロックとを含み得る。予測ブロックは、コーディングユニットの予測サンプルを含み得る。残差ブロックは、コーディングユニットの残差サンプルを含み得る。予測ブロックは、残差ブロックと同じサイズであり得る。別の例では、コーディングユニットは、２つの予測ブロックと１つの残差ブロックとを含み得る。この場合、各予測ブロックは、コーディングユニットの予測サンプルの一部分を含み得、一方、残差ブロックは、コーディングユニットのための残差サンプルを含んでいる。別の例では、コーディングユニットは、２つの予測ブロックと４つの残差ブロックとを含み得る。ＨＥＶＣにおける残差クアッドツリー（ＲＱＴ）などのコーディングユニット中の残差ブロックの区分パターンはビットストリーム中でシグナリングされ得る。いくつかの例では、ブロックは、画像サンプル（またはピクセル）のルーマ／Ｙ成分のみを含み得る。他の例では、ブロックは、画像サンプル／ピクセルのルーマおよびクロマ成分（Ｙ成分、Ｕ成分、およびＶ成分）を含み得る。したがって、ビットストリームは、符号化されたピクセルブロックを表す予測ブロックを含む。ビットストリームはまた、ＳＶＴによって変換された係数を伴う残差ブロックを含む。
【０１１０】
ステップ１００３において、デコーダは、他の変換機構とは反対にＳＶＴが使用されるかのどうかを決定する。たとえば、デコーダは、シンタックス要素に従ってＳＶＴの使用を決定し得る。ＳＶＴを使用することが許可された残差ブロックの場合、フラグ（すなわち、ＳＶＴフラグ（ｓｖｔ＿ｆｌａｇ））がビットストリームからパースされ得る。フラグは、残差ブロックが残差ブロックと同じサイズの変換ブロックを使用してコーディングされるのかどうかを示すか（たとえば、ｓｖｔ＿ｆｌａｇ＝０）、または残差ブロックが残差ブロックよりも小さいサイズの変換ブロックを用いてコーディングされるのかどうかを示す（たとえば、ｓｖｔ＿ｆｌａｇ＝１）。この検査は、残差ブロックがルーマ成分（または、いくつかの例では、クロマ成分）の非ゼロの変換係数を有するときに採用される。たとえば、ルーマ／クロマ成分に対応するコード化ブロックフラグ（ｃｂｆ）は、ブロックが対応する成分の非ゼロの変換係数を有するのかどうかを示すために採用され得る。さらに、ルートコード化ブロックフラグ（ルートｃｂｆ）は、ブロックが任意の色成分の非ゼロの変換係数を有するのかどうかを示すために採用され得る。一例では、残差ブロックは、対応するブロックがインター予測を使用して予測され、ブロックの幅またはブロックの高さのいずれかが事前に決定された範囲［ａ１，ａ２］に入るときにＳＶＴを使用することが許可され、ここで、ａ１＝１６およびａ２＝６４であるか、ａ１＝８およびａ２＝６４であるか、またはａ１＝１６およびａ２＝１２８である。ａ１およびａ２の値は、固定値であり得る。値はまた、ＳＰＳ、ＰＰＳ、またはスライスヘッダから導出され得る。ブロックがＳＶＴを使用しない場合、変換ブロックサイズは、残差ブロックと同じサイズとして設定される。そうでない場合、方法１０００は、ステップ１００５に進む。
【０１１１】
ＳＶＴが採用されると方法１０００が決定すると、ステップ１００５において、残差ブロック中の係数を変換するために採用されるＳＶＴブロックのタイプが決定される。上記のように、使用されるＳＶＴブロックのタイプを決定するために、多くの異なる機構が採用され得る。ＳＶＴブロックのタイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択される。垂直ＳＶＴは、残差ブロックの高さに等しい高さと、残差ブロックの幅の１／２に等しい幅とを含む。水平ＳＶＴは、残差ブロックの高さの１／２に等しい高さを含み、残差ブロックの幅に等しい幅を含む。
【０１１２】
一例では、ＳＶＴブロックのタイプは、シンタックス要素（たとえば、パラメータセット中のパラメータ）に従って決定され得る。変換ブロックサイズが、次いで、ＳＶＴタイプに従って導出され得る。たとえば、残差ブロックのための許可されたＳＶＴタイプは、残差ブロックの幅と高さとに基づいて決定され得る。垂直ＳＶＴは、残差ブロックの幅が範囲［ａ１，ａ２］中にあるときに許可され得、ここで、ａ１とａ２とは、あらかじめ定義された整数である。水平ＳＶＴは、残差ブロックの幅が範囲［ａ１，ａ２］］中にあるときに許可され得、ここで、ａ１とａ２とは、あらかじめ定義された整数である。いくつかの例では、ＳＶＴは、Ｙ成分のためにのみ使用され得る。他の例では、ＳＶＴは、すべての３つの成分のために使用され得る。ＳＶＴがＹ成分のためにのみ使用されるとき、Ｙ成分の残差ブロックは、ＳＶＴによって変換され、Ｕ成分とＶ成分との残差ブロックは、対応する残差ブロックのサイズに従って変換される。垂直ＳＶＴと水平ＳＶＴとの両方が許可されるとき、ＳＶＴタイプフラグ（ｓｖｔ＿ｔｙｐｅ＿ｆｌａｇ）は、ビットストリームからパースされ得る。ＳＶＴタイプフラグは、残差ブロックのために垂直ＳＶＴが使用されるのか（たとえば、ｓｖｔ＿ｔｙｐｅ＿ｆｌａｇ＝０）、または水平ＳＶＴが使用されるのか（たとえば、ｓｖｔ＿ｔｙｐｅ＿ｆｌａｇ＝１）を示し得る。変換ブロックサイズは、次いで、シグナリングされたＳＶＴタイプに従って設定される。たとえば、垂直ＳＶＴについては、変換の幅は、残差ブロックの幅の半分に設定され、変換の高さは、残差ブロックの高さに設定され、水平ＳＶＴについては、変換の幅は、残差ブロックの幅に設定され、変換の高さは、残差ブロックの高さの半分に設定される。垂直ＳＶＴのみが許可されるか、または水平ＳＶＴのみが許可されるとき、ｓｖｔ＿ｔｙｐｅ＿ｆｌａｇはビットストリームからパースされないことがあり、変換ブロックサイズは、許可されたＳＶＴタイプに従って設定される。
【０１１３】
別の例では、ＳＶＴブロックのタイプは、図９に関して説明したように係数の第１のグループに基づいて決定され得る。たとえば、ＳＶＴブロックのタイプは、（Ｙ成分、またはＹ成分と、Ｕ成分と、Ｖ成分とについて）残差ブロック中の係数に対して算術演算を適用することによって決定され得る。そのような算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含み得る。算術演算は、いくつかの例では、残差ブロック中の係数のすべてに適用され得る。他の例では、算術演算は、残差ブロック中の最初のＸ個の係数に適用され得、ここで、Ｘは、あらかじめ定義された整数である。さらに他の例では、算術演算は、（たとえば、残差ブロックの左上隅中の）残差ブロックのあらかじめ定義されたエリア内の係数に適用され得る。採用される機構にかかわらず、方法１０００は、ＳＶＴブロックタイプおよび対応するサイズを決定するとステップ１００７に進む。
【０１１４】
ＳＶＴブロックのタイプが決定されると、残差ブロックに対するＳＶＴブロックの位置がステップ１００７において決定される。ＳＶＴブロックの位置は、候補位置ステップサイズ／候補位置の数とＳＶＴブロックのための位置インデックスとを決定することによって決定され得る。これは、いくつかの機構によって達成され得る。
【０１１５】
一例では、位置インデックス（Ｐ）は、ビットストリームからパースされる。位置インデックスＰは、切り捨てられた単項コードを使用して１つまたは複数のビンに２値化され得る。たとえば、Ｐ値が０から４の範囲内にあるとき、Ｐ値０、４、２、３および１は、それぞれ、０、０１、００１、０００１および００００として２値化される。Ｐ値が０から１の範囲内にあるとき、Ｐ値０および１は、それぞれ、０および１として２値化される。残差ブロックの左上隅に対する変換ブロックの左上隅の位置オフセット（Ｚ）は、以下の式１０に従って決定され得る。
Ｚ＝ｓ×Ｐ，  式１０
ここで、ｓは、ＣＰＳＳであり、Ｐは、位置インデックスであり、Ｚは位置オフセットである。Ｐの値は、垂直ＳＶＴについては、
【０１１６】
【数１】
2020537468.tif 000003
【０１１７】
の範囲内の値であり得る。Ｐの値は、水平ＳＶＴについては、
【０１１８】
【数２】
2020537468.tif 000004
【０１１９】
の範囲内の値であり得る。具体的には、（０，０）が残差ブロックの左上隅の座標を表すとき、変換ブロックの左上隅の座標は垂直ＳＶＴについては（Ｚ，０）であるか、または水平ＳＶＴについては（０，Ｚ）である。
【０１２０】
ＣＰＳＳは、上記の式１〜４のいずれかに従って計算され得る。たとえば、そのような式中では、Ｔｈ１とＴｈ２とは、４として設定され、Ｍ１とＭ２とは８として設定され得、これは、ＳＶＴタイプと残差ブロックの幅および高さとに応じて候補位置７００および８００を生じる。したがって、異なる残差ブロックサイズは、異なる数の候補位置を有し得る。たとえば、残差ブロックの幅が垂直ＳＶＴについて８であるとき、垂直ＳＶＴについて（たとえば、図７Ａおよび図７Ｅに示すように）２つの候補位置７００が利用可能である。さらに、残差ブロックの幅が垂直ＳＶＴについて１６であるとき、（たとえば、図７Ａ、図７Ｃ、および図７Ｅに示すように）３つの候補位置７００が利用可能である。さらに、残差ブロックの幅が垂直ＳＶＴについて１６よりも大きいとき、５つの候補位置７００が利用可能である。残差ブロックの高さを変化させるときに、同じ手法が水平ＳＶＴに適用される。
【０１２１】
この機構のさらなる特定の例として、式１および３が採用され得、ここで、Ｍ１とＭ２とは、４に設定され、これは、３つの許容可能な候補位置を生じる。したがって、候補位置ステップサイズは、残差ブロックの幅を所定の整数Ｍ１で除算することによって垂直ＳＶＴタイプについて決定されるか、または残差ブロックの高さを所定の整数Ｍ２で除算することによって水平ＳＶＴタイプについて決定され得る。特定の例として、Ｍ１とＭ２とは、２に設定され得、これは、２つの許容可能な候補位置を生じる。
【０１２２】
別の例では、式２および４が採用され得る。したがって、候補位置ステップサイズは、最小ステップサイズＴｈ１と残差ブロックの幅をＭ１で除算した結果とのうちで最大値を選択することによって垂直ＳＶＴについて決定され得る。さらに、候補位置ステップサイズは、最小ステップサイズＴｈ２と残差ブロックの高さをＭ２で除算した結果とのうちで最大値を選択することによって水平ＳＶＴについて決定され得る。場合によっては、所定の整数Ｍ１および／またはＭ２は、残差ブロックの幅および／または高さに基づいて設定され得る。特定の例として、Ｔｈ１とＴｈ２とは、２に設定され得、Ｍ１は、残差ブロックの幅が残差ブロックの高さ以上である場合は８として設定され得るか、または残差ブロックの幅が残差ブロックの高さよりも小さい場合は４として設定される。また、Ｍ２は、残差ブロックの高さが残差ブロックの幅以上である場合は８として設定されるか、または残差ブロックの高さが残差ブロックの幅よりも小さい場合は４として設定され得る。この場合、垂直ＳＶＴまたは水平ＳＶＴのための候補位置の数は、残差ブロックのアスペクト比にさらに依存し得る。別の例では、ＣＰＳＳは、式２および４に従って計算され、ここで、Ｍ１、Ｍ２、Ｔｈ１およびＴｈ２の値は、ＳＰＳ、ＰＰＳ、スライスヘッダなどのビットストリーム中の高レベルシンタックス構造から導出される。Ｍ１とＭ２とは、シンタックス要素からパースされた同じ値を共有し得、Ｔｈ１とＴｈ２とは、別のシンタックス要素からパースされた同じ値を共有し得る。したがって、ＣＰＳＳは、ビットストリームを介してあらかじめ定義されるかまたはシグナリングされ得る。ＳＶＴブロックの位置は、次いで、候補位置ステップサイズと位置インデックスとを乗算することによって決定される。また、位置インデックスがシンタックスパラメータによってシグナリングされるとき、位置インデックスは、最大の可能な値が候補位置の数から１を減じたものである状態で候補位置の数に基づいて切り捨てられた単項コードを用いて復号され得ることに留意されたい。
【０１２３】
別の例では、ＳＶＴの位置インデックスは、変換係数の分散に基づいて導出される。たとえば、位置インデックスは、残差ブロック中の係数に対して算術演算を適用することによって決定され得る。そのような算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含むことができる。たとえば、位置インデックスは、図９に関して説明したように変換グループ９００のうちの１つなどの変換係数グループに演算を適用することによって決定され得る。位置インデックスは、残差ブロック中のすべての係数、第１の変換グループ中の係数、および／または第２の変換グループ中の係数について考えることによって決定され得、ここで、第１の変換グループは、ＳＶＴタイプを示す。別の例では、ＳＶＴを使用する残差ブロックのための候補位置の数は、変換係数の分散に基づいて（たとえば、上記の位置インデックスを決定することに関して説明したように係数グループに算術演算を適用することによって）導出される。
【０１２４】
上記の機構の様々な組合せも採用され得る。たとえば、位置インデックスは、係数の数がしきい値以下であるときにビットストリームから取得され得、位置インデックスは、係数の数がしきい値よりも大きいときに係数に算術演算を適用することによって決定され得る。別の例として、候補位置ステップサイズは、非ゼロ係数の数または位置に基づいて決定される。たとえば、非ゼロの変換係数の数（Ｎｎｚ）は、候補位置の数を決定するために使用され得る。Ｎｎｚがしきい値（たとえば、４、５、または８）よりも小さい場合、候補位置ステップサイズは、垂直ＳＶＴについては残差ブロックの幅を４で除算したものとして設定され、水平ＳＶＴについては残差ブロックの高さを４で除算したものとして設定され得、これは、３つの候補位置を生じ得る。そうでない場合、候補位置ステップサイズは、垂直ＳＶＴについては残差ブロックの幅を８で除算したものとして設定され、水平ＳＶＴについては残差ブロックの高さを８で除算したものとして設定され得、これは、５つの候補位置を生じ得る。別の例では、最後の非ゼロの変換係数が変換ブロック中の左上の４×４のエリア内にある場合、候補位置ステップサイズは、垂直ＳＶＴについては残差ブロックの幅を４で除算したものとして設定され、水平ＳＶＴについては、残差ブロックの高さを４で除算したものとして設定され得る。これは、３つの候補位置を生じる。そうでない場合、候補位置ステップサイズは、垂直ＳＶＴについては残差ブロックの幅を８で除算したものとして設定され、水平ＳＶＴについては残差ブロックの高さを８で除算したものとして設定され得る。これは、５つの候補位置を生じる。
【０１２５】
ＳＶＴタイプとＳＶＴ位置とを決定するために採用される機構にかかわらず、方法１０００は、ステップ１００９に進む。ステップ１００９において、残差ブロックからの係数は、たとえば、ＳＶＴブロックタイプに基づいてパースされる。パーシング処理は、ＭＰＥＧ−４  Ｐａｒｔ  １０、アドバンストビデオコーディング（ＭＰＥＧ−４  ＡＶＣ）としても知られるＨＥＶＣまたは標準Ｈ．２６４に記載されている変換係数のパーシングを採用し得る。変換係数は、ランレングスコーディングを使用してコーディングされ得る。変換係数はまた、変換グループのセットとしてコーディングされ得る。ステップ１００９のパースすることは、係数および残差ブロックからの他のデータ（ならびに予測ブロックからのデータおよび／または他の関連データ）を読み取ることと、さらなる処理のためにメモリ中にそのようなデータを記憶することとを含む。ステップ１００９のパースすることが、例に応じてステップ１００３、１００５、および／または１００７より前に行われ得ることに留意されたい。
【０１２６】
ステップ１０１１において、逆変換は、再構成された残差ブロックを作成するためにＳＶＴブロックタイプおよび位置に基づいて係数に適用される。逆変換は、デコーダによって知られていることがあり、および／またはビットストリーム中でシグナリングされ得る。ＳＶＴブロックタイプおよび位置は、残差ブロック中の情報に対する変換を位置決めするのに十分な情報を与える。たとえば、サイズの逆量子化および逆変換ｗ＿ｔ×ｈ＿ｔは、残差サンプルを回復するために変換係数に適用される。（たとえば、エンコーダによってＳＶＴの外部に位置決めされた残差サンプルを含まない）回復された残差サンプルのサイズは、ｗ＿ｔ×ｈ＿ｔであり得、これは、変換ブロックサイズと同じサイズである。逆変換は、逆離散コサイン変換（ＤＣＴ）または逆離散サイン変換（ＤＳＴ）であり得る。残差サンプルは、変換ブロック位置に従って残差ブロック内の対応する領域に割り当てられる。いくつかの例では、残差ブロック内の残りのサンプルは、０になるように設定され得る。たとえば、垂直ＳＶＴが使用され、候補位置の数が５であり、位置インデックスが４である場合、再構成された残差サンプルは、図７Ｅ中の影つき領域に割り当てられ得、影つき領域の外部のサイズ（ｗ／２）×ｈの領域は、場合によっては、残差情報を含まないことがある。
【０１２７】
ステップ１０１３において、再構成された残差ブロックは、コーディングユニット中に再構成されたサンプルを生成するために予測ブロックを用いて構成され得る。デブロッキングフィルタおよび／またはＳＡＯフィルタなどのフィルタ処理はまた、再構成されたサンプルに対して適用され得る。したがって、再構成された残差ブロックは、ビデオブロックを再構成するために予測ブロックに適用される。再構成されたビデオブロックは、フレーム／ピクチャを作成するために他の再構成されたビデオブロックを用いて位置決めされる。フレーム／ピクチャは、表示のためにビデオシーケンスを再構成するためにシーケンス中に配置される。したがって、ビデオシーケンスは、再構成されたビデオブロックを含むビデオフレームを含む。
【０１２８】
前の機構の結果として、ＳＶＴブロックのための候補位置が、残差ブロックの幅と高さとに関係するステップサイズによって決定され得る。候補位置は、いくつかの例では、５つ以下の位置に限定され得、これは、他のＳＶＴ方式と比較して変換ブロック情報を低減する。これは、シグナリングオーバーヘッドと残差コーディング効率との間のより良いバランスを達成する。さらに、ＳＶＴ情報は、他のＳＶＴ機構とは別様にコーディングされる。たとえば、ＳＶＴコーディング情報は、ＳＶＴ使用情報、ＳＶＴタイプ情報、およびＳＶＴ位置情報として編成され、これは、それぞれ、ＳＶＴが使用されるのかどうか、使用されるＳＶＴのタイプ、およびＳＶＴブロックの位置を示す。さらに、ＳＶＴ位置情報は、残差ブロックの複数の変換係数の和に基づいて導出され得る。また、ＳＶＴタイプ情報は、残差ブロックの複数の変換係数の和に基づいて導出され得る。
【０１２９】
図１１は、本開示の一実施形態による例示的なビデオコーディングデバイス１１００の概略図である。ビデオコーディングデバイス１１００は、本明細書で説明する開示する例／実施形態を実装するのに好適である。ビデオコーディングデバイス１１００は、ダウンストリームポート１１２０、アップストリームポート１１５０、ならびに／またはネットワークを介してアップストリームおよび／もしくはダウンストリームにデータを通信するための送信機および／もしくは受信機を含むトランシーバユニット（Ｔｘ／Ｒｘ）１１１０を備える。ビデオコーディングデバイス１１００はまた、データを処理するために論理ユニットおよび／または中央処理ユニット（ＣＰＵ）を含むプロセッサ１１３０とデータを格納するためのメモリ１１３２とを含む。ビデオコーディングデバイス１１００はまた、光またはワイヤレス通信ネットワークを介したデータの通信のためのアップストリームポート１１５０および／またはダウンストリームポート１１２０に結合された光／電気（ＯＥ）構成要素、電気／光（ＥＯ）構成要素、および／またはワイヤレス通信構成要素を備え得る。ビデオコーディングデバイス１１００はまた、ユーザとの間でデータを通信するための入力および／または出力（Ｉ／Ｏ）デバイス１１６０を含み得る。Ｉ／Ｏデバイス１１６０は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含み得る。Ｉ／Ｏデバイス１１６０はまた、キーボード、マウス、トラックボールなどの入力デバイス、および／または、そのような出力デバイスと対話するための対応するインターフェースを含み得る。
【０１３０】
プロセッサ１１３０は、ハードウェアおよびソフトウェアによって実装される。プロセッサ１１３０は、１つまたは複数のＣＰＵチップ、（たとえば、マルチコアプロセッサとしての）コア、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、およびデジタル信号プロセッサ（ＤＳＰ）として実装され得る。プロセッサ１１３０は、ダウンストリームポート１１２０、Ｔｘ／Ｒｘ１１１０、アップストリームポート１１５０、およびメモリ１１３２と通信している。プロセッサ１１３０は、コーディングモジュール１１１４を備える。コーディングモジュール１１１４は、図６００の垂直ＳＶＴ候補位置における垂直ＳＶＴ５４３、水平ＳＶＴ候補位置７００における水平ＳＶＴ６４３、変換係数グループ９００、ならびに本明細書で説明する任意の他の方法／機構などの改善されたＳＶＴを採用する方法１００および／または１０００などの上記で説明した開示する実施形態を実装する。さらに、コーディングモジュール１１１４は、コーデックシステム２００、エンコーダ３００、および／またはデコーダ４００を実装し得る。したがって、コーディングモジュール１１１４は、ＳＶＴタイプ、候補位置ステップサイズ、およびＳＶＴブロックのための位置インデックスを決定および／またはシグナリングするために採用され得る。そのような情報は、パラメータセット中で、および／または残差ブロック中の１つもしくは複数の変換係数グループに対して演算を実行することによって決定／シグナリングされ得る。コーディングモジュール１１１４は、次いで、ＳＶＴタイプと、候補位置ステップサイズと、位置インデックスとを採用し、残差ブロック上のＳＶＴブロックを位置決めし、逆変換を適用し、再構成された残差ブロックを作成し、残差ブロックと予測ブロックとからピクセルブロックを再構成し、再構成されたピクセルブロックに基づいて表示のためのフレームを生成することができる。したがって、コーディングモジュール１１１４の包含は、ＳＶＴブロックのための候補位置の数を低減すること、したがって、ＳＶＴに関連する対応するシグナリングオーバーヘッドとＲＤＯの計算複雑性を低減することによってビデオコーディングデバイス１１００の機能に実質的な改善を与える。さらに、コーディングモジュール１１１４は、ビデオコーディングデバイス１１００の異なる状態への変換をもたらす。あるいは、コーディングモジュール１１１４は、メモリ１１３２中に記憶され、プロセッサ１１３０によって実行される命令として（たとえば、非一時的媒体上に記憶されたコンピュータプログラム製品として）実装され得る。
【０１３１】
メモリ１１３２は、ディスク、テープドライブ、ソリッドステートドライブ、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、３値連想メモリ（ＴＣＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）などの１つまたは複数のメモリタイプを備える。メモリ１１３２は、そのようなプログラムが実行のために選択されたときにプログラムを記憶することと、プログラムの実行中に読み取られる命令とデータとを記憶することとを行うためにオーバーフローデータストレージデバイスとして使用され得る。
【０１３２】
図１２は、ＳＶＴサイズおよび位置を決定するためのデバイス１２００の一実施形態である。たとえば、デバイス１２００は、方法１０００を実行するために採用され得、したがって、ＳＶＴ情報をシグナリングするために変換係数グループ９００を採用し得る。さらに、デバイス１２００は、残差ブロックを変換するために垂直ＳＶＴ５４３および／もしくは７４３または水平ＳＶＴ６４３および／もしくは８４３を採用し得る。したがって、デバイス１２００は、方法１００のステップ１０５および／または１１３の一部を実行するために採用され得る。さらに、デバイス１２００は、変換スケーリングおよび量子化構成要素２１３、スケーリングおよび逆変換構成要素２２９、変換および量子化構成要素３１３、逆変換および量子化構成要素３２９、ならびに／または逆変換および量子化構成要素４２９によって採用され得る。
【０１３３】
デバイス１２００は、予測ブロックと、ＳＶＴによって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信機１２０１を含む。デバイス１２００は、さらに、残差ブロック中の係数を変換するために採用されるＳＶＴブロックのタイプを決定するように構成されたタイプ決定モジュール１２０３を備える。デバイス１２００は、さらに、候補位置ステップサイズとＳＶＴブロックのための位置インデックスとを決定することによって残差ブロックに対するＳＶＴブロックの位置を決定するように構成された位置決定モジュール１２０５を備える。デバイス１２００は、さらに、ＳＶＴブロックタイプおよび位置に基づいて係数に逆変換を適用して、再構成された残差ブロックを作成するように構成された逆変換適用モジュール１２０７を備える。デバイス１２００は、さらに、予測ブロックに再構成された残差ブロックを適用して、ビデオブロックを再構成するように構成された残差適用モジュール１２０７を備える。デバイス１２００は、さらに、表示のためにビデオシーケンスを再構成することであって、ビデオシーケンスは、再構成されたビデオブロックを含むビデオフレームを含む、再構成することを行うように構成された再構成モジュール１２１１を備える。
【０１３４】
第１の構成要素は、第１の構成要素と第２の構成要素との間に線、トレース、または別の媒体を除いて介在する構成要素がないときに第２の構成要素に直接結合される。第１の構成要素は、第１の構成要素と第２の構成要素との間に線、トレース、または別の媒体以外の介在する構成要素があるときに第２の構成要素に間接的に結合される。「結合される」という用語およびそれの変形形態は、直接結合されることと間接的に結合されることとの両方を含む。「約」という用語の使用は、特に明記しない限り後続の数の±１０％を含む範囲を意味する。
【０１３５】
いくつかの実施形態が本開示において与えられているが、開示するシステムおよび方法が、本開示の範囲または趣旨から逸脱することなく多くの他の特定の形態で実施されることがあることが理解され得る。本例は限定ではなく例と見なすべきであり、本明細書において与えた詳細に限定するものではない。たとえば、様々な要素または構成要素が、別のシステムと組み合わされ得るかもしくは統合され得、またはいくつかの特徴は、省略され得るか、もしくは実装されないことがある。
【０１３６】
さらに、様々な実施形態で説明し、図示した技法、システム、サブシステム、および方法は別々にまたは別個に、本開示の範囲から逸脱することなく他のシステム、構成要素、技法、または方法と組み合わされ得るか、または統合され得る。変更、置換、および改変の他の例が、当業者によって確認可能であり、本明細書で開示する趣旨および範囲から逸脱することなく行われ得る。
【図１】
2020537468.tif 000005
【図２】
2020537468.tif 000006
【図３】
2020537468.tif 000007
【図４】
2020537468.tif 000008
【図５】
2020537468.tif 000009
【図６】
2020537468.tif 000010
【図７Ａ】
2020537468.tif 000011
【図７Ｂ】
2020537468.tif 000012
【図７Ｃ】
2020537468.tif 000013
【図７Ｄ】
2020537468.tif 000014
【図７Ｅ】
2020537468.tif 000015
【図８Ａ】
2020537468.tif 000016
【図８Ｂ】
2020537468.tif 000017
【図８Ｃ】
2020537468.tif 000018
【図８Ｄ】
2020537468.tif 000019
【図８Ｅ】
2020537468.tif 000020
【図９】
2020537468.tif 000021
【図１０】
2020537468.tif 000022
【図１１】
2020537468.tif 000023
【図１２】
2020537468.tif 000024
【手続補正書】
【提出日】令和2年5月1日(2020.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するステップと、
前記残差ブロック中の前記係数を変換するために採用されるＳＶＴブロックのタイプを決定するステップと、
候補位置ステップサイズと前記ＳＶＴブロックのための位置インデックスとを決定することによって前記残差ブロックに対する前記ＳＶＴブロックの位置を決定するステップと、
前記ＳＶＴブロックタイプおよび位置に基づいて前記係数に逆変換を適用して、再構成された残差ブロックを作成するステップと、
前記予測ブロックに前記再構成された残差ブロックを適用して、ビデオブロックを再構成するステップと、
表示のためにビデオシーケンスを再構成するステップであって、前記ビデオシーケンスは、前記再構成されたビデオブロックを含むビデオフレームを含む、再構成するステップと
を備える方法。
【請求項２】
ＳＶＴブロックの前記タイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択され、前記垂直ＳＶＴは、前記残差ブロックの高さに等しい高さを含み、前記残差ブロックの幅の１／２に等しい幅を含み、前記水平ＳＶＴは、前記残差ブロックの高さの１／２に等しい高さを含み、前記残差ブロックの幅に等しい幅を含む請求項１に記載の方法。
【請求項３】
前記ＳＶＴブロックの前記位置は、前記候補位置ステップサイズと位置インデックスとを乗算することによって決定される請求項１または２に記載の方法。
【請求項４】
前記候補位置ステップサイズは、前記残差ブロックの幅を所定の整数（Ｍ１）で除算することによって垂直ＳＶＴタイプについて決定されるか、または前記残差ブロックの高さを所定の整数（Ｍ２）で除算することによって水平ＳＶＴタイプについて決定される請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ１）と前記残差ブロックの前記幅をＭ１で除算した結果との間の最大値を選択することによって前記垂直ＳＶＴについて決定され、前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ２）と前記残差ブロックの前記高さをＭ２で除算した結果との間の最大値を選択することによって前記水平ＳＶＴについて決定される請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
Ｍ１は、前記残差ブロックの前記幅が前記残差ブロックの前記高さ以上であるときに８に設定され、前記残差ブロックの前記幅が前記残差ブロックの前記高さよりも小さいときに４に設定され、Ｍ２は、前記残差ブロックの前記高さが前記残差ブロックの前記幅以上であるときに８に設定され、前記残差ブロックの前記高さが前記残差ブロックの前記幅よりも小さいときに４に設定される請求項５に記載の方法。
【請求項７】
Ｍ１、Ｍ２、Ｔｈ１、Ｔｈ２、またはそれらの組合せは、前記ビットストリーム中のシンタックス要素から取得される請求項４乃至６のいずれか一項に記載の方法。
【請求項８】
前記ビットストリームから前記位置インデックスを取得するステップをさらに備える請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記残差ブロック中の前記係数に対して算術演算を適用することによって前記位置インデックスを決定することをさらに備える請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含む請求項９に記載の方法。
【請求項１１】
前記位置インデックスは、係数の数がしきい値以下であるときに前記ビットストリームから取得され、前記位置インデックスは、係数の前記数が前記しきい値よりも大きいときに前記係数に前記算術演算を適用することによって決定される請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
前記ＳＶＴブロックの前記タイプは、係数の第１のグループに基づいて決定され、前記位置インデックスは、係数の第２のグループに基づいて決定される請求項１乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記候補位置ステップサイズ、または候補位置の対応する数は、非ゼロ係数の数または位置に基づいて決定される請求項１乃至３および８乃至１２のいずれか一項に記載の方法。
【請求項１４】
ビデオコーディングデバイスであって、
予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信機と、
前記受信機に結合されたプロセッサであって、
前記残差ブロック中の前記係数を変換するために採用されるＳＶＴブロックのタイプを決定することと、
候補位置ステップサイズと前記ＳＶＴブロックのための位置インデックスとを決定することによって前記残差ブロックに対する前記ＳＶＴブロックの位置を決定することと、
前記ＳＶＴブロックタイプおよび位置に基づいて前記係数に逆変換を適用して、再構成された残差ブロックを作成することと、
前記予測ブロックに前記再構成された残差ブロックを適用して、ビデオブロックを再構成することと、
表示のためにビデオシーケンスを再構成することであって、前記ビデオシーケンスは、前記再構成されたビデオブロックを含むビデオフレームを含む、再構成することと
を行うように構成されたプロセッサと
を備えるビデオコーディングデバイス。
【請求項１５】
ＳＶＴブロックの前記タイプは、垂直ＳＶＴと水平ＳＶＴとからなるグループから選択され、前記垂直ＳＶＴは、前記残差ブロックの高さに等しい高さを含み、前記残差ブロックの幅の１／２に等しい幅を含み、前記水平ＳＶＴは、前記残差ブロックの高さの１／２に等しい高さを含み、前記残差ブロックの幅に等しい幅を含む請求項１４に記載のビデオコーディングデバイス。
【請求項１６】
前記ＳＶＴブロックの前記位置は、前記候補位置ステップサイズと位置インデックスとを乗算することによって決定される請求項１４または１５に記載のビデオコーディングデバイス。
【請求項１７】
前記候補位置ステップサイズは、前記残差ブロックの幅を所定の整数（Ｍ１）で除算することによって垂直ＳＶＴタイプについて決定されるか、または前記残差ブロックの高さを所定の整数（Ｍ２）で除算することによって水平ＳＶＴタイプについて決定される請求項１４乃至１６のいずれか一項に記載のビデオコーディングデバイス。
【請求項１８】
前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ１）と前記残差ブロックの前記幅をＭ１で除算した結果との間の最大値を選択することによって前記垂直ＳＶＴについて決定され、前記候補位置ステップサイズは、最小ステップサイズ（Ｔｈ２）と前記残差ブロックの前記高さをＭ２で除算した結果との間の最大値を選択することによって前記水平ＳＶＴについて決定される請求項１４乃至１７のいずれか一項に記載のビデオコーディングデバイス。
【請求項１９】
Ｍ１は、前記残差ブロックの前記幅が前記残差ブロックの前記高さ以上であるときに８に設定され、前記残差ブロックの前記幅が前記残差ブロックの前記高さよりも小さいときに４に設定され、Ｍ２は、前記残差ブロックの前記高さが前記残差ブロックの前記幅以上であるときに８に設定され、前記残差ブロックの前記高さが前記残差ブロックの前記幅よりも小さいときに４に設定される請求項１８に記載のビデオコーディングデバイス。
【請求項２０】
Ｍ１、Ｍ２、Ｔｈ１、Ｔｈ２、またはそれらの組合せは、前記ビットストリーム中のシンタックス要素から取得される請求項１７または１８に記載のビデオコーディングデバイス。
【請求項２１】
前記プロセッサは、前記ビットストリームから前記位置インデックスを取得するようにさらに構成された請求項１４乃至２０のいずれか一項に記載のビデオコーディングデバイス。
【請求項２２】
前記プロセッサは、前記残差ブロック中の前記係数に対して算術演算を適用することによって前記位置インデックスを決定するようにさらに構成された請求項１４乃至２１のいずれか一項に記載のビデオコーディングデバイス。
【請求項２３】
前記算術演算は、加算演算、モジュロ演算、除算演算、またはそれらの組合せを含む請求項２２に記載のビデオコーディングデバイス。
【請求項２４】
前記位置インデックスは、係数の数がしきい値以下であるときに前記ビットストリームから取得され、前記位置インデックスは、係数の前記数が前記しきい値よりも大きいときに前記係数に前記算術演算を適用することによって決定される請求項１４乃至２３のいずれか一項に記載のビデオコーディングデバイス。
【請求項２５】
前記ＳＶＴブロックの前記タイプは、係数の第１のグループに基づいて決定され、前記位置インデックスは、係数の第２のグループに基づいて決定される請求項１４乃至２４のいずれか一項に記載のビデオコーディングデバイス。
【請求項２６】
前記候補位置ステップサイズ、または候補位置の対応する数は、非ゼロ係数の数または位置に基づいて決定される請求項１４乃至１６および２１乃至２５のいずれか一項に記載のビデオコーディングデバイス。
【請求項２７】
ビデオコーディングデバイスが使用するためのコンピュータプログラム製品を備える非一時的コンピュータ可読媒体であって、前記コンピュータプログラム製品は、プロセッサによって実行されたときに前記ビデオコーディングデバイスに請求項１乃至１３のいずれか一項に記載の方法を実行させるような、前記非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を備える、非一時的コンピュータ可読媒体。
【請求項２８】
ビデオコーディングデバイスであって、
予測ブロックと、空間変動変換（ＳＶＴ）によって変換された係数を伴う残差ブロックとを含むビットストリームを受信するように構成された受信手段と、
前記受信手段と併せて請求項１乃至１３のうちのいずれか一項に記載の方法を実行するように構成された処理手段と
を備えるビデオコーディングデバイス。
【請求項２９】
請求項１乃至１３のいずれか一項に記載の方法をコンピュータに実行させるように構成された、コンピュータ可読媒体に格納されたコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
関連出願の相互参照
本特許出願は「Ｓｐａｔｉａｌ  Ｖａｒｙｉｎｇ  Ｔｒａｎｓｆｏｒｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題するＹｉｎ  Ｚｈａｏらによる２０１８年８月２２日に出願された米国特許仮出願第６２／７２１，１７９号、および「Ｓｐａｔｉａｌ  Ｖａｒｙｉｎｇ  Ｔｒａｎｓｆｏｒｍ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題するＹｉｎ  Ｚｈａｏらによる２０１７年１０月１６日に出願された米国特許仮出願第６２／５７２，９８７号の利益を主張する。
【国際調査報告】
2020537468.tif 000025
2020537468.tif 000026