(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-28
(54)【発明の名称】ニューラルネットワークに基づくデブロッキングフィルタ
(51)【国際特許分類】
H04N 19/117 20140101AFI20240321BHJP
H04N 19/82 20140101ALI20240321BHJP
H04N 19/86 20140101ALI20240321BHJP
H04N 19/176 20140101ALI20240321BHJP
H04N 19/154 20140101ALI20240321BHJP
【FI】
H04N19/117
H04N19/82
H04N19/86
H04N19/176
H04N19/154
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023561218
(86)(22)【出願日】2022-12-15
(85)【翻訳文提出日】2023-10-04
(86)【国際出願番号】 US2022052943
(87)【国際公開番号】W WO2023136906
(87)【国際公開日】2023-07-20
(32)【優先日】2022-01-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-12-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ディン・ディン
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK03
5C159MA04
5C159MA21
5C159MC11
5C159TA69
5C159TB08
5C159TC08
5C159TC28
5C159TC33
5C159TD13
5C159TD17
5C159UA16
(57)【要約】
ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための方法および装置が提供される。本方法は、少なくとも1つの再構築画像を受信するステップであって、各再構築画像が1つまたは複数の再構築ブロックを含む、ステップと、少なくとも1つの再構築画像内の1つまたは複数の再構築ブロックの境界と関連する境界領域を抽出するステップとを含み得る。抽出された境界領域は、低減されたアーチファクトを有する境界領域を生成するために訓練されたデブロッキングモデルに入力されてもよく、訓練されたデブロッキングモードは、ニューラル画像圧縮(NIC)ネットワークによる推定された圧縮に基づく訓練データについて訓練される。生成された境界領域に関連するエッジ領域が除去され得、生成された境界領域に基づいて、低減されたアーチファクトを有する少なくとも1つの再構築画像が生成され得る。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための方法であって、前記方法は、
少なくとも1つの再構築画像を受信するステップであって、各再構築画像は1つまたは複数の再構築ブロックを含む、ステップと、
前記少なくとも1つの再構築画像内の前記1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出するステップと、
アーチファクトを低減する境界領域を生成するために、前記抽出された境界領域を訓練されたデブロッキングモデルに入力するステップであって、前記訓練されたデブロッキングモデルは、ニューラル画像圧縮(NIC)ネットワークによる推定された圧縮に基づく訓練データについて訓練される、ステップと、
前記生成された境界領域に関連するエッジ領域を除去するステップと、
前記生成された境界領域に基づいて低減されたアーチファクトを有する少なくとも1つの再構築画像を生成するステップとを含む、方法。
【請求項2】
前記抽出された境界領域が、前記1つまたは複数の再構築ブロックのうちの少なくとも2つの隣接ブロックからの少なくとも2つのサブ領域を含む、請求項1に記載の方法。
【請求項3】
前記抽出された境界領域を前記訓練されたデブロッキングモデルに入力するステップが、
前記抽出された境界領域のうちのそれぞれの抽出された境界領域を、前記それぞれの抽出された境界領域のコンテンツまたは前記それぞれの抽出された境界領域におけるアーチファクトの強度のうちの少なくとも1つに基づいてカテゴリに分類するステップと、
前記分類に基づいて、前記生成された境界領域を生成するために、1つまたは複数の訓練されたデブロッキングモデルのうちのそれぞれの訓練されたデブロッキングモデルにそれぞれの前記境界領域を入力するステップと
を含む、請求項1に記載の方法。
【請求項4】
前記エッジ領域を除去するステップが、予め定義されたサイズに基づいて前記エッジ領域を除去するステップを含み、前記予め定義されたサイズは、高レベル構文のビットストリームでシグナリングされる、請求項1に記載の方法。
【請求項5】
前記訓練データが、前記NICネットワークによる推定された圧縮または前記NICネットワークによる実際の圧縮によって生成された再構築画像を含む、請求項1に記載の方法。
【請求項6】
前記訓練されたデブロッキングモデルが、再構築品質を測定する品質損失関数に基づいて訓練され、訓練データは、第1のニューラルネットワークベースの画像圧縮ネットワークによる推定された圧縮を使用して生成された再構築画像、第2のニューラルネットワークベースの画像圧縮ネットワークによる実際の圧縮を使用して生成された再構築画像、または第3のニューラルネットワークベースの画像圧縮ネットワークによって生成された後に丸められた再構築画像のうちの少なくとも1つからの垂直抽出境界領域および水平抽出境界領域を含む、請求項1に記載の方法。
【請求項7】
低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成するステップが、低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成するために、前記少なくとも1つの再構築画像内の前記生成された境界領域に対応する境界領域を置き換えるステップを含む、請求項1に記載の方法。
【請求項8】
ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像内のアーチファクトを低減するためのシステムであって、前記システムは、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサと
を含み、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、少なくとも1つの再構築画像を受信させるように構成された受信コードであって、各再構築画像は、1つまたは複数の再構築ブロックを含む、受信コードと、
前記少なくとも1つのプロセッサに、前記少なくとも1つの再構築画像内の前記1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出させるように構成された抽出コードと、
前記少なくとも1つのプロセッサに、アーチファクトを低減する境界領域を生成するために、訓練されたデブロッキングモデルに前記抽出された境界領域を入力させるように構成された入力コードであって、前記訓練されたデブロッキングモデルは、ニューラル画像圧縮(NIC)ネットワークによる推定された圧縮に基づく訓練データについて訓練される、入力コードと、
前記少なくとも1つのプロセッサに、前記生成された境界領域に関連するエッジ領域を除去させるように構成された除去コードと、
前記少なくとも1つのプロセッサに、前記生成された境界領域に基づいて低減されたアーチファクトを有する少なくとも1つの再構築画像を生成させるように構成された生成コードと
を含む、システム。
【請求項9】
前記抽出された境界領域が、前記1つまたは複数の再構築ブロックのうちの少なくとも2つの隣接ブロックからの少なくとも2つのサブ領域を含む、請求項8に記載のシステム。
【請求項10】
前記入力コードが、
前記少なくとも1つのプロセッサに、前記抽出された境界領域のうちのそれぞれの抽出された境界領域を、前記それぞれの抽出された境界領域のコンテンツまたは前記それぞれの抽出された境界領域におけるアーチファクトの強度のうちの少なくとも1つに基づいてカテゴリに分類させるように構成された分類コードと、
前記少なくとも1つのプロセッサに、前記分類に基づいて、前記生成された境界領域を生成するために、1つまたは複数の訓練されたデブロッキングモデルのうちのそれぞれの訓練されたデブロッキングモデルにそれぞれの前記境界領域を入力させるように構成された第2の入力コードと
をさらに含む、請求項8に記載のシステム。
【請求項11】
前記除去コードが、予め定義されたサイズに基づいて前記エッジ領域を除去することをさらに含み、前記予め定義されたサイズは、高レベル構文のビットストリームでシグナリングされる、請求項8に記載のシステム。
【請求項12】
前記訓練されたデブロッキングモデルが、再構築品質を測定する品質損失関数に基づいて訓練され、訓練データは、第1のニューラルネットワークベースの画像圧縮ネットワークによる推定された圧縮を使用して生成された再構築画像、第2のニューラルネットワークベースの画像圧縮ネットワークによる実際の圧縮を使用して生成された再構築画像、または第3のニューラルネットワークベースの画像圧縮ネットワークによって生成された後に丸められた再構築画像のうちの少なくとも1つからの垂直抽出境界領域および水平抽出境界領域を含む、請求項8に記載のシステム。
【請求項13】
前記生成コードが、低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成するために、前記少なくとも1つの再構築画像内の前記生成された境界領域に対応する境界領域を置き換えることをさらに含む、請求項8に記載のシステム。
【請求項14】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、ニューラルネットワークベースのデブロッキングフィルタを実装させるように構成されたコンピュータコードを記憶する非一時的コンピュータ可読媒体であって、前記ニューラルネットワークベースのデブロッキングフィルタは、
少なくとも1つの再構築画像を受信することであって、各再構築画像は1つまたは複数の再構築ブロックを含む、受信することと、
前記少なくとも1つの再構築画像内の前記1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出することと、
アーチファクトを低減する境界領域を生成するために、前記抽出された境界領域を訓練されたデブロッキングモデルに入力することであって、前記訓練されたデブロッキングモデルは、ニューラル画像圧縮(NIC)ネットワークによる推定された圧縮に基づく訓練データについて訓練される、生成することと、
前記生成された境界領域に関連するエッジ領域を除去することと、
前記生成された境界領域に基づいて低減されたアーチファクトを有する少なくとも1つの再構築画像を生成することと
を行う、非一時的コンピュータ可読媒体。
【請求項15】
前記抽出された境界領域が、前記1つまたは複数の再構築ブロックのうちの少なくとも2つの隣接ブロックからの少なくとも2つのサブ領域を含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記抽出された境界領域を前記訓練されたデブロッキングモデルに入力することが、
前記抽出された境界領域のうちのそれぞれの抽出された境界領域を、前記それぞれの抽出された境界領域のコンテンツまたは前記それぞれの抽出された境界領域におけるアーチファクトの強度のうちの少なくとも1つに基づいてカテゴリに分類することと、
前記分類に基づいて、前記生成された境界領域を生成するために、1つまたは複数の訓練されたデブロッキングモデルのうちのそれぞれの訓練されたデブロッキングモデルにそれぞれの前記境界領域を入力することと
を含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記エッジ領域を除去することが、予め定義されたサイズに基づいて前記エッジ領域を除去することを含み、前記予め定義されたサイズは、高レベル構文のビットストリームでシグナリングされる、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記訓練データが、前記NICネットワークによる推定された圧縮または前記NICネットワークによる実際の圧縮によって生成された再構築画像を含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記訓練されたデブロッキングモデルが、再構築品質を測定する品質損失関数に基づいて訓練され、訓練データは、第1のニューラルネットワークベースの画像圧縮ネットワークによる推定された圧縮を使用して生成された再構築画像、第2のニューラルネットワークベースの画像圧縮ネットワークによる実際の圧縮を使用して生成された再構築画像、または第3のニューラルネットワークベースの画像圧縮ネットワークによって生成された後に丸められた再構築画像のうちの少なくとも1つからの垂直抽出境界領域および水平抽出境界領域を含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項20】
低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成することが、低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成するために、前記少なくとも1つの再構築画像内の前記生成された境界領域に対応する境界領域を置き換えることを含む、請求項14に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年1月13日に出願された米国仮特許出願第63/299,227号および2022年12月13日に出願された米国特許出願第18/080,201号に基づいており、それらの優先権を主張し、それらの開示はその全体が参照により本明細書に組み込まれる。
【0002】
本開示の実施形態は、ブロック単位のニューラル画像圧縮(NIC)のためのニューラルネットワークベースのデブロッキングフィルタに関する。
【背景技術】
【0003】
関連技術において、ブロックベースのイントラ予測および残差コーディングメカニズムは、HEVCおよびVVC規格などの最新のビデオコーディングシステムにおいて画像フレームを圧縮するために非常に効果的であることが証明されている。画像全体は、最初にコーディングツリーユニット(CTU)に分割される。各CTUについて、画像全体が様々なサイズのブロックに分割され、様々な角度方向に沿って先の圧縮ブロックの境界画素をコピーすることによって予測ブロックが生成され、次いで、元のブロックと予測ブロックとの間の残差が圧縮される。残差は、元の画素よりもはるかに効率的に符号化され得、より良好なコーディング性能を達成することができる。
【0004】
ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、将来のビデオコーディング技術の標準化に対する潜在的なニーズを積極的に探ってきた。ISO/IEC JPEGは、ディープニューラルネットワーク(DNN)を使用したAIベースのエンドツーエンドのニューラル画像圧縮に焦点を当てたJPEG-AIグループを確立している。Googleのような大企業は、NICのための専門的な研究プロジェクトに資金を提供してきた。また、中国のAVS規格では、AVS-AI専門グループも結成され、ニューラル画像およびビデオ圧縮技術に取り組んでいる。最近の手法の成功は、高度なニューラル画像およびビデオ圧縮方法論に対するますます多くの産業上の関心をもたらしている。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の一態様によれば、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像内のアーチファクトを低減するための方法が提供され得る。本方法は、少なくとも1つのプロセッサによって実行され得、少なくとも1つの再構築画像を受信するステップであって、各再構築画像は、1つまたは複数の再構築ブロックを含む、ステップと、少なくとも1つの再構築画像内の1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出するステップと、アーチファクト低減境界領域を生成するために、抽出された境界領域を訓練されたデブロッキングモデルに入力するステップと、アーチファクト低減境界領域に関連するエッジ領域を除去するステップと、アーチファクト低減境界領域に基づいて少なくとも1つのアーチファクトが低減された再構築画像を生成するステップと、を含む。
【0006】
本開示の一態様によれば、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像内のアーチファクトを低減するためのシステムが提供され得る。本システムは、コンピュータプログラムコードを記憶するように構成される少なくとも1つのメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって指示されるように動作するように構成される少なくとも1つのプロセッサと、を含み得る。このプログラムコードは、少なくとも1つのプロセッサに対して、少なくとも1つの再構築画像を受信させるように構成された受信コードであって、各再構築画像は、1または複数の再構築ブロックを備える、受信コードと、少なくとも1つのプロセッサに、少なくとも1つの再構築画像内の1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出させるように構成された抽出コードと、アーチファクト低減境界領域を生成するために、少なくとも1つのプロセッサに、抽出された境界領域を訓練されたデブロッキングモデルに入力させるように構成された入力コードと、少なくとも1つのプロセッサに、アーチファクト低減境界領域に関連するエッジ領域を除去させるように構成された除去コードと、少なくとも1つのプロセッサに、アーチファクト低減境界領域に基づいて少なくとも1つのアーチファクトが低減された再構築画像を生成させるように構成された生成コードと、を含む。
【0007】
本開示の一態様によれば、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、ニューラルネットワークベースのデブロッキングフィルタを実装させるように構成された非一時的コンピュータ可読媒体が提供され、ニューラルネットワークベースのデブロッキングフィルタは、少なくとも1つの再構築画像を受信し、各再構築画像は、1つまたは複数の再構築ブロックを含み、少なくとも1つの再構築画像内の1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出し、抽出された境界領域を訓練されたデブロッキングモデルに入力して、アーチファクト低減境界領域を生成し、アーチファクト低減境界領域に関連するエッジ領域を除去し、アーチファクト低減境界領域に基づいて少なくとも1つのアーチファクトが低減された再構築画像を生成する。
【0008】
本開示の主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明、および添付の図面でより明らかになる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態による通信システムの簡略化されたブロック図である。
【
図2】
図1の1つまたは複数のデバイスの例示的な構成要素を示すブロック図である。
【
図3A】一実施形態による例示的な境界強度導出プロセスのフローチャートである。
【
図3B】一実施形態による例示的な境界強度導出プロセスの概略図である。
【
図4A】一実施形態による、ニューラルネットワークベースのデブロッキングフィルタの例示的な構造を示す図である。
【
図4B】一実施形態による、ニューラルネットワークベースのデブロッキングフィルタの例示的な構造を示す別の図である。
【
図5A】一実施形態による、境界領域を抽出する例示的なプロセスを示す図である。
【
図5B】一実施形態による、境界領域を抽出する例示的なプロセスを示す別の図である。
【
図6A】一実施形態による、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための例示的なプロセスを示すワークフロー図である。
【
図6B】一実施形態による、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための例示的なプロセスを示す別のワークフロー図である。
【
図6C】一実施形態による、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための例示的なプロセスを示すさらに別のワークフロー図である。
【
図7】一実施形態による、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するためのプロセスのフローチャートである。
【
図8】一実施形態による、ビデオコーディングおよび復号環境の図である。
【
図9】本開示の実施形態を実装するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0010】
上述したように、組織は、ディープニューラルネットワーク(DNN)を使用したAIベースのエンドツーエンドニューラル画像圧縮に焦点を当てた標準化の潜在的なニーズを積極的に探している。
【0011】
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示している。通信システム100は、ネットワーク150を介して相互接続された少なくとも2つの端末140~130を含み得る。データの単方向伝送のために、第1の端末140は、ネットワーク150を介して他方の端末130に伝送するためにローカル位置でビデオデータをコーディングし得る。第2の端末130は、ネットワーク150から他方の端末のコーディング済ビデオデータを受信し、コーディング済データを復号し、復元されたビデオデータを表示し得る。単方向データ伝送は、メディアサービングアプリケーションなどにおいて一般的であり得る。
【0012】
図1は、例えばビデオ会議中に発生し得るコーディング済ビデオの双方向伝送をサポートするために設けられた端末110,120の第2のペアを示している。データの双方向伝送の場合、各端末110,120は、ネットワーク150を介して他の端末に伝送するために、ローカル位置でキャプチャされたビデオデータをコーディングし得る。各端末110,120はまた、他の端末によって伝送されたコーディング済ビデオデータを受信し得、コーディング済データを復号し得、復元されたビデオデータをローカルディスプレイデバイスに表示し得る。
【0013】
図1では、端末140~120は、サーバ、パーソナルコンピュータ、およびスマートフォンとして例示され得るが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用ビデオ会議機器における用途が考えられる。ネットワーク150は、例えば、有線および/または無線通信ネットワークを含む、端末140~120間でコーディング済ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク150は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本解説の目的のために、ネットワーク150のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0014】
図2は、
図1の1つまたは複数のデバイスの例示的な構成要素例のブロック図である。
【0015】
デバイス200は、端末110~140のいずれか1つに対応し得る。
図2に示されるように、デバイス200は、バス210、プロセッサ220、メモリ230、ストレージ構成要素240、入力構成要素250、出力構成要素260、および通信インターフェース270を含み得る。
【0016】
バス210は、デバイス200の構成要素間の通信を可能にする構成要素を含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ220は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理構成要素である。いくつかの実装形態では、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つまたは複数のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ならびに/またはプロセッサ220が使用するための情報および/もしくは命令を記憶する別のタイプの動的もしくは静的なストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、および/もしくは光メモリ)を含む。
【0017】
ストレージ構成要素240は、デバイス200の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、ストレージ構成要素240は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を含み得る。
【0018】
入力構成要素250は、デバイス200がユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信することを可能にする構成要素を含む。追加的に、または代替的に、入力構成要素250は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS)構成要素、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでいてもよい。出力構成要素260は、デバイス200(例えば、ディスプレイ、スピーカ、および/または1つもしくは複数の発光ダイオード(LED))からの出力情報を提供する構成要素を含む。
【0019】
通信インターフェース270は、デバイス200が有線接続、無線接続、または有線接続と無線接続の組み合わせなどを介して他のデバイスと通信することを可能にするトランシーバのような構成要素(例えば、トランシーバならびに/または別個の受信機および送信機)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信し、かつ/または別のデバイスに情報を提供することを可能にし得る。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含んでもよい。
【0020】
デバイス200は、本明細書に記載の1つまたは複数のプロセスを実行し得る。デバイス200は、プロセッサ220がメモリ(230)および/またはストレージ構成要素240などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行したことに応答して、これらのプロセスを実行し得る。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにわたって広がるメモリ空間を含む。
【0021】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース270を介して別のデバイスからメモリ230および/またはストレージ構成要素240に読み込まれ得る。メモリ230および/またはストレージ構成要素240に記憶されたソフトウェア命令は、実行されると、本明細書に記載された1つまたは複数のプロセスをプロセッサ220に実行させ得る。追加的に、または代替的に、本明細書に記載された1つまたは複数のプロセスを実行するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路が使用されてもよい。したがって、本明細書に記載の実装形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【0022】
図2に示される構成要素の数および配置は、一例として提供される。実際には、デバイス200は、
図2に示された構成要素に比べて、追加の構成要素、少ない構成要素、異なる構成要素、または異なる配置の構成要素を含んでもよい。追加的に、または代替的に、デバイス200の構成要素のセット(例えば、1つまたは複数の構成要素)は、デバイス200の構成要素の別のセットによって実行されるものとして記載された1つまたは複数の機能を実行してもよい。
【0023】
入力画像xが与えられると、NICの目標は、画像xをDNNエンコーダへの入力として使用して、記憶および伝送のためにコンパクトな圧縮表現
【数1】
を計算し、次いで
【数2】
をDNNデコーダへの入力として使用して画像
【数3】
を再構築することである。いくつかのNIC方法は、DNNエンコーダが画像x全体をその入力として直接使用する変分オートエンコーダ(VAE)構造を取り、これは、ブラックボックスのように機能するネットワーク層のセットを通過し、出力表現
【数4】
を計算する。これに対応して、DNNデコーダは、表現
【数5】
全体をその入力として取り、これは、別のブラックボックスのように機能するネットワーク層の別のセットを通過し、再構築された
【数6】
を計算する。
【0024】
HEVCにおけるデブロッキングフィルタ-境界強度導出
HEVCでは、デブロッキングフィルタプロセスは、デコーディングプロセスと同じ順序でCUごとに実行されることが可能である。最初に垂直エッジがフィルタリングされ(水平フィルタリング)、次に水平エッジがフィルタリングされ得る(垂直フィルタリング)。ルマ成分とクロマ成分の両方について、フィルタリングされると決定された8×8ブロック境界に対してフィルタリングが適用され得る。いくつかの実施形態では、複雑さを低減するために、4×4のブロック境界は処理されない場合がある。
【0025】
境界強度(Bs)は、境界に必要とされ得るフィルタリングプロセスの強さを反映する。Bsの値2は強いフィルタリングを示し、1は弱いフィルタリングを示し、0はデブロッキングフィルタリングを行わないことを示す。
【0026】
いくつかの実施形態では、PおよびQは、フィルタリングに関与するブロックとして定義され得、Pは、境界の左(垂直エッジの場合)または上(水平エッジの場合)に位置するブロックを表し得、Qは、境界の右(垂直エッジの場合)または下(水平エッジの場合)に位置するブロックを表し得る。
図3Aは、イントラコーディングモード、非ゼロ変換係数の存在、参照ピクチャ、動きベクトルの数および動きベクトル差に基づいてBs値がどのように計算され得るかに関するプロセス300を示し得る。一例として、MV差が閾値Tを下回るとき、Bsは0に等しい。閾値Tは1画素に設定される。HEVCでは、MV精度は1/4画素であり、MV差閾値は4に設定される。VTMでは、MV精度は1/16であり、MV差は16に設定される。
【0027】
いくつかの実施形態では、Bsは4×4ブロックベースで計算され得るが、8×8グリッドに再マッピングされる。8×8グリッドの境界のBsとしては、4×4グリッドのラインからなる8画素に対応するBsの2値のうちの最大値を選択すればよい。
【0028】
VVCにおけるデブロッキングフィルタ
VTM5では、デブロッキングフィルタリングプロセスはHEVCとほぼ同じである。しかしながら、再構築されたサンプルの平均ルマレベルに依存するデブロッキングフィルタのフィルタ強度、デブロッキングtCテーブル拡張、ルマ用の強いデブロッキングフィルタ、クロマ用のより強いデブロッキングフィルタ、および4×4サンプルグリッド上のルマデブロッキング、ならびに8×8サンプルグリッド上のクロマデブロッキング、の修正が追加される。
【0029】
再構築された平均ルマレベルに依存するフィルタ強度
HEVCにおいて、デブロッキングフィルタのフィルタ強度は、平均化された量子化パラメータqPLから導出される変数βおよびtCによって制御され得る。VTM5では、デブロッキングフィルタは、再構築されたサンプルのルマレベルに従ってqPLにオフセットを加えることによってデブロッキングフィルタの強度を制御し得る。再構築されたルマレベルLLは、式(1)に示すように導出され、i=0..3およびk=0および3のサンプル値pi,kおよびqi,kは、
図3Bに示すように導出される。
LL=((p0,0+p0,3+q0,0+q0,3)≫2)/(1≪bitDepth) ...式(1)
【0030】
変数qPLは、式(2)に示すように導出され得、QpQおよびQpPは、それぞれサンプルq0,0およびp0,0を含むコーディングユニットの量子化パラメータを表す。オフセットqpOffsetは伝達関数に依存し、値はSPSでシグナリングされ得る。
qPL=((QpQ+QpP+1)≫1)+qpOffset ...式(2)
【0031】
VTM5では、最大QPが51から63に変更されており、ブロックQPに基づいてデブロッキングパラメータtCの値を導出するデブロッキングテーブルに対応する変更を反映することが望まれる。以下は、QP範囲の拡張に対応するために更新された tC テーブルである。
tC=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,5,5,6,6,7,8,9,10,11,13,14,16,18,20,22,25,28,31,35,39,44,50,56,63,70,79,88,99]
【0032】
ルマ用のデブロッキングフィルタ
境界の片側のサンプルが大きなブロックに属する場合、双線形フィルタ(より強いデブロッキングフィルタ)が使用される。大きなブロックに属するサンプルは、垂直エッジでは幅が32以上、水平エッジでは高さが32以上と定義される。次いで、i=0~Sp-1のブロック境界サンプルpiおよびj=0~Sq-1のqiが、以下のように線形補間によって置き換えられる。
pi’=(fi*Middles,t+(64-fi)*Ps+32)≫6)、pi±tcPDiにクリップされる ...式(3)
qj’=(gj*Middles,t+(64-gj)*Qs+32)≫6)、qj±tcPDjにクリップされる ...式(4)
【0033】
ここで、tcPDiおよびtcPDjの項は位置依存クリッピングであり、gj、fi、Middles,t、PsおよびQsは以下に与えられる。
【0034】
【0035】
上述のより強いルマフィルタは、条件1、条件2、および条件3のすべてがTRUEである場合にのみ使用され得る。条件1は、「大きいブロックの条件」である。この条件は、P側とQ側とにあるサンプルが大きいブロックに属するかどうかを検出する。条件2および条件3は、以下の通りであり得る:
条件2=(d<β)?TRUE:FALSE
条件3=StrongFilterCondition=(dpqは(β≫2)未満であり、sp3+sq3は(3*β≫5)未満であり、Abs(p0-q0)は(5*tC+1)≫1未満である)?TRUE:FALSE
【0036】
クロマ用のデブロッキングフィルタ
いくつかの実施形態では、クロマ用の以下の強いデブロッキングフィルタは、式(5)~(7)に示すように定義され得る。
p2’=(3*p3+2*p2+p1+p0+q0+4)≫3 ...式(5)
p1’=(2*p3+p2+2*p1+p0+q0+q1+4)≫3 ...式(6)
p0’=(p3+p2+p1+2*p0+q0+q1+q2+4)≫3 ...式(7)
【0037】
上記で開示されたクロマフィルタは、8×8のクロマサンプルグリッドに対してデブロッキングを実行し得る。クロマの強いフィルタは、ブロック境界の両側で使用されてもよい。いくつかの実施形態では、クロマエッジの両側が(クロマサンプルの単位で)8以上であり、3つの条件を有する以下の決定が満たされるとき、クロマフィルタが選択され得る。1つ目は、境界強度ならびに大きなブロックの決定である。2つ目と3つ目は、それぞれオン/オフ決定と強いフィルタの決定であるHEVCルマ決定と同じである。第1の決定では、表2に示すように、クロマフィルタリングのために境界強度(Bs)が修正される。表1の条件を順次確認する。条件が満たされる場合には、優先度のより低い残りの条件がスキップされる。
【0038】
【0039】
クロマデブロッキングは、Bsが2に等しいときに実行されてもよく、または大きなブロック境界が検出されたときにBsが1に等しいときに実行されてもよい。第2および第3の条件は、HEVCルマの強いフィルタ決定と同じであってもよい。
【0040】
サブブロック境界のデブロッキングフィルタ
VVCでは、デブロッキングフィルタは、ルマ用の4×4グリッド、およびクロマ用の8×8グリッドで有効にされ得る。デブロッキングフィルタリングプロセスは、CU境界ならびにサブブロック境界に適用され得る。サブブロック境界は、サブブロックの時間動きベクトル予測(STMVP)モードおよびアフィンモードによって導入された予測ユニット境界と、サブブロック変換(SBT)モードおよびイントラサブパーティショニング(ISP)モードによって導入された変換ユニット境界とを含み得る。
【0041】
いくつかの実施形態では、SBTおよびISPサブブロックの場合、HEVCデブロッキングフィルタ内のTUと同じロジックが適用され得る。デブロッキングフィルタは、エッジを横切るいずれかのサブブロックに非ゼロ係数がある場合にTU境界に適用され得る。4×4グリッド上のSbTMVPおよびアフィンサブブロックの場合、HEVCデブロッキングフィルタにおけるPUと同じロジックが適用され得る。PU境界の場合、動きベクトルと近傍サブブロックの参照ピクチャとの間の差を考慮してデブロッキングフィルタが適用され得る。
【0042】
本開示の態様は、NIC用のニューラルネットワークベースのデブロッキングフィルタ、具体的には、ブロック境界内のアーチファクト領域をデブロックするためのブロック単位のNIC用のデブロッキングフィルタ機構に関する。
【0043】
デブロッキングフィルタは、NICのデコーダ側に適用されてもよい。ブロック単位のNICによる再構築画像は、ブロック間のアーチファクトを含む。本開示で提案されるように、デブロッキングフィルタを使用して、そのようなアーチファクトを最小限に抑えることが可能である。デブロッキングDNNは、畳み込み層または残差層のセットを含み得る。残差ブロックの一例は、
図4Aのブロック
図400である。画像超解像によって使用されるDNNは、ここでは、(例えば、出力サイズを入力サイズと同じになるように変更することによって)使用され得る。ニューラルネットワークベースのデブロッキングフィルタを形成する残差ブロックのネットワークの一例は、
図4Bのブロック
図450である。
【0044】
本開示は、画像圧縮方法またはデブロッキングフィルタの特定のネットワーク構造にいかなる制限も課さないことが理解されよう。さらに、本開示は、ブロックサイズ、画像をブロックに分割する方法、ならびにアーチファクト領域のデブロック順序にいかなる制限も課さない。
【0045】
いくつかの実施形態では、一例として、ブロック単位の画像圧縮では、再構築ブロックは、ブロックの境界の中にアーチファクトを含む
【数7】
を形成する。次に、そのようなアーチファクトを最小化し、
【数8】
を生成するために使用されるデブロッキングDNNに、全体
【数9】
(または
【数10】
内の部分的なアーチファクト領域)を送信し得る。
【0046】
本明細書に開示されるようなデブロッキング方法は、ブロック間のアーチファクトを低減するために使用され得る。
図6Aは、ニューラルネットワークベースのデブロッキングモジュールの一実施形態の例示的なワークフロー6000を示している。図示を容易にするために、
図6Aには4つの等しいサイズのブロックしかない。画像は多数のブロックに分割されてもよく、各ブロックのサイズは異なっていてもよいことが理解されよう。
【0047】
(ブロック境界領域内の)ブロック間のアーチファクトを低減するために、DNNベースのデブロッキングモデルが使用され得る。一実施形態では、1つまたは複数の再構築画像全体をデブロッキングモデルに送信してもよい。デフォルトでは、境界領域全体は、デブロッキングモジュールへの入力として、またデブロッキングモジュールの出力としても使用され得る。出力境界領域内のサンプルは、アーチファクトが低減された再構築画像を生成するために、デブロッキングモジュールの前にサンプルを置き換えるために使用され得る。
【0048】
本開示の一態様によれば、隣接するブロックによって誘発されたアーチファクトを含む領域を抽出し得る(本明細書では境界領域として示される)。
図6Aおよび
図5Aに示すように、境界領域は、2つの隣接するブロックからの2つのサブ領域で構成されてもよく、境界領域のサイズは、2m×nまたはn×2mであってもよく、nはブロックの長さであり、mはブロックから取られた領域の高さである。mの値は整数として変化してもよい。一例として、4画素とすることができる。境界領域は、アーチファクトを低減するためにデブロッキングモジュールに送信され得る。次に、
図6Aに示すように、画像内のデブロックされた領域が更新され得る。
図5Aでは、隣接する2つのブロックから境界領域が特定される。いくつかの実施形態では、境界領域はまた、
図5Bに示すように複数のブロックから構成されてもよい。
【0049】
本開示の一態様によれば、ブロック間のアーチファクトを低減するためのプロセスは、デブロッキングモデル自体によって引き起こされるブロッキング効果を低減するために、デブロッキングモデルの出力のエッジ領域を除去することを含み得る。一例として、
図6Bに示すように、プロセス6400は、デブロッキングモデルの出力のエッジ領域を除去することを含む。プロセス6400に示すように、境界領域の外側部分(より明るい灰色の領域)は、デブロッキングフィルタの前にサンプルに適用することから除去され得る。言い換えれば、デブロッキングの出力サイズは、除去された部分が入力境界領域の外側領域(両側)から来る入力サイズよりも小さくてもよい。境界領域から除去されたエッジ領域のサイズは、異なる実施形態では変更されてもよい。一実施形態では、両側で4サンプル幅など、除去されたエッジ領域の固定サイズ(長さ)が使用され得る。いくつかの実施形態では、除去されたエッジ領域のサイズ(長さ)は、ピクチャレベル、シーケンスレベルなどの高レベル構文のビットストリームで指定され得る。
【0050】
図6A~
図6Bは、境界領域を改善するために単一のデブロッキングモデルを使用する実施形態を開示している。
図6Cは、複数のニューラルネットワークベースのデブロッキングモジュールを使用するブロック間のアーチファクト低減のためのプロセス6800を示している。プロセス6800は、アーチファクトをより効率的に除去および/または低減するために、特定のタイプの境界領域に対して特定のデブロッキングモデルを利用することを含み得る。
【0051】
プロセス6800に示すように、境界領域が抽出されると、分類モジュール(DNNベースのモデル、またはビデオコーデックで使用される従来の方法、または単に分散)を使用して、境界領域を異なるカテゴリに分類し得る。次に、境界領域は、それらのカテゴリに従って異なるデブロッキングモデルに送信され得る。いくつかの実施形態では、抽出された境界領域は、(1)境界領域のコンテンツおよび(2)アーチファクトの強度のうちの一方に基づいて定義されてもよい。一例として、高周波数コンテンツを有する境界領域は、低周波数コンテンツをデブロックするように設計されたモデルとは異なるモデルに送信されてもよい。いくつかの実施形態では、領域の周波数は、領域内の異なるサンプルの最大差によって測定され得る。一例では、境界の片側の縁部付近のサンプルの差を測定してもよく、別の例では、境界の他方の側の縁部付近のサンプルの差も測定してもよい。
【0052】
マルチモデルデブロッキングモジュールにおける境界領域は、
図6A~
図6Cに記載されているものに限定されないことが理解されよう。
図6A~
図6Bに記載されたデブロッキング領域はまた、マルチモデルデブロッキング方法を使用してもよい。
【0053】
プロセス6000、6400、および6800の各々は、ブロック単位のNICの再構築画像内のアーチファクトを除去するための実施形態である。目標は、境界から離れた画素よりも境界に近い画素をデブロックすることであり得る。デブロッキングモデルは、いくつかの畳み込み層または残差層を含み得る。CNNベースのアテンション機構(例えば、非局所アテンション、SEnet)やResidualネット(convnetのセットおよび活性化関数を含む)が使用されてもよい。
【0054】
いくつかの実施形態では、エンコーダおよびデコーダは、従来のデブロッキング方法または本明細書に開示されるニューラルネットワークベースのデブロッキング方法の間で選択することができる場合がある。選択決定は、スライス/ピクチャレベルなど、ピクチャグループための様々なレベルで、またはシーケンスレベルで行われてもよい。選択はまた、シグナリングフラグを送信することによって行われてもよく、またはコンテンツの分析から推論されてもよい。
【0055】
いくつかの実施形態では、エンコーダおよびデコーダは、画素上のDNN導出調整が境界強度のデフォルトレベルにあると仮定して、提案された方法の上に様々なレベルの境界強度を適用することができる可能性がある。境界条件およびブロックコーディング特徴を解析することにより、異なるレベルのBsが、デフォルト調整を修正(例えば、拡大または縮小)するために割り当てられ得る。
【0056】
1つまたは複数のデブロッキングモデル(例えば、デブロッキングDNN)は、本開示の実施形態に従って訓練され得る。一実施形態では、重み係数デブロッキングDNNは、例えば、事前訓練された対応するDNNモデルを使用することによって、またはそれらを乱数に設定することによって初期化され得る。次に、入力訓練画像xが与えられると、ブロックアーチファクトを有する再構築画像
【数11】
を取得するために、ブロックごとのNICネットワークを通過する場合がある。次に、ブロックアーチファクトの抽出された領域は、入力としてデブロッキングDNNに送信され得る。より良好な再構築品質を達成するために、従来のPSNR、MS-SSIM、または両方の重み付き組み合わせなどの歪み損失であり得る、再構築品質を測定するために品質損失関数が使用され得る。
【0057】
一実施形態では、デブロッキングDNNの入力は、垂直領域または水平領域であってもよい。他の実施形態では、デブロッキングDNNの入力は、垂直領域のみまたは水平領域のみであってもよい。いくつかの実施形態では、転置の演算は、デブロッキングDNNへの入力として使用される抽出された境界アーチファクト領域に適用されてもよく、デブロッキングDNNの出力は元の形状に転置されて戻されてもよい。
【0058】
一実施形態では、訓練データは、NICネットワークによる推定された圧縮によって生成され得る再構築画像
【数12】
を含み得る。別の実施形態では、再構築画像
【数13】
は、NICネットワークによる実際の圧縮によって生成され得る。一実施形態では、再構築画像
【数14】
はNIC圧縮直後に丸められてもよく、次いでブロックアーチファクト領域はデブロッキングDNNへの入力として選択されてもよい。別の実施形態では、再構築画像
【数15】
は丸められていなくてもよく、ブロックアーチファクトは、量子化なしでNIC圧縮後に選択されてもよい。
【0059】
図7は、一実施形態による、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための例示的なプロセス700のフローチャートを示している。
【0060】
動作705において、少なくとも1つの再構築画像が受信され得る。いくつかの実施形態では、各再構築画像は、1つまたは複数の再構築ブロックを含む。
【0061】
動作710において、少なくとも1つの再構築画像内の1つまたは複数の再構築ブロックの境界に関連する境界領域が抽出され得る。いくつかの実施形態では、抽出された境界領域は、1つまたは複数の再構築ブロックのうちの少なくとも2つの隣接ブロックからの少なくとも2つのサブ領域を含み得る。
【0062】
動作715において、抽出された境界領域は、訓練されたデブロッキングモデルに入力されて、アーチファクト低減境界領域(本開示における低減されたアーチファクトを有する生成された境界領域または低減されたアーチファクトを有する生成された境界領域とも呼ばれる)を生成し得る。いくつかの実施形態では、抽出された境界領域が訓練されたデブロッキングモデルに入力されることは、抽出された境界領域のうちのそれぞれの抽出された境界領域を、それぞれの抽出された境界領域のコンテンツまたはそれぞれの抽出された境界領域内のアーチファクトの強度のうちの少なくとも1つに基づいてカテゴリに分類することを含み得る。いくつかの実施形態では、分類に基づいて、それぞれの境界領域は、アーチファクト低減境界領域を生成するために、1つまたは複数の訓練されたデブロッキングモデルのうちのそれぞれの訓練されたデブロッキングモデルに入力されてもよい。いくつかの実施形態では、訓練されたデブロッキングモデルは、ニューラル画像圧縮(NIC)ネットワークによる推定された圧縮に基づく訓練データについて訓練される。
【0063】
いくつかの実施形態では、訓練されたデブロッキングモデルは、ニューラルネットワークベースのモデルである。いくつかの実施形態では、訓練されたデブロッキングモデルは、再構築品質を測定する品質損失関数に基づいて訓練されてもよい。訓練データは、第1のニューラルネットワークベースの画像圧縮ネットワークによる推定された圧縮を使用して生成された再構築画像、第2のニューラルネットワークベースの画像圧縮ネットワークによる実際の圧縮を使用して生成された再構築画像、または第3のニューラルネットワークベースの画像圧縮ネットワークによって生成された後に丸められた再構築画像のうちの少なくとも1つからの垂直抽出境界領域および水平抽出境界領域を含み得る。
【0064】
動作720において、アーチファクト低減境界領域に関連するエッジ領域が除去され得る。いくつかの実施形態では、エッジ領域を除去することは、予め定義されたサイズに基づいてエッジ領域を除去することを含み得、予め定義されたサイズは、高レベル構文のビットストリームでシグナリングされる。
【0065】
動作725において、アーチファクト低減境界領域に基づいて、少なくとも1つのアーチファクトが低減された再構築画像(本開示において低減されたアーチファクトを有する再構築画像とも呼ばれる)が生成され得る。いくつかの実施形態では、少なくとも1つのアーチファクトが低減された再構築画像を生成することは、少なくとも1つの再構築画像内のアーチファクト低減境界領域に対応する境界領域を置換して、少なくとも1つのアーチファクトが低減された再構築画像を生成することを含み得る。
【0066】
図8は、開示される主題の用途800の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの格納などを含む、他のビデオ対応アプリケーションに等しく適用可能であり得る。
【0067】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム802を作成する、例えばデジタルカメラなどのビデオソース801を含み得るキャプチャサブシステム813を含み得る。符号化されたビデオビットストリームと比較して高いデータボリュームを強調するために太線で示されているサンプルストリーム802は、カメラ801に接続されたエンコーダ803で処理され得る。エンコーダ803は、以下でより詳細に説明されるように、開示される主題の態様を可能にするかまたは実装するためのハードウェア、ソフトウェア、またはそれらの組み合わせを含み得る。符号化されたビデオビットストリーム804は、サンプルストリームと比較してより少ないデータ量を強調するために細い線として描かれ、将来の使用のためにストリーミングサーバ805に記憶され得る。1つまたは複数のストリーミングクライアント806,808は、ストリーミングサーバ805にアクセスして、符号化されたビデオビットストリーム804のコピー807,809を取得し得る。クライアント806は、ビデオデコーダ810を含み得、ビデオデコーダ810は、符号化されたビデオビットストリームの着信コピー807を復号し、ディスプレイ812または他のレンダリングデバイス上にレンダリングされ得る送出ビデオサンプルストリーム811を作成する。一部のストリーミングシステムでは、ビデオビットストリーム804,807,809を、いくつかのビデオコーディング/圧縮標準規格に従って符号化し得る。それらの規格の例には、H.265 HEVCが含まれる。多用途ビデオコーディング(VVC)として非公式に知られているビデオコーディング規格が開発中である。開示された主題は、VVCのコンテキストで使用され得る。
【0068】
本開示の実施形態は、様々なタイプの品質メトリックに対応する柔軟で一般的なフレームワークを提供する。
【0069】
上述した本開示の実施形態の技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装され得る。例えば、
図9は、本開示の主題の実施形態を実装するのに適したコンピュータシステム900を示している。
【0070】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって、直接に、または解釈、マイクロコードの実行などを介して実行できる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構の適用を受け得る、任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ得る。
【0071】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行され得る。
【0072】
コンピュータシステム900に関して
図9に示す構成要素は、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する限定を示唆することを意図していない。構成要素の構成は、コンピュータシステム900の例示的な実施形態に示された構成要素のいずれか1つまたは組み合わせに関するいかなる依存関係または要件も有すると解釈されるべきでない。
【0073】
コンピュータシステム900は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人または複数の人間ユーザによる入力に応答し得る。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、写真画像は静止画像カメラから取得など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体をキャプチャするためにも使用され得る。
【0074】
入力ヒューマンインターフェースデバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイクロフォン906、スキャナ907、およびカメラ908のうちの1つまたは複数(図示された各々のうちのただ1つ)を含み得る。
【0075】
コンピュータシステム900は、特定のヒューマンインターフェース出力デバイスも含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および臭い/味を介して、1人または複数の人間ユーザの感覚を刺激している場合がある。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ、またはジョイスティック905による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)を含み得る。例えば、そのようなデバイスは、音声出力デバイス(スピーカ909、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン910など、それぞれタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、そのいくつかはステレオグラフィック出力などの手段を通して、2次元視覚出力または3次元を超える出力を出力できるものもある、仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず))、およびプリンタ(図示せず)であり得る。
【0076】
コンピュータシステム900は、人間がアクセス可能なストレージデバイス、およびそれらに関連する媒体、例えば、CD/DVDなどの媒体921を伴うCD/DVD ROM/RW920を含む光学媒体、サムドライブ922、リムーバブルハードドライブまたはソリッドステートドライブ923、テープやフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの特殊なROM/ASIC/PLDベースのデバイスなどを含むこともできる。
【0077】
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0078】
コンピュータシステム900は、1つまたは複数の通信ネットワークへのインターフェースを含むこともできる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などとすることができる。ネットワークの例は、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線または無線ワイドエリアデジタルネットワーク、ならびにCANBusを含む車両および産業用などを含む。特定のネットワークは一般に、特定の汎用データポートまたは周辺バス949に接続された外部ネットワークインターフェースアダプタを必要とする(例えば、コンピュータシステム900のUSBポートなど、他のものは、以下に説明するようにシステムバスへの接続によってコンピュータシステム900のコアに、共通的に統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム900は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、TVの放送)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステム向けであり得る。そのような通信は、クラウドコンピューティング環境955への通信を含むことができる。特定のプロトコルおよびプロトコルスタックを、上述したように、それらのネットワークおよびネットワークインターフェースの各々で使用することができる。
【0079】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインターフェース954を、コンピュータシステム900のコア940に接続することができる。
【0080】
コア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に含まれてもよい。
【0081】
CPU941、GPU942、FPGA943、およびアクセラレータ944は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードを、ROM945またはRAM946に記憶することができる。移行データはまた、RAM946に記憶され得るが、永久データは、例えば、内部大容量記憶装置947に記憶され得る。1つまたは複数のCPU941、GPU942、大容量記憶装置947、ROM945、RAM946などと密接に関連付けられ得るキャッシュメモリを使用することにより、任意のメモリデバイスへの高速記憶および読み出しが可能になり得る。
【0082】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実施するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものであってもよい。
【0083】
一例として、かつ限定としてではなく、アーキテクチャを有するコンピュータシステム900、具体的にはコア940は、1つまたは複数の有形のコンピュータ可読媒体内に具現化されたソフトウェアを(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサが実行する結果として、機能を実現することができる。そのようなコンピュータ可読媒体は、上記で紹介したようにユーザがアクセス可能な大容量記憶装置のほか、コア内部大容量記憶装置947またはROM945などの非一時的性質のコア940の特定の記憶装置にも関連する媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア940によって実行され得る。
【0084】
コンピュータ可読媒体は、特定のニーズに応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアにより、コア940、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)は、RAM946に記憶されたデータ構造の定義、およびソフトウェアによって定義されたプロセスによる、そのようなデータ構造の修正を含む、本明細書に記載の特定のプロセス、または特定のプロセスの特定の部分を実行することができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセス、または特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと共に動作することができる回路(例えば、アクセラレータ944)に配線された、またはそうでなければ具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの言及は、必要に応じて、論理を包含することができ、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0085】
本開示はいくつかの非限定的で例示的な実施形態を記載しているが、本開示の範囲内にある変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0086】
100 通信システム
110 端末
120 端末
130 端末
140 端末
150 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 ストレージ構成要素
250 入力構成要素
260 出力構成要素
270 通信インターフェース
801 ビデオソース
802 サンプルストリーム
803 エンコーダ
804 ビデオビットストリーム
805 ストリーミングサーバ
806 ストリーミングクライアント
807 符号化されたビデオビットストリームのコピー
808 ストリーミングクライアント
809 符号化されたビデオビットストリームのコピー
810 ビデオデコーダ
811 ビデオサンプルストリーム
812 ディスプレイ
813 キャプチャサブシステム
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 ランダムアクセスメモリ(RAM)
947 内部大容量記憶装置
948 システムバス
949 周辺バス
954 ネットワークインターフェース
955 クラウドコンピューティング環境
【手続補正書】
【提出日】2023-10-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される、ニューラルネットワークベースのデブロッキングフィルタを使用して圧縮画像のアーチファクトを低減するための方法であって、前記方法は、
少なくとも1つの再構築画像を受信するステップであって、各再構築画像は1つまたは複数の再構築ブロックを含む、ステップと、
前記少なくとも1つの再構築画像内の前記1つまたは複数の再構築ブロックの境界に関連する境界領域を抽出するステップと、
アーチファクトを低減する境界領域を生成するために、前記抽出された境界領域を訓練されたデブロッキングモデルに入力するステップであって、前記訓練されたデブロッキングモデルは、ニューラル画像圧縮(NIC)ネットワークによる推定された圧縮に基づく訓練データについて訓練される、ステップと、
前記生成された境界領域に関連するエッジ領域を除去するステップと、
前記生成された境界領域に基づいて低減されたアーチファクトを有する少なくとも1つの再構築画像を生成するステップとを含む、方法。
【請求項2】
前記抽出された境界領域が、前記1つまたは複数の再構築ブロックのうちの少なくとも2つの隣接ブロックからの少なくとも2つのサブ領域を含む、請求項1に記載の方法。
【請求項3】
前記抽出された境界領域を前記訓練されたデブロッキングモデルに入力するステップが、
前記抽出された境界領域のうちのそれぞれの抽出された境界領域を、前記それぞれの抽出された境界領域のコンテンツまたは前記それぞれの抽出された境界領域におけるアーチファクトの強度のうちの少なくとも1つに基づいてカテゴリに分類するステップと、
前記分類に基づいて、前記生成された境界領域を生成するために、1つまたは複数の訓練されたデブロッキングモデルのうちのそれぞれの訓練されたデブロッキングモデルにそれぞれの前記境界領域を入力するステップと
を含む、請求項1に記載の方法。
【請求項4】
前記エッジ領域を除去するステップが、予め定義されたサイズに基づいて前記エッジ領域を除去するステップを含み、前記予め定義されたサイズは、高レベル構文のビットストリームでシグナリングされる、請求項1に記載の方法。
【請求項5】
前記訓練データが、前記NICネットワークによる推定された圧縮または前記NICネットワークによる実際の圧縮によって生成された再構築画像を含む、請求項1に記載の方法。
【請求項6】
前記訓練されたデブロッキングモデルが、再構築品質を測定する品質損失関数に基づいて訓練され、訓練データは、第1のニューラルネットワークベースの画像圧縮ネットワークによる推定された圧縮を使用して生成された再構築画像、第2のニューラルネットワークベースの画像圧縮ネットワークによる実際の圧縮を使用して生成された再構築画像、または第3のニューラルネットワークベースの画像圧縮ネットワークによって生成された後に丸められた再構築画像のうちの少なくとも1つからの垂直抽出境界領域および水平抽出境界領域を含む、請求項1に記載の方法。
【請求項7】
低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成するステップが、低減されたアーチファクトを有する前記少なくとも1つの再構築画像を生成するために、前記少なくとも1つの再構築画像内の前記生成された境界領域に対応する境界領域を置き換えるステップを含む、請求項1に記載の方法。
【請求項8】
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサと
を含み、
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、請求項1から7のいずれか一項に記載の方法を実行させるよう構成される、システム。
【請求項9】
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
請求項1から7のいずれか一項に記載の方法を
実行させるように構成されたコンピュータコードを
含む、コンピュータプログラム。
【国際調査報告】