IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

<>
  • 特表-平滑表面予測 図1
  • 特表-平滑表面予測 図2
  • 特表-平滑表面予測 図3
  • 特表-平滑表面予測 図4
  • 特表-平滑表面予測 図5
  • 特表-平滑表面予測 図6
  • 特表-平滑表面予測 図7
  • 特表-平滑表面予測 図8
  • 特表-平滑表面予測 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-14
(54)【発明の名称】平滑表面予測
(51)【国際特許分類】
   H04N 19/11 20140101AFI20240307BHJP
   H04N 19/126 20140101ALI20240307BHJP
   H04N 19/176 20140101ALI20240307BHJP
   H04N 19/14 20140101ALI20240307BHJP
   H04N 19/70 20140101ALI20240307BHJP
【FI】
H04N19/11
H04N19/126
H04N19/176
H04N19/14
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560446
(86)(22)【出願日】2022-03-30
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 SE2022050315
(87)【国際公開番号】W WO2022211715
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】63/168,613
(32)【優先日】2021-03-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】100109726
【弁理士】
【氏名又は名称】園田 吉隆
(74)【代理人】
【識別番号】100150670
【弁理士】
【氏名又は名称】小梶 晴美
(74)【代理人】
【識別番号】100199705
【弁理士】
【氏名又は名称】仙波 和之
(74)【代理人】
【識別番号】100194294
【弁理士】
【氏名又は名称】石岡 利康
(72)【発明者】
【氏名】アンデション, ケネト
(72)【発明者】
【氏名】エンホーン, ジャック
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MC11
5C159RC12
5C159TA31
5C159TA46
5C159TB08
5C159TC03
5C159TC10
5C159TC42
5C159TD12
5C159UA02
5C159UA05
(57)【要約】
画像またはビデオエンコーダまたはデコーダにおいてピクチャ中のサンプルの平滑予測ブロックを作成するための方法が、提供される。方法は、r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することを含む。方法は、パラメータrとベースの行列Bとに基づいて、ブロックx’を予測することを含む。
【選択図】図5
【特許請求の範囲】
【請求項1】
画像またはビデオエンコーダまたはデコーダにおいてピクチャ中のサンプルの平滑予測ブロックを作成するための方法であって、前記方法は、
r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することと、
前記パラメータrと前記ベースの行列Bとに基づいて、ブロックx’を予測することと
を備える、方法。
【請求項2】
前記平滑予測ブロックx’が、x’=Σ[r(i)*b(i)]を備え、ここで、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる、請求項1に記載の方法。
【請求項3】
前記平滑予測ブロックx’が、x’=(Σ[r(i)*b(i)]+2N-1)>>Nを備え、ここで、Nが、スケーリングファクタであり、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる、請求項1に記載の方法。
【請求項4】
Bにおける各基底ベクトルb(i)は、b(i):=b(i)-平均(b(i))のように、それの平均が除去される、請求項1から3のいずれか一項に記載の方法。
【請求項5】
Bが、3つのベースB={b1、b2、b3}を少なくとも含み、ここで、b1={1、1、1、..、1}、b2={0、1、..M-1、..、0、1、..、M}、およびb3={0、..、0、1、..、1、M-1、..、M-1}であり、ここで、Mが、前記ブロックの高さに等しい、請求項1から4のいずれか一項に記載の方法。
【請求項6】
Bが、B={b1、b2、b3、b4、b5、b6}であるように、ベース(b4、b5、b6)をさらに含み、ここで、b4={0、..、0、1、2、..M-1、..、M-1、2*M-1、..、(M-1)*(M-1)}、b5={0、1、4、..、(M-1)*(M-1)、..、0、1、4、..、(M-1)*(M-1)}およびb6={0、..、0、1、..、1、4、..、4、..、(M-1)*(M-1)}である、請求項5に記載の方法。
【請求項7】
(BB)-1が、事前計算される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
サンプルの前記ソースxが、(たとえば、水平におよび垂直に1サンプルおきに)サンプルのサブセットを取ることによって決定される、請求項1から7のいずれか一項に記載の方法。
【請求項9】
Bにおける各基底ベクトルb(i)が、2の倍数であるサンプル位置において取られる、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記ブロックの高さ(M)が、前記画像またはビデオエンコーダ/デコーダにおいて使用される最大変換サイズに等しい、請求項1から9のいずれか一項に記載の方法。
【請求項11】
量子化パラメータを調節するための方法であって、前記方法は、
画像中のブロックが平滑であると決定することと、
前記量子化パラメータ(QP)が圧縮の後の前記ブロックの品質を低減すると決定することと、
前記画像中の前記ブロックが平滑であると決定したことと、前記QPが圧縮の後の前記ブロックの前記品質を低減すると決定したこととの結果として、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記QPを減少させることと
を含む、方法。
【請求項12】
画像中のブロックが平滑であると決定することは、
低周波ベース関数に基づいて、モデルのためのパラメータを決定することと、
前記決定されたパラメータを用いて、予測サンプルを予測することと、
エラーを決定するために、前記予測サンプルを前記ブロックのソースサンプルと比較することと、
前記エラーがしきい値を下回ると決定することと
を含む、請求項11に記載の方法。
【請求項13】
前記低周波ベース関数が、多項式関数を含み、エラーを決定するために、前記予測されたブロックをソースサンプルと比較することが、前記ブロックの前記ソースサンプルと前記予測サンプルとの間の差について、絶対差分和(SAD)値および2乗差分和(SSD)値のうちの1つまたは複数を計算することを含む、請求項12に記載の方法。
【請求項14】
前記ブロックがより高い品質で符号化されるように前記ブロックについて前記QPを減少させることは、より高いQPについて前記減少がより大きくなるように、および指定された値を下回る前記QPの減少がないように、線形モデルに基づいて前記QPの前記減少を決定することを含む、請求項12または13に記載の方法。
【請求項15】
前記QPの前記減少が、min(0、QPscale*QP+QPoffset)によって決定され、ここで、QPscaleおよびQPoffsetが、パラメータである、請求項14に記載の方法。
【請求項16】
QPの前記減少が、制限値によって制限される、請求項14または15に記載の方法。
【請求項17】
前記QPの前記減少が、max(QPlimit、min(0、QPscale*QP+QPoffset))によって決定され、ここで、QPscale、QPoffsetおよびQPlimitが、パラメータである、請求項14に記載の方法。
【請求項18】
前記画像がイントラコード化ピクチャタイプであると決定することをさらに含み、ここにおいて、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記量子化パラメータ(QP)を減少させることは、前記画像がイントラコード化ピクチャタイプであると決定したことの結果として実施される、請求項11から17のいずれか一項に記載の方法。
【請求項19】
前記画像が、値Mの倍数である画像のシーケンス内のシーケンス番号(たとえば、ピクチャ順序カウント(POC))を有すると決定することをさらに含み、ここにおいて、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記量子化パラメータ(QP)を減少させることは、前記画像が、Mの倍数であるシーケンス番号を有すると決定したことの結果として実施される、請求項11から17のいずれか一項に記載の方法。
【請求項20】
Mが、2、4、8、16、および32のうちの1つである、請求項19に記載の方法。
【請求項21】
画像中のブロックが平滑であると決定することが、粒度のサブブロックレベルにおける情報に基づく、請求項11から20のいずれか一項に記載の方法。
【請求項22】
ノードの処理回路によって実行されたとき、前記ノードに、請求項1から21のいずれか一項に記載の方法を実施させる命令を含む、コンピュータプログラム。
【請求項23】
請求項22に記載のコンピュータプログラムを含んでいるキャリアであって、ここにおいて、前記キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶メディアのうちの1つである、キャリア。
【請求項24】
エンコーダであって、前記エンコーダは、
処理回路と、
メモリとを備え、前記メモリが、前記処理回路によって実行可能な命令を含んでおり、それによって、前記エンコーダが、請求項1から21のいずれか一項に記載の方法を実施するように設定される、エンコーダ。
【請求項25】
デコーダであって、前記デコーダは、
処理回路と、
メモリであって、前記メモリが、前記処理回路によって実行可能な命令を含んでおり、それによって、前記デコーダが、請求項1から10のいずれか一項に記載の方法を実施するように設定される、メモリと
を備える、デコーダ。
【請求項26】
ピクチャ中のサンプルの平滑予測ブロックを作成するように設定されたエンコーダであって、前記エンコーダは、
r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することと、
前記パラメータrと前記ベースの行列Bとに基づいて、ブロックx’を予測することと
を行うようにさらに設定された、エンコーダ。
【請求項27】
前記エンコーダが、請求項2から10のいずれか一項に記載の方法を実施するようにさらに設定された、請求項26に記載のエンコーダ。
【請求項28】
量子化パラメータを調節するように設定されたエンコーダであって、前記エンコーダは、
画像中のブロックが平滑であると決定することと、
前記量子化パラメータ(QP)が圧縮の後の前記ブロックの品質を低減すると決定することと、
前記画像中の前記ブロックが平滑であると決定したことと、前記QPが圧縮の後の前記ブロックの前記品質を低減すると決定したこととの結果として、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記QPを減少させることと
を行うようにさらに設定された、エンコーダ。
【請求項29】
前記エンコーダが、請求項12から21のいずれか一項に記載の方法を実施するようにさらに設定された、請求項28に記載のエンコーダ。
【請求項30】
ピクチャ中のサンプルの平滑予測ブロックを作成するように設定されたデコーダであって、前記デコーダは、
r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することと、
前記パラメータrと前記ベースの行列Bとに基づいて、ブロックx’を予測することと
を行うようにさらに設定された、デコーダ。
【請求項31】
前記デコーダが、請求項2から10のいずれか一項に記載の方法を実施するようにさらに設定された、請求項30に記載のデコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオシーケンスおよび/または静止画像のコーディングおよび復号に関し、より詳細には、平滑表面予測に関する。
【背景技術】
【0002】
ビデオシーケンスは、1つまたは複数の(本明細書では「ピクチャ」とも呼ばれる)画像を含む。スクリーン上で閲覧されるとき、画像はピクセルを有し、各ピクセルは、一般的に、赤、緑および青(RGB)の値を有する。しかしながら、ビデオシーケンスを符号化および復号するとき、画像は、しばしば、RGBを使用して表現されるのではなく、一般的に、限定はしないが、YCbCr、ICTCP、非一定輝度YCbCr、および一定輝度YCbCrを含む別の色空間を使用して表現される。現在最も使用されている表現である、非一定輝度YCbCrの例を取ると、それは3つの成分、すなわち、Y、CbおよびCrからなる。ルーマと呼ばれ、輝度をおおよそ表現するYは、フル解像度のものであるのに対して、クロマと呼ばれる2つの他の成分、すなわち、CbおよびCrは、より小さい解像度のものであることが多い。一般的な例は、1920×1080個のRGBピクセルを含んでいる高解像度(HD)ビデオシーケンスであり、これは、しばしば、1920×1080解像度のY成分、960×540のCb成分、および960×540のCr成分によって表現される。成分中のエレメントは、サンプルと呼ばれる。上記の例では、それゆえ、Y成分中に1920×1080個のサンプルがあり、それゆえに、サンプルとピクセルとの間に直接的な関係がある。それゆえ、本明細書では、ピクセルおよびサンプルという用語は、互換的に使用され得る。Cb成分およびCr成分の場合、サンプルとピクセルとの間に直接的な関係はなく、単一のCbサンプルは、一般的に、数個のピクセルに影響を及ぼす。
【0003】
(本明細書では「VVC」とも呼ばれる)ジョイントビデオエキスパートチーム(JVET)によって開発された多用途ビデオコーディング規格(VVC)では、画像の復号は、2つのステージ、すなわち、予測コーディングおよびループフィルタ処理において実行される。予測復号ステージにおいて、成分(Y、CbおよびCr)のサンプルは、矩形ブロックに分割される。例として、1ブロックは、サイズ4×8のサンプルのものであり得るのに対して、別のブロックは、サイズ64×64のサンプルのものであり得る。デコーダは、たとえば、前に復号された画像からサンプルをコピーするために(時間予測の例)、または現在の画像のすでに復号された部分からサンプルをコピーするために(イントラ予測の例)、またはそれらの組合せのために、各ブロックについて予測をどのように取得するかについての命令を取得する。この予測を改善するために、デコーダは、離散サインまたはコサイン変換(DSTまたはDCT)などの変換コーディングを使用してしばしば符号化された、残差を取得し得る。この残差は、予測に加えられ、デコーダは、次のブロックを復号することに進むことができる。変換は、ビデオコーディングにおけるイントラピクチャおよびインターピクチャ予測からの予測エラーから空間的冗長性を除去するために、広範囲にわたって使用される。変換サイズは、ビデオコーディング規格の進歩とともに増加した。H.264では、最大変換サイズは16×16であり、HEVCでは、最大変換サイズは32×32であり、VVC、すなわち、最新のMPEG/ITUビデオコーディング規格では、最大変換サイズは64×64である。VVCでは、また、2次低周波非分離可能変換(LFNST)が、分離可能DCT/DSTベースの変換の後に適用され得る。VVCのバージョン1を越えたワークでは、変換サイズの増加はコーディング効率のさらなる利得を提供することができることが、示されている。将来の規格は、おそらく、さらにより大きい変換サイズを使用するであろう。
【0004】
予測復号ステージからの出力は、3つの成分Y、Cb、およびCrである。しかしながら、これらの成分の忠実度をさらに改善することが可能であり、これは、ループフィルタ処理ステージにおいて行われる。VVCでのループフィルタ処理ステージは、3つのサブステージ、すなわち、デブロッキングフィルタステージ、サンプル適応オフセット(SAO)フィルタサブステージ、および適応ループフィルタ(ALF)サブステージからなる。デブロッキングフィルタサブステージにおいて、デコーダは、いくらかの条件が満たされたとき、ブロック境界の近くのエッジを平滑化することによって、Y、Cb、およびCrを変更する。これは、人間の視覚系が、ブロック境界に沿ったブロックアーティファクトなど、規則的なエッジを検出することにおいて非常に良好であるので、知覚品質(主観的品質)を増加させる。SAOサブステージにおいて、デコーダは、ある値範囲(帯域オフセットSAO)中にあること、または特定の近傍(エッジオフセットSAO)を有することなど、いくらかの条件を満たすサンプルに、シグナリングされた値を加えるかまたは減じる。これは、リンギングノイズを、そのようなノイズが、しばしば、ある値範囲においてまたは特定の近傍において(たとえば、極大値において)アグリゲートするので、低減することができる。このステージの結果である再構築された画像成分は、YSAO、CbSAO、CrSAOと表される。
【0005】
良好に実施することができるビデオコーディング規格は、小さいビットコストで少量の予測エラーを可能にするための効率的なイントラ予測を含む。その目的で、HEVCおよびVVCでのイントラ予測は、近隣の前にコーディングされたサンプルからのテクスチャを外挿することができる多くのモードを有する。それらは、コード化されるべき現在のブロックのDC、平坦面、およびラインの良好な予測を与えることができる。
【0006】
良好な主観的ビデオ品質のためにビデオコーディングを適応させるために、変換係数の適応量子化パラメータ(QP)が展開される。1つの例示的適応QP方法は、ブロックの変動を導出し、低い変動をもつブロックに低いQPを与え、高い変動をもつブロックにより高いQPを与えることである。これは、多くの詳細をもつブロックの精度よりも良好な、平滑ブロックの精度を可能にする。これは、ビットのより効率的な使用をもたらし、ここで、ビットが最も重要である。
【0007】
Haralicは、彼が画像復元のために使用したペーパーフォーム1981において、画像データのためのファセットモデルを導入した。多項式モデルまたはファセットモデルが、多項式を使用する、サンプルのパラメトリック表現である。1次モデルが、f(x、y)=r0+r1*x+r2*yによって説明され得、ここで、r0~r2は、モデルによるサンプルが定数(r0)、水平傾斜x(r1)および垂直傾斜y(r2)にどのくらい依存するかを制御する係数である。多項式も、画像およびビデオコーディングにおける補間のために使用されている。
【発明の概要】
【0008】
現在のビデオコーディング規格における変換は、予測エラーを圧縮することに優れているが、DCを越えた平滑ソースサンプルに直面したとき、または平滑ソースサンプルの正確な表現を可能にするには粗すぎる変換係数の表現を生成する低品質設定に直面したときなど、単純な信号に直面したとき、現在のビデオコーディング規格における変換は、不要なオーバーヘッドを加える傾向がある。現在の規格におけるイントラ予測は、現在のブロックの外側のサンプルに予測を基づかせ、これは、前のコーディングブロックのコーディングからのコーディングアーティファクトに対して予測を敏感にする。適応量子化パラメータ(QP)方法は、一般的に、概して平滑ブロックを選好するのではなく、一定値(DC)に近いソースサンプルをもつブロックを選好する。
【0009】
実施形態は、現在の規格および将来の規格を改善するために、エンコーダにおいて使用され得る。たとえば、実施形態は、平滑な表面を有するブロックを検出し、(変換係数の量子化のための十分に低い量子化パラメータ(QP)を用いて)それらのブロックについて高品質設定を使用するために使用され得る。実施形態は、平滑ソースサンプル、たとえば、平滑な表面の正確な予測を可能にするために、低多項式モデルなど、ソースサンプルの低周波モデルに基づくイントラ予測を導入するためにも使用され得る。実施形態は、大きいブロックのデブロッキングの一部として使用されてもよく、ここで、低多項式モデルは、再構築されたサンプルに適合される。実施形態は、概して、より大きいQPが平滑な表面からのより高い変動をもつブロックに与えられ、より小さいQPが平滑な表面からのより小さい変動をもつブロックに与えられる、適応QPを用いるエンコーディングのために使用されてもよい。
【0010】
実施形態は、とりわけ、空領域について、および品質設定がより困難になるとき、HDRビデオの視覚的品質を大幅に改善することができる。これは、VVCおよびHEVCの場合、約27を上回るQPに対応する。
【0011】
第1の態様によれば、画像またはビデオエンコーダまたはデコーダにおいてピクチャ中のサンプルの平滑予測ブロックを作成するための方法が、提供される。方法は、r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することを含む。方法は、パラメータrとベースの行列Bとに基づいて、ブロックx’を予測することを含む。
【0012】
いくつかの実施形態では、平滑予測ブロックx’は、x’=Σ[r(i)*b(i)]を備え、ここで、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる。いくつかの実施形態では、平滑予測ブロックx’は、x’=(Σ[r(i)*b(i)]+2N-1)>>Nを備え、ここで、Nが、スケーリングファクタであり、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる。いくつかの実施形態では、Bにおける各基底ベクトルb(i)は、b(i):=b(i)-平均(b(i))のように、それの平均が除去される。いくつかの実施形態では、Bは、3つのベースB={b1、b2、b3}を少なくとも含み、ここで、b1={1、1、1、..、1}、b2={0、1、..M-1、..、0、1、..、M}、およびb3={0、..、0、1、..、1、M-1、..、M-1}であり、ここで、Mが、ブロックの高さに等しい。いくつかの実施形態では、Bは、B={b1、b2、b3、b4、b5、b6}であるように、ベース(b4、b5、b6)をさらに含み、ここで、b4={0、..、0、1、2、..M-1、..、M-1、2*M-1、..、(M-1)*(M-1)}、b5={0、1、4、..、(M-1)*(M-1)、..、0、1、4、..、(M-1)*(M-1)}およびb6={0、..、0、1、..、1、4、..、4、..、(M-1)*(M-1)}である。
【0013】
いくつかの実施形態では、(BB)-1は、事前計算される。いくつかの実施形態では、サンプルのソースxは、(たとえば、水平におよび垂直に1サンプルおきに)サンプルのサブセットを取ることによって決定される。いくつかの実施形態では、Bにおける各基底ベクトルb(i)は、2の倍数であるサンプル位置において取られる。いくつかの実施形態では、ブロックの高さ(M)は、画像またはビデオエンコーダ/デコーダにおいて使用される最大変換サイズに等しい。
【0014】
第2の態様によれば、量子化パラメータを調節するための方法が提供される。方法は、画像中のブロックが平滑であると決定することを含む。方法は、量子化パラメータ(QP)が圧縮の後のブロックの品質を低減すると決定することを含む。方法は、画像中のブロックが平滑であると決定したことと、QPが圧縮の後のブロックの品質を低減すると決定したこととの結果として、ブロックがより高い品質で符号化されるように、ブロックについてQPを減少させることを含む。
【0015】
いくつかの実施形態では、画像中のブロックが平滑であると決定することは、低周波ベース関数に基づいて、モデルのためのパラメータを決定することと、決定されたパラメータを用いて、予測サンプルを予測することと、エラーを決定するために、予測サンプルをブロックのソースサンプルと比較することと、エラーがしきい値を下回ると決定することとを備える。いくつかの実施形態では、低周波ベース関数は、多項式関数を含み、ここにおいて、エラーを決定するために、予測されたブロックをソースサンプルと比較することが、ブロックのソースサンプルと予測サンプルとの間の差について、絶対差分和(SAD)値および2乗差分和(SSD)値のうちの1つまたは複数を計算することを備える。いくつかの実施形態では、ブロックがより高い品質で符号化されるようにブロックについてQPを減少させることは、より高いQPについて減少がより大きくなるように、および指定された値を下回るQPの減少がないように、線形モデルに基づいてQPの減少を決定することを備える。
【0016】
いくつかの実施形態では、QPの減少は、min(0、QPscale*QP+QPoffset)によって決定され、ここで、QPscaleおよびQPoffsetが、パラメータである。いくつかの実施形態では、QPの減少は、制限値によって制限される。いくつかの実施形態では、QPの減少が、max(QPlimit、min(0、QPscale*QP+QPoffset))によって決定され、ここで、QPscale、QPoffsetおよびQPlimitが、パラメータである。いくつかの実施形態では、方法は、画像がイントラコード化ピクチャタイプであると決定することをさらに含み、ここにおいて、ブロックがより高い品質で符号化されるように、ブロックについて量子化パラメータ(QP)を減少させることは、画像がイントラコード化ピクチャタイプであると決定したことの結果として実施される。いくつかの実施形態では、方法は、画像が、値Mの倍数である画像のシーケンス内のシーケンス番号(たとえば、ピクチャ順序カウント(POC))を有すると決定することをさらに含み、ここにおいて、ブロックがより高い品質で符号化されるように、ブロックについて量子化パラメータ(QP)を減少させることは、画像が、Mの倍数であるシーケンス番号を有すると決定したことの結果として実施される。いくつかの実施形態では、Mは、2、4、8、16、および32のうちの1つである。いくつかの実施形態では、画像中のブロックが平滑であると決定することは、粒度のサブブロックレベルにおける情報に基づく。
【0017】
第3の態様によれば、ノードの処理回路によって実行されたとき、ノードが、第1および第2の態様の実施形態のいずれか1つに記載の方法を実施することを引き起こす命令を備える、コンピュータプログラムが提供される。
【0018】
第4の態様によれば、第3の態様のコンピュータプログラムを含んでいるキャリアが提供される。キャリアは、電子信号、光信号、無線信号、およびコンピュータ可読記憶メディアのうち1つである。
【0019】
第5の態様によれば、エンコーダが提供される。エンコーダは、処理回路を含む。エンコーダはメモリを含み、メモリは処理回路によって実行可能な命令を含んでいる。命令が実行されたとき、エンコーダは、第1および第2の態様の実施形態のいずれか1つに記載の方法を実施するように設定される。
【0020】
第6の態様によれば、デコーダが提供される。デコーダは、処理回路を含む。デコーダはメモリを含み、メモリは処理回路によって実行可能な命令を含んでいる。命令が実行されたとき、デコーダは、第1の態様の実施形態のいずれか1つに記載の方法を実施するように設定される。
【0021】
第7の態様によれば、ピクチャ中のサンプルの平滑予測ブロックを作成するように設定されたエンコーダが提供される。エンコーダは、r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定するように設定される。エンコーダは、パラメータrとベースの行列Bとに基づいて、ブロックx’を予測するように設定される。
【0022】
第8の態様によれば、量子化パラメータを調節するように設定されたエンコーダが提供される。エンコーダは、画像中のブロックが平滑であると決定するように設定される。エンコーダは、量子化パラメータ(QP)が圧縮の後のブロックの品質を低減すると決定するように設定される。エンコーダは、画像中のブロックが平滑であると決定したことと、QPが圧縮の後のブロックの品質を低減すると決定したこととの結果として、ブロックがより高い品質で符号化されるように、ブロックについてQPを減少させるように設定される。
【0023】
第9の態様によれば、ピクチャ中のサンプルの平滑予測ブロックを作成するように設定されたデコーダが提供される。デコーダは、r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定するように設定される。デコーダは、パラメータrとベースの行列Bとに基づいて、ブロックx’を予測するように設定される。
【0024】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、様々な実施形態を図示する。
【図面の簡単な説明】
【0025】
図1】実施形態による、エンコーダの例示的なアーキテクチャである。
図2】実施形態による、デコーダの例示的なアーキテクチャである。
図3】AおよびBは、画像ブロックの例示的線図である。
図4】AおよびBは、画像ブロックの例示的線図である。
図5】実施形態によるフローチャートである。
図6】実施形態によるフローチャートである。
図7】実施形態によるフローチャートである。
図8】実施形態によるフローチャートである。
図9】実施形態による、エンコーダのブロック図である。
【発明を実施するための形態】
【0026】
いくつかの実施形態の一態様は、符号化するのに非常に単純であると決定されたブロックについての量子化パラメータ(QP)の適応を提供することである。適応は、ブロックQPが、より小さいピクチャQPについてよりも、より大きいピクチャQPについて一層低減されるような、ピクチャQPに基づく線形モデルに従って実施され得る。いくつかの実施形態の別の態様は、平滑ソースサンプルの表現を可能にするための低次多項式モデルを決定することである。モデルは、ブロックが符号化するのに単純であるかどうかを決定するために、ビデオ符号化の一部として使用されるか、または代替イントラ予測方法として使用され得る。いくつかの実施形態の別の態様は、画像またはビデオコーディングにおけるループフィルタ処理(デブロッキング)の一部として、再構築されたサンプルの平滑な表現を可能にするための低次多項式モデルを決定することである。
【0027】
実施形態は、画像およびビデオコーディングに適用可能である。実施形態は、エンコーダ(またはエンコーダの一部)のみに組み込まれ得、現在のコーデック規格または将来のコーデック規格を使用し得る。実施形態は、エンコーダとデコーダの両方(またはそれらの一部)に組み込まれてもよく、来るべきコーデック規格を使用し得る。例示的エンコーダが、図1に示されており、例示的デコーダが、図2に示されている。他のインループツールが、デブロッキングの前または後に実施され得るが、他のインループフィルタは、図1および図2に含まれていない。
【0028】
実施形態1
ブロックのサンプルに基づいて、ブロックの平滑な表現が、多項式モデル、すなわち、平滑表面予測によって取得され得る。図3Aおよび図3Bは、ブロックの例を示し、図3A中で、画像は4つのブロックに分割されており、図3B中で、画像は16個のブロックに分割されている。続いて、次数1の(換言すれば、ベース1、xおよびyを有する)多項式モデルがどのように導出され得るかの例を説明する。x、yおよびxyなど、追加の基底関数が使用されてもよい。ベース関数は、1(一定値)に等しいb1、x(水平方向における傾斜)に等しいb2、およびy(垂直方向における傾斜)に等しいb3である。例示を簡単にするために、ここでの例は、ベクトル形態の2×2のブロックサイズを使用し、ここで、ベクトルの第1の2つのサンプルは、ブロックの第1の行に対応し、第2の2つのサンプルは、ブロックの第2の行に対応する。また、ベース関数の大きさを低減するために、平均値を除去する。したがって、ベースは、
b1’={1、1、1、1}、b2’={1、2、1、2}、b3’={1、1、2、2}
b1=b1’、b2=b2’-平均(b2’)、b3=b3’-平均(b3’)
によって与えられる。
【0029】
次いで、ベース関数は、(列としてベース関数をもつ)行列Bに入れられ得、それにより、B={b1、b2、b3}である。
【0030】
次いで、モデルのパラメータは、
r=(BB)-1*(B*x)
として決定され得、ここで、xは、ベクトル形態のブロックのソースサンプルである。
【0031】
次いで、決定されたパラメータおよびベース関数に基づく予測ブロックx’が、
x’=r(0)+r(1)*b2+r(2)*b3
として導出され得る。
【0032】
(BB)-1は、ベース関数によって決定され、ソースサンプルによって決定されないので、(BB)-1は、あらかじめ計算され得る。あらかじめ計算された逆行列を用いると、b1、b2、およびb3よりも多くのベース関数が使用される場合でも、モデルパラメータを決定するのは簡単である。概して、より多くのベース関数が、より高次の多項式をモデル化するために使用され得る。ベース関数からの(たとえば、上記で示されたようなb2およびb3からの)平均除去は、BBのインバースの後の極めて小さい数を回避するのを助けることができ、これは、とりわけ、より大きいブロックサイズの場合により効率的であり得る。ベース関数のこの例の場合の平均除去は、直交ベース関数をも与え、これは、(BB)-1の対角線における非ゼロエレメントのみを生じる。これは、一般的に、より高次の多項式の場合には当てはまらない。
【0033】
(BB)-1のサイズは、使用されるベース関数の数に依存する。寸法は、nBase×nBaseであり、ここで、nBaseは、ベース関数の数である。
【0034】
実施形態2
異なる手法が、実施形態1の複雑さを低減するために使用され得る。
【0035】
複雑さを低減するための1つの手法は、モデルが決定されるサンプルの数を低減することである。追加として、モデルがテストされるサンプルの数が、低減され得る。サンプルの数の低減は、スパースサンプリンググリッドを有することによって実施され得る。たとえば、水平方向に1サンプルおきに決定およびテストし、垂直方向に1サンプルおきに決定およびテストすることによって、複雑さは、4倍低減され得る。他のスパースサンプリング技法も、使用され得る。
【0036】
ベース関数は、乗算ではなくシフトの使用を可能にするために、2の倍数であるサンプル位置においても取られ得る。すなわち、1(2)、2(2)、4(2)、8(2)、16(2)、および32(2)は、それぞれ、(1<<0)(1<<1)、(1<<2)、(1<<3)、(1<<4)、(1<<5)などに対応し、ここで、<<は、左シフト演算を表す。
【0037】
複雑さは、
x’=(r(0)+r(1)*b2+r(2)*b3+2N-1)>>N
など、固定小数点演算において予測を実施することによっても低減され得、ここで、Nは、スケーリングファクタである。
【0038】
実施形態3(イントラ予測)
実施形態1~2における手法は、ブロックの予測のためのビデオまたは画像コーディングにおける平滑イントラ予測モードとして使用され得る。たとえば、図4Aは、イントラ予測されるべきブロックを示し、図4Bは、水平ブロック境界の上の、および垂直ブロック境界の左の参照サンプルとともにイントラ予測されるべきブロックを示す。ブロックのための入力サンプルは、この場合、コーディングの前のソースサンプルであり得る。ブロックの予測とブロックの外側の前に再構築されたサンプル(たとえば、示されている参照サンプル)とのより良い整合を得るために、入力サンプルは、再構築されたサンプルをも含むことができる。これらの参照サンプルは、図4Bに示されているように、ブロックの上のサンプルの行と、ブロックの左のサンプルの列とを含み得る。一例は、現在のブロックの上の4つの列と、現在のブロックの左の4つの行を有することであるが、異なる参照サンプルが選択されてもよい。
【0039】
エンコーダ側で、モデルパラメータは、量子化およびエントロピーコーディングされ得る。エンコーダは、デコーダ側でモードを有効化/無効化するフラグをもシグナリングし得る。すなわち、フラグは、実施形態1~2における手法が平滑イントラ予測モードとして使用されているかどうかについてデコーダに通知することができる。イネーブルフラグがデコーダ側において受信されたとき、デコーダは、モデルパラメータの逆エントロピーコーディングおよび逆量子化を行い、次いで、それらに基づいて予測ブロックを導出し得る。
【0040】
量子化の一部として維持すべき当該の一般的な値は、1の大きさを下回る傾斜パラメータ(xおよびy)のためのものである。2次ベース関数のためのパラメータは、一般的に、0.1の大きさを下回る。10ビットビデオの場合、DCパラメータは、0から1023の範囲、たとえば、10個のビットを有することができ、1次パラメータは、1024を伴う浮動小数点値の乗算の後の11個のビットを用いて表現され得、したがって、範囲は、-1024から1024まで、たとえば、11個のビットであり、(使用される場合)2次パラメータは、2048の乗算の後の12個のビットを用いて表現され得、したがって、範囲は、-2048~+2048である。より高次のパラメータが、同様に表現され得る。
【0041】
パラメータの圧縮のためのオーバーヘッドを低減するために、現在のブロックのパラメータは、近隣のサンプル、たとえば、(図4Bに示されている参照サンプルなど)現在のブロックのすぐ上の、および現在のブロックの左のサンプルに基づいて予測され得る。
【0042】
たとえば、DCパラメータの予測は、現在のブロックのすぐ上の、および現在のブロックの左のサンプルの平均から導出され得る。xまたはxベース関数のためのパラメータの予測が、現在のブロックのすぐ上のサンプルに基づいて推定され得る。yまたはyベース関数のためのパラメータの予測が、現在のブロックのすぐの左のサンプルに基づいて推定され得る。この場合、xyベース関数のためのパラメータは、予測されない。上の数個の行および左の数個の列が、参照サンプルとして利用可能である場合、すべてのパラメータの予測は、それらの行および列からのサンプルに基づき得る。
【0043】
いくつかの実施形態では、パラメータは、直接的に符号化される。いくつかの実施形態では、パラメータのデルタ値のみが、符号化される必要があり、ここで、デルタは、現在のブロックのパラメータの予測に基づいて決定される。この場合、たとえば、DCパラメータは、符号を含む10ビット、すなわち、-512~512の間の範囲で符号化され得る。1次パラメータは、符号を含む10ビット、すなわち、-512~512の間の範囲を用いて表現され得る。2次パラメータは、符号を含む10ビット、すなわち、-512~512の間の範囲を用いて表現され得る。符号化されるべき量子化値は、以下、すなわち、
rQ[n]=int(S[n]*(r[n]-rPred[n])+0.5)、
rQ[3]=int(S[3]*r[3])+0.5)、
のように決定され得、ここで、rQ[3]は、ただ1つの上の行または1つの左の列が利用可能である場合、別々に計算され、さもなければ、rQ[3]は、上記の一般的rQ[n]式の場合のように計算され得る。ここでの式において、0<=n<nBasesであり(ここで、ここではnBases=6であり)、S[n]は、量子化のために使用されるスケールファクタ、たとえばS[0]=1、S[1]=S[2]=S[4]=S[5]=512、S[3]=2048である。
【0044】
次いで、量子化パラメータを符号化(たとえば、エントロピー符号化)した後に、デコーダは、以下、すなわち、
r’[n]=rPred[n]+(rQ[n]+S[n]/2)/S[n]
またはたとえば、S[n]=2の場合は1など、log2が事前計算され得る、シフト表記法を用いて、
r’[n]=rPred[n]+(rQ[n]+1<<log2(S[n]))>>log2(S[n])
r’[0]=rPred[0]+rQ[0]
r’[3]=(rQ[3]+S[3]/2)/S[3]
のように逆量子化パラメータを導出することができる。
この場合、r’[0]は、別々に計算される。また、r’[3]は、ただ1つの上の行または1つの左の列が利用可能である場合、別々に計算され、さもなければ、r’[3]は、上記の一般的r’[n]式の場合のように計算され得る。
【0045】
デコーダにおいて取得された量子化パラメータに基づいて、予測ブロックが、以下、すなわち、
For x=0 to W
For y=0 to H
X’(x、y)=r’[0]+r’[1]*(x-m[1])+r’[2]*(y-m[2])+r’[3]*(x*y-m[3])+r’[4]*(x*x-m[4])+r’[5]*(y*y-m[5]);
End
Endここで、m[1]は、すべてのxの平均値であり、m[2]は、すべてのyの平均であり、m[3]は、すべてのx*yの平均であり、m[4]は、すべてのx*xの平均であり、m[5]は、すべてのy*yの平均である、
のように、予測されたブロックを導出するために、ブロックの内側のそれぞれの位置においてモデルパラメータをそれぞれのベース関数で乗算することによって導出され得る。
【0046】
予測ブロックの上記の決定において、浮動小数点計算が使用される。いくつかの実施形態では、計算は、すべての非DCパラメータについて一定のスケールファクタFを仮定して、以下、すなわち、
For x=0 to W
For y=0 to H
X’(x、y)=r’[0]+(F*r’[1]*(x-m[1])+F*r’[2]*(y-m[2])+F*r’[3]*(x*y-m[3])+F*r’[4]*(x*x-m[4])+F*r’[5]*(y*y-m[5])+F>>1)>>log(F);
EndEndのように固定小数点で行われ得る。
【0047】
再構築されるブロックのモデルパラメータの代替予測を得るために、ブロックの上の行およびブロックの左の列からのサンプルが、(たとえば、図4Bに示されているように)使用され得る。一例は、現在のブロックの上の4つの列および現在のブロックの左の4つの行を有することである。
【0048】
隣接するブロックが、多項式モデルによってイントラ予測されたとき、現在のブロックのモデルパラメータは、隣接するブロックから予測され得る。隣接するブロックは、現在のブロックの左の、または現在のブロックの上のブロックであり得る。隣接するモデルについてのDCパラメータは、好ましくは、それが予測のために使用される前の現在のブロックにおいてセンタリングされる。たとえば、近隣のブロックが、現在のブロックの左にあり、サイズ64×64を有し、現在のブロックが、サイズ64×64を有する場合、近隣のブロック(rNb[0])のDCパラメータ(一定ベース関数)は、以下、すなわち、
rNb’[0]=rNb[0]+rNb[1]*64+rNb[2]*0+rNb[3]*64*0+rNb[4]*64*64+rNb[5]*0*0
のように、2次モデルのためのそれのxベース(rNb[1])、yベース(rNb[2])、xyベース(rNb[3])、xベース(rNb[4])、およびyベース(rNb[5])関数に従って更新される必要がある。
わかるように、xおよびxにおけるベース関数のみが、水平方向に移動を生じさせる。いくつかの実施形態では、より高次の係数(たとえば、xおよびy)からの更新を使用することを省略することもできる。
【0049】
近隣のブロックが、上にあり、同じブロックサイズについてxにおいて整合された場合、それの使用の前のDCの更新が、以下、すなわち、
rNb’[0]=rNb[0]+rNb[1]*0+rNb[2]*64+rNb[3]*0*64+rNb[4]*0*0+rNb[5]*64*64
のように与えられ得る。
【0050】
近隣のブロックからの非DCパラメータは、直接的に使用され得る。
【0051】
代替の動作モードは、エンコーダが、モデルの使用を指し示すのみのためのものであり、次いで、デコーダが、ブロックの外側の近隣の再構築されたサンプルに基づいて、デコーダ側のモデルパラメータを導出するためのものである。この場合、モデルパラメータは、シグナリングされる必要がない。
【0052】
実施形態4(QPのエンコーダ制御)
ソースサンプルが、好ましくは、ノイズ除去された、ブロックのソースサンプルに基づいて、実施形態は、ソースサンプルを符号化することがどのくらい容易であるかを決定し得る。容易さは、低周波ベース関数がブロックのサンプルをどのくらいうまく予測することができるかによって決定され得る。低周波ベース関数の1つの例は、低次多項式(たとえば、1次または2次多項式)である。予測サンプルがソースサンプルとどのくらいうまく一致するかは、エラーメトリック、たとえば、絶対差分和(SAD)または2乗差分和(SSD)によって決定され得る。エラーメトリックによるエラーが、あらかじめ規定されたしきい値を下回る場合、ブロックは、符号化しやすいと見なされる。符号化しやすいと決定されたブロックは、他のブロックよりも良好な品質で符号化される。より良い品質は、それらのブロックについてより細かい量子化、たとえば、より低いQPを使用することによって達成され得る。好ましくは、ブロックサイズは、最大変換サイズまたは最大CUサイズの辺りであるべきであり、たとえば、VVCにおける64×64/128×128またはHEVCにおける32×32/64×64を意味する。他のサイズも可能である。VVCおよびHEVCにおいて、方法は、好ましくは、27を上回るQPについて使用され得る。
【0053】
たとえば、プロセスは、大きいブロックが平滑であるかどうかを決定し得、そうである場合、高品質をもってブロックを符号化し得る。大きいブロックが平滑であるかどうかを決定することは、以下のように進み得る。(たとえば、時間的にフィルタ処理された)大きいブロックのサンプルの場合、大きいブロックのサンプルと多項式モデルに基づく予測サンプルとの間の差に基づいて、多項式モデルのパラメータが決定され得、エラー(たとえば、SADまたはSSD値)が計算され得る。エラーが、しきい値よりも小さい場合、大きいブロックは、平滑であると決定される。高品質をもってブロックを符号化することは、以下のように進み得る。デルタQP値が、参照QP値と線形モデルのパラメータとに基づいて計算され得、参照QPは、デルタQP値を加えることによって修正され得る。次いで、修正された参照QPは、ブロックを符号化するために使用され得る。実施形態では、このプロセスは、ピクチャが、最初に、イントラコード化ピクチャであると決定された場合のみ、および/またはピクチャのシーケンス内のM(たとえば、M=2、4、8、...)の倍数であるピクチャの場合のみ、進み得る。
【0054】
エラー(SADまたはSSD)は、以下、すなわち、
err=Σ abs(x-x’)[SAD]
err=Σ(x-x’)[SSD]
のように、ソースと予測サンプルとの間の差として計算され得、ここで、和は、各々、ブロック中のサンプルにわたる。
【0055】
エラー(err)が、しきい値よりも小さい場合、QPは、ブロックについて低減される。いくつかの実施形態では、初期QPは、QPしきい値を上回らなければならず(たとえば、27よりも大きくなければならず)、したがって、QPを低減することは、画質に影響を及ぼす可能性がある。エラー(err)のためのしきい値は、ファクタで乗算されたブロック中のサンプルの総数として規定され得る。1つの例示的なファクタは、3、たとえば、(10ビットビデオの場合)サンプルごとに3の平均ひずみである。
【0056】
QP低減の適用は、好ましくは、QPが線形モデルに従って低減されるように、現在のピクチャのためのQPに依存することができる。1つの例は、min(0、(offset+scale*QP))によって決定されたQP修正を使用することであり、ここで、オフセットおよびスケールは、線形モデルのパラメータであり、たとえば、オフセットは27であり、スケールは-1である。この場合、たとえば、QPは、QPが43であるとき、16だけ低減される。スケールパラメータのより小さい大きさを使用することによって、あまりアグレッシブでないQP変化がもたらされ得る。より高いオフセットパラメータを使用することによって、QP変化は、より大きいQPについて作用する。
【0057】
QP低減の適用は、コーディングされるピクチャのタイプにも依存し得る。たとえば、QP低減は、それがイントラコード化ピクチャである場合のみ、またはそれがインターコード化ピクチャである場合のみ適用され得るか、あるいはこれの組合せである。いくつかの実施形態では、QP低減は、ある間隔、たとえば、あらゆる2番目の、4番目の、8番目の、16番目の、または32番目のフレームなどにおいてのみ適用され得る。
【0058】
実施形態5(デブロッキング)
実施形態は、デブロッキングにも適用可能である。多項式モデルのためのモデルパラメータは、大きいコーディングブロックの再構築されたサンプルに基づいて決定され得る。大きいコーディングブロックは、一般的に、最大変換サイズと同じサイズのものである。大きいコーディングブロックサイズの例は、64×64、128×128または256×256である。大きいコーディングブロックはまた、一般的に、変換ブロックである。大きいブロックのためのモデルパラメータは、その場合、予測されたブロックを導出するために適用され得、予測されたブロックは、エラーメトリックに従ってひずみまたはエラーを生成するために、再構築されたサンプルと比較され得る。メトリックの例は、SADまたはSSDである。ひずみが、しきい値を下回る場合、コーディングブロックは、平滑と見なされ、ブロックアーティファクトを導入するというリスクを有する。リスクは、隣接するブロックも大きいコーディングブロックである場合、増加する。リスクは、大きいブロックが非ゼロ変換係数を有する場合、著しく増加される。ブロックアーティファクトのリスクおよび可視性も、QPしきい値(たとえば、HEVC/VVCでは27)よりも大きいQPを伴うブロックの場合、QPとともに増加する。
【0059】
現在のブロックおよび上の近隣のブロックおよび左の近隣のブロックが平滑であると決定された場合、ブロックのサンプルは、デブロッキングを実施するために修正され得る。修正は、多項式モデルに基づき得る。いくつかの実施形態では、サンプルの修正は、現在のブロックのサンプルに対してのみ実施され得る。修正はまた、垂直境界が水平境界の前にデブロックされる、最先端のデブロッキングと同様に、2つのパスに分離され得る。ブロックのサンプルの修正はまた、現在使用されているよりも長いタップデブロッキングが導入されるような、最先端のデブロッキングに基づき得る。たとえば、大きいブロックのブロック境界の両側のブロックの幅または高さの最高1/2を修正することができるより長いタップフィルタが、使用され得る。
【0060】
修正はまた、垂直ブロック境界が水平ブロック境界の前に処理されるような、最先端のデブロッキングと同様に、2つのパスに分離され得る。現在のブロックおよび上の近隣のブロックが平滑であると決定された場合、ブロックの上側のサンプルが、多項式モデルに基づいて修正され得る。修正の目的は、上側のサンプルを上のブロックのサンプルと整合させることである。同様に、現在のブロックおよび左の近隣のブロックが平滑であると決定された場合、ブロックの左側のサンプルが、多項式モデルに基づいて修正され得る。修正の目的は、左側のサンプルを左のブロックのサンプルと整合させることである。サンプルの修正は、ブロック境界の両側において実施されてもよい。
【0061】
現在のブロックのサンプルを修正するために使用される多項式モデルは、好ましくは、ある程度、近隣のブロックのモデルパラメータまたはサンプルに基づく。ブロックの上側のサンプルの場合、モデルパラメータは、好ましくは、上のブロックからのモデルパラメータまたはサンプルに基づく。ブロックの左側のサンプルの場合、モデルパラメータは、好ましくは、左のブロックからのモデルパラメータまたはサンプルに基づく。サンプルが、単一のステップにおいてフィルタ処理される場合、モデルパラメータまたはサンプルは、好ましくは、上のブロックと左のブロックの両方に基づく。加えて、モデルパラメータは、現在のブロックのモデルパラメータまたはサンプルにも基づき得る。
【0062】
2つ以上のブロックからのモデルパラメータが使用されるとき、モデルパラメータは、加重平均によって組み合わせられる。近隣のブロックのDCパラメータは、好ましくは、組み合わせられる前に現在のブロック上でセンタリングされるように調節される。1つの例示的な重み付けは、平均化することであるが、より多くの重みが、近隣のブロックまたは現在のブロックに割り振られてもよい。
【0063】
モデルの予測サンプルは、ブロックのデブロッキングの一部としてブロックのサンプルを置き換えることができるか、またはブロックのサンプルに加えられ得るかのいずれかである。
【0064】
修正の量は、QPに応じて低減されてもよい。たとえば、その手法は、(たとえば、QPしきい値を上回る)より高いQPの場合にのみ採用され得る。修正の量は、ブロック境界からの距離に伴って変動することもある。
【0065】
図5は、実施形態によるフローチャートを図示する。プロセス500は、画像またはビデオエンコーダまたはデコーダにおいてピクチャ中のサンプルの平滑予測ブロックを作成するための方法である。方法は、ステップs502から始まり得る。
【0066】
ステップs502は、r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することを備える。
【0067】
ステップs504は、パラメータrとベースの行列Bとに基づいて、ブロックx’を予測することを備える。
【0068】
いくつかの実施形態では、平滑予測ブロックx’は、x’=Σ[r(i)*b(i)]を備え、ここで、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる。いくつかの実施形態では、平滑予測ブロックx’は、x’=(Σ[r(i)*b(i)]+2N-1)>>Nを備え、ここで、Nが、スケーリングファクタであり、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる。いくつかの実施形態では、Bにおける各基底ベクトルb(i)は、b(i):=b(i)-平均(b(i))のように、それの平均が除去される。いくつかの実施形態では、Bは、3つのベースB={b1、b2、b3}を少なくとも含み、ここで、b1={1、1、1、..、1}(一定値)、b2={0、1、..M-1、..、0、1、..、M}(xにおける傾斜)、およびb3={0、..、0、1、..、1、M-1、..、M-1}(yにおける傾斜)であり、ここで、Mが、ブロックの高さに等しい。いくつかの実施形態では、Bは、B={b1、b2、b3、b4、b5、b6}であるように、ベース(b4、b5、b6)をさらに含み、ここで、b4={0、..、0、1、2、..M-1、..、M-1、2*M-1、..、(M-1)*(M-1)}(x*y)、b5={0、1、4、..、(M-1)*(M-1)、..、0、1、4、..、(M-1)*(M-1)}(x*x)およびb6={0、..、0、1、..、1、4、..、4、..、(M-1)*(M-1)}(x*y)である。いくつかの実施形態では、(BB)-1は、事前計算される。
【0069】
いくつかの実施形態では、サンプルのソースxは、(たとえば、水平におよび垂直に1サンプルおきに)サンプルのサブセットを取ることによって決定される。いくつかの実施形態では、Bにおける各基底ベクトルb(i)は、2の倍数であるサンプル位置において取られる。いくつかの実施形態では、ブロックの高さ(M)は、画像またはビデオエンコーダ/デコーダにおいて使用される最大変換サイズに等しい。
【0070】
プロセス500は、画像を符号化するための方法においても使用され得る。この場合、方法は、ステップs506、s508、およびs510をさらに含み得る。画像中のサンプルは、前の実施形態のうちのいずれかに従って予測される。
【0071】
ステップs506は、パラメータrを量子化パラメータqrに量子化することを備える。
【0072】
ステップs508は、多項式イントラコーディングモードが使用されていることを指し示す信号を符号化することを備える。
【0073】
ステップs510は、量子化パラメータqrを符号化することを備える。
【0074】
いくつかの実施形態では、サンプルのソースxは、ブロックx’のすぐ上のおよび/またはブロックx’の左のサンプルを備える。いくつかの実施形態では、量子化パラメータqrを符号化することは、ブロックx’のすぐ上のおよび/またはブロックx’の左のサンプルに基づいて、パラメータrPredを予測することと、量子化パラメータqr(i)と予測されたパラメータrPred(i)との間の差に基づいて、qrの各成分iについてデルタ値を決定することと、デルタ値を符号化することとを備える。
【0075】
図6は、実施形態によるフローチャートを図示する。プロセス600は、画像を符号化するための方法である。方法は、ステップs602から始まり得る。
【0076】
ステップs602は、隣接するブロックのモデルパラメータに基づいて、多項式モデルのパラメータrを決定することを備える。
【0077】
ステップs604は、パラメータrを量子化パラメータqrに量子化することを備える。
【0078】
ステップs606は、多項式イントラコーディングモードが使用されていることを指し示す信号を符号化することを備える。
【0079】
ステップs608は、随意に、量子化パラメータqrを符号化することを備える。
【0080】
図7は、実施形態によるフローチャートを図示する。プロセス700は、画像を復号するための方法である。方法は、ステップs702から始まり得る。
【0081】
ステップs702は、多項式イントラコーディングモードが使用されていることを指し示す信号を復号することを備える。
【0082】
ステップs702に続いて、ステップs704およびステップs706が実施され得るか、またはステップs704bが実施され得るかのいずれかである。
【0083】
ステップs704は、信号に応答して、量子化パラメータqrを復号することを備え、ステップs706は、量子化パラメータqrを非量子化パラメータr’に逆量子化することを備える。
【0084】
ステップs704bは、信号に応答して、隣接するブロックのモデルパラメータに基づいて、多項式モデルのパラメータr’を決定することを備える。
【0085】
ステップs706またはステップs704bのいずれかに続いて、ステップs708が実施され得る。
【0086】
ステップs708は、非量子化パラメータr’とベースの行列Bとに基づいて、予測ブロックx’を導出することを備える。
【0087】
図8は、実施形態によるフローチャートを図示する。プロセス800は、量子化パラメータを調節するための方法、および/またはデブロッキングのための方法である。方法は、ステップs802から始まり、ステップs804およびs806に、またはステップs808のいずれかに進み得る。
【0088】
ステップs802は、画像中のブロックが平滑であると決定することを備える。
【0089】
ステップs804は、量子化パラメータ(QP)が圧縮の後のブロックの品質を低減すると決定することを備える。
【0090】
ステップs806は、画像中のブロックが平滑であると決定したことと、QPが圧縮の後のブロックの品質を低減すると決定したこととの結果として、ブロックがより高い品質で符号化されるように、ブロックについてQPを減少させることを備える。
【0091】
ステップs808は、画像中のブロックが平滑であると決定したことの結果として、ブロック中のサンプルを修正することを備える。
【0092】
いくつかの実施形態では、画像中のブロックが平滑であると決定することは、低周波ベース関数に基づいて、モデルのためのパラメータを決定することと、決定されたパラメータを用いて、予測サンプルを予測することと、エラーを決定するために、予測サンプルをブロックのソースサンプルと比較することと、エラーがしきい値を下回ると決定することとを備える。いくつかの実施形態では、低周波ベース関数は、多項式関数を含み、ここにおいて、エラーを決定するために、予測されたブロックをソースサンプルと比較することが、ブロックのソースサンプルと予測サンプルとの間の差について、絶対差分和(SAD)値および2乗差分和(SSD)値のうちの1つまたは複数を計算することを備える。
【0093】
いくつかの実施形態では、ブロックがより高い品質で符号化されるようにブロックについてQPを減少させることは、より高いQPについて減少がより大きくなるように、および指定された値を下回るQPの減少がないように、線形モデルに基づいてQPの減少を決定することを備える。いくつかの実施形態では、QPの減少は、min(0、QPscale*QP+QPoffset)によって決定され、ここで、QPscaleおよびQPoffsetが、パラメータである。いくつかの実施形態では、QPの減少は、制限値によって制限される。いくつかの実施形態では、QPの減少が、max(QPlimit、min(0、QPscale*QP+QPoffset))によって決定され、ここで、QPscale、QPoffsetおよびQPlimitが、パラメータである。
【0094】
いくつかの実施形態では、方法は、画像がイントラコード化ピクチャタイプであると決定することをさらに含み、ここにおいて、ブロックがより高い品質で符号化されるように、ブロックについて量子化パラメータ(QP)を減少させることは、画像がイントラコード化ピクチャタイプであると決定したことの結果として実施される。いくつかの実施形態では、方法は、画像が、値Mの倍数である画像のシーケンス内のシーケンス番号(たとえば、ピクチャ順序カウント(POC))を有すると決定することをさらに含み、ここにおいて、ブロックがより高い品質で符号化されるように、ブロックについて量子化パラメータ(QP)を減少させることは、画像が、M(たとえば、2、4、8、16、32)の倍数であるシーケンス番号を有すると決定したことの結果として実施される。
【0095】
いくつかの実施形態では、画像中のブロックが平滑であると決定することは、粒度のサブブロックレベルにおける情報に基づく。たとえば、ブロックサイズ(たとえば、CTUサイズまたはCTU幅/2およびCTU高さ/2)が、256×256である場合、平滑度は、256×256ブロックの64×64個または128×128個のサブブロックに対して決定され得る。ブロックサイズ(たとえば、CTUサイズまたはCTU幅/2およびCTU高さ/2)が、128×128である場合、平滑度は、128×128ブロックの64×64個のサブブロックに対して決定され得る。ブロックサイズが、64×64(たとえば、CTUサイズ)である場合、平滑度は、64×64ブロックの32×32個のサブブロックに対して決定され得る。
【0096】
いくつかの実施形態では、ブロック中のサンプルを修正することは、多項式モデルに基づく。
【0097】
ここに、VVC(VTM-12.0)の場合の参照コーダの上に実装されるQP制御の1つの例を示す。
【0098】
例示的なパラメータは、m_pcEncCfg->getSmoothQPReductionLimit()=-16、m_pcEncCfg->getSmoothQPReductionModelScale()=-1.0、m_pcEncCfg->getSmoothQPReductionModelOffset()=27である。baseQPが、他の手段によってピクチャまたはブロックについて決定されたQPである場合、それは、適応QPからのものであるか、またはピクチャのための固定されたQPであるにすぎないことがある。次いで、baseQPは、QPchangeによって修正される。QPの減少は、この例では、CTUサイズ(128×128)に対して、またはサイズ64×64に対して実施され得る。
【0099】
図9は、いくつかの実施形態による、ノード900(たとえば、エンコーダまたはデコーダ)のブロック図である。図9に示されているように、ノード900は、1つまたは複数のプロセッサ(P)955(たとえば、1つまたは複数の汎用マイクロプロセッサ、および/または特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、1つまたは複数の他のプロセッサ)を含み得る処理回路(PC)902であって、そのプロセッサが、単一のハウジング中または単一のデータセンタ中にコロケートされ得るか、または地理的に分散され得る(換言すれば、ノード900は分散コンピューティング装置であり得る)、処理回路(PC)902と、ノード900が、ネットワーク910(たとえばインターネットプロトコル(IP)ネットワーク)に接続された他のノードにデータを送信することと、ネットワーク910に接続された他のノードからデータを受信することとを可能にするための送信機(Tx)945および受信機(Rx)947を備える、少なくとも1つのネットワークインターフェース948(たとえば、物理インターフェースまたはエアインターフェース)であって、ネットワークインターフェース948がネットワーク910に(物理的にまたは無線で)接続される(たとえば、ネットワークインターフェース948は、ノード900がデータを無線で送信/受信することを可能にするための1つまたは複数のアンテナを備えるアンテナ構成に結合され得る)、少なくとも1つのネットワークインターフェース948と、1つまたは複数の不揮発性記憶デバイスおよび/または1つまたは複数の揮発性記憶デバイスを含み得る、(「データ記憶システム」とも呼ばれる)ローカル記憶ユニット908とを備え得る。PC902がプログラマブルプロセッサを含む実施形態では、コンピュータプログラム製品(CPP)941が提供され得る。CPP941は、コンピュータ可読命令(CRI)944を備えるコンピュータプログラム(CP)943を記憶するコンピュータ可読メディア(CRM)942を含む。CRM942は、磁気メディア(たとえば、ハードディスク)、光メディア、メモリデバイス(たとえば、ランダムアクセスメモリ、フラッシュメモリ)など、非一時的コンピュータ可読メディアであり得る。いくつかの実施形態では、コンピュータプログラム943のCRI944は、PC902によって実行されたとき、ノード900が、本明細書で説明されるステップ(たとえば、フローチャートを参照しながら本明細書で説明されたステップ)を実施することをCRIが引き起こすように設定される。他の実施形態では、ノード900は、コードの必要なしに、本明細書で説明されるステップを実施するように設定され得る。すなわち、たとえば、PC902は1つまたは複数のASICのみからなり得る。それゆえに、本明細書で説明される実施形態の特徴はハードウェアおよび/またはソフトウェアで実装され得る。
【0100】
本明細書で使用される、ネットワークエレメント、ノード、またはサブシステム(たとえば、エンコーダまたはデコーダ)は、ネットワーク上の他の機器(たとえば、他のネットワークエレメント、エンドステーションなど)を通信可能に相互接続し、メディアコンテンツアセットが、ストリームベース機構またはファイルベース機構を使用して配信および供給され得るメディア配信ネットワークにおいてコンテンツを受信/消費するように動作可能である複数の加入者および関連付けられたユーザ機器(UE)ノードに関して、仮想化された環境/仮想化されていない環境のいずれかにおいて、1つまたは複数のアプリケーションまたはサービスをホストするように適応された、ハードウェアおよびソフトウェアを含む、1つまたは複数のサービスネットワーク機器から構成され得る。したがって、いくつかのネットワークエレメントは、無線ラジオネットワーク環境中に配設され得るのに対して、他のネットワークエレメントは、パブリック、プライベート、または混合CDNを備え得る好適なコンテンツ供給ネットワーク(CDN)インフラストラクチャを含むかまたはさもなければ伴う、パブリックパケット交換ネットワークインフラストラクチャ中に配設され得る。さらに、本明細書で記載される1つまたは複数の実施形態を含む好適なネットワークエレメントは、地上波および/または衛星ブロードバンド供給インフラストラクチャ、たとえば、デジタル加入者回線(DSL)ネットワークアーキテクチャ、データオーバーケーブルサービスインターフェース仕様(DOCSIS)準拠ケーブルモデム終端システム(CMTS)アーキテクチャ、スイッチドデジタルビデオ(SDV)ネットワークアーキテクチャ、ハイブリッドファイバー同軸(HFC)ネットワークアーキテクチャ、セルラおよび/またはWiFiコネクティビティを介した好適な衛星アクセスネットワークアーキテクチャまたはブロードバンド無線アクセスネットワークアーキテクチャを伴い得る。したがって、いくつかのネットワークエレメントは、複数のアプリケーションサービス(たとえば、品質または解像度を変える際の(360度ビデオアセットまたは単に360ビデオアセットとも呼ばれる)360°没入型ビデオアセットを含む、データおよびマルチメディアアプリケーション)のサポートを提供することに加えて、複数のネットワークベース機能(たとえば、360°没入型A/Vメディア準備供給ポリシ管理、セッション制御、QoSポリシ施行、帯域幅スケジューリング管理、コンテンツプロバイダ優先度ポリシ管理、ストリーミングポリシ管理など)のサポートを提供する「複数サービスネットワークエレメント」を備え得る。例示的な加入者エンドステーションまたはクライアントデバイスは、いくらかの実施形態では何らかのタイプのレート適応を伴い得る、ストリーミングおよび/またはファイルベースダウンロード技術を使用してメディアコンテンツアセットを消費または供給し得る、テザリングされたまたはテザリングされていない、様々なデバイスを備え得る。例示のクライアントデバイスまたはUEデバイスは、それゆえ、とりわけ、HTTP、HTTPS、RTPなどを使用して、たとえば、ブロードバンドアクセスネットワークを介して、1つまたは複数のコンテンツプロバイダから、仮想現実(VR)メディア、拡張現実(AR)メディア、複合現実(MR)メディアを備え得る、360ビデオコンテンツ、ライブメディアおよび/またはスタティック/オンデマンドメディアを受信、記録、記憶、および/または復号/レンダリングするための1つまたは複数のクライアントアプリケーションを実行するように設定された任意のデバイスを含み得る。したがって、そのようなクライアントデバイスは、次世代IPベースSTB、ネットワーク化TV、パーソナル/デジタルビデオレコーダ(PVR/DVR)、ネットワーク化メディアプロジェクタ、ポータブルラップトップ、ネットブック、パームトップ、タブレット、スマートフォン、マルチメディア/ビデオフォン、モバイル/無線ユーザ機器、ポータブルメディアプレーヤ、3Dディスプレイデバイスなどと協働して動作する(Wii(登録商標)、Play Station 3(登録商標)など)ポータブルゲーミングシステムまたはコンソールを含み得、これらは、好適なメディア配信ネットワークを介して提供される360度コンテンツ/サービスにアクセスまたは消費し得、ここにおいて、帯域幅および体感品質(QoE)方式が、本明細書で記載される1つまたは複数の実施形態に従って提供され得る。
【0101】
本特許開示の1つまたは複数の実施形態は、ソフトウェア、ファームウェア、および/またはハードウェアの異なる組合せを使用して実装され得る。これにより、図(たとえば、フローチャート)に示されている技法のうちの1つまたは複数は、1つまたは複数の電子デバイスまたはノード(たとえば、加入者クライアントデバイスまたはエンドステーション、ネットワークエレメントなど)上に記憶され、実行されるコードおよびデータを使用して実装され得る。そのような電子デバイスは、(たとえば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読取り専用メモリ、フラッシュメモリデバイス、相変化メモリなど)非一時的コンピュータ可読記憶メディア、一時的コンピュータ可読伝送メディア(たとえば、搬送波、赤外線信号、デジタル信号など、電気、光、音響または他の形態の伝搬信号)など、コンピュータ可読メディアを使用してコードおよびデータを(内部的におよび/またはネットワークを介して他の電子デバイスを用いて)記憶および通信し得る。加えて、そのようなネットワークエレメントは、一般的に、1つまたは複数の記憶デバイス(たとえば、非一時的機械可読記憶メディア)、ならびに記憶データベース、ユーザ入出力デバイス(たとえば、キーボード、タッチスクリーン、ポインティングデバイス、および/またはディスプレイ)、ならびにシグナリングおよび/またはベアラメディア伝送を実現するためのネットワーク接続など、1つまたは複数の他の構成要素に結合された1つまたは複数のプロセッサのセットを含み得る。プロセッサのセットと他の構成要素との結合は、一般的に、任意の知られている(たとえば、対称/共有多重処理)またはこれまで知られていないアーキテクチャ中に構成された、1つまたは複数のバスおよび(バスコントローラとも呼ばれる)ブリッジを通り得る。これにより、所与の電子デバイスまたはネットワークエレメントの記憶デバイスまたは構成要素は、本開示の1つまたは複数の技法を実装する目的の、そのエレメント、ノードまたは電子デバイスの1つまたは複数のプロセッサ上での実行のためのコードおよび/またはデータを記憶するように設定され得る。
【0102】
当業者は、上記の一般化された例示的なネットワーク環境が、たとえば、ソースストリームスティッチング、プロジェクションマッピング、ソースメディア圧縮、タイルド/ABRエンコーディング/トランスコーディング、パッケージングなどを含む、メディアキャプチャおよび準備、ならびに1つまたは複数のオペレータ、コンテンツ供給ネットワーク(CDN)、エッジネットワークなどを伴う、異なる階層レベルに配設された異なるネットワーク部分において行われる配信/アップローディングおよびエッジノードプロセスの様々な態様とともに、階層ネットワークアーキテクチャにおいて実装され得ることを認識されよう。さらに、いくつかの実装形態では、上記の装置およびプロセスのうちの少なくともいくつかは、クラウドベースであり得る。いくつかの構成では、CDNは、インターネットまたは他のパブリック/プライベート通信ネットワークに接続された複数のデータセンタにおいて展開されたサーバの大規模分散システムであり得る。CDNは、管理されたまたは管理されないネットワークであり得、管理されたまたは管理されないネットワークのフェデレーションでもあり得る。
【0103】
上記の例示的なネットワーク環境内で動作可能に関連付けられるメディアサーバ/ソースシステムの例示的な実施形態は、それゆえ、ライブソースおよび/またはスタティックファイルソース、たとえば、Hulu(登録商標)、Netflix(登録商標)、YouTube(登録商標)、またはAmazon(登録商標)プライムなど、オンラインコンテンツプロバイダ、ならびにたとえば、ディズニー、ワーナー、ソニーなど、VODカタログもしくはコンテンツプロバイダまたはスタジオからメディアコンテンツを受信するように、たとえば、グローバルヘッドエンドとして、設定され得る。ライブソースからのメディアコンテンツは、広告メディアチャネルなどの任意の2次メディア挿入を含む、任意のタイプのイベント、たとえば、スポーツ/エンターテインメント/ゲーミングイベント、コンサート、ライブTVショー、たとえば、全国放送局(たとえば、NBC、ABCなど)、ならびにCNN、ESPN、CNBCなどのタイムワーナーチャネルのようなケーブル放送局チャネル、およびローカル放送局などのライブニュース放送ソースなどに関連してキャプチャされたライブ番組を備え得る。
【0104】
上記の開示に加えて、以下も言及される。
【0105】
大きい変換は、空間的冗長性を低減することに優れている。しかしながら、ソースサンプルが、非常に平滑であるとき、主観的品質は、粗すぎる量子化を伴うようなエリアでは非常に急速に低下することがある。それゆえ、主観的品質の破壊を長くする非常に平滑な領域について線形モデルに従ってQPを低減することが示唆される。平滑な領域は、比較的コーディングしやすいので、ビットレートのオーバーヘッドは、管理可能であり得る。HDR CTCの場合のBDRに対する影響は、以下、すなわち、
VTM-12.0 HDR CTC(ルーマ/Cb/Cr):0.07%/0.02%/0.16%
HM-16.22(TF on)HDR CTC(ルーマ/Cb/Cr):0.70%/-0.18%/-0.05%
のようになる。
【0106】
主観的品質を改善するために、この機能性を用いてVTMおよびHMを更新することが示唆される。
【0107】
HMおよびVTMは、変換係数の不正確なコーディングにより、非常に平滑な領域中で比較的低いQPにおいて品質が低下することがあることが観測された。この寄与は、平滑ブロックについてQPを低減することによって、それを回避することを目的とする。
【0108】
平滑ブロックは、(たとえば)64×64個のサンプルの領域中でルーマソースサンプルを低次多項式モデルに適合させることによって検出される。次いで、モデルによる予測からのひずみが、計算され(SAD)、しきい値と比較される。ひずみがしきい値を下回るとき、ルーマQPは、線形モデルに従って低減される。QP調節の粒度は、(たとえば)64×64である。
【0109】
QP低減の強度の制御、さらに、それがいずれのフレームに適用されるか(あらゆるフレーム、あらゆる2番目のフレーム、あらゆる4番目のフレームなど)を制御することを可能にするために、設定可能なパラメータが加えられる。
【0110】
方法は、以下のように、HM-16.22[1]とVTM-12.0[2]の両方の上に実装され、HDR CTC[3]についてテストされた。
【0111】
CTC HDR RAの場合のVTM-12.0(すべてのフレームについてのQP変化):
【0112】
CTC HDR RAの場合のHM-16.22(TF on)(すべてのフレームについてのQP変化):
【0113】
参考文献
[1] HM-16.22, available at https://vcgit.hhi.fraunhofer.de/jvet/HM/-/releases/HM-16.22
[2] VTM-12.0, available at https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-12.0
[3] A. Segall, E. Francois, W. Husak, S. Iwamura and D. Rusanovskyy, “JVET common test conditions and evaluation procedures for HDR/WCG video”, JVET-T2011, Meeting by Teleconference, October 2020.
【0114】
様々な実施形態のまとめ
A1. 画像またはビデオエンコーダまたはデコーダにおいてピクチャ中のサンプルの平滑予測ブロックを作成するための方法であって、方法は、
r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することと、
パラメータrとベースの行列Bとに基づいて、ブロックx’を予測することと
を備える、方法。
A2. 平滑予測ブロックx’が、x’=Σ[r(i)*b(i)]を備え、ここで、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる、実施形態A1に記載の方法。
A3. 平滑予測ブロックx’が、x’=(Σ[r(i)*b(i)]+2N-1)>>Nを備え、ここで、Nが、スケーリングファクタであり、r(i)が、rのi番目の成分を指し、b(i)が、Bのi番目の基底ベクトルを指し、和が、Bにおけるいくつかの基底ベクトルにわたって取られる、実施形態A1に記載の方法。
A4. Bにおける各基底ベクトルb(i)は、b(i):=b(i)-平均(b(i))のように、それの平均が除去される、実施形態A1~A3のいずれか1つに記載の方法。
A5. Bが、3つのベースB={b1、b2、b3}を少なくとも含み、ここで、b1={1、1、1、..、1}、b2={0、1、..M-1、..、0、1、..、M}、およびb3={0、..、0、1、..、1、M-1、..、M-1}であり、ここで、Mが、ブロックの高さに等しい、実施形態A1~A4のいずれか1つに記載の方法。
A5’. Bが、B={b1、b2、b3、b4、b5、b6}であるように、ベース(b4、b5、b6)をさらに含み、ここで、b4={0、..、0、1、2、..M-1、..、M-1、2*M-1、..、(M-1)*(M-1)}、b5={0、1、4、..、(M-1)*(M-1)、..、0、1、4、..、(M-1)*(M-1)}およびb6={0、..、0、1、..、1、4、..、4、..、(M-1)*(M-1)}である、実施形態A5に記載の方法。
A6. (BB)-1が、事前計算される、実施形態A1~A5およびA5’のいずれか1つに記載の方法。
A7. サンプルのソースxが、(たとえば、水平におよび垂直に1サンプルおきに)サンプルのサブセットを取ることによって決定される、実施形態A1~A6のいずれか1つに記載の方法。
A8. Bにおける各基底ベクトルb(i)が、2の倍数であるサンプル位置において取られる、実施形態A1~A7のいずれか1つに記載の方法。
A9. ブロックの高さ(M)が、画像またはビデオエンコーダ/デコーダにおいて使用される最大変換サイズに等しい、実施形態A1~A8のいずれか1つに記載の方法。
B1. 画像を符号化するための方法であって、方法が、
実施形態A1~A9のいずれか1つに従って画像中のサンプルを予測することと、
パラメータrを量子化パラメータqrに量子化することと、
多項式イントラコーディングモードが使用されていることを指し示す信号を符号化することと、
量子化パラメータqrを符号化することと
を備える、方法。
B1’. 画像を符号化するための方法であって、方法が、
隣接するブロックのモデルパラメータに基づいて、多項式モデルのパラメータrを決定することと、
パラメータrを量子化パラメータqrに量子化することと、
多項式イントラコーディングモードが使用されていることを指し示す信号を符号化することと
を備える、方法。
B1’a. 量子化パラメータqrを符号化することをさらに備える、実施形態B1’に記載の方法。
B2. サンプルのソースxが、ブロックx’のすぐ上のおよび/またはブロックx’の左のサンプルを備える、実施形態B1、B1’、およびB1’aのいずれか1つに記載の方法。
B3. 量子化パラメータqrを符号化することが、
ブロックx’のすぐ上のおよび/またはブロックx’の左のサンプルに基づいて、パラメータrPredを予測することと、
量子化パラメータqr(i)と予測されたパラメータrPred(i)との間の差に基づいて、qrの各成分iについてデルタ値を決定することと、
デルタ値を符号化することと
を備える、実施形態B1~B2のいずれか1つに記載の方法。
C1. 画像を復号するための方法であって、方法は、
多項式イントラコーディングモードが使用されていることを指し示す信号を復号することと、
信号に応答して、量子化パラメータqrを復号することと、
量子化パラメータqrを非量子化パラメータr’に逆量子化することと、
非量子化パラメータr’とベースの行列Bとに基づいて、予測ブロックx’を導出することと
を備える、方法。
C1’. 画像を復号するための方法であって、方法は、
多項式イントラコーディングモードが使用されていることを指し示す信号を復号することと、
信号に応答して、隣接するブロックのモデルパラメータに基づいて、多項式モデルのパラメータr’を決定することと、
非量子化パラメータr’とベースの行列Bとに基づいて、予測ブロックx’を導出することと
を備える、方法。
D1. 量子化パラメータを調節するための方法であって、方法は、
画像中のブロックが平滑であると決定することと、
量子化パラメータ(QP)が圧縮の後のブロックの品質を低減すると決定することと、
画像中のブロックが平滑であると決定したことと、QPが圧縮の後のブロックの品質を低減すると決定したこととの結果として、ブロックがより高い品質で符号化されるように、ブロックについてQPを減少させることと
を備える、方法。
D2. 画像中のブロックが平滑であると決定することは、
低周波ベース関数に基づいて、モデルのためのパラメータを決定することと、
決定されたパラメータを用いて、予測サンプルを予測することと、
エラーを決定するために、予測サンプルをブロックのソースサンプルと比較することと、
エラーがしきい値を下回ると決定することと
を備える、実施形態D1に記載の方法。
D3. 低周波ベース関数が、多項式関数を含み、ここにおいて、エラーを決定するために、予測されたブロックをソースサンプルと比較することが、ブロックのソースサンプルと予測サンプルとの間の差について、絶対差分和(SAD)値および2乗差分和(SSD)値のうちの1つまたは複数を計算することを備える、
実施形態D2に記載の方法。
D4. ブロックがより高い品質で符号化されるようにブロックについてQPを減少させることは、より高いQPについて減少がより大きくなるように、および指定された値を下回るQPの減少がないように、線形モデルに基づいてQPの減少を決定することを備える、実施形態D2~D3のいずれか1つに記載の方法。
D4’. QPの減少が、min(0、QPscale*QP+QPoffset)によって決定され、ここで、QPscaleおよびQPoffsetが、パラメータである、実施形態D4に記載の方法。
D4’’. QPの減少が、制限値によって制限される、実施形態D4およびD4’のいずれか1つに記載の方法。
D4’’’. QPの減少が、max(QPlimit、min(0、QPscale*QP+QPoffset))によって決定され、ここで、QPscale、QPoffsetおよびQPlimitが、パラメータである、実施形態D4に記載の方法。
D5. 画像がイントラコード化ピクチャタイプであると決定することをさらに備え、ここにおいて、ブロックがより高い品質で符号化されるように、ブロックについて量子化パラメータ(QP)を減少させることは、画像がイントラコード化ピクチャタイプであると決定したことの結果として実施される、実施形態D1~D4、D4’、D4’’、およびD4’’’のいずれか1つに記載の方法。
D6. 画像が、値Mの倍数である画像のシーケンス内のシーケンス番号(たとえば、ピクチャ順序カウント(POC))を有すると決定することをさらに備え、ここにおいて、ブロックがより高い品質で符号化されるように、ブロックについて量子化パラメータ(QP)を減少させることは、画像が、Mの倍数であるシーケンス番号を有すると決定したことの結果として実施される、実施形態D1~D4、D4’、D4’’、およびD4’’’のいずれか1つに記載の方法。
D7. Mが、2、4、8、16、および32のうちの1つである、実施形態D6に記載の方法。
D8.画像中のブロックが平滑であると決定することが、粒度のサブブロックレベルにおける情報に基づく、実施形態D1~D7のいずれか1つに記載の方法。
E1. デブロッキングのための方法であって、方法は、
画像中のブロックが平滑であると決定することと、
画像中のブロックが平滑であると決定したことの結果として、ブロック中のサンプルを修正することと
を備える、方法。
E2. 画像中のブロックが平滑であると決定することは、
低周波ベース関数に基づいて、モデルのためのパラメータを決定することと、
決定されたパラメータを用いて、予測サンプルを予測することと、
エラーを決定するために、予測サンプルをブロックのソースサンプルと比較することと、
エラーがしきい値を下回ると決定することと
を備える、実施形態E1に記載の方法。
E3. 低周波ベース関数が、多項式関数を含み、ここにおいて、エラーを決定するために、予測されたブロックをソースサンプルと比較することが、ブロックのソースサンプルと予測サンプルとの間の差について、絶対差分和(SAD)値および2乗差分和(SSD)値のうちの1つまたは複数を計算することを備える、実施形態E2に記載の方法。
E4. ブロック中のサンプルを修正することが、多項式モデルに基づく、実施形態E2~E3のいずれか1つに記載の方法。
F1. ノードの処理回路によって実行されたとき、ノードが、実施形態A1~A9、B1~B3、C1、C1’、D1~D7、およびE1~E4のいずれか1つに記載の方法を実施することを引き起こす命令を備える、コンピュータプログラム。
F2. 実施形態F1に記載のコンピュータプログラムを含んでいるキャリアであって、ここにおいて、キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶メディアのうちの1つである、キャリア。
G1. エンコーダであって、エンコーダは、
処理回路と、
メモリであって、メモリが、処理回路によって実行可能な命令を含んでおり、それによって、エンコーダが、実施形態A1~A9、B1~B3、D1~D7、およびE1~E4のいずれか1つに記載の方法を実施するように設定される、メモリと
を備える、エンコーダ。
G2. デコーダであって、デコーダは、
処理回路と、
メモリであって、メモリが、処理回路によって実行可能な命令を含んでおり、それによって、デコーダが、実施形態A1~A9、C1、C1’、およびE1~E4のいずれか1つに記載の方法を実施するように設定される、メモリと
を備える、デコーダ。
H1. ピクチャ中のサンプルの平滑予測ブロックを作成するように設定されたエンコーダであって、エンコーダは、
r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することと、
パラメータrとベースの行列Bとに基づいて、ブロックx’を予測することと
を行うようにさらに設定された、エンコーダ。
H2. エンコーダが、実施形態A2~A9のいずれか1つに記載の方法を実施するようにさらに設定された、実施形態H1に記載のエンコーダ。
I1. 画像を符号化するように設定されたエンコーダであって、エンコーダが、
実施形態A1~A9のいずれか1つに従って画像中のサンプルを予測することと、
パラメータrを量子化パラメータqrに量子化することと、
多項式イントラコーディングモードが使用されていることを指し示す信号を符号化することと、
量子化パラメータqrを符号化することと
を行うようにさらに設定された、エンコーダ。
I1’. 画像を符号化するように設定されたエンコーダであって、エンコーダが、
隣接するブロックのモデルパラメータに基づいて、多項式モデルのパラメータrを決定することと、
パラメータrを量子化パラメータqrに量子化することと、
多項式イントラコーディングモードが使用されていることを指し示す信号を符号化することと
を行うようにさらに設定された、エンコーダ。
I2. エンコーダが、実施形態B2~B3のいずれか1つに記載の方法を実施するようにさらに設定された、実施形態I1およびI1’のいずれか1つに記載のエンコーダ。
J1. 量子化パラメータを調節するように設定されたエンコーダであって、エンコーダは、
画像中のブロックが平滑であると決定することと、
量子化パラメータ(QP)が圧縮の後のブロックの品質を低減すると決定することと、
画像中のブロックが平滑であると決定したことと、QPが圧縮の後のブロックの品質を低減すると決定したこととの結果として、ブロックがより高い品質で符号化されるように、ブロックについてQPを減少させることと
を行うようにさらに設定された、エンコーダ。
J2. エンコーダが、実施形態D2~D7のいずれか1つに記載の方法を実施するようにさらに設定された、実施形態J1に記載のエンコーダ。
K1. デブロックするように設定されたエンコーダであって、エンコーダが、
画像中のブロックが平滑であると決定することと、
画像中のブロックが平滑であると決定したことの結果として、ブロック中のサンプルを修正することと
を行うようにさらに設定された、エンコーダ。
K2. エンコーダが、実施形態E2~E4のいずれか1つに記載の方法を実施するようにさらに設定された、実施形態K1に記載のエンコーダ。
L1. ピクチャ中のサンプルの平滑予測ブロックを作成するように設定されたデコーダであって、デコーダは、
r=(BB)-1*(B*x)によって多項式モデルのパラメータrを決定することであって、ここで、Bが、ベースの行列であり、xが、ベクトル形態のサンプルのソースである、パラメータrを決定することと、
パラメータrとベースの行列Bとに基づいて、ブロックx’を予測することと
を行うようにさらに設定された、デコーダ。
L2.デコーダが、実施形態A2~A9のいずれか一項に記載の方法を実施するようにさらに設定された、実施形態L1に記載のデコーダ。
M1.画像を復号するように設定されたデコーダであって、デコーダは、
多項式イントラコーディングモードが使用されていることを指し示す信号を復号することと、
信号に応答して、量子化パラメータqrを復号することと、
量子化パラメータqrを非量子化パラメータr’に逆量子化することと、
非量子化パラメータr’とベースの行列Bとに基づいて、予測ブロックx’を導出することと
を行うようにさらに設定された、デコーダ。
M1’. 画像を復号するように設定されたデコーダであって、デコーダは、
多項式イントラコーディングモードが使用されていることを指し示す信号を復号することと、
信号に応答して、隣接するブロックのモデルパラメータに基づいて、多項式モデルのパラメータr’を決定することと、
非量子化パラメータr’とベースの行列Bとに基づいて、予測ブロックx’を導出することと
を行うようにさらに設定された、デコーダ。
N1. デブロックするように設定されたデコーダであって、デコーダは、
画像中のブロックが平滑であると決定することと、
画像中のブロックが平滑であると決定したことの結果として、ブロック中のサンプルを修正することと
を行うようにさらに設定された、デコーダ。
N2. デコーダが、実施形態E2~E4のいずれか1つに記載の方法を実施するようにさらに設定された、実施形態K1に記載のデコーダ。
【0115】
様々な実施形態が、本明細書で説明されたが、実施形態は、限定ではなく、例としてのみ提示されたことを理解されたい。これにより、本開示の広さおよび範囲は、上記で説明された例示的実施形態のうちのいずれによっても限定されるべきではない。そのうえ、上記で説明されたエレメントのすべての可能な変形形態におけるそれらのエレメントのいかなる組合せも、本明細書で別段に指し示されるか、または別段にコンテキストによって明らかに否定されない限り、本開示によって包含される。
【0116】
追加として、上記で説明され、図面に図示されているプロセスは、ステップのシーケンスとして示されているが、これは、単に例示のために行われた。したがって、いくつかのステップが加えられ得、いくつかのステップが省略され得、ステップの順序が並べ替えられ得、いくつかのステップが並行して実施され得ることが企図される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2023-12-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
量子化パラメータを調節するための方法であって、前記方法は、
画像中のブロックが平滑であると決定することと、
前記量子化パラメータ(QP)が圧縮の後の前記ブロックの品質を低減すると決定することと、
前記画像中の前記ブロックが平滑であると決定したことと、前記QPが圧縮の後の前記ブロックの前記品質を低減すると決定したこととの結果として、前記ブロックがより高い品質で符号化されるように、前記ブロックのための前記QPを減少させることと
を含む、方法。
【請求項2】
画像中のブロックが平滑であると決定することは、
低周波ベース関数に基づいて、モデルのためのパラメータを決定することと、
前記決定されたパラメータを用いて、予測サンプルを予測することと、
エラーを決定するために、前記予測サンプルを前記ブロックのソースサンプルと比較することと、
前記エラーがしきい値を下回ると決定することと
を含む、請求項に記載の方法。
【請求項3】
前記低周波ベース関数が、多項式関数を含み、エラーを決定するために、前記予測されたブロックをソースサンプルと比較することが、前記ブロックの前記ソースサンプルと前記予測サンプルとの間の差について、絶対差分和(SAD)値および2乗差分和(SSD)値のうちの1つまたは複数を計算することを含む、請求項に記載の方法。
【請求項4】
前記ブロックがより高い品質で符号化されるように前記ブロックについて前記QPを減少させることは、より高いQPについて前記減少がより大きくなるように、および指定された値を下回る前記QPの減少がないように、線形モデルに基づいて前記QPの前記減少を決定することを含む、請求項またはに記載の方法。
【請求項5】
前記QPの前記減少が、min(0、QPscale*QP+QPoffset)によって決定され、ここで、QPscaleおよびQPoffsetが、パラメータである、請求項に記載の方法。
【請求項6】
QPの前記減少が、制限値によって制限される、請求項またはに記載の方法。
【請求項7】
前記QPの前記減少が、max(QPlimit、min(0、QPscale*QP+QPoffset))によって決定され、ここで、QPscale、QPoffsetおよびQPlimitが、パラメータである、請求項に記載の方法。
【請求項8】
前記画像がイントラコード化ピクチャタイプであると決定することをさらに含み、ここにおいて、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記量子化パラメータ(QP)を減少させることは、前記画像がイントラコード化ピクチャタイプであると決定したことの結果として実施される、請求項からのいずれか一項に記載の方法。
【請求項9】
前記画像が、値Mの倍数である画像のシーケンス内のシーケンス番号(たとえば、ピクチャ順序カウント(POC))を有すると決定することをさらに含み、ここにおいて、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記量子化パラメータ(QP)を減少させることは、前記画像が、Mの倍数であるシーケンス番号を有すると決定したことの結果として実施される、請求項からのいずれか一項に記載の方法。
【請求項10】
Mが、2、4、8、16、および32のうちの1つである、請求項に記載の方法。
【請求項11】
画像中のブロックが平滑であると決定することが、粒度のサブブロックレベルにおける情報に基づく、請求項から10のいずれか一項に記載の方法。
【請求項12】
ノードの処理回路によって実行されたとき、前記ノードに、請求項1から11のいずれか一項に記載の方法を実施させる命令を含む、コンピュータプログラム。
【請求項13】
請求項12に記載のコンピュータプログラムを含んでいるキャリアであって、ここにおいて、前記キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶メディアのうちの1つである、キャリア。
【請求項14】
エンコーダであって、前記エンコーダは、
処理回路と、
メモリとを備え、前記メモリが、前記処理回路によって実行可能な命令を含んでおり、それによって、前記エンコーダが、請求項1から11のいずれか一項に記載の方法を実施するように設定される、エンコーダ。
【請求項15】
量子化パラメータを調節するように設定されたエンコーダであって、前記エンコーダは、
画像中のブロックが平滑であると決定することと、
前記量子化パラメータ(QP)が圧縮の後の前記ブロックの品質を低減すると決定することと、
前記画像中の前記ブロックが平滑であると決定したことと、前記QPが圧縮の後の前記ブロックの前記品質を低減すると決定したこととの結果として、前記ブロックがより高い品質で符号化されるように、前記ブロックについて前記QPを減少させることと
を行うようにさらに設定された、エンコーダ。
【請求項16】
前記エンコーダが、請求項から11のいずれか一項に記載の方法を実施するようにさらに設定された、請求項15に記載のエンコーダ。
【国際調査報告】