特表2022-502947(P2022-502947A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ.の特許一覧

特表2022-502947デブロッキングまたはデリンギングフィルタ、およびエンコーダ、デコーダ、ならびにデブロッキングまたはデリンギングフィルタの強度を適用および変更するための方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2022-502947(P2022-502947A)
(43)【公表日】2022年1月11日
(54)【発明の名称】デブロッキングまたはデリンギングフィルタ、およびエンコーダ、デコーダ、ならびにデブロッキングまたはデリンギングフィルタの強度を適用および変更するための方法
(51)【国際特許分類】
   H04N 19/117 20140101AFI20211217BHJP
   H04N 19/14 20140101ALI20211217BHJP
   H04N 19/176 20140101ALI20211217BHJP
   H04N 19/82 20140101ALI20211217BHJP
   H04N 19/86 20140101ALI20211217BHJP
【FI】
   H04N19/117
   H04N19/14
   H04N19/176
   H04N19/82
   H04N19/86
【審査請求】有
【予備審査請求】未請求
【全頁数】59
(21)【出願番号】特願2021-517455(P2021-517455)
(86)(22)【出願日】2019年9月26日
(85)【翻訳文提出日】2021年5月25日
(86)【国際出願番号】EP2019076080
(87)【国際公開番号】WO2020064949
(87)【国際公開日】20200402
(31)【優先権主張番号】18197609.3
(32)【優先日】2018年9月28日
(33)【優先権主張国】EP
(31)【優先権主張番号】18201517.2
(32)【優先日】2018年10月19日
(33)【優先権主張国】EP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu−ray
(71)【出願人】
【識別番号】500242786
【氏名又は名称】フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】クリスティアン・ヘルムリヒ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK03
5C159LC09
5C159PP25
5C159TA69
5C159TB08
5C159TC03
5C159TC26
5C159TC42
5C159TD12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本発明は、ピクチャ(12)のブロック(1000)をフィルタリングするためのデブロッキングまたはデリンギングフィルタ(110、120)の強度を適用および変更するためのエンコーダ、デコーダ、および方法に関し、デブロッキングフィルタ(110、120)は、ブロック(1000)の境界(1010)の少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の各々について、ブロック(1000)のフィルタリングされていないコンテンツ(1015)と、それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に沿ったブロック(1000)の周りの周囲のピクチャコンテンツ(1016)との間の非類似度を決定することであって、8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)が、それぞれがブロック(1000)のコーナーに配置された4つのコーナー境界部分(1021、1022、1023、1024)と、それぞれがブロック(1000)のコーナーの間の境界(1010)の中間部分に配置された4つのエッジ境界部分(1011、1012、1013、1014)とを含む、決定することを行うように構成される。さらに、デブロッキングフィルタは、ブロック(1000)のフィルタリングされたコンテンツを取得するために、少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)について決定された非類似度を使用して、ブロック(1000)のデブロッキングフィルタリングをパラメータ化するように構成される。
【特許請求の範囲】
【請求項1】
デブロッキングまたはデリンギングフィルタ(110)を用いてピクチャデータをブロックベースでデコードするためのデコーダ(20)であって、
データストリーム(14)からのピクチャ(12)を、予測を用い、前記データストリーム(14)においてコード化された予測残差を用い、ブロック単位で再構築して、前記ピクチャ(12)の再構築されたバージョン(12')を取得することと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(110)を適用することと、
前記デブロッキングまたはデリンギングフィルタ(110)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更することと
を行うように構成される、デコーダ(20)。
【請求項2】
前記ピクチャ(12)をブロック(181、182、183、184、181a〜181g、182a〜182d)に分割することと、
前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記ピクチャ(12)の前記再構築を実行することと
を行うように構成され、
前記第1の尺度(A)は、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)のサイズを局所的に測定するように設計される、請求項1に記載のデコーダ(20)。
【請求項3】
前記ピクチャ(12)の前記再構築において、各ブロック(181、182、183、184、181a〜181g、182a〜182d)に、複数の予測モードのうちの1つを前記それぞれのブロック(181、182、183、184、181a〜181g、182a〜182d)に割り当てるように構成され、前記複数の予測モードは、1つまたは複数のイントラ予測モードおよび/あるいは1つまたは複数のインター予測モードを備える、請求項2に記載のデコーダ(20)。
【請求項4】
前記ピクチャ(12)が事前に分割されている複数のツリールートブロック(181、182、183、184)の各々に対して再帰的なマルチツリー細分化を行うことによって、前記ピクチャ(12)のブロック(181、182、183、184、181a〜181g、182a〜182d)への前記分割を実行し、前記ブロックが前記複数のツリールートブロック(181、182、183、184)のリーフブロック(181a〜181g、182a〜182d)を形成するようにする、ステップと、
ツリールートブロック(181、182、183、184)ごとに、前記第1の尺度(A)および前記第2の尺度(B)を局所的に決定することと
を行うように構成される、請求項2または3に記載のデコーダ(20)。
【請求項5】
前記データストリーム(14)から分割情報を読み取ることと、
前記分割情報に応じて、前記複数のツリールートブロック(181、182、183、184)の各々に対して前記再帰的なマルチツリー細分化を行うことを実行することと、
前記分割情報に応じて、前記第1の尺度(A)を決定することと
を行うように構成される、請求項4に記載のデコーダ(20)。
【請求項6】
ツリールートブロック(181、182、183、184)ごとに、前記それぞれのツリールートブロック(181、182、183、184)が分割されるリーフブロック(181a〜181g、182a〜182d)の数を決定することによって前記第1の尺度(A)を決定するように構成される、請求項4または5に記載のデコーダ(20)。
【請求項7】
ブロック(181、182、183、184、181a〜181g、182a〜182d)ごとに少なくとも1つの係数ブロックを有する前記予測残差の区分的変換を表す係数ブロックの単位で前記データストリーム(14)からの前記予測残差をデコードすることと、
ツリールートブロック(181、182、183、184)ごとに、ゼロに完全には量子化されていない係数ブロックの数を決定することによって、前記第2の尺度(B)を決定することと
を行うように構成される、請求項4から6のいずれか一項に記載のデコーダ(20)。
【請求項8】
対応するブロック(181、182、183、184)またはそのサブブロック(181a〜181g、182a〜182d)を取得するために、係数ブロックごとに、任意で恒等変換を含む複数の逆変換のうちの1つを選択することと、前記選択した逆変換を使用することとを行うように構成される、請求項7に記載のデコーダ(20)。
【請求項9】
前記第1および第2の尺度(A、B)が所定の基準を満たす前記ピクチャ(12)の第1の部分について、前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(110)の第1の強度を示す前記データストリーム(14)から強度情報を読み取ることと、
前記第1および第2の尺度(A、B)が前記所定の基準を満たさない前記ピクチャ(12)の第2の部分について、前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(110)の強度を、より低い第2の強度に設定することと
によって、前記デブロッキングまたはデリンギングフィルタ(110)の前記強度の前記局所的変更を行うように構成される、請求項1から8のいずれか一項に記載のデコーダ(20)。
【請求項10】
前記所定の基準は、
前記第1の尺度(A)が第1の所定のしきい値を下回る場合、および
前記第2の尺度(B)が第2の所定のしきい値を超えるかこれに等しい場合、満たされる、請求項9に記載のデコーダ(20)。
【請求項11】
前記第1の所定のしきい値はpであり、pは、各々の前記ツリールートブロック(181、182、183、184)について、1<p<17を満たし、および/または
前記第2の所定のしきい値はqであり、qは、各々の前記ツリールートブロック(181、182、183、184)について、-1<q<51を満たす、請求項10に記載のデコーダ(20)。
【請求項12】
前記第1および第2の部分は、ツリールートブロック(181、182、183、184)であって、それへと前記ピクチャ(12)が事前に分割され、さらに、結果としてブロック(181、182、183、184、181a〜181g、182a〜182d)を生じさせるマルチツリー細分化の対象となる、ツリールートブロック(181、182、183、184)であり、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記再構築が実行される、請求項9から11のいずれか一項に記載のデコーダ(20)。
【請求項13】
前記ピクチャデータはビデオを備え、前記デコーダ(20)はビデオデコーダであり、そのインループフィルタは前記デブロッキングまたはデリンギングフィルタ(110)によって形成される、請求項1から12のいずれか一項に記載のデコーダ(20)。
【請求項14】
デブロッキングまたはデリンギングフィルタ(120)をインループフィルタとして使用して、ピクチャデータをブロックベースでエンコードするためのエンコーダ(10)であって、
予測を使用し、前記エンコーダ(10)の予測ループ(136)内にピクチャ(12)の再構築されたバージョン(12')を提供することにより予測残差をデータストリーム(14)にコード化することによって、前記ピクチャ(12)を前記データストリーム(14)にブロック単位でエンコードすることと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(120)を適用することと、
前記デブロッキングまたはデリンギングフィルタ(120)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更することと
を行うように構成される、エンコーダ(10)。
【請求項15】
前記ピクチャをブロック(181、182、183、184、181a〜181g、182a〜182d)に分割することと、
前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記エンコードすることを実行することと
を行うように構成され、
前記第1の尺度(A)は、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)のサイズを局所的に測定するように設計される、請求項14に記載のエンコーダ(10)。
【請求項16】
前記エンコードすることにおいて、各ブロック(181、182、183、184、181a〜181g、182a〜182d)に、複数の予測モードのうちの1つを前記それぞれのブロック(181、182、183、184、181a〜181g、182a〜182d)に割り当てるように構成され、前記複数の予測モードは、1つまたは複数のイントラ予測モードおよび/あるいは1つまたは複数のインター予測モードを備える、請求項15に記載のエンコーダ(10)。
【請求項17】
前記ピクチャ(12)が事前に分割されている複数のツリールートブロック(181、182、183、184)の各々に対して再帰的なマルチツリー細分化を行うことによって、前記ブロックが前記複数のツリールートブロック(181、182、183、184)のリーフブロック(181a〜181g、182a〜182d)を形成するようにすることと、
ツリールートブロック(181、182、183、184)ごとに、前記第1の尺度(A)および前記第2の尺度(B)を局所的に決定することと
によって、前記分割を実行するように構成される、請求項15または16に記載のエンコーダ(10)。
【請求項18】
分割情報に基づいて、前記複数のツリールートブロック(181、182、183、184)の各々に対して前記再帰的なマルチツリー細分化を行うことを実行することと、
前記分割情報を前記データストリーム(14)に挿入することと、
前記分割情報に応じて、前記第1の尺度(A)を決定することと
を行うように構成される、請求項17に記載のエンコーダ(10)。
【請求項19】
ツリールートブロック(181、182、183、184)ごとに、前記それぞれのツリールートブロック(181、182、183、184)が分割されるリーフブロック(181a〜181g、182a〜182d)の数を決定することによって前記第1の尺度(A)を決定するように構成される、請求項17または18に記載のエンコーダ(10)。
【請求項20】
ブロック(181、182、183、184、181a〜181g、182a〜182d)ごとに少なくとも1つの係数ブロックを有する前記予測残差の区分的変換を表す係数ブロックの単位で前記データストリーム(14)に前記予測残差をエンコードすることと、
ツリールートブロック(181、182、183、184)ごとに、ゼロに完全には量子化されていない係数ブロックの数を決定することによって、前記第2の尺度(B)を決定することと
を行うように構成される、請求項17から19のいずれか一項に記載のエンコーダ(10)。
【請求項21】
対応するブロック(181、182、183、184)またはそのサブブロック(181a〜181g、182a〜182d)を取得するために、係数ブロックごとに、任意で恒等変換を含む複数の変換のうちの1つを選択することと、前記選択した逆変換を使用することとを行うように構成される、請求項20に記載のエンコーダ(10)。
【請求項22】
前記第1および第2の尺度(A、B)が所定の基準を満たす前記ピクチャ(12)の第1の部分について、前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(120)の第1の強度を示す前記データストリーム(14)に強度情報を挿入することと、
前記第1および第2の尺度(A、B)が前記所定の基準を満たさない前記ピクチャ(12)の第2の部分について、前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(120)の強度を、より低い第2の強度に設定することと
によって、前記デブロッキングまたはデリンギングフィルタ(120)の前記強度の前記局所的変更を行うように構成される、請求項14から21のいずれか一項に記載のエンコーダ(10)。
【請求項23】
前記所定の基準は、
前記第1の尺度(A)が第1の所定のしきい値を下回る場合、および
前記第2の尺度(B)が第2の所定のしきい値を超えるかこれに等しい場合、満たされる、請求項22に記載のエンコーダ(10)。
【請求項24】
前記第1の所定のしきい値はpであり、pは、各々の前記ツリールートブロック(181、182、183、184)について、1<p<17を満たし、および/または
前記第2の所定のしきい値はqであり、qは、各々の前記ツリールートブロック(181、182、183、184)について、-1<q<51を満たす、請求項23に記載のエンコーダ(10)。
【請求項25】
前記第1および第2の部分は、ツリールートブロック(181、182、183、184)であって、それへと前記ピクチャ(12)が事前に分割され、さらに、結果としてブロック(181、182、183、184、181a〜181g、182a〜182d)を生じさせるマルチツリー細分化の対象となる、ツリールートブロック(181、182、183、184)であり、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記エンコードすることが実行される、請求項22から24のいずれか一項に記載のエンコーダ(10)。
【請求項26】
デブロッキングまたはデリンギングフィルタ(110)を用いてピクチャデータをブロックベースでデコードするための方法であって、
データストリーム(14)からのピクチャ(12)を、予測を用い、前記データストリーム(14)においてコード化された予測残差を用い、ブロック単位で再構築して、前記ピクチャ(12)の再構築されたバージョン(12')を取得するステップと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(110)を適用するステップと、
前記デブロッキングまたはデリンギングフィルタ(110)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更するステップと
を備える、方法。
【請求項27】
デブロッキングまたはデリンギングフィルタ(120)をインループフィルタとして用いてピクチャデータをブロックベースでエンコードするための方法であって、
予測を使用し、予測ループ(136)内にピクチャ(12)の再構築されたバージョン(12')を提供することにより予測残差をデータストリーム(14)にコード化して、前記ピクチャ(12)を前記データストリーム(14)にブロック単位でエンコードするステップと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(120)を適用するステップと、
前記デブロッキングまたはデリンギングフィルタ(120)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更するステップと
を備える、方法。
【請求項28】
コンピュータ上で実行されるときに、請求項26または27に記載の方法を実行するためのプログラムコードを有するコンピュータプログラムを記憶した、コンピュータ可読デジタル記憶媒体。
【請求項29】
請求項26または27に記載の方法によって取得されたデータストリーム。
【請求項30】
ピクチャ(12)のブロック(1000)をフィルタリングするためのデブロッキングフィルタ(110、120)であって、
前記ブロック(1000)の境界(1010)の少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の各々について、前記ブロック(1000)のフィルタリングされていないコンテンツ(1015)と、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に沿った前記ブロック(1000)の周りの周囲のピクチャコンテンツ(1016)との間の非類似度を決定することであって、前記8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)が、それぞれが前記ブロック(1000)のコーナーに配置された4つのコーナー境界部分(1021、1022、1023、1024)と、それぞれが前記ブロック(1000)の前記コーナーの間の前記境界(1010)の中間部分に配置された4つのエッジ境界部分(1011、1012、1013、1014)とを含む、決定することと、
前記ブロック(1000)のフィルタリングされたコンテンツを取得するために、前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)について決定された前記非類似度を使用して、前記ブロック(1000)のデブロッキングフィルタリングをパラメータ化することと
を行うように構成される、デブロッキングフィルタ(110、120)。
【請求項31】
前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の各々について、第1のサンプルと第2のサンプルとの間の平均差を計算することによって前記非類似度を決定するように構成され、前記第1のサンプルは前記ブロック(1000)の内側に配置され、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に隣接し、前記第2のサンプルは前記ブロック(1000)の外側に配置され、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に隣接する、請求項30に記載のデブロッキングフィルタ(110、120)。
【請求項32】
前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の各々について、第1のサンプルの第1の合計と第2のサンプル第2の合計の差を計算することによって前記非類似度を決定するように構成され、前記第1のサンプルは前記ブロック(1000)の内側に配置され、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に隣接し、前記第2のサンプルは前記ブロック(1000)の外側に配置され、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に隣接するように構成される、請求項30または31に記載のデブロッキングフィルタ(110、120)。
【請求項33】
少なくとも前記8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)のうちの1つについて、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の幅が、ブロックサイズによって異なる前記ブロックの境界(1010)の長さの何分の1かに等しくなるように、前記ブロック(1000)のサイズに応じて前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の幅を設定するように構成される、請求項30から32のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項34】
前記ブロック(1000)の前記サイズが第1の所定の量よりも小さい場合、前記4つのエッジ境界部分(1011、1012、1013、1014)および前記4つのコーナー境界部分(1021、1022、1023、1024)が相互に重複し、
前記ブロック(1000)の前記サイズが前記第1の所定の量よりも大きい場合、前記4つのエッジ境界部分(1011、1012、1013、1014)および前記4つのコーナー境界部分(1021、1022、1023、1024)が重複しないように
前記ブロック(1000)のサイズに応じて、前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の幅を設定する、請求項30から33のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項35】
前記ブロック(1000)の前記サイズが第1の所定の量よりも小さい場合、前記4つのエッジ境界部分(1011、1012、1013、1014)および前記4つのコーナー境界部分(1021、1022、1023、1024)が相互に重複し、
前記ブロック(1000)の前記サイズが第1の所定の量と第2の所定の量との間にある場合、前記4つのエッジ境界部分(1011、1012、1013、1014)および前記4つのコーナー境界部分(1021、1022、1023、1024)が相互に隣接し、
前記ブロック(1000)の前記サイズが前記第2の所定の量よりも大きい場合、前記4つのエッジ境界部分(1011、1012、1013、1014)および前記4つのコーナー境界部分(1021、1022、1023、1024)が相互に間隔を空けて配置されるように
前記ブロック(1000)のサイズに応じて、前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の幅を設定する、請求項30から34のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項36】
前記ブロック(1000)の前記サイズに応じて、前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の前記幅を、水平軸と垂直軸に沿って別々に設定するように構成される、請求項33から35のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項37】
オフセット値を使用することによって、前記ブロック(1000)の前記境界(1010)に沿って延びる前記ブロック(1000)の境界帯域(1033)内の各サンプルをオフセットし、
前記オフセット値がサンプルの各ライン(1031、1032)について前記ブロックの境界(1010)に対して等しく成形され、それ一定のサンプルオフセットを有し、前記境界帯域(1033)が円周方向に分割されている境界部分(1041a、1041b、1051、1061a、1061b)のそれぞれ内で一定であるように、
前記それぞれの境界部分(1041a、1041b、1051、1061a、1061b)内のサンプルの前記オフセット値が前記境界(1010)から前記ブロック(1000)の中央までの減衰の影響を受けるように、および
前記それぞれの境界部分(1041a、1041b、1051、1061a、1061b)内のサンプルの前記オフセット値が、前記それぞれの境界部分(1041a、1041b、1051、1061a、1061b)に円周方向に最も近い前記境界部分(1011、1012、1013、1014、1021、1022、1023、1024)のうちの1つまたは複数について決定された前記非類似度に基づいて計算されるように、前記オフセット値を設定することによって、前記ブロック(1000)の前記デブロッキングフィルタリングを実行するように構成される、請求項30から36のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項38】
前記ブロック(1000)のサイズに対して単調に増加する前記境界帯域の帯域幅を設定するように構成される、請求項37に記載のデブロッキングフィルタ(110、120)。
【請求項39】
前記境界帯域が一定の円周幅を備えるように構成される、請求項37または38に記載のデブロッキングフィルタ(110、120)。
【請求項40】
前記境界帯域(1033)の前記境界部分は、
前記ブロック(1000)の各コーナーにおいて、前記ブロック(1000)の前記それぞれのコーナーから内側(1030)に向かって対角線上に延びるコーナー境界部分(1041a、1041b)、および
前記ブロック(1000)の隣接するコーナー境界部分(1041a、1041b)の各対の間、2つまたは3つの境界部分(1051、1061a、1061b)
を少なくとも備えるように構成される、請求項37から39のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項41】
前記ブロック(1000)の隣接するコーナー境界部分(1041a、1041b)の各ペアの間の前記2つまたは3つの境界部分(1051、1061a、1061b)は、
前記それぞれのペアの第1のコーナー境界部分(1041a)に円周方向に隣接する第1のセクション(1061a)と、
前記それぞれのペアの第2のコーナー境界部分(1041b)に円周方向に隣接する第2のセクション(1061b)と、
前記それぞれのペアの前記第1と第2のコーナー境界部分(1041a、1041b)との間に円周方向に配置された中間境界部分(1051)と
を備えるように構成される、請求項40に記載のデブロッキングフィルタ(110、120)。
【請求項42】
前記ブロック(1000)の隣接するコーナー境界部分(1041a、1041b)の各ペアの間の前記2つまたは3つの境界部分(1051、1061a、1061b)は、
隣接するコーナー境界部分(1041a、1041b)の前記それぞれのペアが前記ブロック(1000)の前記内側に向かって延びる前記コーナー間に延びる方向に沿って測定された前記ブロックサイズが前記境界バン(1033)の幅の2倍より大きい場合、
前記それぞれのペアの第1のコーナー境界部分(1041a)に円周方向に隣接する第1のセクション(1061a)と、
前記それぞれのペアの第2のコーナー境界部分(1041b)に円周方向に隣接する第2のセクション(1061b)と、
前記それぞれのペアの前記第1および第2のコーナー境界部分(1041a、1041b)の間に円周方向に延びる中間境界部分(1051)と
を備え、
隣接するコーナー境界部分(1041a、1041b)の前記それぞれのペアが前記ブロック(1000)の前記内側に向かって延びる前記コーナー間に延びる方向に沿って測定された前記ブロックサイズが前記境界帯域(1033)の幅の2倍以下である場合、
前記それぞれのペアの第1のコーナー境界部分(1041a)に円周方向に隣接する第1のセクション(1061a)と、
前記それぞれのペアの第2のコーナー境界部分(1041b)に円周方向に隣接する第2のセクション(1061b)と、
を備えるように構成され、
前記第1と第2のセクション(1061a、1061b)は相互に隣接している、請求項40に記載のデブロッキングフィルタ(110、120)。
【請求項43】
前記中央境界部分(1051)は、前記ブロック(1000)から前記境界帯域(1033)の前記幅の2倍を引いたものと円周方向に同じ幅であるように構成される、請求項41または42に記載のデブロッキングフィルタ(110、120)。
【請求項44】
前記コーナー境界部分(1041)ごとに、前記それぞれのコーナー境界部分(1041)内のサンプルの前記オフセット値(oc)を、
前記オフセット値(oc)は、前記それぞれのコーナー境界部分(1041)が前記ブロック(1000)の前記内側に向かって対角線上に延びる前記コーナー境界部分(1021、1022、1023、1024)について決定された前記非類似度に基づいて決定され、前記ブロック(1000)の前記境界(1010)から前記ブロック(1000)の前記内側(1030)に向かう減衰の影響を受ける
ように設定するように構成される、請求項40から43のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項45】
前記ブロック(1000)の前記境界(1010)から前記ブロック(1000)の前記内側(1030)に向かう前記減衰は、線形または指数関数的な減衰である、請求項37から44のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項46】
前記コーナー境界部分(1041)ごとに、前記それぞれのコーナー境界部分(1041)内のサンプルの前記オフセット値(oc)を、
前記それぞれのコーナー境界部分(1041)内の前記サンプルの前記オフセット値(oc)は、
前記それぞれのコーナー境界部分(1041)が前記ブロック(1000)の前記内側に向かって対角線上に延びる前記コーナー境界部分(1021、1022、1023、1024)について決定された前記非類似度に基づいて決定された第1のオフセット値(offsetc)と、
前記それぞれのコーナー境界部分(1041)は、前記ブロック(1000)の前記内側に向かって対角線上に延びる前記それぞれのコーナー境界部分(1021、1022、1023、1024)に円周方向に隣接する前記エッジ境界部分(1011、1012、1013、1014)について決定された前記非類似度に基づいて決定された第2のオフセット値(mc)と
の加重平均に従って、前記ブロック(1000)の前記境界(1010)から前記ブロック(1000)の前記内側(1030)に向かって変化するように設定するように構成され、
前記加重平均の重みは、前記加重平均が、距離が増加するときの前記第2のオフセット値(mc)と比較して、前記第1のオフセット値(offsetc)に単調に減少するほど依存しないように、前記ブロック(1000)の前記境界(1010)からの前記サンプルの距離に依存する、請求項40から45のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項47】
前記ブロック(1000)の隣接するコーナー境界部分(1041a、1041b)の各ペアの間の前記2つまたは3つの境界部分(1051、1061a、1061b)は、
前記それぞれのペアの第1のコーナー境界部分(1041a)に円周方向に隣接する第1のセクション(1061a)と、
前記それぞれのペアの第2のコーナー境界部分(1041b)に円周方向に隣接する第2のセクション(1061b)と、
前記それぞれのペアの前記第1および第2のコーナー境界部分(1041a、1041b)との間に円周方向に配置された中間境界部分(1051)と
を備え、
前記デブロッキングフィルタ(110、120)はさらに、
前記第1のセクション(1061a)について、
ライン(1031、1032)ごとに、前記それぞれのライン(1031、1032)内のサンプルの前記オフセット値は、前記それぞれのライン(1031、1032)における前記第1のコーナー境界部分(1041a)の前記オフセット値と、前記それぞれのライン(1031、1032)内の前記中央境界部分(1051)における前記オフセット値との間で補間されるように、前記第1のセクション(1061a)内のサンプルの前記オフセット値を設定することと、
前記第2のセクション(1061b)について、
ライン(1031、1032)ごとに、前記それぞれのライン(1031、1032)内のサンプルの前記オフセット値は、前記それぞれのライン(1031、1032)における前記第2のコーナー境界部分(1041b)の前記オフセット値と、それぞれのライン(1031、1032)における前記中央境界部分(1051)の前記オフセット値との間で補間されるように、前記第2のセクション(1061b)内のサンプルの前記オフセット値を設定することと
を行うように構成される、請求項40から46のいずれか一項に記載のデブロッキングフィルタ(110、120)。
【請求項48】
ピクチャ(12)のブロックベースのデコーディングのためのデコーダ(20)であって、請求項30から45のいずれか一項に記載のデブロッキングフィルタ(110、120)を備える、デコーダ(20)。
【請求項49】
前記データストリーム(14)からの予測残差を、前記予測残差が分割された変換ブロックを表す係数ブロックの単位でデコードし、前記デブロッキングフィルタ(110、120)は、前記ピクチャ(12)の変換ブロックの単位でデブロッキングするように構成される、請求項48に記載のデコーダ(20)。
【請求項50】
ピクチャ(12)のブロックベースのエンコードをすることのためのエンコーダ(10)であって、請求項30から45のいずれか一項に記載のデブロッキングフィルタ(110、120)を備える、エンコーダ(10)。
【請求項51】
予測残差を、前記予測残差が分割された変換ブロックを表す係数ブロックの単位で前記データストリーム(14)にエンコードし、前記デブロッキングフィルタ(110、120)は、前記ピクチャ(12)を変換ブロックの単位でデブロッキングするように構成される、請求項50に記載のエンコーダ(10)。
【請求項52】
ブロックベースのコード化されたピクチャ(12)のブロック(1000)をフィルタリングするための方法であって、
ブロック(1000)の境界(1010)の少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)の各々について、前記ブロック(1000)のフィルタリングされていないコンテンツ(1015)と、前記それぞれの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)に沿った前記ブロック(1000)の周りの周囲のピクチャコンテンツ(1016)との間の非類似度を決定するステップであって、前記8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)が、それぞれが前記ブロック(1000)のコーナーに配置された4つのコーナー境界部分(1021、1022、1023、1024)と、それぞれが前記ブロック(1000)の前記コーナーの間の前記境界(1010)の中間部分に配置された4つのエッジ境界部分(1011、1012、1013、1014)とを含む、ステップと、
前記ブロック(1000)のフィルタリングされたコンテンツを取得するために、前記少なくとも8つの境界部分(1011、1012、1013、1014、1021、1022、1023、1024)について決定された前記非類似度を使用して、前記ブロック(1000)のデブロッキングフィルタリングをパラメータ化するステップと
を備える、方法。
【請求項53】
コンピュータ上で実行されるときに、請求項52に記載の方法を実行するためのプログラムコードを有するコンピュータプログラムを記憶した、コンピュータ可読デジタル記憶媒体。
【請求項54】
請求項52に記載の方法によって取得されたデータストリーム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、デブロッキングまたはデリンギングフィルタ、ならびにエンコーダ、デコーダ、およびデブロッキングまたはデリンギングフィルタを使用してピクチャデータをブロックベースでエンコードおよびデコードするためのそれぞれの方法であって、前記デブロッキングまたはデリンギングフィルタの強度が、1つまたは複数の条件に応じて変化し得る方法に関する。いくつかの実施形態は、それぞれのフィルタ制御パラメータの選択的シグナリングに特に関係し得る。
【背景技術】
【0002】
現代の知覚的(すなわち、非可逆)ブロック変換画像およびビデオコーデック(コーダ/デコーダ)は、比較的低いビットレートでも非常に優れた視覚的再構築品質に到達することができる。しかしながら、ビットレートが非常に低い場合は、「ブロッキング」と呼ばれることが多い、ブロック境界の周囲のぼやけや不連続性などのアーティファクトが発生する。これらの一般的に煩わしいアーティファクトを軽減するために、H.265/HEVC、H.266/VVC、およびAV1などの最新のコーデックにおいてデブロッキング後処理アルゴリズムが利用されている。
【0003】
ビデオコーディングにおいて、典型的なデブロッキングポストプロセッサは、エンコードインループの次の画像/フレームをコーディングする前に、デコードされた各画像またはフレーム、すなわち各インターピクチャ予測(動き補償としても知られる)ソース画像/フレームに対してインループフィルタとして動作する。デブロッキングポストフィルタは、デコードされた画像の再構築された各サブブロックの境界ピクセル値を、潜在的な不連続性の観点から分析する。弱い不連続性が見つかった場合、それは低レートのコーディング自体が原因であり、元の画像の一部ではないと見なされ、したがって、この不連続性は、ピクセル値の平滑化(たとえば、適応ピクセル値オフセットの加算)によって軽減される。
【0004】
同様のインループフィルタは、HEVCにおいて使用されるサンプルアダプティブオフセット(SAO)方法であり、それらの値に基づいて(サブ)ブロックごとにデコードされたピクセルを分類し、ピクセルクラスごとに加算オフセットを決定する。次いで、これらの加算オフセットは、(サブ)ブロックごとにデコーダに通知され、そこに適用される。そうすることで、SAOフィルタはデリンギングフィルタとして機能する。
【0005】
HEVCデブロッキングフィルタの詳細は、https://ieeexplore.ieee.org/document/6324414、A. Norkinら、「HEVC Deblocking Filter」、IEEE Trans. Circ. Syst. Video Tech. (CSVT), vol. 22、2012年に記載されており、SAOインループフィルタの概要は、https://ieeexplore.ieee.org/document/6324411、C. M. Fuら、「Sample Adaptive Offset in the HEVC Standard」、IEEE Trans. CSVT, vol. 22, 2012年に提供されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】https://ieeexplore.ieee.org/document/6324414、A. Norkinら、「HEVC Deblocking Filter」、IEEE Trans. Circ. Syst. Video Tech. (CSVT), vol. 22、2012年
【非特許文献2】https://ieeexplore.ieee.org/document/6324411、C. M. Fuら、「Sample Adaptive Offset in the HEVC Standard」、IEEE Trans. CSVT, vol. 22, 2012年
【発明の概要】
【発明が解決しようとする課題】
【0007】
H.266/VVCにおいて、最大変換ブロックサイズがHEVCにおいて許可されているサイズと比較して倍増しており、これにより、特に大きいブロックの境界の周囲で、より強力なデブロッキングフィルタ(すなわち、より広い範囲のピクセルを修正するデブロッキングポストプロセッサ)の使用が必要であることがわかった。しかしながら、このようなより積極的なデブロッキングフィルタは、低レートのコーディングによって引き起こされたのではない元の画像コンテンツを平滑化する、つまり潜在的に消去するリスクを高める。
【0008】
したがって、一部の低レートのコード化された高解像度の画像およびビデオコンテンツには非常に強力なデブロッキングフィルタリングが望ましく、前記強力なデブロッキングフィルタリングの適用を高度に選択的に制御できるようにすることが不可欠であると結論付けられる。当然、強力なデブロッキングフィルタの適用を許可するかどうかを受信機(すなわち、デコーダ)に示すために、ビットフラグは、サブブロック(たとえば、各コーディングツリーユニット、CTU)ごとに通知され得る。しかしながら、この手法では、ビットストリームに多くの追加のシグナリングビットが含まれるため、特に非常に低いビットレートでは、許容できないレベルまでコーディングビットレートが増加する。
【0009】
したがって、より効率的なソリューションが必要である。したがって、本発明の目的は、既存のアーティファクトフィルタリングを改善し、上記の欠点なしに様々なフィルタリング強度の効率的なシグナリングを提供することである。
【課題を解決するための手段】
【0010】
本発明の第1の態様によれば、この問題は、請求項1に記載の特徴を有するデコーダ、請求項14に記載の特徴を有するエンコーダ、請求項26に記載のデコードするための方法、請求項27に記載のエンコードするための方法、請求項28に記載のコンピュータ可読デジタル記憶媒体、および請求項29に記載のデータストリームにより解決される。
【0011】
本発明の第2の態様によれば、この問題は、請求項30に記載の特徴を有するデブロッキングフィルタ、請求項48に記載の特徴を有するデコーダ、請求項50に記載の特徴を有するエンコーダ、請求項52に記載のデブロッキングするための方法、請求項53に記載のコンピュータ可読デジタル記憶媒体、および請求項54に記載のデータストリームによって解決される。
【0012】
第1の態様の本発明のデコーダは、デブロッキングまたはデリンギングフィルタを使用して、ピクチャデータをブロックベースでデコードするために構成される。デコーダは、データストリームからのピクチャを、予測を使用し、データストリームにコード化された予測残差を使用し、ブロック単位で再構築して、ピクチャの再構築されたバージョンを取得するように構成される。予測コーディングは、たとえば、空間的なイントラピクチャ予測によって、および/または時間的なインターピクチャ予測によって実行され得る。イントラピクチャ予測は静止画像と動画に適用され得、インターピクチャ予測は動画にのみ適用され得る。視覚活動の少ない画像の場合、たとえば、画像の詳細がほとんどないため、予測は通常非常に効率的に機能する。結果として、対応する予測残差は、信号エネルギーをほとんど備えない可能性があり、したがって、多くの場合、完全にゼロに量子化され得る。そうすることで、これらのゼロコード化された予測残差は送信から免除される可能性がある。視覚活動がより高い画像の場合、たとえば、より多くの画像の詳細があるので、予測は通常、予測残差において比較的高い信号分散を示す可能性があるため、完全にゼロではない少なくとも1つの(粗く)量子化された予測残差の送信が必要になる。これは、それぞれの予測残差の非ゼロコード化と呼ばれることもある。前記非ゼロのコード化された予測残差は、ピクチャの再構築された(すなわち、デコードされた)バージョンにおいて目に見えるブロッキングまたはデリンギングを引き起こすための候補であり得る。したがって、デコーダは、ピクチャの再構築されたバージョンにデブロッキングまたはデリンギングフィルタを適用するように構成される。これに関して、本発明のデコーダはさらに、デブロッキングまたはデリンギングフィルタの強度を局所的に変更するように構成される。言い換えれば、デコーダは、デコードされたピクチャに適用されるデブロッキングまたはデリンギングの量を制御し得る。これにより、上記の制御なしで、従来のデブロッキングまたはデリンギングフィルタよりも改善された画像品質が得られる可能性がある。デブロッキングまたはデリンギングフィルタの前記強度は、定量的に測定され得る。強度の尺度(measure)は、たとえば、フィルタによって影響を受けるブロックの円周部分の幅、または別の言い方をすれば、フィルタがブロックのブロック境界からフィルタリングを引き起こすリーチの尺度であり得、強度が大きいほど幅が大きくなる。追加的または代替的に、フィルタ強度を測定するために、フィルタが適用される再構築されたピクチャのフィルタリングされたバージョンとフィルタリングされていないバージョンとの間の差の平均エネルギーが使用され得、強度が大きいほど、平均エネルギーが大きくなる。本発明のデコーダは、候補ピクチャまたは候補ピクチャ領域(たとえば、ブロック)の事前選択にそれぞれ応じて、前記フィルタ制御を適用するかどうか、すなわち、フィルタ強度を変更するかどうかを選択的に決定し得る。前記候補ピクチャまたは候補ピクチャ領域(たとえばブロック)は、平均ブロックサイズを局所的に測定する第1の尺度と、予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度に応じて選択され得る。非ゼロコード化の頻度は、それぞれのピクチャまたはピクチャ領域(たとえば、ブロック)の予測残差の非ゼロコード化が適用された頻度を表すことを意味する。言い換えれば、非ゼロのコード化された予測残差の数に応じて、および平均ブロックサイズ(たとえば、ブロックまたはサブブロックの数)に応じて、デコーダは、デブロッキングまたはデリンギングフィルタのフィルタ強度を変更し得る。
【0013】
第1の態様の本発明のエンコーダは、デブロッキングまたはデリンギングフィルタをインループフィルタとして使用して、ピクチャデータをブロックベースでエンコードするために構成される。エンコーダは、予測を使用してピクチャをデータストリームにブロック単位でエンコードすることと、エンコーダの予測インループにピクチャの再構築されたバージョンを提供することにより、予測残差をデータストリームにエンコードするように構成されている。エンコーダは、ピクチャの再構築されたバージョンにデブロッキングまたはデリンギングフィルタを適用することと、平均ブロックサイズを局所的に測定する第1の尺度と、予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度に応じて、デブロッキングまたはデリンギングフィルタの強度を局所的に変更することとを行うようにさらに構成される。言い換えれば、エンコーダは、レート歪みループにおけるピクチャの最適なブロックベースの分割を計算し得る。この計算に基づいて、エンコーダは、平均ブロックサイズおよび非ゼロのコード化された予測残差の数に基づいて、それぞれ候補ピクチャまたは候補ピクチャ領域(たとえば、ブロック)を選択し得る。次いで、これらの選択された候補ピクチャまたは候補ピクチャ領域(たとえば、ブロック)は、変化するフィルタ強度の影響を受ける可能性がある。言い換えれば、候補ピクチャまたは候補ピクチャ領域(たとえば、ブロック)がエンコーダによって選択された場合、前記選択された候補ピクチャまたは候補ピクチャ領域(たとえば、ブロック)に、フィルタ強度を変更するデブロッキングまたはデリンギングフィルタを適用し得、すなわち、デブロッキングまたはデリンギングの量は、エンコーダによって選択的に制御され得、したがって、ピクチャコーディングの品質は、従来のエンコーダと比較して改善され得る。
【0014】
本発明の第2の態様によれば、デブロッキングフィルタが提案され、前記デブロッキングフィルタは、ブロッキングまたはリンギングアーティファクトを低減するためにピクチャのブロックをフィルタリングするように構成される。したがって、デブロッキングフィルタは、デリンギングフィルタと呼ばれることもある。第2の態様によるデブロッキングフィルタは、エンコーダおよび/またはデコーダならびに/あるいは第1の態様による方法と組み合わせることができる。あるいは、第2の態様によるデブロッキングフィルタは、第1の態様とは異なるエンコーダおよび/またはデコーダならびに/あるいは方法と組み合わせることができる。
【0015】
第2の態様によるデブロッキングフィルタは、ブロックベースの方法で処理されるピクチャのブロックをフィルタリングするように構成され得る。前記フィルタリングは、ピクチャのブロックベースのコーディング時に現れる可能性のあるブロッキングまたはリンギングアーティファクトを低減するために利用され得る。ピクチャは、いくつかのブロックおよびサブブロックに分割され得る。デブロッキングフィルタは、ピクチャをコーディングする際のブロッキングまたはリンギングアーティファクトを低減するために、前記ブロックおよびサブブロックのうちの1つまたは複数に適用され得る。各ブロックは、前記ブロックの外周境界線に対応し得るブロック境界を有し得る。ブロックは、適用される分割スキームに応じて、正方形または一般的に長方形の場合がある。したがって、各ブロックの境界もそれぞれ正方形または長方形であり得る。境界は、いくつかの部分、たとえば、エッジに沿って延びる部分(エッジ境界部分とも呼ばれる)およびコーナーの周りに延びる部分(コーナー境界部分とも呼ばれる)を備え得る。ピクチャが複数のブロックに分割されている場合、前記ブロックは隣接して配置されていてもよく、すなわち、ブロックは相互に隣接していてもよい。したがって、第1のブロックは、1つまたは複数の他のブロックによって囲まれ得る。隣接するブロックのコンテンツ(たとえば、ブロックに含まれるピクセル)は、たとえば、暗いピクチャ領域から明るいピクチャ領域への遷移がある場合、相互に異なる場合がある。したがって、第1のブロックの内側に含まれるピクチャコンテンツと、前記第1のブロックの外側に含まれるピクチャコンテンツとの間に非類似性がある可能性がある。第1のブロックの外側の前記ピクチャコンテンツは、周囲の第2のブロックの内側に含まれ得るため、周囲のピクチャコンテンツと呼ばれることもある。非類似性は、第1のブロックの内側に含まれるピクチャコンテンツと、第1のブロックの外側に含まれる周囲のピクチャコンテンツとの違いを表している可能性がある。前記非類似性は、第1のブロックの内側に含まれるピクチャコンテンツと、第1のブロックの外側に含まれる周囲のピクチャコンテンツとの間のオフセットと呼ばれることもある。非類似性が大きいほど、オフセット値の大きさが大きくなる。非類似性は、ピクチャをコーディングする際に、ブロッキングまたはリンギングアーティファクトを引き起こす可能性がある。したがって、それらは平滑化されなければならず、これは、デブロッキングまたはデリンギングとも呼ばれ得、本発明のデブロッキングフィルタによって実行され得る。したがって、本発明のデブロッキングフィルタは、ブロックの境界の少なくとも8つの境界部分のそれぞれについて、ブロックのフィルタリングされていないコンテンツと、それぞれの境界部分を横切るブロックの周りの周囲のピクチャコンテンツとの間の非類似度を決定するように構成され得る。前記少なくとも8つの境界部分は、それぞれがブロックのコーナーに配置された4つのコーナー境界部分と、それぞれがブロックのコーナー間の境界の中間部分に配置された4つのエッジ境界部分とを含む。デブロッキングフィルタは、現在のピクチャコンテンツに応じて、すなわち、前述の非類似度に応じて、異なるフィルタ特性を使用してデブロッキングフィルタリングを実行し得る。前記異なるフィルタ特性は、調整可能なパラメータによって調整され得、それは、現在のピクチャの非類似度に依存する可能性がある。したがって、本発明のデブロッキングフィルタは、ブロックのフィルタリングされたコンテンツを取得するために、少なくとも8つの境界部分について決定された非類似度を使用して、ブロックのデブロッキングフィルタリングプロセスをパラメータ化するように構成され得る。
【0016】
以下では、本発明の実施形態を、図面を参照してより詳細に説明する。
【図面の簡単な説明】
【0017】
図1】本出願の実施形態によるイントラ予測概念を実装することができるエンコーダの例として、ピクチャを予測的にコーディングするための装置の概略ブロック図である。
図2】本出願の実施形態によるイントラ予測概念を実装することができるデコーダの例として、図1の装置に適合するピクチャを予測的にデコードするための装置の概略ブロック図である。
図3】それぞれ、コーディングモード選択、変換選択、および変換性能のための細分化を設定する可能性を説明するために、予測残差信号、予測信号、および再構築された信号の間の関係の例を示す概略図である。
図4】一実施形態によるデコーダの概略ブロック図である。
図5】ブロックに事前に分割され、サブブロックにサブ分割されているピクチャの概略図である。
図6A】異なるマルチツリー細分化スキームを使用してブロックに分割されているピクチャの概略図である。
図6B】異なるマルチツリー細分化スキームを使用してブロックに分割されているピクチャの概略図である。
図6C】異なるマルチツリー細分化スキームを使用してブロックに分割されているピクチャの概略図である。
図6D】異なるマルチツリー細分化スキームを使用してブロックに分割されているピクチャの概略図である。
図6E】異なるマルチツリー細分化スキームを使用してブロックに分割されているピクチャの概略図である。
図6F】異なるマルチツリー細分化スキームを使用してブロックに分割されているピクチャの概略図である。
図7】一実施形態によるエンコーダの概略ブロック図である。
図8】一実施形態による、デブロッキングまたはデリンギングフィルタを使用して、ピクチャデータをブロックベースでデコードするための方法を示すブロック図である。
図9】一実施形態による、デブロッキングまたはデリンギングフィルタをインループフィルタとして使用して、ピクチャデータをブロックベースでエンコードするための方法を示すブロック図である。
図10】一実施形態によるデブロッキングフィルタが適用され得る境界部分を備えるブロックを示す図である。
図11】一実施形態によるデブロッキングフィルタを適用するための、エッジ境界サンプルベクトルが示されている図10のブロックを示す図である。
図12】一実施形態によるデブロッキングフィルタを適用するための、コーナー境界サンプルベクトルが示されている図10のブロックを示す図である。
図13A】一実施形態による、エッジ境界ベクトルおよびコーナー境界ベクトルの異なる空間位置を有するブロックの左上隅を示す図である。
図13B】一実施形態による、エッジ境界ベクトルおよびコーナー境界ベクトルの異なる空間位置を有するブロックの左上隅を示す図である。
図13C】一実施形態による、エッジ境界ベクトルおよびコーナー境界ベクトルの異なる空間位置を有するブロックの左上隅を示す図である。
図13D】一実施形態による、エッジ境界ベクトルおよびコーナー境界ベクトルの異なる空間位置を有するブロックの左上隅を示す図である。
図14】一実施形態によるデブロッキングフィルタを適用するための、境界帯域を備えるブロックを示す図である。
図15】一実施形態による、ブロックがいくつかの処理領域に分離されていることを示す図である。
図16】一実施形態による、いくつかの分割部分を備えるブロックを示す図である。
図17】一実施形態による、ブロックへのデブロッキングフィルタの例示的な適用を示す図である。
図18】ブロックを示す図であり、エッジ境界ベクトルのサイズおよびコーナー境界ベクトルのサイズが、ブロックのサイズに依存し得る、図である。
図19】一実施形態によるデブロッキングフィルタを適用することによって、ブロックベースのコード化されたピクチャ12のブロック1000をフィルタリングするための方法の概略ブロック図である。
【発明を実施するための形態】
【0018】
以下の説明において、同一または同等の要素、あるいは同一または同等の機能を有する要素は、同一または同等の参照番号によって示す。
【0019】
ブロック図によって描写され、前記ブロック図を参照して説明される方法ステップはまた、描写および/または説明された順序とは異なる順序で実行され得る。さらに、デバイスの特定の特徴に関する方法ステップは、前記デバイスの前記特徴と置き換えることが可能であり得、そしてその逆があり得る。
【0020】
本明細書において、本発明の第1の態様をまず図1から図9を参照して説明する。その後、本発明の第2の態様を図10から図19を参照して次に説明する。
【0021】
ブロックベースのコーディングの概要
以下の図の説明は、本発明の実施形態が組み込まれ得るコーディングフレームワークの例を形成するために、ビデオのピクチャをコーディングするためのブロックベースの予測コーデックのエンコーダおよびデコーダの説明の提示から始まる。それぞれのエンコーダとデコーダは、図1から図3に関して説明されている。その後、本発明の概念の実施形態の説明は、そのような概念をそれぞれ図1および図2のエンコーダおよびデコーダに組み込むことができる方法に関する説明とともに提示されるが、後続の図4以降で説明する実施形態はまた、図1および図2のエンコーダおよびデコーダの基礎となるコーディングフレームワークに従って動作しないエンコーダおよびデコーダを形成するために使用され得る。
【0022】
図1は、例示的に変換ベースの残差コーディングを用いて、ピクチャ12をデータストリーム14に予測的にコーディングするための装置を示している。装置、すなわちエンコーダは、参照符号10を用いて示されている。図2は、対応するデコーダ20、すなわち、やはり変換ベースの残差デコーディングを用いてデータストリーム14からピクチャ12'を予測的にデコードするように構成された装置20を示しており、アポストロフィは、デコーダ20によって再構築されたピクチャ12'が、予測残差信号の量子化によって導入されたコーディング損失に関して、装置10によって元々エンコードされたピクチャ12から逸脱していることを示すために使用されている。図1および図2は、例示的に、変換ベースの予測残差コーディングを使用しているが、本出願の実施形態は、この種の予測残差コーディングに限定されない。これは、以下に概説するように、図1および図2に関して説明した他の詳細にも当てはまる。
【0023】
エンコーダ10は、予測残差信号に空間からスペクトルへの変換を受けさせ、このようにして取得された予測残差信号をデータストリーム14にエンコードするように構成される。同様に、デコーダ20は、データストリーム14からの予測残差信号をデコードし、このようにして取得された予測残差信号にスペクトルから空間への変換を受けさせるように構成される。
【0024】
内部的に、エンコーダ10は、元の信号から、すなわちピクチャ12からの予測信号26の偏差を測定するために、予測残差24を生成する予測残差信号形成器22を備え得る。予測残差信号形成器22は、たとえば、元の信号から、すなわち、ピクチャ12から予測信号を減算する減算器であり得る。次いで、エンコーダ10は、スペクトル領域予測残差信号24'を取得するために、予測残差信号24に空間からスペクトルへの変換を受けさせる変圧器28をさらに備え、これは、やはりエンコーダ10に備えられる量子化器32による量子化の対象となる。したがって、量子化された予測残差信号24''は、ビットストリーム14にコード化される。この目的のために、エンコーダ10は、データストリーム14に変換および量子化されるように予測残差信号をエントロピーコーディングするエントロピーコーダ34を任意で備え得る。予測信号26は、データストリーム14にエンコードされ、データストリーム14からデコード可能な予測残差信号24''に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測ステージ36は、図1に示されるように、スペクトル領域予測残差信号24'''を得るために予測残差信号24''を逆量子化する逆量子化器38を内部的に備え得、これは、量子化損失を除いて信号24'に対応し、その後、予測残差信号24''''を取得するために、後者の予測残差信号24'''に逆変換、すなわちスペクトルから空間への変換を受けさせる、逆変換器40が続き、これは、量子化損失を除いて、元の予測残差信号24に対応する。次いで、予測ステージ36の結合器42は、再構築された信号46、すなわち元の信号12の再構築を取得するために、加算などによって、予測信号26および予測残差信号24''''を再結合する。再構築された信号46は、信号12'に対応し得る。次いで、予測ステージ36の予測モジュール44は、たとえば、空間予測、すなわちイントラピクチャ予測、および/または時間予測、すなわちインターピクチャ予測を使用することによって、信号46に基づいて予測信号26を生成する。
【0025】
同様に、デコーダ20は、図2に示されるように、予測ステージ36に対応するコンポーネントで内部的に構成され、予測ステージ36に対応する方法で相互接続され得る。特に、デコーダ20のエントロピーデコーダ50は、データストリームからの量子化されたスペクトル領域予測残差信号24''をエントロピーデコードし得、その結果、逆量子化器52、逆変圧器54、結合器56、および予測モジュール58が、予測ステージ36のモジュールに関して上述した方法で相互接続および協調し、予測残差信号24''に基づいて再構築された信号を回復し、図2に示されるように、結合器56の出力が、再構築された信号、すなわちピクチャ12'を生じさせるようにする。
【0026】
上記に具体的に記載されていないが、エンコーダ10が、たとえば、ある速度および歪みに関連する基準、すなわちコーディングコストを最適化する方法などのいくつかの最適化スキームに従って、たとえば、予測モード、動きパラメータなどを含むいくつかのコーディングパラメータを設定し得ることは容易に明らかである。たとえば、エンコーダ10およびデコーダ20、ならびに対応するモジュール44、58は、それぞれ、イントラコーディングモードおよびインターコーディングモードなどの異なる予測モードをサポートし得る。エンコーダおよびデコーダがこれらの予測モードタイプ間で切り替わる粒度は、それぞれピクチャ12および12'のコーディングセグメントまたはコーディングブロックへの細分化に対応し得る。これらのコーディングセグメントの単位においては、たとえば、ピクチャは、イントラコーディングされているブロックとインターコーディングされているブロックに細分され得る。イントラコーディングされたブロックは、以下でより詳細に概説されるように、それぞれのブロックの空間的な、すでにコード化/デコードされた近傍に基づいて予測される。いくつかのイントラコーディングモードが存在し、指向性または角度のイントラコーディングモードを含むそれぞれのイントラコーディングセグメントに対して選択され得、それにしたがって、それぞれのセグメントは、それぞれの方向性イントラコーディングモードに固有の特定の方向に沿った近傍のサンプル値を、それぞれのイントラコーディングされたセグメントに外挿することによって満たされる。イントラコーディングモードはまた、たとえば、それにしたがって、それぞれのイントラコーディングされたブロックの予測が、それぞれのイントラコーディングされたセグメント内のすべてのサンプルにDC値を割り当てるDCコーディングモード、および/または、それぞれのブロックの予測が、隣接するサンプルに基づいて2次元線形関数によって定義された平面の傾斜とオフセットを駆動する、それぞれのイントラコーディングされたブロックのサンプル位置に対する2次元線形関数によって記述される、サンプル値の空間分布であると近似または決定される平面イントラコーディングモードなどの、1つまたは複数のさらなるモードを備え得る。それと比較して、インターコーディングされたブロックは、たとえば、時間的に予測され得る。インターコーディングされたブロックの場合、動きベクトルは、データストリーム内で信号化され得、動きベクトルは、ピクチャ12が属するビデオの以前にコード化されたピクチャの部分の空間変位を示し、それぞれのインターコーディングされたブロックの予測信号を取得するために、以前にコーディング/デコードされたピクチャがサンプリングされる。これは、量子化されたスペクトル領域予測残差信号24''を表すエントロピーコード化された変換係数レベルなどのデータストリーム14によって備えられる残差信号コーディングに加えて、データストリーム14は、様々なブロックにコーディングモードを割り当てるためのコーディングモードパラメータ、インターコーディングされたセグメントの動きパラメータなどのいくつかのブロックの予測パラメータ、およびピクチャ12および12'の細分化を制御および伝達するためのパラメータなどの任意のさらなるパラメータを、それぞれセグメントにエンコードしていてもよい。デコーダ20は、エンコーダと同じ方法でピクチャを細分し、セグメントに同じ予測モードを割り当て、同じ予測を実行して同じ予測信号を生じさせるために、これらのパラメータを使用する。
【0027】
図3は、再構築された信号、すなわち、一方では再構築されたピクチャ12'と、データストリーム14において信号が送られる予測残差信号24''''の組合せ、他方では予測信号26との間の関係を示している。すでに上で示したように、組合せは加算である可能性がある。予測信号26は、図3において、ピクチャ領域を、ハッチングを使用して例示的に示されるイントラコーディングされたブロックと、ハッチングなしで例示的に示されるインターコーディングされたブロックとに細分化したものとして示されている。細分化は、ピクチャ領域の正方形ブロックまたは非正方形ブロックの行と列への通常の細分化、あるいは四分木細分化などの、ツリールートブロックから様々なサイズの複数のリーフブロックへのピクチャ12マルチツリー細分化などの任意の細分化であり得、それらの混合物が図3に示されており、ピクチャ領域は、まずツリールートブロックの行と列に細分化され、次いで、再帰的なマルチツリー細分化に従って1つまたは複数のリーフブロックにさらに細分化される。
【0028】
この場合も、データストリーム14は、イントラコーディングブロック80のためにその中にコード化されたイントラコーディングモードを有し得、これは、いくつかのサポートされたイントラコーディングモードのうちの1つをそれぞれのイントラコーディングブロック80に割り当てる。インターコーディングブロック82の場合、データストリーム14は、それにコード化された1つまたは複数の動きパラメータを有し得る。一般的に言えば、インターコーディングブロック82は、一時的にコード化されることに限定されない。あるいは、インターコーディングブロック82は、ピクチャ12が属するビデオの以前にコード化されたピクチャ、あるいはエンコーダとデコーダがそれぞれスケーラブルなエンコーダとデコーダである場合は、別のビューまたは階層的に下位のレイヤのピクチャなど、現在ピクチャ12自体を超えて以前にコーディングされた部分から予測される任意のブロックであり得る。
【0029】
図3の予測残差信号24''''はまた、ピクチャ領域のブロック84への細分化として示されている。これらのブロックは、それらをコーディングブロック80および82と区別するために変換ブロックと呼ばれることがある。事実上、図3は、エンコーダ10およびデコーダ20が、ピクチャ12およびピクチャ12'の2つの異なる細分化をそれぞれブロックに使用し得ることを示しており、すなわち、1つはそれぞれコーディングブロック80および82に細分化され、別のものは変換ブロック84に細分化される。両方の細分化は同じである可能性があり、すなわち、各コーディングブロック80および82は、同時に変換ブロック84を形成し得るが、図3は、たとえば、変換ブロック84への細分化が、コーディングブロック80、82への細分化の拡張を形成する場合を示しており、したがって、ブロック80と82の間の2つのブロック間の任意の境界が2つのブロック84間の境界に重なるか、または代替的に言えば、各ブロック80、82は、変換ブロック84のうちの1つと一致するか、または変換ブロック84のクラスタと一致する。しかしながら、細分化はまた、変換ブロック84がブロック80、82の間のブロック境界を代替で横切ることができるように、相互に独立して決定または選択され得る。したがって、変換ブロック84への細分化に関する限り、ブロック80、82への細分化に関して提起されたものと同様のステートメントが当てはまり、すなわち、ブロック84は、ピクチャ領域をブロックに定期的に細分化した結果(行と列への配置の有無にかかわらず)、ピクチャ領域を再帰的にマルチツリー細分化した結果、またはそれらの組合せの結果、あるいは任意の他の種類のブロッケーション(blockation)である可能性がある。余談として、ブロック80、82、および84は、2次、長方形、または任意の他の形状に限定されない点に留意されたい。
【0030】
図3は、予測信号26と予測残差信号24''''の組合せが、再構築された信号12'を直接生じさせることをさらに示している。しかしながら、代替の実施形態によれば、複数の予測信号26を予測残差信号24''''と組み合わせて、ピクチャ12'を生成し得る点に留意されたい。
【0031】
図3において、変換ブロック84は、以下の意味を有するものとする。変圧器28および逆変圧器54は、これらの変換ブロック84の単位でそれらの変換を実行する。たとえば、多くのコーデックは、すべての変換ブロック84に対してある種のDSTまたはDCTを使用する。いくつかのコーデックは、変換をスキップすることを可能にするので、変換ブロック84のうちのいくつかについて、予測残差信号は、空間領域において直接コード化される。しかしながら、以下に記載される実施形態によれば、エンコーダ10およびデコーダ20は、それらがいくつかの変換をサポートするように構成される。たとえば、エンコーダ10およびデコーダ20によってサポートされる変換は、以下を備えることができる。
・DCT-II(または、DCT-III)、DCTは離散コサイン変換(Discrete Cosine Transform)の略である
・DST-IV、DSTは離散サイン変換(Discrete Sine Transform)の略である
・DCT-IV
・DST-VII
・恒等変換(IT)
【0032】
当然、変圧器28はこれらの変換のすべての順方向変換バージョンをサポートするが、デコーダ20または逆変圧器54は、それらの対応する逆方向または逆バージョンをサポートするであろう。
・Inverse DCT-II(または、逆DCT-III)
・Inverse DST-IV
・Inverse DCT-IV
・Inverse DST-VII
・恒等変換(IT)
【0033】
以下の説明は、エンコーダ10およびデコーダ20によってどの変換がサポートされ得るかについてのさらなる詳細を提供する。いずれの場合も、サポートされる変換のセットは、1つのスペクトルから空間への変換、または空間からスペクトルへの変換などの1つの変換のみを備え得る点に留意されたい。
【0034】
すでに上で概説したように、図1から図3は、本出願によるエンコーダおよびデコーダの特定の例を形成するために、以下でさらに説明する本発明の概念が実装され得る例として提示されている。これまでのところ、図1および図2のエンコーダおよびデコーダは、それぞれ、本明細書で以下に説明するエンコーダおよびデコーダの可能な実装形態を表し得る。しかしながら、図1図2は単なる例である。しかしながら、本出願の実施形態によるエンコーダは、以下により詳細に概説される、たとえばビデオエンコーダではないが静止画エンコーダである点、それがインター予測をサポートしていない点、またはブロック80への細分化は、図3に例示されたものとは異なる方法で実行されるという点などにおいて図1のエンコーダとは異なる概念を用いて、ピクチャ12のブロックベースのエンコーディングを実行し得る。同様に、本出願の実施形態によるデコーダは、以下でさらに概説されるコーディング概念を用いて、データストリーム14からのピクチャ12'のブロックベースのデコーディングを実行し得るが、たとえば、ビデオデコーダはないが静止画デコーダはある点、それがイントラ予測をサポートしていない点、または、それが、ピクチャ12'を図3で説明したのとは異なる方法でブロックに細分化する点、および/あるいは、それが、たとえば、変換ドメインにおけるデータストリーム14から予測残差を導出するのではなく、空間ドメインにおいて導出するという点において、図2のデコーダ20とは異なる場合がある。
【0035】
第1の態様
図4は、本発明の第1の態様による本出願の例示的な実施形態によるデコーダ20を示している。デコーダ20は、ピクチャデータのブロックベースのデコーディングの上記の概念、すなわち、静止画または動画12'を使用し得る。
【0036】
図4に示されるようなデコーダ20は、図2を参照して上で説明されたものと同様の内部構造を備え得る。したがって、同一または同等の要素、あるいは同一または同等の機能を備えた要素は、同一または同等の参照番号によって図2および図4に示されている。しかしながら、図4のデコーダ20は、ブロッキングおよび/またはリンギングアーティファクトをフィルタリングおよび減衰するためのデブロッキングまたはデリンギングフィルタ110をさらに備え得るという点で、図2のデコーダとは異なり得、ブロッキングは、リンギングアーティファクトの特定のケースと見なされ得る。
【0037】
上記のように、ピクチャの再構築されたバージョン、すなわち、デコードされたピクチャ12'は、結合器56において残差信号26と予測残差24''を組み合わせることによって取得され得る。図4のデコーダ20は、残差信号26と予測残差24''との組合せにより、デブロッキングまたはデリンギングフィルタ110を、ピクチャの再構築されたバージョン、すなわち、デコードされたピクチャ12'にさらに適用し得る。
【0038】
本発明の原理によれば、デコーダ20はデブロッキングまたはデリンギングフィルタ110の強度を局所的に変更し得る。言い換えれば、デコーダ20は、デコードされたピクチャ12'に適用されるべきフィルタ強度、たとえば、弱いまたは強いデブロッキングまたはデリンギングフィルタ機能が適用されるかどうか、またはデブロッキングまたはデリンギングフィルタがまったく適用されるないかどうかについてさえ決定し得る。
【0039】
デブロッキングまたはデリンギングフィルタ110の適用可能なフィルタ強度に関するこの決定は、第1および第2の尺度に基づき得る。第1の尺度は、局所的に測定された平均ブロックサイズを表し得る。第2の尺度は、予測残差24''の非ゼロコード化の頻度、すなわち、非ゼロのコード化された予測残差24''の数を表し得る。
【0040】
デコーダ20は、ブロックごとに可変フィルタ強度を決定し得る。したがって、デコーダ20は、図3を参照して上で説明したのと同様に、ピクチャ12をブロックに分割することと、前記ブロックを使用することによってピクチャ12の再構築を実行することとを行うように構成され得る。
【0041】
図5は、ピクチャ12が1つまたは複数のブロック181、182、183、184に分割され得る例を示している。これらのブロック181、182、183、184はまた、コーディングブロックと呼ばれ得る。デコーダ20は、前記コーディングブロック181、182、183、184を使用することによって、ピクチャ12の再構築、すなわちピクチャ12のデコーディングを実行し得る。
【0042】
さらに、コーディングブロック181、182、183、184は、それぞれ、1つまたは複数のサブブロック181a〜181gおよび182a〜182dへのサブ分割の対象となる可能性がある。したがって、本明細書で一般的に使用される「ブロック」という用語は、コーディングブロック181、182、183、184ならびに/またはサブブロック181a〜181g、182a〜182dを指し得る。上記の第1の尺度は、ブロックのサイズを局所的に測定するように設計され得る。したがって、ブロックのサイズは、たとえば、コーディングブロック181、182、183、184に関して、および/またはサブブロック181a〜181g、182a〜182dに関して測定され得る。
【0043】
コーディングブロック181、182、183、184を1つまたは複数のサブブロック181a〜181g、182a〜182dに分割するための分割モードは、分割ツリーまたはスプリットツリーとも呼ばれるコーディングツリーによって、データストリーム14において通知することができる。コーディングブロック181、182、183、184に対応し得るツリールートブロックは、サブブロック181a〜181gおよび182a〜182dに対応し得る1つまたは複数のリーフブロックに分割され得る。
【0044】
したがって、図5に例示的に示されるように、デコーダ20は、ブロックが複数のツリールートブロック181、182、183、184のリーフブロック181a〜181g、182a〜182dを形成するように、複数のツリールートブロック181、182、183、184の各々を再帰的なマルチツリー細分化の対象とすることによって、ピクチャ12のブロックへの分割を実行するように構成され得る。デコーダ20は、ツリールートブロック181、182、183、184ごとに、第1の尺度および第2の尺度を局所的に決定し得る。
【0045】
たとえば、HEVCにおいて、コーディングブロック181、182、183、184は、コーディングツリーユニット(CTU)と呼ばれることもあり、サブブロック181a〜181g、182a〜182dは、コーディングユニット(CU)と呼ばれることもある。非限定的な例示的な実施形態は、HEVC標準を使用して以下に説明する。しかしながら、本出願の原理は、HEVC標準に限定されない。
【0046】
L×Lのブロックサイズを可能な最大のコーディングブロックサイズとして定義する画像またはビデオコーデックにおいて、本出願の原理を使用すると仮定する。そのようなコーディングブロック181、182、183、184は、上記のCTUとも呼ばれ、それぞれがサイズM×Nピクセル単位である複数の正方形または長方形のサブブロック181a〜181g、182a〜182dへのサブ分割の対象となることができる。例は、非限定的な例として、コーディングブロック181を分割するいくつかの可能性を示す図6A図6Fに示されている。
【0047】
たとえば、図6Aは、コーディングブロック181がサブブロックにさらに分割されていない例を示している。したがって、コーディングブロック181は、1つの単一のサブブロック(サブブロック1)のみを備え得、したがって、サブブロック1と同じであり得る。したがって、図6Aは、サブ分割がないことを意味する。
【0048】
長方形のサブブロックを含む、CTUセグメンテーションのいくつかのさらなる例が図6Bから図6Eに示されている。エンコーダ側とデコーダ側の両方において、CTU181、182、183、184を1つまたは複数のサブブロック(CU)181a〜181g、182a〜182dに分割する場合は、ビットストリームにおいて通知されるCTUのコーディングツリーを介して識別することができる。たとえば、ブロックを四分木で分割すると、4つの正方形のサブブロックになり得、ブロックを(一般化された)二分木で分割すると、2つの(一般化された)長方形のサブブロックになり得る。
【0049】
図6Bは、コーディングブロック181の、四分木によって分割された4つの正方形のサブブロック(1から4)への例示的な分割を示している。図6Cは、コーディングブロック181の、四分木によって分割された7つの正方形のサブブロック(1から7)への例示的な分割を示している。図6Dは、コーディングブロック181の7つのサブブロックへの例示的な分割を示しており、サブブロック7は、四分木によって分割された正方形のサブブロックであり、サブブロック1から4は、二分木によって分割された垂直に分割された一般化された長方形のサブブロックであり、サブブロック5および6は、二分木によって水平に分割された一般化された長方形のサブブロックである。図6Eは、コーディングブロック181の7つのサブブロックへの例示的な分割を示しており、サブブロック1および2は、二分木によって垂直に分割された一般化された長方形のサブブロックであり、サブブロック3から8は、四分木によって分割された正方形のサブブロックである。
【0050】
言い換えれば、デコーダ20は、データストリーム14から分割情報(たとえば、四分木、二分木)を読み取るように構成され得る。デコーダ20は、前記分割情報に応じて、ツリールートブロック(CTU)181、182、183、184に対して再帰的なマルチツリー細分化を行うことを実行するようにさらに構成され得る。デコーダ20はさらに、前記分割情報に応じて第1の尺度を決定するように構成され得る。
【0051】
一実施形態によれば、デコーダ20は、ツリールートブロック(CTU)181、182、183、184ごとに、それぞれのツリールートブロック(CTU)181、182、183、184が分割されるリーフブロック(サブブロック)181a〜181g、182a〜182dの数を決定することによって第1の尺度を決定するように構成され得る。以下では、この第1の尺度は大文字のAで参照され得る。すなわち、Aは、ツリールートブロック(CTU)ごとに、リーフブロックまたはサブブロック(CU)の数をそれぞれ表し得る。
【0052】
たとえば、図6Aに示されるように、視覚活動が少ない(すなわち、画像の詳細が少ない)CTU181、182、183、184は、通常、サブ分割されていないか、少数の比較的大きなサブブロックにのみサブ分割されている。さらに、これらの低活動のCTU181、182、183、184の場合、空間的イントラピクチャ予測(および、該当する場合は時間的インターピクチャ予測)は、通常、非常に効率的に機能する。結果として、前記CTU181、182、183、184における予測残差24''は、信号エネルギーをほとんど備えない可能性があり、したがって、しばしば完全にゼロに量子化することができ、そうすることで、送信を免除することができる。
【0053】
しかし、そのような低活動のCTU181、182、183、184のうちの少なくとも1つのサブブロックは、予測残差24''において比較的高い信号分散を示す場合があり、したがって、完全にゼロではなく、デコードされたピクチャ12'において目に見えるブロッキングを引き起こす可能性のある、少なくとも1つの(粗く)量子化された残差の送信が必要である。
【0054】
HEVCにおいて残差変換ユニット(TU)とも呼ばれる残差係数信号は、それぞれ1つのサブブロックに関連付けられる。言い換えれば、各サブブロック(CU)は、ブロックごとに、すなわち、分割の粒度に応じてコーディングブロックごとまたはサブブロックごとに少なくとも1つの変換ユニットを用いて予測残差の区分的変換を実行するための変換ユニット(TU)を備え得る。したがって、コーディングツリーでは、ツリールートブロック(CTU)ごとに、リーフブロック(CU)の数および係数ブロック(TU)の数が決定され得る。
【0055】
コード化されたブロックフラグ(CBF)は、残差係数信号(TU)が完全にゼロに量子化されているか(CBF=0)、または残差係数信号(TU)が完全にゼロに量子化されていないか(CBF=1)を示し得る。後者は、非ゼロのコード化されたブロックフラグまたは非ゼロのCBFとも呼ばれ得る。非ゼロのコード化されたブロックフラグ(CBF=1)の数は、CTUごとのビットストリームにおいて通知され得る。
【0056】
以下では、非ゼロのコード化されたブロックフラグ(CBF=1)の数が大文字のBで参照され得る。言い換えれば、大文字のBは、ゼロに完全には量子化されていない係数ブロックの数を表し得る。本発明の原理によれば、この非ゼロのコード化されたブロックの数Bは、第2の尺度を表し得る。
【0057】
そのような実施形態によれば、デコーダ20は、ブロック(CTUまたはCU)ごとに少なくとも1つの係数ブロック(TU)を有する予測残差の区分的変換を表す係数ブロック(TU)の単位でデータストリーム14からの予測残差をデコードするように構成され得る。デコーダ20は、ツリールートブロック(CTU)ごとに、ゼロに完全には量子化されていない係数ブロック(TU)の数を決定することによって、第2の尺度Bを決定するようにさらに構成され得る。これは、たとえば、CTU内の非ゼロのコード化されたブロックフラグ(CBF=1)の数を数えることによって管理され得る。
【0058】
非限定的な例として、9つ未満(すなわち、A<9)のサブブロック(CU)にサブ分割され、同時にB>0の残差係数信号(TU、それぞれが1つのサブブロックに関連付けられている)の非ゼロコード化と送信が行われるCTU181、182、183、184は、非常に強力なデブロッキングまたはデリンギングポストフィルタの適用から最も恩恵を受ける可能性がある。したがって、これらのCTUは、非常に強力なデブロッキングまたはデリンギングの対象となるブロックの候補である可能性がある。
【0059】
たとえば、図6Fは、コーディングブロック185を9つのサブブロックに分割することを示しており、すなわち、この例におけるサブブロックの数はA=9である。したがって、A<9の上記の条件は、たとえば、満たされない。したがって、図6Fのコーディングブロック185は、非常に強力なデブロッキングポストフィルタの対象とならない可能性がある。したがって、このCTU185は、非常に強力なデブロッキングまたはデリンギングの対象となるブロックの候補ではない可能性がある。
【0060】
やはり、エンコーダ側とデコーダ側の両方において、A未満のサブブロックに分割する場合は、ビットストリームにおいて通知されるCTUのコーディングツリーを使用して識別することができるが、Bの非ゼロの残差係数信号の存在は、CTU内の非ゼロのコード化されたブロックフラグ(CBF)の数を数えることによって確認することができ、これらもまた、ビットストリームにおいて通知される。
【0061】
上記のように、ブロック(CTU)が、デブロッキングまたはデリンギングフィルタを使用して、非常に強力なデブロッキングまたはデリンギングの対象となる可能性のある候補ブロックであるかどうか、またはこのブロックがより低い強度のデブロッキングまたはデリンギングの対象となるかどうかが確認され得る。これは、前記強力なデブロッキングフィルタリングの適用の高度に選択的な制御の本明細書に記載の原理に対応する。言い換えれば、デブロッキングまたはデリンギングフィルタの強度は局所的に変化し得る。
【0062】
フィルタ強度のこの局所的な変化は、2つの尺度、すなわち、それぞれのコーディングブロックが分割されるサブブロックの数を表す第1の尺度Aと、非ゼロのコード化された残差の数を表す第2の尺度Bに依存し得る。ブロックがこれらの2つの尺度AおよびBを満たす場合、このブロックは、強力なデブロッキングまたはデリンギングの対象となる可能性のある候補ブロックである。これは、フィルタ制御パラメータ(FCP)によってビットストリームにおいて示され得る。
【0063】
したがって、そのような実施形態によれば、デコーダ20は、第1および第2の尺度A、Bが所定の基準(たとえば、A<9、B>0)を満たす、ピクチャの第1の部分について(すなわち、候補ブロックについて)、それぞれの部分(すなわち、ブロック)に適用されるデブロッキングまたはデリンギングフィルタ110の強度を示すデータストリーム14から強度情報(FCP)を読み取ることによって、フィルタ強度の局所的変更を実行し得る。第1および第2の尺度A、Bが所定の基準(たとえば、A<9、B>0)を満たさない、ピクチャの第2の部分について(すなわち、非候補ブロックについて)、デコーダ20は、それぞれの部分(ブロック)に適用されるデブロッキングまたはデリンギングフィルタ110の強度を、第1のフィルタ強度よりも小さい低い第2の強度に設定するように構成され得る。
【0064】
したがって、少なくとも上記の非限定的な例については、次のように要約することができる。
条件1:望ましいインループフィルタリング(たとえば、非常に強力なデブロッキング)は、次の場合にCTUにおいて許可される。
・通知されたコーディングツリーが、前記のCTUをA未満のサブブロックに分割することを示す、および/または
・前記CTUにおいて通知される非ゼロの値のCBF(すなわち、CBF=1)の数はBであり、ここで、B>0である。
【0065】
言い換えれば、条件1が満たされない場合、前記望ましいインループフィルタリングは許可されないため、影響を受けるCTUにおいて、エンコーダ側とデコーダ側の両方で常に無効になる。一方、CTUにおいて条件1が満たされている場合、望ましいインループフィルタリングが許可されるが、これは必ずしも前記インループフィルタリングも有効になっていることを意味するわけではない。
【0066】
上記の非限定的な例では、所定の基準、すなわち条件1は、A<9およびB>0のときに満たされた。しかしながら、より一般的に言えば、第1の尺度Aが所定のしきい値を下回る場合、および第2の尺度Bが第2の所定のしきい値を超えるかこれに等しい場合、所定の基準が満たされる。
【0067】
たとえば、第1の所定のしきい値はpであり、pは、各々のツリールートブロック(CTU)について、1<p<17を満たし、すなわち、A<pである。追加的または代替的に、第2の所定のしきい値はqであり、qは-1<q<51を満たし、すなわち、B≧qである。
【0068】
実際、上で論じたように、非常に強力なデブロッキングフィルタなどの超強力なインループフィルタの適用の高度に選択的な制御を実現するための手段を提供することが非常に望ましい。この手段を提供するための1つの例示的な方法は以下の通りである。
条件2:以下である場合、CTUにおいて、たとえば、ビットストリームにおける送信を介して、インループフィルタ制御パラメータ(FCP)を通知する。
・前記CTUについて条件1が満たされている。
【0069】
言い換えれば、条件1が満たされない場合、前記インループフィルタ制御パラメータ(FCP)は通知されない。他方、条件1がCTUにおいて満たされる場合、前記フィルタ制御パラメータ(FCP)(たとえば、追加のシングルビット要素)は、エンコーダによってビットストリームに書き込まれ、デコーダによって前記ビットストリームから読み取られる。
【0070】
フィルタ制御パラメータが所与のCTUのビットストリームに存在する場合(すなわち、条件1が満たされている場合)、この制御パラメータの値が、デコーダが前記CTUにおいて所望のインループフィルタリングを有効にするか(値1など)、または、無効にするか(値0など)を決定する。このようにして、エンコーダは、たとえば、非常に強力なデブロッキングの所望のアプリケーションを制御し、通知することができる。
【0071】
要約すると、本出願の概念は、前記コーディングブロックにおける前記インループフィルタの適用を無効化または減衰させるために、コーディングブロック(たとえば、コーディングツリーユニット、CTU)ごとのインループフィルタ制御パラメータの選択的シグナリングを示唆し得る。インループフィルタ制御パラメータは、コーディングブロックがA未満のサブブロックに分割されている場合、またはサブブロックのBにおいて残差係数コーディング(すなわち、非ゼロコード化)が適用されている場合にのみ通知され得る。
【0072】
図7は、本発明の第1の態様による本出願の概念に従って適用され得るエンコーダ10を示している。図7に示されるようなエンコーダ10は、図1を参照して上で説明されたものと同様の内部構造を備え得る。したがって、同一または同等の要素、あるいは同一または同等の機能を備えた要素は、同一または同等の参照番号によって図1および図7に示されている。しかしながら、図7のエンコーダ10は、ブロッキングおよび/またはリンギングアーティファクトをフィルタリングおよび減衰するためのデブロッキングまたはデリンギングフィルタ120をさらに備え得るという点で、図1のエンコーダとは異なり得、ブロッキングは、リンギングアーティファクトの特定のケースと見なされ得る。デブロッキングまたはデリンギングフィルタ120は、インループフィルタであり得る。
【0073】
エンコーダ10は、デブロッキングまたはデリンギングフィルタ120をインループフィルタとして使用して、ピクチャデータをブロックベースでエンコードするために構成されている。エンコーダ120は、予測を使用し、エンコーダ10の予測ループ136内にピクチャの再構築されたバージョンを提供することにより、予測残差をデータストリーム14にコード化することによって、ピクチャ12をデータストリーム14にブロック単位でエンコードするようにさらに構成され得る。予測ループ136は、図1を参照してすでに上で説明された予測ステージ36の一部であり得る。
【0074】
前記予測ループ136において、ピクチャ12の再構築およびデブロッキングまたはデリンギングフィルタ120の適用がシミュレートされ得る。したがって、エンコーダ10は、デブロッキングまたはデリンギングフィルタ120を、ピクチャ12の再構築されたバージョン12'に適用するように構成され得る。
【0075】
前記予測ループ136において、エンコーダ10は、デコーダ側について上で説明したのと同様の方法で、デブロッキングまたはデリンギングフィルタ120の異なるフィルタ強度をさらに試みることができる。特に、フィルタ強度は、上記の第1の尺度Aおよび第2の尺度Bに応じて変化し得る。したがって、エンコーダ10は、平均ブロックサイズを局所的に測定する第1の尺度Aと、予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度Bに応じて、デブロッキングまたはデリンギングフィルタ120の強度を局所的に変更するようにさらに構成され得る。
【0076】
エンコーダ10は、上記の図3および図6Aから図6Fに記載されているように、ピクチャ12をブロック(CTU)181、182、183、184に分割するようにさらに構成される。エンコーダ10は、ブロック181、182、183、184を使用してエンコーディングを実行するようにさらに構成され、第1の尺度Aは、ブロック181、182、183、184のサイズを局所的に測定するように設計される。
【0077】
特に図6Aから図6Fを参照すると、エンコーダ10はまた、マルチツリー細分割を使用することによって、ブロック181、182、183、184を1つまたは複数のサブブロックに分割し得、コーディングツリーは、たとえば、四分木または(一般化された)二分木であり得る。
【0078】
したがって、エンコーダ10は、ブロック181、182、183、184が複数のツリールートブロック181、182、183、184のリーフブロック(サブブロックまたはCU)を形成するように、ピクチャ12が再帰的なマルチツリー細分化に事前に分割されている複数のツリールートブロック(CTU)181、182、183、184の各々を対象とすることによって分割を実行するように構成され得る。さらに、エンコーダ10は、ツリールートブロック181、182、183、184ごとに、第1の尺度Aおよび第2の尺度Bを局所的に決定するように構成され得る。
【0079】
そうするために、エンコーダ10は、予測ループ136において、1つまたは複数の異なるタイプのマルチツリー細分化を試みることができる。エンコーダ10が、それぞれのCTUでうまく機能するマルチツリー細分化を見つけた場合、エンコーダ10は、このマルチツリー細分化を選択し、選択されたマルチツリー細分化に基づいて、対応する分割情報をビットストリームに追加する。前記挿入された分割情報に応じて、エンコーダ10は、第1の尺度Aを決定し得る。
【0080】
たとえば、図6Eに示されるように、エンコーダ10は、CTU181を6つの正方形のサブブロック(サブブロック3から8)および2つの長方形のサブブロック(サブブロック1および2)に分割するための結合された四分木-二分木スキームを選択し得る。したがって、エンコーダ10は、コーディングブロック(CTU)181を、A=8の第1の尺度Aに対応する8つのサブブロック(CU)に分割し得る。
【0081】
コーディングツリーに関して述べると、エンコーダ10は、分割情報(たとえば、四分木/二分木)に基づいて、複数のツリールートブロックの各々に対して再帰的なマルチツリー細分化を行うことを実行するようにさらに構成され得る。エンコーダ10は、分割情報をデータストリーム14に挿入し得、エンコーダ10は、分割情報に応じて、第1の尺度Aを決定し得る。
【0082】
エンコーダ10は、ブロックごとに第1の尺度Aを決定し得る。すなわち、エンコーダ10は、コーディングブロック(CTU)181、182、183、184ごとにサブブロック(CU)の数を別々に決定し得る。
【0083】
したがって、コーディングツリーに関して、エンコーダ10は、ツリールートブロック(CTU)181、182、183、184ごとに、それぞれのツリールートブロック(CTU)181、182、183、184が分割されるリーフブロック(CUまたはサブブロック)の数を決定することによって、第1の尺度Aを決定するように構成され得る。
【0084】
上記のように、デコーダ20に関しても、エンコーダ10は、1つまたは複数の予測残差信号を使用してピクチャデータを予測的にコード化するように構成され得る。
【0085】
HEVCにおいて、残差変換ユニット(TU)とも呼ばれる残差信号は、それぞれ1つのサブブロック(CU)に関連付けられる。言い換えれば、各サブブロック(CU)は、ブロックごとに、すなわち、分割の粒度に応じてコーディングブロックごとまたはサブブロックごとに少なくとも1つの変換ユニットを用いて予測残差の区分的変換を実行するための変換ユニット(TU)を備え得る。したがって、コーディングツリーでは、ツリールートブロック(CTU)ごとに、リーフブロック(CU)の数および係数ブロック(TU)の数が決定され得る。
【0086】
コード化されたブロックフラグ(CBF)は、残差係数信号(TU)が完全にゼロに量子化されているか(CBF=0)、または残差係数信号(TU)が完全にゼロに量子化されていないか(CBF=1)を示し得る。後者は、非ゼロのコード化されたブロックフラグまたは非ゼロのCBFとも呼ばれ得る。非ゼロのコード化されたブロックフラグ(CBF=1)は、CTUごとのビットストリームにおいて通知され得る。
【0087】
以下では、非ゼロのコード化されたブロックフラグ(CBF=1)の数が大文字のBで参照され得る。言い換えれば、大文字のBは、ゼロに完全には量子化されていない係数ブロックの数を表し得る。本発明の原理によれば、この非ゼロのコード化されたブロックの数Bは、第2の尺度を表し得る。
【0088】
したがって、エンコーダ10は、ブロック(CTUまたはCU)ごとに少なくとも1つの係数ブロック(TU)を有する予測残差の区分的変換を表す係数ブロック(TU)の単位でデータストリーム14に予測残差をエンコードするように構成され得る。エンコーダ10は、ツリールートブロック(CTU)ごとに、ゼロに完全には量子化されていない係数ブロック(TU)の数を決定することによって、第2の尺度Bを決定するようにさらに構成され得る。
【0089】
やはり、エンコーダ側とデコーダ側の両方において、第1の尺度A、すなわち、コーディングブロック(CTU)が分割されるサブブロック(CU)の数は、エンコーダ10によってビットストリームにおいて通知することができるCTUのコーディングツリーによって識別することができ、Bの非ゼロの残差係数信号の存在は、CTU内の非ゼロのコード化されたブロックフラグ(CBF)の数を数えることによって確認することができ、これらもまた、エンコーダ10によってビットストリームにおいて通知され得る。
【0090】
予測ループ136において、ブロック(CTU)が、デブロッキングまたはデリンギングフィルタを使用して、非常に強力なデブロッキングまたはデリンギングの対象となる可能性のある候補ブロックであるかどうか、またはこのブロックがより低い強度のデブロッキングまたはデリンギングの対象となるかどうかが確認され得る。これは、エンコーダ側における前記強力なデブロッキングフィルタリングの適用の高度に選択的な制御の本明細書に記載の原理に対応する。言い換えれば、デブロッキングまたはデリンギングフィルタの強度は局所的に変化し得る。
【0091】
フィルタ強度のこの局所的な変化は、2つの尺度、すなわち、それぞれのコーディングブロックが分割されるサブブロックの数を表す第1の尺度Aと、非ゼロのコード化された残差の数を表す第2の尺度Bに依存し得る。ブロックがこれらの2つの尺度AおよびBを満たす場合、このブロックは、強力なデブロッキングまたはデリンギングの対象となる可能性のある候補ブロックである。これは、エンコーダ10によって、フィルタ制御パラメータ(FCP)によってビットストリームにおいて示され得る。
【0092】
したがって、そのような実施形態によれば、エンコーダ10は、第1および第2の尺度A、Bが所定の基準(たとえば、A<9、B>0)を満たす、ピクチャの第1の部分について(すなわち、候補ブロックについて)、それぞれの部分(すなわち、ブロック)に適用されるデブロッキングまたはデリンギングフィルタ120の強度を示すデータストリーム14に強度情報(FCP)を挿入することによって、フィルタ強度の局所的変更を実行し得る。第1および第2の尺度A、Bが所定の基準(たとえば、A<9、B>0)を満たさない、ピクチャの第2の部分について(すなわち、非候補ブロックについて)、エンコーダ10は、それぞれの部分(ブロック)に適用されるデブロッキングまたはデリンギングフィルタ120の強度を、第1のフィルタ強度よりも小さい低い第2の強度に設定するように構成され得る。
【0093】
上記の非限定的な例では、所定の基準、すなわち条件1は、A<9およびB>0のときに満たされた。しかしながら、より一般的に言えば、第1の尺度Aが所定のしきい値を下回る場合、および第2の尺度Bが第2の所定のしきい値を超えるかこれに等しい場合、所定の基準が満たされる。
【0094】
たとえば、第1の所定のしきい値はpであり、pは、各々のツリールートブロック(CTU)について、1<p<17を満たし、すなわち、A<pである。追加的または代替的に、第2の所定のしきい値はqであり、qは-1<q<51を満たし、すなわち、B≧qである。
【0095】
エンコーダ10およびデコーダ20の動作原理は、以下のように簡単に要約されなければならない。
【0096】
エンコーダ10は、レート歪みループにおけるピクチャの最適な分割を計算し得る。この計算に基づいて、エンコーダ10は、上記の条件1(候補ブロック)が満たされているかどうかをチェックし得る。条件1が満たされている場合、エンコーダ10は、CTUごとに強力なデブロッキングを試みることができる。強力なデブロッキングがCTUにおける測定可能な改善(たとえば、SNRまたはSSIMの利得)につながる場合、エンコーダ10は、このCTUに対して強力なデブロッキングを使用し、ビットストリーム14における前記CTUのインループフィルタ制御パラメータ(FCP)値、たとえば、FCP=1(有効)を通知し得る。それ以外の場合、測定可能な改善、たとえばSNRまたはSSIMにおける利得がない場合、あるいはSNRまたはSSIMにおける損失さえある場合、強力なデブロッキングを適用する際、エンコーダ10は、強力なデブロッキングの結果を破棄し、それぞれのCTUのそれぞれのインループフィルタ制御パラメータ(FCP)値、たとえば、ゼロのインループフィルタ制御パラメータ(FCP)値FCP=0(無効)を通知し得る。これは、前記CTUに対して強力なデブロッキングを使用することを控えるために、デコーダ20に向けて通知しなければならない。エンコーダ10が、条件1が満たされていないことを決定する可能性がある場合、インループフィルタ制御パラメータ(FCP)はビットストリーム14において通知されないため、それぞれのCTUに対して強力なデブロッキングは試行されない。
【0097】
デコーダ20は、以前に計算されたCTUの最適な分割でビットストリーム14を受信し得る。対応する分割情報に基づいて、デコーダ20は、CTUごとに、条件1が満たされているかどうかをチェックし得る。それぞれのCTUにおいて条件1が満たされると、インループフィルタ制御パラメータ(FCP)がビットストリーム14から読み取られる。インループフィルタ制御パラメータ(FCP)の値が有効になっている場合(たとえば、FCP=1)、強力なデブロッキングが利用される。インループフィルタ制御パラメータ(FCP)の値が無効になっている場合(たとえば、FCP=0)、強力なデブロッキングは利用されない。デコーダ20が、条件1が満たされていないことを決定する可能性がある場合、インループフィルタ制御パラメータ(FCP)はビットストリーム14において読み取られないため、それぞれのCTUに対して強力なデブロッキングは利用されない。
【0098】
図8は、デブロッキングまたはデリンギングフィルタ110を使用して、ピクチャデータをブロックベースでデコードするための方法の概略ブロック図を示している。
【0099】
ブロック801において、ピクチャは、データストリーム14から、予測を使用し、データストリーム14にコード化された予測残差を使用し、ブロック単位で再構築され、ピクチャ12の再構築されたバージョン12'を取得する。
【0100】
ブロック802において、デブロッキングまたはデリンギングフィルタ110は、ピクチャ12の再構築されたバージョン12'に適用される。
【0101】
ブロック803において、デブロッキングまたはデリンギングフィルタ110の強度は、平均ブロックサイズを局所的に測定する第1の尺度Aと、予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度Bとに応じて局所的に変更される。
【0102】
図9は、デブロッキングまたはデリンギングフィルタ120をインループフィルタとして使用して、ピクチャデータをブロックベースでエンコードするための方法の概略ブロック図である。
【0103】
ブロック901において、ピクチャ12は、予測を使用し、予測ループ136内にピクチャ12の再構築されたバージョン12'を提供することにより予測残差をデータストリーム14にコーディングして、データストリーム14にブロック単位でエンコードされる。
【0104】
ブロック902において、デブロッキングまたはデリンギングフィルタ120は、ピクチャ12の再構築されたバージョン12'に適用される。
【0105】
ブロック903において、デブロッキングまたはデリンギングフィルタ120の強度は、平均ブロックサイズを局所的に測定する第1の尺度Aと、予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度Bとに応じて局所的に変更される。
【0106】
第2の態様
上で論じた第1の態様では、たとえばフィルタ制御パラメータによる、(インループ)フィルタ制御の選択的シグナリングは、ピクチャに適用される様々なデブロッキングまたはデリンギングフィルタを選択するために提案された。以下では、デブロッキングフィルタの概念が提案される第2の態様について説明する。第2の態様による前記デブロッキングまたはデリンギングフィルタは、第1の態様と組み合わせられてもよく、第1の態様とは異なるエンコーダおよび/またはデコーダならびに/あるいは方法に別々に適用されてもよい。
【0107】
HEVCにおいて適用される信号適応手法に基づく従来のデブロッキング方法(1ページの「概要」セクションを参照)は、一般に主観的な改善につながるが、前述のように、大きいコーディングブロックの周りの過度のブロッキングアーティファクトを除去するにはまだ弱すぎる場合がある。前述の第1の態様と組み合わせて、最新技術において使用されているもの(たとえば、4または8個のサンプル)よりも大きいフィルタサポート(たとえば、16個の空間サンプル)を使用して「超強力」デブロッキングフィルタリングを適用することが有益であることがわかった。第1の態様において導入されたフィルタ制御パラメータ(FCP)により、たとえば、レート/歪みテストによって、エンコーダ側におけるフィルタ処理の制御が可能になり、また、信号適応強度制御がほとんどまたはまったくない、非常に単純な超強力デブロッキングフィルタの適用で十分であると結論付けることもできる(信号付きFCPを使用するエンコーダによって実行を無効にできるため)。
【0108】
たとえば、CTUにおいてFCP=0の場合、再構築された画像コンポーネントでデコーダ側のフィルタ強度を検出する従来のデブロッキングが、CTUのTUサブエリアごとに適用され得る。CTUにおいてFCP=1の場合、本明細書で説明する非常に強力なデブロッキングフィルタが、幅と高さの両方が32ピクセルまたはそれ以上である各TUにおいて使用され得る。デコーダ側のフィルタ強度検出により拡張することができる。フィルタは十分な強度を維持することができ、すなわち、8から16の間のフィルタタップを有利に使用し得る。
【0109】
超強力デブロッキングアルゴリズムの第1のステップは、上記のサイズ制約を満たすTUごとの左、右、上、および下の境界オフセットの導出である。具体的には、d={左、右、上、下}の場合、
offsetd=Clip3(-127、127、(Pd-Qd+Nd)>>(log2(Nd)+1))であり、
上式で、PdとQdは、それぞれ、長さNdの方向d(すなわち、TUの幅と高さ)に沿った、TUの外側と内側の境界の再構築されたサンプルの合計である(外側の4つのコーナーのサンプルを除く)。スライスまたは画像の境界において使用できないPd合計は、隣接するQd合計に置き換えられる。次に、CTUにおいてFCP=1の場合にデブロッキングすると(第1の態様も参照)、16個の内部境界サンプル列またはdに垂直な行に沿って、dごとに、offsetdの加重加算が適用され得る。これにより、勾配がdのTU境界に向かってoffsetd÷16の線形ランプが加算され、境界においてoffsetdに達し、TUコーナーにおいてブレンドオーバー(blend-overs)が発生する。
【0110】
修正において、非常に強力なデブロッキングが、輝度ならびにクロマチャネルにおける従来のデブロッキングの前に実行され得る(4:2:0[空間的にダウンサンプリングされた]クロマの場合、上記の3つの太字の値が半分になる点に留意されたい)。
【0111】
要約すると、従来の超強力な修正デブロッキングアルゴリズムは、4つの制御値(それぞれ、左、右、上、下のブロック境界に沿って計算された平均オフセット値)に依存し得、4つのブロックコーナーにおける4つの制御値が非公開にブレンドオーバーされる。
【0112】
しかしながら、これらの従来のデブロッキングアルゴリズムは、特にブロックコーナーの近くの領域においてブロッキングまたはリンギングアーティファクトにつながる可能性があり、コーディング品質の部分的に次善の主観的な知覚につながる可能性がある。最先端技術の部分的に次善の主観的な性能を考えると、本発明の第2の態様は、4つではなく8つの制御値に依存する修正デブロッキング設計による改善を示唆している。
【0113】
前記本発明の8つの値の修正デブロッキング手法は、従来の4つの値の設計を、4つの追加のコーナー値、すなわち、所与のブロックのc={左上、右上、左下、右下}コーナーの各々の平均オフセット値offsetcによって拡張する。さらに、従来技術の従来の非開示(および、次善の)ブレンドオーバー実装形態を前提として、隣接する制御値のペアを使用して、ブロックコーナーの周りのデブロッキングのための本発明のブレンドオーバーアルゴリズムの詳細な実施形態を説明する。
【0114】
図10は、本発明の第2の態様によるデブロッキングフィルタによって処理され得るブロック1000の例を示している。ブロック1000は、ブロックベースのコーディングスキームのサブブロックであり得る。たとえば、ブロック1000は、いわゆる変換ユニット(TU)であり得る。
【0115】
ブロック1000は、正方形またはほぼ長方形の形状を備え得る。ブロック1000は、ブロック1000の外周境界を表すことができるブロック境界1010を備え得る。ブロック境界1010は、ブロック境界1010が細分化され得る複数の境界部分を備え得る。
【0116】
ブロック1000は、少なくとも4つのコーナーと、前記4つのコーナーの間に延びる4つのエッジとを備え得る。したがって、ブロック境界1010は、4つのコーナー境界部分1021、1022、1023、1024と、4つのコーナー境界部分1021、1022、1023、1024の間に延びる4つのエッジ境界部分1011、1012、1013、1014とを備え得る。
【0117】
ブロック1000は、ピクチャコンテンツ1015を表す複数のピクセルを含み得る。ブロック1000の内側のピクチャコンテンツは、斜線で示されている。ブロック1000の外側には、周囲のピクセルによって表され得るピクチャコンテンツ1016が存在する場合もある。前記周囲のピクチャコンテンツ(周囲のピクセル)1016は、ブロック1000の周囲に、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に沿って配置され得る。
【0118】
ブロック1000の内側のピクチャコンテンツ1015は、まだフィルタリングされていない可能性があり、したがって、ブロック1000のフィルタリングされていないコンテンツと呼ばれ得る。前記まだフィルタリングされていないピクチャコンテンツ1015にデブロッキングフィルタを適用すると、フィルタリングされたピクチャコンテンツを提供し得、これは、ブロック1000のフィルタリングされたコンテンツとも呼ばれ得る。
【0119】
したがって、デブロッキングフィルタは、ブロック1000の内側のまだフィルタリングされていないピクチャコンテンツ1015を、ブロック1000の外側の隣接するピクチャコンテンツ1016と比較し得る。これは、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の各々において行われ得る。
【0120】
たとえば、図11に示されるように、第1のエッジ境界部分1011に沿って延びるブロック1000の内側のまだフィルタリングされていないピクチャコンテンツ1015をやはりブロック1000の外側であるが第1のエッジ境界部分1011に沿って延びる隣接するピクチャコンテンツ1016と比較し得る。ブロック1000の内側のピクチャコンテンツ1015は、ブロック1000の外側のピクチャコンテンツ1016とは異なる場合がある。したがって、ブロック1000の内側のピクチャコンテンツ1015とブロック1000の外側のピクチャコンテンツ1016との間に非類似性が存在する可能性があり、これはデブロッキングフィルタによって決定され得る。
【0121】
デブロッキングフィルタの処理、すなわちデブロッキングフィルタリングは、前記非類似度に基づいて調整され得る。言い換えれば、デブロッキングフィルタリングは、ブロック1000の内側のピクチャコンテンツ1015とブロック1000の外側のピクチャコンテンツ1016との間の決定された非類似度に基づいてパラメータ化され得る。
【0122】
したがって、一実施形態によれば、ピクチャのブロック1000をフィルタリングするためのデブロッキングフィルタが提案され、デブロッキングフィルタは、ブロック1000の境界1010の少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024、ブロック1000のフィルタリングされていないコンテンツ1015と、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に沿ったブロック1000の周りの周囲のピクチャコンテンツ1016との間の非類似度、それぞれがブロック1000のコーナーに配置された4つのコーナー境界部分1021、1022、1023、1024と、それぞれがブロック1000のコーナーの間の境界1010の中間部分に配置された4つのエッジ境界部分1011、1012、1013、1014とを含む8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の各々について決定するように構成され得る。デブロッキングフィルタは、ブロック1000のフィルタリングされたコンテンツを取得するために、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024について決定された非類似度を使用して、ブロック1000のデブロッキングフィルタリングをパラメータ化するようにさらに構成され得る。
【0123】
境界ブロックサンプルからのデブロッキング制御値の計算
さらに図11を参照すると、ブロック1000の内側の例示的に示されたピクチャコンテンツ1015およびブロック1000の外側の例示的に示されたピクチャコンテンツ1016は、それぞれ、サンプルとも呼ばれる複数のピクセルを備え得る。たとえば、複数の第1のサンプルは、ブロック1000の内側に配置され得、複数の第2のサンプルは、ブロック1000の外側に配置され得る。
【0124】
一実施形態によれば、デブロッキングフィルタは、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の各々について、第1のサンプルと第2のサンプルとの間の平均差を計算することによって非類似度を決定するように構成され得、前記第1のサンプルはブロック1000の内側に配置され、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に隣接し、前記第2のサンプルはブロック1000の外側に配置され、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に隣接する。
【0125】
複数の第1のサンプルは、第1のサンプルベクトルQに包含され得、複数の第2のサンプルは、第2のサンプルベクトルPに包含され得る。サンプルベクトルP、Qは、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に沿って延びることができるので、前記ベクトルP、Qは、境界サンプルベクトルとも呼ばれ得る。各境界サンプルベクトルP、Qは、サンプルの合計を備え得、たとえば、第1のサンプルベクトルQは、第1のサンプルの合計を備え得、第2のサンプルベクトルPは、第2のサンプルの合計を備え得る。
【0126】
上記の例は、エッジ境界部分1011を参照することによって説明された。しかしながら、図12を参照して例示的に説明されるように、同じことがコーナー境界部分1021、1022、1023、1024にも当てはまる。
【0127】
図12は、ブロック1000の左上隅にあるコーナー境界部分1024を示している。内側境界サンプルベクトルQ1は、ブロック1000の内側のコーナー境界部分1024の垂直部分に沿って延びる。内側境界サンプルベクトルQ1に隣接して、外側境界サンプルベクトルP1は、ブロック1000の外側のコーナー境界部分1024の垂直部分に沿って延びる。
【0128】
さらに、さらなる内側境界サンプルベクトルQ2は、ブロック1000の内側のコーナー境界部分1024の水平部分に沿って延びる。さらなる内側境界サンプルベクトルQ2に隣接して、さらなる外側境界サンプルベクトルP2は、ブロック1000の外側のコーナー境界部分1024の水平部分に沿って延びる。
【0129】
内側境界サンプルベクトルQ1およびQ2は、第1のコーナーサンプルベクトルQcとして包含され得、外側境界サンプルベクトルP1およびP2は、第2のコーナーサンプルベクトルPcとして包含され得る。
【0130】
一実施形態によれば、デブロッキングフィルタは、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の各々について、第1のサンプルの第1の合計(ベクトルQ)と第2のサンプルの第2の合計(ベクトルP)のとの間の差を計算することによって非類似度を決定するように構成され得、前記第1のサンプルはブロック1000の内側に配置され、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に隣接し、前記第2のサンプルはブロック1000の外側に配置され、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に隣接する。
【0131】
したがって、第1の(内側の)サンプルベクトルQと第2の(外側の)サンプルベクトルPとの間の(平均)差が計算され得、これは、Δ=P-Qに対応する。
【0132】
エッジ境界部分1011、1012、1013、1014に沿った外側と内側のサンプルベクトル間のオフセットは、d={左端、右端、上端、下端}の場合、従来の方法で計算され得る。
offsetd=Clip3(-127、127、(Pd-Qd+Nd)>>(log2(Nd)+1))
【0133】
本明細書に記載の概念によれば、エッジ境界部分1011、1012、1013、1014に加えて、コーナー境界部分1021、1022、1023、1024に沿った外側サンプルベクトルと内側サンプルベクトルとの間のオフセットは、c={左上隅、右上隅、左下隅、右下隅}の場合、以下の通り計算され得る。
offsetc=Clip3(-127、127、(Pc-Qc+Nc)>>(log2(Nc)+1))
上式で、上記の(平均)差Δ=P-Qは、コーナー境界ベクトルQcおよびPcに対して考慮される。
【0134】
言い換えれば、4つのコーナーc(左上、右上、左下、右下)の各々について、実際のデブロッキング処理において制御値として使用される修正オフセットは、(TUなどの)ブロックコーナー周辺の外側(Pc)境界と内側(Qc)境界の再構築されたサンプルのセット間の差の平均である(ここでも外側の4つのコーナーサンプルを除く)。好ましくは、Ncは、フィルタサポート長、すなわち、ブロック境界1010の各側においてデブロッキングされる列/行の数に等しいが、Ncはまた、Ndの2の累乗の分数、すなわち、従来技術のように(TU)ブロックの幅または高さであり得る。より具体的には、本明細書に記載の概念によれば、Nc=16(または、4:2:0クロマの場合は8)であるが、従来技術はNd≧32を使用している。
【0135】
一実施形態によれば、デブロッキングフィルタは、一般に、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024のうちの1つについて、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024の幅はブロックの境界1010の長さの何分の1かに等しく、ブロックサイズによって異なり得るように、ブロック1000のサイズに応じて、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の幅を設定するように構成され得る。たとえば、ブロックが大きいほど、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024の幅が大きくなり得る。上記のように、境界部分1011、1012、1013、1014、1021、1022、1023、1024は、ブロック境界1010の長さの一部であり得る。言い換えれば、境界部分1011、1012、1013、1014、1021、1022、1023、1024自体は、常にブロックの境界1010の長さよりも短い場合がある。
【0136】
境界部分1011、1012、1013、1014、1021、1022、1023、1024の幅が変化すると、上記の境界ベクトルPおよびQの空間位置も変化し得る。
【0137】
図13Aから図13Dは、c=左上の非限定的な例のoffsetcの導出において使用されたサンプルのPcとQcの合計の可能な空間位置を示している。一般に、offsetcは、図に示されるように、Pc=P1+P2およびQc=Q1+Q2の4つの個別のベクトル和P1、P2、Q1、Q2から計算することができる。
【0138】
いくつかの例によれば、従来技術で導入されたように、P2およびQ2は、PdおよびQdと重複しないか、または部分的に重複する可能性があり(この場合、それは、単にPd=P3およびQd=Q3と定義することができる。図13Aから図13Cを参照)、あるいは、P2とQ2は、PdおよびQdと完全に重複する可能性がある(この場合、Pd=P2+P3またはPd=P2+P3+P4、およびQd=Q2+Q3またはQd=Q2+Q3+Q4を指定することができる。図13Dを参照、P4およびQ4は、別のコーナーにおいてoffsetcを計算するために使用される)。図13Dの場合、重複しないベクトル和のそのような合計は、アルゴリズムの複雑さを軽減する。P3とQ3のベクトルも長さがゼロであり得、すなわち、Pd=P2+P4およびQd=Q2+Q4である点に留意されたい。
【0139】
したがって、図13Aから図13Dは、境界エッジ境界部分1011およびコーナー境界部分1024、ならびにコーディングブロック1000の対応する境界サンプルベクトルPおよびQの可能な空間的位置を示している。特に、図13Aから図13Cにおいて、それぞれの境界部分1011、1024、および対応する境界サンプルベクトルPc、Qc(コーナーにおける)およびエッジに沿ったPd、Qdは重複しない場合もあり(図13A)、相互に隣接する場合もあり(図13B)、部分的に重複する場合もあり(図13C)、offsetcおよびoffsetdの場合は完全に重複する場合もある(図13D)。例として、図13Aに示されているケースは、4Ncより大きいブロック寸法に適している場合があり、図13Bおよび13Cに示されているケースは、3Ncと4Ncの間のブロック寸法に適している場合があり、図13Dに示されているケースは、3Ncより小さいブロック寸法に適している場合がある。
【0140】
したがって、一実施形態によれば、デブロッキングフィルタは、ブロック1000のサイズに応じて、一般に2つの異なる方法で、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の幅を設定するように構成され得る。第1に、ブロック1000のサイズが第1の所定の量よりも小さい場合、たとえば、ブロックサイズ<3Ncの場合、4つのエッジ境界部分1011、1012、1013、1014および4つのコーナー境界部分1021、1022、1023、1024は相互に重複する場合がある(図13Cおよび図13Dを参照)。第2に、ブロック1000のサイズが第1の所定の量よりも大きい場合、たとえば、ブロックサイズ>3Ncの場合、4つのエッジ境界部分1011、1012、1013、1014および4つのコーナー境界部分1021、1022、1023、1024は重複しない場合がある(図13Aおよび図13Bを参照)。
【0141】
より正確な実施形態によれば、デブロッキングフィルタは、3つの異なる方法で、ブロック1000のサイズに応じて、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の幅を設定するように構成され得る。第1に、ブロック1000のサイズが第1の所定の量よりも小さい場合、たとえば、ブロックサイズ<3Ncの場合、4つのエッジ境界部分1011、1012、1013、1014および4つのコーナー境界部分1021、1022、1023、1024は相互に重複する場合がある(図13Dを参照)。第2に、ブロック1000のサイズが第1の所定の量と第2の所定の量との間にある場合、たとえば、3Nc≦ブロックサイズ≦4Ncの場合、4つのエッジ境界部分1011、1012、1013、1014および4つのコーナー境界部分1021、1022、1023、1024は相互に隣接する場合がある(図13Bを参照)。第3に、ブロック1000のサイズが第2の所定の量よりも大きい場合、たとえば、ブロックサイズ>4Ncの場合、4つのエッジ境界部分1011、1012、1013、1014、および4つのコーナー境界部分1021、1022、1023、1024は、相互に間隔を空けて配置され得る(図13Aを参照)。
【0142】
図13Aから図13Cの場合、offsetdの従来技術の計算を以下のように修正することが有利である可能性がある。
offsetd=Clip3(-127、127、(Pd-Qd+Ne)>>(log2(Ne)+1))
上式で、Ne≦Nd-2Ncは、P3およびQ3ベクトルの長さである。>>シフトの場合、Neは2の累乗である可能性がある。
【0143】
ブロックコーナーにおけるブレンドオーバーを含む8つの値のデブロッキングの適用
図14から図16は、以下の説明の用語を簡単に紹介するために役立つ場合がある。図14は、8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024に分割されたブロック境界1010を有する上記のブロック1000を示している。ブロック1000の内側に、サンプルの行1031および列1032が配置され得る。
【0144】
図14に示されている行1031は、ブロック境界1010から見たときの第2の行であり得る。したがって、前記行1031は、ブロック境界1010に対して1行のサンプルオフセットを有し得る。図14に示される列1032は、ブロック境界1010から見たときの第3の列であり得る。したがって、前記列1032は、ブロック境界1010に対して2列のサンプルオフセットを有し得る。行1031および列1032は、サンプルのラインとして包含され得る。
【0145】
デブロッキングフィルタは、フィルタリングプロセスの対象となるブロック1000のライン1031、1032(すなわち、行/列)の数、すなわち、ブロック境界1010の両側においてデブロッキングされなければならないブロック1000のライン1031、1032(すなわち、行/列)の数を表すフィルタサポート長を備え得る。ライン1031、1032(すなわち、行/列)の前記数は、ブロック1000の外側から、すなわち、境界線1010からブロック1000の内側1030まで数えられる。
【0146】
したがって、境界帯域1033(ハッチングされた線で示される)は、デブロッキングフィルタによってデブロッキングされなければならないサンプルのライン1031、1032の数を表し得、一方、前記境界帯域1033の帯域幅は、フィルタ強度を表し得る。境界帯域1033は、ブロック1000の内側1030の周りに円周方向に延びることができる。
【0147】
図14に示される例において、境界帯域1033は、境界線1010の各垂直部分に5列の垂直帯域幅、および境界線1010の各水平部分に4行の水平帯域幅を備え得る。より一般的に言えば、フィルタサポート長、すなわち境界帯域1033の帯域幅は、垂直部分と水平部分との間で異なる可能性がある。
【0148】
あるいは、フィルタサポート長、すなわち境界帯域1033の帯域幅は、各境界部分1011、1012、1013、1014、1021、1022、1023、1024において等しくてもよい。したがって、一実施形態によれば、デブロッキングフィルタは、境界帯域1033が一定の円周幅を備えるように構成され得る。
【0149】
さらに、フィルタ強度、すなわち境界帯域1033の帯域幅は、コード化されるブロック1000のサイズによって変化し得る可能性がある。たとえば、フィルタ強度、すなわち境界帯域1033の帯域幅は、ブロック1000のサイズが増加するにつれて増加する可能性がある。したがって、一実施形態によれば、デブロッキングフィルタは、ブロック1000のサイズに対して単調に増加する境界帯域1033の帯域幅を設定するように構成され得る。
【0150】
図15に示されるように、境界帯域1033は、1つまたは複数の境界領域1030、1040、1050に分割され得、これは、処理領域とも呼ばれ得る。たとえば、境界帯域1033は、コーナー領域1040およびエッジ中心領域1050を備え得る。これらの境界領域1040、1050は、正方形または一般に長方形であり得る。これらの境界領域1040、1050は、デブロッキングフィルタリングの対象となる可能性がある。境界帯域1033は、デブロッキングフィルタリングの対象とならない可能性のある内部領域1030をさらに備え得る。
【0151】
図16に示されるように、境界領域1040、1050は、境界部分を備え得る。たとえば、コーナー領域1040(例示的に左上および右上のコーナーに示される)は、ブロック1000のそれぞれのコーナーから対角線上にブロック1000のそれぞれのコーナーから内側(内側領域)1030に向かって延びるコーナー境界部分1041a、1041bを備え得る。例示的に描かれた2つのコーナー境界部分1041a、1041bは、隣接するコーナー境界部分のペアを形成する。
【0152】
2つ以上のさらなる境界部分は、隣接するコーナー境界部分1041a、1041bのペアの間に配置され得る。たとえば、中間境界部分1051は、隣接するコーナー境界部分1041a、1041bのペアの間に円周方向に延びることができる。さらに、セクション1061a、1061bは、隣接するコーナー境界部分1041a、1041bと中央境界部分1051との間に円周方向に延びることができる。たとえば、第1のセクション1061aは、中間境界部分1051と第1のコーナー境界部分1041aとの間に配置され得、第2のセクション1061bは、中間境界部分1051と第2のコーナー境界部分1041bとの間に配置され得る。
【0153】
したがって、一実施形態によれば、デブロッキングフィルタは、境界帯域1033の境界部分が、ブロック1000の各コーナーにおいて、ブロック1000のそれぞれのコーナーから内側1030に向かって対角線上に延びるコーナー境界部分1041a、1041b、およびブロック1000の隣接するコーナー境界部分1041a、1041bの各ペアの間、2つまたは3つの境界部分1051、1061a、1061bを少なくとも備え得るように構成され得る。
【0154】
さらなる実施形態によれば、デブロッキングフィルタは、ブロック1000の隣接するコーナー境界部分1041a、1041bの各ペアの間の2つまたは3つの境界部分1051、1061a、1061bが、それぞれのペアの第1のコーナー境界部分1041aに円周方向に隣接する第1のセクション1061a、それぞれのペアの第2のコーナー境界部分1041bに円周方向に隣接する第2のセクション1061b、およびそれぞれのペアの第1と第2のコーナー境界部分との間に円周方向に配置された中間境界部分1051を備え得るように構成され得る。
【0155】
いくつかの例では、中間境界部分1051が存在しない場合がある。これは、ブロックサイズおよび境界線1010の境界セグメンテーションに依存し得る。この場合、上記のセクション1061a、1061bは相互に隣接し得る。
【0156】
したがって、一実施形態によれば、デブロッキングフィルタは、2つ3つの境界部分1051、1061a、1061b、または隣接するコーナー境界部分1041a、1041bの各ペアの間の2つの境界部分1061a、1061bのみのいずれかを提供するように構成され得る。これは、この例では水平方向に、すなわち2つのコーナー境界部分1041a、1041bの間で測定されるブロックサイズに依存し得る。または、より一般的に言えば、ブロックサイズは、隣接するコーナー境界部分1041a、1041bのそれぞれのペアがブロック1000の内側に向かって延びるコーナー間に延びる方向に沿って測定される。
【0157】
第1のケースでは、ブロックサイズが境界帯域1033の幅の2倍より大きい場合、3つの境界部分は、コーナー境界部分1041a、1041bのペア、すなわち、それぞれのペアの第1のコーナー境界部分1041aに円周方向に隣接する第1のセクション1061a、それぞれのペアの第2のコーナー境界部分1041bに円周方向に隣接する第2のセクション1061b、およびそれぞれのペアの第1および第2のコーナー境界部分1041a、1041bの間に円周方向に延びる中央境界部分1051に配置され得る。
【0158】
第2のケースでは、ブロックサイズが境界帯域1033の幅の2倍以下である場合、中央境界部分1051は存在しない可能性がある。したがって、2つの境界部分、すなわち、それぞれのペアの第1のコーナー境界部分1041aに円周方向に隣接する第1のセクション1061a、およびそれぞれのペアの第2のコーナー境界部分1041bに円周方向に隣接する第2のセクション1061bのみが存在し得る。しかしながら、この場合、第1と第2のセクション1061a、1061bが相互に隣接している。
【0159】
上記の説明に基づいて、中間境界部分1051およびコーナー境界部分1041a、1041bを有するブロック(たとえば、TU)に適用されるデブロッキングフィルタのデブロッキング処理の非限定的な一例を以下に説明する。
【0160】
前述のように、デブロッキングフィルタのフィルタ特性は、コーナー領域1040、および該当する場合はエッジ中心領域1050における内側境界ベクトルPと外側境界ベクトルQとの間の非類似度に基づいてパラメータ化され得る。
【0161】
図17は、デブロッキングフィルタがどのようにデブロッキングフィルタリングプロセスをブロック1000に適用し得るかの例を示している。
【0162】
一実施形態によれば、デブロッキングフィルタは、オフセット値(たとえば、コーナー領域1040の場合はoffsetc、エッジ中心領域1050の場合はoffsetd)を使用することによって、ブロック境界1010に沿って延びるブロック1000の境界帯域1033内の各サンプルをオフセットするように構成され得る。前記オフセット値(offsetcおよびoffsetd)は、各境界部分1041a、1041b、1051、1061a、1061b内のサンプルの各ライン1031、1032(すなわち、行/列)に対してオフセット値(offsetcおよびoffsetd)が一定になるように設定される。または、より一般的に言えば、サンプルの各ライン1031、1032について一定であり、ブロックの境界1010に対して等しく成形され、ブロックの境界1010に対して一定のサンプルオフセットを有する。
【0163】
本明細書に記載の概念によれば、フィルタ強度は、ブロック1000の境界線1010からブロック1000の内側1030まで、すなわち矢印1070の方向に減少する。言い換えれば、フィルタ強度は、ブロック1000の境界線1010に近い位置にあるライン1031、1032(すなわち、行/列)の方が、ブロック1000の内側1030に近い位置にあるライン1031、1032(すなわち、行/列)の場合よりも高い。したがって、オフセット値(offsetcおよびoffsetd)は、境界1010からブロック1000の中央1030までの減衰の影響を受ける。
【0164】
さらに、それぞれの境界部分1041a、1041b、1051、1061a、1061b内のオフセット値(offsetcおよびoffsetd)は、それぞれの境界部分1041a、1041b、1051、1061a、1061bに円周方向に最も近い境界部分1011、1012、1013、1014、1021、1022、1023、1024のうちの1つまたは複数について決定された非類似度に基づいて計算される。たとえば、エッジ中心領域1050、すなわち中央境界部分1051に含まれるサンプルのオフセット値offsetdは、外側ベクトルP3と内側ベクトルQ3との間の非類似度に基づいて計算されるが(図17には示されていない)、コーナー領域1040、すなわちコーナー境界部分1041aおよびセクション1061aに含まれるサンプルのオフセット値offsetcは、外部ベクトルPc=P1+P2と内部ベクトルQc=Q1+Q2(図17には示されていない)との間の非類似度に基づいて計算される。
【0165】
したがって、内側境界ベクトルPと外側境界ベクトルQとの間の非類似度に基づいて8つのオフセット値が計算され得、4つのエッジ境界部分1011、1012、1013、1014の4つのオフセット値offsetdおよび4つのコーナー境界部分1021、1022、1023、1024の4つのオフセット値offsetcが計算される。上記のように決定された4つのオフセットoffsetcと4つのオフセットoffsetd制御値を使用して、例示的なデブロッキング処理が以下のように構築され得る。
【0166】
図18に示されるように、デブロッキングの対象となるサイズM×Nのコーディングブロック1000(たとえば、TU)が与えられると、内側ブロック境界にある8つの処理領域(すなわち、4つのコーナー領域1040および4つのエッジ中心領域1050)が、図13Bおよび図13Dの境界セグメンテーションに基づいて定義される。ブロックコーナーにおける正方形の領域1040は、好ましくは、それぞれ固定サイズのNc×Ncであり得、一方、エッジ中心領域1050は、それぞれが可変サイズのNc×(Nd-2Nc)または(Nd-2Nc)×Ncであり得、おそらく、Nd-2Nc=0である。さらに、コーディングブロック1000の内側の長方形領域1030の内側のピクセルは、デブロッキング処理によって変更されない場合がある。
【0167】
したがって、一実施形態によれば、デブロッキングフィルタは、エッジ中心領域1050、したがって、対応する中間境界部分1051が、ブロック1000からコーナー領域1040の幅の2倍を引いたものと円周方向に同じ幅であり、したがって、対応するコーナー境界部分1041a、1041bであるように構成され得る。さらに、境界帯域1033が一定の円周幅を備える場合、円周幅はコーナー領域1040におけるベクトルP1、P2、Q1、Q2の長さに等しくなり得るので、中央境界部分1051は、ブロック1000から境界帯域1033の幅の2倍を引いたものと円周方向に同じ幅である。
【0168】
しかしながら、上記のように、ブロックサイズによっては、エッジ中心領域1050、したがって中央境界部分1051が全く存在しない場合がある。たとえば、幅または高さNd=2Ncのブロックでは、前記エッジ中心領域1050は、それぞれ、上/下または左/右のエッジに沿って存在しない場合があり、したがって、処理されない可能性がある。しかしながら、Nd<2Ncは許可されていない。
【0169】
デブロッキングによって処理された境界ブロックセグメント1030、1040、1050の空間的位置を示す図17を依然として参照すると、現在のコーディングブロックをデブロッキングするときに、ピクセルサンプルの外側のP1からP4の列/行が処理されないことがわかる。代わりに、隣接する、ここでは左側と上部のブロックをデブロッキングするときに処理される。Q1、Q2、およびQ4ライン領域は、それぞれのコーナー領域1040の一部であり、Q3は、そのエッジ中心領域1050の一部である。
【0170】
以下では、Ncを、好ましくは16または8ピクセルに等しく、画像成分(ルマまたはクロマ)またはブロックサイズに依存し得るフィルタ長とする。エッジ中心領域1050のデブロッキング処理は簡単である。水平の上部または下部のブロック境界の場合、ピクセルp(x, y)のNc行1031は、offsetdの加重加算の対象になる。
一番上の行:
p'(x, y)=p(x, y)+od
一番下の行:
p'(x, H-1-y)=p(x, H-1-y)+od、od=(offsetd・(2Nc-1-2y)+Nc)>>(log2(Nc)+1)、
Hはピクセル単位のブロック高さであり、Nc≦x<W-Nc(Wはブロック幅)および0≦y<Ncである。垂直の左または右のブロックエッジの中心の場合、ピクセルp(x, y)のNc列は同様に扱われる。
左の列:
p'(x, y)=p(x, y)+od
右の列:
p'(W-1-x, y)=p(W-1-x, y)+od、od=(offsetd・(2Nc-1-2x)+Nc)>>(log2(Nc)+1)、
Wはピクセル単位のブロック幅であり、Nc≦y<H-Nc(Hは再び高さである)および0≦x<Ncである。
【0171】
どちらの場合も、処理された各行/列1031、1032ピクセルの長さはNd-2Ncに等しくなる。これらの動作は、従来技術において実行されたものと類似している可能性がある。事実上、ピクセルp(x, y)がブロック1000の中心に近いほど、より減衰されたoffsetdが追加される。この場合も、幅または高さNd=2Ncを有するブロック1000において、この態様によれば、エッジ中心領域1050は、影響を受ける寸法に沿って存在しないであろう。本発明のこの態様の主な概念であるコーナー領域1040に適用されるデブロッキングは、もう少し洗練されている。
対角線:
p'(f, H-1-f)=p(f, H-1-f)+oc
p'(W-1-f, f)=p(W-1-f, f)+oc
p'(W-1-f, H-1-f)=p(W-1-f, H-1-f)+oc
p'(f, f)=p(f, f)+oc、oc=(((Nc-f)・offsetc+f・mc)・(2Nc-1-2f)+Nc2)>>(log2(Nc2)+1)、
上式で、0≦f<Ncは、ブロック中心1030に向かう対角線に沿ったピクセル位置であり、mcは、2つのコーナー隣接offsetd値の算術平均、すなわち、1/2(offsettop+offsetleft)または1/2(offsettop+offsetright)または1/2(offsetbottom+offsetleft)または1/2(offsetbottom+offsetright)である。これは、対角ピクセルp(f, f)またはp(W-1-f, f)またはp(f, H-1-f)またはp(W-1-f, H-1-f)がブロック1000の中心1030に近いほど、より多くのmcが加重加算を支配し、加重加算がより減衰することを意味する。
【0172】
あるいは、コーナー領域1040のデブロッキングにおけるocは、以下のように、offsetcのみに依存し、mcには依存しないように単純化することができる。
oc=(offsetc・(2Nc-1-2f)+Nc)>>(log2(Nc)+1)。
これにより、非常に類似した主観的な品質が得られる。残りの2つのコーナーセクションは以下によって与えられる。
水平:
p'(x, f)=p(x, f)+((((Nc-x)・offsetc+x・offsetd)・(2Nc-1-2f)+Nc2)>>(log2(Nc2)+1))、
上式で、f<x<Nc、
垂直部分:
p'(f, y)=p(f, y)+((((Nc-y)・offsetc+y・offsetd)・(2Nc-1-2f)+Nc2)>>(log2(Nc2)+1))
上式で、f<y<Nc
例として、c=左上のブロックコーナー1040の場合。他の3つのコーナーは同等に処理される。言い換えれば、最後の2つの式は、隣接する重み付きoffsetc値とoffsetd値との間の線形補間の特別なハードウェアフレンドリーな実現を表している。前の14ページのすべての式において、log2(N)+1=log2(2N)およびlog2(N2)+1=2log2(N)+1であるため、特定の実装形態の詳細が異なる場合がある点に留意されたい。
【0173】
添付の特許請求の範囲に関して述べられるように、一実施形態によれば、デブロッキングフィルタは、それぞれのコーナー境界部分1041内のサンプルのオフセット値ocが、加重平均に従って、ブロック1000の境界1010からブロック1000の内側に向かって変化するように、コーナー境界部分1041の各々について、それぞれのコーナー境界部分1041内のサンプルのオフセット値ocを設定するように構成され得る。
【0174】
前記加重平均は、コーナー境界部分1021の第1のオフセット値offsetcおよび2つのコーナー隣接エッジ境界部分1011、1014の第2のオフセット値mcの平均である(図10も参照のこと)。より一般的に言えば、第1のオフセット値offsetcは、それぞれのコーナー境界部分1041がブロック1000の内側1030に向かって対角線上に延びるそれぞれのコーナー境界部分1021、1022、1023、1024について決定された非類似度に基づいて決定され得、第2のオフセット値mcは、それぞれのコーナー境界部分1041が、ブロック1000の内側1030に向かって対角線上に延びるそれぞれのコーナー境界部分1021、1022、1023、1024に円周方向に隣接するエッジ境界部分1011、1012、1013、1014について決定された非類似度に基づいて決定され得る。
【0175】
加重平均の重み(上記の式のNc-fおよびfを参照)は、加重平均が、距離が増加するときの第2のオフセット値mcと比較して、第1のオフセット値offsetcに単調に減少するほど依存しないように、ブロック1000の境界1010からのサンプルの距離fに依存し得る。言い換えれば、対角ピクセルp(f, f)またはp(W-1-f, f)またはp(f, H-1-f)またはp(W-1-f, H-1-f)がブロック1000の中心1030に近いほど、より多くのmcが加重加算を支配し、加重加算がより減衰する。
【0176】
再び図16を参照すると、コーナー境界部分1041a、1041bは、ブロック1000のコーナーからブロックの内側1030まで対角線上に延びることができる。第1および第2のセクション1061a、1061bは、上で説明したように、中間境界部分1051の間に配置され得る。
【0177】
第1のセクション1061aに含まれるサンプルのオフセット値は、第1のコーナー境界部分1041aと中央境界部分1051との間で補間され得る。特に、行1031に沿って見た場合、第1のセクション1061aに含まれるサンプルのオフセット値は、第1のコーナー境界部分1041a(同じ行1031内)のオフセット値と、中央境界部分1051(同じ行1031内)のオフセット値との間で補間され得る。
【0178】
第2のセクション1061bに含まれるサンプルのオフセット値は、第2のコーナー境界部分1041bと中央境界部分1051との間で補間され得る。特に、行1031に沿って見た場合、第2のセクション1061bに含まれるサンプルのオフセット値は、第2のコーナー境界部分1041b(同じ行1031内)のオフセット値と、中央境界部分1051(同じ行1031内)のオフセット値との間で補間され得る。
【0179】
添付の特許請求の範囲に関して述べられるように、一実施形態によれば、デブロッキングフィルタは、第1のセクション1061aについて、ライン(すなわち、行/列)1031、1032ごとに、それぞれのライン(すなわち、行/列)1031、1032内のサンプルのオフセット値が、それぞれのライン(すなわち、行/列)1031、1032内の第1のコーナー境界部分1041aのオフセット値と、それぞれのライン(すなわち、行/列)1031、1032内の中央境界部分1051におけるオフセット値との間で補間されるように、第1のセクション1061a内のサンプルのオフセット値を設定するように構成される。さらに、デブロッキングフィルタは、第2のセクション1061bについて、ライン(すなわち、行/列)1031、1032ごとに、それぞれのライン(すなわち、行/列)1031、1032内のサンプルのオフセット値が、それぞれのライン(すなわち、行/列)1031、1032内の第2のコーナー境界部分1041bのオフセット値と、それぞれのライン(すなわち、行/列)1031、1032内の中央境界部分1051のオフセット値との間で補間されるように、第2のセクション1061b内のサンプルのオフセット値を設定するように構成される。
【0180】
図19は、ブロックベースのコード化された画像12のブロック1000をフィルタリングするための方法の概略ブロック図を示している。
【0181】
ブロック1901において、ブロック1000の境界1010の少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024の各々について、ブロック1000のフィルタリングされていないコンテンツ1015と、それぞれの境界部分1011、1012、1013、1014、1021、1022、1023、1024に沿ったブロック1000の周りの周囲のピクチャコンテンツ1016との間の非類似度が決定され、8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024は、それぞれがブロック1000のコーナーに配置された4つのコーナー境界部分1021、1022、1023、1024と、それぞれがブロック1000のコーナーの間の境界1010の中間部分に配置された4つのエッジ境界部分1011、1012、1013、1014とを含む。
【0182】
ブロック1902において、ブロック1000のデブロッキングフィルタリングは、ブロック1000のフィルタリングされたコンテンツを取得するために、少なくとも8つの境界部分1011、1012、1013、1014、1021、1022、1023、1024について決定された非類似度を使用してパラメータ化される。
【0183】
たとえば、HEVCにおけるような従来技術のフィルタとは異なり、本発明の「超強力な」デブロッキングアルゴリズムは、デブロッキングされるピクセルサンプルに応じてそのデブロッキング強度を適応させない可能性があり、したがって、フィルタ適用中に従来技術よりも低い計算の複雑さを示す点に留意されたい。もちろん、デブロッキング強度適応は、本発明の第1の態様によって、すなわち、エンコーダおよびデコーダの両方において、従来技術の「弱い」または「中程度の強力な」アルゴリズム、および本明細書で説明する「超強力な」アルゴリズムからデブロッキング処理を選択することを可能にする条件付き信号フィルタ制御パラメータの使用によって達成することができる。さらに、図13Aにおいて、offsetcおよびoffsetd制御値の計算においてブロック境界に沿ったすべてのピクセルサンプルが考慮されるわけではない点に留意されたい。これは、フィルタ計算中の最先端技術と比較して、アルゴリズムの複雑さが軽減されていることを表している。結論として、本発明の第2の態様において提示された本発明の非常に強力な修正デブロッキング手法は、従来技術よりも優れた視覚的性能を達成すると同時に、修正デブロッキングアルゴリズムの計算および適用の両方においてより低い計算の複雑さを示すと要約することができる。
【0184】
いくつかの態様は装置の文脈において説明されてきたが、これらの態様が対応する方法の説明も表すことは明らかであり、ブロックまたはデバイスは方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈において説明される態様はまた、対応するブロックまたはアイテム、あるいは対応する装置の特徴の説明を表す。
【0185】
方法ステップのいくつかまたはすべては、たとえば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路などのハードウェア装置によって(または、それを使用することによって)実行され得る。いくつかの実施形態では、最も重要な方法ステップのうちの1つまたは複数は、そのような装置によって実行され得る。
【0186】
特定の実装形態の要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアにおいて、あるいは少なくとも部分的にハードウェアにおいて、または少なくとも部分的にソフトウェアにおいて実装することができる。本実装形態は、それぞれの方法が実行されるようにプログラマブルコンピュータシステムと協調する(または、協調することができる)、電子的に読み取り可能な制御信号が記憶されているデジタル記憶媒体、たとえば、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体はコンピュータで読み取り可能である可能性がある。
【0187】
本発明によるいくつかの実施形態は、本明細書に記載の方法のうちの1つが実行されるように、プログラマブルコンピュータシステムと協調することができる電子的に読み取り可能な制御信号を有するデータキャリアを備える。
【0188】
一般に、本発明の実施形態は、プログラムコードを備えたコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに方法のうちの1つを実行するために動作可能である。プログラムコードは、たとえば、機械可読キャリアに記憶され得る。
【0189】
他の実施形態は、機械可読キャリアに記憶された、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを備える。
【0190】
言い換えれば、本発明の方法の一実施形態は、したがって、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書に記載の方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0191】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを備え、記録した、データキャリア(あるいは、デジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は、通常、有形および/または非一時的である。
【0192】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、たとえば、インターネットを介して、データ通信接続を介して転送されるように構成され得る。
【0193】
さらなる実施形態は、本明細書に記載の方法のうちの1つを実行するように構成または適合された処理手段、たとえば、コンピュータ、またはプログラマブルロジックデバイスを備える。
【0194】
さらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムをインストールしたコンピュータを備える。
【0195】
本発明によるさらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを(たとえば、電子的または光学的に)受信機に転送するように構成された装置またはシステムを備える。受信機は、たとえば、コンピュータ、モバイルデバイス、メモリデバイスなどであり得る。装置またはシステムは、たとえば、コンピュータプログラムを受信機に転送するためのファイルサーバを備え得る。
【0196】
いくつかの実施形態では、本明細書に記載の方法の機能のいくつかまたはすべてを実行するために、プログラマブルロジックデバイス(たとえば、フィールドプログラマブルゲートアレイ)が使用され得る。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載の方法のうちの1つを実行するために、マイクロプロセッサと協調することができる。一般に、これらの方法は、任意のハードウェア装置によって実行されることが好ましい。
【0197】
本明細書に記載の装置は、ハードウェア装置を使用して、またはコンピュータを使用して、あるいはハードウェア装置とコンピュータの組合せを使用して実装され得る。
【0198】
本明細書に記載の方法は、ハードウェア装置を使用して、またはコンピュータを使用して、あるいはハードウェア装置とコンピュータの組合せを使用して実行され得る。
【0199】
本開示は、例示的な実施形態を参照して説明されてきたが、この説明は、限定的な意味で解釈されることを意図するものではない。例示的な実施形態の様々な修正および組合せ、ならびに本開示の他の実施形態は、説明を参照することにより当業者には明らかであろう。したがって、添付の特許請求の範囲は、そのような修正または実施形態を包含することが意図されている。
【符号の説明】
【0200】
10 エンコーダ
12 ピクチャ
12 信号
12' ピクチャ
12' 信号
14 データストリーム
20 デコーダ
22 予測残差信号形成器
24 予測残差
24' スペクトル領域予測残差信号
24'' 非ゼロのコード化された予測残差
24'' スペクトル領域予測残差信号
24''' スペクトル領域予測残差信号
24'''' 予測残差信号
26 予測信号
28 変圧器
32 量子化器
34 エントロピーコーダ
36 予測ステージ
40 逆変換器
42 結合器
44 予測モジュール
46 再構築された信号
50 エントロピーデコーダ
52 逆量子化器
54 逆変圧器
56 結合器
58 予測モジュール
80 イントラコーディングブロック
82 インターコーディングブロック
84 変換ブロック
110 デブロッキングまたはデリンギングフィルタ
120 デブロッキングまたはデリンギングフィルタ
136 予測ループ
181 コーディングブロック、ツリールートブロック
181a〜181g サブブロック
182 コーディングブロック、ツリールートブロック
182a〜182d サブブロック
183 コーディングブロック、ツリールートブロック
184 コーディングブロック、ツリールートブロック
185 コーディングブロック
1000 コーディングブロック
1010 ブロック境界
1011 エッジ境界部分
1012 エッジ境界部分
1013 エッジ境界部分
1014 エッジ境界部分
1015 ピクチャコンテンツ
1016 ピクチャコンテンツ
1021 コーナー境界部分
1022 コーナー境界部分
1023 コーナー境界部分
1024 コーナー境界部分
1030 内部領域、境界領域、内側、境界ブロックセグメント
1031 行
1032 列
1033 境界帯域
1040 コーナー領域、境界ブロックセグメント
1041a 第1のコーナー境界部分
1041b 第2のコーナー境界部分
1050 エッジ中心領域、境界領域、境界ブロックセグメント
1051 中間境界部分
1061a 第1のセクション、境界部分
1061b 第2のセクション、境界部分
1070 矢印
図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D
図6E
図6F
図7
図8
図9
図10
図11
図12
図13A
図13B
図13C
図13D
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2021年5月25日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デブロッキングまたはデリンギングフィルタ(110)を用いてピクチャデータをブロックベースでデコードするためのデコーダ(20)であって、
データストリーム(14)からのピクチャ(12)を、予測を用い、前記データストリーム(14)においてコード化された予測残差を用い、ブロック単位で再構築して、前記ピクチャ(12)の再構築されたバージョン(12')を取得することと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(110)を適用することと、
前記デブロッキングまたはデリンギングフィルタ(110)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更することと
を行うように構成される、デコーダ(20)。
【請求項2】
前記ピクチャ(12)をブロック(181、182、183、184、181a〜181g、182a〜182d)に分割することと、
前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記ピクチャ(12)の前記再構築を実行することと
を行うように構成され、
前記第1の尺度(A)は、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)のサイズを局所的に測定するように設計される、請求項1に記載のデコーダ(20)。
【請求項3】
前記ピクチャ(12)の前記再構築において、
各ブロック(181、182、183、184、181a〜181g、182a〜182d)に、複数の予測モードのうちの1つを前記それぞれのブロック(181、182、183、184、181a〜181g、182a〜182d)に割り当てるように構成され、前記複数の予測モードは、1つまたは複数のイントラ予測モードおよび/あるいは1つまたは複数のインター予測モードを備える、請求項2に記載のデコーダ(20)。
【請求項4】
前記ピクチャ(12)が事前に分割されている複数のツリールートブロック(181、182、183、184)の各々に対して再帰的なマルチツリー細分化を行うことによって、前記ピクチャ(12)のブロック(181、182、183、184、181a〜181g、182a〜182d)への前記分割を実行し、前記ブロックが前記複数のツリールートブロック(181、182、183、184)のリーフブロック(181a〜181g、182a〜182d)を形成するようにする、ステップと、
ツリールートブロック(181、182、183、184)ごとに、前記第1の尺度(A)および前記第2の尺度(B)を局所的に決定することと
を行うように構成される、請求項2または3に記載のデコーダ(20)。
【請求項5】
前記データストリーム(14)から分割情報を読み取ることと、
前記分割情報に応じて、前記複数のツリールートブロック(181、182、183、184)の各々に対して前記再帰的なマルチツリー細分化を行うことを実行することと、
前記分割情報に応じて、前記第1の尺度(A)を決定することと
を行うように構成される、請求項4に記載のデコーダ(20)。
【請求項6】
ツリールートブロック(181、182、183、184)ごとに、前記それぞれのツリールートブロック(181、182、183、184)が分割されるリーフブロック(181a〜181g、182a〜182d)の数を決定することによって前記第1の尺度(A)を決定するように構成される、
請求項4または5に記載のデコーダ(20)。
【請求項7】
ブロック(181、182、183、184、181a〜181g、182a〜182d)ごとに少なくとも1つの係数ブロックを有する前記予測残差の区分的変換を表す係数ブロックの単位で前記データストリーム(14)からの前記予測残差をデコードすることと、
ツリールートブロック(181、182、183、184)ごとに、ゼロに完全には量子化されていない係数ブロックの数を決定することによって、前記第2の尺度(B)を決定することと
を行うように構成される、請求項4から6のいずれか一項に記載のデコーダ(20)。
【請求項8】
係数ブロックごとに
対応するブロック(181、182、183、184)またはそのサブブロック(181a〜181g、182a〜182d)を取得するために、任意で恒等変換を含む複数の逆変換のうちの1つを選択することと、前記選択した逆変換を使用することとを行うように構成される、請求項7に記載のデコーダ(20)。
【請求項9】
前記第1および第2の尺度(A、B)が所定の基準を満たす前記ピクチャ(12)の第1の部分について、
前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(110)の第1の強度を示す前記データストリーム(14)から強度情報を読み取ることと、
前記第1および第2の尺度(A、B)が前記所定の基準を満たさない前記ピクチャ(12)の第2の部分について、
前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(110)の強度を、より低い第2の強度に設定することと
によって、
前記デブロッキングまたはデリンギングフィルタ(110)の前記強度の前記局所的変更を行うように構成される、
請求項1から8のいずれか一項に記載のデコーダ(20)。
【請求項10】
前記所定の基準は、
前記第1の尺度(A)が第1の所定のしきい値を下回る場合、および
前記第2の尺度(B)が第2の所定のしきい値を超えるかこれに等しい場合、
満たされる、
請求項9に記載のデコーダ(20)。
【請求項11】
前記第1の所定のしきい値はpであり、pは、各々の前記ツリールートブロック(181、182、183、184)について、1<p<17を満たし、および/または
前記第2の所定のしきい値はqであり、qは、各々の前記ツリールートブロック(181、182、183、184)について、-1<q<51を満たす、請求項10に記載のデコーダ(20)。
【請求項12】
前記第1および第2の部分は、ツリールートブロック(181、182、183、184)であって、それへと前記ピクチャ(12)が事前に分割され、さらに、結果としてブロック(181、182、183、184、181a〜181g、182a〜182d)をもたらすマルチツリー細分化の対象となる、ツリールートブロック(181、182、183、184)であり、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記再構築が実行される、
請求項9から11のいずれか一項に記載のデコーダ(20)。
【請求項13】
前記ピクチャデータはビデオを備え、前記デコーダ(20)はビデオデコーダであり、そのインループフィルタは前記デブロッキングまたはデリンギングフィルタ(110)によって形成される、
請求項1から12のいずれか一項に記載のデコーダ(20)。
【請求項14】
デブロッキングまたはデリンギングフィルタ(120)をインループフィルタとして使用して、ピクチャデータをブロックベースでエンコードするためのエンコーダ(10)であって、
予測を使用することによって、前記エンコーダ(10)の予測ループ(136)内にピクチャ(12)の再構築されたバージョン(12')を提供することにより予測残差をデータストリーム(14)にコード化することによって、前記ピクチャ(12)を前記データストリーム(14)にブロック単位でエンコードすることと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(120)を適用することと、
前記デブロッキングまたはデリンギングフィルタ(120)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更することと
を行うように構成される、エンコーダ(10)。
【請求項15】
前記ピクチャをブロック(181、182、183、184、181a〜181g、182a〜182d)に分割することと、
前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記エンコードすることを実行することと
を行うように構成され、
前記第1の尺度(A)は、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)のサイズを局所的に測定するように設計される、請求項14に記載のエンコーダ(10)。
【請求項16】
前記エンコードすることにおいて、各ブロック(181、182、183、184、181a〜181g、182a〜182d)に、複数の予測モードのうちの1つを前記それぞれのブロック(181、182、183、184、181a〜181g、182a〜182d)に割り当てるように構成され、前記複数の予測モードは、1つまたは複数のイントラ予測モードおよび/あるいは1つまたは複数のインター予測モードを備える、
請求項15に記載のエンコーダ(10)。
【請求項17】
前記ピクチャ(12)が事前に分割されている複数のツリールートブロック(181、182、183、184)の各々に対して再帰的なマルチツリー細分化を行うことによって、前記ブロックが前記複数のツリールートブロック(181、182、183、184)のリーフブロック(181a〜181g、182a〜182d)を形成するようにすることと、
ツリールートブロック(181、182、183、184)ごとに、前記第1の尺度(A)および前記第2の尺度(B)を局所的に決定することと
によって、前記分割を実行するように構成される、
請求項15または16に記載のエンコーダ(10)。
【請求項18】
分割情報に基づいて、前記複数のツリールートブロック(181、182、183、184)の各々に対して前記再帰的なマルチツリー細分化を行うことを実行することと、
前記分割情報を前記データストリーム(14)に挿入することと、
前記分割情報に応じて、前記第1の尺度(A)を決定することと
を行うように構成される、請求項17に記載のエンコーダ(10)。
【請求項19】
ツリールートブロック(181、182、183、184)ごとに、前記それぞれのツリールートブロック(181、182、183、184)が分割されるリーフブロック(181a〜181g、182a〜182d)の数を決定することによって前記第1の尺度(A)を決定するように構成される、
請求項17または18に記載のエンコーダ(10)。
【請求項20】
ブロック(181、182、183、184、181a〜181g、182a〜182d)ごとに少なくとも1つの係数ブロックを有する前記予測残差の区分的変換を表す係数ブロックの単位で前記データストリーム(14)に前記予測残差をエンコードすることと、
ツリールートブロック(181、182、183、184)ごとに、ゼロに完全には量子化されていない係数ブロックの数を決定することによって、前記第2の尺度(B)を決定することと
を行うように構成される、請求項17から19のいずれか一項に記載のエンコーダ(10)。
【請求項21】
対応するブロック(181、182、183、184)またはそのサブブロック(181a〜181g、182a〜182d)を取得するために、係数ブロックごとに、任意で恒等変換を含む複数の変換のうちの1つを選択することと、前記選択した逆変換を使用することとを行うように構成される、
請求項20に記載のエンコーダ(10)。
【請求項22】
前記第1および第2の尺度(A、B)が所定の基準を満たす前記ピクチャ(12)の第1の部分について、
前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(120)の第1の強度を示す前記データストリーム(14)に強度情報を挿入することと、
前記第1および第2の尺度(A、B)が前記所定の基準を満たさない前記ピクチャ(12)の第2の部分について、
前記それぞれの部分に適用される前記デブロッキングまたはデリンギングフィルタ(120)の強度を、より低い第2の強度に設定することと
によって、前記デブロッキングまたはデリンギングフィルタ(120)の前記強度の前記局所的変更を行うように構成される、
請求項14から21のいずれか一項に記載のエンコーダ(10)。
【請求項23】
前記所定の基準は、
前記第1の尺度(A)が第1の所定のしきい値を下回る場合、および
前記第2の尺度(B)が第2の所定のしきい値を超えるかこれに等しい場合、満たされる、 請求項22に記載のエンコーダ(10)。
【請求項24】
前記第1の所定のしきい値はpであり、pは、各々の前記ツリールートブロック(181、182、183、184)について、1<p<17を満たし、および/または
前記第2の所定のしきい値はqであり、qは、各々の前記ツリールートブロック(181、182、183、184)について、-1<q<51を満たす、請求項23に記載のエンコーダ(10)。
【請求項25】
前記第1および第2の部分は、ツリールートブロック(181、182、183、184)であって、それへと前記ピクチャ(12)が事前に分割され、さらに、結果としてブロック(181、182、183、184、181a〜181g、182a〜182d)をもたらすマルチツリー細分化の対象となる、ツリールートブロック(181、182、183、184)であり、前記ブロック(181、182、183、184、181a〜181g、182a〜182d)を使用して前記エンコードをすることが実行される、
請求項22から24のいずれか一項に記載のエンコーダ(10)。
【請求項26】
デブロッキングまたはデリンギングフィルタ(110)を用いてピクチャデータをブロックベースでデコードするための方法であって、
データストリーム(14)からのピクチャ(12)を、予測を用い、前記データストリーム(14)においてコード化された予測残差を用い、ブロック単位で再構築して、前記ピクチャ(12)の再構築されたバージョン(12')を取得するステップと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(110)を適用するステップと、
前記デブロッキングまたはデリンギングフィルタ(110)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更するステップと
を備える、方法。
【請求項27】
デブロッキングまたはデリンギングフィルタ(120)をインループフィルタとして用いてピクチャデータをブロックベースでエンコードするための方法であって、
予測を使用することによって、予測ループ(136)内にピクチャ(12)の再構築されたバージョン(12')を提供することにより予測残差をデータストリーム(14)にコード化することによって、前記ピクチャ(12)を前記データストリーム(14)にブロック単位でエンコードするステップと、
前記ピクチャ(12)の前記再構築されたバージョン(12')に前記デブロッキングまたはデリンギングフィルタ(120)を適用するステップと、
前記デブロッキングまたはデリンギングフィルタ(120)の強度を、平均ブロックサイズを局所的に測定する第1の尺度(A)と、前記予測残差の非ゼロコード化の頻度を局所的に測定する第2の尺度(B)とに応じて局所的に変更するステップと
を備える、方法。
【請求項28】
コンピュータ上で実行されるときに、請求項26または27に記載の方法を実行するためのプログラムコードを有するコンピュータプログラムを記憶した、コンピュータ可読デジタル記憶媒体。
【請求項29】
請求項26または27に記載の方法によって取得されたデータストリーム。
【国際調査報告】