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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2022-549125ループフィルタブロックの柔軟な分割
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-24
(54)【発明の名称】ループフィルタブロックの柔軟な分割
(51)【国際特許分類】
   H04N 19/117 20140101AFI20221116BHJP
   H04N 19/157 20140101ALI20221116BHJP
   H04N 19/176 20140101ALI20221116BHJP
   H04N 19/70 20140101ALI20221116BHJP
【FI】
H04N19/117
H04N19/157
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022517249
(86)(22)【出願日】2021-02-03
(85)【翻訳文提出日】2022-03-16
(86)【国際出願番号】 US2021016345
(87)【国際公開番号】W WO2021178094
(87)【国際公開日】2021-09-10
(31)【優先権主張番号】62/984,096
(32)【優先日】2020-03-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/067,054
(32)【優先日】2020-10-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イシン・ドゥ
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159RC12
5C159TA68
5C159TB08
5C159TC26
5C159TC32
5C159TD12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
ビデオ符号化プロセスにおけるループフィルタリングの方法は、画像データを受信するステップと、画像データを分析するステップと、画像データをループフィルタリングブロック(LFB)に柔軟に分割して、同じフレーム内の最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが同じフレーム内の他のLFBよりも小さくなることを可能にするステップと、ループフィルタをLFBに適用するステップと、を含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによってビデオ符号化プロセスにおいてループフィルタリングを実行する方法であって、前記方法は、
フレームの第1の部分が前記フレームの他の部分よりも小さいループフィルタリングブロック(LFB)を有するかどうかを示すフラグを含む画像データを受信するステップと、
前記フレームの前記第1の部分が、前記フレームの他の部分よりも小さいLFBを有することを示す前記フラグに応答して、前記フレームの少なくとも最初の行または最初の列が、前記フレームの他の部分よりも小さいLFBを有するように、前記画像データを複数のループフィルタリングブロックに分割するステップと、
1つまたは複数のループフィルタを前記複数のLFBに適用するステップと、を含む、方法。
【請求項2】
前記分割するステップは、同じフレーム内の最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが前記同じフレーム内の他のLFBよりも小さくなることを可能にするように実行される、請求項1に記載の方法。
【請求項3】
前記柔軟に分割するステップは、前記最初の行のLFBのサイズが、前記同じフレーム内に配置され、前記同じフレーム内の最後の行および最後の列のうちの少なくとも1つに配置されないLFBよりも小さい高さを有することを可能にするように実行される、請求項2に記載の方法。
【請求項4】
前記柔軟に分割するステップは、前記最初の列のLFBのサイズが、前記同じフレーム内に配置され、前記同じフレーム内の前記最後の行および前記最後の列のうちの少なくとも1つに配置されないLFBよりも小さい幅を有することを可能にするように実行される、請求項2に記載の方法。
【請求項5】
前記柔軟に分割するステップは、最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが前記同じフレーム内の他のLFBよりも小さくなることを可能にするように実行され、前記同じフレーム内の最後の行および最後の列に分割余りが含まれない、請求項1に記載の方法。
【請求項6】
前記最初の行のLFBの前記高さおよび前記最初の列のLFBの前記幅は、ハードコーディングされる、請求項2に記載の方法。
【請求項7】
前記最初の行および最初の列のLFBのうちの少なくとも1つは、前記同じフレームの他の領域のLFBよりも小さいサイズを有するかどうかの表示を提供するステップをさらに含む、請求項2に記載の方法。
【請求項8】
前記最初の行のLFBの前記高さおよび前記最初の列のLFBの前記幅を示すために別個のシンタックスが使用される、請求項2に記載の方法。
【請求項9】
前記最初の行のLFBの前記高さは、前記最初の列のLFBの前記幅と同一である、請求項2に記載の方法。
【請求項10】
前記同じフレーム内の最後の行および最後の列に分割余りが含まれない、請求項2に記載の方法。
【請求項11】
ビデオ符号化プロセスにおけるループフィルタリングのための装置であって、前記装置は、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと、を備え、前記コンピュータプログラムコードは、
画像データを受信するように構成された受信コードと、
前記画像データを解析するように構成された解析コードと、
前記画像データをループフィルタリングブロック(LFB)に柔軟に分割するように構成された分割コードと、
ループフィルタを前記LFBに適用するように構成されたループフィルタリングコードと、を含む、装置。
【請求項12】
前記分割コードは、前記画像データを柔軟に分割して、同じフレーム内の最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが前記同じフレーム内の他のLFBよりも小さくなることを可能にするように構成される、請求項1に記載の装置。
【請求項13】
前記分割コードは、前記画像データを柔軟に分割して、前記最初の行のLFBのサイズが、前記同じフレーム内に配置され、前記同じフレーム内の最後の行および最後の列のうちの少なくとも1つに配置されないLFBよりも小さい高さを有することを可能にするように構成される、請求項2に記載の装置。
【請求項14】
前記分割コードは、前記画像データを柔軟に分割して、前記最初の列のLFBのサイズが、前記同じフレーム内に配置され、前記同じフレーム内の前記最後の行および前記最後の列のうちの少なくとも1つに配置されないLFBよりも小さい幅を有することを可能にするように構成される、請求項2に記載の装置。
【請求項15】
前記分割コードは、前記画像データを柔軟に分割して、最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが同じフレーム内の他のLFBよりも小さくなることを可能にするように構成され、前記同じフレーム内の最後の行および最後の列に分割余りが含まれない、請求項1に記載の装置。
【請求項16】
前記分割コードは、前記最初の行のLFBの前記高さおよび前記最初の列のLFBの前記幅がハードコーディングされるように、前記画像データを柔軟に分割するように構成される、請求項2に記載の装置。
【請求項17】
前記コンピュータプログラムコードは、前記最初の行および最初の列のLFBのうちの少なくとも1つが、前記同じフレームの他の領域のLFBよりも小さいサイズを有するかどうかの表示を提供するように構成された指示コードをさらに含む、請求項2に記載の装置。
【請求項18】
別個のシンタックスを使用して、前記最初の行のLFBの前記高さおよび前記最初の列のLFBの前記幅を示すように、前記分割コードは、前記画像データを柔軟に分割するように構成される、請求項2に記載の装置。
【請求項19】
前記分割コードは、前記最初の行のLFBの前記高さが、前記最初の列のLFBの前記幅と同一であるように、前記画像データを柔軟に分割するように構成される、請求項2に記載の装置。
【請求項20】
少なくとも1つのプロセッサに、
画像データを受信させ、
前記画像データを分析させ、
前記画像データをループフィルタリングブロック(LFB)に柔軟に分割させ、
ループフィルタを前記LFBに適用させる命令を格納する、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年3月2日に出願された米国仮特許出願第62/984,096号および2020年10月9日に出願された米国特許出願第17/067,054号の優先権を主張し、これらの開示はその全体が参照により本明細書に組み込まれる。
【0002】
本開示の実施形態は、高度なビデオ符号化技術のセットに関する。より具体的には、本開示の実施形態は、ループフィルタブロックのための柔軟な画像分割を提供することができる。
【背景技術】
【0003】
AOMedia Video 1(AV1)は、インターネット上でのビデオ送信用に設計されたオープンビデオコーディングフォーマットである。VP9の後継として、2015年に設立されたAlliance for Open Media(AOMedia)によって開発された。このコンソーシアムには、半導体企業、ビデオ・オン・デマンド・プロバイダ、ビデオ・コンテンツ・プロデューサ、ソフトウェア開発企業、およびウェブ・ブラウザ・ベンダーが含まれる。AV1プロジェクトのコンポーネントの多くは、アライアンスのメンバによる以前の研究努力から調達された。個人の貢献者は、数年前に実験的な技術プラットフォームを開始した:Xiph’s/MozillaのDaalaが2010年にコードを公開し、Googleの実験的なVP9進化プロジェクトVP10が2014年9月12日に発表され、CiscoのThorが2015年8月11日に発表された。VP9のコードベースに基づいて、AV1は追加の技術を組み込んでおり、そのうちのいくつかはこれらの実験フォーマットで開発された。AV1基準コーデックの第1のバージョンであるバージョン0.1.0は、2016年4月7日に公開された。アライアンスは、参照用のソフトウェアベースの符号化器および復号器と共に、2018年3月28日にAV1ビットストリーム仕様のリリースを発表した。2018年6月25日に、本仕様の有効版1.0.0が公開された。2019年1月8日に、本仕様のErrata1を含む有効なバージョン1.0.0がリリースされた。AV1ビットストリーム仕様は、基準ビデオコーデックを含む。
【0004】
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC1/SC29/WG11)は、2013(バージョン1)2014(バージョン2)2015(バージョン3)および2016(バージョン4)において、H.265/HEVC(High Efficiency Video Coding)規格を公開した。2015年、これら2つの標準化団体は、HEVCを超える次のビデオコーディング規格を開発する可能性を探索するために、JVET(ジョイント・ビデオ・エクスポレーション・チーム)を共同で形成した。2017年10月、JVETは、HEVCを超える機能を備えたビデオ圧縮に関する提案のための共同要請(Joint Call for Proposals on Video Compression with Capability beyond HEVC(CfP))を発行した。2018年2月15日までに、標準ダイナミックレンジ(standard dynamic range:SDR)に対する合計22個のCfP応答、ハイダイナミックレンジ(high dynamic range:HDR)に対する12個のCfP応答、および360個のビデオカテゴリに対する12個のCfP応答がそれぞれ提出された。2018年4月、受け取られた全てのCfP応答は、122 MPEG/10th JVET会議で評価された。この会議の結果、JVETは、HEVCを超える次世代ビデオコーディングの標準化プロセスを正式に立ち上げた。この新たな規格は、多用途ビデオコーディング(Versatile Video Coding:VVC)と名付けられ、JVETは、ジョイント・ビデオ・エキスパート・チーム(Joint Video Expert Team)と名付けられた。VTM(VVCテストモデル)の現在のバージョンは、VTM7である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ループフィルタリング処理では、画像はいくつかの等しいサイズのループフィルタリングブロック(最後の行/列のものを除く)に分割され、これはループフィルタリング性能を制限する可能性がある。
【0006】
本開示の実施形態は、上記の問題に対する解決策を提供する。例えば、実施形態によれば、ループフィルタリングブロックは異なるサイズであってもよく、それによってループフィルタリング性能が改善される。
【課題を解決するための手段】
【0007】
実施形態によれば、少なくとも1つのプロセッサによって実行されるビデオ符号化プロセスにおけるループフィルタリングの方法が提供され、本方法は、画像データを受信するステップと、画像データを分析するステップと、画像データをループフィルタリングブロック(LFB)に柔軟に分割するステップと、ループフィルタをLFBに適用するステップと、を含む。
【0008】
実施形態によれば、柔軟に分割するステップは、同じフレーム内の最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが同じフレーム内の他のLFBよりも小さくなることを可能にするように実行され得る。
【0009】
実施形態によれば、柔軟に分割するステップは、最初の行のLFBのサイズが、同じフレーム内に配置され、同じフレーム内の最後の行および最後の列のうちの少なくとも1つに配置されないLFBよりも小さい高さを有することを可能にするように実行され得る。
【0010】
実施形態によれば、柔軟に分割するステップは、最初の列のLFBのサイズが、同じフレーム内に配置され、同じフレーム内の最後の行および最後の列のうちの少なくとも1つに配置されないLFBよりも小さい幅を有することを可能にするように実行され得る。
【0011】
実施形態によれば、柔軟に分割するステップは、最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが同じフレーム内の他のLFBよりも小さくなることを可能にするように実行され得、同じフレーム内の最後の行および最後の列に分割余りが含まれない。
【0012】
実施形態によれば、最初の行のLFBの高さおよび最初の列のLFBの幅は、ハードコーディングされ得る。
【0013】
実施形態によれば、本方法は、最初の行および最初の列のLFBのうちの少なくとも1つは、同じフレームの他の領域のLFBよりも小さいサイズを有するかどうかの表示を提供するステップをさらに含み得る。
【0014】
実施形態によれば、最初の行のLFBの高さおよび最初の列のLFBの幅を示すために別個のシンタックスが使用され得る。
【0015】
実施形態によれば、最初の行のLFBの高さは、最初の列のLFBの幅と同一であり得る。
【0016】
実施形態によれば、同じフレーム内の最後の行および最後の列に分割余りが含まれない場合がある。
【図面の簡単な説明】
【0017】
図1】適応ループフィルタ(ALF)形状の概略図である。
図2A】サブサンプリングされたラプラシアン(Laplacian)計算の概略図である。
図2B】サブサンプリングされたラプラシアン(Laplacian)計算の概略図である。
図2C】サブサンプリングされたラプラシアン(Laplacian)計算の概略図である。
図2D】サブサンプリングされたラプラシアン(Laplacian)計算の概略図である。
図3】輝度成分に適用される修正ブロック分類の概略図である。
図4】仮想境界における1つまたは複数の輝度成分のための適用された適応ループフィルタリング(ALF)の修正の概略図である。
図5】LCU整列画像四分木分割の概略図である。
図6】z次で符号化された四分木分割フラグの概略図である。
図7A】CC ALFの配置の概略図を示す。
図7B】CC ALFの配置の概略図を示す。
図8】輝度サンプルに対する彩度サンプルの位置の概略図である。
図9】8×8ブロックの方向探索の概略図である。
図10】部分空間投影の概略図である。
図11】ループフィルタリングブロック(LFB)分割の概略図である。
図12】対称四分木ベースループフィルタリングブロック(LFB)分割の概略図である。
図13】非対称四分木ベースループフィルタリングブロック(LFB)分割の概略図である。
図14】ループフィルタリングブロック(LFB)分割の概略図である。
図15】対称四分木ベースループフィルタリングブロック(LFB)分割の概略図である。
図16】非対称四分木ベースループフィルタリングブロック(LFB)分割の概略図である。
図17】実施形態による通信システムのブロック図である。
図18】実施形態による、環境内のG-PCC圧縮器およびG-PCC解凍器の配置図である。
図19】実施形態を実施するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0018】
本明細書に記載の実施形態は、画像データを符号化および/または復号するための方法および装置を提供する。
【0019】
[適応ループフィルタリング]
VTM7では、ブロックベースのフィルタ適応を有する適応ループフィルタ(ALF)が適用される。輝度成分の場合、局所勾配の方向および活性に基づいて、25個のフィルタの中から1つのフィルタが4×4ブロックごとに選択される。
【0020】
[フィルタ形状]
VTM7では、図1を参照すると、2つの菱形形状のフィルタが使用される。輝度成分には7×7の菱形形状が適用され、彩度成分には5×5の菱形形状が適用される。
【0021】
[ブロック分類]
輝度成分の場合、各4×4ブロックが25クラスのうち1つのクラスに分類される。分類インデックスCは、その指向性Dと活性の量子化値とに基づいて導出される
【数1】
。これを式1(下記)に示す。
【0022】
式1:
【数2】
【0023】
Dおよび
【数3】
を計算するために、まず、式2~5(下記)に示す1-Dラプラシアン方程式を使用して、水平方向、垂直方向、および2つの対角方向の勾配が計算される。
【0024】
式2:
【数4】
【0025】
式3:
【数5】
【0026】
式4:
【数6】
【0027】
式5:
【数7】
【0028】
ここで、添え字iおよびjは、4×4ブロック内の左上サンプルの座標を指し、R(i,j)は、座標(i,j)における再構築サンプルを示す。
【0029】
ブロック分類の複雑さを低減するために、サブサンプルされた1-Dラプラシアン計算が適用される。図2に示すように、同じサブサンプルされた場所は、全ての方向の勾配計算に使用される。ここで、図2Aは、垂直勾配のサブサンプルされた場所を示す。図2Bは、水平勾配のサブサンプルされた場所を示す。図2Cおよび図2Dは、対角勾配のサブサンプルされた場所を示す。
【0030】
次に、水平方向および垂直方向の勾配のD個の最大値および最小値を式6(以下)に従って設定する。
【数8】
【0031】
2つの対角方向の勾配の最大値および最小値を式7(以下)に従って設定する。
【数9】
【0032】
指向性Dの値を導出するために、これらの値を互いに比較し、2つの閾値t1およびt2を用いる。
【0033】
ステップ1.
【数10】
および
【数11】
の両方が真である場合、Dは0に設定される。
【0034】
ステップ2.
【数12】
の場合、ステップ3から継続する。そうでなければ、ステップ4から継続する。
【0035】
ステップ3.
【数13】
の場合、Dは2に設定される。そうでない場合、Dは1に設定される。
【0036】
ステップ4.
【数14】
の場合、Dは4に設定される。そうでない場合、Dは3に設定される。
【0037】
活性値Aは、式8(以下)に従って計算される:
【数15】
【0038】
Aは、包括的に0~4の範囲にさらに量子化し、量子化値は
【数16】
として表される。
【0039】
画像内の彩度成分の場合、分類法は適用されず、したがって、各彩度成分に対して単一のセットのALF係数が適用される。
【0040】
[フィルタ係数およびクリッピング値の幾何学的変換]
各4×4の輝度ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に応じて、回転、対角、および/または垂直フリップなどの幾何学的変換をフィルタ係数f(k,l)および対応するフィルタクリッピング値c(k,l)に適用する。これは、フィルタ支持領域内のサンプルにこれらの変換を適用することに相当する。その考え方は、それらの指向性を整列させることによって、ALFが適用される異なるブロックをより類似させることである。
【0041】
以下の式9~11において、対角、垂直フリップ、および回転を含む3つの幾何学的変換が導入される。
【0042】
式9:
対角:fD(k,l)=f(l,k),cD(k,l)=c(l,k),
【0043】
式10:
垂直フリップ:fV(k,l)=f(k,K-l-1),cV(k,l)=c(k,K-l-1)
【0044】
式11:
回転:fR(k,l)=f(K-l-1,k),cR(k,l)=c(K-l-1,k)
【0045】
ここで、Kはフィルタのサイズであり、0≦k、l≦K-1は係数座標であるので、位置(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。変換は、そのブロックに対して計算された勾配値に応じて、フィルタ係数f(k,l)およびクリッピング値c(k,l)に適用される。変換と4方向の4つの勾配との関係を以下の表に要約する。
【0046】
【表1】
【0047】
[フィルタパラメータのシグナリング]
VTM7では、ALFフィルタパラメータは、APSでシグナリングされる。1つのAPSでは、最大25セットの輝度フィルタ係数およびクリッピング値インデックス、ならびに最大8セットの彩度フィルタ係数およびクリッピング値インデックスがシグナリングされ得る。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダでは、現在のスライスに使用されるAPSのインデックスをシグナリングすることができる。ALFのシグナリングは、VTM7に基づくCTUである。
【0048】
APSから復号されるクリッピング値インデックスは、輝度および彩度成分のクリッピング値のテーブルを使用してクリッピング値を決定することを可能にする。これらのクリップ値は、内部ビット深度に依存する。より正確には、クリッピング値のテーブルは、以下の式によって得られる:
【0049】
式12:
AlfClip={n∈[0..N-1]に対してround(2B-a*n)}
【0050】
ここで、Bは内部ビット深度に等しく、αは2.35に等しい事前定義された定数値であり、Nは4に等しく、これはVVCで許容されるクリップ値の数である。表2は、式12)の出力を示す:
【0051】
【表2】
【0052】
スライスヘッダでは、最大7つのAPSインデックスをシグナリングして、現在のスライスに使用される輝度フィルタセットを指定することができる。フィルタ処理は、CTBレベルでさらに制御することができる。ALFが輝度CTBに適用されるかどうかを示すために、フラグが常にシグナリングされる。輝度CTBは、16個の固定フィルタセットおよびAPSからのフィルタセットの中からフィルタセットを選択することができる。どのフィルタセットが適用されるべきかを示すために、輝度CTBに対してフィルタセットインデックスがシグナリングされる。16個の固定フィルタセットは、符号化器および復号器の両方で事前定義され、ハードコーディングされる。
【0053】
彩度成分の場合、APSインデックスをスライスヘッダでシグナリングして、現在のスライスに使用される彩度フィルタセットを示す。CTBレベルでは、APSに2つ以上の彩度フィルタセットがある場合、各彩度CTBに対してフィルタインデックスをシグナリングする。
【0054】
フィルタ係数は、128に等しいノルムで量子化される。乗算の複雑さを制限するために、非中心場所の係数値が-27から27-1までの範囲内になるように、ビットストリーム適合性が適用される。中心場所係数はビットストリームでシグナリングされず、128に等しいと考えることができる。
【0055】
VVC Draft 7では、クリッピングインデックスおよび値のシンタックスおよびセマンティクスは、以下のように定義される:
【0056】
alf_Luma_clip_idx[sfIdx][j]は、sfIdxが示すシグナリングされた輝度フィルタのj番目の係数を乗算する前に使用するクリッピング値のクリッピングインデックスを指定する。ビットストリーム適合性の要件は、sfIdx=0からalf_Luma_num_filters_signalled_minus1までの、およびj=0から11までの、alf_Luma_clip_idx[sfIdx][j]の値が0から3までの範囲内にあることである。
【0057】
要素AlfClipL[adaptation_parameter_set_id][filtIdx][j]を有する輝度フィルタクリップ値AlfClipL[adaptation_parameter_set_id]は、filtIdx=0~NumAlfFilters-1およびj=0~11であり、BitDepthYに等しいbitDepthセットおよびalf_Luma_clip_idx[alf_Luma_coeff_delta_idx[filtIdx]][j]に等しいclipIdxセットに応じて、表2に指定されるように導出される。
【0058】
alf_Chroma_clip_idx[altIdx][j]は、インデックスaltIdxを有する代替彩度フィルタのj番目の係数を乗算する前に、使用するクリッピング値のクリッピングインデックスを指定する。ビットストリーム適合性の要件は、altIdx=0からalf_Chroma_num_alt_filters_minus1までの、およびj=0から5までの、alf_Chroma_clip_idx[altIdx][j]の値が0から3までの範囲内にあることである。
【0059】
AlfClipC[adaptation_parameter_set_id][altIdx][j]の要素を有する彩度フィルタクリッピング値AlfClipC[adaptation_parameter_set_id][altIdx]、altIdx=0~alf_Chroma_num_alt_filters_minus1、j=0~5は、BitDepthCに等しいbitDepthセットおよびalf_Chroma_clip_idx[altIdx][j]に等しいclipIdxセットに応じて表2に指定されるように導出される。
【0060】
[フィルタ処理]
復号器側では、ALFがCTBに対して有効にされると、CU内の各サンプルR(i,j)をフィルタリングすることができ、以下の式13に示すようにサンプル値R’(i,j)が得られる。
R’(i,j)=R(i,j)+((Σk≠0Σl≠0f(k,l)×K(R(i+k,j+l)-R(i,j),c(k,l))+64)≫7)
【0061】
ここで、f(k,l)は復号されたフィルタ係数を表し、K(x,y)はクリッピング関数であり、c(k,l)は復号されたクリッピングパラメータを表す。変数kおよびlは、
【数17】

【数18】
との間で変化し、ここで、Lはフィルタ長を表す。クリッピング関数K(x,y)=min(y,max(-y,x))は、クリッピング関数Clip3(-y,y,x)に対応する。このクリッピング関数を組み込むことにより、JVET-N0242で最初に提案されたように、このループフィルタリング方法は、非線形ALFとして知られる非線形プロセスになる。選択されたクリッピング値は、表2のクリッピング値のインデックスに対応するゴロム符号化方式を使用して「alf_data」シンタックス要素に符号化される。この符号化方式は、フィルタインデックスの符号化方式と同じである。
【0062】
[ラインバッファ再生のための仮想境界フィルタ処理]
VTM7では、ALFのラインバッファ要件を低減するために、水平CTU境界付近のサンプルに対して修正されたブロック分類およびフィルタリングが使用される。この目的のために、図3に示すように、水平CTU境界を「N」個のサンプルでシフトすることによって、仮想境界が線として定義される。図3では、Nは、輝度成分については4に等しく、彩度成分については2に等しい。
【0063】
図3に示すように、修正されたブロック分類が輝度成分に適用される。仮想境界の4×4ブロックの1Dラプラシアン勾配計算には、仮想境界の上方のサンプルのみが使用される。同様に、仮想境界の下方の4×4ブロックの1Dラプラシアン勾配計算には、仮想境界の下方のサンプルのみが使用される。したがって、活性値Aの量子化は、1Dラプラシアン勾配計算で使用されるサンプル数の減少を考慮することによってスケーリングされる。
【0064】
フィルタ処理のために、仮想境界における対称パディング演算は、輝度成分および彩度成分の両方に使用される。図4に示すように、フィルタリングされているサンプルが仮想境界の下に位置する場合、仮想境界の上に位置する隣接するサンプルをパディングする。一方、他の側の対応するサンプルも対称的にパディングされる。
【0065】
[LCU整列画像四分木分割]
符号化効率を高めるために、JCTVC-C143では、符号化単位同期画像四分木ベース適応ループフィルタが提案されている。ここで、輝度画像はいくつかのマルチレベル四分木分割に分割され、各分割境界は最大符号化単位(LCU)の境界に整列される。各分割は、それ自体のフィルタ処理を有し、したがって、フィルタ単位(FU)と称される場合がある。
【0066】
2パス符号化フローを以下に説明する。1パス目では、四分木分割パターンおよび各FUの一番のフィルタが決定される。フィルタリング歪みは、決定プロセス中にFFDEによって推定される。決定された四分木分割パターンおよび全てのFUの選択されたフィルタに従って、再構築された画像がフィルタリングされる。2パス目では、CU同期ALFオン/オフ制御が行われる。ALFオン/オフ結果によれば、第1のフィルタ処理された画像は、再構築された画像によって部分的に復元される。
【0067】
レート歪み基準を使用して画像をマルチレベル四分木分割に分割するために、トップダウン分割戦略が採用される。各分割は、フィルタ単位と呼ばれる。分割プロセスは、四分木分割をLCU境界と整列させる。FUの符号化順序は、z走査順序に従う。例えば、図5に示すように、画像は10個のFUに分割され、符号化順序はFU0、FU1、FU2、FU3、FU4、FU5、FU6、FU7、FU8、およびFU9である。
【0068】
画像四分木分割パターンを示すために、分割フラグが符号化され、z次で送信される。図6は、図5に対応する四分木分割パターンを示す。
【0069】
各FUのフィルタは、レート歪み基準に基づいて2つのフィルタセットから選択される。第1のセットは、現在のFUに対して新たに導出された1/2対称の正方形および菱形のフィルタを有する。第2のセットは、時間遅延フィルタバッファに由来する。時間遅延フィルタバッファは、前の画像のFUについて以前に導出されたフィルタを格納する。これら2つのセットの最小レート歪みコストを有するフィルタが、現在のFUに対して選択される。同様に、現在のFUが最小のFUではなく、4つの子FUにさらに分割することができる場合、4つの子FUのレート歪みコストが計算される。分割事例と非分割事例とのレート歪みコストを再帰的に比較することによって、画像四分木分割パターンを決定することができる。
【0070】
JCTVC-C143では、最大四分木分割レベルは2であり、これは、FUの最大数が16であることを意味する。四分木分割決定中、下部四分木レベル(最小FU)で16FUのウィーナー係数を導出するための相関値を再利用することができる。残りのFUは、下部四分木レベルにおける16FUの相関からそれらのウィーナーフィルタを導出することができる。したがって、全てのFUのフィルタ係数を導出するためのフレームバッファアクセスは1つしかない。
【0071】
四分木分割パターンが決定された後、フィルタリング歪みをさらに低減するために、CU同期ALFオン/オフ制御が実行される。フィルタリング歪みと非フィルタリング歪みとを比較することによって、リーフCUは、その局所領域においてALFのオン/オフを明示的に切り替えることができる。ALFオン/オフ結果に従ってフィルタ係数を再設計することによって、符号化効率をさらに改善することができる。しかしながら、再設計プロセスは、追加のフレームバッファアクセスを必要とする。提案されたCS-PQALF符号化器設計では、フレームバッファアクセスの数を最小限に抑えるために、CU同期ALFオン/オフ決定後の再設計プロセスはない。
【0072】
[クロス成分適応ループフィルタ]
JVET-O0636では、クロス成分適応ループフィルタ(CC-ALF)が提案されている。CC-ALFは、輝度サンプル値を利用して各彩度成分を精緻化する。図7Aは、他のループフィルタに対するCC-ALFの配置を示す。
【0073】
CC-ALFは、各彩度成分の輝度チャネルに線形菱形形状のフィルタ(図7B)を適用することによって動作する。フィルタ係数は、APSで送信され、210の係数でスケーリングされ、固定点表現のために丸められる。フィルタの適用は、可変ブロックサイズで制御され、サンプルの各ブロックについて受信されたコンテキスト符号化されたフラグによってシグナリングされる。CC-ALF有効化フラグとともにブロックサイズは、各彩度成分についてスライスレベルで受信される。配信では、以下のブロックサイズ(彩度サンプルにおける)16x16、32x32、64x64がサポートされていた。
【0074】
JVET-P1008で提案されているCC-ALFのシンタックス変更について以下に説明する。
【0075】
【表3】
【0076】
CC-ALF関連シンタックスのセマンティクスを以下に説明する。
【0077】
alf_ctb_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が0に等しい場合、これは、クロス成分Cbフィルタが輝度位置(xCtb,yCtb)のCb色成分サンプルのブロックに適用されないことを示す。alf_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が0に等しくない場合、これは、alf_cross_component_cb_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]番目のクロス成分Cbフィルタが輝度位置(xCtb,yCtb)のCb色成分サンプルのブロックに適用されないことを示す。
【0078】
alf_ctb_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が0に等しい場合、これは、クロス成分Crフィルタが輝度位置(xCtb,yCtb)のCr色成分サンプルのブロックに適用されないことを示す。alf_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が0に等しくない場合、これは、alf_cross_component_cr_idc[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]番目のクロス成分Crフィルタが輝度位置(xCtb,yCtb)のCr色成分サンプルのブロックに適用されないことを示す。
【0079】
[彩度サンプルの位置]
図8は、Chroma_format_idcが1(4:2:0彩度フォーマット)に等しく、Chroma_sample_loc_type_top_fieldまたはChroma_sample_loc_type_bottom_fieldが変数ChromaLocTypeの値に等しい場合の左上彩度サンプルの示された相対場所を示す。左上4:2:0彩度サンプルによって表される領域(その中央に大きな赤色ドットを有する大きな赤色正方形として示されている)は、左上輝度サンプルによって表される領域(その中央に小さな黒色ドットを有する小さな黒色正方形として示されている)に対して示されている。隣接する輝度サンプルによって表される領域は、それらの中心に小さな灰色のドットを有する小さな灰色の正方形として示されている。記号の説明として、「X」は輝度サンプル上部を表し、正方形は、輝度サンプル下部を表す。また、楕円形、三角形、および菱形は彩度サンプルタイプを表す。
【0080】
[拘束指向性拡張フィルタ]
ループ内制約指向性拡張フィルタ(CDEF)の主な目的は、画像の詳細を保持しながら符号化アーチファクトを除去することである。HEVCでは、サンプル適応オフセット(SAO)アルゴリズムは、異なるクラスの画素の信号オフセットを定義することによって同様の目標を達成する。SAOとは異なり、CDEFは非線形空間フィルタである。フィルタの設計は、容易にベクトル化可能であるように制約されており(すなわち、SIMD動作で実施可能である)、これは、メディアンフィルタおよびバイラテラルフィルタのような他の非線形フィルタには当てはまらなかった。
【0081】
CDEF設計は、以下の観察に由来する。符号化画像におけるリンギングアーチファクトの量は、量子化ステップサイズにほぼ比例する傾向がある。詳細度は入力画像の性質であるが、量子化画像に保持される最小の詳細度も量子化ステップサイズに比例する傾向がある。所与の量子化ステップサイズについて、リンギングの振幅は、一般に、細部の振幅よりも小さい。
【0082】
CDEFは、各ブロックの方向を識別し、次いで識別された方向に沿って、識別された方向から45度回転した方向に沿ってより少ない程度まで適応的にフィルタリングすることによって機能する。フィルタ強度は明示的にシグナリングされ、これによりぼかしに対する高度な制御が可能になる。フィルタ強度に対して効率的な符号化器探索が設計される。CDEFは、2つの以前に提案されたインループフィルタに基づいており、組み合わされたフィルタは、新興のAV1コーデックに採用された。
【0083】
[方向探索]
方向探索は、デブロッキングフィルタの直後に再構築された画素に対して動作する。これらの画素は復号器に利用可能であるため、方向はシグナリングを必要としない。探索は、非直線エッジを適切に処理するのには十分小さいが、量子化画像に適用されたときに方向を確実に推定するのには十分大きい8×8ブロックで動作する。8×8の領域にわたって一定の方向を有することはまた、フィルタのベクトル化をより容易にする。各ブロックについて、量子化ブロックと最も近い完全な指向性ブロックとの間の二乗差の和(SSD)を最小化することによって、ブロック内のパターンに最もよく一致する方向を決定する。完全指向性ブロックは、一方向の線に沿った全ての画素が同じ値を有するブロックである。図9は、8×8ブロックの方向探索の一例を示す。
【0084】
[非線形ローパス指向性フィルタ]
方向を識別する主な理由は、指向性エッジまたはパターンを維持しながらリンギングを低減するために、その方向に沿ってフィルタタップを位置合わせすることである。しかしながら、指向性フィルタリングだけでは、リンギングを十分に低減できない場合がある。主方向に沿っていない画素にフィルタタップを使用することも望ましい。ぼかしのリスクを低減するために、これらの余分なタップはより保存的に治療される。このため、CDEFは一次タップおよび二次タップを定義する。完全な2-D CDEFフィルタは、以下の式14で表される:
【数19】
【0085】
ここで、Dは減衰パラメータであり、S(p)およびS(s)はそれぞれ一次タップおよび二次タップの強度であり、ラウンド(・)は0から離れてタイを丸め、wkはフィルタ重みであり、f(d,S,D)はフィルタ処理された画素と隣接する画素の各々との間の差に対して作用する制約関数である。小さな差の場合、f(d,S,D)=dは、フィルタを線形フィルタのように動作させる。差が大きい場合、f(d,S,D)=0であり、フィルタタップを事実上無視する。
【0086】
[AV1におけるループ復元]
従来のデブロッキング動作を超えて、一般的にデノイズし、エッジの品質を向上させるために、ビデオ符号化デブロッキングで使用するための一連のループ内復元方式が提案されている。これらの方式は、適切なサイズのタイルごとにフレーム内で切り替え可能である。説明される特定の方式は、分離可能な対称ウィーナーフィルタ、部分空間投影による二重自己誘導フィルタ、およびドメイン変換再帰フィルタに基づいている。コンテンツ統計はフレーム内で実質的に変化し得るので、これらのツールは、フレームの異なる領域において異なるツールがトリガされ得る切り替え可能なフレームワーク内に統合される。
【0087】
[分離可能な対称ウィーナーフィルタ(Filter)]
有望であることが示されている復元ツールの1つは、ウィーナーフィルタである。劣化したフレーム内の全ての画素は、w×w窓内の画素の非因果フィルタリングされたバージョンとして再構成することができ、その周りで、w=2r+1が整数rに対して奇数である。2Dフィルタタップが列ベクトル化された形式のw2×1要素ベクトルFで表される場合、単純なLMMSE最適化により、フィルタパラメータはF=H-1Mで与えられ、ここで、H=E[XXT]はxの自己共分散であり、画素の周りのw×w窓内のw2サンプルの列ベクトル化バージョンであり、M=E[YXT]は、推定されるxとスカラーソースサンプルyとの相互相関である。符号化器は、デブロックフレームおよびソースにおける実現からHおよびMを推定し、得られたフィルタFを復号器に送信することができる。しかしながら、それはw2タップを送信する際にかなりのビットレートコストを招くだけでなく、分離不可能なフィルタリングも復号を非常に複雑にする。したがって、Fの性質にいくつかの追加の制約が課される。第一に、Fは分離可能であるように制約され、フィルタリングは分離可能な水平方向および垂直方向のwタップ畳み込みとして実施することができる。第二に、水平フィルタおよび垂直フィルタの各々は対称になるように制約される。第三に、水平フィルタ係数と垂直フィルタ係数の両方の和が1になると仮定する。
【0088】
[部分空間射影による二重自己誘導フィルタリング]
ガイド付きフィルタリングは、局所線形モデルが使用される画像フィルタリングのより最近のパラダイムの1つである。一例を式15に示す:
y=Fx+G
【0089】
ここで、線形モデルは、フィルタリングされていないサンプルxからフィルタリングされた出力yを計算するために使用され、FおよびGは、劣化画像およびフィルタリングされた画素の近傍のガイダンス画像の統計に基づいて決定される。ガイド画像が劣化画像と同じである場合、結果として得られるいわゆる自己誘導フィルタリングは、エッジ保存平滑化の効果を有する。自己誘導フィルタリングの特定の形態は、2つのパラメータ、すなわち半径rおよびノイズパラメータeに依存し、以下のように列挙される。
【0090】
全ての画素の周りの(2r+1)×(2r+1)窓内の画素の平均μおよび分散σ2を取得する。これは、積分画像に基づくボックスフィルタリングによって効率的に実施することができる。
【0091】
画素ごとに計算する:f=σ2/(σ2+e);g=(1-f)μ
【0092】
使用する画素の周りの3×3窓内のfおよびg値の平均として、画素ごとにFおよびGを計算する。
【0093】
フィルタリングはrおよびeによって制御され、rが大きいほど空間分散が大きくなり、eが大きいほど範囲分散が大きくなる。
【0094】
部分空間投影の原理は、図10に図式的に示されている。安価な復元X1、X2のいずれもソースYに接近していないが、適切な乗算器{α,β}は、それらがいくらか正しい方向に移動している限り、それらをソースにはるかに接近させることができる。
【0095】
[ドメイン変換再帰フィルタ]
ドメイン変換は、1-D演算のみを使用するエッジ保存画像フィルタリングに対する最近の手法であり、他のエッジ認識処理手法よりもはるかに高速である可能性がある。再帰的フィルタリングインカーネーションが使用され、処理ステップは、水平な左から右および右から左への再帰的順序1フィルタリング、続いて垂直な上から下および下から上へのフィルタリングを含み、数回(典型的には3回)の反復にわたって実行される。フィルタタップは、画素の局所的な水平および垂直勾配ならびに反復インデックスから取得される。
【0096】
[結合成分フィルタリング(Filtering)(JCF)]
結合成分フィルタリング(JCF)法は、複数の色成分からの再構成サンプルを入力として使用する以前のIDF P20US056で提案されており、出力は複数の色成分に適用される。
【0097】
ループフィルタリングには、ALF、SAO、デブロッキング、CDEF、CCALF、LR、およびJCFが含まれるが、これらに限定されない。ループフィルタリングブロック(LFB)は、ループフィルタリング処理が適用されるユニットを指す。LFBは、画像レベル四分木分割(例えば、上で論じたように)からのブロック、またはCTU、または4×4もしくは8×8などのより小さいブロックとすることができる。
【0098】
本明細書に開示される実施形態は、別々に使用され、任意の順序で組み合わされる。さらに、実施形態(例えば、エンコーダおよび/またはデコーダ)のそれぞれは、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実装され得る。例えば、1つまたはそれ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行することができる。
【0099】
次に、特定の実施形態について説明する。画像の左上隅から開始して、従来のループフィルタリング手法は、分割の残りである最後の行/列のものを除いて、画像をいくつかの等しいサイズのLFBに分割する。すなわち、最後の行/列のLFBは、画像の他の領域のLFBとは異なるサイズであってもよい。
【0100】
上述したように、LFBはループフィルタリングブロックであり、これは符号化木単位(CTU)とは異なり得、スーパーブロック(SB)とも呼ばれ得る。例えば、LFBは、フィルタリングおよびトレーニングフィルタ係数などのループフィルタリングに関連するプロセスに使用することができる。CTU/SBはLFBとして使用することができるが、一般に、LFBはCTU/SBとして使用することができない。
【0101】
いくつかの実施形態では、CTUまたはSBを使用することができる基礎となる分割は、より小さいLFBにさらに分割することができ、これは次にループフィルタリングを受けることができる。これは、ループフィルタリング出力の精度を高めるのに有利な効果を提供することができる。
【0102】
本明細書では、最初の行/列のLFBのサイズをフレーム内の他のLFBよりも小さくすることを可能にするLFBの柔軟な分割(FPLFB)が開示される。
【0103】
より具体的には、最初の行のLFBの高さおよび/または最初の列のLFBの幅は、フレーム内の他のLFB(最後の行/列のLFBを除く)の高さおよび/または幅よりも小さくてもよい。最後の行および/または最後の列のLFBはまた、サイズがより小さくてもよく、すなわち、分割の残りの部分は、サイズがより小さくてもよい。
【0104】
一実施形態では、LFBが固定のm*nサイズを有する場合、最初の行および最初の列のLFBは、k*l、k*n、またはm*lサイズを有することができ、mおよびnは、画像の幅および高さよりも小さい正の整数であり、kおよびlは、mおよびnよりも小さい正の整数である。図11は、最初および最後の行/列がより小さいLFBを有する場合のLFB分割の例を示す。
【0105】
一例では、提案された開示は、CTUがフィルタリングの基本単位である、すなわち、CTUサイズがm*nであるCCALFのシグナリングおよび処理に適用され得る。
【0106】
別の例では、提案された開示は、4×4輝度LFBを入力として取るALF分類プロセスに適用され得る。
【0107】
別の例では、提案された開示は、8x8輝度LFBを入力として取るCDEFエッジ方向導出プロセスに適用され得る。
【0108】
別の例では、提案された開示は、JCFのシグナリングおよび処理に適用され得る。
【0109】
上記で簡単に説明したように、図11はLFB分割の例を示しており、最初および最後の行/列は、32x32、64x64、128x128を含み得るm*nの値のより小さいLFB(灰色で示す)を有する。
【0110】
一実施形態では、LFBが四分木分割に基づく場合、最初の行および/または最初の列のLFBは、同じ四分木分割レベル内の他のLFBよりも小さいサイズを有する。
【0111】
一実施形態では、最初の行のLFBの高さおよび最初の列のLFBの幅が最初に決定され、次いで、対称四分木分割が実行される。最初の行/列のLFBは、四分木領域のLFBよりも小さいサイズを有する。図12は、最初および最後の行/列がより小さいLFBを有する場合の対称四分木ベースLFB分割の例を示す。ここで、塗りつぶしなしのLFBは対称四分木ベースの分割を示し、灰色の塗りつぶしで塗りつぶされたLFBは四分木ベースのLFBよりもサイズが小さい。
【0112】
一実施形態では、非対称四分木分割は、フレームの左上隅から開始して実行される。図13は、非対称四分木分割の一例を示す。ここで、塗りつぶしなしのLFBは、非対称四分木ベースの分割を示し、最後の行/列のグレーで塗りつぶされたLFBは、画像レベル四分木分割の残りである。
【0113】
一実施形態では、提案された手法は四分木ベースで適用される。
【0114】
実施形態によれば、最初の行および/または最初の列のみがより小さいLFBを有することができ、最後の行/列において分割余りは許可されない。図14は、最初の行および最初の列のみがより小さいLFBを有する場合のLFB分割の例を示す。図15は、最初の行/列のみがより小さいLFBを有する場合の対称四分木ベースLFB分割の例を示す。図16は、非対称四分木分割の一例を示す。
【0115】
実施形態によれば、異なるループフィルタは、異なるFPLFB方式を使用することができる。
【0116】
一実施形態では、デブロッキング、CDEF、およびLRは、異なるFPLFB方式を有し得る。
【0117】
一実施形態では、デブロッキング、ALF、CCALF、およびSAOは、異なるFPLFB方式を有し得る。
【0118】
実施形態によれば、異なる色成分は、異なるFPLFB方式を使用することができる。
【0119】
実施形態では、Y、Cb、およびCrは、異なるFPLFB方式を有してもよい。
【0120】
実施形態では、R、G、およびBは、異なるFPLFB方式を有してもよい。
【0121】
実施形態によれば、最初の行のLFBの高さおよび最初の列のLFBの幅は、任意のパラメータセット(例えば、DPS、VPS、SPS、PPS、APSなどを含む高レベルシンタックス)、スライスヘッダ、タイル/タイルグループヘッダまたはSEIメッセージでシグナリングすることができる。
【0122】
実施形態によれば、最初の行および列のLFBのサイズはハードコーディングされてもよい。
【0123】
一例では、最初の行のLFBの高さは32であってもよく、最初の列のLFBの幅は32であってもよく、画像内の残りのLFBは128×128(最後の行および最後の列のLFBを含む)であってもよい。
【0124】
実施形態によれば、バイナリフラグは、LFBの最初の行がより小さいサイズを有するかどうかを示すために、シーケンスごとまたは画像ごとにシグナリングされてもよく、そうである場合、最初の行の高さを示すために別個のシンタックスがシグナリングされ得る。他のバイナリフラグは、LFBの最初の列がより小さいサイズを有するかどうかを示すために、シーケンスまたは画像ごとにシグナリングされ得る。そうである場合、最初の列の幅を示すために別個のシンタックスがシグナリングされ得る。
【0125】
一例では、最初の行および最初の列のLFBがより小さいサイズを有するかどうかを示すために、2つのバイナリフラグ:lfb_first_row_smallerおよびlfb_first_column_smallerがSPSでシグナリングされる。そうである場合、lfb_first_row_heightおよびlfb_first_column_widthは、最初の行の高さおよび最初の列の幅を示すようにシグナリングされる。
【0126】
実施形態によれば、最初の行の高さを示すために1つの別個のシンタックスがシグナリングされてもよく、最初の列の幅を示すために別の別個のシンタックスがシグナリングされてもよい。
【0127】
実施形態によれば、最初の行の高さおよび最初の列の幅を示すために1つの別個のシンタックスがシグナリングされる。すなわち、最初の行の高さと最初の列の幅とが同一であってもよい。
【0128】
実施形態によれば、別個のシンタックスを使用して、特定のループフィルタリング分割、例えば、最初および最後の行の高さならびに/または最初および最後の列の幅をシグナリングすることができ、これは、スーパーブロック(SB)とも呼ばれ得る符号化木単位(CTU)の分割(すなわち、基礎となる分割)をシグナリングするために使用されるシンタックスとは異なる。ループフィルタリング分割は、基礎となるCTUおよびSB分割と同じであっても異なっていてもよい。いくつかの実施形態では、ループフィルタリング分割は、基礎となるCTUおよびSB分割を使用するために採用され得る。
【0129】
また、本開示によれば、ループフィルタリング技術およびループフィルタリング分割は、従来の分割方式に従って分割されたCTB/SBを含むフレームに適用することができる。
【0130】
例えば、従来の分割方式は、最初の行および/または最初の列が異なるサイズ、例えば、従来の分割方式に従って割り当てられたサイズよりも小さいサイズであるように修正することができる。これにより、適用されるループフィルタリングの全体的な精度が向上する。次に、実施形態を実行することができる環境について説明する。
【0131】
図17は、実施形態による通信システム1700のブロック図である。通信システム1700は、ネットワーク1750を介して相互接続された少なくとも2つの端末1710および1720を含んでよい。データの単方向送信のために、第1の端末1710は、ネットワーク1750を介して第2の端末1720に送信するためにローカル位置でデータをコーディングすることができる。第2の端末1720は、ネットワーク1750から第1の端末1710のコーディングされたデータを受信し、コーディングされたデータを復号し、復号されたデータを表示することができる。一方向データ送信は、メディアサービング用途などで一般的であることがある。
【0132】
図17は、例えば、ビデオ会議中に発生する可能性があるコーディングされたデータの双方向送信をサポートするために提供される端末1730および1740の第2のペアをさらに示す。データの双方向送信の場合、各端末1730または1740は、ネットワーク1750を介して他の端末に送信するために、ローカル位置でキャプチャされたデータを符号化し得る。各端末1730または1740はまた、他の端末によって送信された符号化されたデータを受信し、符号化されたデータを復号し、復号されたビデオデータをローカルディスプレイデバイスに表示し得る。
【0133】
図17では、端末1710~1740は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示される場合があるが、実施形態の原理はそのように限定されない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を用いるアプリケーションを見出す。ネットワーク1750は、例えば、有線および/または無線通信ネットワークを含む、端末1710~1740間で符号化されたデータを伝達する任意の数のネットワークを表す。通信ネットワーク1750は、回線交換チャネルおよび/またはパケット交換チャネルでデータをやり取りできる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本明細書において下記で説明されない限り、本説明の目的で、ネットワーク1750のアーキテクチャおよびトポロジーは、実施形態の動作にとって重要でない場合がある。
【0134】
図18は、実施形態による、環境内のG-PCC圧縮器1803およびG-PCC解凍器1810の配置図である。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮データの保存を含む、他の対応用途に等しく適用することができる。
【0135】
ストリーミングシステム1800は、例えば、圧縮されていないデータ1802を作成するソース1801、例えば、デジタルカメラを含むことができる、キャプチャサブシステム1813を含んでよい。より高いデータ量を有するデータ1802は、ソース1801に結合されたG-PCC圧縮器1803によって処理することができる。G-PCC圧縮器1803は、下記でより詳細に記載されるように、開示された主題の態様を可能にするかまたは実装するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。より低いデータ量を有する符号化されたデータ1804は、将来の使用のためにストリーミングサーバ1805に保存することができる。1つまたは複数のストリーミングクライアント1806および1808は、ストリーミングサーバ1805にアクセスして、符号化されたデータ1804のコピー1807および1809を取り出すことができる。クライアント1806はG-PCC解凍器1810を含むことができ、それは、符号化されたデータの入力コピー1807を復号し、ディスプレイ1812または他のレンダリングデバイス(描写せず)上にレンダリングすることができる出力データ1811を作成する。いくつかのストリーミングシステムでは、符号化されたデータ1804、1807、および1809は、ビデオコーディング/圧縮規格に従って符号化することができる。それらの規格の例には、G-PCC用にMPEGによって開発中の規格が含まれる。
【0136】
上記の技術は、圧縮/解凍に適合されたビデオ符号化器および/または復号器で実施することができる。符号化器および/または復号器は、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせで実装することができ、ソフトウェアは、存在する場合、1つまたは複数の非一時的コンピュータ可読媒体に格納することができる。例えば、方法(または実施形態)、符号化器、および復号器の各々は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行する。
【0137】
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に格納されたコンピュータソフトウェアとして実装され得る。例えば、図19は、開示の特定の実施形態を実装するのに適したコンピュータシステム900を示している。
【0138】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となる可能性のある任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。
【0139】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、IoTデバイスなどを含む様々な種類のコンピュータまたはその構成要素上で、実行され得る。
【0140】
コンピュータシステム900について図19に示されるコンポーネントは、例であり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。コンポーネントの構成も、コンピュータシステム900の非制限的実施形態に示されるコンポーネントのいずれか1つまたは組み合わせに関連する依存関係または要件を有すると解釈されるべきではない。
【0141】
コンピュータシステム900は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)を介して、1人または複数の人間ユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得)、ビデオ(2次元映像、立体映像を含む3次元映像など)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むために使用され得る。
【0142】
入力ヒューマンインターフェースデバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイク906、スキャナ907、カメラ908の1つまたは複数(それぞれの1つのみを図示)を含み得る。
【0143】
コンピュータシステム900は、特定のヒューマンインターフェース出力デバイスも含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ、またはジョイスティック905による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)を含むことができる。例えば、そのようなデバイスは、音声出力デバイス(スピーカ909、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン910など、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、そのいくつかはステレオグラフィック出力などの手段を通して、2次元視覚出力または3次元を超える出力を出力できるものもある、仮想現実ガラス(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず))、およびプリンタ(図示せず)であり得る。
【0144】
コンピュータシステム900は、人間がアクセス可能なストレージデバイスおよびそれらに関連する媒体、例えば、CD/DVDなどの媒体921を伴うCD/DVD ROM/RW 920を含む光学媒体、サムドライブ922、リムーバブルハードドライブまたはソリッドステートドライブ923、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの特殊なROM/ASIC/PLDベースのデバイスなどを含み得る。
【0145】
当業者はまた、本開示内容に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0146】
コンピュータシステム900は、1つまたは複数の通信ネットワークへのインターフェースを含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などにすることができる。ネットワークの例は、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線または無線ワイドエリアデジタルネットワーク、およびCANBusを含む車両および産業用などを含む。特定のネットワークは一般に、特定の汎用データポートまたは周辺バス949に接続された外部ネットワークインターフェースアダプタを必要とする(例えば、コンピュータシステム900のUSBポートなど、他のものは一般に、以下に説明するようにシステムバスへの接続によってコンピュータシステム900のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム900は他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、TVの放送)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステム向けであり得る。そのような通信は、クラウドコンピューティング環境955への通信を含むことができる。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用し得る。
【0147】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインターフェース954は、コンピュータシステム900のコア940に接続され得る。
【0148】
コア940は、1つまたは複数の中央処理ユニット(CPU)941、グラフィックス処理ユニット(GPU)942、フィールドプログラマブルゲートエリア(FPGA)943の形式の特殊なプログラム可能な処理ユニット、特定のタスクのためのハードウェアアクセラレータ944などを含み得る。これらのデバイスは、読み取り専用メモリ(ROM)945、ランダムアクセスメモリ946、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量ストレージ947と共に、システムバス948を通して接続され得る。いくつかのコンピュータシステムでは、システムバス948は、1つまたは複数の物理プラグの形でアクセス可能であり、追加のCPU、GPUなどによる拡張を可能にする。周辺デバイスは、コアのシステムバス948に直接接続されることも、周辺バス949を介して接続されることもできる。周辺バスのアーキテクチャは、PCI、USBなどを含む。グラフィックスアダプタ950は、コア940に含まれてもよい。
【0149】
CPU941、GPU942、FPGA943、およびアクセラレータ944は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM945またはRAM946に格納され得る。移行データはまた、RAM946に格納され得るが、永久データは、例えば、内部大容量ストレージ947に格納され得る。1つまたは複数のCPU941、GPU942、大容量ストレージ947、ROM945、RAM946などと密接に関連付けられ得るキャッシュメモリを使用することにより、任意のメモリデバイスへの高速ストレージおよびリトリーブが有効にされ得る。
【0150】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有し得る。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に、良く知られた利用可能な種類のものであってもよい。
【0151】
一例として、限定としてではなく、アーキテクチャ、具体的にはコア940を有するコンピュータシステム900は、1つまたは複数の有形のコンピュータ可読媒体で具体化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上部で紹介したようにユーザがアクセス可能な大容量ストレージのほか、コア内部大容量ストレージ947またはROM945などの非一時的性質のコア940の特定のストレージにも関連する媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納され、コア940によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含み得る。ソフトウェアは、コア940、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM946に格納されたデータ構造の定義およびソフトウェアによって定義されたプロセスによる、そのようなデータ構造の変更を含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路(例えば、アクセラレータ944)に配線されたまたはそうでなければ具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への参照は、適切な場合には、実行のためにソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理回路を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0152】
本開示は、いくつかの非限定的な実施形態を説明しているが、本開示の範囲内にある変更、順列、および様々な代替の同等物が存在する。したがって当業者であれば、本明細書に明確に図示または説明されていなくても、本開示の原理を具体化し、したがってその原理と範囲内に含まれる多くのシステムおよび方法を考案できることは理解されよう。
【符号の説明】
【0153】
900 コンピュータシステム
901 キーボード
902 マウス
903 トラックパッド
905 ジョイスティック
906 マイク
907 スキャナ
908 カメラ
909 スピーカ
910 タッチスクリーン
920 CD/DVD ROM/RW
921 CD/DVDなどの媒体
922 サムドライブ
923 ソリッドステートドライブ
940 コア
941 中央処理ユニット、CPU
942 グラフィックス処理ユニット、GPU
943 フィールドプログラマブルゲートエリア、FPGA
944 ハードウェアアクセラレータ
945 読み取り専用メモリ、ROM
946 ランダムアクセスメモリ
947 コア内部大容量ストレージ
948 システムバス
949 周辺バス
950 グラフィックスアダプタ
954 ネットワークインターフェース
955 クラウドコンピューティング環境
1700 通信システム
1710 第1の端末
1720 第2の端末
1730 端末
1740 端末
1750 通信ネットワーク
1800 ストリーミングシステム
1801 ソース
1802 データ
1803 G-PCC圧縮器
1804 符号化されたデータ
1805 ストリーミングサーバ
1806 ストリーミングクライアント
1807 符号化されたデータ、符号化されたデータの入力コピー
1808 ストリーミングクライアント
1809 符号化されたデータ、符号化されたデータのコピー
1810 G-PCC解凍器
1811 出力データ
1812 ディスプレイ
1813 キャプチャサブシステム
図1
図2A
図2B
図2C
図2D
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
【手続補正書】
【提出日】2022-03-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによってビデオ符号化プロセスにおいてループフィルタリングを実行する方法であって、前記方法は、
フレームの第1の部分が前記フレームの他の部分よりも小さいループフィルタリングブロック(LFB)を有するかどうかを示すフラグを含む画像データを受信するステップと、
前記フレームの前記第1の部分が、前記フレームの他の部分よりも小さいLFBを有することを示す前記フラグに応答して、前記フレームの少なくとも最初の行または最初の列が、前記フレームの他の部分よりも小さいLFBを有するように、前記画像データを複数のループフィルタリングブロックに柔軟に分割するステップと、
1つまたは複数のループフィルタを前記複数のLFBに適用するステップと、を含む、方法。
【請求項2】
前記柔軟に分割するステップは、同じフレーム内の最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが前記同じフレーム内の他のLFBよりも小さくなることを可能にするように実行される、請求項1に記載の方法。
【請求項3】
前記柔軟に分割するステップは、前記最初の行のLFBのサイズが、前記同じフレーム内に配置され、前記同じフレーム内の最後の行および最後の列のうちの少なくとも1つに配置されないLFBよりも小さい高さを有することを可能にするように実行される、請求項2に記載の方法。
【請求項4】
前記柔軟に分割するステップは、前記最初の列のLFBのサイズが、前記同じフレーム内に配置され、前記同じフレーム内の最後の行および最後の列のうちの少なくとも1つに配置されないLFBよりも小さい幅を有することを可能にするように実行される、請求項2に記載の方法。
【請求項5】
前記柔軟に分割するステップは、最初の行および最初の列のうちの少なくとも1つの中のLFBのサイズが同じフレーム内の他のLFBよりも小さくなることを可能にするように実行され、前記同じフレーム内の最後の行および最後の列に分割余りが含まれない、請求項1に記載の方法。
【請求項6】
前記最初の行のLFBの高さおよび前記最初の列のLFBの幅は、ハードコーディングされる、請求項2に記載の方法。
【請求項7】
前記最初の行および最初の列のLFBのうちの少なくとも1つは、前記同じフレームの他の領域のLFBよりも小さいサイズを有するかどうかの表示を提供するステップをさらに含む、請求項2に記載の方法。
【請求項8】
前記最初の行のLFBの高さおよび前記最初の列のLFBの幅を示すために別個のシンタックスが使用される、請求項2に記載の方法。
【請求項9】
前記最初の行のLFBの高さは、前記最初の列のLFBの幅と同一である、請求項2に記載の方法。
【請求項10】
前記同じフレーム内の最後の行および最後の列に分割余りが含まれない、請求項2に記載の方法。
【請求項11】
請求項1~10のいずれか一項に記載の方法を行うように構成された装置。
【請求項12】
前記少なくとも1つのプロセッサに、請求項1~10のいずれか一項に記載の方法を行わせるためのコンピュータプログラム。
【国際調査報告】