(57)【要約】  本発明は、ビットストリームからビデオシーケンスのブロックの係数を復号するためのデコーダを提案する。デコーダは、1つまたは複数のあらかじめ定義された走査順序を提供するための走査パターンリストモジュールと、1つまたは複数の走査順序を生成するための走査順序生成器と、ビットストリームに含まれる走査順序情報に基づいて、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するための走査順序選択器と、ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するための復号モジュールと、係数行列を取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するためのデシリアライザとを備える。走査順序生成器は、ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、1つまたは複数の走査順序を生成する。
2019505141.tif 000002
【特許請求の範囲】
【請求項１】
ビットストリーム（207）からビデオシーケンスのブロックの係数を復号するためのデコーダ（200）であって、
前記デコーダが、
1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュール（210）と、
1つまたは複数の走査順序を生成するように構成された走査順序生成器（211）と、
前記ビットストリームに含まれる走査順序情報（SCAN＿IDX）に基づいて、前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器（209）と、
前記ビットストリーム（207）から各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュール（206）と、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザ（204）と
を備え、
前記走査順序生成器（211）が、前記ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、前記1つまたは複数の走査順序を生成するように構成される、
デコーダ（200）。
【請求項２】
前記走査パターンリストモジュール（210）が、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成され、
前記走査順序生成器（211）が、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に取得された係数行列に応じて、前記コーディングパラメータセットの各々について走査順序を生成するように構成され、
前記走査順序選択器（209）が、
そのブロックのコーディングパラメータセットを決定すること、および
前記決定されたコーディングパラメータセットについて前記あらかじめ定義された走査順序および生成された走査順序から、そのブロックについて取得された前記係数行列用の前記走査順序を選択すること
により、ブロックごとに走査順序を選択するように構成される、
請求項1に記載のデコーダ。
【請求項３】
前記デコーダが、
前記コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に取得された係数行列の分布統計データを提供するように構成された係数分布推定器（213）
を備え、
前記走査順序生成器（211）が、そのコーディングパラメータセットについての前記分布統計データに応じて、前記コーディングパラメータセットの各々について前記走査順序を生成するように構成される、
請求項2に記載のデコーダ。
【請求項４】
所与のブロックに対して選択された前記走査順序があらかじめ定義されている場合、前記係数分布推定器（213）が、前記所与のブロックの前記コーディングパラメータセット用の前記分布統計データを更新しないように構成されるか、またはリセットするように構成される、
請求項3に記載のデコーダ。
【請求項５】
前記復号モジュール（206）が、ブロックごとに、前記ビットストリーム（207）からコーディングパラメータ情報（208）を構文解析するように構成され、
前記走査順序選択器（209）が、その所与のブロックについて前記構文解析されたコーディングパラメータ情報に従って、所与のブロックの前記コーディングパラメータセットを決定するように構成される、
請求項2から4のいずれか一項に記載のデコーダ。
【請求項６】
前記復号モジュール（206）が、前記ビットストリーム（207）から前記選択された走査順序を識別する前記走査順序情報（SCAN＿IDX）を構文解析するように構成される、
請求項1から5のいずれか一項に記載のデコーダ。
【請求項７】
ビットストリーム（207）からビデオシーケンスのブロックの係数を復号するための方法であって、
前記方法が、
1つまたは複数のあらかじめ定義された走査順序を提供するステップと、
1つまたは複数の走査順序を生成するステップと、
前記ビットストリームに含まれる走査順序情報（SCAN＿IDX）に基づいて、前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するステップと、
前記ビットストリーム（207）から各ブロックの1つまたは複数の係数ベクトルを復号するステップと、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するステップと
を備え、
1つまたは複数の走査順序を生成するステップが、前記ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、前記1つまたは複数の走査順序を生成するステップを備える、
方法。
【請求項８】
ビデオシーケンスのブロックの係数をビットストリーム（107）内に符号化するためのエンコーダ（100）であって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記エンコーダが、
1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュール（110）と、
1つまたは複数の走査順序を生成するように構成された走査順序生成器（111）と、
前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器（109）と、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数行列を走査するように構成されたシリアライザ（104）と、
前記係数ベクトルを前記ビットストリーム（107）内にコード化するように構成されたコーディングモジュール（106）と
を備え、
前記走査順序生成器（111）が、前記ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、前記1つまたは複数の走査順序を生成するように構成される、
エンコーダ（100）。
【請求項９】
前記走査パターンリストモジュール（110）が、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成され、
前記走査順序生成器（111）が、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列に応じて、前記コーディングパラメータセットの各々について走査順序を生成するように構成され、
前記走査順序選択器（109）が、
そのブロックのコーディングパラメータセットを決定すること、および
前記決定されたコーディングパラメータセットについて前記あらかじめ定義された走査順序および生成された走査順序から、そのブロックの前記係数行列用の前記走査順序を選択すること
により、ブロックごとに走査順序を選択するように構成される、
請求項8に記載のエンコーダ。
【請求項１０】
前記エンコーダが、
前記コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列の分布統計データを提供するように構成された係数分布推定器（113）
を備え、
前記走査順序生成器（111）が、そのコーディングパラメータセットについての前記分布統計データに応じて、前記コーディングパラメータセットの各々について前記走査順序を生成するように構成される、
請求項9に記載のエンコーダ。
【請求項１１】
所与の係数行列に対して選択された前記走査順序があらかじめ定義されている場合、前記係数分布推定器（113）が、前記所与のブロックの前記コーディングパラメータセット用の前記分布統計データを更新しないように構成されるか、またはリセットするように構成される、
請求項10に記載のエンコーダ。
【請求項１２】
前記選択された走査順序を識別する走査順序情報（SCAN＿IDX）を前記ビットストリーム（107）に追加するように構成されたシグナリングモジュールを備える、
請求項8から11のいずれか一項に記載のエンコーダ。
【請求項１３】
前記走査順序選択器（109）が、コスト関数に基づいて前記あらかじめ定義された走査順序および生成された走査順序から前記走査順序を選択するように構成される、
請求項8から12のいずれか一項に記載のエンコーダ。
【請求項１４】
ビデオシーケンスのブロックの係数をビットストリーム（107）内に符号化するための方法であって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記方法が、
1つまたは複数のあらかじめ定義された走査順序を提供するステップと、
1つまたは複数の走査順序を生成するステップと、
前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するステップと、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数を走査するステップと、
前記係数ベクトルを前記ビットストリーム（107）内にコード化するステップと
を備え、
1つまたは複数の走査順序を生成するステップが、前記ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、前記1つまたは複数の走査順序を生成するステップを備える、
方法。
【請求項１５】
ビットストリーム（207）からビデオシーケンスのブロックの係数を復号するための、好ましくは請求項1から6のいずれか一項に記載のデコーダ（200）であって、
前記デコーダが、
前記ビットストリーム（207）から各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュール（206）と、
少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するように構成されたチェックモジュール（212）であって、前記隠蔽情報が、そのブロックに関連付けられた走査順序情報（SCAN＿IDX）の一部を構成または形成する、チェックモジュール（212）と、
そのブロックに関連付けられた前記走査順序情報（SCAN＿IDX）に基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器（209）と、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザ（204）と
を備える、デコーダ（200）。
【請求項１６】
前記チェックモジュール（212）が、少なくとも1つのブロックについて、そのブロックについて取得された前記1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから前記隠蔽情報を復元するように構成される、
請求項15に記載のデコーダ。
【請求項１７】
前記チェックモジュール（212）が、少なくとも1つのブロックについて、隠蔽条件に応じて前記隠蔽係数ベクトルから前記隠蔽情報を復元するように構成され、
前記隠蔽条件が、前記隠蔽係数ベクトルに応じてパラメータのしきい値との比較を備える、
請求項16に記載のデコーダ。
【請求項１８】
前記パラメータが、
前記隠蔽係数ベクトル内の有意係数の数、または
前記隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
前記隠蔽係数ベクトル内の前記係数の最小絶対非ゼロ値に対する最大絶対値の比
であり、
前記隠蔽条件が、前記パラメータが前記しきい値を上回る場合は真であり、前記パラメータが前記しきい値を下回る場合は偽である、
請求項17に記載のデコーダ。
【請求項１９】
前記チェックモジュール（212）が、前記隠蔽条件をチェックし、前記隠蔽条件が真である場合、前記隠蔽係数ベクトルから前記隠蔽情報を復元するように構成される、
請求項17または18に記載のデコーダ。
【請求項２０】
前記隠蔽条件が偽である場合、前記走査順序選択器（209）が、あらかじめ定義されたデフォルトの走査順序を選択するように構成される、
請求項17から19のいずれか一項に記載のデコーダ。
【請求項２１】
前記チェックモジュール（212）が、前記隠蔽係数ベクトルにチェック関数を適用することにより、前記隠蔽係数ベクトルから前記隠蔽情報を復元するように構成され、
前記チェック関数の結果が前記隠蔽情報である、
請求項16から20のいずれか一項に記載のデコーダ。
【請求項２２】
前記チェック関数の前記結果が、前記隠蔽係数ベクトルの前記最後の有意係数の、前記係数行列内の座標（x，y）に依存し、
具体的には、前記チェック関数が以下の関数：
mod（x＋y＋R，2）
であり、xおよびyが前記座標であり、Rが整数値である、
請求項21に記載のデコーダ。
【請求項２３】
前記チェックモジュール（212）が、第1のブロックについて、前記第1のブロックの1つまたは複数の係数から隠蔽情報を復元するように構成され、前記隠蔽情報が、前記第1のブロックに関連付けられた走査順序情報（SCAN＿IDX）の一部を構成または形成し、
前記走査順序選択器（209）が、前記第1のブロックおよび少なくとも第2のブロックに対して、前記第1のブロックに関連付けられた前記走査順序情報（SCAN＿IDX）に基づいて走査順序を選択するように構成される、
請求項15から22のいずれか一項に記載のデコーダ。
【請求項２４】
ビットストリーム（207）からビデオシーケンスのブロックの係数を復号するための、好ましくは請求項7に記載の方法であって、
前記方法が、
前記ビットストリーム（207）から各ブロックの1つまたは複数の係数ベクトルを復号するステップと、
少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するステップであって、前記隠蔽情報が、そのブロックに関連付けられた走査順序情報（SCAN＿IDX）の一部を構成または形成する、ステップと、
そのブロックに関連付けられた前記走査順序情報（SCAN＿IDX）に基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するステップと、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するステップと
を備える、方法。
【請求項２５】
ビデオシーケンスのブロックの係数をビットストリーム（107）内に符号化するための、好ましくは請求項8から13のいずれか一項に記載のエンコーダ（100）であって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記エンコーダが、
走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器（109）と、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数行列を走査するように構成されたシリアライザ（104）と、
少なくとも1つのブロックについて、少なくとも部分的にそのブロックの1つまたは複数の係数内に、そのブロックに対して選択された前記走査順序を識別する走査順序情報（SCAN＿IDX）を隠蔽するように構成された隠蔽モジュール（112）と、
前記係数ベクトルを前記ビットストリーム（107）内にコード化するように構成されたコーディングモジュール（106）と
を備える、エンコーダ（100）。
【請求項２６】
前記隠蔽モジュール（112）が、少なくとも1つのブロックについて、そのブロックについて取得された前記1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトル内の前記走査順序情報（SCAN＿IDX）を隠蔽するように構成される、
請求項25に記載のエンコーダ。
【請求項２７】
前記隠蔽モジュール（112）が、少なくとも1つのブロックについて、隠蔽条件に応じて前記隠蔽係数ベクトル内に前記走査順序情報（SCAN＿IDX）を隠蔽するように構成され、
前記隠蔽条件が、前記隠蔽係数ベクトルに応じてパラメータのしきい値との比較を備える、
請求項26に記載のエンコーダ。
【請求項２８】
前記パラメータが、
前記隠蔽係数ベクトル内の有意係数の数、または
前記隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
前記隠蔽係数ベクトル内の前記係数の最小絶対非ゼロ値に対する最大絶対値の比
であり、
前記隠蔽条件が、前記パラメータが前記しきい値を上回る場合は真であり、前記パラメータが前記しきい値を下回る場合は偽である、
請求項27に記載のエンコーダ。
【請求項２９】
前記隠蔽モジュール（112）が、前記隠蔽条件をチェックし、前記隠蔽条件が真である場合、前記隠蔽係数ベクトル内に前記走査順序情報（SCAN＿IDX）を隠蔽するように構成される、
請求項27または28に記載のエンコーダ。
【請求項３０】
前記隠蔽条件が偽である場合、前記走査順序選択器（109）が、その他の選択された走査順序に対する前記隠蔽条件が真になるまで、走査順序の前記セットから別の走査順序を再帰的に選択するように構成される、
請求項27から29のいずれか一項に記載のエンコーダ。
【請求項３１】
前記隠蔽条件が偽であり、前記選択された走査順序があらかじめ定義されたデフォルトの走査順序である場合、前記隠蔽モジュール（112）が、前記隠蔽係数ベクトル内の前記走査順序情報（SCAN＿IDX）を隠蔽しないように構成される、
請求項27から30のいずれか一項に記載のエンコーダ。
【請求項３２】
前記隠蔽モジュール（112）が、少なくとも1つのブロックについて、
チェック関数の結果を取得するために前記隠蔽係数ベクトルに前記チェック関数を適用し、
前記チェック関数の前記結果が前記走査順序情報（SCAN＿IDX）に対応するかどうかを判定し、
そうでない場合、前記チェック関数の前記結果が前記走査順序情報（SCAN＿IDX）に対応するように前記隠蔽係数ベクトルを修正する
ことにより、前記隠蔽係数ベクトル内に前記走査順序情報（SCAN＿IDX）を隠蔽するように構成される、
請求項26から31のいずれか一項に記載のエンコーダ。
【請求項３３】
前記チェック関数の前記結果が、前記隠蔽係数ベクトルの前記最後の有意係数の、前記係数行列内の座標（x，y）に依存し、
具体的には、前記チェック関数が以下の関数：
mod（x＋y＋R，2）
であり、xおよびyが前記座標であり、Rが整数値である、
請求項32に記載のエンコーダ。
【請求項３４】
第1のブロックおよび少なくとも第2のブロックに対して、前記走査順序選択器（109）によって同一の走査順序が選択された場合、前記隠蔽モジュール（112）が、前記第1のブロックのみの1つまたは複数の係数内の前記同一の走査順序を識別する走査順序情報（SCAN＿IDX）を隠蔽するように構成される、
請求項25から33のいずれか一項に記載のエンコーダ。
【請求項３５】
ビデオシーケンスのブロックの係数をビットストリーム（107）内に符号化するための、好ましくは請求項8から13のいずれか一項に記載の方法であって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記方法が、
走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するステップと、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数行列を走査するステップと、
少なくとも1つのブロックについて、少なくとも部分的にそのブロックの1つまたは複数の係数内に、そのブロックに対して選択された前記走査順序を識別する走査順序情報（SCAN＿IDX）を隠蔽するステップと、
前記係数ベクトルを前記ビットストリーム（107）内にコード化するステップと
を備える、方法。
【請求項３６】
コンピュータプログラムがコンピューティングデバイスで動作するときに、請求項7、14、24、または35に記載の前記方法を実行するためのプログラムコードを備える、前記コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ビデオ処理の分野、および走査順序選択、詳細には、コンテンツ適応走査順序選択のための方法および装置に関し、詳細には、ビデオシーケンスのブロックの係数を復号するためのデコーダ、およびビデオシーケンスのブロックの係数を符号化するためのエンコーダに関する。
【背景技術】
【０００２】
デジタルビデオ通信および格納アプリケーションは、デジタルカメラ、セルラー無線電話、ラップトップ、放送システム、およびビデオ遠隔会議システムなどの広範なデジタルデバイスによって実装される。これらのアプリケーションの最も重要かつ挑戦的なタスクのうちの1つはビデオ圧縮である。ビデオ圧縮のタスクは複雑で、2つの相反するパラメータ：圧縮効率および計算複雑性によって制約される。ITU−T H．264／AVCまたは高効率ビデオコーディング（HEVC）規格ITU−T H．265／HEVCなどのビデオコーディング規格は、これらのパラメータ間の良好なトレードオフを実現する。そのため、ビデオコーディング規格のサポートは、ほぼすべてのビデオ圧縮アプリケーションに対する必須要件である。
【０００３】
最先端のビデオコーディング規格は、ソースピクチャをブロックに区分化することに基づいている。これらのブロックの処理は、それらのサイズ、空間位置、およびエンコーダによって指定されたコーディングモードに依存する。コーディングモードは、予測のタイプドに応じて、2つのグループ：イントラ予測モードおよびインター予測モードに分類することができる。イントラ予測モードは、参照サンプルを生成して復元されるブロックのピクセル用の予測値を計算するために、同じピクチャのピクセルを使用する。イントラ予測は空間予測と呼ぶこともできる。インター予測モードは時間予測向けに設計され、現在ピクチャのブロックのピクセルを予測するために、前または次のピクチャの参照サンプルを使用する。予測段階の後、元の信号とその予測との間の差である予測誤差に対して変換コーディングが実行される。次いで、AVC／H．264およびHEVC／H．265用のコンテキスト適応バイナリ算術コーディング（CABAC）のようなエントロピーコーダを使用して、変換係数およびサイド情報が符号化される。
【０００４】
明らかに、予測誤差は、異なる予測モードに対して異なる統計データを有し、予測されるべきコンテンツに強く依存する。したがって、異なる変換は異なる場合の圧縮性能の観点から有益である。変換コーディング段階のコーディング効率を高めるために、異なる特定の場合に異なるエネルギー圧縮を保有する複数の変換を使用することができる。
【０００５】
たとえば、ISO／IEC23008−2：2013、「情報技術−異種環境における高効率コーディングおよびメディア配信−第2部：高効率ビデオコーディング」、2013年11月から知られているITU−T H．265／HEVC規格は、コーディング効率と計算複雑性との間の妥当なトレードオフを提供する最先端のビデオコーディングツールのセットを公表した。ITU−T H．265／HEVC規格に関する概要は、ビデオ技術用の回路およびシステムに関するIEEE議事録第22巻、第12号、2012年12月の中のGary J．Sullivanによる記事「高効率ビデオコーディング（HEVC）規格の概要」の中に与えられ、その内容全体は参照により本明細書に組み込まれる。
【０００６】
ITU−T H．264／AVCビデオコーディング規格と同様に、HEVC／H．265ビデオコーディング規格は、ブロック、たとえばコーディングユニット（CU）へのソースピクチャの分割を提供する。CUの各々は、より小さいCUまたは予測ユニット（PU）のいずれかにさらに分割することができる。PUは、PUのピクセルに適用される処理のタイプに応じてイントラ予測するか、またはインター予測することができる。インター予測の場合、PUは、PUに対して指定された動きベクトルを使用して動き補償によって処理されるピクセルの領域を表す。イントラ予測の場合、PUは、変換ユニット（TU）のセット向けの予測モードを指定する。TUは、様々なサイズ（たとえば、4×4、8×8、16×16、および32×32のピクセル）を有することができ、様々な方法で処理することができる。TU変換の場合、コーディングが実行されている、すなわち、予測誤差が離散コサイン変換または離散サイン変換で変換され−HEVC／H．265規格では、それはイントラコード化ブロックに適用され−量子化される。したがって、復元されたピクセルは、予測精度に影響する場合がある量子化ノイズおよびブロッキングアーチファクトを含んでいる。
【０００７】
HEVC／H．265を除くすべての従来のビデオコーディング規格では、設計を単純に保つためにただ1つの変換が使用された。HEVC／H．265規格は、イントラコーディングに対して2つの変換：この変換が小さいイントラ予測ブロックにより良いエネルギー圧縮を提供するような4×4ブロック用のDST、および他のブロック用のDCTを指定する。
【０００８】
加えて、モード依存係数走査（MDCS）技法が、HEVC／H．265規格に採用されている。その背後にある基本的な考え方は、選択されたイントラ予測モードの支配下にある走査順序を選択することである。イントラコード化ブロックの場合、4×4変換ブロック（TB）および8×8ルーマTBの走査順序は、イントラ予測モードによって決定され、Joel Sole、Rajan Joshi、Nguyen Nguyen、Tianying Ji、Marta Karczewicz、Gordon Clare、Felix Henry、およびAlberto Duenas、「HEVCにおける変換計数コーディング」、ビデオ技法用の回路およびシステムに関するIEEE議事録第22巻、第12号、2012年12月、ページ1765〜1777を参照されたい。35個のイントラ予測モードの各々は、3つの可能な走査順序：対角、水平、または垂直のうちの1つを使用する。参照テーブルは、イントラ予測モードを走査のうちの1つにマッピングする。
【０００９】
このツールは、イントラ予測モードに応じて残差の水平または垂直の相関関係を活用する。たとえば、水平予測モードの場合、変換係数エネルギーは最初の数カラムでクラスタ化されるので、垂直走査はエントロピーコード化されるビンを少なくする。同様に、垂直予測の場合、水平走査が有益である。実験では、大きいTBに対する水平走査および垂直走査を含めると圧縮効率がほとんどないため、これらの走査の適用は2つのより小さいTBに限定されることが示された。
【００１０】
MDCSに類似する技法は、文献Yung−Lyul Lee、Ki−Hun Han、Dong−Gyu Sim、およびJeongil Seo、「H．264／AVCイントラコーディングのための適応走査」、ETRIジャーナル、第28巻、第5号、2006年10月、ページ668〜671、文献Byeong−Doo Choi、Jin−Hyung Kim、およびSung−Jea Ko、「イントラ予測モードに基づく適応係数走査」、ETRIジャーナル、第29巻、第5号、2007年10月、ページ694〜696、ならびに文献Md．Salah Uddin YusufおよびMohiuddin Ahmad、「AVSイントラコーディングの指向性空間予測向けの新規走査方式」、電気電子計装工学における先端研究の国際ジャーナル、第2巻、第8号、2013年8月、ページ4120〜4126において検討されている。走査順序は、HEVC／H．265規格で使用されるものとは異なっている。また、イントラ予測モードを走査順序にマッピングすることが提案されている。
【００１１】
さらに、Bae Keun Lee、Jae Cheol Kwon、およびJoo Young Kimの「Method and Apparatus for Coefficient Scan Based on Partition Mode of Prediction Unit」という米国特許出願公開第2014／0314143号、PCT／KR2012／009373、2012年11月8日から知られているような区分化モード、ならびにThai−Ha Nguyen、Yoichi Yagasaki、およびAli Tabatabaiの「QP adaptive coefficients scanning and application」という米国特許出願公開第2011／0249726号、2011年4月1日から知られているような量子化パラメータ（QP）は、イントラコーディング向けだけでなくインターコーディング向けにも、走査順序を選択するための機能として使用することができる。
【００１２】
そのため、同じモードおよびTUサイズに対して効率的であり得る多様な走査順序が存在する。それは、潜在的な走査順序のうちの何が選択されるべきかに関する最終判断を行うために、RDO（レート歪み最適化）ベースまたは同様の、たとえば、歪みまたは活動分析に基づく手順を使用することができる主な理由である。
【００１３】
RDOベースの手順で走査順序を選択することが可能である方法の一例は、たとえば、Muhammed Zeyd CobanおよびMarta Karczewiczの「Adaptive scanning of transform coefficients for video coding」という米国特許出願公開第2012／0099646号、2011年10月17日から知られている。この場合、RDコストが最も低い走査順序が選択される。このように、この手段の主な利点は、選択された走査順序が最高のコーディング利得を提供することである。したがって、この手法のコーディング効率は、シグナリングオーバーヘッドが考慮されない場合、他の方法の場合よりも高い。
【００１４】
この従来技術は、最高のコーディング利得を提供する走査順序を選択するための2つのアルゴリズムを提案している。これらの2つのアルゴリズム間の主な区別される特徴は、適応走査順序選択のこの技法が適用できない、すなわちデフォルトの走査順序が使用される場合、そのようなTBを検出するために異なる機構が使用されることである。第1のアルゴリズムでは、有意な変換係数の数がしきい値の数と比較される。第2のアルゴリズムでは、最後の有意な変換係数の位置がしきい値の位置と比較される。前述された技法とは対照的に、デコーダが受信された変換係数に正しい走査順序を適用できるように、選択された走査順序はこれらの両方の場合にシグナリングされるべきである。したがって、RDOベースの意思決定手順を使用する手段の主な欠点は、シグナリングオーバーヘッドである。
【００１５】
MDCSと比較して圧縮効率を向上させる別の方法は、先に定義された走査順序の代わりに、イントラ予測モード、区分化モード、ブロックサイズなどのパラメータの値が類似するブロックについて収集された統計データに従って走査順序を適応させることである。したがって、統計データが十分でない場合に使用するための初期走査順序が定義される。統計データを収集するために使用されるブロックの量がしきい値を超えるとき、走査順序は、収集された統計データに基づいて適合されてもよく、Yan YeおよびMarta Karczewiczの「Adaptive coefficient scanning for video coding」という米国特許第8，488，668号、2008年6月4日を参照されたい。同様の手法が、Sridhar Srinivasanの「Adaptive coefficient scan order」という欧州特許明細書第1679903号、2005年11月30日から知られている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】米国特許出願公開第2014／0314143号
【特許文献２】米国特許出願公開第2011／0249726号
【特許文献３】米国特許出願公開第2012／0099646号
【特許文献４】米国特許第8，488，668号
【特許文献５】欧州特許明細書第1679903号
【非特許文献】
【００１７】
【非特許文献１】ISO／IEC23008−2：2013、「情報技術−異種環境における高効率コーディングおよびメディア配信−第2部：高効率ビデオコーディング」、2013年11月
【非特許文献２】ビデオ技術用の回路およびシステムに関するIEEE議事録第22巻、第12号、2012年12月の中のGary J．Sullivanによる記事「高効率ビデオコーディング（HEVC）規格の概要」
【非特許文献３】Joel Sole、Rajan Joshi、Nguyen Nguyen、Tianying Ji、Marta Karczewicz、Gordon Clare、Felix Henry、およびAlberto Duenas、「HEVCにおける変換計数コーディング」、ビデオ技法用の回路およびシステムに関するIEEE議事録第22巻、第12号、2012年12月、ページ1765〜1777
【非特許文献４】Yung−Lyul Lee、Ki−Hun Han、Dong−Gyu Sim、およびJeongil Seo、「H．264／AVCイントラコーディングのための適応走査」、ETRIジャーナル、第28巻、第5号、2006年10月、ページ668〜671
【非特許文献５】Byeong−Doo Choi、Jin−Hyung Kim、およびSung−Jea Ko、「イントラ予測モードに基づく適応係数走査」、ETRIジャーナル、第29巻、第5号、2007年10月、ページ694〜696
【非特許文献６】Md．Salah Uddin YusufおよびMohiuddin Ahmad、「AVSイントラコーディングの指向性空間予測向けの新規走査方式」、電気電子計装工学における先端研究の国際ジャーナル、第2巻、第8号、2013年8月、ページ4120〜4126
【発明の概要】
【００１８】
しかしながら、以前に符号化または復号されたブロックの収集された統計データに基づくこのような適応走査順序は、ジグザグ走査、対角走査、垂直走査、水平走査、時計回りおよび反時計回りのらせん走査などのあらかじめ定義された走査順序よりも高いコーディング効率を常に提供するとは限らない。
【００１９】
上述された欠点および問題を認識して、本発明は最新技術を改善することを目的とする。特に、本発明の目的は、コーディング効率を向上させるためのビデオデコーダ、復号方法、ビデオエンコーダ、および符号化方法を提供することである。
【課題を解決するための手段】
【００２０】
本発明は、具体的には、係数行列を1つもしくは複数の係数ベクトルに走査するため、または1つもしくは複数の係数ベクトルを係数行列に逆走査するための改善された走査順序によってコーディング効率を向上させるものである。
【００２１】
その上、本発明は、シグナリングオーバーヘッドを低減することによってコーディング効率を向上させるものである。
【００２２】
本発明の上記の目的は、添付の独立請求項において提供される解決策によって達成される。本発明の有利な実装形態は、それぞれの従属請求項においてさらに定義される。
【００２３】
本発明の第1の態様は、ビットストリームからビデオシーケンスのブロックの係数を復号するためのデコーダを提供する。デコーダは、1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュールを備える。走査順序は、当技術分野では走査パターンとしても知られている。デコーダは、1つまたは複数の走査順序を生成するように構成された走査順序生成器を備える。デコーダは、ビットストリームに含まれる走査順序情報に基づいて、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器を備える。デコーダは、ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュールを備える。デコーダは、係数行列を取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザを備える。走査順序生成器は、ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、1つまたは複数の走査順序を生成するように構成される。
【００２４】
それにより、本発明は、あらかじめ定義された走査順序とコンテンツ適応生成された走査順序の両方を提供するという点で有利である。利用可能な走査順序のセットを拡張することにより、量子化のレート歪み効率がそれに応じて改善されてもよい。
【００２５】
本発明の第1の態様によるデコーダの実装形態では、走査パターンリストモジュールは、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成される。走査順序生成器は、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に取得された係数行列に応じて、コーディングパラメータセットの各々について走査順序を生成するように構成される。走査順序選択器は、そのブロックのコーディングパラメータセットを決定し、決定されたコーディングパラメータセットについてあらかじめ定義された走査順序および生成された走査順序からそのブロックについて取得された係数行列用の走査順序を選択することにより、ブロックごとに走査順序を選択するように構成される。
【００２６】
それにより、あらかじめ定義された走査順序とコンテンツ適応生成された走査順序の両方が、コーディングパラメータセットごとに提供されてもよい。そのため、異なるコーディングパラメータセットに対して異なる走査順序が生成されてもよく、その結果、利用可能な走査順序のセットが増加し、各コーディングパラメータセットに適合されてもよい。したがって、選択された走査順序は、レート歪み効率をさらに改善することができる。
【００２７】
具体的には、各コーディングパラメータセットは、たとえば、予測モード、パーティションモード、1つまたは複数の変換パラメータ、および1つまたは複数の量子化パラメータのうちの1つまたは複数の組合せに対応してもよい。
【００２８】
本発明の第1の態様によるデコーダの実装形態では、デコーダは、コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に取得された係数行列の分布統計データを提供するように構成された係数分布推定器を備える。走査順序生成器は、そのコーディングパラメータセットについての分布統計データに応じて、コーディングパラメータセットの各々について走査順序を生成するように構成される。
【００２９】
それにより、生成された走査順序は、以前の係数行列の分布統計データを反映することができる。こうして、生成された走査順序は、後続の行列の分布統計データが以前の係数行列の分布統計データに類似している場合、後続の係数行列に対して良好なコーディング効率を提供することができる。
【００３０】
本発明の第1の態様によるデコーダの実装形態では、所与のブロックに対して選択された走査順序があらかじめ定義されている場合、係数分布推定器は、所与のブロックのコーディングパラメータセット用の分布統計データを更新しないように構成されるか、またはリセットするように構成される。
【００３１】
それにより、所与のブロックに対して選択された走査順序があらかじめ定義された走査順序である場合、所与のブロックのコーディングパラメータセットに対して、生成された走査順序は、あらかじめ定義された走査順序のコーディング効率よりも悪いコーディング効率を提供する可能性がある。したがって、所与のブロックは、以前の係数行列のそれに対応しない分布統計データを提示するので、所与のブロックの分布統計データは、好ましくは、係数分散推定器によって提供される分布統計データを更新するために使用されない。あるいは、以前の係数行列の統計データが現在の係数行列の統計データにもはや対応しない可能性があるので、係数分布推定器によって提供された分布統計データをリセットすることが好ましい場合がある。
【００３２】
本発明の第1の態様によるデコーダの実装形態では、復号モジュールは、ブロックごとに、ビットストリームからのコーディングパラメータ情報を構文解析するように構成される。走査順序選択器は、その所与のブロックについて構文解析されたコーディングパラメータ情報に従って、所与のブロックのコーディングパラメータセットを決定するように構成される。
【００３３】
それにより、デコーダは、コーディング効率を向上させるために、コーディングパラメータセットに関する情報を取得し、このコーディングパラメータセットに対応するあらかじめ定義された走査順序および生成された走査順序を使用することができる。
【００３４】
本発明の第1の態様によるデコーダの実装形態では、復号モジュールは、ビットストリームからの選択された走査順序を識別する走査順序情報を構文解析するように構成される。
【００３５】
それにより、デコーダはビットストリームからの選択された走査順序を識別することができ、この選択された走査順序があらかじめ定義されているか生成されたかに応じて、デコーダは係数ベクトルを正しく逆走査することができ、たとえば、係数分布推定器によって提供された分布統計データを正しく更新するかまたは更新しない場合がある。
【００３６】
本発明の第1の態様によるデコーダの機能、およびその実装形態のいずれかのいかなる機能も、プロセッサまたはコンピュータによって実行されてもよく、それらの手段のいずれも、そのようなプロセッサまたはコンピュータのソフトウェアおよび／またはハードウェアとして実装されてもよい。
【００３７】
本発明の第2の態様は、ビットストリームからビデオシーケンスのブロックの係数を復号するための方法を提供する。方法は、1つまたは複数のあらかじめ定義された走査順序を提供するステップを備える。方法は、1つまたは複数の走査順序を生成するステップを備える。方法は、ビットストリームに含まれる走査順序情報に基づいて、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するステップを備える。方法は、ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するステップを備える。方法は、係数行列を取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するステップを備える。1つまたは複数の走査順序を生成するステップは、ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、1つまたは複数の走査順序を生成するステップを備える。
【００３８】
本発明の第2の態様による方法のさらなる特徴または実装形態は、本発明の第1の態様およびその様々な実装形態によるデコーダの機能を実行することができる。
【００３９】
本発明の第2の態様による方法またはその実装形態のいずれも、プロセッサまたはコンピュータによって実行されてもよい。
【００４０】
本発明の第3の態様は、ビデオシーケンスのブロックの係数をビットストリーム内に符号化するためのエンコーダを提供し、各ブロックの係数はそれぞれの係数行列に含まれる。エンコーダは、1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュールを備える。エンコーダは、1つまたは複数の走査順序を生成するように構成された走査順序生成器を備える。エンコーダは、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器を備える。エンコーダは、1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの係数行列を走査するように構成されたシリアライザを備える。エンコーダは、係数ベクトルをビットストリーム内にコード化するように構成されたコーディングモジュールを備える。走査順序生成器は、ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、1つまたは複数の走査順序を生成するように構成される。
【００４１】
それにより、本発明は、あらかじめ定義された走査順序とコンテンツ適応生成された走査順序の両方を提供するという点で有利である。利用可能な走査順序のセットを拡張することにより、量子化のレート歪み効率がそれに応じて改善されてもよい。
【００４２】
本発明の第3の態様によるエンコーダの実装形態では、走査パターンリストモジュールは、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成される。走査順序生成器は、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列に応じて、コーディングパラメータセットの各々について走査順序を生成するように構成される。走査順序選択器は、そのブロックのコーディングパラメータセットを決定し、決定されたコーディングパラメータセットについてあらかじめ定義された走査順序および生成された走査順序からそのブロックの係数行列用の走査順序を選択することにより、ブロックごとに走査順序を選択するように構成される。
【００４３】
それにより、あらかじめ定義された走査順序とコンテンツ適応生成された走査順序の両方が、コーディングパラメータセットごとに提供されてもよい。そのため、異なるコーディングパラメータセットに対して異なる走査順序が生成されてもよく、その結果、利用可能な走査順序のセットが増加し、各コーディングパラメータセットに適合されてもよい。したがって、選択された走査順序は、レート歪み効率をさらに改善することができる。
【００４４】
具体的には、各コーディングパラメータセットは、予測モード、パーティションモード、1つまたは複数の変換パラメータ、および1つまたは複数の量子化パラメータのうちの1つまたは複数の組合せに対応してもよい。
【００４５】
本発明の第3の態様によるエンコーダの実装形態では、エンコーダは、コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列の分布統計データを提供するように構成された係数分布推定器を備える。走査順序生成器は、そのコーディングパラメータセットについての分布統計データに応じて、コーディングパラメータセットの各々について走査順序を生成するように構成される。
【００４６】
それにより、生成された走査順序は、以前の係数行列の分布統計データを反映することができ、その結果、これらの生成された走査順序は、後続の行列の分布統計データが以前の係数行列の分布統計データに類似している場合、後続の係数行列に対して良好なコーディング効率を提供することができる。
【００４７】
本発明の第3の態様によるエンコーダの実装形態では、所与の係数行列に対して選択された走査順序があらかじめ定義されている場合、係数分布推定器は、所与のブロックのコーディングパラメータセット用の分布統計データを更新しないように構成されるか、またはリセットするように構成される。
【００４８】
それにより、所与のブロックに対して選択された走査順序があらかじめ定義された走査順序である場合、所与のブロックのコーディングパラメータセットに対して、生成された走査順序は、あらかじめ定義された走査順序のコーディング効率よりも悪いコーディング効率を提供する可能性がある。したがって、所与のブロックは、以前の係数行列のそれに対応しない分布統計データを提示するので、所与のブロックの分布統計データは、好ましくは、係数分散推定器によって提供される分布統計データを更新するために使用されない。あるいは、以前の係数行列の統計データが現在の係数行列の統計データにもはや対応しない可能性があるので、係数分布推定器によって提供された分布統計データをリセットすることが好ましい場合がある。
【００４９】
本発明の第3の態様によるエンコーダの実装形態では、エンコーダは、ビットストリーム内に選択された走査順序を識別する走査順序情報を追加するように構成されたシグナリングモジュールを備える。
【００５０】
それにより、デコーダがビットストリームからの選択された走査順序を識別することができ、この選択された走査順序があらかじめ定義されているか生成されたかに応じて、デコーダは係数ベクトルを正しく逆走査することができ、たとえば、係数分布推定器によって提供された分布統計データを正しく更新するかまたは更新しない場合があることは有利である。
【００５１】
本発明の第3の態様によるエンコーダの実装形態では、走査順序選択器は、コスト関数に基づいてあらかじめ定義された走査順序および生成された走査順序から走査順序を選択するように構成される。
【００５２】
それにより、コスト関数に基づく手順は、生成された走査順序およびあらかじめ定義された走査順序の中の1つの走査順序を正確に選択するために使用されてもよい。したがって、以前に符号化または復号されたブロックの収集された統計データに基づいて生成された走査順序が、あらかじめ定義された走査順序よりも良好なコーディング効率を提供しない場合でも、走査順序選択はコーディング効率を向上させることができる。具体的には、コスト関数は、たとえば、レート歪み最適化（RDO）関数であってもよい。
【００５３】
本発明の第3の態様によるエンコーダの機能、およびその実装形態のいずれかのいかなる機能も、プロセッサまたはコンピュータによって実行されてもよく、それらの手段のいずれも、そのようなプロセッサまたはコンピュータのソフトウェアおよび／またはハードウェアとして実装されてもよい。
【００５４】
本発明の第4の態様は、ビデオシーケンスのブロックの係数をビットストリーム内に符号化するための方法を提供し、各ブロックの係数はそれぞれの係数行列に含まれる。方法は、1つまたは複数のあらかじめ定義された走査順序を提供するステップを備える。方法は、1つまたは複数の走査順序を生成するステップを備える。方法は、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するステップを備える。方法は、1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの係数を走査するステップを備える。方法は、係数ベクトルをビットストリーム内にコード化するステップを備える。1つまたは複数の走査順序を生成するステップは、ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、1つまたは複数の走査順序を生成するステップを備える。
【００５５】
本発明の第4の態様による方法のさらなる特徴または実装形態は、本発明の第3の態様およびその様々な実装形態によるエンコーダの機能を実行することができる。
【００５６】
本発明の第4の態様による方法またはその実装形態のいずれも、プロセッサまたはコンピュータによって実行されてもよい。
【００５７】
本発明の第5の態様は、好ましくは第1の態様に従って、ビットストリームからビデオシーケンスのブロックの係数を復号するためのデコーダを提供する。デコーダは、ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュールを備える。デコーダは、少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するように構成されたチェックモジュールを備え、隠蔽情報は、そのブロックに関連付けられた走査順序情報の一部を構成または形成する。デコーダは、そのブロックに関連付けられた走査順序情報に基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器を備える。デコーダは、係数行列を取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザを備える。
【００５８】
それにより、有利なことに、シグナリングオーバーヘッドが低減されるという点でコーディング効率が向上する。
【００５９】
本発明の第5の態様によるデコーダの実装形態では、チェックモジュールは、少なくとも1つのブロックについて、そのブロックについて取得された1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから隠蔽情報を復元するように構成される。具体的には、1つまたは複数の係数ベクトルは、それぞれの係数グループ（CG）に対応してもよく、次いで、隠蔽係数ベクトルは、データ隠蔽が実行される係数グループに対応する。それにより、いくつかの隠蔽係数ベクトルから、たとえば、好ましくはいくつかの係数グループから隠蔽情報を復元することは、より多くのビットを隠蔽することができ、走査順序情報用のより大きいインデックスを復元することができるという点で有利である。
【００６０】
本発明の第5の態様によるデコーダの実装形態では、チェックモジュールは、少なくとも1つのブロックについて、隠蔽条件に応じて隠蔽係数ベクトルから隠蔽情報を復元するように構成され、隠蔽条件は、隠蔽係数ベクトルに応じてパラメータをしきい値と比較することを備える。それにより、隠蔽が容易になる。
【００６１】
本発明の第5の態様によるデコーダの実装形態では、パラメータは、
隠蔽係数ベクトル内の有意係数の数、または
隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
隠蔽係数ベクトル内の係数の最小絶対非ゼロ値に対する最大絶対値の比
である。隠蔽条件は、パラメータがしきい値を上回る場合は真であり、パラメータがしきい値を下回る場合は偽である。それにより、隠蔽条件が有利に提供される。
【００６２】
本発明の第5の態様によるデコーダの実装形態では、チェックモジュールは、隠蔽条件をチェックし、隠蔽条件が真である場合、隠蔽係数ベクトルから隠蔽情報を復元するように構成される。それにより、走査順序は、ビットストリームからのさらなるサイド情報なしに選択されてもよい。
【００６３】
本発明の第5の態様によるデコーダの実装形態では、隠蔽条件が偽である場合、走査順序選択器は、あらかじめ定義されたデフォルトの走査順序を選択するように構成される。それにより、エンコーダ側で隠蔽が不可能である場合でも走査順序が選択されてもよい。
【００６４】
本発明の第5の態様によるデコーダの実装形態では、チェックモジュールは、隠蔽係数ベクトルにチェック関数を適用することにより、隠蔽係数ベクトルから隠蔽情報を復元するように構成され、チェック関数の結果は隠蔽情報である。それにより、走査順序は有利なことに係数から取得されてもよい。
【００６５】
本発明の第5の態様によるデコーダの実装形態では、チェック関数の結果は、隠蔽係数ベクトルの最後の有意係数の、係数行列内の座標（x，y）に依存する。チェック関数は、たとえば、以下の関数：
mod（x＋y＋R，2）
であってもよく、xおよびyは座標であり、Rは整数値である。それにより、チェック関数の結果は、係数座標から直接取得されてもよい。
【００６６】
本発明の第5の態様によるデコーダの実装形態では、チェックモジュールは、第1のブロックについて、第1のブロックの1つまたは複数の係数から隠蔽情報を復元するように構成され、隠蔽情報は、第1のブロックに関連付けられた走査順序情報の一部を構成または形成し、走査順序選択器は、第1のブロックおよび少なくとも第2のブロックに対して、第1のブロックに関連付けられた走査順序情報に基づいて走査順序を選択するように構成される。したがって、この実装形態は、第2のブロックに対して選択された走査順序の値が、第2のブロックの係数内に何も隠蔽することなく、第1のブロックの係数値を使用して復元／予測される「マージモード」復号を提供する。たとえば、第1のブロックおよび第2のブロックは空間的な隣接物である。
【００６７】
具体的には、走査順序選択器は、ブロックのグループに対して、第1のブロックに関連付けられた走査順序情報に基づいて走査順序を選択するように構成されてもよく、ブロックのグループは第1のブロックおよび複数の第2のブロックを備えてもよい。ブロックのグループは、それらの係数内に隠蔽された少なくとも1つのデフォルトでない走査インデックスを有するブロックのグループ内のいくつかのブロックを含んでもよい。あるいは、ブロックのグループは、いくつかの連続的に符号化されたブロックを含んでもよく、その結果、前記符号化されたブロックは同じ走査インデックスを有する。あるいは、ブロックのグループは、隠蔽条件が偽である係数を有するいくつかのブロックおよび／またはいくつかの連続的に符号化されたブロックを含んでもよい。
【００６８】
具体的には、マージモードでは、少なくとも1つの第2のブロックの係数内に走査順序情報が隠蔽されていないことをデコーダが知るために、いくつかの選択肢が利用可能である。第1に、ビットストリーム内でサイド情報、たとえば、それらに対するマージモードの使用を有効または無効にするブロックのグループのためのフラグが符号化されてもよい。第2に、サイド情報なしに、第1のブロックおよび／または第2のブロックの隠蔽条件およびコーディングパラメータセットに応じて、第2のブロックにマージルールを適用することが提案される。言い換えれば、第2のブロックに対して隠蔽条件が満たされない場合、すなわち、第1のブロックに関連付けられた走査順序情報に基づいて第2のブロック用の走査順序が選択される場合、第2のブロックにマージが適用される。第3に、最初の2つの選択肢の組合せが提案され、前記組合せは、ビットストリーム内のサイド情報を備え、隠蔽条件に応じてマージを適用する。
【００６９】
本発明の第5の態様によるデコーダの機能、およびその実装形態のいずれかのいかなる機能も、プロセッサまたはコンピュータによって実行されてもよく、それらの手段のいずれも、そのようなプロセッサまたはコンピュータのソフトウェアおよび／またはハードウェアとして実装されてもよい。
【００７０】
本発明の第6の態様は、好ましくは第2の態様に従って、ビットストリームからビデオシーケンスのブロックの係数を復号するための方法を提供する。方法は、ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するステップを備える。方法は、少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するステップを備え、隠蔽情報は、そのブロックに関連付けられた走査順序情報の一部を構成または形成する。方法は、そのブロックに関連付けられた走査順序情報に基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するステップを備える。方法は、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するステップを備え、それにより、係数行列が取得される。
【００７１】
本発明の第6の態様による方法のさらなる特徴または実装形態は、本発明の第5の態様およびその様々な実装形態によるデコーダの機能を実行することができる。
【００７２】
本発明の第6の態様による方法またはその実装形態のいずれも、プロセッサまたはコンピュータによって実行されてもよい。
【００７３】
本発明の第7の態様は、好ましくは第3の態様に従って、ビデオシーケンスのブロックの係数をビットストリーム内に符号化するためのエンコーダを提供し、各ブロックの係数はそれぞれの係数行列に含まれる。エンコーダは、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器を備える。エンコーダは、1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの係数行列を走査するように構成されたシリアライザを備える。エンコーダは、少なくとも1つのブロックについて、ブロックの1つまたは複数の係数内で少なくとも部分的にそのブロックに対して選択された走査順序を識別する走査順序情報を隠蔽するように構成された（すなわち、その走査順序情報またはそれらの1つもしくは複数の係数内のその一部を隠蔽するように構成された）隠蔽モジュールを備える。エンコーダは、係数ベクトルをビットストリーム内にコード化するように構成されたコーディングモジュールを備える。それにより、シグナリングオーバーヘッドを削減することにより、コーディング効率が向上してもよい。
【００７４】
本発明の第7の態様によるエンコーダの実装形態では、隠蔽モジュールは、少なくとも1つのブロックについて、そのブロックについて取得された1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトル内の走査順序情報を隠蔽するように構成される。
【００７５】
本発明の第7の態様によるエンコーダの実装形態では、隠蔽モジュールは、少なくとも1つのブロックについて、隠蔽条件に応じて隠蔽係数ベクトル内の走査順序情報を隠蔽するように構成され、隠蔽条件は、隠蔽係数ベクトルに応じてパラメータをしきい値と比較することを備える。
【００７６】
本発明の第7の態様によるデコーダの実装形態では、パラメータは、
隠蔽係数ベクトル内の有意係数の数、または
隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
隠蔽係数ベクトル内の係数の最小絶対非ゼロ値に対する最大絶対値の比
であり、隠蔽条件は、パラメータがしきい値を上回る場合は真であり、パラメータがしきい値を下回る場合は偽である。
【００７７】
本発明の第7の態様によるエンコーダの実装形態では、隠蔽モジュールは、隠蔽条件をチェックし、隠蔽条件が真である場合、隠蔽係数ベクトル内の走査順序情報を隠蔽するように構成される。
【００７８】
本発明の第7の態様によるエンコーダの実装形態では、隠蔽条件が偽である場合、走査順序選択器は、その他の選択された走査順序に対する隠蔽条件が真になるまで、走査順序のセットから別の走査順序を再帰的に選択するように構成される。それにより、他の走査順序を選択することは、最初の選択された走査順序が誤った隠蔽条件を意味する場合でも、データ隠蔽を実行することが可能であるという点で有利である。
【００７９】
本発明の第7の態様によるエンコーダの実装形態では、隠蔽条件が偽であり、選択された走査順序があらかじめ定義されたデフォルトの走査順序である場合、隠蔽モジュールは、隠蔽係数ベクトル内の走査順序情報を隠蔽しないように構成される。
【００８０】
本発明の第7の態様によるエンコーダの実装形態では、隠蔽モジュールは、少なくとも1つのブロックについて、
チェック関数の結果を取得するために隠蔽係数ベクトルにチェック関数を適用し、
チェック関数の結果が走査順序情報に対応するかどうかを判定し、
そうでない場合、チェック関数の結果が走査順序情報に対応するように隠蔽係数ベクトルを修正する
ことにより、隠蔽係数ベクトル内の走査順序情報を隠蔽するように構成される。
【００８１】
本発明の第7の態様によるエンコーダの実装形態では、チェック関数の結果は、隠蔽係数ベクトルの最後の有意係数の、係数行列内の座標（x，y）に依存する。チェック関数は、たとえば、以下の関数：
mod（x＋y＋R，2）
であってもよく、xおよびyは座標であり、Rは整数値である。
【００８２】
本発明の第7の態様によるエンコーダの実装形態では、第1のブロックおよび少なくとも第2のブロックに対して、走査順序選択器によって同一の走査順序が選択された場合、隠蔽モジュールは、第1のブロックのみの1つまたは複数の係数内の同一の走査順序を識別する走査順序情報を隠蔽するように構成される。それにより、「マージモード」による符号化が可能である。そのようなモードでは、好ましくは、同一の走査順序を識別する走査順序情報は、第2のブロックの係数内に隠蔽されない。言い換えれば、第2のブロックに対して選択された走査順序の値は、第1のブロックの係数内に隠蔽された走査順序情報を使用して、デコーダ側で復元／予測される。第1のブロックおよび第2のブロックは、たとえば、ビットストリーム内の空間的な隣接物、または、たとえば連続するブロックである。したがって、第2のブロックの走査順序情報は、第2のブロックの係数内に何も隠蔽することなく、デコーダに送信されてもよい。
【００８３】
具体的には、第1のブロックおよび1つまたは複数の第2のブロックを備えるブロックのグループは、それらの係数内に隠蔽された少なくとも1つのデフォルトでない走査インデックスを有するブロックのグループであってもよい。あるいは、ブロックのグループは、いくつかの連続的に符号化されたブロックを含んでもよく、その結果、前記符号化されたブロックは同じ走査インデックスを有する。あるいは、ブロックのグループは、隠蔽条件が偽である係数を有するいくつかのブロックおよび／またはいくつかの連続的に符号化されたブロックを含んでもよい。
【００８４】
具体的には、マージモードでは、少なくとも1つの第2のブロックの係数内に走査順序情報が隠蔽されていないことをデコーダが知るために、いくつかの選択肢が利用可能である。第1に、エンコーダは、サイド情報、たとえば、1つまたは複数のブロック、たとえば1つまたは複数の第2のブロックに対するマージモードの使用を有効または無効にするフラグをビットストリームに追加する。第2に、サイド情報なしに、第1のブロックおよび／または第2のブロックの隠蔽条件およびコーディングパラメータセットに応じて、第2のブロックにマージルールを適用することが提案される。言い換えれば、第2のブロックに対して隠蔽条件が満たされない場合、すなわち、第1のブロックに関連付けられた走査順序情報に基づいて第2のブロック用の走査順序が選択される場合、第2のブロックにマージが適用される。第3に、最初の2つの選択肢の組合せが提案され、前記組合せは、ビットストリーム内のサイド情報を備え、隠蔽条件に応じてマージを適用する。
【００８５】
本発明の第7の態様によるエンコーダの機能、およびその実装形態のいずれかのいかなる機能も、プロセッサまたはコンピュータによって実行されてもよく、それらの手段のいずれも、そのようなプロセッサまたはコンピュータのソフトウェアおよび／またはハードウェアとして実装されてもよい。
【００８６】
本発明の第8の態様は、好ましくは本発明の第4の態様に従って、ビデオシーケンスのブロックの係数をビットストリーム内に符号化するための方法を提供し、各ブロックの係数はそれぞれの係数行列に含まれる。方法は、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するステップを備える。方法は、1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの係数行列を走査するステップを備える。方法は、少なくとも1つのブロックについて、少なくとも部分的にそのブロックの1つまたは複数の係数内のそのブロックに対して選択された走査順序を識別する走査順序情報を隠蔽するステップを備える。方法は、係数ベクトルをビットストリーム内にコード化するステップを備える。
【００８７】
本発明の第8の態様による方法のさらなる特徴または実装形態は、本発明の第7の態様およびその様々な実装形態によるエンコーダの機能を実行することができる。
【００８８】
本発明の第8の態様による方法またはその実装形態のいずれも、プロセッサまたはコンピュータによって実行されてもよい。
【００８９】
本発明の第9の態様は、コンピュータプログラムがコンピューティングデバイス上で動作するときに、本発明の第2、第4、第6、または第8の態様による方法を実行するためのプログラムコードを備えるコンピュータプログラムを提供する。
【００９０】
本出願に記載されたすべてのデバイス、要素、ユニット、および手段は、ソフトウェア要素もしくはハードウェア要素またはそれらの任意の種類の組合せで実装できることに留意されたい。本出願に記載された様々なエンティティによって実行されるすべてのステップ、ならびに様々なエンティティによって実行されるように記載された機能は、それぞれのエンティティがそれぞれのステップおよび機能を実行するように適合または構成されることを意味するものである。特定の実施形態の以下の説明において、永続的なエンティティによって完全に形成される特定の機能またはステップが、その特定のステップまたは機能を実行するそのエンティティの特定の詳細要素の説明に反映されていない場合でも、それぞれのソフトウェア要素もしくはハードウェア要素またはそれらの任意の種類の組合せでこれらの方法および機能を実施できることは、当業者には明確なはずである。
【００９１】
本発明の上記の態様および実装形態は、添付図面との関連で特定の実施形態の以下の記述において説明される。
【図面の簡単な説明】
【００９２】
【図１】本発明の一実施形態によるビデオエンコーダを示す図である。
【図２】本発明の一実施形態によるビデオデコーダを示す図である。
【図３】本発明の一実施形態による、ビデオデコーダにおける係数分布推定のフローチャートである。
【図４】本発明の一実施形態による、ビデオエンコーダにおける係数分布推定のフローチャートである。
【図５】本発明の一実施形態による、走査順序リストの初期化のフローチャートである。
【図６】本発明の一実施形態による、選択された走査順序の暗示的なシグナリングおよび明示的なシグナリングのフローチャートである。
【図７】本発明の一実施形態による隠蔽条件を示す図である。
【図８】本発明の一実施形態による隠蔽条件を示す図である。
【図９】従来技術による係数のエントロピー復号を示す図である。
【図１０】ビットストリーム内のシグナリングオーバーヘッドを低減することによってコーディング効率を向上させるための本発明の一実施形態を示す図である。
【図１１】本発明による係数の並べ替えを示す図である。
【図１２】走査順序に対して定義された隠蔽条件の一例を示す図である。
【発明を実施するための形態】
【００９３】
図1は、本発明の一実施形態によるビデオエンコーダを示し、具体的には、ビデオシーケンスのブロックの係数をビットストリーム107内に符号化するためのエンコーダ100を示し、各ブロックの係数はそれぞれの係数行列に含まれる。
【００９４】
エンコーダは、1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュール110を備える。
【００９５】
エンコーダは、1つまたは複数の走査順序を生成するように構成された走査順序生成器111を備える。
【００９６】
エンコーダは、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器109を備える。
【００９７】
エンコーダは、1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの係数行列を走査するように構成されたシリアライザ104を備える。
【００９８】
エンコーダは、係数ベクトルをビットストリーム107内にコード化するように構成されたコーディングモジュール106を備える。
【００９９】
走査順序生成器111は、ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、1つまたは複数の走査順序を生成するように構成される。
【０１００】
図2は、本発明の一実施形態によるビデオデコーダ、具体的には、ビットストリーム207からビデオシーケンスのブロックの係数を復号するためのデコーダ200を示す。
【０１０１】
デコーダは、1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュール210を備える。
【０１０２】
デコーダは、1つまたは複数の走査順序を生成するように構成された走査順序生成器211を備える。
【０１０３】
デコーダは、ビットストリームに含まれる走査順序情報SCAN＿IDXに基づいて、あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器209を備える。
【０１０４】
デコーダは、ビットストリーム207から各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュール206を備える。
【０１０５】
デコーダは、係数行列を取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザ204を備える。
【０１０６】
走査順序生成器211は、ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、1つまたは複数の走査順序を生成するように構成される。
【０１０７】
具体的には、図1は、コンテンツ適応走査順序選択を有するエンコーダ側残差コーディング部の一例を示す。この例では、エンコーダ100は、ビデオシーケンスの各ピクチャの各ブロックにインター予測またはイントラ予測を適用するように構成される。イントラ予測モードは、参照サンプルを生成して復元されるブロックのピクセル用の予測値を計算するために、同じピクチャのピクセルを使用する。インター予測モードは時間予測向けに設計され、現在ピクチャのブロックのピクセルを予測するために、前または次のピクチャの参照サンプルを使用する。予測段階の結果は、ブロックの元の信号と、インター予測またはイントラ予測を介して取得されたその予測信号との差である残差信号101であってもよい。
【０１０８】
残差信号101を取得するための予測モードは、それに対応して、イントラ予測モードまたはインター予測モードのいずれかを参照してもよい。さらに、予測モードは、複数の利用可能な予測モードまたは予測方向のいずれかに対応してもよい。たとえば、複数の利用可能な予測モードは、35個までのイントラ予測モードを備えてもよく、それらは、直流（DC）予測モードおよび平面予測モードなどの、33個の指向性モードおよび2個の非指向性モードを含んでもよい。33個の指向性モードは、πラジアンまたは180度の角度範囲をカバーすることができる。垂直モードの方向が0度と見なされる場合、33個の指向性モードは、−45度の軸を中心に対称であり得る。予測モードに関して、エンコーダは、所与のブロックについて、レート歪み最適化（RDO）に基づいて複数の利用可能な予測モードのうちの1つを決定するように構成されてもよい。
【０１０９】
コーディングツリーユニット（CTU）は、ピクチャの一部（たとえば、64×64のピクセル）を含むあらかじめ定義されたサイズのビデオシーケンスの構造をコード化するルートである。CTUはコーディングユニット（CU）に区分化することができる。CUは、あらかじめ定義されたサイズのビデオシーケンスの基本的なコーディング構造であり、CTUに属するピクチャの一部を含む。CUはさらなるCUに区分化することができる。予測ユニット（PU）は、CUの区分化の結果であるコーディング構造である。PUは、いくつかの変換ユニット（TU）に区分化することができるか、または単一のTUと一致する。PUは、PUのピクセルに適用される処理のタイプに応じてイントラ予測またはインター予測することができる。インター予測の場合、PUは、PUに対して指定された動きベクトルを使用する動き補償によって処理されるピクセルの領域を表す。
【０１１０】
この点に関して、パーティションモードは、PU、具体的には、PUのサイズおよび／または向きに依存する場合がある。パーティションモードは、複数の利用可能なパーティションモードのいずれかに対応してもよい。エンコーダは、ブロックまたはPUについて、RDO方法に基づいて複数の利用可能なパーティションモードのうちの1つを決定するように構成されてもよい。たとえば、パーティションモードは、CUが2N×NのPUまたはブロックに区分化され得る水平面指向の形状に対応してもよい。また、パーティションモードは、CUがN×2NのPUもしくはブロックに区分化され得る垂直面指向の形状、またはCUが2N×2NのPUもしくはブロックに区分化され得る正方形に対応してもよい。
【０１１１】
残差信号101は、変換係数を取得するために残差信号101を変換コーディングするための変換モジュール102に供給されてもよい。具体的には、イントラ予測の場合、PUは、1組のTUに対する予測モードを指定することができる。TUは、様々なサイズ、たとえば、4×4、8×8、16×16、および32×32のピクセル、を有することができ、様々な方法で処理することができる。残差信号に適用され得る変換の例は、たとえば、離散コサイン変換（DCT）および離散サイン変換（DST）を備える。
【０１１２】
この点に関して、変換パラメータは、TUのサイズもしくは形状、またはサイズと形状の両方であってもよい。さらなる変換パラメータは、適用される変換、たとえば、とりわけDCTまたはDSTであってもよい。
【０１１３】
ソースピクチャのブロックについて計算された残差信号101は、変換モジュール102によって変換され、次いで、量子化モジュール103によって量子化される。量子化モジュール103は、係数行列の形で量子化変換係数（QTC）を取得するように変換係数を処理する。
【０１１４】
この点に関して、量子化パラメータは、係数行列の有意係数の数、すなわち非ゼロ値を有する係数行列の係数の数に対応してもよい。
【０１１５】
係数行列は、走査順序選択器109によって決定された順序で走査することにより、シリアライザ104によって直列化される。走査順序は、走査パターンリスト110によって提供されるあらかじめ定義された走査順序から、または走査順序生成器111によって提供される生成された走査順序から選択することができる。走査パターンリスト110によって提供される走査順序は、エンコーダ100側とデコーダ200側の両方であらかじめ定義されており、したがって、走査パターンリスト110から選択された走査順序は静的であり、すなわち、符号化または復号のプロセス全体を通して修正されない。走査順序生成器111によって提供される走査順序は動的であり、すなわち、ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて生成される。具体的には、生成された走査順序は、符号化または復号のプロセス中に係数行列の分布統計データに従って生成されてもよい。
【０１１６】
係数行列からシリアライザ104によって取得された1つまたは複数の係数ベクトルは、量子化係数バッファ105に格納される。コーディングモジュール106は、係数ベクトルをビットストリーム107内にエントロピーコーディングするためのエントロピーコーディングモジュールの形態であってもよい。走査順序選択器109によって選択された走査順序は、走査インデックスまたは走査順序の情報SCAN＿IDXによって識別されてもよい。
【０１１７】
この走査インデックス情報は、ビットストリーム107に明示的に追加されてもよく、すなわち、走査順序情報SCAN＿IDXの値は、専用の変数またはパラメータによってビットストリーム107に格納されてもよい。あるいは、隠蔽モジュール112は、直列化後の係数ベクトル、すなわち係数行列の値内に、走査順序情報SCAN＿IDXを少なくとも部分的に隠蔽するように構成されてもよい。たとえば、隠蔽モジュール112は、それに対応して、量子化係数バッファ105に格納された係数の調整を実行し、その結果、デコーダ200のチェックモジュール212内に位置する対応するチェックモジュールは、それらにチェック関数を適用して走査順序情報SCAN＿IDXを導出することができる。次いで、量子化係数バッファ105に格納された、結果として得られる調整された係数または係数ベクトルは、エントロピー符号化され、ビットストリーム107内でデコーダ200に送信されてもよい。
【０１１８】
次いで、量子化係数バッファ105に格納された1つまたは複数の係数ベクトルの係数は、走査順序情報SCAN＿IDXがビットストリーム107内で明示的に送信されるか暗示的に送信されるかに応じて、すなわち、走査順序情報が隠蔽されるか否かに応じて、調整されるか、または調整されない場合がある。
【０１１９】
具体的には、走査パターンリストモジュール110は、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成される。走査順序生成器111は、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列に応じて、コーディングパラメータセットの各々について走査順序を生成するように構成される。走査順序選択器109は、
そのブロックのコーディングパラメータセットを決定し、
決定されたコーディングパラメータセットについてあらかじめ定義された走査順序および生成された走査順序からそのブロックの係数行列用の走査順序を選択する
ことにより、ブロックごとに走査順序を選択するように構成される。
【０１２０】
この点に関して、コーディングパラメータセットは、
予測モード、
パーティションモード、
1つまたは複数の変換パラメータ、および
1つまたは複数の量子化パラメータ
のうちの少なくとも1つまたは複数の特定の組合せに対応する。
【０１２１】
予測モード、パーティションモード、変換パラメータ、および量子化パラメータは、概して、図1の参照番号108によって参照される。たとえば、コーディングパラメータセットは、予測モード（たとえば、特定の指向性イントラ予測モード）のみ、パーティションモード（たとえば、PUの特定の向き）のみ、1つまたは複数の変換パラメータ（たとえば、TUの特定のサイズおよび／もしくは形状）のみ、または1つまたは複数の量子化パラメータ（たとえば、係数行列の有意係数の特定の数）のみに対応することができる。また、コーディングパラメータセットは、予測モード、パーティションモード、変換パラメータ、および／または量子化パラメータの特定の組合せに対応してもよい。
【０１２２】
エンコーダ100は、コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列の分布統計データを提供するように構成された係数分布推定器113を備えてもよい。走査順序生成器111は、そのコーディングパラメータセットについての分布統計データに応じて、コーディングパラメータセットの各々について走査順序を生成するように構成される。
【０１２３】
具体的には、量子化係数バッファ105に格納された係数はまた、走査順序生成器111によって使用される係数分布統計データ推定用のソースである。しかしながら、係数分布を推定する前に、格納された係数は、デシリアライザ114によって、係数ベクトルから係数行列に逆直列化され戻される。
【０１２４】
係数行列の分布統計データは、好ましくは、米国特許出願第2008／0310504号に定義されているように、2次元係数行列の位置における係数値がゼロまたは非ゼロである可能性の指示を備え、たとえば、2次元係数行列の各係数位置に関連付けられたカウント、確率、または他の統計的メトリックを備えてもよい。そのような分布統計データに応じて生成された走査順序は、それに対応して、非ゼロ係数を有する可能性が高い係数位置をより高い優先度で走査するように構成された走査順序であってもよい。
【０１２５】
具体的には、所与のブロックに対して選択された走査順序が生成された走査順序である場合、係数分布推定器113は、所与の係数行列の分布統計データに従って、所与のブロックのコーディングパラメータセット用の分布統計データを更新するように構成されてもよい。所与のブロックの係数行列の分布統計データは、所与のブロックの係数行列内の位置にある係数がゼロまたは非ゼロであるか否かを反映することができる。次いで、係数分布推定器113によって提供される分布統計データは、たとえば、所与のブロックの係数行列の前記分布統計データに応じて更新されてもよい。
【０１２６】
具体的には、所与の係数行列に対して選択された走査順序があらかじめ定義されている場合、係数分布推定器113は、所与のブロックのコーディングパラメータセット用の分布時計データを更新しないように構成されてもよいし、リセットするように構成されてもよい。分布統計データをリセットすることは、たとえば、前記カウント、確率、または他の統計的メトリックをリセットすることにあってもよい。
【０１２７】
走査順序選択器109が生成された走査順序を選択したか、あらかじめ定義された走査順序を選択したかに応じて、係数分布推定器113によって実行される分布統計データのこの更新、非更新、またはリセットは、図1において、走査順序選択器109から係数分布推定器113への破線矢印によって反映される。
【０１２８】
提案された実施形態のデコーダが図14に示されている。処理段階は、エンコーダの段階（図13参照）と同様であり、逆の順序で適用される。最も重要な相違点は、量子化係数バッファが、それらが逆直列化された後、すなわちQTC行列としてQTCを格納するが、1つまたは複数のベクトルとしてQTCを格納しないことである。
【０１２９】
具体的には、図2は、コンテンツ適応走査順序選択を有する残差復号部の一例を示す。この例では、デコーダ200は、ビットストリーム207から残差信号201を取得するように構成される。復号モジュール206（たとえば、エントロピー復号モジュール）およびデシリアライザ204により、量子化変換係数を備える係数行列を生成した後、量子化係数バッファ205は前記係数行列を格納する。次いで、格納された係数行列は、エンコーダ100における残差信号101に対応する残差信号201を取得するために、逆量子化モジュール203および逆変換モジュール202によって処理される。残差信号201を使用して、符号化ビデオシーケンスは既知の技法に従って復元されてもよい。
【０１３０】
デコーダ200の係数分布推定器213は、エンコーダ100の係数分布推定器113と機能的に同等または同一であってもよい。この例では、それらは、係数分布推定器213が量子化係数バッファ205に格納された係数行列を入力として受け取るが、係数分布推定器113がデシリアライザ114から取得された係数行列を入力として受け取るという点で異なる。
【０１３１】
本発明は、ビデオシーケンスのブロックの以前走査され、それぞれ取得された係数行列に応じて、エンコーダ100側とデコーダ200側の両方であらかじめ定義された走査順序および生成された走査順序を組み合わせて使用することを提案する。具体的には、生成された走査順序は、係数行列内の係数の分布統計データを分析することにより、すなわち、量子化変換係数の分布を分析することによって生成される。
【０１３２】
提案された発明の特別な特徴は、たとえば、図1および図2において、走査順序選択器109、209と係数分布推定器113、213との間の矢印によって示されたように、選択された走査順序を考慮に入れることにより、量子化変換係数（QTC）用の分布統計データがより正確に推定されることである。このより正確な推定は、たとえば、上記に示された分布統計データを更新、非更新、またはリセットすることにあってもよい。
【０１３３】
ソースデータを4つの定常期間に分割し、これらの定常期間内でのみ係数分布を推定することにより、係数分布をより正確に推定することができる。定常期間は、同様のQTC分布を有し、互いに空間的に近接するいくつかのブロックである。
【０１３４】
本発明では、具体的に、適応的に生成された走査順序を有するようにシグナリングされた処理ブロックの数にしきい値を導入することにより、定常期間を検出することが提案される。走査順序が走査パターンリストモジュールによって提供されるあらかじめ定義された走査順序から選択された場合、このケースでは、走査順序があらかじめ定義された走査順序であるという事実が、現在処理されているブロックが異なる定常期間に属することを示すので、分布統計データを更新する必要はない。
【０１３５】
図3は、本発明の一実施形態による、ビデオデコーダにおける分布統計データの推定のフローチャートを示す。
【０１３６】
ビデオデコーダにおいて、係数分布推定器213による分布統計データの推定301は、いくつかのステップを備える。
【０１３７】
ステップ302において、ブロック用の予測モード、パーティションモード、変換パラメータ、および／または量子化パラメータ208が、ビットストリーム207から構文解析される。好ましくは、この構文解析は復号モジュール206によって実行される。構文解析された情報に従って、走査順序選択器209は、好ましくは、そのブロックの符号化モードを特定する。
【０１３８】
ステップ303において、そのブロックに対して選択された走査順序を識別する走査順序情報SCAN＿IDXが、ビットストリーム207から構文解析される。この構文解析は、好ましくは、復号モジュール206によって行われる。
【０１３９】
ステップ304において、走査順序選択器209は、構文解析された走査順序情報SCAN＿IDXに基づいて、あらかじめ定義された走査順序および生成された走査順序からそのブロック用の走査順序を選択する。
【０１４０】
ステップ305において、選択された走査順序が、走査パターンリストモジュール210によって提供されるあらかじめ定義された走査順序であるか、走査順序生成器211によって提供される生成された走査順序であるかが判定される。
【０１４１】
そのブロックに対して選択された走査順序が（たとえば、走査順序生成器211によって提供される）生成された走査順序である場合、係数分布推定器213は、ステップ306において、現在の分布統計データを更新する。この現在の分布統計データは、好ましくは前のブロックから取得される。現在の分布統計データは、そのブロックについて取得された係数行列の分布統計データに従って更新される。
【０１４２】
しかしながら、そのブロックに対して選択された走査順序が（たとえば、走査パターンリストモジュール210によって提供される）あらかじめ定義された走査順序である場合、係数分布推定器213は、ステップ306において、そのブロックの分布統計データを現在の分布統計データとは別個に処理する。たとえば、係数分布推定器213は、現在の分布統計データを更新しなくてもよいし、リセットしてもよい。
【０１４３】
ステップ306または307の後、分布統計データの推定301が（ステップ308において）終了する。
【０１４４】
図4は、本発明の一実施形態による、ビデオエンコーダにおける分布統計データの推定のフローチャートを示す。
【０１４５】
ビデオエンコーダにおいて、係数分布推定器113による分布統計データの推定401は、いくつかのステップを備える。
【０１４６】
ステップ402において、走査パターンリストモジュール110によって提供されるあらかじめ定義された走査順序、および走査順序生成器111によって提供される生成された走査順序の中から、最小のレート歪み（RD）コストを提供する走査順序を選択するために、走査順序選択器109によってRDO手順が実行される。このステップでは、選択された走査順序の走査順序情報SCAN＿IDXが取得される。
【０１４７】
ステップ403において、選択された走査順序情報SCAN＿IDXに対応する走査順序が取得される。
【０１４８】
さらなるステップ404〜407は、図3のステップ305〜308に対応する。
【０１４９】
図3および図4に示されたように、エンコーダ側およびデコーダ側の両方において、走査順序リストが初期化される。走査順序リストは、走査パターンリストモジュールのメンバ、および走査順序生成器によって生成された走査順序を含む。走査順序選択器によって選択された走査順序が生成されたか、あらかじめ定義されているかに応じて、分布統計データに対する判断が行われる。この判断は、現在の分布統計データを更新することにあるか、または現在の分布統計データをリセットすることにあってもよい。
【０１５０】
走査順序リストを初期化する可能な方法の1つが図5に示されている。図5は、本発明の一実施形態による、走査順序リストの初期化501のフローチャート500を示す。
【０１５１】
その初期化は、処理されているブロックに対して指定された予測モード、区分化モード、変換パラメータ、および量子化パラメータに依存する。
【０１５２】
ステップ502において、そのブロックの予測モードが平面イントラ予測モードであるかどうかが判定される。これが真である場合、あらかじめ定義されたZ字形順序および対角走査順序を備えるように、あらかじめ定義された走査順序の走査パターンリストが508で定義される。これが偽である場合、ステップ503が実行される。
【０１５３】
ステップ503において、そのブロックの予測モードがDCイントラ予測モードであるかどうかが判定される。これが真である場合、あらかじめ定義されたZ字形順序および対角走査順序を備えるように、あらかじめ定義された走査順序の走査パターンリストが508で定義される。これが偽である場合、ステップ504が実行される。
【０１５４】
ステップ504において、そのブロックの予測モードが水平に近い角度のイントラ予測モードであるかどうかが判定される。これが真である場合、垂直、垂直対角、およびらせんの走査順序を備えるように、あらかじめ定義された走査順序の走査パターンリストが509で定義される。これが偽である場合、ステップ505が実行される。
【０１５５】
ステップ505において、そのブロックの予測モードが垂直に近い角度のイントラ予測モードであるかどうかが判定される。これが真である場合、水平、水平対角、およびらせんの走査順序を備えるように、あらかじめ定義された走査順序の走査パターンリストが510で定義される。これが偽である場合、ステップ506が実行される。
【０１５６】
ステップ506において、そのブロックの予測モードが対角に近い角度のイントラ予測モードであるかどうかが判定される。これが真である場合、対角、Z字形順序、およびらせんの走査順序を備えるように、あらかじめ定義された走査順序の走査パターンリストが511で定義される。これが偽である場合、ステップ507が実行される。ステップ507において、対角走査順序を備えるように、あらかじめ定義された走査順序の走査パターンリストが定義される。
【０１５７】
そのブロック用のあらかじめ定義された走査順序の走査順序リストを定義した後、走査順序リストは、そのブロックの区分化モード、変換パラメータ、および量子化パラメータを使用して512で調整される。
【０１５８】
ステップ513において、走査順序生成器によって提供される1つまたは複数の生成された走査順序があらかじめ定義された走査順序に追加されるので、たとえば、エンコーダの走査順序選択器109は、あらかじめ定義された走査順序および生成された走査順序の中から、最小のRDコストを提供する走査順序を選択することができる。
【０１５９】
図5に示されたように、あらかじめ定義された走査順序は、予測モードおよび／または区分化モードおよび／または変換パラメータおよび／または量子化パラメータに依存する場合がある。たとえば、DCまたは平面のイントラモードの場合に最も可能性が高い走査順序は、Z字形順序および対角走査順序である。角度モードの場合、あらかじめ定義された走査順序がイントラモードの指向性に直交するように選択され得るように、残差信号の指向性が考慮に入れられてもよい。
【０１６０】
その後、あらかじめ定義された走査順序のこのリストは、区分化モード、変換パラメータ、および量子化パラメータなどの他の符号化パラメータに従って更新されてもよい。具体的には、このリストは、区分化および変換のサイズに従って更新されてもよい。
【０１６１】
たとえば、インター予測モードでは、非平方予測モードは、残差信号の指向性も示すことができ、あらかじめ定義された走査順序のリストがそれに応じて更新されてもよく、区分化矩形が垂直面指向である場合、水平および水平対角の走査順序が走査リストに追加される。あらかじめ定義された走査順序のリストが水平方向の区分化に応じて更新され、そのような場合、垂直および垂直対角の走査があらかじめ定義された走査順序のリストに追加される。
【０１６２】
たとえば、あらかじめ定義された走査順序のこのリストは、変換サイズに従って更新されてもよい。TUのサイズが小さくなると、いくつかの走査パターンに制約がもたらされる。次いで、たとえば、TUサイズが8×8のピクセルよりも小さい場合、あらかじめ定義された走査順序リストかららせん走査が除外されてもよい。
【０１６３】
量子化パラメータ（QP）は、あらかじめ定義された走査順序のリストとシグナリング方法の両方に影響を及ぼす場合がある。高いQP値の場合、走査パターンの数が削減される場合がある。たとえば、らせん走査は、QTCがQTC行列の左、上、および左上隅により多く整列されるので、すべてのTUサイズに対してスキップされてもよい。
【０１６４】
シグナリング方式のQPに対する依存性の一例が図6に示されている。図6は、本発明の一実施形態による、選択された走査順序の暗示的なシグナリングおよび明示的なシグナリングのフローチャート600を示す。
【０１６５】
第1のステップ601において、QP値が取得される。602でそのQP値が高ビットレート用のQP値QPHBRよりも小さいかまたは等しい場合、走査順序情報SCAN＿IDXは、603でビットストリーム内でエントロピー符号化されるべきである。
【０１６６】
QP値が値QPHBRを上回り、低ビットレート用のさらなるQP値QPLBRを下回る場合、走査順序情報SCAN＿IDXは、606で部分的にエントロピー符号化され、隠蔽モジュール112によって量子化変換係数内に部分的に隠蔽されるべきである。
【０１６７】
QP値が値QPHBRを上回り、低ビットレート用のさらなるQP値QPLBRを上回るか等しい場合、走査順序情報SCAN＿IDXは、605で隠蔽モジュール112によって量子化変換係数内に隠蔽されるべきである。
【０１６８】
それに応じて、隠蔽はビットレートの増加に伴ってよりコストがかかり、高ビットレートに対しては完全にオフにされる。反対に低ビットレートの場合、隠蔽がより好ましくなる。それ以外の場合、すなわち中間ビットレートの場合、両方のシグナリング機構が使用されている。シグナリング機構の選択は、隠蔽がそれに対して実行され得るかどうかに応じて、ブロックまたはTUごとに実行される。
【０１６９】
本発明によれば、ビットストリーム207からビデオシーケンスのブロックの係数を復号するためのデコーダ200が提案される。デコーダは、
ビットストリーム207から各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュール206と、
少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するように構成されたチェックモジュール212であって、隠蔽情報が、そのブロックに関連付けられた走査順序情報SCAN＿IDXの一部を構成または形成する、チェックモジュール212と、
そのブロックに関連付けられた走査順序情報SCAN＿IDXに基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器209と、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザ204と
を備える。
【０１７０】
本発明によれば、ビデオシーケンスのブロックの係数をビットストリーム107内に符号化するための対応するエンコーダ100が提案され、各ブロックの係数はそれぞれの係数行列に含まれる。エンコーダは、
走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器109と、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された走査順序に従って、そのブロックの係数行列を走査するように構成されたシリアライザ104と、
少なくとも1つのブロックについて、少なくとも部分的にそのブロックの1つまたは複数の係数内に、そのブロックに対して選択された走査順序を識別する走査順序情報SCAN＿IDXを隠蔽するように構成された隠蔽モジュール112と、
係数ベクトルをビットストリーム107内にコード化するように構成されたコーディングモジュール106と
を備える。
【０１７１】
次いで、エンコーダによって生成され、デコーダによって受信されるビットストリーム107、207におけるシグナリングオーバーヘッドが低減され得るので、コーディング効率が向上してもよい。
【０１７２】
好ましくは、チェックモジュール212は、少なくとも1つのブロックについて、そのブロックについて取得された1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから隠蔽情報を復元するように構成される。また、隠蔽モジュール112は、少なくとも1つのブロックについて、そのブロックについて取得された1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトル内の走査順序情報SCAN＿IDXを隠蔽するように構成される。
【０１７３】
復元および隠蔽は、隠蔽条件に依存する場合がある。そのような隠蔽条件は、隠蔽係数ベクトルに依存するパラメータのしきい値との比較を備える。
【０１７４】
パラメータは、
隠蔽係数ベクトル内の有意、すなわち非ゼロの係数の数、または
隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
隠蔽係数ベクトル内の係数の最小絶対非ゼロ値に対する最大絶対値の比
であってもよく、
隠蔽条件は、パラメータがしきい値を上回る場合は真であり、パラメータがしきい値を下回る場合は偽である。
【０１７５】
図7および図8は、本発明の一実施形態による隠蔽条件を示す。具体的には、図7は、係数グループ（CG）に細分割されたブロックまたはTUを示し、各係数ベクトルは係数グループに対応する。図8は、パラメータが係数ベクトル内の最初と最後の有意、すなわち非ゼロの係数間の距離Nにある場合を示す係数ベクトルの一例を示す。値Nがしきい値TSIGを上回る場合、隠蔽条件は真であり、走査順序情報はその係数ベクトル内に隠蔽されてもよい。
【０１７６】
具体的には、チェックモジュール212は、隠蔽係数ベクトルにチェック関数を適用することにより、隠蔽係数ベクトルから隠蔽情報を復元するように構成されてもよく、チェック関数の結果は隠蔽情報である。また、隠蔽モジュール112は、少なくとも1つのブロックについて、
チェック関数の結果を取得するために隠蔽係数ベクトルにチェック関数を適用し、
チェック関数の結果が走査順序情報SCAN＿IDXに対応するかどうかを判定し、
そうでない場合、チェック関数の結果が走査順序情報SCAN＿IDXに対応するように隠蔽係数ベクトルを修正する
ことにより、隠蔽係数ベクトル内の走査順序情報SCAN＿IDXを隠蔽するように構成される。
【０１７７】
チェック関数の結果が、隠蔽係数ベクトルの最後の有意係数の、係数行列内の座標（x，y）に依存することが提案される。チェック関数は、たとえば、以下の関数：
mod（x＋y＋R，2）
であってもよく、xおよびyは座標であり、Rは整数値である。
【０１７８】
たとえば、チェック関数はまた、以下の関数または他の既知のチェック関数：
バイナリパターンを使用して係数行列から選択されたある係数の最下位ビットに適用されるパリティチェック関数、および
最後または最初の非ゼロ係数の位置インデックスまたは最後および最初の非ゼロ係数の位置インデックスの線形結合に適用されるパリティチェック関数
のうちの1つであってもよい。
【０１７９】
この点に関して、図9は、従来技術による、具体的には、H．265ビデオコーディング規格による、係数のエントロピー復号901を示す。エントロピー復号901は、最後の有意、すなわち非ゼロのQTCのX座標およびY座標を復号すること902を備える。次いで、QTCの有意値のマスク（有意マスク）が、最後の有意QTCから始まる走査順序に従って903で通知される。値および符号は、有意係数値についてのみビットストリームから904、905で構文解析される。
【０１８０】
したがって、1D有意マスクの長さは、走査順序および最後の有意QTCの座標から導出することができる。走査順序情報を使用してQTCがビットストリームから構文解析されるので、明らかに、走査順序指示データをQTCに埋め込むために既知のデータ隠蔽方法を適用するだけでは不十分である。
【０１８１】
図10は、本発明の一実施形態、具体的には、エンコーダによって生成され、デコーダによって受信されたビットストリーム107、207内のシグナリングオーバーヘッドを低減することによってコーディング効率を向上させるための一実施形態を示す。
【０１８２】
図10の実装形態では、QTC内での走査順序の隠蔽が可能である。符号化プロセスの間、SCAN＿IDXによってインデックス付けされたいくつかの異なる走査順序が、量子化1001および隠蔽1002の段階中に適用される。量子化手順1001は、ビットの数（すなわち、ビットレート）を推定してQTC値を符号化するために、かつ推定ビットレートに対してこれらのQTC値を調整することによってレート歪み最適化を実行するために走査情報を使用することができる。
【０１８３】
1003で隠蔽が成功しなかった場合、たとえば、隠蔽条件が偽である場合、別の走査順序SCAN＿IDXが1004で選択される。好ましくは、隠蔽が成功するまで別の走査順序が選択される。選択された走査がデフォルトの走査順序である場合、たとえば、隠蔽は実行されない。
【０１８４】
隠蔽が成功した、または選択された走査順序がデフォルトのオンである場合、デフォルトの走査順序に従ってQTCを1005で並べ替えることが可能である。次のステップは、QTCを直列化すること1006およびエントロピー符号化すること1007を備える。前記ステップ1006および1007は、図1のブロック104および106に対応してもよい。直列化1006は、図1の場合と同様に、1001と1002との間に挿入することもできる。
【０１８５】
隠蔽1002は、隠蔽条件をチェックすること、および隠蔽条件が満たされるようにQTCを修正することも備える。この修正には、QTC値を変更すること、QTC値をゼロに設定すること、および有意でない（ゼロ値の）QTCを有意QTC（非ゼロ）にすることが含まれてもよい。明らかに、隠蔽条件が満たされるようにQTCを調整することは常に可能である。しかしながら、エンコーダ側におけるQTC調整は、これらの調整によって被る歪みによって制約され、妥当な調整制約が適用される。たとえば、量子化手順のせいで、妥当な係数調整はプラスマイナス1である。この制約により、隠蔽動作が実行されなくてもよいことが可能になる、すなわち、隠蔽条件を満たすQTCの可能な調整が存在しなかった（1003は、デフォルトでない走査の場合「いいえ」と評価する）。
【０１８６】
デコーダ側において、エントロピー復号1011の後、直列化されたデータから隠蔽情報が1012で取り出され、したがって、隠蔽段階はまた、選択された走査順序に対してそれを埋め込むことができるように、デコーダ側において使用される走査順序に関する情報を必要とする。データ隠蔽手順は、それが、たとえば符号ビット隠蔽のために行われるように、量子化と一緒に実行することもできる。しかしながら、隠蔽条件が満たされていないので、一部のQTCに対して隠蔽が失敗する可能性がある。たとえば、TUは、しきい値よりも低いいくつかの有意QTCを有する。この場合、さらなる処理は、走査順序がデフォルトの走査順序であるかどうかに依存する。デフォルトの走査が使用された場合、デコーダは、エントロピー復号段階中に構文解析されたQTCに同じ隠蔽条件を適用することにより、1015でそれを導出することができる。そうでない場合、走査順序はスキップされ、可能な場合次の走査順序がチェックされる。
【０１８７】
デフォルトの走査順序が有効な場合、ソース走査とターゲット走査が同じ走査なので、QTC段階の並べ替えをスキップすることができる。デフォルトでない走査順序の場合、エントロピー符号化段階およびエントロピー復号段階を変更なしに実行することができるように、係数の並べ替えを実行することが提案される。特定の実装形態は、並べ替えのための、すなわち、選択された走査内の2DのQTC行列と1Dの位置の座標間の一致を再定義することによる不必要なコピー動作を回避するために、再マッピング動作を使用することができる。直列化／逆直列化段階において、この再マッピングは、あたかもQTCが並べ替えられたかのように、所与の1D走査位置用のCABACコンテキストインデックスおよび最後の有意QTC座標を提供することができる。
【０１８８】
図11は、本発明による係数並べ替えを示し、具体的には、4×4のブロックに対するQTC並べ替えの一例：対角走査から水平走査への並べ替えを示す。
【０１８９】
この点に関して、Joel Soleらによる文献「HEVCにおける変換係数コーディング」、ビデオ技法用の回路およびシステムに関するIEEE議事録、第22巻、第12号、2012年12月、ページ1765〜1777を参照されたい。この文献の第V．B節では、有意性フラグが（除外される）走査順序における最後の係数とDC係数との間の係数ごとにコンテキストモデルを使用してコーディングされることが述べられている。4×4の変換ブロックTB、すなわちQTCの行列の場合、コンテキストは、H．264／AVCにおけるように、TB内の係数の位置に依存する。エントロピー符号化が直列化されバイナリ化されたデータに対して実行されるという事実にかかわらず、QTCの有意性ビットを符号化するためのコンテキストモデルは、QTCの行列内のこのQTCの位置、および空間的に隣接するQTC（右および下）の有意性に応じて選択される。最先端のデコーダは、このビットが構文解析されているQTCの位置および以前に復号された有意QTCの位置に従って選択されたコンテキストモデルを使用して、ビットストリームからの有意性ビットを構文解析する。走査順序がデコーダに利用できない場合、QTCの空間位置は未定義であり、したがってコンテキストモデルを導出することはできない。
【０１９０】
提案された並べ替え段階は、たとえば図11に示されたように、エントロピーエンコーダの前に、エンコーダおよびデコーダが、符号化／復号されたQTCに対して同じ走査順序および同じコンテキストモデルを使用することを保証する。
【０１９１】
図11は、具体的に、量子化の後に、（x＝1，y＝2）に位置する（対角線走査の場合の）最後の有意係数を有するQTCの行列が取得された（その左下部分）ケースを記載する。対角走査の場合、8個の係数の有意性ビットが符号化されるべきである。
【０１９２】
（たとえば、選択器109によって）別の走査順序、たとえば対角走査の代わりに水平走査を選択するために、QTCビットの最初の2行プラス3行目の2つのQTCビット（合計10個のQTC）を符号化することが有益であり得る。しかしながら、（図11の上部に示されたように）これらの係数が対角走査から水平走査に並べ替えられる場合、最後の同じ8個のQTCビットの位置が符号化されるべきである。
【０１９３】
エントロピーコーディングモジュール106の場合、2つの走査が利用可能である：
ビットストリームを構文解析するためにエントロピー復号モジュール206によって使用されるデフォルトの走査
走査順序選択器109によって選択された走査。
【０１９４】
エントロピーコーディングモジュールがQTCの位置に従ってコンテキストモデルを選択するとき、走査順序選択器109によって定義されたX、Yのみを使用するだけでなく、それが並べ替えられた後にQTCの対応する位置についてX、Yを再計算する。
【０１９５】
たとえば、図11の例では、走査順序選択器109が対角走査を選択し、デフォルト走査が水平走査であるケースを検討することが提案されている。エントロピーコーディングモジュール106は、並べ替えられた位置（x＝0，y＝2）（水平走査の場合も「E」としてマークされている）のコンテキストモジュールを使用して位置（x＝1，y＝1）（対角走査の場合「E」としてマークされている）に置かれた係数を符号化し、ならびに隣接する係数は、「I」および「H」ではなく、「F」および「I」として定義される。
【０１９６】
この並べ替え動作は、選択された走査からデフォルトの走査へのX座標およびY座標の再マッピングとして実施することができ、すなわち、この並べ替えを実施するために、QTC用のメモリコピー／スワップ動作を実行する必要はなく、（選択された走査、デフォルトの走査）ペアの各々のためのx座標およびy座標用の参照テーブルを提供することだけが必要である。
【０１９７】
データ隠蔽は、既知の方法を使用して走査順序をQTCに埋め込むことができる。しかしながら、走査順序を隠蔽する本ケースでは、走査順序が、最後の有意QTC値の座標（x，y）に適用される条件、たとえば、
mod（x＋y＋R，2）＝scan＿id      （C1）
によって指定され得る可能性がさらにある。
【０１９８】
この場合、エンコーダは、デコーダによって使用されるべき走査を示すために、最後の有意QTCの位置を修正することができる。記載された隠蔽方法に対する隠蔽条件は、走査順序のために指定された一組の座標である。この点に関して、図12は、走査順序に対して定義された隠蔽条件の一例を示す。
【０１９９】
図12では、「X」印は、条件（C1）を使用してチェックされる位置を示す。この手法をQTC値内のデータ隠蔽と組み合わせることも可能である。たとえば、最後の有意QTC位置から取り出された値は、QTC値内に隠蔽するための隠蔽条件の一部として使用されてもよい。
【０２００】
ホスト信号およびターゲット信号が普遍的な分布を有する場合、隠蔽はより効率的であることが知られている。本発明の別の実施形態は、（C1）の分布を無作為化によってより普遍的なものに近くする可能性である。具体的には、ランダムノイズRのさらなるソースを追加することができる。
mod（x＋y＋R，2）＝scan＿id
【０２０１】
Rの値は、選択された走査順序とは可能な限り無関係でなければならない。たとえば、それは、隣接TUの数、基準サンプル値の合計のパリティ値、または符号化ビットの総数であってもよい。
【０２０２】
したがって、本発明は、エントロピー復号中に、シグナリングオーバーヘッドを低減し、QTCの逆直列化の前に走査順序を導出することを提案する。（イントラ予測モード、フィルタリングフラグなどの）TU関連データを隠蔽するとき、隠蔽されている情報は、逆直列化段階および逆量子化段階の後に利用される。本発明は、したがって、これらの係数が逆直列化される前にQTC内に隠蔽されたデータを使用する可能性を提案する。
【０２０３】
本発明は、たとえば、動画コーディングに使用される予測プロセスおよび変換プロセスの後に取得される残差に適用可能な量子化手順を記載する。本発明の目的は、TUレベルで異なるコーディング特徴（たとえば、イントラ予測モード、ブロックサイズ、区分化モード）を使用して選択された利用可能な走査順序のセットを拡張することにより、量子化のレート歪み効率を改善することである。本発明の特定の実装形態は、モード依存およびRDOベースの走査選択の機構を同時に使用する技法として提示される。
【０２０４】
本発明は、走査順序のRDOベースの選択に関連する問題を解決する。具体的には、それは、以前に符号化または復号されたブロックの収集された統計データに基づく適応走査順序が、既知のあらかじめ定義された走査パターンと比べてより良いコーディング効率を常に提供するとは限らないという問題を解決する。そのため、コンテンツ適応生成された走査順序およびあらかじめ定義された走査パターンの中の1つの走査だけを選択するためのRDOベースの手順が解決策として提案される。
【０２０５】
具体的には、本発明は、あらかじめ定義された走査パターンと適応的に生成された走査順序の両方が利用可能であるという点で、走査順序選択のコーディング効率を高める上記の問題を解決する。
【０２０６】
本発明は、そのマルチメディアコーディング実施形態において、次世代のビデオコーディング規格のための基礎であるジョイントエクスポレーションモデル（JEM）と互換性があるハイブリッドビデオコーディングフレームワークにおける多くの潜在的なアプリケーションにおいて使用できるという利点をさらに提供する。さらなる利点は、JEM1と比較してBDレート（ビンテガードデルタレート）および主観的な品質改善が減少したことである。さらなる利点は、拡張多重変換（EMT）としても知られている計算上複雑な適応多重変換（AMT）が、より簡単な適応走査順序選択手順に置き換えられることであってもよい。
【０２０７】
本発明の一態様は、あらかじめ定義された走査パターンまたは走査順序の適応的に生成された走査順序との組合せである。その上、走査順序選択手順用のシグナリング機構を追加することにより、そのコーディング効率を高めるための適応走査順序を生成するプロセスを大幅に改善することが可能になる。
【０２０８】
本発明は、例ならびに実装形態としての様々な実施形態とともに記載されてきた。しかしながら、図面、本開示、および独立請求項の研究から、特許請求された発明を実践する当業者により、他の変形形態を理解し、実施することができる。特許請求の範囲および明細書において、「備える」という単語は、他の要素またはステップを排除せず、不定冠詞「a」または「an」は複数を排除しない。単一の要素または他のユニットは、特許請求の範囲に列挙されたいくつかの実体または項目の機能を実現することができる。特定の手段が相互に異なる従属請求項に列挙されているという単なる事実は、これらの手段の組合せが有利な実装形態に使用できないことを示すものではない。
【符号の説明】
【０２０９】
100  エンコーダ
101  残差信号
102  変換モジュール
103  量子化モジュール
104  シリアライザ
105  量子化係数バッファ
106  コーディングモジュール、エントロピーコーディングモジュール
107  ビットストリーム
108  予測モード、パーティションモード、変換パラメータ、および量子化パラメータ
109  走査順序選択器
110  走査パターンリストモジュール、走査パターンリスト
111  走査順序生成器
112  隠蔽モジュール
113  係数分布推定器
114  デシリアライザ
200  デコーダ
201  残差信号
202  逆変換モジュール
203  逆量子化モジュール
204  デシリアライザ
205  量子化係数バッファ
206  復号モジュール、エントロピー復号モジュール
207  ビットストリーム
208  予測モード、パーティションモード、変換パラメータ、および量子化パラメータ
209  走査順序選択器
210  走査パターンリストモジュール
211  走査順序生成器
212  チェックモジュール
213  係数分布推定器
301  分布統計データの推定
401  分布統計データの推定
500  フローチャート
501  走査順序リストの初期化
600  フローチャート
901  エントロピー復号
1001  量子化、量子化手順
1002  隠蔽
1006  直列化
1011  エントロピー復号
【図１】
2019505141.tif 000003
【図２】
2019505141.tif 000004
【図３】
2019505141.tif 000005
【図４】
2019505141.tif 000006
【図５】
2019505141.tif 000007
【図６】
2019505141.tif 000008
【図７】
2019505141.tif 000009
【図８】
2019505141.tif 000010
【図９】
2019505141.tif 000011
【図１０】
2019505141.tif 000012
【図１１】
2019505141.tif 000013
【図１２】
2019505141.tif 000014
【手続補正書】
【提出日】平成30年9月21日(2018.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビットストリームからビデオシーケンスのブロックの係数を復号するためのデコーダであって、
前記デコーダが、
1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュールと、
1つまたは複数の走査順序を生成するように構成された走査順序生成器と、
前記ビットストリームに含まれる走査順序情報に基づいて、前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器と、
前記ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュールと、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザと
を備え、
前記走査順序生成器が、前記ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、前記1つまたは複数の走査順序を生成するように構成される、
デコーダ。
【請求項２】
前記走査パターンリストモジュールが、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成され、
前記走査順序生成器が、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に取得された係数行列に応じて、前記コーディングパラメータセットの各々について走査順序を生成するように構成され、
前記走査順序選択器が、
そのブロックのコーディングパラメータセットを決定すること、および
前記決定されたコーディングパラメータセットについて前記あらかじめ定義された走査順序および生成された走査順序から、そのブロックについて取得された前記係数行列用の前記走査順序を選択すること
により、ブロックごとに走査順序を選択するように構成される、
請求項1に記載のデコーダ。
【請求項３】
前記デコーダが、
前記コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に取得された係数行列の分布統計データを提供するように構成された係数分布推定器
を備え、
前記走査順序生成器が、そのコーディングパラメータセットについての前記分布統計データに応じて、前記コーディングパラメータセットの各々について前記走査順序を生成するように構成される、
請求項2に記載のデコーダ。
【請求項４】
所与のブロックに対して選択された前記走査順序があらかじめ定義されている場合、前記係数分布推定器が、前記所与のブロックの前記コーディングパラメータセット用の前記分布統計データを更新しないように構成されるか、またはリセットするように構成される、
請求項3に記載のデコーダ。
【請求項５】
前記復号モジュールが、ブロックごとに、前記ビットストリームからコーディングパラメータ情報を構文解析するように構成され、
前記走査順序選択器が、その所与のブロックについて前記構文解析されたコーディングパラメータ情報に従って、所与のブロックの前記コーディングパラメータセットを決定するように構成される、
請求項2から4のいずれか一項に記載のデコーダ。
【請求項６】
前記復号モジュールが、前記ビットストリームから前記選択された走査順序を識別する前記走査順序情報を構文解析するように構成される、
請求項1から5のいずれか一項に記載のデコーダ。
【請求項７】
ビットストリームからビデオシーケンスのブロックの係数を復号するための方法であって、
前記方法が、
1つまたは複数のあらかじめ定義された走査順序を提供するステップと、
1つまたは複数の走査順序を生成するステップと、
前記ビットストリームに含まれる走査順序情報に基づいて、前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するステップと、
前記ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するステップと、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するステップと
を備え、
1つまたは複数の走査順序を生成するステップが、前記ビデオシーケンスのブロックの1つまたは複数の以前に取得された係数行列に応じて、前記1つまたは複数の走査順序を生成するステップを備える、
方法。
【請求項８】
ビデオシーケンスのブロックの係数をビットストリーム内に符号化するためのエンコーダであって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記エンコーダが、
1つまたは複数のあらかじめ定義された走査順序を提供するように構成された走査パターンリストモジュールと、
1つまたは複数の走査順序を生成するように構成された走査順序生成器と、
前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するように構成された走査順序選択器と、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数行列を走査するように構成されたシリアライザと、
前記係数ベクトルを前記ビットストリーム内にコード化するように構成されたコーディングモジュールと
を備え、
前記走査順序生成器が、前記ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、前記1つまたは複数の走査順序を生成するように構成される、
エンコーダ。
【請求項９】
前記走査パターンリストモジュールが、複数のコーディングパラメータセットの各々に1つまたは複数のあらかじめ定義された走査順序を提供するように構成され、
前記走査順序生成器が、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列に応じて、前記コーディングパラメータセットの各々について走査順序を生成するように構成され、
前記走査順序選択器が、
そのブロックのコーディングパラメータセットを決定すること、および
前記決定されたコーディングパラメータセットについて前記あらかじめ定義された走査順序および生成された走査順序から、そのブロックの前記係数行列用の前記走査順序を選択すること
により、ブロックごとに走査順序を選択するように構成される、
請求項8に記載のエンコーダ。
【請求項１０】
前記エンコーダが、
前記コーディングパラメータセットの各々について、そのコーディングパラメータセットに関連付けられた1つまたは複数の以前に走査された係数行列の分布統計データを提供するように構成された係数分布推定器
を備え、
前記走査順序生成器が、そのコーディングパラメータセットについての前記分布統計データに応じて、前記コーディングパラメータセットの各々について前記走査順序を生成するように構成される、
請求項9に記載のエンコーダ。
【請求項１１】
所与の係数行列に対して選択された前記走査順序があらかじめ定義されている場合、前記係数分布推定器が、前記所与のブロックの前記コーディングパラメータセット用の前記分布統計データを更新しないように構成されるか、またはリセットするように構成される、
請求項10に記載のエンコーダ。
【請求項１２】
前記選択された走査順序を識別する走査順序情報を前記ビットストリームに追加するように構成されたシグナリングモジュールを備える、
請求項8から11のいずれか一項に記載のエンコーダ。
【請求項１３】
前記走査順序選択器が、コスト関数に基づいて前記あらかじめ定義された走査順序および生成された走査順序から前記走査順序を選択するように構成される、
請求項8から12のいずれか一項に記載のエンコーダ。
【請求項１４】
ビデオシーケンスのブロックの係数をビットストリーム内に符号化するための方法であって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記方法が、
1つまたは複数のあらかじめ定義された走査順序を提供するステップと、
1つまたは複数の走査順序を生成するステップと、
前記あらかじめ定義された走査順序および生成された走査順序からブロックごとに走査順序を選択するステップと、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数を走査するステップと、
前記係数ベクトルを前記ビットストリーム内にコード化するステップと
を備え、
1つまたは複数の走査順序を生成するステップが、前記ビデオシーケンスのブロックの1つまたは複数の以前に走査された係数行列に応じて、前記1つまたは複数の走査順序を生成するステップを備える、
方法。
【請求項１５】
ビットストリームからビデオシーケンスのブロックの係数を復号するための、好ましくは請求項1から6のいずれか一項に記載のデコーダであって、
前記デコーダが、
前記ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するように構成された復号モジュールと、
少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するように構成されたチェックモジュールであって、前記隠蔽情報が、そのブロックに関連付けられた走査順序情報の一部を構成または形成する、チェックモジュールと、
そのブロックに関連付けられた前記走査順序情報に基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器と、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するように構成されたデシリアライザと
を備える、デコーダ。
【請求項１６】
前記チェックモジュールが、少なくとも1つのブロックについて、そのブロックについて取得された前記1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから前記隠蔽情報を復元するように構成される、
請求項15に記載のデコーダ。
【請求項１７】
前記チェックモジュールが、少なくとも1つのブロックについて、隠蔽条件に応じて前記隠蔽係数ベクトルから前記隠蔽情報を復元するように構成され、
前記隠蔽条件が、前記隠蔽係数ベクトルに応じてパラメータのしきい値との比較を備える、
請求項16に記載のデコーダ。
【請求項１８】
前記パラメータが、
前記隠蔽係数ベクトル内の有意係数の数、または
前記隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
前記隠蔽係数ベクトル内の前記係数の最小絶対非ゼロ値に対する最大絶対値の比
であり、
前記隠蔽条件が、前記パラメータが前記しきい値を上回る場合は真であり、前記パラメータが前記しきい値を下回る場合は偽である、
請求項17に記載のデコーダ。
【請求項１９】
前記チェックモジュールが、前記隠蔽条件をチェックし、前記隠蔽条件が真である場合、前記隠蔽係数ベクトルから前記隠蔽情報を復元するように構成される、
請求項17または18に記載のデコーダ。
【請求項２０】
前記隠蔽条件が偽である場合、前記走査順序選択器が、あらかじめ定義されたデフォルトの走査順序を選択するように構成される、
請求項17から19のいずれか一項に記載のデコーダ。
【請求項２１】
前記チェックモジュールが、前記隠蔽係数ベクトルにチェック関数を適用することにより、前記隠蔽係数ベクトルから前記隠蔽情報を復元するように構成され、
前記チェック関数の結果が前記隠蔽情報である、
請求項16から20のいずれか一項に記載のデコーダ。
【請求項２２】
前記チェック関数の前記結果が、前記隠蔽係数ベクトルの前記最後の有意係数の、前記係数行列内の座標（x，y）に依存し、
具体的には、前記チェック関数が以下の関数：
mod（x＋y＋R，2）
であり、xおよびyが前記座標であり、Rが整数値である、
請求項21に記載のデコーダ。
【請求項２３】
前記チェックモジュールが、第1のブロックについて、前記第1のブロックの1つまたは複数の係数から隠蔽情報を復元するように構成され、前記隠蔽情報が、前記第1のブロックに関連付けられた走査順序情報の一部を構成または形成し、
前記走査順序選択器が、前記第1のブロックおよび少なくとも第2のブロックに対して、前記第1のブロックに関連付けられた前記走査順序情報に基づいて走査順序を選択するように構成される、
請求項15から22のいずれか一項に記載のデコーダ。
【請求項２４】
ビットストリームからビデオシーケンスのブロックの係数を復号するための、好ましくは請求項7に記載の方法であって、
前記方法が、
前記ビットストリームから各ブロックの1つまたは複数の係数ベクトルを復号するステップと、
少なくとも1つのブロックについて、そのブロックの1つまたは複数の係数から隠蔽情報を復元するステップであって、前記隠蔽情報が、そのブロックに関連付けられた走査順序情報の一部を構成または形成する、ステップと、
そのブロックに関連付けられた前記走査順序情報に基づいて、走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するステップと、
係数行列を取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記1つまたは複数の係数ベクトルを逆走査するステップと
を備える、方法。
【請求項２５】
ビデオシーケンスのブロックの係数をビットストリーム内に符号化するための、好ましくは請求項8から13のいずれか一項に記載のエンコーダであって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記エンコーダが、
走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するように構成された走査順序選択器と、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数行列を走査するように構成されたシリアライザと、
少なくとも1つのブロックについて、少なくとも部分的にそのブロックの1つまたは複数の係数内に、そのブロックに対して選択された前記走査順序を識別する走査順序情報を隠蔽するように構成された隠蔽モジュールと、
前記係数ベクトルを前記ビットストリーム内にコード化するように構成されたコーディングモジュールと
を備える、エンコーダ。
【請求項２６】
前記隠蔽モジュールが、少なくとも1つのブロックについて、そのブロックについて取得された前記1つまたは複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトル内の前記走査順序情報を隠蔽するように構成される、
請求項25に記載のエンコーダ。
【請求項２７】
前記隠蔽モジュールが、少なくとも1つのブロックについて、隠蔽条件に応じて前記隠蔽係数ベクトル内に前記走査順序情報を隠蔽するように構成され、
前記隠蔽条件が、前記隠蔽係数ベクトルに応じてパラメータのしきい値との比較を備える、
請求項26に記載のエンコーダ。
【請求項２８】
前記パラメータが、
前記隠蔽係数ベクトル内の有意係数の数、または
前記隠蔽係数ベクトル内の最初と最後の有意係数の間の距離、または
前記隠蔽係数ベクトル内の前記係数の最小絶対非ゼロ値に対する最大絶対値の比
であり、
前記隠蔽条件が、前記パラメータが前記しきい値を上回る場合は真であり、前記パラメータが前記しきい値を下回る場合は偽である、
請求項27に記載のエンコーダ。
【請求項２９】
前記隠蔽モジュールが、前記隠蔽条件をチェックし、前記隠蔽条件が真である場合、前記隠蔽係数ベクトル内に前記走査順序情報を隠蔽するように構成される、
請求項27または28に記載のエンコーダ。
【請求項３０】
前記隠蔽条件が偽である場合、前記走査順序選択器が、その他の選択された走査順序に対する前記隠蔽条件が真になるまで、走査順序の前記セットから別の走査順序を再帰的に選択するように構成される、
請求項27から29のいずれか一項に記載のエンコーダ。
【請求項３１】
前記隠蔽条件が偽であり、前記選択された走査順序があらかじめ定義されたデフォルトの走査順序である場合、前記隠蔽モジュールが、前記隠蔽係数ベクトル内の前記走査順序情報を隠蔽しないように構成される、
請求項27から30のいずれか一項に記載のエンコーダ。
【請求項３２】
前記隠蔽モジュールが、少なくとも1つのブロックについて、
チェック関数の結果を取得するために前記隠蔽係数ベクトルに前記チェック関数を適用し、
前記チェック関数の前記結果が前記走査順序情報に対応するかどうかを判定し、
そうでない場合、前記チェック関数の前記結果が前記走査順序情報に対応するように前記隠蔽係数ベクトルを修正する
ことにより、前記隠蔽係数ベクトル内に前記走査順序情報を隠蔽するように構成される、
請求項26から31のいずれか一項に記載のエンコーダ。
【請求項３３】
前記チェック関数の前記結果が、前記隠蔽係数ベクトルの前記最後の有意係数の、前記係数行列内の座標（x，y）に依存し、
具体的には、前記チェック関数が以下の関数：
mod（x＋y＋R，2）
であり、xおよびyが前記座標であり、Rが整数値である、
請求項32に記載のエンコーダ。
【請求項３４】
第1のブロックおよび少なくとも第2のブロックに対して、前記走査順序選択器によって同一の走査順序が選択された場合、前記隠蔽モジュールが、前記第1のブロックのみの1つまたは複数の係数内の前記同一の走査順序を識別する走査順序情報を隠蔽するように構成される、
請求項25から33のいずれか一項に記載のエンコーダ。
【請求項３５】
ビデオシーケンスのブロックの係数をビットストリーム内に符号化するための、好ましくは請求項8から13のいずれか一項に記載の方法であって、各ブロックの前記係数がそれぞれの係数行列に含まれ、
前記方法が、
走査順序のセットから、好ましくはあらかじめ定義された走査順序および生成された走査順序のセットから、ブロックごとに走査順序を選択するステップと、
1つまたは複数の係数ベクトルを取得するために、ブロックごとに、そのブロックに対して選択された前記走査順序に従って、そのブロックの前記係数行列を走査するステップと、
少なくとも1つのブロックについて、少なくとも部分的にそのブロックの1つまたは複数の係数内に、そのブロックに対して選択された前記走査順序を識別する走査順序情報を隠蔽するステップと、
前記係数ベクトルを前記ビットストリーム内にコード化するステップと
を備える、方法。
【請求項３６】
コンピュータプログラムがコンピューティングデバイスで動作するときに、請求項7、14、24、または35に記載の前記方法を実行するためのプログラムコードを備える、前記コンピュータプログラム。
【国際調査報告】
2019505141.tif 000015
2019505141.tif 000016
2019505141.tif 000017
2019505141.tif 000018