(57)【特許請求の範囲】
【請求項１】
映像データを復号する方法であって、
装置が、イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択することと、
前記装置が、映像データの複数のブロックを復号することであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、前記選択されたＩＰＣＭコーディングモードを用いてコーディングされることと、
前記装置が、前記ＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記装置が、前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うことと、
を備え、
前記装置が、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記装置が、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含むことと、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、前記装置が、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に復号されることのうちの１つ以上を備えることと
を備える、方法。
【請求項２】
前記装置が、前記ＩＰＣＭコーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に対して前記デブロッキングフィルタリングを行うことは、
前記装置が、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うことと、
を備える、請求項１記載の方法。
【請求項３】
前記装置が、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うことは、前記装置が、前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択することを備える、請求項２に記載の方法。
【請求項４】
前記装置が、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックの各々に対して前記デブロッキングフィルタリングを行うことは、前記装置が、前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することを備える、請求項２または３に記載の方法。
【請求項５】
前記装置が、前記ＩＰＣＭコーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に対して前記デブロッキングフィルタリングを行う前に、前記装置が、映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングをイネーブルにすることをさらに備える、請求項１乃至４のうちのいずれか一項に記載の方法。
【請求項６】
前記装置が、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値、ここで、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値、ここで、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す、
のうちの１つ以上に基づいて、前記装置が、前記割り当てられたゼロでないＱＰ値を決定することを備える、請求項１乃至５のうちのいずれか一項に記載の方法。
【請求項７】
前記装置が、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記装置が、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することを備え、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に復号されることのうちの１つ以上を備える、請求項１乃至５のうちのいずれか一項に記載の方法。
【請求項８】
前記装置が、前記少なくとも１つのブロックを復号することは、前記装置が、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを、受信されたビットストリームで受信することを備え、
前記装置が、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、前記装置が、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信すること、及び前記装置が、前記少なくとも１つのブロックに関するデルタＱＰ値を前記受信されたビットストリームで受信し、前記デルタＱＰ値及び予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することのうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表し、
前記方法は、前記装置が、１つ以上の構文要素を前記受信されたビットストリームで受信することをさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルされていることを示す、請求項１乃至６のうちのいずれか一項に記載の方法。
【請求項９】
映像データを復号するように構成された装置であって、前記装置は映像コーダを備え、
前記映像コーダは、
イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択し、
映像データの複数のブロックを復号し、ここにおいて、前記映像コーダは、前記選択されたＩＰＣＭコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングするように構成され、
前記選択されたＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当て、及び
前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行う
ように構成され、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定する
ように構成され、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に復号されることのうちの１つ以上を備える、装置。
【請求項１０】
前記ＩＰＣＭコーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に対して前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うように構成される、請求項９記載の装置。
【請求項１１】
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定すること
のうちの１つ以上を行うように構成される、請求項１０に記載の装置。
【請求項１２】
前記映像コーダは、前記ＩＰＣＭコーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に対して前記デブロッキングフィルタリングを行う前に、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングをイネーブルにするようにさらに構成される、請求項９乃至１１のうちのいずれか一項に記載の装置。
【請求項１３】
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値、ここで、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値、ここで、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す、
のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定するように構成される、請求項９乃至１２のうちのいずれか一項に記載の装置。
【請求項１４】
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するように構成され、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前に復号されたブロックのうちの１つ以上を備える、請求項９乃至１２のうちのいずれか一項に記載の装置。
【請求項１５】
前記少なくとも１つのブロックを含む映像データの前記複数のブロックをコーディングするために、前記映像コーダは、前記少なくとも１つのブロックを含む映像データの前記複数のブロックを復号するように構成され、
前記少なくとも１つのブロックを復号するために、前記映像コーダは、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信するように構成され、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信すること、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記受信されたビットストリームで受信し、前記デルタＱＰ値及び予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することのうちの１つを行うように構成され、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表し、
前記映像コーダは、１つ以上の構文要素を前記受信されたビットストリームで受信するようにさらに構成され、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示す、請求項９乃至１３のうちのいずれか一項に記載の装置。
【請求項１６】
前記装置は、
集積回路、
マイクロプロセッサ、及び
前記映像コーダを含む無線通信デバイス
のうちの少なくとも１つを備える、請求項９乃至１５のうちのいずれか一項に記載の装置。
【請求項１７】
映像データを復号するように構成されたデバイスであって、
イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択するための手段と、
映像データの複数のブロックを復号するための手段であって、前記選択されたＩＰＣＭコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングするための手段を含む手段と、
前記ＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当てるための手段と、
前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うための手段と、
を備え、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるための前記手段は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するための手段であって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含む手段と、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するための手段であって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に復号されることのうちの１つ以上を備える手段と
を備える、デバイス。
【請求項１８】
前記ＩＰＣＭコーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に対して前記デブロッキングフィルタリングを行うための前記手段は、
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うための手段と、
を備える、請求項１７記載のデバイス。
【請求項１９】
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックの各々に対して前記デブロッキングフィルタリングを行うため前記手段は、
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択するための手段、及び
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定するための手段
のうちの１つ以上を備える、請求項１８に記載のデバイス。
【請求項２０】
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるための前記手段は、
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値、ここで、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値、ここで、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す、
のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定するための手段を備える、請求項１７乃至１９のうちのいずれか一項に記載のデバイス。
【請求項２１】
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるための前記手段は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するための手段を備え、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前に復号されたブロックのうちの１つ以上を備える、請求項１７乃至２０のうちのいずれか一項に記載のデバイス。
【請求項２２】
前記少なくとも１つのブロックを復号するための前記手段は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信するための手段を備え、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるための前記手段は、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信するための手段、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記受信されたビットストリームで受信し、前記デルタＱＰ値及び予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定するための手段のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表し、
前記デバイスは、１つ以上の構文要素を前記受信されたビットストリームで受信するための手段をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示す、請求項１７乃至２０のうちのいずれか一項に記載のデバイス。
【請求項２３】
実行されたときに、映像データを復号することを１つ以上のプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体であって、前記命令は、
イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択すること、
映像データの複数のブロックを復号することであって、前記選択されたＩＰＣＭコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングすることを含むこと、
前記ＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当ること、及び
前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うこと
を前記１つ以上のプロセッサに行わせ、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定すること
を前記１つ以上のプロセッサに行わせる命令を備え、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に復号されることのうちの１つ以上を備える、コンピュータによって読み取り可能な記憶媒体。
【請求項２４】
前記ＩＰＣＭコーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングを行うことを前記１つ以上のプロセッサに行わせる前記命令は、
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うこと
を前記１つ以上のプロセッサに行わせる命令を備え、請求項２３に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２５】
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに対して前記デブロッキングフィルタリングを行うことを前記１つ以上のプロセッサに行わせる前記命令は、
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定すること
のうちの１つ以上を前記１つ以上のプロセッサに行わせる命令を備える、請求項２４に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２６】
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値、ここで、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値、ここで、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す
のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定することを前記１つ以上のプロセッサに行わせる命令を備える、請求項２３または２４のうちのいずれか一項に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２７】
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することを前記１つ以上のプロセッサに行わせる命令を備え、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前に復号されたブロックのうちの１つ以上を備える、請求項２３または２４のうちのいずれか一項に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２８】
前記少なくとも１つのブロックを復号することを前記１つ以上のプロセッサに行わせる前記命令は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令を備え、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記受信されたビットストリームで受信し、前記デルタＱＰ値及び予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することを前記１つ以上のプロセッサに行わせる命令のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表し、
前記コンピュータによって読み取り可能な記憶媒体は、１つ以上の構文要素を前記受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示す、請求項２３乃至２５のうちのいずれか一項に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項２９】
映像データを復号する方法であって、
映像コーダが、イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択することと、
前記映像コーダが、映像データの複数のブロックを復号することであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、イントラパルスコード変調（ＩＰＣＭ）コーディングモードを用いてコーディングされることと、
前記映像コーダが、前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記映像コーダが、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うことと、
を備え、
前記映像コーダが、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記装置が、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含むことと、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、前記装置が、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に復号されることのうちの１つ以上を備えることと
を備える、映像データを復号する方法。
【請求項３０】
映像データを符号化する方法であって、
装置が、イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択することと、
前記装置が、映像データの複数のブロックを符号化することであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、前記選択されたＩＰＣＭコーディングモードを用いてコーディングされることと、
前記装置が、前記ＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記装置が、前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うことと、
を備え、
前記装置が、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記装置が、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含むことと、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、前記装置が、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に符号化されることのうちの１つ以上を備えることと
を備える、方法。
【請求項３１】
前記装置が、前記少なくとも１つのブロックを符号化することは、前記装置が、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを、ビットストリームでシグナリングすることを備え、
前記装置が、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、前記装置が、前記割り当てられたゼロでないＱＰ値を、前記ビットストリームでシグナリングすること、及び前記装置が、前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングすることのうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記方法は、前記装置が、１つ以上の構文要素を前記ビットストリームでシグナリングすることをさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルされていることを示す、請求項３０に記載の方法。
【請求項３２】
請求項２乃至７に記載の方法のうちのいずれかをさらに備える、請求項３０及び３１のうちのいずれか一方に記載の方法。
【請求項３３】
映像データを符号化するように構成された装置であって、前記装置は映像コーダを備え、
前記映像コーダは、
イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択し、
映像データの複数のブロックを符号化し、ここにおいて、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、前記選択されたＩＰＣＭコーディングモードを用いてコーディングされ、
前記選択されたＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当て、及び
前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行う
ように構成され、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定する
ように構成され、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に符号化されることのうちの１つ以上を備える、装置。
【請求項３４】
前記少なくとも１つのブロックを符号化するために、前記映像コーダは、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングするように構成され、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングすること、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングすることのうちの１つを行うように構成され、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記映像コーダは、１つ以上の構文要素を前記ビットストリームでシグナリングするようにさらに構成され、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルされていることを示す、請求項３３に記載の装置。
【請求項３５】
前記装置は、請求項１０乃至１４に記載の技法のうちのいずれかを行うようにさらに構成される、請求項３３及び３４のうちのいずれか一方に記載の装置。
【請求項３６】
映像データを符号化するように構成されたデバイスであって、前記デバイスは、
イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択するための手段と、
映像データの複数のブロックを符号化するための手段であって、前記選択されたＩＰＣＭコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングするための手段を含む手段と、
前記選択されたＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当てるための手段と、
前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うための手段と、
を備え、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるために、前記デバイスは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定する
ように構成され、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に符号化されることのうちの１つ以上を備える、デバイス。
【請求項３７】
前記少なくとも１つのブロックを符号化するための前記手段は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングするための手段を備え、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てるための前記手段は、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングするための手段、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングするための手段のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記デバイスは、１つ以上の構文要素を前記ビットストリームでシグナリングするための手段をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルされていることを示す、請求項３６に記載のデバイス。
【請求項３８】
前記デバイスは、請求項１８乃至２１のうちのいずれか一項に記載の技法を行うための手段をさらに備える、請求項３６及び３７のうちのいずれか一方に記載のデバイス。
【請求項３９】
実行されたときに、映像データをコーディングすることを１つ以上のプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体であって、前記命令は、
イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択すること、
映像データの複数のブロックを符号化することであって、前記選択されたＩＰＣＭコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングすることを含むこと、
前記選択されたＩＰＣＭコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当ること、及び
前記ＩＰＣＭコーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うこと
を前記１つ以上のプロセッサに行わせ、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定すること
を前記１つ以上のプロセッサに行わせる命令を備え、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に符号化されることのうちの１つ以上を備える、コンピュータによって読み取り可能な記憶媒体。
【請求項４０】
前記少なくとも１つのブロックを符号化することを前記１つ以上のプロセッサに行わせる前記命令は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令を備え、
前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記コンピュータによって読み取り可能な記憶媒体は、１つ以上の構文要素を前記ビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルされていることを示す、請求項３９に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４１】
前記命令はさらに、請求項２４乃至２７に記載の技法のうちのいずれかを行うことを前記１つ以上のプロセッサに行わせる、請求項３９及び４０のうちのいずれか一方に記載のコンピュータによって読み取り可能な記憶媒体。
【請求項４２】
映像データを符号化するための方法であって、
映像コーダが、イントラパルスコード変調（ＩＰＣＭ）コーディングモードと、ロスレスコーディングモードのうちから前記ＩＰＣＭコーディングモードを選択すること、
前記映像コーダが、映像データの複数のブロックを符号化することであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、ＩＰＣＭコーディングモードを用いてコーディングされることと、
前記映像コーダが、前記少なくとも１つのブロックに関してゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記映像コーダが、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うことと、
を備え、
前記映像コーダが、前記少なくとも１つのブロックに関して前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記映像コーダが、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含むことと、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、前記映像コーダが、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置されること及び前に符号化されることのうちの１つ以上を備えることと、を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、米国仮特許出願第６１／５４９，５９７号（出願日：２０１１年１０月２０日）、米国仮特許出願第６１／６０５，７０５号（出願日：２０１２年３月１日）、米国仮特許出願第６１／６０６，２７７号（出願日：２０１２年３月２日）米国仮特許出願第６１／６２４，９０１号（出願日：２０１２年４月１６日）、及び米国仮特許出願第６１／６４１，７７５号（出願日：２０１２年５月２日）、の利益を主張するものであり、それらの各々の内容全体が、引用によってここに組み入れられている。
【０００２】
本開示は、映像コーディングに関するものである。本開示は、より具体的には、映像コーディングプロセスによって生成された映像データのブロックをコーディングすることに関するものである。
【背景技術】
【０００３】
デジタル映像能力を広範なデバイス内に組み入れることができ、デジタルテレビと、デジタル直接放送システムと、無線放送システムと、パーソナルデジタルアシスタント（ＰＤＡ）と、ラップトップ又はデスクトップコンピュータと、タブレットコンピュータと、電子書籍リーダーと、デジタルカメラと、デジタル記録デバイスと、デジタルメディアプレーヤーと、ビデオゲームプレイ装置と、ビデオゲームコンソールと、セルラー又は衛星無線電話と、いわゆる“スマートフォン”と、ビデオ会議装置と、映像ストリーミングデバイスと、等を含む。デジタル映像デバイスは、映像圧縮技法、例えば、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ））、現在開発中の高効率映像コーディング（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義される規格、及び該規格の拡張版において説明されるそれら、を実装する。映像デバイスは、該映像圧縮技法を実装することによってデジタル映像情報をより効率的に送信、受信、符号化、復号、及び／又は格納することができる。
【０００４】
映像圧縮技法は、映像シーケンスに固有の冗長性を低減又は除去するために空間（イントラピクチャ）予測及び／又は時間（インターピクチャ）予測を行う。ブロックに基づく映像コーディングでは、映像スライス（すなわち、映像フレーム又は映像フレームの一部）を映像ブロックに分割することができ、それらは、ツリーブロック、コーディングユニット（ＣＵ）及び／又はコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた（Ｉ）スライス内の映像ブロックは、同じピクチャ内の近隣ブロック内の基準サンプルに関して空間予測を用いて符号化される。ピクチャのインターコーディングされた（Ｐ又はＢ）スライス内の映像ブロックは、同じピクチャ内の近隣ブロック内の基準サンプルに関しては空間予測、その他の基準ピクチャ内の基準サンプルに関しては時間予測を使用することができる。ピクチャは、フレームと呼ぶことができ、基準ピクチャは、基準フレームと呼ぶことができる。
空間又は時間予測の結果、コーディングされるべきブロックに関する予測ブロックが得られる。残差データは、コーディングされるべきオリジナルのブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされるブロックは、予測ブロックを形成する基準サンプルのブロックを指し示す動きベクトル、及びコーディングされたブロックと予測ブロックとの間の差分を示す残差データにより符号化される。イントラコーディングされるブロックは、イントラコーディングモード及び残差データにより符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換することができ、その結果残差変換係数が得られ、それらは量子化することができる。量子化された変換係数は、最初は二次元配列で配置され、変換係数の一次元ベクトルを生成するために走査することができる。次に、さらなる圧縮を達成させるためにエントロピーコーディングを適用することができる。
【発明の概要】
【０００５】
概して、本開示は、イントラパルスコード変調（ＩＰＣＭ）コーディング及び／又はロスレス（ｌｏｓｓｌｅｓｓ）（可逆符号化）コーディングモードを用いてコーディングされた映像データのブロックに関するデブロッキングフィルタリングを行うための技法について説明する。特に、本開示の技法は、１つ以上のＩＰＣＭコーディングされたブロックと、ロスレスでコーディングされたブロックと、ロッシー（ｌｏｓｓｙ）（非可逆符号化）コーディング技法、すなわち“モード”を用いてコーディングされたブロックと、を含む映像データの１つ以上のブロックに関してデブロッキングフィルタリングを行うことを含むことができる。ここにおいて説明される技法は、その他の技法と比較して、ブロックがコーディングされるときに映像データのブロックのうちの１つ以上の視覚品質を向上させることができる。
【０００６】
具体的には、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし、特定の方法でデブロッキングフィルタリングを行うことによって再構築された映像データを含むＩＰＣＭコーディングされたブロックのうちの１つ以上の視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含むロスレスでコーディングされたブロックのうちの１つ以上の視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、ロッシーコーディングモードを用いてコーディングされたブロック、例えば、ＩＰＣＭ及びロスレスでコーディングされたブロックのうちの１つ以上に隣接して位置するブロック、のうちの１つ以上の視覚品質を向上させることもできる。その結果、本開示の技法を使用したときには、ＩＰＣＭ，ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの１つ以上のブロックの視覚品質の相対的な向上が存在することができる。
本開示の一例では、映像データをコーディングする方法は、映像データの複数のブロックをコーディングすることであって、映像データの複数のブロックのうちの少なくとも１つのブロックは、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いてコーディングされることと、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）を割り当てることと、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことと、を含む。
【０００７】
本開示の他の例では、映像データをコーディングするように構成された装置は、映像コーダを含む。この例では、映像コーダは、映像データの複数のブロックをコーディングし、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）を割り当て、及び、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うように構成され、映像コーダは、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも１つのブロックをコーディングするように構成される。
【０００８】
本開示の他の例では、映像データをコーディングするように構成されたデバイスは、映像データの複数のブロックをコーディングするための手段を含み、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも１つのブロックをコーディングするための手段と、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）を割り当てるための手段と、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うための手段と、を含む。
【０００９】
本開示で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ハードウェアにおいて実装される場合は、装置は、集積回路、プロセッサ、ディスクリートロジック、又はその組み合わせとして実現することができる。ソフトウェアにおいて実装される場合は、ソフトウェアは、１つ以上のプロセッサ、例えば、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はデジタル信号プロセッサ（ＤＳＰ）、において実行することができる。それらの技法を実行するソフトウェアは、最初に有形のコンピュータによって読み取り可能な媒体に格納し、プロセッサ内にローディングして実行することができる。
従って、他の例では、本開示は、実行されたときに映像データをコーディングすることを１つ以上のプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体を企図する。この例では、命令は、映像データの複数のブロックをコーディングし、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでないＱＰ値を割り当て、及び少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことを１つ以上のプロセッサに行わせ、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも１つのブロックをコーディングすることを含む。
【００１０】
１つ以上の例の詳細が、添付図及び以下の説明において示される。それらの説明と図面から、及び請求項から、その他の特徴、目的、及び利点が明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本開示の技法と一致する、イントラパルスコード変調（ＩＰＣＭ）及びロスレスコーディングモードデブロッキングのための技法を実施することができる映像符号化及び復号システムの例を示したブロック図である。
【図２】本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングのための技法を実施することができる映像符号器の例を示したブロック図である。
【図３】本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングのための技法を実施することができる映像復号器の例を示したブロック図である。
【図４】本開示の技法と一致する、映像データの２つの隣接するブロックの境界に関して行われるデブロッキングフィルタリングの例を示した概念図である。
【図５】本開示の技法と一致する、映像データの１つ以上のブロックの各々に関してデルタＱＰ値をシグナリングする例を示した概念図である。
【図６】本開示の技法と一致する、デブロッキングフィルタに関する境界強度値を計算する方法例を示したフローチャートである。
【図７Ａ】本開示の技法と一致する、ＩＰＣＭコーディングモードデブロッキングの例を示した概念図である。
【図７Ｂ】本開示の技法と一致する、ＩＰＣＭコーディングモードデブロッキングの例を示した概念図である。
【図８Ａ】本開示の技法と一致する、ロスレスコーディングモードデブロッキングの例を示した概念図である。
【図８Ｂ】本開示の技法と一致する、ロスレスコーディングモードデブロッキングの例を示した概念図である。
【図９】本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングの方法例を示したフローチャートである。
【図１０】本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングの方法例を示したフローチャートである。
【図１１】本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングの方法例を示したフローチャートである。
【発明を実施するための形態】
【００１２】
概して、本開示は、イントラパルスコード変調（ＩＰＣＭ）コーディング及び／又はロスレスコーディングモードを用いてコーディングされた映像データのブロックに関するデブロッキングフィルタリングを行うための技法について説明する。特に、本開示の技法は、１つ以上のＩＰＣＭコーディングされたブロックと、ロスレスでコーディングされたブロックと、いわゆるロッシー（ｌｏｓｓｙ）コーディング技法、すなわち“モード”を用いてコーディングされたブロックと、を含む映像データの１つ以上のブロックに関してデブロッキングフィルタリングを行うことを含むことができる。ここにおいて説明される技法は、その他の技法と比較して、ブロックがコーディングされるときに映像データのブロックのうちの１つ以上の視覚品質を向上させることができる。
【００１３】
一例として、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし、特定の方法でデブロッキングフィルタリングを行うことによって再構築された映像データを含む１つ以上のＩＰＣＭコーディングされたブロックの視覚品質を向上させることができる。例えば、それらの技法は、ＩＰＣＭコーディングされたブロックに関して、割り当てられたゼロでない量子化パラメータ（ＱＰ）値を示すシグナリングされたＱＰ値、予測されるＱＰ値、及び割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表すデルタＱＰ（“ｄＱＰ”）のうちの１つ以上に基づいてＩＰＣＭコーディングされたブロックに関するＱＰ値を割り当てることを含む。それらの技法は、ＩＰＣＭコーディングされたブロックに関する割り当てられたゼロでないＱＰ値に基づいてＩＰＣＭコーディングされたブロックに関するデブロッキングフィルタリングを行うことをさらに含む。
【００１４】
他の例として、説明される技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含む１つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる。例えば、それらの技法は、１つ以上のロスレスでコーディングされたブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示す１つ以上の構文要素（例えば、１ビットのコード、又は“フラグ”）をシグナリングすることを含む。幾つかの例では、１つ以上の構文要素は、その他の隣接する映像データのブロックと共有される１つ以上のロスレスでコーディングされたブロックの全境界に関してデブロッキングフィルタリングがディスエーブルにされていることを示すことができる。
さらに他の例として、説明される技法は、ロッシーなブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、ＩＰＣＭコーディングされたブロック又はロスレスでコーディングされたブロックに隣接して位置し、ロッシーなコーディングモードを用いてコーディングされる映像データの１つ以上のブロックの視覚品質を向上させることもできる。例えば、それらの技法は、隣接するＩＰＣＭ又はロスレスでコーディングされたブロックに関する割り当てられたゼロでないＱＰ値に基づいて１つ以上のロッシーなブロックに関してデブロッキングフィルタリングを行うことを含む。
【００１５】
この方法により、本開示の技法を使用したときには、ＩＰＣＭ，ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの１つ以上のブロックの視覚品質の相対的な向上が存在することができる。
図１は、本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングに関する技法を実施することができる映像符号化及び復号システムの例を示したブロック図である。図１において示されるように、システム１０は、行先デバイス１４によってのちに復号されるべき符号化された映像データを生成するソースデバイス１２を含む。ソースデバイス１２及び行先デバイス１４は、広範なデバイスのうちのいずれかを備えることができ、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、いわゆる“スマート”フォン、いわゆる“スマート”パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームプレイ装置、ビデオゲームコンソール、映像ストリーミングデバイス、等を含む。幾つかの場合は、ソースデバイス１２及び行先デバイス１４は、無線通信のために装備することができる。
【００１６】
行先デバイス１４は、リンク１６を介して復号されるべき符号化された映像データを受信することができる。リンク１６は、符号化された映像データをソースデバイス１２から行先デバイス１４に移動させることが可能なあらゆるタイプの媒体又はデバイスを備えることができる。一例では、リンク１６は、ソースデバイス１２が符号化された映像データをリアルタイムで直接行先デバイス１４に送信するのを可能にする通信媒体を備えることができる。符号化された映像データは、通信規格、例えば、無線通信プロトコル、により変調し、行先デバイス１４に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理的な送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又は、ソースデバイス１２から行先デバイス１４への通信を容易にするのに役立つことができるその他のあらゆる装置を含むことができる。
代替として、符号化されたデータは、出力インタフェース２２から記憶デバイス２４に出力することができる。同様に、符号化されたデータは、入力インタフェース２６によって記憶デバイス２４からアクセスすることができる。記憶デバイス２４は、様々な分散型の又はローカルでアクセスされるデータ記憶媒体、例えば、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は非揮発性メモリ、又は符号化された映像データを格納するためのあらゆるその他の適切なデジタル記憶媒体のうちのいずれかを含むことができる。さらなる例では、記憶デバイス２４は、ソースデバイス１２によって生成された符号化された映像を保持することができるファイルサーバ又はその他の中間的な記憶デバイスに対応することができる。行先デバイス１４は、ストリーミング又はダウンロードを介して記憶デバイス２４から格納された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納し及びその符号化された映像データを行先デバイス１４に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、ローカルディスクドライブを含む。行先デバイス１４は、インターネット接続を含むあらゆる標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。これは、無線チャネル（例えば、Ｗｉ−Ｆｉ接続）、無線接続（例えば、ＤＳＬ、ケーブルモデム、等）、又はファイルサーバに格納された符号化された映像データにアクセスするのに適する両方の組み合わせ、を含むことができる。記憶デバイス２４からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
【００１７】
本開示の技法は、無線用途又はセッティングには必ずしも限定されない。それらの技法は、様々なマルチメディア用途、例えば、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体上での格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートして映像コーディングに適用することができる。幾つかの例では、システム１０は、映像ストリーミング、映像再生、映像放送、及び／又は映像テレフォニー、等の用途をサポートするための一方向又は両方向の映像送信をサポートするように構成することができる。
図１の例では、ソースデバイス１２は、映像ソース１８と、映像符号器２０と、出力インタフェース２２と、を含む。幾つかの場合は、出力インタフェース２２は、変調器／復調器（モデム）及び／又は送信機を含むことができる。ソースデバイス１２内では、映像ソース１８は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース、及び／又はコンピュータグラフィックスデータをソース映像として生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。一例として、映像ソース１８がビデオカメラである場合は、ソースデバイス１２及び行先デバイス１４は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、本開示において説明される技法は、映像コーディング一般に適用可能であり、及び、無線及び／又は有線の用途に適用することができる。
【００１８】
キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器２０によって符号化することができる。符号化された映像データは、ソースデバイス１２の出力インタフェース２２を介して直接行先デバイス１４に送信することができる。符号化された映像データは、復号及び／又は再生のために、行先デバイス１４又はその他のデバイスによるのちのアクセスのために記憶デバイス２４に格納することができる。
【００１９】
行先デバイス１４は、入力インタフェース２６と、映像復号器３０と、表示装置２８と、を含む。幾つかの場合は、入力インタフェース２６は、受信機及び／又はモデムを含むことができる。行先デバイス１４の入力インタフェース２６は、リンク１６を通じて又は記憶デバイス２４から符号化された映像データを受信する。リンク１６を通じて通信された、又は記憶デバイス２４で提供された符号化された映像データは、映像データを復号する際に映像復号器、例えば、映像復号器３０、による使用のために映像符号器２０によって生成された様々な構文要素を含むことができる。該構文要素は、通信媒体上で送信される符号化された映像データとともに含めること、記憶媒体に格納すること、又はファイルサーバに格納することができる。
【００２０】
表示装置２８は、行先デバイス１４と一体化すること、又は行先デバイス１４の外部に存在することができる。幾つかの例では、行先デバイス１４は、一体化された表示装置を含むことができ、及び、外部表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス１４は、表示装置であることができる。概して、表示装置２８は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
【００２１】
映像符号器２０及び映像復号器３０は、映像圧縮規格、例えば、ＩＴＵ−Ｔビデオコーディングエキスパーツグループ（ＶＣＥＧ）及びＩＳＯ／ＩＥＣモーションピクチャエキスパーツグループ（ＭＰＥＧ）の映像コーディングに関する共同作業チーム（ＪＣＴ−ＶＣ）によって現在開発中の高効率映像コーディング（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）（ＨＥＶＣ）規格、により動作することができ、及び、ＨＥＶＣテストモデル（ＨＭ）に準拠することができる。代替として、映像符号器２０及び映像復号器３０は、その他の独占規格又は産業規格、例えば、ＩＴＵ−Ｔ  Ｈ．２６４規格、代わりにＭＰＥＧ−４  Ｐａｒｔ１０アドバンストビデオコーディング（ＡＶＣ）とも呼ばれる、又は該規格の拡張版、に準拠して動作することができる。しかしながら、本開示の技法は、特定のコーディング規格に限定されない。映像圧縮規格のその他の例は、ＭＰＥＧ−２と、ＩＴＵ−Ｔ  Ｈ．２６３と、を含む。ＨＥＶＣ規格の最近の草案は、“ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ８”又は“ＷＤ８”と呼ばれ、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３及びＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の映像コーディングに関する共同作業チーム（ＪＣＴ−ＶＣ）第１０回会議（スウェーデン、ストックホルム、２０１２年７月１１〜２０日）における文書JCTVC-J1003_d7, Bross et al., "High efficiency video coding (HEVC) text specification draft8"（高効率映像コーディング（ＨＥＶＣ）テキスト仕様草案８）において説明されている。該文書は、２０１２年１０月２日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipからダウンロード可能である。
【００２２】
ＨＥＶＣ規格の他の草案は、本開示では“ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ４”又は“ＷＤ４”と呼ばれており、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３及びＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の映像コーディングに関する共同作業チーム（ＪＣＴ−ＶＣ）第６回会議（イタリア、トリノ、２０１１年７月１４〜２２日）における文書JCTVC-F803_d2, Bross et al., "WD4: Working Draft 4 of High-Efficiency Video Coding"（WD4:高効率映像コーディング作業草案４）において説明されている。該文書は、２０１２年１０月２日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v8.zipからダウンロード可能である。ＨＥＶＣ規格の他の草案は、本開示では“ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ６”又は“ＷＤ６”と呼ばれており、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３及びＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の映像コーディングに関する共同作業チーム（ＪＣＴ−ＶＣ）第８回会議（米国、カリフォルニア州サンホセ、２０１２年２月）における文書JCTVC-H1003, Bross et al., "High efficiency video coding (HEVC) text specification draft6"（高効率映像コーディング（ＨＥＶＣ）テキスト仕様草案６）において説明されている。該文書は、２０１２年６月１日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である。
【００２３】
図１には示されていないが、幾つかの態様では、映像符号器２０及び映像復号器３０は、音声符号器及び復号器とそれぞれ一体化することができ、及び、音声及び映像の両方を共通のデータストリーム又は別々のデータストリームで符号化することを取り扱うための該当するＭＵＸ−ＤＥＭＵＸユニット又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル（ＵＤＰ）、に準拠することができる。
【００２４】
映像符号器２０及び映像復号器３０は、各々、様々な適切な符号器又は復号器回路、例えば、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内に部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納し、本開示の技法を実施するために１つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器２０及び映像復号器３０の各々は、１つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイス内の結合された符号器／復号器（“ＣＯＤＥＣ”）の一部として組み入れることができる。
ＨＥＶＣ標準化努力は、ＨＥＶＣテストモデル（ＨＭ）と呼ばれる映像コーディングデバイスの進化モデルに基づいている。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる既存のデバイスに関する映像コーディングデバイスの幾つかの追加能力を想定する。例えば、Ｈ．２６４は、９つのイントラ予測符号化モードを提供する一方で、ＨＭは、３５ものイントラ予測符号化モードを提供することができる。
【００２５】
概して、ＨＭの作業モデルは、映像フレーム又はピクチャをルマサンプルとクロマサンプルとの両方を含むツリーブロック又は最大のコーディングユニット（ＬＣＵ）のシーケンスに分割できると記述する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、幾つかの連続するツリーブロックをコーディング順に含む。映像フレーム又はピクチャは、１つ以上のスライスに分割することができる。各ツリーブロックは、四分木によりコーディングユニット（ＣＵ）に分割することができる。例えば、ツリーブロックは、四分木のルートノードとして、４つの子ノードに分割することができ、各子ノードは、親ノードであることができ、他の４つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードとして、コーディングノード、すなわち、コーディングされた映像ブロックを備える。コーディングされたビットストリームと関連付けられた構文データは、ツリーブロックを分割することができる最大回数を定義することができ及びコーディングノードの最小サイズも定義することができる。
【００２６】
ＣＵは、コーディングノード及びコーディングノードと関連付けられた予測ユニット（ＰＵ）及び変換ユニット（ＴＵ）を含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形が正方形でなければならない。ＣＵのサイズは、８×８ピクセルからツリーブロックのサイズまでであることができ、最大は、６４×６４ピクセル以上である。各ＣＵは、１つ以上のＰＵ及び１つ以上のＴＵを含むことができる。ＣＵと関連付けられた構文データは、例えば、１つ以上のＰＵへのＣＵの分割を説明することができる。分割モードは、ＣＵがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかで異なることができる。ＰＵは、形が正方形にならないように分割することができる。ＣＵと関連付けられた構文データは、例えば、四分木によりＣＵを１つ以上のＴＵに分割することについても説明することができる。ＴＵは、形は正方形であることができ又は正方形でないこともできる。
【００２７】
ＨＥＶＣ規格は、ＴＵによる変換を考慮し、異なるＣＵに関して異なることができる。ＴＵは、分割されたＬＣＵに関して定義された所定のＣＵ内のＰＵのサイズに基づいて典型的なサイズが定められるが、常にそうであるわけではない。ＴＵは、典型的には、ＰＵと同じサイズであるか又はそれよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、“残差四分木”（ｒｅｓｉｄｕａｌ  ｑｕａｄ  ｔｒｅｅ）（ＲＱＴ）と呼ばれる四分木構造を用いてより小さいユニットに細分割することができる。ＲＱＴの葉ノードは、ＴＵと呼ぶことができる。ＴＵと関連付けられたピクセル差分値を変換して変換係数を生成することができ、それらは量子化することができる。
概して、ＰＵは、予測プロセスに関連するデータを含む。例えば、ＰＵがイントラモード符号化されるときには、ＰＵは、ＰＵに関するイントラ予測モードを記述するデータを含むことができる。他の例として、ＰＵがインターモード符号化されるときには、ＰＵは、ＰＵに関する動きベクトルを定義するデータを含むことができる。ＰＵに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４又は１／８ピクセル精度）、動きベクトルが指し示す基準ピクチャ、及び／又は動きベクトルに関する基準ピクチャリスト（例えば、リスト０、リスト１、又はリストＣ）を記述することができる。
概して、ＴＵは、変換プロセス及び量子化プロセスのために使用される。１つ以上のＰＵを有する所定のＣＵは、１つ以上のＴＵも含むことができる。予測に引き続き、映像符号器２０は、ＰＵに対応する残差値を計算することができる。残差値は、エントロピーコーディングのためのシリアライズされた（ｓｅｒｉａｌｉｚｅｄ）変換係数を生成するために変換係数に変換し、量子化し、及びＴＵを用いて走査することができるピクセル差分値を備える。本開示は、典型的には、ＣＵのコーディングノードを指し示すために用語“映像ブロック”、又は単に“ブロック”を使用する。幾つかの特定の事例においては、本開示は、ツリーブロック、すなわち、ＬＣＵ、又はＣＵ、を指し示すために用語“映像ブロック”も使用することができ、それは、コーディングノードと、ＰＵと、ＴＵと、を含む。
【００２８】
映像シーケンスは、典型的には。一連の映像フレーム又はピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、映像ピクチャの一連の１つ以上を備える。ＧＯＰは、ＧＯＰに含まれるクチャ数を記述する構文データをＧＯＰのヘッダ、ピクチャのうちの１つ以上のヘッダ、又は別の場所に含めることができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器２０は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに関して動作する。映像ブロックは、ＣＵ内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格に準じてサイズが異なることができる。
【００２９】
一例として、ＨＭは、様々なＰＵサイズの予測をサポートする。ある特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズのイントラ予測、及び、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称的なＰＵサイズのインター予測をサポートする。ＨＭは、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズのインター予測に関する非対称的な分割もサポートする。非対称的な分割では、ＣＵの一方の方向は分割されず、他方の方向は、２５％及び７５％に分割される。２５％の分割に対応するＣＵ部分は“ｎ”によって示され、“Ｕｐ”、“Ｄｏｗｎ”、“Ｌｅｆｔ”、又は“Ｒｉｇｈｔ”の表示が後続する。従って、例えば、“２Ｎ×ｎＵ”は、水平に分割され、上部に２Ｎ×０．５Ｎ  ＰＵ、下部に２Ｎ×１．５Ｎ  ＰＵを有する２Ｎ×２Ｎ  ＣＵを意味する。
【００３０】
本開示では、“Ｎ×Ｎ”及び“Ｎ  ｂｙ  Ｎ”は、垂直寸法及び水平寸法に関する映像ブロックのピクセル寸法を意味するために互換可能な形で使用することができる。例えば、１６×１６ピクセル又は１６  ｂｙ  １６である。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）及び水平方向に１６ピクセル（ｘ＝１６）を有することになる。同様に、Ｎ×Ｎブロックは概して垂直方向にＮのピクセル、水平方向にＮのピクセルを有し、ここで、Ｎは、負でない整数値を表す。ブロック内のピクセルは、行及び列に配置することができる。さらに、ブロックは、水平方向と垂直方向で同じピクセル数を有することは必ずしも必要ない。例えば、ブロックは、Ｎ×Ｍピクセルを備えることができ、ここで、Ｍは必ずしもＮと等しくない。
【００３１】
ＣＵのＰＵを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器２０は、ＣＵのＴＵに関する残差データを計算することができる。ＰＵは、空間領域（ピクセル領域とも呼ばれる）内のピクセルデータを備えることができ、ＴＵは、変換、例えば、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後に変換領域に係数を備えることができる。残差データは、符号化されていないピクチャのピクセルとＰＵに対応する予測値との間のピクセル差分に対応することができる。映像符号器２０は、ＣＵに関する残差データを含むＴＵを形成し、ＴＵを変換してＣＵに関する変換係数を生成することができる。
いずれかの変換を用いて変換係数を生成後は、映像符号器２０は、変換係数の量子化を行うことができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させるために変換係数が量子化されてさらなる圧縮を提供するプロセスを意味する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を小さくすることができる。例えば、ｎビット値は、量子化中に切り捨ててｍビット値することができ、ここで、ｎは、ｍよりも大きい。
【００３２】
幾つかの例では、映像符号器２０は、量子化された変換係数を走査してエントロピー符号化することができるシリアライズドベクトルを生成するために予め定義された走査、すなわち、“走査”順序を利用することができる。その他の例では、映像符号器２０は、適応型走査を行うことができる。量子化された変換係数を走査して一次元ベクトルを形成後は、映像符号器２０は、例えば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、構文に基づくコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔分割エントロピー（ＰＩＰＥ）コーディング、又は他のエントロピー符号化法により、一次元ベクトルをエントロピー符号化することができる。映像符号器２０は、映像データを復号する際に映像復号器３０によって使用するために符号化された映像データと関連付けられた構文要素もエントロピー符号化することができる。
ＣＡＢＡＣを実施するためには、映像符号器２０は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの近隣値がゼロ値であるかどうかに関連することができる。ＣＡＶＬＣを実施するためには、映像符号器２０は、送信されるべきシンボルに関する可変長コードを選択することができる。ＶＬＣにおけるコードワードは、相対的により短いコードがより可能性の高いシンボルに対応し、相対的により長いコードがより可能性の低いシンボルに対応するような形で構築することができる。この方法により、ＶＬＣの使用は。送信されるべき各シンボルに関して等しい長さのコードワードを使用することと比較してビットの節約を達成することができる。確率の決定は、シンボルに割り当てられたコンテキストに基づくことができる。
【００３３】
以下は、図２及び３において描かれ、以下においてさらに詳細に説明される映像符号器２０及び映像復調器３０及びそれらの様々なコンポーネントを参照して説明される。幾つかの映像コーディング技法により、（例えば、図２のモード選択ユニット４０を使用する）映像符号器２０が誤り結果に基づいて特定の“現在の”映像データのブロックをコーディングするためにＩＰＣＭコーディングモードを選択する例では、（例えば、図２のＩＰＣＭ符号化ユニット４８Ａを使用する）映像符号器２０は、現在のブロックのデータ、又は“サンプル”、を直接ビットストリーム内の生データ又はサンプルとして符号化することができる。より具体的には、ＨＥＶＣ作業草案（“ＷＤ”）（例えば、バージョン４、又は“ＷＤ４”）の幾つかのバージョンでは、ＩＰＣＭイントラコーディングモードは、映像符号器２０が直接ビットストリーム内の映像データのブロックのルマ及びクロマサンプルを生データとして表すのを可能にする（すなわち、ルマサンプル及びクロマサンプル、又は値、が、修正されずに、すなわち“現状のままで”コーディングされる）。従って、映像符号器２０は、ブロック内のデータを圧縮せずに現在のブロックをＩＰＣＭコーディングされたブロックとして符号化することができる。
【００３４】
一例では、映像符号器２０は、現在のブロックの圧縮されたバージョン（例えば、イントラ予測又はインター予測によってコーディングされた現在のブロックのバージョン）を表現するために要求されるビット数がブロック内のデータの圧縮されないバージョンを送信するために要求されるビット数を超えるときにＩＰＣＭイントラコーディングモードを選択することができる。この場合は、（例えば、ＩＰＣＭ符号化ユニット４８Ａを用いた）映像符号器２０は、現在のブロックのオリジナルの圧縮されないデータ、又はサンプル、をＩＰＣＭサンプルとして符号化することができる。幾つかの場合は、オリジナルの圧縮されないデータは、映像符号器２０によってＩＰＣＭサンプルとして符号化される前にデブロッキングフィルタ（例えば、図２のデブロッキングフィルタ６４）によってフィルタリングすることができる。
【００３５】
他の例では、映像符号器２０は、（例えば、図２のエントロピー符号化ユニット５６を用いて）エントロピー符号化される現在のブロックの圧縮されたバージョンを生成するために、及び基準ピクチャとして使用するための現在のブロックの圧縮されたバージョンから再構築されたブロックを生成するためにイントラ又はインター予測を使用することができる。エントロピー符号化ユニット（例えば、エントロピー符号化ユニット５６）において符号器パイプラインのストール（ｓｔａｌｌ）の可能性があると映像符号器２０が決定した場合は、映像符号器２０は、再構築されたブロックの再構築されたサンプルをＩＰＣＭサンプルとして符号化することができる。以下で説明される図２の例では、再構築されたブロックは、ＩＰＣＭ符号化ユニット、すなわち、ＩＰＣＭ符号化ユニット４８Ａ、によってＩＰＣＭサンプルとして符号化される前に、デブロッキングフィルタ、すなわち、デブロッキングフィルタ６４、によってフィルタリングされる。その他の例では、再構築されたブロックは、フィルタリングされずにＩＰＣＭ符号化ユニットによって符号化することができる。
映像復号器３０が、ＩＰＣＭサンプルを生映像データとして含む映像符号器２０からの映像データのブロックを表現する符号化された映像ビットストリームを受信したときには、（例えば、図３のＩＰＣＭ復号ユニット９８Ｂを用いた）映像復号器３０は、ＩＰＣＭサンプルから直接映像データのブロックを生成するためにビットストリームを復号することができる。上述されるように、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ４）では、ＩＰＣＭイントラコーディングモードは、映像符号器２０が生データとして直接ビットストリーム内で映像データのブロックのルマサンプル及びクロマサンプルを表現するのを可能にすることができる。従って、（例えば、ＩＰＣＭ復号ユニット９８Ａを用いた）映像復号器３０は、ブロックの符号化されたデータの圧縮を解除せずに現在のブロックをＩＰＣＭコーディングされたブロックとして復号することができる。
一例では、現在のブロックに関するビットストリーム内のＩＰＣＭサンプルは、オリジナルの圧縮されていないサンプルであることができ、従って、復号されたブロックは、オリジナルブロックと同一である。この場合は、（例えば、ＩＰＣＭ復号ユニット９８Ａを用いて）映像復号器３０によって生成されたオリジナルブロックは、復号された映像として直接出力することができる。幾つかの場合は、映像復号器３０によって生成されたオリジナルブロックは、基準ピクチャとして使用されて復号された映像として出力される前にデブロッキングフィルタ（例えば、図３のデブロッキングフィルタ９４）によってフィルタリングすることができる。
他の例では、現在のブロックに関するビットストリーム内のＩＰＣＭサンプルは、現在のブロックの再構築されたバージョンの再構築されるサンプルであることができる。この場合は、復号されたブロックは、オリジナルのブロックの再構築されたバージョンと同一であることができ、それは、オリジナルなブロックと比較してある程度の歪みを含むことがある。以下で説明される図３の例では、映像復号器３０によって、すなわち、ＩＰＣＭ復号ユニット９８Ａを用いて、生成された再構築されたブロックは、基準ピクチャとして使用される前にデブロッキングフィルタ、すなわち、デブロッキングフィルタ９４によってフィルタリングし、復号された映像として出力することができる。その他の例では、再構築されたブロックは、フィルタリングされずに復号された映像として映像復号器３０から（例えば、ＩＰＣＭ復号ユニット９８Ａを用いて）直接出力することができる。
【００３６】
従って、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ４）は、上述されるＩＰＣＭイントラコーディングモードをサポートし、それは、符号器（例えば、映像符号器２０）が生データとして直接ビットストリーム内に入る映像データの現在のブロックのルマ及びクロマＣＵサンプルを表現するのを可能にする。以前に説明されたように、該ＩＰＣＭイントラコーディング技法は幾つかの可能な使用法が存在する。一例として、ＩＰＣＭイントラコーディングは、映像データのブロックのコーディングされた表現の単位がビットのサイズが、ブロックの圧縮されていないデータを送信するために要求されるビット数を超えないように符号器が保証するための手段として使用することができる。該事例では、符号器は、現在のブロック内のデータのオリジナルサンプルをＩＰＣＭサンプルとして符号化することができる。他の例として、ＩＰＣＭイントラコーディングは、符号器パイプラインのストールを回避するために使用することができる。該事例では、符号器は、現在のブロックの再構築されたバージョン内のデータの非オリジナルなサンプル、例えば、再構築されたサンプル、をＩＰＣＭサンプルとして符号化することができる。
【００３７】
さらに、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ４）は、ループフィルタプロセスがＩＰＣＭコーディングされたブロックに関してイネーブルにされるかどうかを示すために映像データの１つ以上のブロックと関連付けられたシーケンスパラメータセット（ＳＰＳ）内の構文要素“ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇ”のシグナリングもサポートする。ループフィルタプロセスは、デブロッキングフィルタリングと、アダプティブループフィルタリング（ＡＬＦ）と、サンプルアダプティブオフセット（ＳＡＯ）と、を含むことができる。ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇ値が真、すなわち“１”に等しい場合は、ＩＰＣＭコーディングされたブロックのサンプルに関するデブロッキングフィルタプロセス及びアダプティブループフィルタプロセスの両方が、ディスエーブルにされる。他方、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇ値が偽、すなわち“０”に等しい場合は、ＩＰＣＭコーディングされたブロックのサンプルに関するデブロッキングフィルタプロセス及びアダプティブループフィルタプロセスの両方が、イネーブルにされる。
【００３８】
現在のブロックのオリジナルの圧縮されていないサンプルがＩＰＣＭサンプルとしてコーディングされるときには、それらのサンプルは歪みがない。従って、インループフィルタリング、例えば、デブロッキングフィルタリング、ＡＬＦ及びＳＡＯ、は不要であり、省くことができる。逆に、現在のブロックの再構築されたバージョンの再構築されたサンプルがＩＰＣＭサンプルとしてコーディングされるときには、映像復号器（例えば、映像復号器３０）は、ＩＰＣＭブロックのエッジに沿って、デブロッキングフィルタリングを含むインループフィルタリングを行う必要があることがある。
【００３９】
ＨＥＶＣの幾つかのドラフトバージョンにおけるデブロッキングフィルタ（例えば、図２の映像符号器２０のデブロッキングフィルタ６４、又は図３の映像復号器３０のデブロッキングフィルタ９４）は、以下において図６を参照してさらに詳細に説明される境界強度計算の結果、及びデブロッキング決定に基づいて映像データのブロックの幾つかのＴＵ及びＰＵエッジをフィルタリングすることができる。例えば、デブロッキング決定は、デブロッキングフィルタがオン又はオフのいずれであるか、デブロッキングフィルタが弱いか又は強いか、及び、映像データの所定のブロックに関する弱いフィルタの強度を含むことができる。境界強度計算及びデブロッキング決定は、スレショルド値“ｔｃ”及び“β”に依存する。スレショルド値は、特定のブロックのＱＰ値に基づいてアクセス可能であるテーブル内に格納することができる。例えば、デブロッキングフィルタは、デブロッキングされるべき現在のエッジを含むブロックからＱＰ値を入手することができる（すなわち、ルマエッジに関する“ルマＱＰ”及びクロマエッジに関する“クロマＱＰ”）。ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）では、デブロッキングフィルタリングは、適用されたときに、２つのブロック間のエッジ（いわゆる“共通エッジ”）（例えば、幾つかのＴＵ及び／又はＰＵのエッジ）をフィルタリングする。ＨＥＶＣのこれらのドラフトバージョンにより、エッジは、両方のブロックのＱＰ値の平均ＱＰ（例えば、“ＱＰａｖｅ”）値に基づいてフィルタリングされる。
【００４０】
他の例として、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）ではロスレスコーディングモードが採用されている。ロスレスコーディングモードでは、一例では、映像データのブロックのオリジナルの、すなわち“生の”データを、上述される予測、加算、変換、量子化、及びエントロピーコーディングステップを行わずにコーディングすることができる。他の例では、映像データのブロックの残差データは、符号器（例えば、映像符号器２０）によって量子化されない。従って、この例では、復号器（例えば、映像復号器３０）が量子化されていない残差データを予測データに加えたときに、その結果得られる映像データは、符号器によって符号化されたオリジナルの映像データのロスレス複製であることができる。いずれの場合も、ロスレスコーディングモードは、例えば、映像データを符号化時には符号器によって、及び映像データを復号時には復号器によって使用することができる。
【００４１】
コーディングされたビットストリームにおいて、映像データの１つ以上のブロックと関連付けられたＳＰＳ内の構文要素“ｑｐｐｒｉｍｅ_ｙ_ｚｅｒｏ_ｔｒａｎｓｑｕａｎｔ_ｂｙｐａｓｓ_ｆｌａｇ”、又は幾つかの例では、構文要素“ｃｕ_ｔｒａｎｓｑｕａｎｔ_ｂｙｐａｓｓ_ｆｌａｇ”を“１”の値に設定することは、映像データの現在のブロックに関するルマＱＰ、又は“ＱＰ’Ｙ”値が“０”に等しい場合は、ブロックをコーディングするためにロスレスコーディングプロセスを適用されるものとすると規定することができる。ロスレスコーディングモードでは、上述されるスケーリング及び変換プロセス及びインループフィルタプロセスは迂回することができる。
ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）では、ルマ量子化パラメータＱＰ’Ｙは次のように定義される。
【数１】
0005996663.tif 000002
【００４２】
ここで、“ＱｐＢｄＯｆｆｓｅｔＹ＝６＊ｂｉｔ_ｄｅｐｔｈ_ｌｕｍａ_ｍｉｎｕｓ８”
この例では、ビット深度が８ビットである場合は、ＱｐＢｄＯｆｆｓｅｔＹは、“０”に等しく、ビット深度が１０ビットである場合は、ＱｐＢｄＯｆｆｓｅｔＹは、“１２”に等しい。ＱＰＹの範囲は、“−ＱｐＢｄＯｆｆｓｅｔＹ”乃至“５１”であり、ＱＰ’Ｙの範囲は、“０”乃至“（５１＋ＱｐＢｄＯｆｆｓｅｔＹ）”である。
【００４３】
ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）により、インループデブロッキングフィルタは、現在のＣＵ、又は映像データのブロック、の処理をスキップすることができ、ブロックに関するｑｐｐｒｉｍｅ_ｙ_ｚｅｒｏ_ｔｒａｎｓｑｕａｎｔ_ｂｙｐａｓｓ_ｆｌａｇが“１”に等しい場合は“ＱＰ’Ｙ＝０”を有する。しかしながら、図８Ａにおいて例示され、以下においてより詳細に説明されるように、現在のＣＵ、又はブロック、がロスレスでコーディングされないＣＵ又はブロックによって囲まれている場合は（例えば、“ＱＰ’Ｙ＞０”）、デブロッキングフィルタは、現在のＣＵの左エッジ及び最上エッジの処理をスキップすることができ、現在のＣＵの右エッジ及び最下部エッジをデブロッキングフィルタリングすることができる。このアプローチ法に関する１つの潜在的な問題は、図８Ａに示されるロスレスＣＵのダッシュ線の部分（すなわち、ブロック８１２）によって示されるように、デブロッキングフィルタが現在のブロックの右エッジ及び最下部エッジに沿ったロスレスサンプルを修正することである。
【００４４】
この例では、デブロッキングフィルタパラメータβ及びｔｃは、デブロッキング中の現在のエッジの両側のブロックのＱＰＹ値の平均であるパラメータ“ＱＰＬ”に基づいて決定することができる。エッジの片側がロスレスでコーディングされる場合は、ＱＰＬ値は、次の式を用いて計算することができる。
【数２】
0005996663.tif 000003
【００４５】
ＩＰＣＭ及び映像データのロスレスでコーディングされたブロックに関するデブロッキングフィルタリングを実施することに関連して上述される様々なアプローチ法は、幾つかの欠点を有する。
【００４６】
一例として、ＩＰＣＭコーディングされたブロックの場合は、ＨＥＶＣＶの幾つかのドラフトバージョン（例えば、ＷＤ４）は、ブロックに関するＱＰ値は常に“ゼロ”に等しいと規定する。すべてのＩＰＣＭブロックに関してＱＰ値を“０”に設定することは、ブロックと関連付けられたｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇの値にかかわらず、ブロックの左エッジ及び最上エッジのデブロッキングフィルタリングを有効にディスエーブルにする。しかしながら、幾つかの場合は、（例えば、ＩＰＣＭブロックが再構築されたサンプルを含むときには）、ＩＰＣＭコーディングされたブロックの左エッジ及び最上エッジに関してデブロッキングフィルタリングを実施することが望ましい。さらに、幾つかの場合は、映像データの近隣ブロックのタイプ及びＱＰ値に依存して、ＩＰＣＭブロックの右エッジ及び最下部エッジをフィルタリングすることができる。さらに、前述されるように、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）は、ブロック間の“共通エッジ”に関するデブロッキングフィルタリングを行うためにブロックのＱＰ値の平均を計算することを規定する。従って、１つのブロックがＩＰＣＭブロックである場合は、平均の計算の結果、他方のブロックのＱＰ値が半分にすることができる（すなわち、ＩＰＣＭブロックのＱＰ値が“０”に等しいため）。この結果、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇの値にかかわらず、共通エッジのデブロッキングフィルタリングが弱すぎることになる可能性がある。
【００４７】
他の例として、上述されるインループデブロッキングフィルタリングプロセスは、ＨＥＶＣの幾つかのドラフトバージョンにより、ロスレスＣＵ、又は映像データのブロックを、デブロッキングフィルタリング、又はデブロッキングする方法は、本開示で説明される技法を用いて向上させることができる。一例として、ロスレスＣＵ、又はブロック、の右エッジ及び最下部エッジに関するデブロッキングフィルタリングを行うことは、ブロックのロスレスサンプルを修正することがあり、望ましくない可能性がある。他の例として、上記の技法を用いて導き出されたＱＰＬ値（すなわち、式２）は、図８Ｂに示されるように、ロスレスでコーディングされたＣＵ、又はブロック、に隣接するロッシーサンプルが修正される事例では不適切である可能性があり、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが真に等しい事例におけるＩＰＣＭエッジデブロッキングに類似する。
【００４８】
本開示は、上述される欠陥の一部を低減させるか又は排除することができる幾つかの技法について説明する。特に、本開示の技法は、ＩＰＣＭコーディングされたブロック、ロスレスでコーディングされたブロック、及び、１つ以上のＩＰＣＭ又はロスレスでコーディングされたブロックに隣接して位置するいわゆる“ロッシーな”コーディングされたブロックに関するデブロッキングフィルタリングを行うためのサポートを提供することができる。
【００４９】
一例として、開示される技法は、デブロッキングフィルタリングが予測されたＱＰ値に基づいてイネーブルにされるときに、ＩＰＣＭブロックに関するゼロでないＱＰ値を割り当てることを含む。例えば、予測されるＱＰ値は、ＩＰＣＭブロックを含む量子化グループに関するＱＰ値、又は、ＩＰＣＭブロックに隣接して又は近くに位置する映像データの近隣ブロックに関するＱＰ値であることができる。幾つかの事例では、オリジナルサンプルは歪みがなく、典型的にはデブロッキングフィルタリングを要求しないため、開示される技法は、再構築されたサンプルから成るＩＰＣＭブロックにしか適用することができない。その他の場合は、それらの技法は、再構築されたサンプル又はオリジナルサンプルから成るＩＰＣＭブロックに適用することができる。
【００５０】
他の例として、映像復号器３０は、既知の予測されたＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに暗黙に割り当てることができる。予測されるＱＰ値は、ＩＰＣＭブロックを含む量子化グループに関する、又はＩＰＣＭブロックの近隣ブロックに関するＱＰ値であることができる。例えば、ＩＰＣＭブロックが最小のＣＵ量子化グループサイズよりも小さいサイズを有するときには、映像復号器３０は、ＩＰＣＭブロックに関する割り当てられたゼロでないＱＰ値を、ＩＰＣＭブロックを含む量子化グループに関するＱＰ値に設定することができる。量子化グループは、最小のＣＵ量子化グループサイズよりも小さく、及びすべてが同じ値を有する映像データの１つ以上のブロック、又はＣＵ、を含むことができる。ＩＰＣＭブロックが最小のＣＵ量子化グループサイズ以上のサイズを有するときには、映像復号器３０は、ＩＰＣＭブロックに関する割り当てられたゼロでないＱＰ値を、ＩＰＣＭブロックの近隣ブロックに関するＱＰ値に設定することができる。近隣ブロックは、ＩＰＣＭブロックの左に位置する映像データのブロック、又はコーディング順序でＩＰＣＭブロックの最も近い前ブロックであることができる。
さらに他の例として、映像符号器２０は、予測されるＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに割り当て、割り当てられたゼロでないＱＰ値を映像復号器３０に明示でシグナリングすることができる。例えば、映像符号器２０は、割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表すＩＰＣＭブロックに関するｄＱＰ値をシグナリングすることができる。この場合は、映像復号器３０は、ＩＰＣＭブロックに関する受信されたｄＱＰ値及び予測されるＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに割り当てることができる。次に、映像復号器３０は、ＩＰＣＭブロックに関する割り当てられたゼロでないＱＰ値に基づいてＩＰＣＭブロックのサンプルにデブロッキングフィルタを適用することができる。その他の例では、映像符号器２０は、割り当てられたゼロでないＱＰ値を映像復号器３０に直接シグナリングすることができる。
【００５１】
さらに他の例として、本開示の技法により、図８Ｂにおいて例示されるように、デブロッキンフィルタは、ロスレスでコーディングされたＣＵ、又は映像データのブロック、のすべての境界エッジ（すなわち、最上部、最下部、左、及び右の境界エッジ）に関してオフにすることができ、ブロックに関するｑｐｐｒｉｍｅ_ｙ_ｚｅｒｏ_ｔｒａｎｓｑｕａｎｔ_ｂｙｐａｓｓ_ｆｌａｇが“１”に等しい場合は、ＱＰ’Ｙ＝０である。例えば、デブロッキングされるべき現在のエッジの両側のＱＰ’Ｙ値（すなわち、デブロッキングされるべき現在のエッジを共有するロスレスでコーディングされたブロック及び隣接ブロックに関するＱＰ’Ｙ値）を検査することができ、少なくとも１つの該値が“０”に等しい場合は、デブロッキングを省くことができる。代替として、現在のエッジの両側のＱＰ’Ｙ値を検査することができ、少なくとも１つの該値が“−ＱｂＢｄＯｆｆｓｅｔＹ”に等しい場合は、デブロッキングは省くことができる。ロスレスでコーディングされたＣＵ又はブロックの内部エッジ（例えば、“ＴＵ”エッジ）に関するＱＰ値の試験を回避するために、デブロッキングフィルタは、これらのエッジの処理をディスエーブルにすることができる。例えば、幾つかの例では、ＣＵ又はブロック全体に関してパラメータ“ｂＩｎｔｅｒｎａｌＥｄｇｅ”を偽に設定することができる。
他の例として、本開示の技法により、図８Ｂにおいて例示されるように、デブロッキングフィルタは、ロスレスでコーディングされたＣＵ又はブロックに隣接して位置するロッシーなブロックサンプルを修正し、ロスレスのＣＵサンプルは修正しない状態にすることができる。このアプローチ法は、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが真に等しいＩＰＣＭ  ＣＵ又はブロックの境界エッジをデブロッキングすることと同様である。開示される技法により、デブロッキングフィルタパラメータβ及びｔｃを決定するために使用されるＱＰＬ値がＨＥＶＣの幾つかのドラフトバージョンにより計算される方法は、変更、又は再定義することができる。その理由は、該技法（例えば、上記の式２を参照）を用いて計算されたＱＰＬ値は、周囲のロッシーなコーディングされた領域内でロスレスでコーディングされたＣＵ又はブロックを視覚的に楽しい形で統合させる上で不適切な場合があるためである。本開示によって提案される１つの可能な解決方法は、次式において示されるように、ロスレスでコーディングされたブロック及び隣接するロッシーなブロックによって共有される現在のエッジをデブロッキングするために２つのＱＰＹ，Ｐ／Ｑ値のうちの最大値を使用することである。
【数３】
0005996663.tif 000004
【００５２】
ここで、Ｐ及びＱは、現在のエッジの両側（例えば、左及び右、又は最上及び最下部のブロック）におけるブロック（すなわち、ロスレスでコーディングされたブロック及びロッシーなブロック）を表す。これは、以下の表１において示されるように、ブロックＰ及びＱの間のエッジのロッシーコーディングされた側に位置するＣＵ又はブロックのＱＰＹ値を使用するのと同等である。
【表１】
0005996663.tif 000005
【００５３】
以下の擬似コードは、特別な条件を決定する必要なしに、提案される“修正されたＱＰＬ”の導出を得るために使用することができる（例えば、ロスレスモードの決定が既に利用可能である）。
【数４】
0005996663.tif 000006
【００５４】
本開示で提案される技法は、幾つかの例では、デブロッキング強度を決定するためのＱＰＬの提案される導出によってロッシーコーディングされた領域とロスレスでコーディングされた領域との間のエッジの不連続部を平滑化することができる。その他の技法を使用することで、ロスレスでコーディングされた領域とロッシーコーディングされた領域との間の境界の不連続部をクリアに可視の境界にすることができる。本開示で提案される技法は、デブロッキングフィルタリングのための適切なＱＰＬを決定することを含み、幾つかの例では、境界の不連続部を低減させるのに役立つことができる。
【００５５】
本開示の技法と一致する形で上述されるデブロッキング行動をイネーブルにするために、単一のビットのコード、又は“フラグ”、を、ＳＰＳ、ピクチャパラメータセット（ＰＰＳ）、適合パラメータセット（ＡＰＳ）、又はスライスヘッダ内でシグナリングすることができる。例えば、図８Ｂに示されるように、ロスレスＣＵ、又はブロックエッジ、に隣接するロッシーコーディングされたサンプルのデブロッキングフィルタリングをイネーブルにするために“１”に等しい構文要素“ｌｏｓｓｌｅｓｓ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｅｎａｂｌｅ_ｆｌａｇ”を使用することができ、他方、“０”に等しいフラグは、ロスレスＣＵのすべての境界のデブロッキングをディスエーブルにするために使用することができる。代替として、ＩＰＣＭコーディングされたブロックを参照して上述されるｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇの定義は、ロスレスでコーディングされたＣＵ又はブロックの事例を網羅するために拡大することもできる。例えば、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが真に等しい（例えば、“１”に等しい）事例では、図８Ｂにおいて描かれるデブロッキング行動は、ＩＰＣＭ及びロスレスＣＵ境界エッジの両方に適用することができる。ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが偽に等しい（例えば、“０”に等しい）場合は、ロスレスＣＵ境界のデブロッキングを完全にディスエーブルにすることができ、他方、ＩＰＣＭのデブロッキングは、ＩＰＣＭ境界の両側でイネーブルにすることができる。
【００５６】
他の例では、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが偽に等しい場合は、ＩＰＣＭ境界の場合と同じように、境界の両側でロスレスＣＵ又はブロック境界のデブロッキングをイネーブルにすることができる。さらに他の例で、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが偽に等しい場合は、ロスレスＣＵ又はブロック境界又はＩＰＣＭ境界のデブロッキングは、境界の両側でディスエーブルにすることができ、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが真に等しい場合は、ロスレスＣＵ境界及びＩＰＣＭ境界のデブロッキングは、図８Ｂにおいて描かれるように、片側のみでイネーブルにすることができる。ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇは、ＩＰＣＭコーディングモード及びロスレスコーディングモードの両方への適用可能性及び両方内での使用を反映させるために構文要素“ｐｃｍ_ｔｒａｎｓｑｕａｎｔ_ｌｏｏｐｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇ”に改名することができる。
【００５７】
従って、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇに関する２つの値は、（１）両側に関するデブロッキングをイネーブルにし及び両側に関するデブロッキングをディスエーブルにすること、（２）両側に関するデブロッキングをイネーブルにし及びミックスすること、又は（３）両側に関するデブロッキングをディスエーブルにし及びミックスすることに対応することができる。この文脈での“両側”は、ロッシーコーディングされたＣＵ又はブロックとロスレスでコーディングされたＣＵ又はブロックとの間の境界の２つの側を意味する（すなわち、図８Ａ及び８Ｂに示されるように、ロスレスでコーディングされたＣＵの内部の１つの境界エッジ、及びロッシーコーディングされたＣＵ内部の１つの境界エッジ）。この文脈での“ミックス”は、概して、ロッシーコーディングされたＣＵの内部の境界エッジに関してはデブロッキングフィルタリングが行われるが、ロスレスでコーディングされたＣＵの内部の境界エッジに関してはデブロッキングフィルタリングがディスエーブルにされる、ここにおいて説明される技法を意味する。
【００５８】
さらに他の例として、本開示の技法により、現在のブロック及び１つ以上のその他のブロックの境界エッジに沿ったデブロッキングフィルタリングを制御するために、現在のブロックに関するＱＰ値又は構文要素“ｄｅｌｔａ_ＱＰ”値を、ブロックに関するロスレスＣＵデータとともに、例えば、映像符号器２０から映像復号器３０にシグナリングすることができる。本開示のさらに他の技法により、ロスレスでコーディングされたＣＵ又はブロックの１つ以上の境界エッジに沿ったデブロッキングフィルタリングを制御するために使用される現在のブロックに関するＱＰ値を、ロッシーコーディングされたＣＵ又はブロックからのＱＰＹ値又はｄｅｌｔａ_ＱＰ値から予測することができる。本開示のその他の技法により、境界エッジに沿ったデブロッキングを制御するために一定のＱＰ値（例えば、“０”又は他の値）をロスレスＣＵに割り当てることができる。
【００５９】
従って、本開示の技法に一致する幾つかの例では、ソースデバイス１２の映像符号器２０は、映像データの幾つかのブロック（例えば、ＣＵの１つ以上のＰＵ又はＴＵ）を符号化するように構成することができる。これらの例では、行先デバイス１４の映像復号器３０は、映像符号器２０から符号化された映像データを受信して映像データを復号するように構成することができる。一例として、映像符号器２０及び／又は映像復号器３０は、映像データの複数のブロックをコーディングするように構成することができ、映像データの複数のブロックのうちの少なくとも１つのブロックは、ＩＰＣＭコーディングモード及びロスレスコーディングモードのうちの１つであるコーディングモードを用いてコーディングされる。幾つかの例では、ロスレスコーディングモードは、予測を使用するロスレスコーディングモードに対応することができる。これらの例では、映像符号器２０及び／又は映像復号器３０は、映像データのブロックの残差データを生成するために少なくとも上述される予測ステップ及び加算ステップを行うことができる。さらに、これらの例では、映像符号器２０及び／又は映像復号器３０は、残差データを量子化するのを回避することができる。しかしながら、その他の例では、ロスレスコーディングモードは、予測が使用されないロスレスコーディングモードに対応することができる（例えば、映像データのブロックのオリジナルの、すなわち“生の”データが、上述される予測、加算、変換、量子化、及びエントロピーコーディングの各ステップを実施せずにコーディングされる）。いずれの場合も、この例では、映像符号器２０及び／又は映像復号器３０は、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるようにさらに構成することができる。同じくこの例で、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うようにさらに構成することができる。
この方法により、本開示の技法は、その他の技法と比較して、映像符号器２０及び／又は映像復号器３０が１つ以上のブロックをコーディングするときに映像データの１つ以上のブロックの視覚品質を向上させるのを可能にすることができる。特に、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし及びデブロッキングフィルタリングを特定の方法で行うことによって再構築された映像データから成る１つ以上のＩＰＣＭコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによって、オリジナル映像データを含む１つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる（例えば、オリジナルの、すなわち“生の”映像データとして、又は残差の量子化されない映像データとしてコーディングされるかにかかわらない）。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、ロッシーコーディングモードを用いてコーディングされる１つ以上のブロック、例えば、１つ以上のＩＰＣＭ又はロスレスでコーディングされたブロックに隣接して位置するブロック、の視覚品質を向上させることもできる。その結果、本開示の技法を使用時には、ＩＰＣＭ、ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの１つ以上のブロックの視覚品質の相対的な向上が存在することができる。
映像符号器２０及び映像復号器３０は、各々、様々な適切な符号器又は復号器回路、例えば、１つ以上のマイクロプロセッサ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、又はそれらのあらゆる組み合わせのうちのいずれかとして適宜実装することができる。映像符号器２０及び映像復号器３０の各々は、１つ以上の符号器又は復号器内に含めることができ、それらのいずれも、結合された映像符号器／復号器（ＣＯＤＥＣ）の一部として一体化することができる。映像符号器２０及び／又は映像復号器３０を含む装置は、集積回路（ＩＣ）、マイクロプロセッサ、及び／又は無線通信デバイス、例えば、携帯電話、を備えることができる。
図２は、本開示の技法に一致した、ＩＰＣＭ及びロスレスコーディングモードデブロッキングに関する技法を実施することができる映像符号器の例を示すブロック図である。映像符号器２０は、映像スライス内の映像ブロックのイントラ及びインターコーディングを行うことができる。イントラコーディングは、空間予測に依存し、所定の映像フレーム又はピクチャ内の映像の空間的冗長性を低減又は除去する。インターコーディングは、時間的予測に依存し、映像シーケンスの隣接するフレーム又はピクチャ内の映像の時間的冗長性を低減又は除去する。イントラモード（Ｉモード）は、幾つかの空間に基づく圧縮モードのうちのいずれかを意味することができる。インターモード、例えば、単方向性予測（Ｐモード）又は両方向性予測（Ｂモード）、は、幾つかの時間に基づく圧縮モードのうちのいずれかを意味することができる。
図２の例では、映像符号器２０は、モード選択ユニット４０と、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測モジュール４６と、ＩＰＣＭ符号化ユニット４８Ａと、ロスレス符号化ユニット４８Ｂと、基準ピクチャメモリ６６と、加算器５０と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６と、を含む。映像ブロックの再構築のために、映像符号器２０は、逆量子化ユニット５８と、逆変換モジュール６０と、加算器６２と、も含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためのデブロッキングフィルタ６４も含まれる。
【００６０】
図２に示されるように、映像符号器２０は、符号化されるべき映像スライス内の現在の映像ブロックを受信する。スライスは、複数の映像ブロックに分割することができる。モード選択ユニット４０は、誤りの結果に基づいて現在の映像ブロックに関してコーディングモード、イントラ、インター、ＩＰＣＭ、又はロスレス、のうちの１つを選択することができる。イントラ又はインターモードが選択される場合は、モード選択ユニット４０は、結果的に得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に提供し、基準ピクチャとしての使用のために符号化されたブロックを再構築するために加算器６２に提供する。イントラ予測モジュール４６は、空間圧縮を提供するためにコーディングされるべき現在のブロックと同じフレーム又はスライス内の１つ以上の近隣ブロックに関して現在の映像ブロックのイントラ予測コーディングを行う。動き推定ユニット４２及び動き補償ユニット４４は、時間的圧縮を提供するために１つ以上の基準ピクチャ内の１つ以上の予測ブロックに関して現在の映像ブロックのインター予測コーディングを行う。
【００６１】
インターコーディングの場合は、動き推定ユニット４２は、映像シーケンスに関する予め決定されたパターンにより映像スライスに関するインター予測モードを決定するように構成することができる。予め決定されたパターンは、シーケンス内の映像スライスをＰスライス、Ｂスライス又はＧＰＢスライスとして指定することができる。動き推定ユニット４２及び動き補償ユニット４４は、一体化されることが非常に多いが、概念上の目的で別々に例示される。動き推定は、動き推定ユニット４２によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、基準ピクチャ内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのＰＵの変位を示すことができる。
予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのＰＵと非常にマッチすることが判明しているブロックであり、絶対差分和（ＳＡＤ）、平方差分和（ＳＳＤ）、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器２０は、基準ピクチャメモリ６６に格納された基準ピクチャの整数未満（ｓｕｂ−ｉｎｔｅｇｅｒ）ピクセル位置に関する値を計算することができる。例えば、映像符号器２０は、１／４ピクセル位置、１／８ピクチャ位置、又は基準ピクチャのその他の分数のピクセル位置の値を計算することができる。従って、動き推定ユニット４２は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数ピクセル精度を有する動きベクトルを出力することができる。
【００６２】
動き推定ユニット４２は、ＰＵの位置を基準ピクチャの予測ブロックの位置と比較することによってインターコーディングされたスライス内の映像ブロックのＰＵに関する動きベクトルを計算する。基準ピクチャは、第１の基準ピクチャリスト（リスト０）又は第２の基準ピクチャリスト（リスト１）から選択することができ、それらの各々は、基準ピクチャメモリ６６に格納された１つ以上の基準ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６及び動き補償ユニット４４に送信する。
【００６３】
動き補償は、動き補償ユニット４４によって行われ、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができる。現在の映像ブロックのＰＵに関する動きベクトルを受信した時点で、動き補償ユニット４４は、動きベクトルが基準ピクチャリストのうちの１つにおいて指し示す予測ブロックを突き止めることができる。映像符号器２０は、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクセル値を減じてピクチャ差分値を形成することによって、残差映像ブロックを形成する。ピクセル差分値は、ブロックに関する残差データを形成し、ルマ及びクロマの両方の差分成分を含むことができる。加算器５０は、この減算演算を行う成分又は成分（複数）を表す。動き補償ユニット４４は、映像スライスの映像ブロックを復号する際に映像復号器３０によって使用するために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
【００６４】
動き補償ユニット４４が現在の映像ブロックに関する予測ブロックを生成後は、映像符号器２０は、現在の映像ブロックから予測ブロックを減じることによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、１つ以上のＴＵ内に含め、変換モジュール５２に適用することができる。変換モジュール５２は、変換、例えば、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換、を用いて残差映像データを残差変換係数に変換する。変換モジュール５２は、残差映像データをピクセル領域から変換領域、例えば、周波数領域、に変換する。
【００６５】
変換モジュール５２は、結果的に得られた変換係数を量子化ユニット５４に送信することができる。量子化ユニット５４は、変換係数を量子化してビットレートをさらに低減させる。量子化プロセスは、一部の又は全部の係数と関連付けられたビット深度を低減させることができる。量子化の程度は、ＱＰを調整することによって変更することができる。幾つかの例では、量子化ユニット５４は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化ユニット５６は、同走査を行うことができる。
量子化に引き続き、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、ＣＡＶＬＣ、ＣＡＢＡＣ、又は他のエントロピーコーディング技法を実施することができる。エントロピー符号化ユニット５６によるエントロピー符号化に引き続き、符号化されたビットストリームは、映像復号器３０に送信するか、又は映像復号器３０によるのちの送信又は取り出しを目的として保存することができる。エントロピー符号化ユニット５６は、コーディング中の現在の映像スライスに関する動きベクトル及びその他の構文要素をエントロピー符号化することもできる。
【００６６】
逆量子化ユニット５８及び逆変換モジュール６０は、基準ピクチャの基準ブロックとしてのちに使用するために残差ブロックをピクセル領域で再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償ユニット４４は、基準ピクチャリストのうちの１つ内の基準ピクチャのうちの１つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット４４は、動き推定において使用するための整数未満ピクセル値を計算するために１つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。加算器６２は、基準ピクチャメモリ６６での格納用に基準ブロックを生成するために動き補償ユニット４４によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。基準ブロックは、後続する映像フレーム又はピクチャ内のブロックをインター予測するための基準ブロックとして動き推定ユニット４２及び動き補償ユニット４４によって使用することができる。
【００６７】
図１を参照して上述されるように、映像符号器２０は、映像符号器２０が開示される映像符号器２０に属するＩＰＣＭ及びロスレスコーディング技法を実施するのを可能にすることができるＩＰＣＭ符号化ユニット４８Ａ及びロスレス符号化ユニット４８Ｂも含む。
【００６８】
一例として、映像符号器２０は、映像コーディングプロセス中に映像データの１つ以上のブロックを符号化するように構成することができる。例えば、映像符号器２０は、映像データの複数のブロックを符号化するように構成することができ、映像符号器２０は、ＩＰＣＭコーディングモードと及びロスレスコーディングモードのうちの１つであるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも１つのブロックを符号化する。以前に説明されるように、幾つかの例では、ロスレスコーディングモードは、（例えば、少なくとも１つのブロックの残差データを生成するための加算とともに）ブロックをコーディングするために少なくとも１つのブロックに関する予測を行うことを含むことができる。しかしながら、その他の例では、ロスレスコーディングモードは、（例えば、オリジナルな、すなわち“生の”映像データとして）予測を行わずに少なくとも１つのブロックをコーディングするために使用することができる。
例えば、以前に説明されるように、ＩＰＣＭコーディングモードを用いて符号化された映像データの複数のブロックのうちの少なくとも１つのブロックは、再構築された映像データを含む少なくとも１つのブロックに対応することができる。例えば、再構築された映像データは、オリジナルの映像データのブロックを用いて図１の映像符号器２０を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって映像符号器２０によって生成することができる。上述されるステップを実施することによって、映像符号器２０は、量子化及び変換された残差係数のブロックを生成することができる。後続して、映像符号器２０は、再構築された映像データのブロックを生成するために、同じく上述されるように、量子化及び変換された残差係数に関する逆量子化、逆変換、予測、及び加算を実施するように構成することができる。代替として、同じく前述されるように、ロスレスコーディングモードを用いて符号化された少なくとも１つのブロックは、オリジナルの映像データ、又は残差の量子化されない映像データを含む少なくとも１つのブロックに対応することができる。
【００６９】
いずれの場合も、映像符号器２０は、コーディングモードを用いて符号化された少なくとも１つのブロックに関するゼロ以外のＱＰ値を割り当てるようにさらに構成することができる。前述されるように、映像符号器２０は、例えば、映像データの１つ以上の近隣ブロックの各々のＱＰ値を用いて決定することができる、少なくとも１つのブロックに関する予測されるＱＰ値を用いて少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てるように構成することができる。映像符号器２０は、少なくとも１つのブロックを符号化するために映像符号器２０によって使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うように構成することもできる。
【００７０】
幾つかの例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うために、映像符号器２０は、次のステップを実施するように構成することができる。例えば、少なくとも１つのブロックをコーディングするために使用されたコーディングモードがＩＰＣＭコーディングモードである場合は、映像符号器２０は、割り当てられたゼロでないＱＰ値に基づいて映像データの少なくとも１つのブロックに関するデブロッキングフィルタリングを行うように構成することができる。さらに、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである場合は、映像符号器２０は、割り当てられたゼロでないＱＰ値に基づいて
映像データの複数のブロックのうちの１つの隣接ブロックに関するデブロッキングフィルタリングを行うように構成することができる。この例では、隣接ブロックは、少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。
【００７１】
幾つかの例では、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像符号器２０は、割り当てられたゼロでないＱＰ値に基づいてデブロッキングフィルタリングのためのフィルタを選択するように構成することができる。例えば、映像符号器２０は、割り当てられたゼロでないＱＰ値を用いて、フィルタを用いるデブロッキングフィルタリングが行われる方法を定義する１つ以上のフィルタリングパラメータ又はプロパティを含むような形でフィルタを選択するように構成することができる。その他の例では、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像符号器２０は、デブロッキング決定を参照して上述されるように、割り当てられたゼロでないＱＰ値に基づいてデブロッキングフィルタリングに関するフィルタ強度を決定するように構成することができる。
【００７２】
幾つかの例では、映像符号器２０は、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうち１つ以上に関するデブロッキングフィルタリングを行う前に、映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングをイネーブルにするように構成することができる。その他の例では、コーディングモードは、ロスレスコーディングモードであることができる。これらの例では、映像符号器２０は、少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにするようにさらに構成することができる。これらの例では、少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることは、少なくとも１つのブロックの内部の境界エッジに関するデブロッキングフィルタリングを行わないことを含むことができる。
幾つかの例では、少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てるために、映像符号器２０は、次のうちの１つ以上に基づいて割り当てられたゼロでないＱＰ値を決定するように構成することができる。すなわち、（１）少なくとも１つのブロックに関するシグナリングされたＱＰ値（例えば、シグナリングされたＱＰ値は、割り当てられたゼロでないＱＰ値を示す）、（２）少なくとも１つのブロックに関する予測されるＱＰ値（例えば、映像データの１つ以上の近隣ブロックの各々のＱＰ値を用いて決定）、及び（３）少なくとも１つのブロックに関するシグナリングされたｄＱＰ値（例えば、ｄＱＰ値は、割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表す）。一例として、シグナリングされたＱＰ値及びｄＱＰ値の各々は、該当するときには、映像符号器２０によって決定し、ビットストリーム内で映像復号器３０にシグナリングすることができる。他の例として、予測されるＱＰ値は、映像符号器２０によって決定することができる。
その他の例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０は、次のステップを実施するように構成することができる。例えば、少なくとも１つのブロックのサイズが最小のＣＵ量子化グループサイズよりも小さいときには、映像符号器２０は、少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。これらの例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックを含むこともできる。
【００７３】
上述されるように、幾つかの例では、量子化グループ内に含まれる映像データのブロックの各々は、同じグループＱＰ値を有することができる。これらの例では、映像符号器２０は、この共通のグループＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。しかしながら、その他の例では、量子化グループの幾つかのブロック（例えば、ＱＰ値が例えばｄＱＰ値としてシグナリングされる量子化グループの第１のブロックから始まるブロック）のみが、同じグループＱＰ値を有することができる。これらの例では、映像符号器２０は、量子化グループのブロックの部分組のみに共通するこの特定のグループＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。
【００７４】
さらに、少なくとも１つのブロックのサイズが最小のＣＵ量子化グループサイズ以上であるときには、映像符号器２０は、映像データの複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。例えば、近隣ブロックは、少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上であることができる。
【００７５】
さらにその他の例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０は、少なくとも１つのブロックのサイズが最小のＣＵ量子化グループサイズよりも小さいときには映像データの複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。これらの例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックを含むこともできる。これらの例では、近隣ブロックは、少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上であることができる。例えば、少なくとも１つのブロックがいわゆる“エッジ”ブロック（すなわち、ブロックを含む映像データのフレームの境界に隣接して位置する映像のブロック）である事例では、少なくとも１つのブロックに隣接して位置するブロックは存在することができない。該事例では、近隣ブロックは、前にコーディングされたブロック、すなわち、少なくとも１つのブロックと前にコーディングされたブロックとを含む映像データのフレームと関連付けられたコーディング順序で少なくとも１つのブロックの前に発生する映像データのブロック、であることができる。
幾つかの例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０は、映像データの複数のブロックのうちの１つのロッシーブロックに関するＱＰ値及びｄＱＰ値のうちの１つを割り当てられたゼロでないＱＰ値として設定するように構成することができる。これらの例では、ｄＱＰ値は、ロッシーブロックに関するＱＰ値及び予測されるＱＰ値との間の差分を表すことができる。同じくこれらの例では。ロッシーブロックは、ロッシーコーディングモード、例えば、上述される予測、加算、変換、及び量子化ステップ、又は同様のステップ、を実施することを含むコーディングモード、を用いてコーディングされたブロックであることができる。
その他の例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０は、一定の値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。
【００７６】
幾つかの例では、コーディングすることは、符号化することであることができる。これらの例では、少なくとも１つのブロックを符号化するために、映像符号器２０は、ビットストリームにおいて少なくとも１つのブロックの残差の量子化されていない映像データ及び再構築された映像データのうちの１つをシグナリングするように構成することができる。同じくこれらの例で、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０は、割り当てられたゼロでないＱＰ値をビットストリームでシグナリングすること、及び少なくとも１つのブロックに関するｄＱＰ値をビットストリームでシグナリングすることのうちの１つを行うように構成することができる。例えば、ｄＱＰ値は、少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表すことができる。これらの例では、映像符号器２０は、ビットストリームにおいて１つ以上の構文要素をシグナリングするようにさらに構成することができる。例えば、１つ以上の構文要素は、映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示すことができる。
上記の例では、特に、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、１つ以上の構文要素は、“第１の”１つ以上の構文要素と呼ぶことができる。これらの例では、映像符号器２０は、ビットストリームにおいて第２の１つ以上の構文要素をシグナリングするようにさらに構成することができる。例えば、第２の１つ以上の構文要素は、少なくとも１つのブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示すことができる。
【００７７】
従って、上で説明されるように、本開示の技法は、その他の技法と比較して、映像符号器２０が１つ以上のブロックを符号化するときに映像データの１つ以上のブロックの視覚品質を向上させるのを可能にすることができる。特に、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし及びデブロッキングフィルタリングを特定の方法で行うことによって再構築された映像データから成る１つ以上のＩＰＣＭブロックコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含む１つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ロッシーコーディングされたブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、ロッシーコーディングモードを用いてコーディングされた１つ以上のブロック、例えば、１つ以上のＩＰＣＭ又はロスレスでコーディングされたブロックに隣接する１つ以上のブロック、の視覚品質を向上させることができる。その結果、本開示の技法を使用したときには、ＩＰＣＭ，ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの１つ以上のブロックの視覚品質の相対的な向上が存在することができる。
この方法により、映像符号器２０は、映像データの複数のブロックをコーディングするように構成された映像コーダの例を代表し、映像コーダは、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つであるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも１つのブロックをコーディングするように構成される。同じくこの例において、映像コーダは、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでないＱＰ値を割り当て及び少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関して割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うようにさらに構成される。
【００７８】
図３は、本開示の技法に一致する形で、ＩＰＣＭ及びロスレスコーディングモードデブロッキングに関する技法を実施することができる映像復号器の例を示したブロック図である。図３の例では、映像復号器３０は、エントロピー復号ユニット８０と、ＩＰＣＭ復号ユニット９８Ａと、ロスレス復号ユニット９８Ｂと、予測モジュール８２と、逆量子化ユニット８８と、逆変換モジュール９０と、加算器９２と、デブロッキングフィルタ９４と、基準ピクチャメモリ９６と、を含む。予測モジュール８２は、動き補償ユニット８４と、イントラ予測モジュール８６と、を含む。映像復号器３０は、幾つかの例では、図２からの映像符号器２０に関して説明される符号化パス（ｅｎｃｏｄｉｎｇ  ｐａｓｓ）と概して相互的である復号パスを行うことができる。
【００７９】
復号プロセス中には、映像復号器３０は、符号化された映像スライスの映像ブロック及び映像符号器２０からの関連付けられた構文要素を表す符号化された映像ビットストリームを受信する。ビットストリーム内の表現された映像ブロックが圧縮された映像データを含むときには、映像復号器３０のエントロピー復号ユニット８０は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトル及びその他の構文要素を予測モジュール８２に転送する。映像復号器３０は、映像スライスライスレベル及び／又は映像ブロックレベルで構文要素を受信することができる。
【００８０】
映像スライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるときには、予測モジュール８２のイントラ予測モジュール８６は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。映像フレームがインターコーディングされた（すなわち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコーディングされるときには、予測モジュール８２の動き補償ユニット８４は、動きベクトル及びエントロピー復号ユニット８０から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの１つ内の基準ピクチャのうちの１つから生成することができる。映像復号器３０は、基準ピクチャメモリ９６に格納される基準ピクチャに基づいてデフォルトの構築技法を用いて、基準フレームリスト、リスト０及びリスト１を構築することができる。
【００８１】
動き補償ユニット８４は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する構文情報を決定し、及び、予測情報を使用して復号中の現在の映像ブロックに関する予測ブロックを生成する。例えば、動き補償ユニット８４は、受信された構文要素の一部を使用し、映像スライスの映像ブロックをコーディングするために使用された予測モード（例えば、イントラ又はインター予測）、インター予測スライスタイプ（例えば、Ｂスライス、Ｐスライス、又はＧＰＢスライス）、スライスに関する基準ピクチャリストのうちの１つ以上に関する構築情報、スライスの各々のインター符号化された映像ブロックに関する動きベクトル、スライスの各々のインターコーディングされた映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報を決定することができる。
動き補償ユニット８４は、内挿フィルタに基づいた内挿を行うこともできる。動き補償ユニット８４は、基準ブロックの整数未満のピクセルに関する内挿された値を計算するために映像ブロックの符号化中に映像符号器２０によって使用される内挿フィルタを使用することができる。動き補償ユニット８４は、受信された構文要素から映像符号器２０によって使用される内挿フィルタを決定し、予測ブロックを生成するために内挿フィルタを使用することができる。
逆量子化ユニット８８は、ビットストリーム内で提供されてエントロピー復号ユニット８０によって復号された量子化された変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、適用されるべき量子化度、及び同様に逆量子化度を決定するために映像スライス内の各映像ブロックに関して映像符号器２０によって計算された量子化パラメータ（ＱＰ）の使用を含むことができる。逆変換モジュール９０は、ピクセル領域内で残差ブロックを生成するために逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に類似する逆変換プロセスを変換係数に適用する。
【００８２】
動き補償ユニット８４が、動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器３０は、逆変換モジュール９０からの残差ブロックを動き補償ユニット８４によって生成された対応する予測ブロックと加算することによって復号された映像ブロックを形成する。加算器９２は、この加算演算を行うコンポーネント又はコンポーネント（複数）を代表する。ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタ９４が適用される。次に、所定のフレーム又はピクチャ内の復号された映像ブロックが基準ピクチャメモリ９６に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準ピクチャメモリ９６は、表示装置、例えば、図１の表示装置２８、上でののちの提示のために復号された映像も格納する。
【００８３】
図１を参照して既に上記されているように、映像復号器３０は、映像復号器３０が開示される映像復号器３０に属するＩＰＣＭ及びロスレスコーディング技法を実施するのを可能にすることができるＩＰＣＭ復号ユニット９８Ａ及びロスレス復号ユニット９８Ｂも含む。
【００８４】
一例として、映像復号器３０は、映像コーディングプロセス中に映像データの１つ以上のブロックを復号するように構成することができる。例えば、映像復号器３０は、映像データの複数のブロックを復号するように構成することができ、映像データの複数のブロックのうちの少なくとも１つのブロックを、ＩＰＣＭコーディングモード及びロスレスコーディングモードのうちの１つであるコーディングモードを用いて、すなわち映像符号器２０によって符号化することができる。図１及び２を参照して上述されるように、幾つかの例では、ロスレスコーディングモードは、（例えば、少なくとも１つのブロックの残差データを生成するための加算とともに）ブロックをコーディングするために少なくとも１つのブロックに関する予測を行うことを含むことができる。しかしながら、その他の例では、ロスレスコーディングモードは、（例えば、オリジナルの、又は“生の”映像データとして）予測を行わずに少なくとも１つのブロックをコーディングするために使用することができる。
【００８５】
一例として、前述されるように、ＩＰＣＭコーディングモードを用いて符号化された映像データの複数のブロックのうちの少なくとも１つのブロックは、再構築された映像データを含む少なくとも１つのブロックに対応することができる。例えば、再構築された映像データは、オリジナルの映像データのブロックを用いて図１及び２の映像符号器２０を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって、例えば、映像符号器２０によって生成することができる。上記のステップを実施することによって、映像符号器２０は、量子化された及び変換された残差係数のブロックを生成することができる。後続して、映像符号器２０は、再構築された映像データのブロックを生成するために、同じく上述されるように、量子化及び変換された残差係数に関する逆量子化、逆変換、予測、及び加算を行うように構成することができる。代替として、同じく上述されるように、ロスレスコーディングモードを用いて符号化された少なくとも１つのブロックは、オリジナルの映像データ、又は残差の量子化されてない映像データを含む少なくとも１つのブロックに対応することができる。
【００８６】
いずれの場合も、映像復号器３０は、コーディングモードを用いて符号化された少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるようにさらに構成することができる。前述されるように、映像復号器３０は、例えば、少なくとも１つのブロックに関する予測されるＱＰ値を用いて少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てるように構成することができ、それは、映像データの１つ以上の近隣ブロックの各々のＱＰ値を用いて決定することができる。映像復号器３０は、少なくとも１つのブロックをコーディングするために使用されたコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うように構成することもできる。
【００８７】
幾つかの例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングを行うために、映像復号器３０は、次のステップを実施するように構成することができる。例えば、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである場合は、映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロックに関するデブロッキングフィルタリングを行うように構成することができる。さらに、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである場合は、映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つの隣接ブロックに関するデブロッキングフィルタリングを行うように構成することができる。この例では、隣接ブロックは、少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。
幾つかの例では、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいてデブロッキングフィルタリングのためのフィルタを選択するように構成することができる。例えば、映像復号器３０は、割り当てられたゼロでないＱＰ値を用いて、フィルタを用いるデブロッキングフィルタリングが行われる方法を定義する１つ以上のフィルタリングパラメータ又はプロパティを含むような形でフィルタを選択するように構成することができる。その他の例では、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像復号器３０は、デブロッキング決定を参照して上述されるように、割り当てられたゼロでないＱＰ値に基づいてデブロッキングフィルタリングに関するフィルタ強度を決定するように構成することができる。
【００８８】
幾つかの例では、映像復号器３０は、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行う前に、映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングをイネーブルにするように構成することができる。その他の例では、コーディングモードは、ロスレスコーディングモードであることができる。これらの例では、映像復号器３０は、少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにするようにさらに構成することができる。これらの例では、少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることは、少なくとも１つのブロックの内部の境界エッジに関するデブロッキングフィルタリングを行わないことを含むことができる。
幾つかの例では、少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てるために、映像復号器３０は、次のうちの１つ以上に基づいて割り当てられたゼロでないＱＰ値を決定するように構成することができる。すなわち、（１）少なくとも１つのブロックに関するシグナリングされたＱＰ値（例えば、シグナリングされたＱＰ値は、割り当てられたゼロでないＱＰ値を示す）、（２）少なくとも１つのブロックに関する予測されるＱＰ値（例えば、映像データの１つ以上の近隣ブロックの各々のＱＰ値を用いて決定）、及び（３）少なくとも１つのブロックに関するシグナリングされたｄＱＰ値（例えば、ｄＱＰ値は、割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表す）。一例として、シグナリングされたＱＰ値及びｄＱＰ値の各々は、該当するときには、ビットストリームにおいて映像符号器２０から映像復号器３０によって受信することができる。他の例として、予測されるＯＰ値は、映像復号器３０によって決定することができる。
その他の例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像復号器３０は、次のステップを実施するように構成することができる。例えば、少なくとも１つのブロックのサイズが最小のＣＵ量子化グループサイズよりも小さいときには、映像復号器３０は、少なくとも１つのブロックを含む量子化グループに関するグループＱＰ値、例えば、少なくとも１つのグループＱＰ値、を割り当てられたゼロでないＱＰ値として設定することができる。これらの例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックを含むこともできる。上述されるように、幾つかの例では、量子化グループ内に含まれる映像データのブロックの各々は、同じグループＱＰ値を有することができる。これらの例では、映像復号器３０は、この共通のグループＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。しかしながら、その他の例では、量子化グループの幾つかのブロック（例えば、ＱＰ値が例えばｄＱＰ値としてシグナリングされる量子化グループの第１のブロックから始まるブロック）のみが、同じグループＱＰ値を有することができる。これらの例では、映像復号器３０は、量子化グループのブロックの部分組のみに共通するこの特定のグループＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。さらに、少なくとも１つのブロックのサイズが最小のＣＵ量子化グループサイズ以上であるときには、映像復号器３０は、映像データの複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。例えば、近隣ブロックは、少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上であることができる。
【００８９】
さらにその他の例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像復号器３０は、少なくとも１つのブロックのサイズが最小のＣＵ量子化グループサイズよりも小さいときには映像データの複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。これらの例では、近隣ブロックは、少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上であることができる。例えば、少なくとも１つのブロックがいわゆる“エッジ”ブロック（すなわち、ブロックを含む映像データのフレームの境界に隣接して位置する映像データのブロック）である事例では、少なくとも１つのブロックに隣接して位置するブロックは存在することができない。該事例では、近隣ブロックは、前にコーディングされたブロック、すなわち、少なくとも１つのブロックと前にコーディングされたブロックとを含む映像データのフレームと関連付けられたコーディング順序で少なくとも１つのブロックの前に発生する映像データのブロック、であることができる。
幾つかの例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像復号器３０は、映像データの複数のブロックのうちのロッシーブロックに関するＱＰ値及びｄＱＰ値のうちの１つを割り当てられたゼロでないＱＰ値として設定するように構成することができる。前述されるのと同様の方法で、これらの例では、ｄＱＰ値は、ロッシーブロックに関するＱＰ値と予測されるＱＰ値との間の差分を表すことができる。同じくこれらの例では、ロッシーブロックは、ロッシーコーディングモード、例えば、上述される予測、加算、変換、及び量子化ステップ、又は類似のステップ、を実施することを含むコーディングモード、を用いてコーディングされたブロックであることができる。
その他の例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像復号器３０は、一定の値を割り当てられたゼロでないＱＰ値として設定するように構成することができる。
幾つかの例では、コーディングすることは、復号することであることができる。これらの例では、少なくとも１つのブロックを復号するために、映像復号器３０は、受信されたビットストリームにおいて少なくとも１つのブロックの残差の量子化されていない映像データ及び再構築された映像データのうちの１つを受信するように構成することができる。同じくこれらの例で、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像復号器３０は、割り当てられたゼロでないＱＰ値を受信されたビットストリームで受信すること、及び少なくとも１つのブロックに関するｄＱＰ値を受信されたビットストリームで受信することのうちの１つを行うように構成することができる。例えば、ｄＱＰ値は、少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表すことができる。映像復号器３０が少なくとも１つのブロックに関するｄＱＰ値を受信するように構成される例では、映像復号器３０は、ｄＱＰ値及び予測されるＱＰ値に基づいて割り当てられたゼロでないＱＰ値を決定するようにさらに構成することができる。映像復号器３０は、受信されたビットストリームで１つ以上の構文要素を受信するようにさらに構成することができる。例えば、１つ以上の構文要素は、映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングをイネーブルにされていることを示すことができる。
【００９０】
上述される例では、特に、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例においては、１つ以上の構文要素は、“第１の”１つ以上の構文要素と呼ぶことができる。これらの例では、映像復号器３０は、受信されたビットストリームで“第２の”１つ以上の構文要素を受信するようにさらに構成することができる。例えば、第２の１つ以上の構文要素は、デブロッキングフィルタリングが少なくとも１つのブロックに関してディスエーブルにされていることを示すことができる。
【００９１】
従って、上で説明されるように、本開示の技法は、その他の技法と比較して、映像復号器３０が１つ以上のブロックを符号化するときに映像データの１つ以上のブロックの視覚品質を向上させるのを可能にすることができる。特に、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし及びデブロッキングフィルタリングを特定の方法で行うことによって再構築された映像データから成る１つ以上のＩＰＣＭコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含む１つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ロッシーコーディングモードを用いてコーディングされたブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、例えば、１つ以上のＩＰＣＭ及びロスレスでコーディングされたブロックに隣接して位置する１つ以上のブロック、の視覚品質を向上させることもできる。その結果、本開示の技法を使用したときには、ＩＰＣＭ，ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの１つ以上のブロックの視覚品質の相対的な向上が存在することができる。
この方法により、映像復号器３０は、映像データの複数のブロックをコーディングするように構成された映像コーダの例であり、映像コーダは、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つであるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも１つのブロックをコーディングするように構成される。同じくこの例において、映像コーダは、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでないＱＰ値を割り当て及び少なくとも１つのブロックをコーディングするために使用されたコーディングモード及び少なくとも１つのブロックに関して割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うようにさらに構成される。
【００９２】
図４は、本開示の技法と一致する、映像データの２つの隣接するブロックの境界に関して行われるデブロッキングフィルタリングの例を示す概念図である。図４の例では、ブロック４０４は、ブロック４０２の対応する右エッジとともに、デブロッキングフィルタリング、又は“デブロッキング”されるべき左エッジを含む映像データの現在コーディングされた、又は“現在の”ブロックであることができる。この例では、ブロック４０２は、ブロック４０４に隣接して（この例では左側に）位置する映像データの隣接するブロックである。例えば、ブロック４０２は、コーディングブロック４０４の前にコーディングされる映像データの以前にコーディングされたブロックであることができる。その他の例では、ブロック４０４の最上エッジ（示されていない）を、ブロック４０４の最上部にある映像データの隣接ブロック（示されていない）の対応する最下部エッジとともにデブロッキングすることができる。
幾つかのＨＥＶＣテストモデルバージョン（例えば、バージョン４、又は“ＭＨ４”）では、８サンプルエッジを特定のデブロッキングフィルタによってデブロッキングすることができる。図４に示されるように、ブロック４０２及び４０４のデブロッキングエッジエリアは、ブロック４０４におけるエッジ４００に平行な４つのラインのピクセル値ｑ０ｉ乃至ｑ３ｉ、及びブロック４０２におけるエッジ４００に平行する４つのラインのピクセル値ｐ０ｉ乃至ｐ３ｉを含み、ここで、“ｉ”は、エッジ４００に垂直なピクセルのラインを示す。ピクセル値の平行なラインの各々は、８つのピクセル値、例えば、ｑ００乃至ｑ０７を含む。水平エッジ（示されていない）、例えば、現在のブロックのエッジ、の場合は、名前付け及び番号付けは、図４に例示される垂直エッジ（すなわち、エッジ４００）のそれと同一であることができる。さらに、ピクセル値ｐ及びｑは、プリデブロッキングフィルタリングされた値（すなわち、再構築されるピクセル値）又はデブロッキングフィルタリングされた値のいずれかであることができる。
ＨＭの幾つかのバージョン（例えば、ＨＭ４）では、デブロッキングフィルタ、例えば、映像符号器２０のデブロッキングフィルタ６４又は映像復号器３０のデブロッキングフィルタ９４は、境界強度計算からの結果及びデブロッキング決定に基づいてブロックの幾つかのＴＵ及びＰＵエッジをフィルタリングすることができる。デブロッキング決定は、デブロッキングフィルタがオン又はオフのいずれであるか、デブロッキングフィルタが弱いか又は強いか、及び、所定のブロックに関する弱いフィルタの強度を含むことができる。図６を参照して以下においてさらに詳細に説明される境界強度計算及びデブロッキング決定は、スレショルド値“ｔｃ”及び“β”に依存する。
【００９３】
ＨＭの幾つかのバージョンでは、デブロッキングフィルタのスレショルド値ｔｃ及びβは、パラメータＱに依存することができ、それは、次の式を用いて映像データの現在のブロックに関するＱＰ値及び境界強度（“Ｂｓ”）から導き出される。
【数５】
0005996663.tif 000007
【００９４】
上述されるように、スレショルド値ｔｃ及びβは、現在のブロックのＱＰ値から導き出されたパラメータＱに基づいてアクセス可能なテーブルに格納することができる。
第１のデブロッキング決定は、デブロッキングフィルタリングがブロック４０４のエッジ４００に関してオンであるかオフであるかということである。この“オン／オフ”決定を行うために、映像コーディングデバイス、例えば、映像符号器２０及び／又は映像復号器３０は、エッジ４００に垂直な第３のライン（ｉ＝２）、すなわち、ライン４０６、内のピクセル値に関するエッジ４００における活動レベルｄ１を計算する。映像コーディングデバイスは、エッジ４００に垂直な第６のライン（ｉ＝５）、すなわち、ライン４０８、内のピクセル値に関するエッジ４００における活動レベルｄ２も計算する。これらの２つの活動測定値は、エッジ４００の近隣における活動を表示する。
【００９５】
次に、活動測定値が加算されてスレショルド値βと比較される。加算された活動測定値がスレショルド値βよりも小さい場合は、デブロッキングフィルタがオンであり、８サンプルデブロッキングエリアに適用される。この方法により、エッジ４００における活動が高い場合は、エッジ４００における不連続部は目に見えないためデブロッキングフィルタは必要ない。しかしながら、エッジ４００における活動が低い場合は、エッジ４００におけるブロック４０２と４０４との間の不連続部を平滑化するためにデブロッキングフィルタが適用されるべきである。計算は、次式により行うことができる。
【数６】
0005996663.tif 000008
【００９６】
第２のデブロッキング決定は、デブロッキングフィルタが強いフィルタであるか又は弱いフィルタであるかに関する決定を含む。デブロッキングフィルタが強いか又は弱いかの決定は、３つの個別の決定を含むことができ、エッジ４００におけるテクスチャ／活動の決定と、勾配の決定と、不連続部の決定と、を含む。ＨＭの幾つかのバージョン（例えば、ＨＭ４）では、３つの決定の各々は、エッジ４００に垂直なピクセル値の各ライン（ｉ＝０、．．．、７）に関して行わなければならない。これらの３つの決定は、次式により行うことができる。
【数７】
0005996663.tif 000009
【００９７】
第３のデブロッキング決定は、デブロッキングフィルタが弱いフィルタであるときに、弱いフィルタの強度を決定することを含むことができる。ＨＭの幾つかのバージョン（例えば、ＨＭ４）では、ブロック４０４のエッジ４００に適用される弱いフィルタは、エッジ４００の各側での１つ又は２つのサンプルを補正することができる。幾つかの事例では、弱いフィルタは、エッジ４００の一方の側において１つのサンプルのみを補正し、エッジ４００の他方の側において２つのサンプルを補正するために非対称的に適用することができる。
【００９８】
ＨＭの幾つかのバージョン（例えば、ＨＭ４）では、弱いフィルタは、次式による弱いフィルタ強度計算に基づいてエッジ４００の右側及び左側のすべてのｐ０及びｑ０サンプルを補正する。
【００９９】
Δ＝（９＊（ｑ０−ｐ０）−３＊（ｑ１＝ｐ１）＋８）／１６
Δ＝Ｃｌｉｐ（−ｔｃ，ｔｃ，Δ）；ｔｃは、ＱＰ値に依存するスレショルド値である
ｐ０’＝ｐ０＋Δ
ｑ０’＝ｑ０−Δ
弱いフィルタは、任意選択で、次式により隣接するブロック１０４内のエッジ４００に平行する第２のライン内のすべてのｐ１サンプルを補正する。
【０１００】
Δｐ＝Ｃｌｉｐ（−ｔｃ／２，ｔｃ／２，（（（ｐ２＋ｐ０＋１）／２）−ｐ１＋Δ）／２）
ｐ１’＝ｐ１＋Δｐ；ｐ１のデブロッキングは、決定条件に依存する
同様に、弱いフィルタは、任意選択で、次式により現在のブロック４０４内のエッジ４００に平行する第２のライン内のすべてのｑ１サンプルを補正する。
【０１０１】
Δｑ＝Ｃｌｉｐ（−ｔｃ／２，ｔｃ／２，（（（ｑ２＋ｑ０＋１）／２）−ｑ１＋Δ）／２）
ｑ１’＝ｑ１＋Δｑ；ｑ１のデブロッキングは、決定条件に依存する
ピクセル値ｐ又はｑは、プリデブロッキングフィルタリングされた値（すなわち、再構築されたピクセル値）又はデブロッキングフィルタリングされた値のいずれかであることができる。ピクセル値ｐ’及びｑ’は、ピクセル値ｐ及びｑに関するデブロッキングフィルタリングを行った後に結果的に得られたピクセル値をそれぞれ表す。より具体的には、値ｑ０及びｑ１は、現在のブロック４０４内のエッジに平行する第１及び第２のラインにおけるピクセル値を示す。方程式ｑ０−ｐ０及びｑ１−ｐ１は、エッジ４００におけるピクセル値間のステップ不連続部を示す。
【０１０２】
図５は、本開示の技法に一致する、映像データの１つ以上のブロックの各々に関するｄＱＰ値をシグナリングする例を示した概念図である。ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）は、ＬＣＵレベル及びサブＬＣＵレベルのｄＱＰ技法をサポートする。例えば、幾つかのサブＬＣＵレベルのｄＱＰ法は、ＬＣＵサイズよりも小さい映像データのブロック、すなわちＣＵ、に関するｄＱＰシグナリングを可能にする。これの目的は、より粒度が高いレート及び視覚品質の制御を可能にすることである。幾つかの技法により、ｄＱＰをシグナリングすることができる最小のＣＵ量子化グループサイズとして“ｄＱｐＭｉｎｃｕＳｉｚｅ”パラメータを定義することができる。最小ＣＵ量子化グループサイズよりも小さいブロックに関しては、最小のＣＵの量子化グループ内のすべての葉ＣＵ、すなわち、映像データのブロック、は、同じｄＱＰ値を共有することができる。代替として、その他の技法により、最小のＣＵ量子化グループサイズよりも小さいブロックに関しては、最小のＣＵサイズの量子化グループ内の葉ＣＵ又は映像データのブロックのうちの一部のみが同じｄＱＰ値を共有することができる。例えば、ｄＱＰ値が量子化グループのために最初にシグナリングされる第１の葉ＣＵ又は映像データのブロックを最初とする葉ＣＵ又は映像データのブロックのみがこのｄＱＰ値を共有することができる。例えば、ｄＱＰ値が量子化グループに関して最初にシグナリングされる第１の葉ＣＵ又は映像データのブロックから始まる葉ＣＵ又は映像データのブロックのみがこのｄＱＰ値を共有することができる。いずれの場合も、最小のＣＵ量子化グループサイズ以上であるブロックに関しては、ＬＣＵ四分木の葉ＣＵ、すなわち映像データのブロックに関してｄＱＰ値をシグナリングすることができる。ｄＱＰ値は、少なくとも１つのゼロでない係数がブロック内に存在する、すなわち、ブロックに関する構文要素コーディングされたブロックフラグ（“ＣＢＦ”）が真、すなわち“１”に等しいときのみにシグナリングすることができる。映像復号器３０は、現在のブロックに関するＱＰ値を生成するためにブロックに関するシグナリングされたｄＱＰ値を映像データの近隣ブロックからの予測されるＱＰ値に加えることができる。近隣ブロックは、現在のブロックの左に位置する映像データの近隣ブロック、又はコーディング順で現在のブロックに最も近い前の映像データのブロックであることができる。
【０１０３】
図５に示されるように、“ＬＣＵ０”５００は、最小のＣＵ量子化グループサイズ５０２よりも大きいサイズを有する映像データの単一のブロック、すなわち、“ブロック０”、含み、構文要素“ＱｐＭＩｎＣｕＳｉｚｅ”を用いて示すことができる。同じく図５に示されるように、ＬＣＵ０  ５００は、葉ＣＵには分割されず、従って、ＬＣＵ０  ５００と関連付けられた量子化グループ“Ｑ０”は、ブロック０のみを含む。図５の例では、ブロック０は、少なくとも１つのゼロでない係数を含む。この例では、ブロック０は、ＬＣＵ０  ５００に関するビットストリーム５０４としてシグナリングすることができる。同じくこの例では、ビットストリーム５０４は、ブロック０に関するコーディングモード（“Ｍ０”）、ｄＱＰ値（“Ｄ０”）、及び係数（“Ｃ０”）成分を含む。
【０１０４】
図５おいてさらに例示されるように、“ＬＣＵ１”５０６は、ＬＣＵ四分木により、映像データデータの複数のブロック、又はＣＵに分割される。例えば、ＬＣＵ１  ５０６の“ブロック１”及び“ブロック１０”は、各々、最小のＣＵ量子化グループサイズ５０２に等しいサイズを有する。他方、“ブロック２−９”は、各々、最小のＣＵ量子化グループサイズ５０２よりも小さいサイズを有する。概して、最小のＣＵ量子化グループサイズ内のすべての葉ＣＵ、すなわち、映像データのブロック、は、同じＱＰ及びｄＱＰ値を共有することができる。例えば、図５に示されるように、量子化グループ“Ｑ１”は、ブロック１のみを含み、量子化グループ“Ｑ４”は、ブロック１０のみを含む。しかしながら、量子化グループ“Ｑ３”は、ブロック２−５を含み、その結果、ブロック２−５の各々は、同じＱＰ値を有することができる。同様に、量子化グループ“Ｑ３”は、ブロック６−９を含み、その結果、ブロック６−９の各々は、同じＱＰ値を有することができる。
【０１０５】
同じく図５に示されるように、ブロック１は、少なくとも１つのゼロでない係数を含み、及び、Ｑ１に対応し、ブロック１に関するコーディングモード（“Ｍ１”）と、ｄＱＰ値（“Ｄ１”）と、係数（“Ｃ１”）コンポーネントとを含むＬＣＵ１  ５０６に関するビットストリーム５０８の一部分としてシグナリングすることができる。図５の例では、ブロック１０は“スキップモード”にあるか又はすべてゼロ値の係数を含み、及び、Ｑ４に対応し、ブロック１０に関するコーディングモード（“Ｍ１０”）コンポーネントのみを含むＬＣＵ１  ５０６に関するビットストリーム５０８の一部分としてシグナリングすることができる。同じ例で、量子化グループＱ２内のブロック２−５の各々は、スキップモードにあるか又はすべてゼロの値の係数を含み、及び、Ｑ２に対応し、ブロック２−５に関するコーディングモード（“Ｍ２−Ｍ５”）コンポーネントのみを含むＬＣＵ１  ５０６に関するビットストリーム５０８の一部分としてシグナリングすることができる。この例では、量子化グループＱ３内のブロック６及び９の各々は、スキップモードにあるか又はすべてゼロの値の係数を含み、量子化グループＱ３内のブロック７及び８の各々は、少なくとも１つのゼロでない係数を含む。ブロック６−９は、Ｑ３に対応し及びブロック６及び９に関するコーディングモード（“Ｍ６及びＭ９”）コンポーネントのみを含み、及びブロック７及び８に関するコーディングモード（“Ｍ７及びＭ８”）と、ｄＱＰ値（“Ｄ３”）と、係数（“Ｃ７及びＣ８”）コンポーネントとを含むＬＣＵ１  ５０６に関するビットストリーム５０８の一部分としてシグナリングすることができる。
図６は、本開示の技法と一致する、デブロッキングフィルタに関する境界強度値を計算する方法例を示すフローチャートである。図６において例示されるように、境界強度計算６００は、映像データの現在のブロック（例えば、図４のブロック４０４）及び映像データの隣接ブロック（例えば、図４のブロック４０２）のコーディングモード（例えば、“イントラ”又は“インター”コーディングモード）、及びデブロッキングエッジエリア（すなわち、デブロッキングフィルタリング、又は“デブロッキング”中の共有されるエッジに沿ったブロックのエリア、例えば、図４のエッジ４００）がゼロでない係数を含むかどうかに基づくことができる。
【０１０６】
より具体的には、境界強度計算を行うことは、デブロッキングされるべきエッジを有する現在のブロック及び隣接ブロックのうちの１つがイントラコーディングされるかどうかを決定することを含むことができる（６０２）。現在のブロック及び隣接ブロックのうちの１つがイントラコーディングされるときには（６０２；“はい”）、デブロッキングされるべきエッジが外部ＣＵ境界であるか又は内部ＣＵエッジであるかを決定するためにＣＵエッジ検査動作を実施することができる。デブロッキングされるべきエッジが外部ＣＵ境界である場合は（６０４；“はい”）、境界強度（“Ｂｓ）”値は、“４”に設定することができ（６１０）、エッジが内部ＣＵエッジである場合は（６０４；“いいえ”）、境界強度（“Ｂｓ）”値は、“３”に設定することができる（６１２）。いずれの場合も、Ｂｓ値は“２”よりも大きいことができ、従って、デブロッキングフィルタに関するスレショルド値“ｔｃ”を識別時に“２”に等しい構文要素“ＴｃＯｆｆｓｅｔ”を対応するＱＰ値（すなわち、現在のブロックに関するＱＰ値）に適用することができる。
現在のブロック及び隣接ブロックがインターコーディングされるときには（６０２；“いいえ”）、デブロッキングされるべきエッジの周囲のデブロッキングエッジエリア内のサンプルがゼロでない係数を含むかどうかを決定するためにゼロでない係数の検査を行うことができる（６０６）。サンプルがゼロでない係数を含む場合は（６０６；“はい”）、Ｂｓ値を“２”に設定することができる（６１４）。しかしながら、サンプルがゼロでない係数を含まない場合は（６０６；“いいえ”）、現在のブロック内と隣接ブロック内のサンプル間の差分を決定するために追加の検査を行うことができる（６０８）。現在のブロック及び隣接ブロック内のサンプルが差分を有する場合は（６０８；“はい”）、Ｂｓ値を“１”に設定することができる（６１６）。しかしながら、現在のブロック及び隣接ブロック内のサンプルがほとんど又はまったく差分を有さない場合は（６０８；“いいえ”）、Ｂｓ値を“０”に設定することができる（６１８）。Ｂｓ値が“０”に等しいときには、デブロッキングフィルタをオフにすることができ、現在のブロックのデブロッキングされるべきエッジに適用することができない。
【０１０７】
図７Ａ−７Ｂは、本開示の技法に一致する、ＩＰＣＭコーディングモードデブロッキングの例を示した概念図である。図７Ａは、図１を参照して上述されるように、ＩＰＣＭコーディングモードを用いてコーディングされた映像データの現在のブロック７１２に関して行われるデブロッキングフィルタリングを例示する（すなわち、“ＱＰ＝０”）。図７Ａに示されるように、ブロック７１２は、ロッシー（すなわち、“ＱＰ＞０”）ブロック７０６及び７０８とそれぞれ共有される右エッジ及び最下部エッジに関してデブロッキングされる。同じく図７Ａに示されるように、ブロック７１２は、ロッシー（すなわち、“ＱＰ＞０”）ブロック７１０及び７０４とそれぞれ共有される左エッジ及び最上エッジに関してはデブロッキングされない。前述されるように、ＩＰＣＭコーディングされたブロックに関するＨＥＶＣの様々なドラフトバージョンに一致して、ゼロ値のＱＰ値はブロック７１２と関連付けられるため、ブロック７１２は、上述される方法でデブロッキングされる。
【０１０８】
図７Ｂは、本開示のＩＰＣＭイントラコーディングモードデブロッキング技法を実装するためにＩＰＣＭブロックに関するゼロでないＱＰ値を割り当てるために使用される典型的なＱＰ継承技法を例示する。ここで説明されるＱＰ継承技法は、図５を参照して上述されるｄＱＰ法と多少同様に動作することができる。
開示される技法により、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが偽、すなちわ、“０”に等しいときには、ループフィルタリングプロセスがイネーブルにされ、現在のＩＰＣＭブロックに適用されるべきである。デブロッキングフィルタを適用するために、開示される技法は、予測されるＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに割り当てることを含む。例えば、映像復号器３０は、ＩＰＣＭブロックに関する割り当てられたゼロでないＱＰ値に基づいて現在のＩＰＣＭブロックのサンプルにデブロッキングフィルタを適用することができる。
一例として、映像復号器３０は、既知の予測されるＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに暗黙に割り当てることができる。予測されるＱＰ値は、ＩＰＣＭブロックを含む量子化グループに関する、又はＩＰＣＭブロックの近くに位置する映像データの近隣ブロックに関するＱＰ値であることができる。図７Ｂの例では、現在のＩＰＣＭブロック７１６が最小のＣＵ量子化グループサイズ（例えば、図７Ｂにも示されている量子化グループ７２０のサイズ）以上のサイズを有するときには、映像復号器３０は、図７Ｂにおいて矢印によって示されるように、ＩＰＣＭブロック７１６に関する割り当てられたゼロでないＱＰ値（“ＱＰ１”）を近隣ブロック７１４からの予測されるＱＰ値（“ＱＰ０”）に設定することができる。換言すると、ＩＰＣＭブロック、又はＣＵ１  ７１６は、近隣ブロック、又はＣＵ０  ７１４からＩＰＣＭブロック、又はＣＵＩ  ７１６としてＱＰ０を“継承する”ことができる。図７Ｂにおいて例示されるように、近隣ブロック７１４は、ＩＰＣＭブロック７１６の左側に位置する映像データのブロックであることができる。同じく示されるように、近隣ブロック７１４は、前述されるように、ＱＰ０を有するＣＵ（“ＣＵ０”）であることができ、ＣＢＦは真、すなちわ“１”に等しく、近隣ブロック７１４がゼロでない係数を含むことを示す。他の例では、近隣ブロック７１４は、コーディング順でＩＰＣＭブロック７１６に最も近い前のブロックであることができる。さらに他の例では、映像データの複数の近隣ブロック、例えば、ＩＰＣＭブロック７１６の左側のブロック（例えば、近隣ブロック７１４、又は他のブロック）及び最上部（示されていない）のブロック、に基づいて計算し、ＩＰＣＭブロック７１６に関するゼロでないＱＰ値を割り当てるための予測されるＱＰ値として使用することができる。
【０１０９】
同じく図７Ｂに示される例では、代替として、現在のＩＰＣＭブロック７２６が最小のＣＵ量子化グループサイズ（例えば、再び、量子化グループ７２０のサイズ）よりも小さいサイズを有するときには、映像復号器３０は、ＩＰＣＭブロック７２６に関する割り当てられたゼロでないＱＰ値（“ＱＰ５”）を、ＩＰＣＭブロック７２６を含む量子化グループ７２０に関するＱＰ値（“ＱＰＱＧ”）に設定することができる。図７Ｂにおいて例示されるように、量子化グループは、各々が最小のＣＵ量子化グループサイズよりも小さく、及びすべてが同じＱＰ値を有する（すなわち、ＱＰ３＝ＱＰ４＝ＱＰ５＝ＱＰ６＝ＱＰＱＧ）４つのブロック、すなわち、ブロック７２２、７２４、７２６、及び７２８、又はＣＵｓ３−６を含む。換言すると、ＩＰＣＭブロック、又はＣＵ５７２６は、ブロック７２２、７２４、７２６、及び７２８、又はＣＵｓ３−６を含む量子化グループからＩＰＣＭブロック、又はＣＵ５７２６のＱＰ５としてＱＰＱＧを“継承する”ことができる。前述されるように、その他の例では、ＣＵｓ３−６の部分組のみが共通のＱＰＱＧを共有することができる。これらの例では、ＣＵ５７２６は、ＩＰＣＭブロック又はＣＵ５７２６のＱＰ５として、量子化グループ７２０の部分組（すなわち、ブロック７２２、７２４、７２６、又は７２８、又はＣＵｓ３−６の一部のみ）からこのＱＰＱＧを継承することができる。
【０１１０】
他の例として、映像符号器２０は、予測されるＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに割り当て、映像復号器３０に対してＱＰ値を明示でシグナリングすることができる。映像符号器２０は、例えば、割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表すＩＰＣＭブロックに関するｄＱＰ値をシグナリングすることができる。この例では、映像復号器３０は、ＩＰＣＭブロックに関する受信されたｄＱＰ値に基づいてゼロでないＱＰ値をＩＰＣＭブロックに割り当てることができる。この方法により、映像符号器２０は、ＩＰＣＭブロックのサンプルを符号化するために使用された正確なＱＰ値をシグナリングすることができる。例えば、ここにおいて説明される技法により、映像符号器２０は、表２に示されるように、ＩＰＣＭブロックに関するＰＵ構文のＩＰＣＭサンプルを有するＩＰＣＭブロックに関するｄＱＰ値を示すために構文要素“ｃｕ_ｑｐ_ｄｅｌｔａ”をシグナリングすることができる。表３は、ＷＤ６に基づくＩＰＣＭバーストモード動作の事例を示し、複数のｃｕ_ｑｐ_ｄｅｌｔａ値が、各ＩＰＣＭブロックに関して１つずつ、連続してシグナリングされる。
【表２】
0005996663.tif 000010
【表３】
0005996663.tif 000011
【０１１１】
表２において例示されるＰＵ構文により、映像データの現在のブロックがＩＰＣＭブロックとして示される場合は（すなわち、“ｐｃｍ_ｆｌａｇ＝真”）、映像復号器３０は、ＩＰＣＭブロックに関してｄＱＰ値がシグナリングされているかどうかを決定することができる。この例では。ループフィルタプロセスがイネーブルにされ（すなわち、“ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇ＝０”）、ｄＱＰ法がイネーブルにされ（すなわち、“ｃｕ_ｑｐ_ｄｅｌｔａ_ｅｎａｂｌｅｄ_ｆｌａｇ＝１”）、及びｄＱＰ値がブロックに関してコーディングされる場合は（すなわち、“ＩｓＣｕＱＰＤｅｌｔａＣｏｄｅｄ  ｆｌａｇ＝０”）、映像復号器３０は、ＩＰＣＭブロックに関するｄＱＰ値を示すための構文要素ｃｕ_ｑｐ_ｄｅｌｔａを受信することができる。
【０１１２】
上記の第１の例で、ＩＰＣＭブロック７１６が最小のＣＵ量子化グループサイズ以上のサイズを有するときには、映像符号器２０は、“０”に等しいＩＰＣＭブロック７１６に関するｄＱＰ値をシグナリングすることができる。この方法により、映像復号器３０は、“０”のシグナリングされたｄＱＰ値を近隣ブロック７１４からの予測されるＱＰ値（“ＱＰ０”）に加えることによってＩＰＣＭブロック７１６に関するＱＰ値（“ＱＰ１”）を決定することができる（すなわち、“ＱＰ１＝ＱＰ０”）。他の例では、映像符号器２０は、“０”と異なるＩＰＣＭブロック７１６に関するｄＱＰ値をシグナリングすることができ、映像復号器３０は、シグナリングされたｄＱＰ値を近隣ブロック７１４からの予測されるＱＰ値（“ＱＰ０”）に加えることによってＩＰＣＭブロック７１６に関するＱＰ値（“ＱＰ１”）を決定することができる（すなわち、“ＱＰ１＝ＱＰ０＋ｄＱＰ”）。
【０１１３】
上述される第２の例において、ＩＰＣＭブロック７２６が最小のＣＵ量子化グループサイズよりも小さいサイズを有するときには、映像符号器２０は、ＩＰＣＭブロック７２６を含む量子化グループ７２０に関するｄＱＰ値に等しいＩＰＣＭブロック７２６に関するｄＱＰ値をシグナリングすることができる。この方法により、映像復号器３０は、シグナリングされたｄＱＰ値を近隣ブロック７１８からの予測されるＱＰ値（“ＱＰ２”）に加えることによってＩＰＣＭブロック７２６に関するＱＰ値（“ＱＰ５”）を決定することができる（すなわち、“ＱＰ５＝ＱＰ２＋ｄＱＰ”）。ＩＰＣＭブロック７２６に関するｄＱＰ値は、量子化グループ７２０内の全ブロックに関するｄＱＰ値と同じであるため、映像復号器３０は、ＱＰ値が量子化グループに関するＱＰ値と等しくなるようにＩＰＣＭブロック７２６に関するＱＰ値（“ＱＰ５”）を決定することができる（すなわち、ＱＰ３＝ＱＰ４＝ＱＰ５＝ＱＰ６＝ＱＰＱＧ）。
幾つかの事例では、映像符号器２０は、量子化グループ（例えば、量子化グループ７２０）内のブロックのうちの１つ（例えば、ブロック７２２、７２４、７２６、７２８のうちの１つ）に関するｄＱＰ値のみをシグナリングすることができる。シグナリングされたｄＱＰ値は、ＩＰＣＭブロックではなく及び少なくとも１つのゼロでない係数を含むブロックに関する第１のコーディングされたｄＱＰ値であることができる（すなわち、“ＣＢＦ＝１”）。一例として、量子化グループ内のブロックに関する第１のコーディングされたｄＱＰ値のみが映像復号器３０にシグナリングされるようにするために構文要素、又はフラグ“ＩｓＣｕＱＰＤｅｌｔａＣｏｄｅｄ”をＰＵ構文に含めることができる。次に、映像復号器３０は、同じ量子化グループ内のその他のブロックに関するｄＱＰ値を第１のコーディングされたｄＱＰ値に設定することができる。
【０１１４】
上述されるように、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）は、ループフィルタプロセスがＩＰＣＭブロックに関してイネーブルにされるかどうかを示すためのＳＰＳ内でのｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇのシグナリングをサポートする。幾つかの事例では、ループフィルタプロセスがＩＰＣＭブロックに関してイネーブルにされているかどうかをより細かい粒度（ｇｒａｎｕｌａｒｉｔｙ）で示すのが望ましいことがある。従って、本開示の技法は、ＰＰＳ、ＡＰＳ、スライスヘッダ、ＣＵ構文、及びＰＵ構文のうちのいずれかにおいてｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇをシグナリングするのをさらにサポートする。
【０１１５】
一例において、映像符号器２０は、現在のＩＰＣＭブロックがオリジナルのサンプルを含むか又は再構築されたサンプルを含むかに基づいて、ループフィルタプロセス、例えば、デブロッキングフィルタリング、ＡＬＦ及びＳＡＯ、を適用すべきかどうかを決定することができる。上述されるように、オリジナルのサンプルは歪みがなく、インループフィルタリングを要求せず、他方、再構築されたサンプルは、ある程度の歪みを含むことがあり、インループフィルタリングの利益を受けることができる。その他の例では、映像符号器２０は、その他の考慮事項に基づいてループフィルタプロセスをＩＰＣＭブロックに適用することを決定することができる。ここにおいて説明される技法により、映像符号器２０は、以下の表４において例示されるように、ＰＵ構文でｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇをシグナリングすることができる。特に、表４は、ループフィルタ処理をシグナリングするときの最高粒度を示す。
【表４】
0005996663.tif 000012
【０１１６】
他の例として、上述されるように、ＨＥＶＣの幾つかのドラフトバージョン（例えば、ＷＤ６）は、ＣＵ、又は映像データのブロックに関するロスレスコーディングモードもサポートする。幾つかの例では、ＳＰＳでシグナリングされ及び“１”に等しいｑｐｐｒｉｍｅ_ｙ_ｚｅｒｏ_ｔｒａｎｓｑｕａｎｔ_ｂｙｐａｓｓ_ｆｌａｇは、パラメータ“ＱＰ’Ｙ”（例えば、ＱＰ’Ｙ＝ＱＰＹ＋ＱｐＢｄＯｆｆｓｅｔＹで、ＱｐＢｄＯｆｆｓｅｔＹ＝６＊ｂｉｔ_ｄｅｐｔｈ_ｌｕｍａ_ｍｉｎｕｓ８）が“０”に等しい場合は、ロスレスコーディングプロセスを適用するものとすると規定することができる。前述されるように、ロスレスコーディングでは、スケーリング及び変換プロセス及びインループフィルタプロセスは迂回される。ロスレスコーディングモードは、上述されるように、オリジナルのサンプルを含むＩＰＣＭブロックの事例に類似し、相違点は、ロスレスコーディングに関する予測法はＩＰＣＭブロックには適用されないことである。上述されるように、ＱＰ又はｃｕ_ｑｐ_ｄｅｌｔａ値がＩＰＣＭブロックに関してシグナリングされる場合は、ロスレスコーディングモードの場合と同じように、その結果得られるＱＰ’Ｙ値は“０”に等しいことができる。ＱＰ’Ｙ値がＩＰＣＭブロックに関して“０”に等しい場合は、ロスレスコーディングモードの場合と同じように、ＩＰＣＭサンプルに関してもループフィルタ（例えば、デブロッキング、ＳＡＯ、ＡＬＦ）をディスエーブルにすることができる。これは、真、すなわち“１”に等しいｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇをシグナリングすることと同等である。従って、ループフィルタの挙動を制御するためにＩＰＣＭブロックのＱＰ値が使用され場合は、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇのシグナリングは省略することができる。すなわち、“０”に等しいＱＰ’Ｙは、ｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇが真、すなわち、“１”に等しいことと同等であり、“０”より大きいＱＰ’Ｙは、偽、すなわち、“０”に等しいｐｃｍ_ｌｏｏｐ_ｆｉｌｔｅｒ_ｄｉｓａｂｌｅ_ｆｌａｇと同等である。デブロッキングフィルタは、ブロックのＱＰ値の平均又は最大値を計算することができ、少なくとも１つのブロックがロスレスでコーディングされるか又はＩＰＣＭブロックである。
【０１１７】
図８Ａ−８Ｂは、本開示の技法と一致する、ロスレスコーディングモードデブロッキングの例を示した概念図である。図８Ａに示されるように、複数のＣＵ（又は映像データのブロック）８００内に含まれた状態で、ロスレスでコーディングされる“現在の”ＣＵ８１２（すなわち、“ＱＰ’Ｙ＝０”）は、ロスレスでコーディングされないＣＵ８０４乃至８１０によって囲むことができる（すなわち、それらの各々に関して、“ＱＰ’Ｙ＞０”）。図１を参照して上述されるように、該事例では、図８Ａにおいて例示されるように、デブロッキングフィルタは、（例えば、ＣＵ８１２に関して“ＱＰ’Ｙ＝０”であるため）現在のＣＵ８１２の左エッジ及び最上部のエッジの処理を飛ばすことができ、他方、（ＣＵ８０６及び８０８がコーディングされるときに、各々のＣＵに関するデブロッキングフィルタリングを行うことによって）現在のＣＵ８１２の右エッジ及び最下部のエッジに関するデブロッキングフィルタリングを行うことができる。既述されるように、上述されるアプローチ法に関する１つの潜在的な問題は、図８Ａにおいてこれらのエッジの周囲のロスレスＣＵ８１２の“破線”の部分によって示されるように、右エッジ及び最下部のエッジに沿って現在のＣＵ８１２のロスレスサンプルを修正することがある点である。
【０１１８】
同じく図１を参照して上述されるように、本開示の技法は、ロスレスでコーディングされたＣＵに関するデブロッキングフィルタリングをディスエーブルにすることを含むことができ、従って、ＣＵは、ＣＵのいずれのエッジに沿ってもデブロッキングフィルタリングされず、他方、隣接する“ロッシー”コーディングされたＣＵをデブロッキングフィルタリングするのを可能にすることができる。例えば、図８Ｂにおいて例示されるように、他の複数のＣＵ（又は映像データのブロック）８０２内に含まれており、ロスレスでコーディングされる他の“現在の”ＣＵ８２２（すなわち、“ＱＰ’Ｙ＞０”）は、ロスレスでコーディングされないＣＵ８１４乃至８２０によって囲むことができる（すなわち、それらの各々に関して、“ＱＰ’Ｙ＞０”）。該事例では、図８Ｂにおいてされるように、デブロッキングフィルタは、現在のＣＵ８２２の左、最上部、右、及び最下部のエッジの各々の処理を飛ばすことができ、他方、ＣＵ８１４乃至８２０の対応するエッジのデブロッキングフィルタリングを可能にすることができる。さらに、同じく図１を参照して上述されるように、開示される技法は、ＣＵ８１４乃至８２０の対応するエッジのデブロッキングフィルタリングを行うことを目的としてゼロでないＱＰ値をＣＵ８２２に割り当てることをさらに含むことができる。
図９−１１は、本開示の技法と一致する、ＩＰＣＭ及びロスレスコーディングモードデブロッキングの方法例を示したフローチャートである。図９−１１の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせのいずれに実装されるかにかかわらず、あらゆる処理ユニット又はプロセッサによって実施することができ、ソフトウェア又はファームウェアに実装されるときには、そのソフトウェア又はファームウェアのための命令を実行するための対応するハードウェアを提供することができる。例を目的として、図９−１１の技法は、映像符号器２０（図１及び２）及び／又は映像復号器３０（図１及び３）に関して説明されるが、その他のデバイスを、同様の技法を実施するように構成できることが理解されるべきである。さらに、図９−１１において例示されるステップは、異なる順序で又は並行して実施することができ、及び、本開示の技法を逸脱することなしに追加のステップを加えること及び幾つかのステップを省略することができる。
【０１１９】
具体的には、図９は、コーディング一般（すなわち、符号化及び／又は復号）の観点でのＩＰＣＭコーディングモード及びロスレスコーディングモードデブロッキング、又は“デブロッキングフィルタリング”の方法例を示す。さらに、図１０及び１１は、復号及び符号化のそれぞれの観点でのＩＰＣＭコーディングモード及びロスレスコーディングモードデブロッキングの方法例を示す。
【０１２０】
一例として、映像符号器２０及び／又は映像復号器３０は、前述されるように、映像コーディングプロセス中に映像データの１つ以上のブロックをコーディング（すなわち、符号化及び／又は復号）することができる。例えば、同じく前述されるように、１つ以上のブロックは、１つ以上のＰＵ、ＴＵ、又はＣＵであることができる。この例では、最初に、映像符号器２０及び／又は映像復号器３０は、映像データの複数のブロックをコーディングすることができ、映像データの複数のブロックのうちの少なくとも１つのブロックは、ＩＰＣＭコーディングモード及びロスレスコーディングモードのうちの１つであるコーディングモードを用いてコーディングされる（９００）。前述されるように、ＩＰＣＭコーディングブロックを用いてコーディングされた少なくとも１つのブロックは、再構築された映像データのブロックに対応することができる。例えば、再構築された映像データのブロックは、例えば、オリジナルの映像データのブロックを用いて図１及び２を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって、例えば、映像符号器２０によって生成することができる。オリジナルの映像データのブロックを用いて上述されるステップを実施することによって、映像符号器２０は、変換及び量子化された残差係数のブロックを生成することができる。次に、映像符号器２０は、同じく上述されるように、再構築された映像データのブロックを生成するために、変換及び量子化された残差係数のブロックを用いて逆量子化、逆変換、予測、及び加算を行うことができる。代替として、同じく前述されるように、ロスレスコーディングモードを用いてコーディングされた少なくとも１つのブロックは、残差の（例えば、予測を用いて生成された）量子化されていない映像データ、すなわち、オリジナルの映像データのブロックに対応することができる。
映像符号器２０及び／又は映像復号器３０は、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関してゼロでないＱＰ値をさらに割り当てることができる（９０２）。例えば、以下においてさらに詳細に説明されるように、映像符号器２０及び／又は映像復号器３０は、様々な方法のうちのいずれかを用いて少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てることができる。該方法は、（１）（例えば、割り当てられたゼロでないＱＰ値を直接示す）少なくとも１つのブロックに関するシグナリングされたＱＰ値、（２）少なくとも１つのブロックに関する予測されるＱＰ値（例えば、少なくとも１つのブロックの１つ以上の近隣ブロックの各々のＱＰ値）、及び（３）（例えば、割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表す）少なくとも１つのブロックに関するシグナリングされたｄＱＰ値、のうちの１つ以上に基づいて割り当てられたゼロでないＱＰ値を決定することを含むことができる。
映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングをさらに行うことができる（９０４）。例えば、同じく以下においてさらに詳細に説明されるように、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロック自体、又は少なくとも１つのブロックに隣接して位置する映像データの複数のブロックのうちの１つ以上の隣接ブロックに関するデブロッキングフィルタリングを行うことができる。この例では、１つ以上の隣接ブロックは、ロッシーコーディングモードを用いてコーディングすることができる。
特に、幾つかの例では、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、次のステップを実施することができる。一例として、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、映像符号器２０及び／又は映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロックに関するデブロッキングフィルタリングを行うことができる。以下においてさらに詳細に説明されるように、映像符号器２０及び／又は映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックの１つ以上のその他のブロックに関するデブロッキングフィルタリングを行うこともできる。他の例として、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロック自体に関してデブロッキングフィルタリングを行うことを回避する一方で、割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上の隣接ブロックに関するデブロッキングフィルタリングを行うことができる。この例では、１つ以上の隣接ブロックの各々は、少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。例えば、１つ以上の隣接ブロックの各々は、オリジナルの映像データのブロックを用いて図１及び２を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって生成された量子化及び変換された残差係数のブロックであることができる。
上述される例では、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロック及び隣接ブロックの各々に関するデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいてデブロッキングフィルタリングのためのフィルタを選択することができる。例えば、映像符号器２０及び／又は映像復号器３０は、割り当てられたゼロでないＱＰ値に基づいてフィルタを選択するように構成することができ、従って、フィルタは、フィルタを用いてデブロッキングフィルタリングが行われる方法を定義する１つ以上のフィルタリングパラメータ又はプロパティを含む。その他の例では、割り当てられたゼロでないＱＰ値に基づいて少なくとも１つのブロック及び隣接ブロックの各々に関するデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、デブロッキング決定を参照して上述されるように、割り当てられたゼロでないＱＰ値に基づいてデブロッキングフィルタリングに関するフィルタ強度を決定するように構成することができる。
【０１２１】
一例として、少なくとも１つのブロックがＩＰＣＭコーディングモードを用いてコーディングされる事例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックに関する、及び映像データの複数のブロックの１つ以上の隣接ブロックに関するデブロッキングフィルタリングを行うことができる。この例では、隣接ブロックの各々は、少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。例えば、隣接ブロックの各々は、オリジナルの映像データのブロックを用いて図１及び２を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって生成された量子化及び変換された残差係数のブロックであることができる。
この例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロック及び隣接ブロックによって共有される境界のうちの１つ以上に関するデブロッキングフィルタリングを行うことができる。特に、少なくとも１つのブロック及び隣接ブロックのうちの特定の１つによって共有される所定の境界に関するデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値及び隣接ブロックに関するＱＰ値の平均を用いてフィルタ強度を決定することができる。従って、本開示の技法により、映像符号器２０及び／又は映像復号器３０は、前述される少なくとも１つのブロックに関するデフォルトの“ゼロ値の”ＱＰ値ではなく、割り当てられたゼロでないＱＰ値を少なくとも部分的に用いてフィルタ強度を決定するように構成することができる。引き続き、映像符号器２０及び／又は映像復号器３０は、決定されたフィルタ強度に基づいて境界に関するデブロッキングフィルタリングを行うことができる。この例では、境界に関するデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロック及び隣接ブロックの両方の内部境界エッジをフィルタリングすることができる（例えば、２つのブロックによって共有される境界に近接して位置する各ブロック内の１つ以上の係数）。この方法により、少なくとも１つのブロックに関するゼロでないＱＰ値を割り当て、及び、割り当てられたゼロでないＱＰ値に少なくとも部分的に基づいてデブロッキングフィルタリングを行うために使用されるフィルタ強度を決定することは、幾つかの事例では、その他の技法と比較して、少なくとも１つのブロック及び隣接ブロックの視覚品質を向上させることができる。
【０１２２】
他の例として、前述されるように、少なくとも１つのブロックがロスレスコーディングモードを用いてコーディングされる事例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロック自体に関するデブロッキングフィルタリングを行うことを回避する一方で、映像データの複数のブロックのうちの１つ以上の隣接ブロックに関してデブロッキングフィルタリングを行うことができる。上述されるのと同様の方法で、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロック及び隣接ブロックによって共有される境界のうちの１つ以上に関するデブロッキングフィルタリングを行うことができる。例えば、少なくとも１つのブロック及び隣接ブロックのうちの特定の１つによって共有される所定の境界に関してデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値及び隣接ブロックに関するＱＰ値の平均を用いてフィルタ強度を再度決定することができる。本開示の技法により、映像符号器２０及び／又は映像復号器３０は、割り当てられたゼロでないＱＰ値を少なくとも部分的に用いてフィルタ強度を再度決定することができる。引き続き、映像符号器２０及び／又は映像復号器３０は、決定されたフィルタ強度に基づいて境界に関するデブロッキングフィルタリングを行うことができる。
しかしながら、ＩＰＣＭコーディングモードを用いて少なくとも１つのブロックがコーディングされる上記の例とは対照的に、この例では、境界に関するデブロッキングフィルタリングを行うために、映像符号器２０及び／又は映像復号器３０は、隣接ブロックのみの内部境界エッジをフィルタリングすることができる（例えば、２つのブロックによって共有される境界に近接して位置する各ブロック内の１つ以上の係数）。換言すると、この例では、少なくとも１つのブロック自体の内部境界エッジは、デブロッキングフィルタリングによる影響を受けない状態になる。この方法により、少なくとも１つのブロックに関するゼロでないＱＰ値を割り当て、及び、割り当てられたゼロでないＱＰ値に少なくとも部分的に基づいてデブロッキングフィルタリングを行うためのフィルタ係数を決定することは、幾つかの事例では、その他の技法と比較して、隣接ブロックの視覚品質を向上させることができる。
【０１２３】
幾つかの例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行う前に、映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングをイネーブルにすることがさらにできる。一例として、映像符号器２０は、例えば、映像復号器３０によって受信されるか、又は記憶デバイス２４内に格納されるビットストリームで１つ以上の構文要素（例えば、１ビットのコード、又は“フラグ”）をシグナリングすることができる。他の例として、映像復号器３０は、例えば、映像符号器２０又は記憶デバイス２４によってシグナリングされた１つ以上の構文要素をビットストリームで受信することができる。これらの例のいずれにおいても、１つ以上の構文要素は、映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示すことができる。
【０１２４】
その他の例において、特にコーディングモードがロスレスコーディングモードである事例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることができる。これらの例では、デブロッキングフィルタリングをディスエーブルにするために、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックの内部の境界エッジに関するデブロッキングフィルタリングを行うことを回避することができる。例えば、映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示す１つ以上の構文要素を参照して上述されるのと同様の方法で、映像符号器２０は、１つ以上の構文要素（例えば、１ビットのコード、又はフラグ）をビットストリームでシグナリングすることができ及び／又は映像復号器３０は受信することができる。しかしながら、この例では、１つ以上の構文要素は、少なくとも１つのブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示すことができる。
【０１２５】
幾つかの例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０及び／又は映像復号器３０は、次のうちの１つ以上に基づいて割り当てられたゼロでないＱＰ値を決定することができる。すなわち、（１）少なくとも１つのブロックに関するシグナリングされたＱＰ値であり、シグナリングされたＱＰ値は、割り当てられたゼロでないＱＰ値を示す、（２）少なくとも１つのブロックに関する予測されるＱＰ値、及び（３）少なくとも１つのブロックに関するシグナリングされたｄＱＰ値であり、ｄＱＰ値は、割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表す。
【０１２６】
一例として、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０及び／又は映像復号器３０は、次のステップを実施することができる。一例として、少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックを含む量子化グループに関するグループＱＰ値、例えば、少なくとも１つのグループＱＰ値を、割り当てられたゼロでないＱＰ値として設定することができる。この例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックを含むこともできる。
【０１２７】
上述されるように、幾つかの例では、量子化グループ内に含まれる映像データのブロックの各々は、同じグループＱＰ値を有することができる。これらの例では、映像符号器２０及び／又は映像復号器３０は、この共通のグループＱＰ値を割り当てられたゼロでないＱＰ値として設定することができる。しかしながら、その他の例では、量子化グループの一部のブロック（例えば、ＱＰ値が例えばｄＱＰ値としてシグナリングされる量子化グループの最初のブロックから始まるブロック）のみが同じグループＱＰ値を有することができる。これらの例では、映像符号器２０及び／又は映像復号器３０は、量子化グループのブロックの部分組のみに共通するこの特定のグループＱＰ値を割り当てられたゼロでないＱＰ値として設定することができる。この方法により、少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を、割り当てられたゼロでないＱＰ値として設定することができる。
他の例として、少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズ以上であるときには、映像符号器２０及び／又は映像復号器３０は、映像データの複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を割り当てられたゼロでないＱＰ値として設定することができる。この例では、近隣ブロックは、少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上であることができる。
他の例として、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがＩＰＣＭコーディングモードである事例では、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当てるために、映像符号器２０及び／又は映像復号器３０は、次のステップを実施することができる。例えば、少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像符号器２０及び／又は映像復号器３０は、映像データの複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を、割り当てられたゼロでないＱＰ値として設定することができる。この例では、近隣ブロックは、再度、少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上であることができる。
その他の例において、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てるために、映像符号器２０及び／又は映像復号器３０は、映像データの複数のブロックのうちの１つのロッシーブロックに関するＱＰ値及びｄＱＰ値のうちの１つを割り当てられたゼロでないＱＰ値として設定することができる。この例では、ｄＱＰ値は、ロッシーブロックに関するＱＰ値と予測されるＱＰ値との間の差分を表すことができる。同じくこの例において、ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックであることができる。
【０１２８】
さらに他の例において、少なくとも１つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、上述される技法を用いて割り当てられたゼロでないＱＰ値を決定する代わりに、少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てるために、映像符号器２０及び／又は映像復号器３０は、一定の値を割り当てられたゼロでないＱＰ値として設定することができる。
【０１２９】
この方法により、幾つかの例では、映像符号器２０及び／又は映像復号器３０は、映像データの複数のブロックをコーディングし、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当て、及び、少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて、少なくとも１つのブロック以外の映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことができ、映像データの複数のブロックのうちの少なくとも１つのブロックは、予測を使用するロスレスコーディングモードを用いてコーディングされる。
【０１３０】
代替として、その他の例では、映像符号器２０及び／又は映像復号器３０は、
映像データの複数のブロックをコーディングし、少なくとも１つのブロックに関してゼロでないＱＰ値を割り当て、及び、少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて、少なくとも１つのブロック以外の映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことができ、映像データの複数のブロックのうちの少なくとも１つのブロックは、予測を使用するロスレスコーディングモードを用いてコーディングされる。これらの例では、映像符号器２０及び／又は映像復号器３０は、少なくとも１つのブロックに関するデブロッキングフィルタリングを行うことをさらに回避することができる。
【０１３１】
他の例として、映像復号器３０は、受信されたビットストリームで、映像データの複数のブロックのうちの１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信することができる。この例では、ブロックは、ＩＰＣＭコーディングモード及びロスレスコーディングモードのうちの１つであるコーディングモードを用いてコーディングすることができる（１０００）。同じくこの例において、ロスレスコーディングモードは、前述されるように、予測を使用するロスレスコーディングモードに対応することができる。映像復号器３０は、受信されたビットストリームで、割り当てられたゼロでないＱＰ値及びブロックに関するｄＱＰ値のうちの１つをさらに受信することができる。例えば、ｄＱＰ値は、割り当てられたゼロでないＱＰ値とブロックに関する予測されるＱＰ値との間の差分を表すことができる（１００２）。
幾つかの例において、特に映像復号器３０がｄＱＰ値を受信する事例では、映像復号器３０は、予測されるＱＰ値を決定し、及び、ｄＱＰ値及び予測されるＱＰ値に基づいて割り当てられたゼロでないＱＰ値を決定することができる（１００６）。映像復号器３０は、ブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うこともできる（１００８）。
【０１３２】
上述される例では、映像復号器３０は、映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示す第１の１つ以上の構文要素（例えば、１つ以上の単一ビットのコードであり、“フラグ”と呼ぶことができる）を受信されたビットストリームでさらに受信することができる（１０１０）。同じくこの例において、映像復号器３０は、ブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示す第２の１つ以上の構文要素（例えば、同じく１つ以上の“フラグ”）を受信されたビットストリームでさらに受信することができる（１０１２）。
【０１３３】
さらに他の例として、映像符号器２０は、映像データの複数のブロックのうちの１つのブロックに関する割り当てられたゼロでないＱＰ値を決定することができる。この例では、ブロックは、ＩＰＣＭコーディングモード及びロスレスコーディングモードのうちの１つであるコーディングモードを用いてコーディングすることができる（１１００）。同じくこの例において、ロスレスコーディングモードは、再度、予測を使用するロスレスコーディングモードに対応することができる。映像符号器２０は、ブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングをさらに行うことができる（１１０２）。映像符号器２０は、ブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでさらにシグナリングすることができる（１１０４）。幾つかの例では、映像符号器２０は、ブロックに関する予測されるＱＰ値を決定することもできる（１１０６）。
【０１３４】
映像符号器２０は、割り当てられたゼロでないＱＰ値及びブロックに関するｄＱＰ値のうちの１つをビットストリームでシグナリングすることもできる。この例では、ｄＱＰ値は、ステップ（１１０６）を参照して上述される割り当てられたゼロでないＱＰ値と予測されるＱＰ値（１１０８）との間の差分を表すことができる（１１０８）。
【０１３５】
上述される例において、映像符号器２０は、映像データの複数のブロックのうちの１つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示す第１の１つ以上の構文要素（例えば、１つ以上の“フラグ”）をビットストリームでさらにシグナリングすることができる（１１１０）。同じくこの例において、映像符号器２０は、ブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示す第２の１つ以上の構文要素（例えば、同じく１つ以上の“フラグ”）をビットストリームでさらにシグナリングすることができる（１１１２）。
【０１３６】
この方法により、図９−１１の各々の方法は、映像データの複数のブロックをコーディングすることであって、映像データの複数のブロックのうちの少なくとも１つのブロックは、ＩＰＣＭコーディングモード及び予測を使用するロスレスコーディングモードのうちの１つであるコーディングモードを用いてコーディングされることと、コーディングモードを用いてコーディングされた少なくとも１つのブロックに関するゼロでないＱＰ値を割り当てることと、少なくとも１つのブロックをコーディングするために使用されるコーディングモード及び少なくとも１つのブロックに関する割り当てられたゼロでないＱＰ値に基づいて映像データの複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことと、を備える映像データコーディング方法の例を表す。
【０１３７】
１つ以上の例において、ここにおいて説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において１つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な又は非一時的な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、１つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応することができる。このように、コンピュータによって読み取り可能な媒体は、概して、（１）非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は（２）通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
【０１３８】
一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン（ＤＳＬ）、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非遷移的な又は非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク（ｄｉｓｋ及びｄｉｓｃ）は、コンパクトディスク（ＣＤ）（ｄｉｓｃ）と、レーザディスク（ｄｉｓｃ）と、光ディスク（ｄｉｓｃ）と、デジタルバーサタイルディスク（ＤＶＤ）（ｄｉｓｃ）と、フロッピー（登録商標）ディスク（ｄｉｓｋ）と、Ｂｌｕ−ｒａｙディスク（ｄｉｓｃ）と、を含み、ここで、ｄｉｓｋは、通常は磁気的にデータを複製し、ｄｉｓｃは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
【０１３９】
命令は、１つ以上のプロセッサ、例えば、１つ以上の汎用マイクロプロセッサ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、１つ以上の回路又は論理素子内に完全に実装することが可能である。
【０１４０】
本開示の技法は、無線ハンドセット、ＩＣ又は一組のＩＣ（例えば、チップセット）を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアコンポーネント、モジュール、又はユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び／又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように１つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
【０１４１】
様々な例が説明されている。これらの及びその他の例は、以下の請求項の適用範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
映像データをコーディングする方法であって、
映像データの複数のブロックをコーディングすることであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、イントラパルスコード変調（ＩＰＣＭ）コーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いてコーディングされることと、
前記コーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に対してデブロッキングフィルタリングを行うことと、を備える、映像データをコーディングする方法。
［Ｃ２］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングを行うことは、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ＩＰＣＭコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに関する前記デブロッキングフィルタリングを行うことと、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて、映像データの前記複数のブロックのうちの１つの隣接ブロックに関する前記デブロッキングフィルタリングを行うことであって、前記隣接ブロックは、前記少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされることと、を備えるＣ１記載の方法。
［Ｃ３］
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うことは、前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択することを備えるＣ２に記載の方法。
［Ｃ４］
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うことは、前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することを備えるＣ２に記載の方法。
［Ｃ５］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングを行う前に、映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングをイネーブルにすることをさらに備えるＣ１に記載の方法。
［Ｃ６］
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記方法は、前記少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることをさらに備え、前記少なくとも１つのブロックの内部境界エッジに関する前記デブロッキングフィルタリングを行わないことを含むＣ１に記載の方法。
［Ｃ７］
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることは、次のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定することを備えるＣ１に記載の方法。
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値であり、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値であり、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す。
［Ｃ８］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記１つ以上のブロックに関する前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含むことと、
前記少なくとも１つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備えることとを備えるＣ１に記載の方法。
［Ｃ９］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することであって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備えることを備えるＣ１に記載の方法。
［Ｃ１０］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることは、映像データの前記複数のブロックのうちのロッシーブロックに関するＱＰ値及びデルタＱＰ値のうちの１つを前記割り当てられたゼロでないＱＰ値として設定することを備え、前記デルタＱＰ値は、前記ロッシーブロックに関する前記ＱＰ値と予測されるＱＰ値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるＣ１に記載の方法。
［Ｃ１１］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることは、一定の値を前記割り当てられたゼロでないＱＰ値として設定することを備えるＣ１に記載の方法。
［Ｃ１２］
コーディングすることは、復号することを備え、
前記少なくとも１つのブロックを復号することは、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信することを備え、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることは、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信すること、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記受信されたビットストリームで受信することのうちの１つと、前記デルタＱＰ値及び前記予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することとを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記方法は、１つ以上の構文要素を前記受信されたビットストリームで受信することをさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関してデブロッキングフィルタリングがイネーブルされていることを示すＣ１に記載の方法。
［Ｃ１３］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記１つ以上の構文要素は、第１の１つ以上の構文要素を備え、前記方法は、第２の１つ以上の構文要素を前記受信されたビットストリームで受信することをさらに備え、前記第２の１つ以上の構文要素は、前記少なくとも１つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すＣ１２に記載の方法。
［Ｃ１４］
コーディングすることは、符号化することを備え、
前記少なくとも１つのブロックを符号化することは、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングすることを備え、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることは、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングすること、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングすることのうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記方法は、１つ以上の構文要素を前記ビットストリームでシグナリングすることをさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ１に記載の方法。
［Ｃ１５］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記１つ以上の構文要素は、第１の１つ以上の構文要素を備え、前記方法は、第２の１つ以上の構文要素を前記ビットストリームでシグナリングすることをさらに備え、前記第２の１つ以上の構文要素は、前記少なくとも１つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すＣ１４に記載の方法。
［Ｃ１６］
映像データをコーディングするように構成された装置であって、
映像データの複数のブロックをコーディングし、
イントラパルスコード変調（ＩＰＣＭ）コーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）値を割り当て、及び
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うように構成された映像コーダを備え、前記映像コーダは、前記コーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングするように構成される、装置。
［Ｃ１７］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ＩＰＣＭコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに関する前記デブロッキングフィルタリングを行い、及び、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて、映像データの前記複数のブロックのうちの１つの隣接ブロックに関する前記デブロッキングフィルタリングを行うように構成され、前記隣接ブロックは、前記少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされるＣ１６記載の装置。
［Ｃ１８］
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することのうちの１つ以上を行うように構成されるＣ１７に記載の装置。
［Ｃ１９］
前記映像コーダは、前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングを行う前に、映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングをイネーブルにするようにさらに構成されるＣ１６に記載の装置。
［Ｃ２０］
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関するデブロッキングフィルタリングをディスエーブルにするようにさらに構成され、前記映像コーダは、前記少なくとも１つのブロックの内部境界エッジに関する前記デブロッキングフィルタリングを行わないことを含むＣ１６に記載の装置。
［Ｃ２１］
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、次のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定するように構成されるＣ１６に記載の装置。
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値であり、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値であり、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す。
［Ｃ２２］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、及び
前記少なくとも１つのブロックのサイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するように構成され、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備えるＣ１６に記載の装置。
［Ｃ２３］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するように構成され、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備えるＣ１６に記載の装置。
［Ｃ２４］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、映像データの前記複数のブロックのうちのロッシーブロックに関するＱＰ値及びデルタＱＰ値のうちの１つを前記割り当てられたゼロでないＱＰ値として設定するように構成され、前記デルタＱＰ値は、前記ロッシーブロックに関する前記ＱＰ値と予測されるＱＰ値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるＣ１６に記載の装置。
［Ｃ２５］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、一定の値を前記割り当てられたゼロでないＱＰ値として設定するように構成されるＣ１６に記載の装置。
［Ｃ２６］
前記少なくとも１つのブロックを含む映像データの前記の複数のブロックをコーディングするために、前記映像コーダは、前記少なくとも１つのブロックを含む映像データの前記の複数のブロックを復号するように構成され、
前記少なくとも１つのブロックを復号するために、前記映像コーダは、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信するように構成され、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信すること、及び前記少なくとも１つのブロックに関するデルタＱＰ値を受信することのうちの１つ、及び前記デルタＱＰ値及び前記予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することを行うように構成され、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記映像コーダは、１つ以上の構文要素を前記受信されたビットストリームで受信するようにさらに構成され、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ１６に記載の装置。
［Ｃ２７］
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記１つ以上の構文要素は、第１の１つ以上の構文要素を備え、前記映像コーダは、第２の１つ以上の構文要素を前記受信されたビットストリームで受信するようにさらに構成され、前記第２の１つ以上の構文要素は、前記少なくとも１つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すＣ２６に記載の装置。
［Ｃ２８］
前記少なくとも１つのブロックを含む映像データの前記複数のブロックをコーディングするために、前記映像コーダは、前記少なくとも１つのブロックを含む映像データの前記複数のブロックを符号化するように構成され、
前記少なくとも１つのブロックを符号化するために、前記映像コーダは、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングするように構成され、及び
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるために、前記映像コーダは、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングすること、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングすることのうちの１つを行うように構成され、前記デルタＱＰ値は、前記１つ以上のブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記映像コーダは、１つ以上の構文要素を前記ビットストリームでシグナリングするようにさらに構成され、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ１６に記載の装置。
［Ｃ２９］
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記１つ以上の構文要素は、第１の１つ以上の構文要素を備え、前記映像コーダは、第２の１つ以上の構文要素を前記ビットストリームでシグナリングするようにさらに構成され、前記第２の１つ以上の構文要素は、前記少なくとも１つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すＣ２８に記載の装置。
［Ｃ３０］
前記装置は、
集積回路、
マイクロプロセッサ、及び
前記映像コーダを含む無線通信デバイスのうちの少なくとも１つを備えるＣ１６に記載の装置。
［Ｃ３１］
映像データをコーディングするように構成されたデバイスであって、
映像データの複数のブロックをコーディングするための手段であって、イントラパルスコード変調（ＩＰＣＭ）コーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングするための手段を含む手段と、
前記コーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）値を割り当てるための手段と、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うための手段と、を備える、デバイス。
［Ｃ３２］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関するデブロッキングフィルタリングを行うための前記手段は、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ＩＰＣＭコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに関する前記デブロッキングフィルタリングを行うための手段と、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて、映像データの前記複数のブロックのうちの１つの隣接ブロックに関する前記デブロッキングフィルタリングを行うための手段であって、前記隣接ブロックは、前記少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされる手段と、を備えるＣ３１記載のデバイス。
［Ｃ３３］
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うため前記手段は、
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択するための手段、及び
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定するための手段のうちの１つ以上を備えるＣ３２に記載のデバイス。
［Ｃ３４］
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、次のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定するための手段を備えるＣ３１に記載のデバイス。
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値であり、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値であり、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す。
［Ｃ３５］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するための手段であって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含む手段と、
前記少なくとも１つのブロックのサイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するための手段であって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備える手段とを備えるＣ３１に記載のデバイス。
［Ｃ３６］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定するための手段であって、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備える手段を備えるＣ３１に記載のデバイス。
［Ｃ３７］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、映像データの前記複数のブロックのうちのロッシーブロックに関するＱＰ値及びデルタＱＰ値のうちの１つを前記割り当てられたゼロでないＱＰ値として設定するための手段を備え、前記デルタＱＰ値は、前記ロッシーブロックに関する前記ＱＰ値と予測されるＱＰ値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるＣ３１に記載のデバイス。
［Ｃ３８］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、一定の値を前記割り当てられたゼロでないＱＰ値として設定するための手段を備えるＣ３１に記載のデバイス。
［Ｃ３９］
コーディングすることは、復号することを備え、前記少なくとも１つのブロックを復号するための前記手段は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信するための手段を備え、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信するための手段、及び前記少なくとも１つのブロックに関するデルタＱＰ値を受信するための手段のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、前記デルタＱＰ値及び前記予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することを備え、
前記デバイスは、１つ以上の構文要素を前記受信されたビットストリームで受信するための手段をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ３１に記載のデバイス。
［Ｃ４０］
コーディングすることは、符号化することを備え、
前記少なくとも１つのブロックを符号化するための前記手段は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングするための手段を備え、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てるための前記手段は、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングするための手段、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングするための手段のうちの１つを備え、前記デルタＱＰ値は、前記１つ以上のブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記デバイスは、１つ以上の構文要素を前記ビットストリームでシグナリングするための手段をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ３１に記載のデバイス。
［Ｃ４１］
実行されたときに、映像データをコーディングすることを１つ以上のプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体であって、前記命令は、
映像データの複数のブロックをコーディングし、
イントラパルスコード変調（ＩＰＣＭ）コーディングモード及び予測を使用するロスレスコーディングモードのうちの１つを備えるコーディングモードを用いてコーディングされた前記少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）値を割り当て、及び
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことを前記１つ以上のプロセッサに行わせ、前記コーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも１つのブロックをコーディングすることを含む、コンピュータによって読み取り可能な記憶媒体。
［Ｃ４２］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの前記１つ以上に関する前記デブロッキングフィルタリングを行うことを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ＩＰＣＭコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロックに関する前記デブロッキングフィルタリングを行い、及び、
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないＱＰ値に基づいて、映像データの前記複数のブロックのうちの１つの隣接ブロックに関する前記デブロッキングフィルタリングを行うことを前記１つ以上のプロセッサに行わせる命令を備え、前記隣接ブロックは、前記少なくとも１つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされる、Ｃ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４３］
前記割り当てられたゼロでないＱＰ値に基づいて前記少なくとも１つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うことを前記１つ以上のプロセッサに行わせる命令は、
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないＱＰ値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することのうちの１つ以上を行うことを前記１つ以上のプロセッサに行わせる命令を備えるＣ４２に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４４］
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、次のうちの１つ以上に基づいて前記割り当てられたゼロでないＱＰ値を決定することを前記１つ以上のプロセッサに行わせる命令を備えるＣ４１に記載のコンピュータによって読み取り可能な記憶媒体。
前記少なくとも１つのブロックに関するシグナリングされたＱＰ値であり、前記シグナリングされたＱＰ値は、前記割り当てられたゼロでないＱＰ値を示す、
前記少なくとも１つのブロックに関する予測されるＱＰ値、及び
前記少なくとも１つのブロックに関するシグナリングされたデルタＱＰ値であり、前記デルタＱＰ値は、前記割り当てられたゼロでないＱＰ値と前記予測されるＱＰ値との間の差分を表す。
［Ｃ４５］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも１つのブロックを含む量子化グループに関する少なくとも１つのグループＱＰ値を前記割り当てられたゼロでないＱＰ値として設定し、及び
前記少なくとも１つのブロックのサイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することを前記１つ以上のプロセッサに行わせる命令を備え、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの１つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備える、Ｃ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４６］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、ＩＰＣＭコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、
前記少なくとも１つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの１つの近隣ブロックに関するＱＰ値を前記割り当てられたゼロでないＱＰ値として設定することを前記１つ以上のプロセッサに行わせる命令を備え、前記近隣ブロックは、前記少なくとも１つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの１つ以上を備えるＣ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４７］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、映像データの前記複数のブロックのうちのロッシーブロックに関するＱＰ値及びデルタＱＰ値のうちの１つを前記割り当てられたゼロでないＱＰ値として設定することを前記１つ以上のプロセッサに行わせる命令を備え、前記デルタＱＰ値は、前記ロッシーブロックに関する前記ＱＰ値と予測されるＱＰ値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるＣ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４８］
前記少なくとも１つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、一定の値を前記割り当てられたゼロでないＱＰ値として設定することを前記１つ以上のプロセッサに行わせる命令を備えるＣ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ４９］
コーディングすることは、復号することを備え、
前記少なくとも１つのブロックを復号することを前記１つ以上のプロセッサに行わせる前記命令は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つを受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令を備え、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、前記割り当てられたゼロでないＱＰ値を前記受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、前記デルタＱＰ値及び前記予測されるＱＰ値に基づいて前記割り当てられたゼロでないＱＰ値を決定することを前記１つ以上のプロセッサに行わせる命令を備え、
前記コンピュータによって読み取り可能な記憶媒体は、１つ以上の構文要素を前記受信されたビットストリームで受信することを前記１つ以上のプロセッサに行わせる命令をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ５０］
コーディングすることは、符号化することを備え、
前記少なくとも１つのブロックを符号化することを前記１つ以上のプロセッサに行わせる前記命令は、前記少なくとも１つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの１つをビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令を備え、
前記少なくとも１つのブロックに関する前記ゼロでないＱＰ値を割り当てることを前記１つ以上のプロセッサに行わせる前記命令は、前記割り当てられたゼロでないＱＰ値を前記ビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令、及び前記少なくとも１つのブロックに関するデルタＱＰ値を前記ビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令のうちの１つを備え、前記デルタＱＰ値は、前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値と予測されるＱＰ値との間の差分を表し、
前記コンピュータによって読み取り可能な記憶媒体は、１つ以上の構文要素を前記ビットストリームでシグナリングすることを前記１つ以上のプロセッサに行わせる命令をさらに備え、前記１つ以上の構文要素は、映像データの前記複数のブロックのうちの前記１つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すＣ４１に記載のコンピュータによって読み取り可能な記憶媒体。
［Ｃ５１］
映像データをコーディングする方法であって、
映像データの複数のブロックをコーディングすることであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、イントラパルスコード変調（ＩＰＣＭ）コーディングモードを用いてコーディングされることと、
前記少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて映像データの前記複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことと、を備える、映像データをコーディングする方法。
［Ｃ５２］
映像データをコーディングする方法であって、
映像データの複数のブロックをコーディングすることであって、映像データの前記複数のブロックのうちの少なくとも１つのブロックは、予測を使用するロスレスコーディングモードを用いてコーディングされることと、
前記少なくとも１つのブロックに関するゼロでない量子化パラメータ（ＱＰ）値を割り当てることと、
前記少なくとも１つのブロックに関する前記割り当てられたゼロでないＱＰ値に基づいて、前記少なくとも１つのブロック以外の、映像データの前記複数のブロックのうちの１つ以上に関するデブロッキングフィルタリングを行うことと、
前記少なくとも１つのブロックに関するデブロッキングフィルタリングを行うことを回避することと、を備える、映像データをコーディングする方法。
【図１】
0005996663.tif 000013
【図２】
0005996663.tif 000014
【図３】
0005996663.tif 000015
【図４】
0005996663.tif 000016
【図５】
0005996663.tif 000017
【図６】
0005996663.tif 000018
【図７Ａ】
0005996663.tif 000019
【図７Ｂ】
0005996663.tif 000020
【図８Ａ】
0005996663.tif 000021
【図８Ｂ】
0005996663.tif 000022
【図９】
0005996663.tif 000023
【図１０】
0005996663.tif 000024
【図１１】
0005996663.tif 000025