(57)【特許請求の範囲】
【請求項１】
変換ブロックのデコーディングの方法であって、前記方法が、
それぞれの変換係数を持っているサンプルの第１の変換ブロック（１０）を逆変換して（Ｓ１０）、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロック（１１）を取得することと、
それぞれの変換係数を持っているサンプルの第２の変換ブロック（２０）を逆変換して（Ｓ１１）、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロック（２１）を取得することと、
前記第２の残差ブロック（２１）の各再構成済み予測誤差値によって前記第１の残差ブロック（１１）の下位部分（１２）内のサンプルのそれぞれの再構成済み予測誤差値を変更すること（Ｓ１２）とを含み、前記各再構成済み予測誤差値を変更することが、前記残差ブロック（１１）の前記下位部分（１２）内のサンプルの再構成済み予測誤差値に影響を与えるが、前記残差ブロック（１１）の残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない、方法。
【請求項２】
前記第２の残差ブロック（２１）が、サンプルの数に関して前記第１の残差ブロック（１１）と比べて小さいサイズを持ち、前記第２の残差ブロック（２１）が前記第１の残差ブロック（１１）の前記下位部分（１２）に対応し、前記各再構成済み予測誤差値を変更すること（Ｓ１２）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値によって、前記第１の残差ブロック（１１）の前記下位部分（１２）の前記各再構成済み予測誤差値をサンプルごとに変更すること（Ｓ１２）を含む、請求項１に記載の方法。
【請求項３】
前記各再構成済み予測誤差値を変更すること（Ｓ１２）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値を、前記第１の残差ブロック（１１）の前記下位部分（１２）の前記各再構成済み予測誤差値にサンプルごとに追加すること（Ｓ１３）を含む、請求項２に記載の方法。
【請求項４】
前記各再構成済み予測誤差値を変更すること（Ｓ１２）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値によって、前記第１の残差ブロック（１１）の前記下位部分（１２）の前記各再構成済み予測誤差値をサンプルごとに置換すること（Ｓ１４）を含む、請求項２に記載の方法。
【請求項５】
前記各再構成済み予測誤差値を変更すること（Ｓ１２）が、
前記第２の残差ブロック（２１）の下位部分（２２）内の各再構成済み予測誤差値を変更すること（Ｓ３０）と、
前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値を、前記第１の残差ブロック（１１）の前記各再構成済み予測誤差値にサンプルごとに追加すること（Ｓ３１）とを含む、請求項１に記載の方法。
【請求項６】
前記各再構成済み予測誤差値を変更すること（Ｓ３０）が、前記第２の残差ブロック（２１）の前記下位部分（２２）内の前記各再構成済み予測誤差値をゼロに設定すること（Ｓ３２）を含む、請求項５に記載の方法。
【請求項７】
前記各再構成済み予測誤差値を変更すること（Ｓ３０）が、前記第２の残差ブロック（２１）の前記下位部分（２２）内の各再構成済み予測誤差値にそれぞれの重みを掛けること（Ｓ３３）を含む、請求項５に記載の方法。
【請求項８】
前記第１の変換ブロック（１０）を逆変換すること（Ｓ１０）が、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの前記第１の変換ブロック（１０）を逆変換して（Ｓ１０）前記第１の残差ブロック（１１）を取得することを含み、
前記第２の変換ブロック（２０）を逆変換すること（Ｓ１１）が、それぞれの高周波数変換係数を持っているサンプルの前記第２の変換ブロック（２０）を逆変換して（Ｓ１１）前記第２の残差ブロック（２１）を取得することを含む、請求項５から７のいずれか一項に記載の方法。
【請求項９】
それぞれの変換係数を持っているサンプルの変換ブロックを前記第１の変換ブロック（１０）および前記第２の変換ブロック（２０）に分割すること（Ｓ４０）をさらに含み、前記分割することが、
前記変換ブロックの前記それぞれのゼロ周波数変換係数および低周波数変換係数を、前記第１の変換ブロック（１０）内のゼロ周波数および低周波数のサンプル位置にコピーすること（Ｓ４１）と、
前記第１の変換ブロック（１０）内の残りのサンプル位置をゼロにセットすること（Ｓ４２）と、
前記変換ブロックの前記各高周波数変換係数を前記第２の変換ブロック（２０）内の高周波数のサンプル位置にコピーすること（Ｓ４３）と、
前記第２の変換ブロック（２０）内の残りのサンプル位置をゼロにセットすること（Ｓ４４）とによって行われる、請求項８に記載の方法。
【請求項１０】
変換ブロックのデコーディングのためのデバイス（１００、１１０）であって、
前記デバイス（１００、１１０）が、それぞれの変換係数を持っているサンプルの第１の変換ブロック（１０）を逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロック（１１）を取得するように設定され、
前記デバイス（１００、１１０）が、それぞれの変換係数を持っているサンプルの第２の変換ブロック（２０）を逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロック（２１）を取得するように設定され、
前記デバイス（１００、１１０）が、前記第２の残差ブロック（２１）の各再構成済み予測誤差値によって前記第１の残差ブロック（１１）の下位部分（１２）内のサンプルのそれぞれの再構成済み予測誤差値を変更するように設定され、前記デバイス（１００、１１０）によって実行される前記変更が、前記第１の残差ブロック（１１）の前記下位部分（１２）内のサンプルの再構成済み予測誤差値に影響を与えるが、前記第１の残差ブロック（１１）の残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない、デバイス（１００、１１０）。
【請求項１１】
前記第２の残差ブロック（２１）が、サンプルの数に関して前記第１の残差ブロック（１１）と比べて小さいサイズを持ち、前記第２の残差ブロック（２１）が前記第１の残差ブロック（１１）の下位部分（１２）に対応し、前記デバイス（１００、１１０）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値によって、前記第１の残差ブロック（１１）の前記下位部分（１２）の前記各再構成済み予測誤差値をサンプルごとに変更するように設定される、請求項１０に記載のデバイス。
【請求項１２】
前記デバイス（１００、１１０）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値を、前記第１の残差ブロック（１１）の前記下位部分（１２）の前記各再構成済み予測誤差値にサンプルごとに追加するように設定される、請求項１１に記載のデバイス。
【請求項１３】
前記デバイス（１００、１１０）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値によって、前記第１の残差ブロック（１１）の前記下位部分（１２）の前記各再構成済み予測誤差値をサンプルごとに置換するように設定される、請求項１１に記載のデバイス。
【請求項１４】
前記デバイス（１００、１１０）が、前記第２の残差ブロック（２１）の下位部分（２２）内の各再構成済み予測誤差値を変更するように設定され、
前記デバイス（１００、１１０）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値を、前記第１の残差ブロック（１１）の前記各再構成済み予測誤差値にサンプルごとに追加するように設定される、請求項１０に記載のデバイス。
【請求項１５】
前記デバイス（１００、１１０）が、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの前記第１の変換ブロック（１０）を逆変換して、前記第１の残差ブロック（１１）を取得するように設定され、
前記デバイス（１００、１１０）が、それぞれの高周波数変換係数を持っているサンプルの前記第２の変換ブロック（２０）を逆変換して、前記第２の残差ブロック（２１）を取得するように設定される、請求項１４に記載のデバイス。
【請求項１６】
前記デバイス（１００、１１０）が、それぞれの変換係数を持っているサンプルの変換ブロックを前記第１の変換ブロック（１０）および前記第２の変換ブロック（２０）に分割するように設定され、前記分割することが、
前記変換ブロックの前記それぞれのゼロ周波数変換係数および低周波数変換係数を、前記第１の変換ブロック（１０）内のゼロ周波数および低周波数のサンプル位置にコピーすることと、
前記第１の変換ブロック（１０）内の残りのサンプル位置をゼロにセットすることと、
前記変換ブロックの前記各高周波数変換係数を前記第２の変換ブロック（２０）内の高周波数のサンプル位置にコピーすることと、
前記第２の変換ブロック（２０）内の残りのサンプル位置をゼロにセットすることとによって行われる、請求項１５に記載のデバイス。
【請求項１７】
プロセッサ（１１１）と、
前記プロセッサ（１１１）によって実行可能な命令を含んでいるメモリ（１１２）とを備え、
前記プロセッサ（１１１）が、前記第１の変換ブロック（１０）および前記第２の変換ブロック（２０）を逆変換するよう機能し、
前記プロセッサ（１１１）が、前記第２の残差ブロック（２１）の前記各再構成済み予測誤差値によって、前記第１の残差ブロック（１１）の前記下位部分（１２）内のサンプルの前記各再構成済み予測誤差値を変更するように機能する、請求項１０から１６のいずれか一項に記載のデバイス。
【請求項１８】
命令を含んでいるコンピュータプログラム（３４０）であって、前記命令が、プロセッサ（３１０）によって実行された場合に、前記プロセッサ（３１０）に、
それぞれの変換係数を持っているサンプルの第１の変換ブロック（１０）を逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロック（１１）を取得することと、
それぞれの変換係数を持っているサンプルの第２の変換ブロック（２０）を逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロック（２１）を取得することと、
前記第２の残差ブロック（２１）の各再構成済み予測誤差値によって前記第１の残差ブロック（１１）の下位部分（１２）内のサンプルのそれぞれの再構成済み予測誤差値を変更することとを実行させ、前記プロセッサ（３１０）によって実行される前記変更が、前記第１の残差ブロック（１１）の前記下位部分（１２）内のサンプルの再構成済み予測誤差値に影響を与えるが、前記第１の残差ブロック（１１）の残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない、コンピュータプログラム（３４０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、概して、変換ブロックのデコーディングおよびエンコーディングに関連し、具体的には、変換ブロックの空間的改善に寄与するデコーディングおよびエンコーディングに関連する。
【背景技術】
【０００２】
ビデオ符号化における変換符号化は、予測誤差における冗長性の除去において非常に役立つということが示されている。そのような予測誤差は、空間的に隣接するあらかじめ符号化されたサンプル（イントラ予測）に基づくか、または時間的に隣接するあらかじめ符号化されたサンプル（インター予測）に基づいて、サンプルまたはピクセル（一般的に、従来技術では、符号化ブロック（ＣＢ）または符号化ユニット（ＣＵ）と示される）の現在のブロックを予測することから生じる。高効率ビデオ符号化（ＨＥＶＣ）（従来技術では、Ｈ．２６５とも示される）では、現在のブロックが、現在のブロックと同じサイズまたは現在のブロックの一部の予測ブロック（ＰＢ）または予測ユニット（ＰＵ）に分割される。その後、各イントラ予測モードまたはインター予測が、そのような予測ブロックごとに選択される。変換が、現在のブロックと同じサイズ（ＨＥＶＣでのＴＵの最大サイズは３２×３２サンプル）での予測誤差に対して、または現在のブロックの予測誤差部分（ＨＥＶＣでのＴＵの最小サイズは４×４サンプル）に対して、変換ブロック（ＴＢ）または変換ユニット（ＴＵ）において適用され、変換係数を取得する。その後、変換係数が、例えば、ＨＥＶＣにおいてコンテキスト適応２値算術符号化（ＣＡＢＡＣ）によって、量子化されてエントロピーエンコードされる。ＨＥＶＣは、変換のスキップ、つまり、予測誤差が変換を伴わずに符号化されることもサポートする。
【０００３】
変換符号化に伴う問題は、例えば困難なビットレートで、ビデオの符号化時に強い量子化が使用された場合に、変換基底パターンの形態で視覚的アーチファクトを生成する可能性があるということである。この問題が、図１Ａおよび１Ｂに示されている。図１Ａは、変換および量子化を適用する前の、それぞれの予測誤差値を持っているサンプルの残差ブロックを示している。図１Ｂは、残差ブロックを変換してから量子化し、その後、逆量子化してから逆変換することによって取得された、図１Ａの残差ブロックの再構成済みバージョンを示している。図１Ｂの上部に、「リンギング」と呼ばれるアーチファクトが明らかに見られる。
【０００４】
現在のビデオ符号化規格では、残差ブロックにおけるすべての周波数が、同じブロックサイズで符号化される。実際には、ビデオストリームの画像内またはフレーム内の大きい領域は、局所的な高周波部分だけでなく、滑らかな勾配も含んでいることがある。その場合、エンコーダは、小さい変換ブロックサイズを選択して、滑らかな勾配をあえて何度もエンコードする必要があるのか、それとも大きい変換ブロックサイズを選択し、それでも局所的な高周波をエンコードすることを試みるのかを選択する必要がある。前者の場合は、非効率的な符号化につながり、後者の場合は、図１Ｂに示されているようなリンギングアーチファクトにつながる。
【０００５】
代替として、エンコーダは、変換を使用しないことを選択し、どの変換も伴わずに残差ブロックの予測誤差を符号化することができる。ただし、サンプル間の空間的相関を通常は含む自然なビデオコンテンツの場合、そのようなアプローチの効率は相対的に悪い。
【０００６】
米国特許第８０７７，９９１号は、変換符号化のエネルギー圧縮の特徴を空間符号化の局在特性と組み合わせる手法を開示する。さらに詳細には、残差ブロックの予測誤差に対して変換符号化が実行され、予測誤差の第１の表現を作成する。予測誤差に対して空間符号化が実行され、予測誤差の第２の表現を作成する。これら２つの表現が結合されて、符号化された予測誤差信号を形成する。
【０００７】
したがって、変換ブロックのデコーディングおよびエンコーディングにおける改善が必要とされている。
【発明の概要】
【０００８】
変換ブロックのデコーディングおよびエンコーディングを改善することが概略的な目的である。
【０００９】
変換基底パターンの形態でアーチファクトを補償できる技術を提供することが、具体的な目的である。
【００１０】
これらおよびその他の目的が、本明細書で開示された実施形態によって満たされる。
【００１１】
実施形態の態様は、変換ブロックのデコーディングの方法に関連する。この方法は、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得することを含む。この方法は、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得することも含む。この方法は、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更することをさらに含む。この変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１２】
実施形態の関連する態様は、変換ブロックのデコーディングの方法を規定する。この方法は、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得することを含む。この方法は、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供することも含む。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。この方法は、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更することをさらに含む。この変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１３】
実施形態の別の態様は、変換ブロックのエンコーディングの方法に関連する。この方法は、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換することを含む。この方法は、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに逆変換することも含む。この方法は、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供することをさらに含む。提供された情報に基づいて実行される変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１４】
実施形態の関連する態様は、変換ブロックのエンコーディングの方法を規定する。この方法は、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換することを含む。この方法は、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供することも含む。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。この方法は、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供することをさらに含む。提供された情報に基づいて実行される変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１５】
実施形態のさらに別の態様は、変換ブロックのデコーディングのためのデバイスに関連する。このデバイスは、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得するように設定される。このデバイスは、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得するようにも設定される。このデバイスは、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するようにさらに設定される。このデバイスによって実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１６】
実施形態の関連する態様は、変換ブロックのデコーディングのためのデバイスを規定する。このデバイスは、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供するようにも設定される。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。このデバイスは、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するようにさらに設定される。このデバイスによって実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１７】
実施形態の別の関連する態様は、変換ブロックのデコーディングのためのデバイスを規定する。このデバイスは、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得することと、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得することとを実行するための逆変換ユニットを備える。このデバイスは、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するための変更ユニットも備える。変更ユニットによって実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１８】
実施形態のさらに別の関連する態様は、変換ブロックのデコーディングのためのデバイスを規定する。このデバイスは、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得するための逆変換ユニットを備える。このデバイスは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内の各再構成済み予測誤差値をサンプルごとに変更するための変更ユニットも備える。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。変更ユニットによって実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００１９】
実施形態のさらに別の態様は、変換ブロックのエンコーディングのためのデバイスに関連する。このデバイスは、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換するようにも設定される。このデバイスは、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するようにさらに設定される。この変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２０】
実施形態の関連する態様は、変換ブロックのエンコーディングのためのデバイスを規定する。このデバイスは、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供するようにも設定される。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。このデバイスは、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供するようにさらに設定される。提供された情報に基づいて実行される変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２１】
実施形態の別の関連する態様は、変換ブロックのエンコーディングのためのデバイスを規定する。このデバイスは、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換することと、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換することとを実行するための変換ユニットを備える。このデバイスは、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するための提供ユニットも備える。提供された情報に基づいて実行される変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２２】
実施形態のさらに別の関連する態様は、変換ブロックのエンコーディングのためのデバイスを規定する。このデバイスは、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換するための変換ユニットを備える。このデバイスは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供するための提供ユニットも備える。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。提供ユニットは、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供するためにも存在する。提供された情報の値に基づいて実行される変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２３】
実施形態のさらに別の態様は、命令を含んでいるコンピュータプログラムに関連し、これらの命令は、プロセッサによって実行された場合に、プロセッサに、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得することを実行させる。このプロセッサは、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得することも引き起こされる。このプロセッサは、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更することをさらに引き起こされる。このプロセッサによって実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２４】
実施形態の関連する態様は、命令を含んでいるコンピュータプログラムを規定し、これらの命令は、プロセッサによって実行された場合に、プロセッサに、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得することを実行させる。このプロセッサは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供することも引き起こされる。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。このプロセッサは、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更することをさらに引き起こされる。このプロセッサによって実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２５】
実施形態のさらに別の態様は、命令を含んでいるコンピュータプログラムに関連し、これらの命令は、プロセッサによって実行された場合に、プロセッサに、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換することを実行させる。このプロセッサは、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換することも引き起こされる。このプロセッサは、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供することも引き起こされる。このプロセッサによって実行される変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２６】
実施形態の関連する態様は、命令を含んでいるコンピュータプログラムを規定し、これらの命令は、プロセッサによって実行された場合に、プロセッサに、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換することを実行させる。このプロセッサは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供することも引き起こされる。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。このプロセッサは、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供することをさらに引き起こされる。このプロセッサによって実行される変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００２７】
実施形態のさらに別の態様は、上で規定されたコンピュータプログラムを含んでいるキャリアを規定する。このキャリアは、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読記憶媒体のうちの１つである。
【００２８】
各実施形態は、予測への追加の前に、再構成済み残差ブロック内の空間的に局在する改善を実現する。それによって、局在する空間的改善は、変換基底パターンの形態などにおいて、変換符号化からのアーチファクトを補償または処理することができる。これらのアーチファクトは、そのように補償または処理されなければ、ビデオストリームのビデオフレームまたは画像における視覚的に不快な影響を引き起こす。
【００２９】
実施形態ならびに実施形態の詳細な目的および利点は、行われる以下の説明を添付の図面と共に参照して、最も良く理解され得る。
【図面の簡単な説明】
【００３０】
【図１Ａ】変換および量子化の前の残差ブロックを示す図である。
【図１Ｂ】変換、量子化、逆量子化、および逆変換の後の残差ブロックの再構成済みバージョンを示す図である。
【図２Ａ】従来技術に従う変換ブロックの分割を示す図である。
【図２Ｂ】実施形態に従う変換ブロックの分割を示す図である。
【図３】実施形態に従う変換ブロックのデコーディングの方法の一般的概念を示すフローチャートである。
【図４】実施形態に従う変換ブロックのデコーディングの方法を示すフローチャートである。
【図５】図４における変更ステップの実施形態を示すフローチャートである。
【図６】図４における変更ステップの別の実施形態を示すフローチャートである。
【図７】図４における変更ステップのさらに別の実施形態を示すフローチャートである。
【図８】図７に示された方法のオプションの追加ステップを示すフローチャートである。
【図９】図４における変更ステップのさらに別の実施形態を示すフローチャートである。
【図１０】図９における変更ステップの実施形態を示すフローチャートである。
【図１１】図９における変更ステップの別の実施形態を示すフローチャートである。
【図１２】実施形態に従う図９に示された方法のオプションの追加ステップを示すフローチャートである。
【図１３】別の実施形態に従う図９に示された方法のオプションの追加ステップを示すフローチャートである。
【図１４】図１３における分割ステップの実施形態を示すフローチャートである。
【図１５】別の実施形態に従う変換ブロックのデコーディングの方法を示すフローチャートである。
【図１６Ａ】変換ブロックのデコーディングのさまざまな例を概略的に示す図である。
【図１６Ｂ】変換ブロックのデコーディングのさまざまな例を概略的に示す図である。
【図１６Ｃ】変換ブロックのデコーディングのさまざまな例を概略的に示す図である。
【図１６Ｄ】変換ブロックのデコーディングのさまざまな例を概略的に示す図である。
【図１７】実施形態に従う変換ブロックのエンコーディングの方法を示すフローチャートである。
【図１８】図１７における提供ステップの実施形態を示すフローチャートである。
【図１９】図１７における提供ステップの別の実施形態を示すフローチャートである。
【図２０】別の実施形態に従う変換ブロックのエンコーディングの方法を示すフローチャートである。
【図２１】実施形態に従う変換ブロックのデコーディングのためのデバイスの概略ブロック図である。
【図２２】実施形態に従う変換ブロックのエンコーディングのためのデバイスの概略ブロック図である。
【図２３】別の実施形態に従う変換ブロックのデコーディングのためのデバイスの概略ブロック図である。
【図２４】別の実施形態に従う変換ブロックのエンコーディングのためのデバイスの概略ブロック図である。
【図２５】実施形態の実装をコンピュータプログラムの形態で概略的に示す図である。
【図２６】さらに別の実施形態に従う変換ブロックのデコーディングのためのデバイスの概略ブロック図である。
【図２７】さらに別の実施形態に従う変換ブロックのエンコーディングのためのデバイスの概略ブロック図である。
【図２８】実施形態に従うデコーダの概略ブロック図である。
【図２９】実施形態に従うユーザ機器の概略ブロック図である。
【図３０】実施形態に従うエンコーダの概略ブロック図である。
【発明を実施するための形態】
【００３１】
図面全体を通じて、類似する要素または対応する要素には同じ参照番号が使用されている。
【００３２】
本実施形態は、概して、変換ブロックのデコーディングおよびエンコーディングに関連し、具体的には、変換ブロックの空間的改善に寄与するデコーディングおよびエンコーディングに関連する。それによって、実施形態は、再構成済み残差ブロックがイントラ予測またはインター予測に追加されて、サンプルまたはピクセルの元のブロックの再構成済み（または、デコードされた）バージョンを形成する前に、再構成済み残差ブロック（従来技術では、デコードされた残差ブロックとも示される）の空間的に局在する部分の改善を実現する。この改善は、イントラ予測またはインター予測への追加の前に、再構成済み残差ブロックの下位部分内の再構成済み（または、デコードされた）予測誤差値を変更することによって、実現される。それによって、この空間的に局在する変更は、元のブロックの符号化に関連して変換および量子化の間に導入されたアーチファクトを補償することができる。
【００３３】
例えば、図２Ａは、エンコードされるビデオストリームの画像またはフレームの一部を構成する符号化ブロック１を示している。この特定の符号化ブロック１では、画像が滑らかな背景を持っており、線６が符号化ブロック１と交差している。それによって、符号化ブロック１は、滑らかな勾配（背景）と局所的な高周波部分（線）の両方を含んでいる。この場合、エンコーダは、符号化ブロック１を効果的にエンコードするために、符号化ブロック１をさらに小さい変換ブロック２、３、４に分割する必要がある。したがって、線６を含んでいる符号化ブロック１の部分には小さい変換ブロックサイズ４が必要であり、それに応じて、滑らかな背景のみを含んでいる符号化ブロック１の部分には、より大きい変換ブロックサイズ２、３が使用され得る。図２Ａの例示的な従来技術の例では、変換ブロック１を横切る線６が存在するため、符号化ブロック１が２２個の変換ブロックに分割されている。
【００３４】
図２Ｂは、一実施形態に従う例を示している。この場合、符号化ブロック１はわずか４つの変換ブロック２に分割されている。代わりに、４つの変換ブロック２を逆変換した後に取得された、再構成済み残差ブロックのうちの２つの下位部分５を変更することによって、線６の存在に起因する高周波データが対処される。つまり、各実施形態は、滑らかな勾配と局所的な高周波部分の両方を含む符号化ブロック１を、再構成済み残差ブロックの下位部分の選択的変更によって、従来技術と比べて非常に効率的な方法で処理することができる。
【００３５】
一般に、ビデオ符号化では、ビデオストリームのフレームまたは画像の一部を構成するサンプルまたはピクセルの符号化ブロックは、サンプルの数に関して現在のブロックと同じサイズであるか、または現在のブロックの一部である、１つまたは複数の予測ブロックに分割される。その後、各イントラ予測モードまたはインター予測が、そのような予測ブロックごとに選択される。それぞれの予測誤差値を持っているサンプルの１つまたは複数の残差ブロックを取得するために、符号化ブロック内のサンプル値と選択された予測の間の差が計算される。次に、それぞれの変換係数を持っているサンプルの１つまたは複数の変換ブロックを取得するために、現在のブロックと同じサイズを持つ変換ブロック内の予測誤差値に対して、または予測誤差値の一部に対して、変換が適用される。その後、変換係数が量子化されて、エンコードされる。変換ブロック、もっと正確に言えば、変換ブロックの再構成済みバージョンを取得するために、デコード時に、エンコード済みデータがデコードされて逆量子化される。残差ブロックの再構成済みバージョンまたはデコード済みバージョン（再構成済み残差ブロック）を取得するために、変換ブロックが逆変換される。符号化ブロックの再構成済みバージョンを取得するために、残差ブロックの再構成済みバージョンの再構成済み予測誤差値またはデコード済み予測誤差値が予測に追加される。
【００３６】
従来技術のビデオ符号化では、統計的時間依存性を利用するためにインター予測が使用され、イントラ予測が統計的空間依存性を利用し、予測残差（すなわち、予測誤差値）の変換符号化が統計的空間依存性をさらに利用する。変換符号化は、変換（好ましくは、線形空間変換）を使用した残差ブロック内の予測誤差値の変換を含む。そのような変換の好ましい例は、離散余弦変換（ＤＣＴ）、離散正弦変換（ＤＳＴ）、カルーネン−ロェーヴ変換（ＫＬＴ）などを含むが、これらに限定されない。
【００３７】
本発明によれば、残差ブロックの再構成済みバージョンの全体ではない下位部分の再構成済み予測誤差値が、予測への追加の前に変更される。
【００３８】
以下では、それぞれの変換係数を持っているサンプルのブロックを示すために変換ブロックが使用され、それぞれの予測誤差値を持っているサンプルの残差ブロックの変換の適用によって取得される。従来技術では、変換ブロックはしばしば変換ユニットと示される。
【００３９】
図３は、実施形態に従って変換ブロックのデコーディングの方法の一般的概念を示すフローチャートである。この方法は、ステップＳ１で、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換することによって取得されたサンプルの残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更することを含む。ステップＳ１において実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００４０】
したがって、ステップＳ１において実行される変更は、残差ブロックの下位部分内の再構成済み予測誤差値（従来技術では、しばしばデコードされた予測誤差値と示される）のみに影響を与える。つまり、残差ブロックの残りの部分内の再構成済み予測誤差値は、変更前と同じままである。したがって、この変更は、残差ブロックの一部に対する空間的に局在する変更である。
【００４１】
それによって、ステップＳ１における空間的に局在する変更は、例えば、変換基底パターンの形態などで、高周波データを処理するため、または変換符号化からの視覚的アーチファクトを補償するために、使用され得る。
【００４２】
図４は、実施形態に従って変換ブロックのデコーディングの方法を示すフローチャートである。この方法は、ステップＳ１０で、それぞれの変換係数を持っているサンプルの第１の変換ブロック（第１のＴＢ）を逆変換して、各再構成済み予測誤差を持っているサンプルの第１の残差ブロック（第１のＲＢ）を取得することを含む。この方法は、ステップＳ１１で、それぞれの変換係数を持っているサンプルの第２の変換ブロック（第２のＴＢ）を逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロック（第２のＲＢ）を取得することも含む。次のステップＳ１２は、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更することを含む。ステップＳ１２において実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００４３】
図４の２つのステップＳ１０およびＳ１１は、任意の順序で連続的に、または少なくとも部分的に並列に実行され得る。
【００４４】
したがって、第１の残差ブロックの下位部分内の再構成済み予測誤差値の空間的に局在する変更は、この実施形態では、第２の変換ブロックを逆変換することによって取得された再構成済み予測誤差値を使用することによって実現される。
【００４５】
一実施形態では、ステップＳ１０およびＳ１１において、同じタイプの逆変換が第１および第２の変換ブロックに適用され得る。例えば、同じタイプの逆ＤＣＴ変換が使用される。代替の実施形態では、第１の変換ブロックおよび第２の変換ブロックを生成するときに、ビデオ符号および変換符号化の間に、異なるタイプの変換が使用されていることがある。そのような場合、第１の変換ブロックを取得するために第１の変換が第１の残差ブロックに適用され、第２の変換ブロックを取得するために第２の変換が第２の残差ブロックに適用される。その場合、第２の変換は、第１の変換と比較して、異なる特徴および特性を持ってよい。つまり、第１の逆変換は、ステップＳ１０において第１の変換ブロックから第１の残差ブロックを取得するために使用されることが可能であり、第２の逆変換は、ステップＳ１１において第２の変換ブロックから第２の残差ブロックを取得するために使用されることが可能である。第１の（逆）変換は、１つまたは複数のタイプのＤＣＴ、１つまたは複数のタイプのＤＳＴ、および１つまたは複数のタイプのＫＬＴを含んでいるグループから選択された第１の（逆）変換であることができる。第２の（逆）変換は、このグループから選択された第２の異なる（逆）変換であることができる。例えば、第１の（逆）変換は（逆）ＤＣＴ変換であることができ、第２の（逆）変換は（逆）ＤＳＴ変換またはＫＬＴ変換である。別の例では、第１の（逆）変換は第１のタイプの（逆）ＤＣＴ変換であり、第２の（逆）変換は第２の異なるタイプの（逆）ＤＣＴ変換である。
【００４６】
第２の残差ブロックによって変更される第１の残差ブロックの下位部分は、通常は、第１の残差ブロック内の隣接するサンプル位置の連続的サンプル領域である。例えば、下位部分は、第１の残差ブロックの４分の１のうちの１つまたはサブセットに対応することができる。これは、例えば、本明細書でさらに説明される図１６Ａ〜図１６Ｃにおいて、さらに詳細に示されている。下位部分は、例えばＰ×Ｐサンプルの正方形またはＰ×Ｑサンプルの長方形を含む、サンプルの数に関して異なるサイズまたは形状を持つことができ、Ｐ、Ｑは１以上の整数である。特定の実施形態では、正方形（Ｐ×Ｐサンプル）の場合、Ｐは２以上の整数である。別の特定の実施形態では、長方形（Ｐ×Ｑサンプル）の場合、ＰおよびＱのうちの少なくとも１つが２以上の整数である。長方形の場合、下位部分は１×ＱサンプルまたはＰ×１サンプルの形態であることができる。これは、第１の残差ブロック内の行または列のうちの１つにおいて、再構成済み予測誤差値を変更することに対応する。この行または列は、好ましくは、第１の残差ブロック内の最初または最後の行または列である。これは、第１の残差ブロック内の境界のサンプル位置を変更することに対応する。
【００４７】
代替の実施形態では、第１の残差ブロック内の下位部分を集合的に構成するサンプル位置は、隣接していないサンプル位置を含むように分散され得る。例えば、下位部分は、第１の残差ブロック内の１つおきのサンプルで構成され得る。
【００４８】
図１６Ａに示されているように、図４に示された方法の第１の実装の実施形態では、第２の残差ブロック２１が、サンプルの数に関して、第１の残差ブロック１１と比べて小さいサイズを持っている。さらに、第２の残差ブロック２１は、第１の残差ブロック１１の下位部分１２に対応する。この実装の実施形態では、図４のステップＳ１２は、第２の残差ブロック２１の各再構成済み予測誤差値によって、第１の残差ブロック１１の下位部分１２の各再構成済み予測誤差値をサンプルごとに変更することを含む。
【００４９】
図１６Ａは、第１の変換ブロック１０および第２の変換ブロック２０も示しており、これらの変換ブロックは、第１の残差ブロック１１および第２の残差ブロック２１をそれぞれ取得するために、ステップＳ１０およびＳ１１において逆変換される。
【００５０】
サンプルごとの変更とは、第１の残差ブロック１１の下位部分１２内の特定のサンプルの再構成済み予測誤差値が、第２の残差ブロック２１内の対応するサンプルの再構成済み予測誤差値によって変更されるということを意味する。対応するサンプルは、特定のサンプルが第１の残差ブロック１１の下位部分１２内で占めているのと同じ位置を、第２の残差ブロック２１内で占める（この位置は、第１の残差ブロック１１全体内の特定のサンプルの位置とは異なることができる）。例えば、第１の残差ブロック１１の下位部分１２内の左上隅を占めているサンプルの再構成済み予測誤差値が、第２の残差ブロック２１内の左上隅を占めている対応するサンプルの再構成済み予測誤差値によって変更される、などとなる。
【００５１】
この実施形態では、最後の残差ブロック（ＲＢ）１３は、第２の残差ブロック２１を使用して変更された再構成済み予測誤差値、および第１の残差ブロック１１の「元の」再構成済み予測誤差値に対応する変更されていない再構成済み予測誤差値を持っている。
【００５２】
図５は、図４内の変更ステップの実施形態を示すフローチャートである。この実施形態では、この方法は図４内のステップＳ１１から継続する。次のステップＳ１３は、第２の残差ブロック２１の各再構成済み予測誤差値を、第１の残差ブロック１１の下位部分１２の各再構成済み予測誤差値にサンプルごとに追加することを含む。
【００５３】
そのような追加の例が、４×４サンプルの第１の残差ブロック１１および２×２サンプルの第２の残差ブロック２１を使用して、下で提示される。この例では、第２の残差ブロック２１の各再構成済み予測誤差値が、第１の残差ブロック１１の右上の２×２の下位部分に追加される。
0006557406.tif 000002
【００５４】
関連する実施形態では、第２の残差ブロック２１の各再構成済み予測誤差値の重み付けされたバージョンを、第１の残差ブロック１１の下位部分１２の各再構成済み予測誤差値にサンプルごとに追加することによって、変更が実行され得る。
【００５５】
そのような場合、同じ重みがすべての再構成済み予測誤差値に使用され得るか、または異なる重みが異なる予測誤差値に使用され得る。後者の場合、重みの値は、第２の残差ブロック１２内の特定のサンプル位置に基づいて規定され得る。あるいは、重みの決定を可能にする情報が、エンコーダから提供され得る。
【００５６】
さらに別の実施形態では、重みの値が、現在のブロックのイントラ予測またはインター予測のサンプル値に基づいて推定または決定され得る。
【００５７】
図６は、図４内の変更ステップの別の実施形態を示すフローチャートである。この実施形態では、ステップＳ１４は、第２の残差ブロック２１の各再構成済み予測誤差値によって、第１の残差ブロック１１の下位部分１２の各再構成済み予測誤差値をサンプルごとに置換することを含む。
【００５８】
そのような置換の対応する例が、下で提示される。
0006557406.tif 000003
【００５９】
一実施形態では、図４のステップＳ１０は、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロック１０を逆変換して、各再構成済み予測誤差を持っている２Ｎ×２Ｎサンプルの残差ブロック１１を取得することを含む。この実施形態では、ステップＳ１１は、各変換係数を持っているＮ×Ｎサンプルの少なくとも１つの変換ブロック２０Ａ〜２０Ｄを逆変換して、各再構成済み予測誤差値を持っているＮ×Ｎサンプルの少なくとも１つの残差ブロック２１Ａ〜２１Ｄを取得することを含む（図１６Ｂを参照）。Ｎ×Ｎサンプルの少なくとも１つの残差ブロック２１Ａ〜２１Ｄのうちの各残差ブロック２１Ａ〜２１Ｄは、２Ｎ×２Ｎサンプルの残差ブロック１１の各下位部分１２Ａ〜１２Ｄに対応する。この実施形態では、ステップＳ１２は、２Ｎ×２Ｎサンプルの残差ブロック１１の各下位部分１２Ａ〜１２Ｄの各再構成済み予測誤差値を、Ｎ×Ｎサンプルの残差ブロック２１Ａ〜２１Ｄの各再構成済み予測誤差値によって、サンプルごとに、かつＮ×Ｎサンプルの少なくとも１つの残差ブロック２１Ａ〜２１Ｄのうちの残差ブロック２１Ａ〜２１Ｄごとに、変更することを含む。
【００６０】
特定の実施形態では、２Ｎ×２Ｎサンプルの残差ブロック１１は、４つの各下位部分１２Ａ〜１２Ｄを含み、下位部分１２Ａ〜１２Ｄはそれぞれ、２Ｎ×２Ｎサンプルの残差ブロック１１の各４分の１を表す。次に、これらの４分の１  １２Ａ〜１２Ｄのうちの１つまたは複数における再構成済み予測誤差値は、Ｎ×Ｎサンプルの１つまたは複数の残差ブロック２１Ａ〜２１Ｄの再構成済み予測誤差値によって、図５および６に関連して前述された追加または置換などによって、変更され得る。
【００６１】
一実施形態では、図４のステップＳ１１およびＳ１２は、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた少なくとも１つのフラグの値に対して条件付けられる。つまり、この実施形態では、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた少なくとも１つのフラグが、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値を持っている場合に、Ｓ１１およびＳ１２が実行される。
【００６２】
第１の実施形態では、１つのフラグが使用される。フラグが第１の値（１ｂｉｎ（または０ｂｉｎ）など）を持っている場合、Ｎ×Ｎサンプルの少なくとも１つの変換ブロック２０Ａ〜２０Ｄが、２Ｎ×２Ｎサンプルの変換ブロック１０を逆変換することによって取得された再構成済み予測誤差値を変更するために使用可能であり、使用されるべきである。つまり、図４内のステップＳ１０に加えて、ステップＳ１１およびＳ１２が実行されるべきである。しかし、フラグが第２の値（０ｂｉｎ（または１ｂｉｎ）など）を持っている場合は、Ｎ×Ｎサンプルの変換ブロック２０Ａ〜２０Ｄを、２Ｎ×２Ｎサンプルの現在の変換ブロック１０に使用できない。その場合、図４のステップＳ１１およびＳ１２ではなく、ステップＳ１０のみが実行されるべきである。
【００６３】
フラグが第１の値を持っている場合、好ましくは、フラグまたはその他の構文要素などの追加情報が使用可能であり、２Ｎ×２Ｎサンプルの再構成済みブロック１１のどの４分の１  １２Ａ〜１２Ｄが変更されるべきかをシグナリングするために使用される。これは、前述された第１のフラグが第１の値を持っている場合に、４つの追加フラグ（４分の１  １２Ａ〜１２Ｄごとに１つ）を持つことによって実現され得る。その場合、そのような各追加フラグは、関連する４分の１  １２Ａ〜１２Ｄの再構成済み予測誤差値が変更されるべきであるかどうかをシグナリングすることができる。それによって、このアプローチは、２Ｎ×２Ｎサンプルの残差ブロック１１を全く変更しないか、または１つまたは複数の４分の１  １２Ａ〜１２Ｄを変更する可能性を持つ。これにより、再構成済み予測誤差値の変更において、およびそのような変更が行われるべき下位部分１２Ａ〜１２Ｄの空間的選択において、高い柔軟性を実現する。
【００６４】
わずかに柔軟性の低い実施形態では、Ｎ×Ｎサンプルの１つの変換ブロック２０が使用可能であってよい。そのような場合、Ｎ×Ｎサンプルの変換ブロック２０を使用して変更されるべき下位部分１２Ａ〜１２Ｄ（すなわち、４分の１）を示すために、４つの追加フラグを使用する代わりに、１つの構文要素（２ビットの構文要素など）が使用され得る。さらに柔軟性の低い実施形態は、２Ｎ×２Ｎサンプルの残差ブロック１１内の下位部分１２Ａ〜１２Ｄの位置を事前に規定することである。そのような場合、下位部分１２Ａ〜１２Ｄの位置をシグナリングするために、構文要素は必要とされない。そのようなケースの標準的な例は、イントラ予測誤差を含む残差ブロックの右下隅である。残差ブロックのこの下位部分は、イントラ予測を規定するために使用される基準サンプルから最も遠いため、通常、最大の予測誤差値を含む。
【００６５】
さらに別の例は、現在のブロックのイントラ予測またはインター予測のサンプル値に基づいて、変更されるべき２Ｎ×２Ｎサンプルの残差ブロック１１内の下位部分（例えば、４分の１）の位置を導出することである。通常、予測が非平坦であるサンプルの予測ブロック内の対応するサンプル位置は、Ｎ×Ｎサンプルの残差ブロック２１を使用して変更されるべき下位部分の適切な位置を構成する。
【００６６】
さらに別の変形は、必ずしも互いに一致しないが、むしろさらに大きい領域をカバーするサンプル位置をカバーするＮ×Ｎサンプルの変換ブロック２０を持っていることである。例えば、２Ｎ×２Ｎサンプルの残差ブロック１１内の１つおきのサンプル位置である。別の例は、ブロックのイントラ予測またはインター予測が、前述されたように非平坦である位置である。したがって、Ｎ×Ｎサンプルの変換ブロック２０を使用して変更されるべき下位部分１２Ａ〜１２Ｄ（すなわち、４分の１）は、必ずしも、隣接するサンプル位置の連続的サンプル領域である必要はない。明確に対照的に、２Ｎ×２Ｎサンプルの残差ブロック１１内の下位部分１２Ａ〜１２Ｄを集合的に構成するサンプル位置は、隣接していないサンプル位置を含むように分散され得る。
【００６７】
別の実施形態では、図４のステップＳ１０は、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロックを逆変換して、各再構成済み予測誤差を持っている２Ｎ×２Ｎサンプルの残差ブロック１１を取得することを含む。この実施形態では、ステップＳ１１は、各変換係数を持っているＮ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０Ｄを逆変換して、各再構成済み予測誤差値を持っているＮ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１Ｄを取得することを含む。Ｎ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１Ｄのうちの各残差ブロック２１Ａ〜２１Ｄは、２Ｎ×２Ｎサンプルの残差ブロック１１の各下位部分１２Ａ〜１２Ｄに対応する。この実施形態では、ステップＳ１２は、図７に示されているように４つのサブステップＳ１５〜Ｓ１８を含む。ステップＳ１５は、Ｎ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１ＤのうちのＮ×Ｎサンプルの第１の残差ブロック２１Ａの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロック１１の第１の下位部分１２Ａの各再構成済み予測誤差値を、サンプルごとに変更することを含む。ステップＳ１６は、Ｎ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１ＤのうちのＮ×Ｎサンプルの第２の残差ブロック２１Ｂの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロック１１の第２の下位部分１２Ｂの各再構成済み予測誤差値を、サンプルごとに変更することを含む。ステップＳ１７は、Ｎ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１ＤのうちのＮ×Ｎサンプルの第３の残差ブロック２１Ｃの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロック１１の第３の下位部分１２Ｃの各再構成済み予測誤差値を、サンプルごとに変更することを含む。ステップＳ１８は、Ｎ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１ＤのうちのＮ×Ｎサンプルの第４の残差ブロック２１Ｄの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロック１１の第４の下位部分１２Ｄの各再構成済み予測誤差値を、サンプルごとに変更することを含む。
【００６８】
この実施形態では、Ｎ×Ｎサンプルの各変換２０Ａ〜２０Ｄが使用可能であり、例えば図５または図６に示されているように、２Ｎ×２Ｎサンプルの残差ブロック１１内の４つのＮ×Ｎの下位部分１２Ａ〜１２Ｄそれぞれにおいて再構成済み予測誤差値を変更するために使用され得る。
【００６９】
特定の実施形態では、２つのフラグが、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられ、２Ｎ×２Ｎサンプルの変換ブロック１０を逆変換することによって取得された再構成済み予測誤差値の変更が行われるべきであるかどうかを決定するために使用され得る。この実施形態では、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた第１のフラグが、２Ｎ×２Ｎサンプルの変換ブロック１０がＮ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０Ｄに分割されることを示す値を持っている場合、および２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた第２のフラグが、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値を持っている場合に、図４のステップＳ１０〜Ｓ１２が実行される。
【００７０】
この実施形態は、図８でさらに詳細に示される。この方法はステップＳ２０で開始し、ステップＳ２０で、第１のフラグの値が調べられる。この例では、第１のフラグが値０ｂｉｎを持っている場合、Ｎ×Ｎサンプルの変換ブロック２０Ａ〜２０Ｄを、２Ｎ×２Ｎサンプルの現在の変換ブロック１０に使用できない。それによって、２Ｎ×２Ｎサンプルの再構成済みブロック１３を取得するために２Ｎ×２Ｎサンプル１０の変換ブロックがステップＳ２１で逆変換され、再構成済み予測誤差値の変更は実行されない。しかし、この例では、第１のフラグが１ｂｉｎに等しい場合、この方法はステップＳ２２に進み、ステップＳ２２で第２のフラグの値がチェックされる。この例では、第２のフラグが０ｂｉｎに等しい場合、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できない。これは基本的に、２Ｎ×２Ｎサンプルの変換ブロックを、Ｎ×Ｎサンプルの４つの変換ブロックに置換または分割することに対応する。次に、ステップＳ２３でＮ×Ｎサンプルの４つの変換ブロックが逆変換されるか、またはそれらの変換ブロックのうちの少なくとも１つが、４つのさらに小さい変換ブロックにさらに分割され得る。ただし、ステップＳ２２で決定されるように、第２のフラグが１ｂｉｎに等しい場合、この方法はステップＳ２４に進み、ステップＳ２４は、２Ｎ×２Ｎサンプルの変換ブロック１０およびＮ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０Ｄを逆変換することを含む。次に、この方法は図７のステップＳ１５に進み、ステップＳ１５で、２Ｎ×２Ｎサンプルの残差ブロック１１の再構成済み予測誤差が、本明細書において前述されたように、変更される。
【００７１】
前述された実施形態では、Ｎは整数であり、好ましくは２以上の整数である。特定の実施形態では、Ｎ＝２ｎであり、ｎは１以上の整数である。さらに好ましくは、ｎ＝１、２、３、または４、あるいはｎ＝１、２、３、４、または５である。
【００７２】
一実施形態では、Ｎ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０Ｄのすべてが必ずしも等しくない。これは、２Ｎ×２Ｎサンプルの残差ブロック１１の異なる下位部分１２Ａ〜１２Ｄが、異なる変更の対象になるということを意味する。特定の実施形態では、Ｎ×Ｎサンプルの少なくとも１つの残差ブロック２１Ａ〜２１Ｄの再構成済み予測誤差値のうちの少なくとも１つがゼロに等しい。
【００７３】
図９は、別の実装の実施形態に従って図４内の変更ステップＳ１２の実施形態を示すフローチャートである。図１６Ｃへの参照も行われる。この方法は、図４内のステップＳ１１から継続する。次のステップＳ３０は、第２の残差ブロック２１の下位部分２２内の各再構成済み予測誤差値を変更することを含む。次のステップＳ３１は、第２の残差ブロック２１の各再構成済み予測誤差値を、第１の残差ブロック１１の各予測誤差値にサンプルごとに追加することを含む。
【００７４】
特定の実施形態では、下位部分２２の変更後の第２の残差ブロック２１内の再構成済み予測誤差値のうちの少なくとも１つがゼロである。つまり、そのような場合、ゼロの再構成済み予測誤差値を持っている第２の残差ブロック２１内のサンプルは、第１の残差ブロック１１内の対応するサンプルの再構成済み予測誤差値を変更しない。
【００７５】
特定の実施形態では、第１および第２の変換ブロック１０、２０は、サンプルの数に関して同じサイズを持ち、第１および第２の残差ブロック１１、２１も、サンプルの数に関して同じサイズを持つ。
【００７６】
一実施形態では、図９のステップＳ３０が、図１０に示されているように実行される。したがってこの実施形態では、変更は、ステップ３２で、第２の残差ブロック２１の下位部分２２内の各再構成済み予測誤差値をゼロに設定することを含む。これは、下位部分２２内に存在するサンプルに関して、残差ブロック２１の再構成済み予測誤差値がゼロに置換されるということを意味する。
【００７７】
図１１は、図９内のステップＳ３０の別の実施形態を示している。この実施形態では、変更は、ステップ３３で、第２の残差ブロック２１の下位部分２２内の各再構成済み予測誤差値に、それぞれの重みを掛けることを含む。
【００７８】
一実施形態では、重みのうちの少なくとも１つがゼロであり、その結果、第２の残差ブロック２１の下位部分２２内の少なくとも１つのサンプルの再構成済み予測誤差値がゼロに設定される。
【００７９】
これは、すべての再構成済み予測誤差値をゼロに設定することと比べて、より一般化された実施形態である。このタイプの変更は、単純にゼロに設定することよりも緩和的であり、例えば、一部のサンプルの再構成済み予測誤差値の大きさの縮小を実現することができる。その場合、それぞれの重みは各スケーリング係数と見なすことができる。変更された第２の残差ブロック２１の下位部分２２と、変更されていない第２の残差ブロック２１の残りの部分との間の不連続性を防ぐために、ステップＳ３３で重みを使用するスケーリングが、１の重みまたはスケーリング係数（変更しないことを意味する）から望ましい重み付け係数またはスケーリング係数（ゼロなど）に減少することができる。つまり、第２の残差ブロック２１の下位部分２２内のサンプルの行または列に沿って移動するときに、１つまたは複数のステップで、再構成済み予測誤差値をゼロに設定することから、再構成済み予測誤差値を変更しないことまで、変化することができる。これによって、第２の残差ブロック２１内の下位部分２２と残りの部分の間の境界を横切る場合に、ゼロに設定されたサンプルから隣接する変更されていないサンプルまで移動するときに発生することのある不連続性を防ぐ。
【００８０】
重みが、事前に規定されることが可能であり、例えば、下位部分２２内のサンプル位置によって決まる。あるいは、エンコーダから提供された情報が、重みの導出に使用され得る。
【００８１】
図１２は、図９に示された方法のオプションの追加ステップを示している。この方法は、図４内のステップＳ１１から継続する。次のステップＳ３４は、第２の変換ブロック２０に関連付けられた少なくとも１つのフラグの各値に基づいて、第２の残差ブロック２１の下位部分２２を識別することを含む。次に、この方法は図９内のステップＳ３０に進む。
【００８２】
この実施形態では、少なくとも１つのフラグが、下位部分２２の識別に使用される。第１のアプローチでは、下位部分２２の位置が、第２の残差ブロック２１内の、例えば第２の残差ブロック２１の左上の４分の１に対応する位置に固定され得る。そのような場合、この下位部分２２内の再構成済み予測誤差値が変更されるべきであるかどうかをシグナリングするために、１つのフラグが使用され得る。
【００８３】
別の実施形態では、４つのフラグが第２の変換ブロック２０に関連付けられ得る。その場合、そのような各フラグは、第２の残差ブロック２１の各４分の１ごとに割り当てられる。これは、第２の残差ブロック２１内の４分の１ごとに変更または非変更を個別にシグナリングすることができるということを意味する。
【００８４】
さらに別の変形は、２ビットの構文要素などの構文要素を第２の変換ブロック２０に関連付けることである。この構文要素は、下位部分２２が第２の残差ブロック２１の４つの４分の１のうちの１つを構成する場合、第２の残差ブロック２１内の下位部分２２の位置をシグナリングすることができる。
【００８５】
インター予測またはイントラ予測（すなわち、本明細書において前述された特定のインター予測またはイントラ予測のサンプル値）に基づいて、下位部分２２の位置を推定することもできる。
【００８６】
一実施形態では、図４のステップＳ１０は、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの第１の変換ブロック１０を逆変換して、第１の残差ブロック１１を取得することを含む。この実施形態では、ステップＳ１１は、それぞれの高周波数変換係数を持っているサンプルの第２の変換ブロック２０を逆変換して、第２の残差ブロック２１を取得することを含む。
【００８７】
それによって、２つの変換ブロック１０、２０は互いに補完し、第１の変換ブロック１０がゼロ周波数（すなわち、ＤＣ）変換係数および低周波数変換係数を搬送し、第２の変換ブロック２０が高周波数変換係数を搬送する。ステップＳ１０およびＳ１１での逆変換後に、それによって、第１の残差ブロック１１は、再構成済み予測誤差のＤＣおよび低周波数の寄与を含み、第２の残差ブロック２１は、再構成済み予測誤差の高周波数の寄与を含む。そのような場合、変更ステップＳ３０で、残差ブロック１３の下位部分２２の高周波数の寄与をゼロに設定するか、または少なくとも抑制することができる。次に、ステップＳ３１で２つの残差ブロック１１、２１を一緒に追加することによって得られた残差ブロック１３は、再構成済み予測誤差へのＤＣおよび低周波数の寄与のみを持つサンプルの部分を持ち、一方、残差ブロック１３の残りの部分は、再構成済み予測誤差へのＤＣおよび低周波数と高周波数の両方の寄与を持つサンプルを持つ。
【００８８】
別の実施形態では、代わりに、ゼロに設定すること、または抑制が、ゼロ周波数および／または低周波数の寄与に適用され得る。そのような場合、第２の残差ブロック２１の代わりに、第１の残差ブロック１１の下位部分に対して変更が実行される。これらのアプローチを結合することも可能である。そのような場合、第１の残差ブロック１１の下位部分内のゼロ周波数および／または低周波数の寄与が変更され、第２の残差ブロック２１の下位部分内の高周波数の寄与が変更される。２つの下位部分は、通常、残差ブロック１１、２１内で異なる位置を持つ。
【００８９】
本明細書で使用される低周波数の寄与および低周波数変換係数は、好ましくは、最大ｍ次の変化に関連し、一方、高周波数の寄与および高周波数変換係数は、（ｍ＋１）次以上の変化に関連する。例えば、第１の変換ブロック１０はＤＣおよび１次の変換係数を含むことができ、一方、第２の変換ブロック２０は２次以上の変換係数を搬送する。
【００９０】
一実施形態では、前述されたように、２つの変換ブロック１０、２０は、エンコード時およびデコード時に生成され得る。あるいは、１つの変換ブロックが、使用された後に第１および第２の変換ブロック１０、２０に分割される。そのような場合、この方法は、好ましくは、図１３に示されているようにオプションのステップＳ４０を含む。このステップＳ４０は、それぞれの変換係数を持っているサンプルの変換ブロックを第１の変換ブロック１０および第２の変換ブロック２０に分割することを含む。次に、この方法は図４内のステップＳ１０に進む。
【００９１】
図１４は、図１３内の分割ステップＳ４０の好ましい実装を示すフローチャートである。この方法は、ステップＳ４１で、変換ブロックのそれぞれのゼロ周波数変換係数および低周波数変換係数を、第１の変換ブロック１０内のゼロ周波数および低周波数のサンプル位置にコピーすることを含む。次のステップＳ４２は、第２の変換ブロック１０内の残りのサンプル位置をゼロにセットすることを含む。ステップＳ４３は、変換ブロックの各高周波数変換係数を第２の変換ブロック２０内の高周波数のサンプル位置にコピーすることを含む。次のステップＳ４４は、第２の変換ブロック２０内の残りの位置をゼロにセットすることを含む。
【００９２】
ステップＳ４２でゼロにセットされるサンプル位置は、好ましくは、第１の変換ブロック１０内の高周波数のサンプル位置である。それに応じて、ステップＳ４４でゼロにセットされるサンプル位置は、好ましくは、第２の変換ブロック２０内のゼロ周波数および低周波数のサンプル位置である。したがって、その後、第１の変換ブロック１０はゼロ周波数変換係数および低周波数変換係数を含むが、好ましくは、高周波数変換係数を含まない。それに応じて、第２の変換ブロック２０は、好ましくは、高周波数変換係数を含むが、ゼロ周波数変換係数または低周波数変換係数を含まない。
【００９３】
この手順は、下で概略的に説明されており、第１のステップで、ゼロ周波数変換係数、低周波数変換係数、および高周波数変換係数をそれぞれコピーすることによって、変換ブロックを第１および第２の変換ブロックに分割することを示している。第２のステップで、残りのサンプル位置がゼロにセットされる。
0006557406.tif 000004
【００９４】
代替のアプローチは、残差ブロックの再構成済み予測誤差値を導出するときに、ゼロに等しくなるべき変換係数に対応する変換の基底関数の使用を省略することである。
【００９５】
図１５は、さらに別の実装の実施形態に従って変換ブロックのデコーディングの方法を示すフローチャートである。図１６Ｄへの参照も行われる。この実装の実施形態では、この方法はステップＳ５０で開始し、ステップＳ５０は、それぞれの変換係数を持っているサンプルの変換ブロック１０を逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロック１１を取得することを含む。次のステップＳ５１は、それぞれの予測誤差値を持っているサンプルの変換スキップブロック２５を提供することを含む。一実施形態では、変換スキップブロック２５は、サンプルの数に関して、残差ブロック１１と比べて小さいサイズを持っている。次のステップＳ５２は、変換スキップブロック２５の各予測誤差値によって、残差ブロック１１の下位部分１２内の各再構成済み予測誤差値をサンプルごとに変更することを含む。ステップＳ５２において実行される変更は、残差ブロック１１の下位部分１２内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロック１１の残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【００９６】
本明細書において使用される変換スキップブロック２５は、変換が回避される変換ブロックである。つまり、変換スキップブロック２５内のサンプルの係数は、空間的残差サンプル（すなわち、予測誤差値）である。したがって、変換スキップブロック２５の予測誤差値を取得するために、逆変換は必要とされない。
【００９７】
ステップＳ５２で、図５および６に関連して説明されたのと同様の方法で、変更が実行され得る。したがって、一実施形態では、ステップＳ５２は、変換スキップブロック２５の各予測誤差値を、残差ブロック１１の下位部分１２の各再構成済み予測誤差値にサンプルごとに追加することを含む。別の実施形態では、ステップＳ５２は、変換スキップブロック２５の各予測誤差値によって、残差ブロック１１の下位部分１２の各再構成済み予測誤差値をサンプルごとに置換することを含む。
【００９８】
図１６Ａに関連して本明細書において前述されたように、下位部分１２の特定の位置がシグナリングされ得る。
【００９９】
下位部分１２の形状および連続的または分散された下位部分１２に関して上で提供された説明は、別の変換ブロックを使用する代わりに、残差ブロック内の再構成済み予測誤差値を変更するために変換スキップブロックを使用する実施形態にも適用される。
【０１００】
前述された方法および実施形態は、通常は、符号化されたビデオストリームおよび符号化されたビデオストリーム内の画像またはフレームのデコード時に、デコーダ内で、またはデコーダによって実行される。ただし、逆変換は、エンコーダが符号化ブロックをエンコードするときにどの予測を使用するべきかをテストする場合に、エンコード時にも実行される。したがって、この方法は、ビデオストリームのエンコード時に、エンコーダ内で、またはエンコーダによっても実行され得る。
【０１０１】
エンコーダは、好ましくは、本明細書で開示されているように、再構成済み予測誤差値の変更を実行するようにデコーダに指示する情報をデコーダに提供する。このタイプの情報は、符号化ビデオビットストリームに含まれる１つまたは複数のフラグおよび／または１つまたは複数の構文要素であることができる。このタイプの情報は、符号化ビデオビットストリームの、または符号化ビデオビットストリームに関連付けられた、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、画像パラメータセット（ＰＰＳ）などのパラメータセットに含まれ得る。代替または追加として、この情報は、ビデオストリームの画像またはフレームのスライスヘッダまたは実際には符号化されたペイロードデータに含まれ得る。
【０１０２】
フラグおよび／または構文要素の代わりに、または補完として、この情報は、変更後の残差ブロックの再構成済み予測誤差値に追加されるインター予測またはイントラ予測のサンプル値を含むことができる。例えば、インター予測またはイントラ予測のサンプル値は、本明細書で開示されているように、第２の残差ブロックまたは変換スキップブロックを使用して変更されるべき残差ブロックの下位部分を識別するために、デコーダによって使用され得る。例えば、非平坦である（すなわち、インター予測またはイントラ予測における最大サンプル値と最小サンプル値の間の差が大きい）と決定されたインター予測またはイントラ予測における対応する部分と同じサンプル位置を持っている残差ブロック内の下位部分は、変更に適しているとして識別され得る。
【０１０３】
以下の方法および実施形態は、通常は、ビデオストリームおよびビデオストリーム内の画像またはフレームのエンコード時に、エンコーダ内で、またはエンコーダによって実行される。それによって、これらの方法および実施形態は、「デコーディングに関連する」方法および実施形態において前述された変換ブロックを生成する。したがって、「デコーディングに関連する」実施形態に関連して前述された情報および手順が、変更すべきところは変更して、対応する「エンコーディングに関連する」実施形態に適用される。
【０１０４】
変換ブロックのエンコーディングの方法の一般的概念において、この方法は、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換することを含む。この方法は、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供することも含む。提供された情報に基づいて実行される変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１０５】
図１７は、実施形態に従って変換ブロックのエンコーディングの方法を示すフローチャートである。この方法は、ステップＳ６０で、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換することを含む。この方法は、ステップＳ６１で、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換することも含む。この方法は、ステップＳ６２で、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供することをさらに含む。この変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１０６】
この「エンコーディングに関連する」方法は、それぞれの予測誤差値を持っているサンプルの元の残差ブロックに対して作用する。次に、それぞれの変換係数を持っているサンプルの変換ブロックを取得するために、残差ブロックが変換される。その後、本明細書に記載されているように、変換係数がさらに処理される（量子化されてから逆量子化される）。次に、（元の）残差ブロックの再構成済みバージョンが、変換ブロックに基づいて取得される。さらに詳細には、次に、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックの再構成済みバージョンを取得するために、量子化されてから逆量子化された変換係数が逆変換に入力される。
【０１０７】
一実施形態では、第２の残差ブロック２１は、サンプルの数に関して、第１の残差ブロック１１と比べて小さいサイズを持っている（図１６Ａを参照）。また、第２の残差ブロック２１は、第１の残差ブロック１１の下位部分１２に対応する。この実施形態では、この変更は、第２の変換ブロック２０に基づいて取得された第２の残差ブロック２１の再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロック１０に基づいて取得された第１の残差ブロック１１の再構成済みバージョンの下位部分１２の各再構成済み予測誤差値をサンプルごとに変更することを含む。
【０１０８】
この変更は、本明細書において前述されたように、サンプルごとの追加または置換として実行され得る。
【０１０９】
この実施形態では、提供される情報は、第２の変換ブロック２０の存在をデコーダに通知する情報を含み、好ましくは、第１の残差ブロック１１内の下位部分１２の位置を示す情報も含む。この情報は、１つまたは複数のフラグ、１つまたは複数の構文要素、ならびに／あるいは第２の変換ブロック２０の存在および／または下位部分１１の位置を間接的に規定する情報の形態であってよい。このタイプの情報は、第１の残差ブロック１１に使用されたインター予測またはイントラ予測の特定の値であることができ、必要に応じて、第１の残差ブロック１１の予測誤差値であることもできる。
【０１１０】
別の実施形態では、ステップＳ６０は、各予測誤差値を持っている２Ｎ×２Ｎサンプルの残差ブロック１１を変換して、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロック１０を取得することを含む（図１６Ｂを参照）。ステップＳ６１は、各予測誤差値を持っているＮ×Ｎサンプルの少なくとも１つの残差ブロック２１Ａ〜２１Ｄを変換して、各変換係数を持っているＮ×Ｎサンプルの少なくとも１つの変換ブロック２０Ａ〜２０Ｄを取得することを含む。この実施形態では、Ｎ×Ｎサンプルの少なくとも１つの残差ブロック２１Ａ〜２１Ｄのうちの各残差ブロック２１Ａ〜２１Ｄは、２Ｎ×２Ｎサンプルの残差ブロック１１の各下位部分１２Ａ〜１２Ｄに対応する。この実施形態では、この変更は、２Ｎ×２Ｎサンプルの変換ブロック１０に基づいて取得された２Ｎ×２Ｎサンプルの残差ブロック１１の再構成済みバージョンの各下位部分１２Ａ〜１２Ｄの各再構成済み予測誤差値を、Ｎ×Ｎサンプルの変換ブロック２０Ａ〜２０Ｄに基づいて取得されたＮ×Ｎサンプルの残差ブロック２１Ａ〜２１Ｄの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに、かつＮ×Ｎサンプルの少なくとも１つの変換ブロック２０Ａ〜２０Ｄのうちの変換ブロック２０Ａ〜２０Ｄごとに変更することを含む。
【０１１１】
特定の実施形態では、Ｓ６２は、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた少なくとも１つのフラグを、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値にセットすることを含む。
【０１１２】
この実施形態では、提供される情報が少なくとも１つのフラグを含む。
【０１１３】
さらに別の実施形態では、ステップＳ６０は、各予測誤差値を持っている２Ｎ×２Ｎサンプルの残差ブロック１１を変換して、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロック１０を取得することを含む。ステップＳ６１は、各予測誤差値を持っているＮ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１Ｄを変換して、各変換係数を持っているＮ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０Ｄを取得することを含む。この実施形態では、Ｎ×Ｎサンプルの４つの残差ブロック２１Ａ〜２１Ｄのうちの各残差ブロック２１Ａ〜２１Ｄは、２Ｎ×２Ｎサンプルの残差ブロック１１の各下位部分１２Ａ〜１２Ｄに対応する。この実施形態では、この変更は、２Ｎ×２Ｎサンプルの変換ブロック１０に基づいて取得された２Ｎ×２Ｎサンプルの残差ブロック１１の再構成済みバージョンの第１の下位部分１２Ａの各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０ＤのうちのＮ×Ｎサンプルの第１の変換ブロック２０Ａに基づいて取得されたＮ×Ｎサンプルの第１の残差ブロック２１Ａの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することを含む。この変更は、２Ｎ×２Ｎサンプルの残差ブロック１１の再構成済みバージョンの第２の下位部分１２Ｂの各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０ＤのうちのＮ×Ｎサンプルの第２の変換ブロック２０Ｂに基づいて取得されたＮ×Ｎサンプルの第２の残差ブロック２１Ｂの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することも含む。この変更は、２Ｎ×２Ｎサンプルの残差ブロック１１の再構成済みバージョンの第３の下位部分１２Ｃの各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０ＤのうちのＮ×Ｎサンプルの第３の変換ブロック２０Ｃに基づいて取得されたＮ×Ｎサンプルの第３の残差ブロック２１Ｃの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することをさらに含む。この変更は、２Ｎ×２Ｎサンプルの残差ブロック１１の再構成済みバージョンの第４の下位部分１２Ｄの各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０ＤのうちのＮ×Ｎサンプルの第４の変換ブロック２０Ｄに基づいて取得されたＮ×Ｎサンプルの第４の残差ブロック２１Ｄの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することをさらに含む。
【０１１４】
一実施形態では、図１７のステップＳ６２が、図１８に示されているように実行される。この方法は、図１８内のステップＳ６１から継続する。次のステップＳ６３は、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた第１のフラグを、２Ｎ×２Ｎサンプルの変換ブロック１０がＮ×Ｎサンプルの４つの変換ブロック２０Ａ〜２０Ｄに分割されることを示す値にセットすることを含む。この方法は、Ｓ６４で、２Ｎ×２Ｎサンプルの変換ブロック１０に関連付けられた第２のフラグを、変換係数を２Ｎ×２Ｎブロックレベルに使用できることを示す値にセットすることも含む。
【０１１５】
この実施形態では、提供される情報が第１および第２のフラグを含む。
【０１１６】
別の実施形態では、この変更は、好ましくは、第２の変換ブロック２０に基づいて取得された第２の残差ブロック２１の再構成済みバージョンの下位部分２２内の各再構成済み予測誤差値を変更することを含む（図１６Ｃを参照）。この変更は、第２の残差ブロック２１の再構成済みバージョンの各再構成済み予測誤差値を、第１の変換ブロック１０に基づいて取得された第１の残差ブロック１１の再構成済みバージョンの各再構成済み予測誤差値に、サンプルごとに追加することも含む。
【０１１７】
一実施形態では、各再構成済み予測誤差値を変更することが、第２の残差ブロック２１の再構成済みバージョンの下位部分２２内の各再構成済み予測誤差値をゼロに設定することを含む。
【０１１８】
別の実施形態では、各再構成済み予測誤差値を変更することが、第２の残差ブロック２１の再構成済みバージョンの下位部分２２内の各再構成済み予測誤差値に、それぞれの重みを掛けることを含む。
【０１１９】
オプションの実施形態では、図１７のステップＳ６２が、図１９に示されているように実行される。この方法は、図１７内のステップＳ６１から継続する。次のステップＳ６５は、第２の変換ブロック２０に関連付けられた少なくとも１つのフラグを、第２の残差ブロック２１の再構成済みバージョン内の下位部分２２の位置を示す各値にセットすることを含む。
【０１２０】
この実施形態では、提供される情報が少なくとも１つのフラグを含む。
【０１２１】
さらに別の実施形態では、ステップＳ６０は、第１の残差ブロック１１を、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの第１の変換ブロック１０に変換することを含む。この実施形態では、ステップＳ６１は、第２の残差ブロック２１を、それぞれの高周波数変換係数を持っているサンプルの第２の変換ブロック２０に変換することを含む。
【０１２２】
別の実施形態では、図１７のステップＳ６２は、変換ブロックを、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの第１の変換ブロック１０およびそれぞれの高周波数変換係数を持っているサンプルの第２の変換ブロック２０に分割するための情報をデコーダに提供することを含む。変換ブロックの分割は、変換ブロックのそれぞれのゼロ周波数変換係数および低周波数変換係数を第１の変換ブロック１０内のゼロ周波数および低周波数のサンプル位置にコピーし、第１の変換ブロック１０内の残りのサンプル位置をゼロにセットすることによって実行される。この分割は、変換ブロックの各高周波数変換係数を第２の変換ブロック２０内の高周波数のサンプル位置にコピーし、第２の変換ブロック２０内の残りのサンプル位置をゼロにセットすることも含む。この実施形態では、この変更は、好ましくは、第２の変換ブロック２０に基づいて取得されたサンプルの第２の残差ブロック２１の再構成済みバージョンの下位部分２２内の各再構成済み予測誤差値を変更することを含む。この変更は、第２の残差ブロック２１の再構成済みバージョンの各再構成済み予測誤差値を、第１の変換ブロックに基づいて取得された第１の残差ブロック１１の再構成済みバージョンの各再構成済み予測誤差値に、サンプルごとに追加することも含む。
【０１２３】
下位部分２２内の再構成済み予測誤差値に対する変更は、本明細書において前述されたように、ゼロに設定すること、あるいはそれぞれの重みまたはスケーリング係数を掛けることなどによって実行され得る。
【０１２４】
この実施形態では、提供される情報が分割情報を含み、好ましくは、第２の残差ブロック２１内の下位部分２２の位置の情報を含む。
【０１２５】
第２の変換ブロック２０が、主に残差ブロックの一部に含まれる高周波数の誤差を削減するために採用される場合、そのような第２の変換ブロック２０を（第１の）変換ブロックと一緒に使用することは、変換ブロック内の高周波数係数の存在に対して条件付けられる。そのような高周波数係数が変換ブロックに存在しない場合、第２の変換ブロック２０は必要とされない。これによって、変換ブロックがいくつかの低周波数係数のみを含む場合に、余分なオーバーヘッドをなくすことができる。
【０１２６】
図２０は、変換ブロックのエンコーディングの方法の別の実施形態を示している（図１６Ｄも参照）。この方法は、ステップＳ７０で、それぞれの予測誤差値を持っているサンプルの残差ブロック１１を、それぞれの変換係数を持っているサンプルの変換ブロック１０に変換することを含む。この方法は、ステップＳ７１で、それぞれの予測誤差値を持っているサンプルの変換スキップブロック２５を提供することも含む。変換スキップブロック２５は、サンプルの数に関して、残差ブロック１１と比べて小さいサイズを持っている。次のステップＳ７２は、変換スキップブロック２５の各予測誤差値によって、変換ブロック１０に基づいて取得された残差ブロック１１の再構成済みバージョンの下位部分内１２のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供することを含む。この変更は、残差ブロック１１の再構成済みバージョンの下位部分１２内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロック１１の再構成済みバージョンの残りの部分内の再構成済み予測誤差値には影響を与えない。
【０１２７】
この変更は、本明細書において前述されたように、追加または置換の形態であることができる。
【０１２８】
本明細書において前述されたように、変換符号化時に、量子化された変換係数を取得するために、変換ブロックの変換係数が量子化される。この実施形態では、残差ブロックの再構成済みバージョンは、量子化された変換係数を逆量子化して、変換係数の再構成済みバージョン（変換ブロックの再構成済みバージョン）を取得することによって、変換ブロックに基づいて取得される。次に、残差ブロックの再構成済みバージョンを取得するために、変換係数の再構成済みバージョンが逆変換される。
【０１２９】
説明された一部の実施形態では、複数の変換ブロックまたは１つの変換ブロックおよび１つの変換スキップブロックが使用される。そのような場合、異なる量子化パラメータ（ＱＰ）が、異なる変換ブロックの量子化および逆量子化の間に使用され得る。同じＱＰを使用することも可能である。
【０１３０】
従来技術においてよく知られているように、ビデオストリーム内の画像またはフレームのサンプルは、通常はサンプルの色を表すサンプル値を含む。色は、多くの場合、複数（３つなど）の色成分によって表される。さまざまな色形式が従来技術において知られており、ビデオ符号化時に使用され得る。例えば、色は、輝度値および２つのクロミナンス値の形態でのトリプレットによって、または赤色値、緑色値、および青色値の形態でのトリプレットによって表され得る。したがって、本明細書に記載された予測誤差値および再構成済み予測誤差値は、そのような色成分の予測誤差値（例えば、輝度成分の予測誤差値またはクロミナンス成分の予測誤差値）を表すことができる。
【０１３１】
実施形態の特徴は、変換が残差の符号化に使用された残差ブロックの空間的に局在する部分を、イントラ／インター予測に追加される前に改善することである。符号化された残差が存在する場合（例えば、対応する符号化ブロックフラグ（ｃｂｆ）がゼロ以外である場合）、空間的に局在する変更が使用されるのか、または使用されないのかを示す指標が提供され得る。変更されるべき部分および変更方法の指示は、明示的にシグナリングされるか、またはイントラ／インター予測、ブロックサイズ、またはその他の既知のデータから暗黙的に導出され得る。
【０１３２】
残差ブロックの空間的に局在する部分を改善することによって、変換符号化からの視覚的アーチファクトが、イントラ／インター予測に追加される前に削減され得る。これは、例えば、高周波数を含んでいる大きいブロックを符号化してから、残差ブロックの部分の高周波数を削除することによって行われるか、あるいは高周波数がほとんどないか、または存在しない大きいブロックを符号化し、残差ブロックの部分のより小さい変換を符号化して高周波数をそこに追加することによって行われる。
【０１３３】
本明細書において説明された変更は、符号化された残差を含んでいる残差ブロックにおいて使用されることが選択され得る。残差ブロックは、元のサンプル値のブロックとイントラ／インター予測されたサンプル値のブロックとの間の差である。残差ブロックは、予測誤差とも呼ばれる。次にエンコーダは、通常、変換を適用することによって残差ブロックを符号化し、変換係数を量子化してから、量子化された変換係数をエントロピーエンコードする。すべての量子化された変換係数が０に等しい場合、変換ブロックは符号化された残差を含まず、変更は使用されない。その後、符号化されたビットストリームは、エンコードされたビットストリームをデコードするデコーダに格納または送信される。残差デコーディング処理は、量子化された変換係数をエントロピーデコードして逆量子化し、逆変換を適用して、デコードされた残差サンプルを導出することを含む。エンコーダは、デコードされた残差サンプルのバージョンも生成する。次に、デコードされた残差サンプルがイントラ／インター予測されたサンプルに追加される。残差またはデコードされた残差は、変換ドメイン内に存在する変換係数または量子化された変換係数とは対照的に、サンプルドメイン内に存在する。
【０１３４】
基本的な考え方は、変換ブロックの変換基底関数の一部または全部が、変換ブロックの多くの部分内の残差を非常によく表すことができるが、変換基底関数の一部が、例えば変換係数の量子化に起因して、デコードされた残差の一部に対して悪影響を与えるということである。この悪影響は、イントラ／インター予測が追加された後にも表れる、デコードされた残差ブロック内の変換パターンとして示され得る。したがって、デコードされた残差ブロックの局在する部分を変更することによって、さらに良い再構成が実現され得る。
【０１３５】
以降では、さまざまな例について簡単に説明する。
【０１３６】
例１
変換Ｔによって導出された（デコードされた）残差ブロックの局在する変更の一例は、残差ブロックの局在する下位部分に対する変換Ｔの１つまたは複数の基底関数からの寄与を含めないことである。この重要なケースは、ＤＣおよび１次の変化（傾斜）を可能にするが、より波様の外観（すなわち、さらに高次の変化）を持つ変換基底関数からの寄与を含めない。したがって、ある程度の滑らかな変化のみを必要とする領域内で、量子化からのアーチファクトが回避され得る。例えばこれは、残差ブロックの局在する下位部分に対して、含まれるべきではない変換基底関数からの寄与をゼロに設定すること、または含まれるべきではない変換基底関数の変換係数をゼロに設定することによって、実装され得る。また、一部のデコードされた残差サンプルの大きさを、例えばサンプルごとに、サンプルにスケーリング係数を掛けることによって単に縮小することが、緩和的になり得る。どのような大きさの変更も有しない残りの部分と、大きさを縮小した下位部分との間の不連続性を防ぐために、スケーリングは、１に対応するスケーリング係数（つまり、大きさを縮小しない）と実際のスケーリング係数に対応する値の間で変化することができる。例えば、残差ブロックの局在する下位部分に対する１つまたは複数の変換基底関数からの寄与を完全に除去するための実際のスケーリング係数の標準値は、０である。
【０１３７】
例２
変換Ｔによって導出された（デコードされた）残差ブロックの局在する変更の別の例は、より小さい変換Ｔｎからの寄与を、変換Ｔの悪影響が存在する変換Ｔの残差ブロックの下位部分に含めることである。その場合、残差のより良い表現が実現され得る。その場合の変更は、残差ブロックの下位部分内の変換Ｔからの寄与を完全に置換するか、または変換Ｔの一部の変換基底関数の寄与への追加であることができる。より小さい変換Ｔｎは、別の量子化パラメータ（ＱＰ）（例えば、変換Ｔよりも小さいＱＰ）を持つことができ、またはより小さい変換は、変換Ｔと同じＱＰを使用することができる。
【０１３８】
例３
変換Ｔによって導出された（デコードされた）残差ブロックの局在する変更の別の例は、非変換ＴＳ（ＨＥＶＣの用語では、変換スキップ）から残差ブロックの下位部分への寄与を含めることであり、このＴＳは、Ｔのデコードされた残差への追加であるか、またはＴのデコードされた残差サンプルを置換する。この置換は、ＴＳのゼロ以外のサンプルのためであることができる。非変換ＴＳは、別のＱＰ（例えば、変換Ｔよりも小さいＱＰ）を持つことができ、またはＴＳは、変換Ｔと同じＱＰを使用することができる。
【０１３９】
例４
成分間予測では、クロミナンス（クロマ）の残差が、輝度（ルマ）からの残差から予測される。また最近は、第２のクロマ成分の残差が、第１のクロマ成分から予測されている。すべてのルマの残差を使用するのではなく、ルマ変換の１つまたは複数の変換基底関数からの予測を制限するための実施形態が使用され得る。これは、思想において例１に類似している。
【０１４０】
例５
変換Ｔによって導出された（デコードされた）残差ブロックの局在する変更が符号化ビデオビットストリームに明示的に含まれる場合、標準的なアプローチは、現在使用されている変換Ｔをカバーする変換ブロックにルートがある四分木によって選択を規定することである。ａｄｊｕｓｔＴｒａｎｓｆｏｒｍＦｌａｇＲｏｏｔが１にセットされた場合、このアプローチが使用され、現在の変換ブロックが４つの葉に分割されることを意味し、各葉は、各葉がさらに分割されるべきであるかどうかを示すｓｐｌｉｔＡｄｊｕｓｔＴｒａｎｓｆｏｒｍＦｌａｇを持つ（ただし、葉が可能な最小のブロックサイズを持っていて、それ以上の分割が不可能である場合を除く）。それ以上の分割が実行されない場合、対応する葉は、このアプローチが使用されるのか、それとも使用されないのかを示すａｄｊｕｓｔＴｒａｎｓｆｏｒｍＦｌａｇＬｅａｆを持つ。ａｄｊｕｓｔＴｒａｎｓｆｏｒｍＦｌａｇＲｏｏｔフラグ（および、調整が使用される場合はａｄｊｕｓｔＴｒａｎｓｆｏｒｍＦｌａｇＬｅａｆフラグ）は、変換ブロックにゼロ以外の変換係数が存在する場合にのみ、符号化ビデオビットストリーム内で提供される。ａｄｊｕｓｔＴｒａｎｓｆｏｒｍＦｌａｇＬｅａｆの意味は、変換基底関数の一部からの寄与が変換ブロックのその部分に関して含められないという最も単純な形態（例１）にある。局在の別の意味は、このフラグがセットされたときに、より大きい変換の代わりに、別のより小さい変換を適用し、その変換からの寄与をより大きい変換の寄与に追加すること、またはその変換からの寄与がより大きい変換の寄与を置換することである（例２）。局在のさらに別の意味は、このフラグがセットされたときに、大きい変換に加えて、非変換を適用することである（例３）。非変換からの残差が大きい変換の残差に追加されるか、またはゼロ以外の係数を持つサンプルが大きい変換の残差を置換する。
【０１４１】
例６
変換Ｔによって導出された（デコードされた）残差ブロックの局在する変更が、イントラ／インター予測に基づいて暗黙的である場合、最大サンプル値と最小サンプル値の間の変動が小さいサンプル（例えば、相対的に滑らかな領域（傾斜した平面であることもできる））に対して局在が決定される。エッジの位置が不正である変換ブロックがイントラ／インター予測の補正を含んでいる場合、そのようなサンプルは、より大きい範囲まで、変換によって符号化された残差による悪い微調整の影響を受ける。局在は、サンプルまたはブロックに基づくことができる。その場合、局在するサンプルが、例１〜３のうちのいずれかと一緒に使用され得る。
【０１４２】
実施形態の別の態様は、変換のデコーディングのためのデバイスに関連する。このデバイスは、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換することによって取得されたサンプルの残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように設定される。このデバイスによって実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１４３】
実施形態のさらに別の態様は、変換のデコーディングのためのデバイスに関連する。このデバイスは、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得するように設定される。このデバイスは、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得するようにも設定される。このデバイスは、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するようにさらに設定される。このデバイスによって実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１４４】
一実施形態では、第２の残差ブロックが、サンプルの数に関して、第１の残差ブロックと比べて小さいサイズを持ち、第２の残差ブロックは第１の残差ブロックの下位部分に対応する。このデバイスは、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分の各再構成済み予測誤差値をサンプルごとに変更するようにさらに設定される。
【０１４５】
特定の実施形態では、このデバイスは、第２の残差ブロックの各再構成済み予測誤差値を、第１の残差ブロックの下位部分の各再構成済み予測誤差値にサンプルごとに追加するように設定される。
【０１４６】
別の特定の実施形態では、このデバイスは、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに置換するように設定される。
【０１４７】
一実施形態では、このデバイスは、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロックを逆変換して、各再構成済み予測誤差値を持っている２Ｎ×２Ｎサンプルの残差ブロックを取得するように設定される。このデバイスは、各変換係数を持っているＮ×Ｎサンプルの少なくとも１つの変換ブロックを逆変換して、各再構成済み予測誤差値を持っているＮ×Ｎサンプルの少なくとも１つの残差ブロックを取得するようにも設定される。Ｎ×Ｎサンプルの少なくとも１つの残差ブロックのうちの各残差ブロックは、２Ｎ×２Ｎサンプルの残差ブロックの各下位部分に対応する。このデバイスは、２Ｎ×２Ｎサンプルの残差ブロックの各下位部分の各再構成済み予測誤差値を、Ｎ×Ｎサンプルの残差ブロックの各再構成済み予測誤差値によって、サンプルごとに、かつＮ×Ｎサンプルの少なくとも１つの残差ブロックのうちの残差ブロックごとに、変更するようにさらに設定される。
【０１４８】
特定の実施形態では、このデバイスは、２Ｎ×２Ｎサンプルの変換ブロックに関連付けられた少なくとも１つのフラグが、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値を持っている場合に、Ｎ×Ｎサンプルの少なくとも１つの変換ブロックの逆変換、および各再構成済み予測誤差値の変更を実行するように設定される。
【０１４９】
一実施形態では、このデバイスは、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロックを逆変換して、各再構成済み予測誤差値を持っている２Ｎ×２Ｎサンプルの残差ブロックを取得するように設定される。このデバイスは、各変換係数を持っているＮ×Ｎサンプルの４つの変換ブロックを逆変換して、各再構成済み予測誤差値を持っているＮ×Ｎサンプルの４つの残差ブロックを取得するようにも設定される。Ｎ×Ｎサンプルの４つの残差ブロックのうちの各残差ブロックは、２Ｎ×２Ｎサンプルの残差ブロックの各下位部分に対応する。このデバイスは、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第１の残差ブロックの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロックの第１の下位部分の各再構成済み予測誤差値を、サンプルごとに変更するようにさらに設定される。このデバイスは、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第２の残差ブロックの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロックの第２の下位部分の各再構成済み予測誤差値を、サンプルごとに変更するようにさらに設定される。さらに、このデバイスは、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第３の残差ブロックの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロックの第３の下位部分の各再構成済み予測誤差値を、サンプルごとに変更するように設定される。このデバイスは、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第４の残差ブロックの各再構成済み予測誤差値によって、２Ｎ×２Ｎサンプルの残差ブロックの第４の下位部分の各再構成済み予測誤差値を、サンプルごとに変更するようにも設定される。
【０１５０】
特定の実施形態では、このデバイスは、２Ｎ×２Ｎサンプルの変換ブロックに関連付けられた第１のフラグが、２Ｎ×２Ｎサンプルの変換ブロックがＮ×Ｎサンプルの４つの変換ブロックに分割されることを示す値を持っている場合、および２Ｎ×２Ｎサンプルの変換ブロックに関連付けられた第２のフラグが、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値を持っている場合に、２Ｎ×２Ｎサンプルの変換ブロックの逆変換、Ｎ×Ｎサンプルの４つの変換ブロックの逆変換、および各再構成済み予測誤差値の変更を実行するように設定される。
【０１５１】
一実施形態では、このデバイスは、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得するように設定される。このデバイスは、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得するようにも設定される。このデバイスは、第２の残差ブロックの下位部分内の各再構成済み予測誤差値を変更するようにさらに設定される。このデバイスは、第２の残差ブロックの各再構成済み予測誤差値を、第１の残差ブロックの各再構成済み予測誤差値に、サンプルごとに追加するようにさらに設定される。
【０１５２】
特定の実施形態では、このデバイスは、第２の残差ブロックの下位部分内の各再構成済み予測誤差値をゼロに設定するように設定される。
【０１５３】
別の特定の実施形態では、このデバイスは、第２の残差ブロックの下位部分内の各再構成済み予測誤差値にそれぞれの重みを掛けるように設定される。
【０１５４】
さらに別の特定の実施形態では、このデバイスは、第２の変換ブロックに関連付けられた少なくとも１つのフラグの各値に基づいて、第２の残差ブロックの下位部分を識別するように設定される。
【０１５５】
一実施形態では、このデバイスは、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの第１の変換ブロックを逆変換して、第１の残差ブロックを取得するように設定される。このデバイスは、それぞれの高周波数変換係数を持っているサンプルの第２の変換ブロックを逆変換して、第２の残差ブロックを取得するようにも設定される。
【０１５６】
特定の実施形態では、このデバイスは、変換ブロックのそれぞれのゼロ周波数変換係数および低周波数変換係数を第１の変換ブロック内のゼロ周波数および低周波数のサンプル位置にコピーすることによって、変換ブロックを第１の変換ブロックおよび第２の変換ブロックに分割するように設定される。このデバイスは、第１の変換ブロック内の残りのサンプル位置をゼロにセットするようにも設定される。このデバイスは、変換ブロックの各高周波数変換係数を第２の変換ブロック内の高周波数のサンプル位置にコピーし、第２の変換ブロック内の残りのサンプル位置をゼロにセットするように、さらに設定される。
【０１５７】
実施形態のさらに別の態様は、変換ブロックのデコーディングのためのデバイスに関連する。このデバイスは、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供するようにも設定される。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。このデバイスは、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内の各再構成済み予測誤差値をサンプルごとに変更するようにさらに設定される。
【０１５８】
特定の実施形態では、このデバイスは、変換スキップブロックの各予測誤差値を、残差ブロックの下位部分の各再構成済み予測誤差値にサンプルごとに追加するように設定される。
【０１５９】
別の特定の実施形態では、このデバイスは、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分の各再構成済み予測誤差値をサンプルごとに置換するように設定される。
【０１６０】
実施形態のさらに別の態様は、変換ブロックのエンコーディングのためのデバイスを規定する。このデバイスは、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換するように設定される。このデバイスは、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するようにも設定される。この変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１６１】
実施形態のさらに別の態様は、変換ブロックのエンコーディングのためのデバイスを規定する。このデバイスは、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換するようにも設定される。このデバイスは、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するようにさらに設定される。この変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１６２】
一実施形態では、第２の残差ブロックが、サンプルの数に関して、第１の残差ブロックと比べて小さいサイズを持ち、第２の残差ブロックは第１の残差ブロックの下位部分に対応する。この変更は、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分の各再構成済み予測誤差値をサンプルごとに変更することを含む。
【０１６３】
一実施形態では、このデバイスは、各予測誤差値を持っている２Ｎ×２Ｎサンプルの残差ブロックを変換して、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロックを取得するように設定される。このデバイスは、各予測誤差値を持っているＮ×Ｎサンプルの少なくとも１つの残差ブロックを変換して、各変換係数を持っているＮ×Ｎサンプルの少なくとも１つの変換ブロックを取得するようにも設定される。Ｎ×Ｎサンプルの少なくとも１つの残差ブロックのうちの各残差ブロックは、２Ｎ×２Ｎサンプルの残差ブロックの各下位部分に対応する。この変更は、２Ｎ×２Ｎサンプルの変換ブロックに基づいて取得された２Ｎ×２Ｎサンプルの残差ブロックの再構成済みバージョンの各下位部分の各再構成済み予測誤差値を、Ｎ×Ｎサンプルの変換ブロックに基づいて取得されたＮ×Ｎサンプルの残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに、かつＮ×Ｎサンプルの少なくとも１つの変換ブロックのうちの変換ブロックごとに変更することを含む。
【０１６４】
特定の実施形態では、このデバイスは、２Ｎ×２Ｎサンプルの変換ブロックに関連付けられた少なくとも１つのフラグを、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値にセットするように設定される。
【０１６５】
一実施形態では、このデバイスは、各予測誤差値を持っている２Ｎ×２Ｎサンプルの残差ブロックを変換して、各変換係数を持っている２Ｎ×２Ｎサンプルの変換ブロックを取得するように設定される。このデバイスは、各予測誤差値を持っているＮ×Ｎサンプルの４つの残差ブロックを変換して、各変換係数を持っているＮ×Ｎサンプルの４つの変換ブロックを取得するようにも設定される。Ｎ×Ｎサンプルの４つの残差ブロックのうちの各残差ブロックは、２Ｎ×２Ｎサンプルの残差ブロックの各下位部分に対応する。この変更は、好ましくは、２Ｎ×２Ｎサンプルの変換ブロックに基づいて取得された２Ｎ×２Ｎサンプルの残差ブロックの再構成済みバージョンの第１の下位部分の各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの変換ブロックのうちのＮ×Ｎサンプルの第１の変換ブロックに基づいて取得されたＮ×Ｎサンプルの第１の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することを含む。この変更は、２Ｎ×２Ｎサンプルの残差ブロックの再構成済みバージョンの第２の下位部分の各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第２の変換ブロックに基づいて取得されたＮ×Ｎサンプルの第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することも含む。この変更は、２Ｎ×２Ｎサンプルの残差ブロックの再構成済みバージョンの第３の下位部分の各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第３の変換ブロックに基づいて取得されたＮ×Ｎサンプルの第３の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することをさらに含む。この変更は、２Ｎ×２Ｎサンプルの残差ブロックの再構成済みバージョンの第４の下位部分の各再構成済み予測誤差値を、Ｎ×Ｎサンプルの４つの残差ブロックのうちのＮ×Ｎサンプルの第４の変換ブロックに基づいて取得されたＮ×Ｎサンプルの第４の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、サンプルごとに変更することをさらに含む。
【０１６６】
特定の実施形態では、このデバイスは、２Ｎ×２Ｎサンプルの変換ブロックに関連付けられた第１のフラグを、２Ｎ×２Ｎサンプルの変換ブロックがＮ×Ｎサンプルの４つの変換ブロックに分割されることを示す値にセットするように設定される。このデバイスは、２Ｎ×２Ｎサンプルの変換ブロックに関連付けられた第２のフラグを、変換係数を２Ｎ×２Ｎ変換ブロックレベルに使用できることを示す値にセットするようにも設定される。
【０１６７】
一実施形態では、このデバイスは、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換するようにも設定される。この変更は、好ましくは、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値を変更することを含む。この変更は、第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値を、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値に、サンプルごとに追加することも含む。
【０１６８】
特定の実施形態では、この変更は、第２の残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値をゼロに設定することを含む。
【０１６９】
別の特定の実施形態では、この変更は、第２の残差ブロックの再構成済みバージョンの下位部分内の各再構成済み予測誤差値にそれぞれの重みを掛けることを含む。
【０１７０】
さらに別の特定の実施形態では、このデバイスは、第２の変換ブロックに関連付けられた少なくとも１つのフラグを、第２の残差ブロックの再構成済みバージョン内の下位部分の位置を示す各値にセットするように設定される。
【０１７１】
一実施形態では、このデバイスは、第１の残差ブロックをそれぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの第１の変換ブロックに変換するように設定される。このデバイスは、第２の残差ブロックをそれぞれの高周波数変換係数を持っているサンプルの第２の変換ブロックに変換して、第２の残差ブロックを取得するようにも設定される。
【０１７２】
一実施形態では、このデバイスは、変換ブロックを、それぞれのゼロ周波数変換係数または低周波数変換係数を持っているサンプルの第１の変換ブロックおよびそれぞれの高周波数変換係数を持っているサンプルの第２の変換ブロックに分割するようにデコーダに指示する情報を提供するように設定される。この分割は、好ましくは、変換ブロックのそれぞれのゼロ周波数変換係数および低周波数変換係数を第１の変換ブロック内のゼロ周波数および低周波数のサンプル位置にコピーし、第１の変換ブロック内の残りのサンプル位置をゼロにセットすることを含む。この分割は、変換ブロックの各高周波数変換係数を第２の変換ブロック内の高周波数のサンプル位置にコピーし、第２の変換ブロック内の残りのサンプル位置をゼロにセットすることも含む。この変更は、好ましくは、第２の変換ブロックに基づいて取得されたサンプルの第２の残差ブロックの再構成済みバージョンの下位部分内の各予測誤差値を変更することを含む。この変更は、第２の残差ブロックの再構成済みバージョンの各予測誤差値を、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの各予測誤差値に、サンプルごとに追加することも含む。
【０１７３】
実施形態のさらに別の態様は、変換ブロックのエンコーディングのためのデバイスを規定する。このデバイスは、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換するように設定される。このデバイスは、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供するようにも設定される。この実施形態では、変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。このデバイスは、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供するようにさらに設定される。この変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１７４】
一実施形態では、このデバイスは、変換ブロックの変換係数を量子化して量子化された変換係数を取得するように設定される。このデバイスは、量子化された変換係数をエンコードして、エンコードされて量子化された変換係数を取得するようにも設定される。残差ブロックの再構成済みバージョンは、エンコードされて量子化された変換係数をデコードして、量子化された変換係数の再構成済みバージョンを取得することによって、変換ブロックに基づいて取得される。次に、変換係数の再構成済みバージョンを取得するために、量子化された変換係数の再構成済みバージョンが逆量子化される。残差ブロックの再構成済みバージョンを取得するために、変換係数の再構成済みバージョンが逆変換される。
【０１７５】
本明細書に記載された方法およびデバイスが、さまざまな方法で組み合わせられて、並べ替えられることが可能であるということが理解されるであろう。
【０１７６】
例えば、各実施形態は、ハードウェア、または適切な処理回路によって実行するためのソフトウェア、あるいはこれらの組み合わせにおいて実装されてよい。
【０１７７】
本明細書に記載されたステップ、機能、手順、モジュール、および／またはブロックは、汎用電子回路および特定用途向け回路の両方を含む個別の回路技術または集積回路技術などの、任意の従来技術を使用してハードウェアにおいて実装されてよい。
【０１７８】
図２１は、変換ブロックのデコーディングのためのデバイス１００の特定のハードウェア実装を示している。図２２は、変換ブロックのエンコーディングのためのデバイス２００の対応するハードウェア実装を示している。適切なハードウェア回路の具体的な例は、１つまたは複数の適切に設定されたか、または場合によっては再設定可能な電子回路（例えば、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは適切なレジスタ（ＲＥＧ）および／またはメモリユニット（ＭＥＭ）に関連して特殊な機能を実行するために相互接続された個別の論理ゲートおよび／またはフリップフロップに基づく回路などの任意のその他のハードウェア論理）を含む。
【０１７９】
あるいは、本明細書に記載されたステップ、機能、手順、モジュール、および／またはブロックのうちの少なくとも一部は、１つまたは複数のプロセッサまたは処理ユニットなどの適切な処理回路によって実行するための、コンピュータプログラムなどのソフトウェアにおいて実装されてよい。
【０１８０】
処理回路の例は、１つまたは複数のマイクロプロセッサ、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、１つまたは複数の中央処理装置（ＣＰＵ）、ビデオアクセラレーションハードウェア、ならびに／あるいは１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）または１つまたは複数のプログラマブルロジックコントローラ（ＰＬＣ）などの任意の適切なプログラマブルロジック回路を含むが、これらに限定されない。
【０１８１】
提案された技術が実装された任意の従来のデバイス、ユニット、システム、または配置の一般的な処理能力を再利用することが可能であってよいということも理解されるべきである。例えば既存のソフトウェアの再プログラミングによって、または新しいソフトウェアコンポーネントを追加することによって、既存のソフトウェアを再利用することが可能であってもよい。
【０１８２】
具体的な例では、変換ブロックのデコーディングのためのデバイス１１０（図２３を参照）は、プロセッサ１１１およびプロセッサ１１１によって実行可能な命令を含んでいるメモリ１１２を備える。
【０１８３】
一実施形態では、プロセッサ１１１は、第１の変換ブロックおよび第２の変換ブロックを逆変換するよう機能する。プロセッサ１１１は、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するようにも機能する。
【０１８４】
別の実施形態では、プロセッサ１１１は、変換ブロックを逆変換するよう機能する。プロセッサ１１１は、変換スキップブロックを提供するようにも機能する。プロセッサ１１１は、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するようにさらに機能する。
【０１８５】
デバイス１１０は、必要に応じて、レシーバ１１３およびトランスミッタ１１４も備える。レシーバ１１３およびトランスミッタ１１４は、無線通信用のレシーバとトランスミッタのペアとして、または一般的なトランシーバとして実装され得る。あるいは、これらは、有線通信を実施するための入力ポートおよび出力ポートの形態であることができる。
【０１８６】
レシーバ１１３は、好ましくは、エンコード済みビデオデータおよび具体的には変換係数を受信するように設定される。トランスミッタ１１４は、好ましくは、デコード済みビデオデータおよび具体的には再構成済み予測誤差値を送信するように設定される。
【０１８７】
変換ブロックのエンコーディングのためにデバイス２１０が、図２４に示されている。このデバイス２１０は、プロセッサ２１１およびプロセッサ２１１によって実行可能な命令を含んでいるメモリ２１２を備える。
【０１８８】
一実施形態では、プロセッサ２１１は、第１の残差ブロックおよび第２の残差ブロックを第１の変換ブロックおよび第２の変換ブロックに変換するよう機能する。プロセッサ２１１は、第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するようにも機能する。
【０１８９】
別の実施形態では、プロセッサ２１１は、残差ブロックを変換ブロックに変換するよう機能する。プロセッサ２１１は、変換スキップブロックを提供するようにも機能する。プロセッサ２１１は、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するようにさらに機能する。
【０１９０】
デバイス１２０は、必要に応じて、レシーバ２１３およびトランスミッタ２１４も備える。レシーバ２１３およびトランスミッタ２１４は、無線通信用のレシーバとトランスミッタのペアとして、または一般的なトランシーバとして実装され得る。あるいは、これらは、有線通信を実施するための入力ポートおよび出力ポートの形態であることができる。
【０１９１】
レシーバ２１３は、好ましくは、ビデオデータおよび具体的には予測誤差値を受信するように設定される。トランスミッタ２１４は、好ましくは、エンコード済みビデオデータおよび具体的には変換係数を送信するように設定される。
【０１９２】
図２３および２４を参照すると、特定の実施形態では、プロセッサ１１１、２１１は、メモリ１１２、２１２に格納された命令を実行したときに、前述された処理を実行するよう機能する。それによって、プロセッサ１１１、２１１はメモリ１１２、２１２に相互接続され、通常のソフトウェア実行を可能にする。
【０１９３】
図２５は、プロセッサ３１０、関連するメモリ３２０、および通信回路３３０を備えるデバイス３００の例を示す概略ブロック図である。
【０１９４】
この特定の例では、本明細書に記載されたステップ、機能、手順、モジュール、および／またはブロックのうちの少なくとも一部が、コンピュータプログラム３４０において実装され、コンピュータプログラム３４０は、１つまたは複数のプロセッサ３１０を含んでいる処理回路によって実行するために、メモリ３２０に読み込まれる。プロセッサ３１０およびメモリ３２０は、相互接続されて、通常のソフトウェア実行を可能にする。通信回路３３０もプロセッサ３１０および／またはメモリ３２０に相互接続され、無線接続または有線接続を可能にする。
【０１９５】
「プロセッサ」という用語は、特定の処理、決定、または計算作業を実行するためにプログラムコードまたはコンピュータプログラム命令を実行できる任意のシステムまたはデバイスとして、一般的な意味で解釈されるべきである。
【０１９６】
したがって、１つまたは複数のプロセッサを含んでいる処理回路は、コンピュータプログラムを実行した場合に、本明細書に記載された処理作業などの明確に規定された処理作業を実行するように設定される。
【０１９７】
処理回路は、前述したステップ、機能、手順、および／またはブロックを実行することのみに専念する必要はなく、他の作業を実行することもできる。
【０１９８】
一実施形態では、コンピュータプログラム３４０は命令を含み、これらの命令は、プロセッサ３１０によって実行された場合に、プロセッサ３１０に、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得することを実行させる。プロセッサ３１０は、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得することも引き起こされる。プロセッサ３１０は、第２の残差ブロックの各再構成済み予測誤差値によって、第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更することをさらに引き起こされる。プロセッサ３１０によって実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０１９９】
一実施形態では、コンピュータプログラム３４０は命令を含み、これらの命令は、プロセッサ３１０によって実行された場合に、プロセッサ３１０に、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得することを実行させる。このプロセッサ３１０は、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供することも引き起こされる。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。プロセッサ３１０は、変換スキップブロックの各予測誤差値によって、残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更することをさらに引き起こされる。プロセッサ３１０によって実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２００】
さらに別の実施形態では、コンピュータプログラム３４０は命令を含み、これらの命令は、プロセッサ３１０によって実行された場合に、プロセッサ３１０に、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換することを実行させる。プロセッサ３１０は、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換することも引き起こされる。プロセッサ３１０は、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供することも引き起こされる。プロセッサ３１０によって実行される変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２０１】
さらに別の実施形態では、コンピュータプログラム３４０は命令を含み、これらの命令は、プロセッサ３１０によって実行された場合に、プロセッサ３１０に、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換することを実行させる。このプロセッサ３１０は、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供することも引き起こされる。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。プロセッサ３１０は、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供することをさらに引き起こされる。プロセッサ３１０によって実行される変更は、残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２０２】
提案された技術は、コンピュータプログラム３４０を含んでいるキャリア３５０も提供する。キャリア３５０は、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読記憶媒体３５０のうちの１つである。
【０２０３】
例として、ソフトウェアまたはコンピュータプログラム３４０は、コンピュータ可読媒体３５０（好ましくは、不揮発性コンピュータ可読記憶媒体３５０）上で通常は搬送または格納されるコンピュータプログラム製品として実現されてよい。コンピュータ可読媒体３５０は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク、ユニバーサルシリアルバス（ＵＳＢ）メモリ、ハードディスクドライブ（ＨＤＤ）ストレージデバイス、フラッシュメモリ、磁気テープ、または任意のその他の従来のメモリデバイスを含むがこれらに限定されない、１つまたは複数の取り外し可能または取り外し不能なメモリデバイスを含んでよい。したがって、コンピュータプログラム３４０は、図２７のデバイス３００によって表されたコンピュータまたは同等の処理デバイスのプロセッサ３１０によって実行するために、そのコンピュータまたは処理デバイスの動作中のメモリ３２０に読み込まれてよい。
【０２０４】
したがって、本明細書において提示されたフロー図は、１つまたは複数のプロセッサによって実行される場合、コンピュータフロー図と見なされてよい。対応するデバイスは、機能モジュールのグループとして規定されてよく、プロセッサによって実行される各ステップが機能モジュールに対応する。その場合、機能モジュールはプロセッサ上で実行されるコンピュータプログラムとして実装される。したがって、代わりにデバイスは、機能モジュールのグループとして規定されてよく、それらの機能モジュールは、少なくとも１つのプロセッサ上で実行されるコンピュータプログラムとして実装される。
【０２０５】
図２６に示された例では、変換ブロックのデコーディングのためのデバイス１２０は、機能モジュールを使用して実装され得る。そのような場合、デバイス１２０は、それぞれの変換係数を持っているサンプルの第１の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第１の残差ブロックを取得するための逆変換ユニット１２１を備える。逆変換ユニット１２１は、それぞれの変換係数を持っているサンプルの第２の変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの第２の残差ブロックを取得するためにも存在する。デバイス１２０は、第２の残差ブロックの各再構成済み予測誤差値によって、サンプルの第１の残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するための変更ユニット１２２も備える。変更ユニット１２２によって実行される変更は、第１の残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２０６】
別の例では、変換ブロックのデコーディングのためにデバイス１２０は、それぞれの変換係数を持っているサンプルの変換ブロックを逆変換して、それぞれの再構成済み予測誤差値を持っているサンプルの残差ブロックを取得するための逆変換ユニット１２１を備える。デバイス１２０は、それぞれの予測誤差値を持っているサンプルの変換スキップブロックの各予測誤差値によって、サンプルの残差ブロックの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するための変更ユニット１２２も備える。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。変更ユニット１２２によって実行される変更は、残差ブロックの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、残差ブロックの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２０７】
図２７に示されたさらに別の例では、変換ブロックのエンコーディングのためのデバイス２２０は、機能モジュールを使用して実装され得る。デバイス２２０は、好ましくは、それぞれの予測誤差値を持っているサンプルの第１の残差ブロックを、それぞれの変換係数を持っているサンプルの第１の変換ブロックに変換するための変換ユニット２２１を備える。変換ユニット２２１は、それぞれの予測誤差値を持っているサンプルの第２の残差ブロックを、それぞれの変換係数を持っているサンプルの第２の変換ブロックに変換するためにも存在する。デバイス２２０は、第２の変換ブロックに基づいて取得された第２の残差ブロックの再構成済みバージョンの各再構成済み予測誤差値によって、第１の変換ブロックに基づいて取得された第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値を変更するように、デコーダに指示する情報を提供するための提供ユニット２２２も備える。この変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２０８】
さらに別の例では、変換ブロックのエンコーディングのためのデバイス２２０は、それぞれの予測誤差値を持っているサンプルの残差ブロックを、それぞれの変換係数を持っているサンプルの変換ブロックに変換するための変換ユニット２２１を備える。デバイス２２０は、それぞれの予測誤差値を持っているサンプルの変換スキップブロックを提供するための提供ユニット２２２も備える。変換スキップブロックは、サンプルの数に関して、残差ブロックと比べて小さいサイズを持っている。提供ユニット２２２は、変換スキップブロックの各予測誤差値によって、変換ブロックに基づいて取得された残差ブロックの再構成済みバージョンの下位部分内のサンプルのそれぞれの再構成済み予測誤差値をサンプルごとに変更するように、デコーダに指示する情報を提供するためにも存在する。この変更は、第１の残差ブロックの再構成済みバージョンの下位部分内のサンプルの再構成済み予測誤差値に影響を与えるが、第１の残差ブロックの再構成済みバージョンの残りの部分内のサンプルの再構成済み予測誤差値には影響を与えない。
【０２０９】
実施形態のさらに別の態様は、図２８に示されているように、デコーダ１３０に関連する。このデコーダは、本明細書に記載されているように、図２１、２３、および２６に示された変換ブロックのデコーディングのためのデバイス１００、１１０、１２０を備える。
【０２１０】
デコーダ１３０は、好ましくは、ビデオストリームのエンコードされたビデオフレームまたは画像をデコードするように設定される。デコーダ１３０は、デコード済みまたは再構成済み予測誤差値を取得するために、予測誤差値の変換および変換係数の逆変換を使用する任意のビデオ符号化規格に準拠することができる。そのようなビデオ符号化規格の非限定的な例は、Ｈ．２６５およびＨ．２６６である。
【０２１１】
各実施形態は、図２８に示されたようなデコーダなどのデコーダ１３０を備えるユーザ機器１４０も包含する（図２９を参照）。ユーザ機器１４０は、符号化ビデオビットストリームをデコードしてデコードされたビデオデータを取得するように設定されたデコーダを持っている任意の機器またはデバイスであることができる。デコードされたビデオデータは、ほとんどの場合、ユーザ機器１４０の画面上に表示されるか、またはユーザ機器１４０に接続される。
【０２１２】
ユーザ機器１４０は、例えば、携帯電話、スマートフォン、コンピュータ、ラップトップ、タブレット、セットトップボックス、ビデオデコーディング能力を持つゲーム機、トランスコーダなどの形態であることができる。
【０２１３】
実施形態のさらに別の態様は、本明細書に記載されているように、図２２、２４、および２７に示された変換ブロックのエンコーディングのためのデバイス２００、２１０、２２０を備えるエンコーダ２３０に関連する（図３０を参照）。
【０２１４】
エンコーダ２３０は、好ましくは、ビデオストリームのビデオフレームまたは画像を符号化ビデオビットストリームにエンコードするように設定される。エンコーダ２３０は、再構成済み予測誤差値を取得するために、予測誤差値の変換および変換係数の逆変換を使用する任意のビデオ符号化規格に準拠することができる。そのようなビデオ符号化規格の非限定的な例は、Ｈ．２６５およびＨ．２６６である。
【０２１５】
エンコーダ２３０は、ビデオストリームをエンコードする能力を持っているデバイスに含まれてよい。そのようなデバイスの非限定的な例は、ビデオカメラ、ビデオ作製デバイス、トランスコーダなどを含む。
【０２１６】
前述した実施形態は、本発明のいくつかの例であると理解されるべきである。本発明の範囲を逸脱することなく、実施形態に対してさまざまな変更、組み合わせ、および交換が行われてよいということが、当業者によって理解されるであろう。具体的には、技術的に可能な場合、さまざまな実施形態における異なる部分の解決策が、その他の設定で組み合わせられ得る。ただし、本発明の範囲は、添付された特許請求の範囲によって規定される。
【図１Ａ】
0006557406.tif 000005
【図１Ｂ】
0006557406.tif 000006
【図２Ａ】
0006557406.tif 000007
【図２Ｂ】
0006557406.tif 000008
【図３】
0006557406.tif 000009
【図４】
0006557406.tif 000010
【図５】
0006557406.tif 000011
【図６】
0006557406.tif 000012
【図７】
0006557406.tif 000013
【図８】
0006557406.tif 000014
【図９】
0006557406.tif 000015
【図１０】
0006557406.tif 000016
【図１１】
0006557406.tif 000017
【図１２】
0006557406.tif 000018
【図１３】
0006557406.tif 000019
【図１４】
0006557406.tif 000020
【図１５】
0006557406.tif 000021
【図１６Ａ】
0006557406.tif 000022
【図１６Ｂ】
0006557406.tif 000023
【図１６Ｃ】
0006557406.tif 000024
【図１６Ｄ】
0006557406.tif 000025
【図１７】
0006557406.tif 000026
【図１８】
0006557406.tif 000027
【図１９】
0006557406.tif 000028
【図２０】
0006557406.tif 000029
【図２１】
0006557406.tif 000030
【図２２】
0006557406.tif 000031
【図２３】
0006557406.tif 000032
【図２４】
0006557406.tif 000033
【図２５】
0006557406.tif 000034
【図２６】
0006557406.tif 000035
【図２７】
0006557406.tif 000036
【図２８】
0006557406.tif 000037
【図２９】
0006557406.tif 000038
【図３０】
0006557406.tif 000039