(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-21
(54)【発明の名称】画像フィルタリング方法およびその装置、並びに機器
(51)【国際特許分類】
H04N 19/117 20140101AFI20241114BHJP
H04N 19/136 20140101ALI20241114BHJP
H04N 19/176 20140101ALI20241114BHJP
【FI】
H04N19/117
H04N19/136
H04N19/176
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024522042
(86)(22)【出願日】2023-03-01
(85)【翻訳文提出日】2024-05-13
(86)【国際出願番号】 CN2023079134
(87)【国際公開番号】W WO2023221599
(87)【国際公開日】2023-11-23
(31)【優先権主張番号】202210551039.7
(32)【優先日】2022-05-18
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】王 力▲強▼
(72)【発明者】
【氏名】常 仁▲傑▼
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA68
5C159TB08
5C159TC26
(57)【要約】
本願は、画像フィルタリング方法およびその装置、並びに機器を提供し、前記方法は、フィルタリング待ち画像を取得するステップ(S801)と、ニューラルネットワークベースのフィルタを決定し、ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、フィルタリング待ち画像を分割して、N個(Nは正の整数である)のフィルタリング待ち画像ブロックを取得するステップ(S802)と、ニューラルネットワークベースのフィルタを使用して、N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するステップ(S803)と、を含む。ここで、上記のブロック分割方式は、ニューラルネットワークベースのフィルタで使用される訓練画像のブロック分割方式であり、即ち、本願実施例において、ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練中に使用されるブロック分割方式とを一致させることにより、ニューラルネットワークのフィルタが、最適なフィルタリング性能を発揮するようにし、それにより、画像のフィルタリング効果を向上させることができる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
電子機器によって実行される、画像フィルタリング方法であって、
フィルタリング待ち画像を取得するステップと、
ニューラルネットワークベースのフィルタを決定するステップと、
前記ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、前記フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得するステップであって、Nは正の整数であり、前記ブロック分割方式は、前記ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式である、ステップと、
前記ニューラルネットワークベースのフィルタを使用して、前記N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するステップと、
を含む、前記画像フィルタリング方法。
【請求項2】
前記訓練画像のブロック分割方式は、前記訓練画像内のM個のコーディングツリーユニットを1つの訓練画像ブロックとして決定することを含み、Mは正の整数であり、
前記ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、前記フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得するステップは、
M個のコーディングツリーユニットを1つのフィルタリング待ち画像ブロックとする方式で、前記フィルタリング待ち画像から前記N個のフィルタリング待ち画像ブロックを決定するステップを含む、
請求項1に記載の画像フィルタリング方法。
【請求項3】
前記訓練画像のブロック分割方式は、前記訓練画像内のP個の不完全コーディングツリーユニットを1つの訓練画像ブロックとして決定することを含み、Pは正の整数であり、
前記ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、前記フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得するステップは、
P個の不完全コーディングツリーユニットを1つのフィルタリング待ち画像ブロックとする方式で、前記フィルタリング待ち画像から前記N個のフィルタリング待ち画像ブロックを決定するステップを含む、
請求項1に記載の画像フィルタリング方法。
【請求項4】
前記ニューラルネットワークベースのフィルタは、訓練画像ブロックの拡張画像ブロックを用いて訓練することによって得られ、
前記ニューラルネットワークベースのフィルタを使用して、前記N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するステップは、
前記N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、前記訓練画像ブロックの拡張方式に従って、前記フィルタリング待ち画像ブロックを拡張して、拡張されたフィルタリング待ち画像ブロックを取得するステップと、
前記ニューラルネットワークベースのフィルタを使用して、前記拡張されたフィルタリング待ち画像ブロックをフィルタリングして、フィルタリング済みの拡張画像ブロックを取得するステップと、
前記フィルタリング済みの拡張画像ブロック内の、前記フィルタリング待ち画像ブロックに対応する画像領域を、前記フィルタリング待ち画像ブロックに対応するフィルタリング済み画像ブロックとして決定するステップと、を含む、
請求項1に記載の画像フィルタリング方法。
【請求項5】
前記訓練画像ブロックの拡張方式は、前記訓練画像ブロックの少なくとも1つの境界領域を外側に拡張することを含み、
前記訓練画像ブロックの拡張方式に従って、前記フィルタリング待ち画像ブロックを拡張して、拡張されたフィルタリング待ち画像ブロックを取得するステップは、
前記フィルタリング待ち画像ブロックの少なくとも1つの境界領域を外側に拡張して、前記拡張されたフィルタリング待ち画像ブロックを取得するステップを含む、
請求項4に記載の画像フィルタリング方法。
【請求項6】
前記訓練画像は、入力画像を含み、前記ニューラルネットワークベースのフィルタの訓練する際の入力データは、入力画像ブロックと、前記入力画像ブロックの参照画像ブロックを含み、前記入力画像ブロックは、前記ブロック分割方式を用いて前記入力画像に対して画像分割を行うことによって得られ、
前記ニューラルネットワークベースのフィルタを使用して、前記N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するステップは、
前記N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、前記フィルタリング待ち画像ブロックの参照画像ブロックを決定するステップと、
前記フィルタリング待ち画像ブロックと、前記フィルタリング待ち画像ブロックの参照画像ブロックを、前記ニューラルネットワークベースのフィルタに入力してフィルタリングして、前記フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを取得するステップと、を含む、
請求項1に記載の画像フィルタリング方法。
【請求項7】
前記フィルタリング待ち画像ブロックの参照画像ブロックを決定するステップは、
前記入力画像ブロックの参照画像ブロックの決定方式を取得するステップであって、前記決定方式は、前記入力画像ブロックの空間領域情報と時間領域情報のうちの少なくとも1つに基づいて、対応する参照画像ブロックを決定するために使用される、ステップと、
前記入力画像ブロックの参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの参照画像ブロックを決定するステップと、を含む、
請求項6に記載の画像フィルタリング方法。
【請求項8】
前記入力画像ブロックの参照画像ブロックは、前記入力画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含み、
前記フィルタリング待ち画像ブロックの参照画像ブロックは、前記フィルタリング待ち画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含む、
請求項7に記載の画像フィルタリング方法。
【請求項9】
前記入力画像ブロックの参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの参照画像ブロックを決定するステップは、
前記入力画像ブロックの空間領域参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定するステップを含む、
請求項8に記載の画像フィルタリング方法。
【請求項10】
前記入力画像ブロックの空間領域参照画像ブロックは、前記入力画像内の、前記入力画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを含み、
前記入力画像ブロックの空間領域参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定するステップは、
前記フィルタリング待ち画像内の、前記フィルタリング待ち画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを、前記フィルタリング待ち画像ブロックの空間領域参照画像ブロックとして決定するステップを含む、
請求項9に記載の画像フィルタリング方法。
【請求項11】
前記入力画像ブロックの参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの参照画像ブロックを決定するステップは、
前記入力画像ブロックの時間領域参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定するステップを含む、
請求項8に記載の画像フィルタリング方法。
【請求項12】
前記入力画像ブロックの時間領域参照画像ブロックは、前記入力画像の参照画像内の、前記入力画像ブロックに対応する位置の画像ブロックを含み、
前記入力画像ブロックの時間領域参照画像ブロックの決定方式に従って、前記フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定するステップは、
前記フィルタリング待ち画像の参照画像を決定するステップと、
前記フィルタリング待ち画像の参照画像内の、前記フィルタリング待ち画像ブロックに対応する位置の画像ブロックを、前記フィルタリング待ち画像ブロックの時間領域参照画像ブロックとして決定するステップと、を含む、
請求項11に記載の画像フィルタリング方法。
【請求項13】
前記訓練画像は、入力画像と、前記入力画像に対応するターゲット画像を含み、前記ニューラルネットワークベースのフィルタは、入力画像ブロックを入力データとし、ターゲット画像ブロックをターゲットとして訓練することによって得られ、前記入力画像ブロックは、前記訓練画像のブロック分割方式を用いて前記入力画像に対して画像分割を行うことによって得られ、前記ターゲット画像ブロックは、前記訓練画像のブロック分割方式を用いて前記ターゲット画像に対して画像分割を行うことによって得られる、
請求項1に記載の画像フィルタリング方法。
【請求項14】
前記フィルタリング待ち画像を取得するステップは、
原画像を再構成して、前記原画像の再構成画像を取得するステップと、
前記再構成画像を、前記フィルタリング待ち画像として決定するステップと、を含む、
請求項1に記載の画像フィルタリング方法。
【請求項15】
画像フィルタリング装置であって、
フィルタリング待ち画像を取得するように構成される取得ユニットと、
ニューラルネットワークベースのフィルタを決定し、前記ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、前記フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得するように構成される分割ユニットであって、Nは正の整数であり、前記ブロック分割方式は、前記ニューラルネットワークベースのフィルタが訓練過で使用する訓練画像のブロック分割方式である、分割ユニットと、
前記ニューラルネットワークベースのフィルタを使用して、前記N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するように構成されるフィルタリングユニットと、
を備える、前記画像フィルタリング装置。
【請求項16】
前記訓練画像のブロック分割方式は、前記訓練画像内のM個のコーディングツリーユニットを1つの訓練画像ブロックとして決定することを含み、Mは正の整数であり、
前記分割ユニットは、M個のコーディングツリーユニットを1つのフィルタリング待ち画像ブロックとする方式で、前記フィルタリング待ち画像から前記N個のフィルタリング待ち画像ブロックを決定するように構成される、
請求項15に記載の画像フィルタリング装置。
【請求項17】
前記訓練画像のブロック分割方式は、前記訓練画像内のP個の不完全コーディングツリーユニットを1つの訓練画像ブロックとして決定することを含み、Pは正の整数であり、
前記分割ユニットは、P個の不完全コーディングツリーユニットを1つのフィルタリング待ち画像ブロックとする方式で、前記フィルタリング待ち画像から前記N個のフィルタリング待ち画像ブロックを決定するように構成される、
請求項15に記載の画像フィルタリング装置。
【請求項18】
請求項1ないし14のいずれか一項に記載の画像フィルタリング方法を実行するように構成される、電子機器。
【請求項19】
コンピュータに請求項1ないし14のいずれか一項に記載の画像フィルタリング方法を実行させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、2022年05月18日に提出された、出願番号が202210551039.7であり、発明の名称が「画像フィルタリング方法およびその装置、並びに機器」である中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が参照により本願に組み込まれている。
【0002】
本願実施例は、画像処理技術分野に関し、特に、画像フィルタリング方法およびその装置、並びに機器に関するものである。
【背景技術】
【0003】
デジタルビデオ技術は、デジタルテレビ、スマートフォン、コンピュータ、電子書籍リーダーまたはビデオプレーヤなどの様々なビデオ装置に組み込むことができる。ビデオ技術の発展に伴い、ビデオデータに含まれるデータ量が大きくなり、ビデオデータの伝送を容易にするために、ビデオ装置は、ビデオ圧縮技術を実行して、ビデオデータをより効果的に伝送または記憶する。
【0004】
ビデオ圧縮技術では、画像損失が発生し、損失を軽減するために、再構成画像をフィルタリングする。ニューラルネットワーク技術の急速な発展に伴い、いくつかのシナリオでは、ニューラルネットワークベースのフィルタを使用して、再構成画像をフィルタリングする。しかし、何らかのニューラルネットワークベースのフィルタのフィルタリング効果が良くない。
【発明の概要】
【0005】
本願は、画像フィルタリング方法およびその装置、並びに機器を提供し、その技術的解決策は、次のとおりである。
【0006】
1つの態様では、本願は、画像フィルタリング方法を提供し、前記方法は、
フィルタリング待ち画像を取得するステップと、
ニューラルネットワークベースのフィルタを決定するステップと、
前記ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、前記フィルタリング待ち画像を分割して、N個(前記Nは正の整数である)のフィルタリング待ち画像ブロックを取得するステップであって、前記ブロック分割方式は、前記ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式である、ステップと、
前記ニューラルネットワークベースのフィルタを使用して、前記N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するステップと、を含む。
【0007】
別の態様では、本願は、画像フィルタリング装置を提供し、前記装置は、
フィルタリング待ち画像を取得するように構成される取得ユニットと、
ニューラルネットワークベースのフィルタを決定し、前記ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、前記フィルタリング待ち画像を分割して、N個(前記Nは正の整数である)のフィルタリング待ち画像ブロックを取得するように構成される分割ユニットであって、前記ブロック分割方式は、前記ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式である、分割ユニットと、
前記ニューラルネットワークベースのフィルタを使用して、前記N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するように構成されるフィルタリングユニットと、を備える。
【0008】
別の態様では、コンピュータプログラムを記憶するように構成されるメモリと、当該メモリに記憶されたコンピュータプログラムを呼び出して実行することにより、本願の各態様の実施例による方法を実行するように構成されるプロセッサと、を備える電子機器を提供する。
【0009】
別の態様では、本願による各態様の方法を実現するように構成されるチップを提供する。例示的に、前記チップは、メモリからコンピュータプログラムを呼び出して実行して、前記チップを実装した機器に、本願の各態様の実施例による方法を実行させるように構成されるプロセッサを備える。
【0010】
別の態様では、コンピュータに、本願の各態様の実施例による方法を実行させるためのコンピュータプログラムを記憶するように構成される、コンピュータ可読記憶媒体を提供する。
【0011】
別の態様では、コンピュータに本願の各態様の実施例による方法を実行させるためのコンピュータプログラム命令を含む、コンピュータプログラム製品を提供する。
【0012】
別の態様では、コンピュータで実行されるとき、コンピュータに本願の各態様の実施例による方法を実行させるコンピュータプログラムを提供する。
【発明の効果】
【0013】
まとめると、本願では、フィルタリング待ち画像を取得し、ニューラルネットワークベースのフィルタを決定し、ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、フィルタリング待ち画像を分割して、N個(Nは正の整数である)のフィルタリング待ち画像ブロックを取得し、ニューラルネットワークベースのフィルタを使用して、N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得する。上記のブロック分割方式は、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式であり、つまり、本願実施例では、ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練中に使用されるブロック分割方式とを一致させることにより、ニューラルネットワークのフィルタが、最適なフィルタリング性能を発揮するようにし、それにより、画像のフィルタリング効果を向上させることができる。
【図面の簡単な説明】
【0014】
【
図1】本願実施例に係る適用シナリオの概略図である。
【
図2】本願実施例に係るビデオコーデックシステムの例示的なブロック図である。
【
図3】本願実施例による符号化フレームワークの概略図である。
【
図4】本願実施例による復号化フレームワークの概略図である。
【
図8】本願実施例に係るフィルタリングの概略図である。
【
図13】本願の1つの実施例による画像フィルタリング方法のフローチャートである。
【
図14】本願実施例係る画像のブロック分割の概略図である。
【
図15】本願実施例係る画像のブロック分割の概略図である。
【
図16】本願実施例係る画像のブロック分割の概略図である。
【
図17】本願実施例係る画像のブロック分割の概略図である。
【
図18】本願実施例係る別の画像のブロック分割の概略図である。
【
図19】本願実施例係る別の画像のブロック分割の概略図である。
【
図20】本願実施例係る別の画像のブロック分割の概略図である。
【
図21】本願実施例係る別の画像のブロック分割の概略図である。
【
図22】本願実施例係る別の画像のブロック分割の概略図である。
【
図23】本願実施例係る別の画像のブロック分割の概略図である。
【
図24】本願実施例係る別の画像のブロック分割の概略図である。
【
図25】本願実施例係る別の画像のブロック分割の概略図である。
【
図26】本願実施例係る画像ブロックの拡張の概略図である。
【
図27】本願実施例係る画像ブロックの拡張の概略図である。
【
図28】本願実施例係る画像ブロックの拡張の概略図である。
【
図29】本願実施例係る画像ブロックの拡張の概略図である。
【
図30】本願実施例係る別の画像ブロックの拡張の概略図である。
【
図31】本願実施例係る別の画像ブロックの拡張の概略図である。
【
図32】本願実施例係る別の画像ブロックの拡張の概略図である。
【
図33】本願実施例係る別の画像ブロックの拡張の概略図である。
【
図34】本願実施例に係る空間領域参照画像ブロックの概略図である。
【
図35】本願実施例に係る空間領域参照画像ブロックの概略図である。
【
図36】本願実施例に係る別の空間領域参照画像ブロックの概略図である。
【
図37】本願実施例に係る別の空間領域参照画像ブロックの概略図である。
【
図38】本願実施例に係る別の空間領域参照画像ブロックの概略図である。
【
図39】本願実施例に係る別の空間領域参照画像ブロックの概略図である。
【
図40】本願実施例に係る別の空間領域参照画像ブロックの概略図である。
【
図41】本願実施例に係る別の空間領域参照画像ブロックの概略図である。
【
図42】本願実施例に係る時間領域参照画像ブロックの概略図である。
【
図43】本願実施例に係る時間領域参照画像ブロックの概略図である。
【
図44】本願実施例に係る別の時間領域参照画像ブロックの概略図である。
【
図45】本願実施例に係る別の時間領域参照画像ブロックの概略図である。
【
図46】本願の1つの実施例による画像フィルタリング方法の例示的なフローチャートである。
【
図47】本願の1つの実施例による画像フィルタリング装置の例示的なブロック図である。
【
図48】本願実施例による電子機器の例示的なブロック図である。
【発明を実施するための形態】
【0015】
図1は、本願実施例に係る適用シナリオの概略図であり、電子機器100を含み、当該電子機器100には、ニューラルネットワークベースのフィルタ200が実装されている。電子機器100は、フィルタリング待ち画像を取得した後、当該フィルタリング待ち画像をニューラルネットワークベースのフィルタ200に入力してフィルタリングする。
【0016】
いくつかの実施例において、電子機器100は、表示装置を備え、したがって、電子機器100は、表示装置を介してフィルタリング済み画像を表示することができる。
【0017】
本願実施例は、電子機器100の具体的なタイプに対して限定せず、データ処理機能を有する任意の機器であってもよい。
【0018】
いくつかの実施例において、電子機器100は、端末機器であってもよく、例えば、スマートフォン、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、ディスプレイ機器、デジタルメディアプレーヤ、ビデオゲームコンソール、車両コンピュータなどを含む。
【0019】
いくつかの実施例において、上記の電子機器100は、サーバであってもよい。当該サーバは、一台または複数台からなる。サーバが複数台からなる場合、異なるサービスを提供するための少なくとも二台のサーバがあり、および/または、同じサービスを提供するための少なくとも二台のサーバがあり、例えば、ロードバランシングの方式で同じサービスを提供することができ、本願実施例は、これに対して限定しない。
【0020】
任意選択的に、上記のサーバは、独立した物理サーバであってもよいし、複数の物理サーバからなるサーバクラスタまたは分散型システムであってもよいし、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、コンテンツ配信ネットワーク(CDN:Content Delivery Network)、ビッグデータおよび人工知能プラットフォームなどの基礎的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよい。サーバは、ブロックチェーンのノードとなってもよい。
【0021】
いくつかの実施例において、上記のサーバは、強力なコンピューティングリソースを備えたクラウドサーバであり、高度に仮想化され且つ高度に分散された特徴を有する。
【0022】
いくつかの実施例において、上記のフィルタリング待ち画像は、画像収集機器によって収集されたものである。例えば、画像収集機器は、収集されたフィルタリング待ち画像を電子機器100に送信し、電子機器100は、ニューラルネットワークベースのフィルタを用いて、撮影されたフィルタリング待ち画像をフィルタリングする。別の例において、電子機器100は、画像収集機能を備え、これにより、電子機器100は、画像を収集することができ、収集されたフィルタリング待ち画像をニューラルネットワークベースのフィルタに入力してフィルタリングすることができる。
【0023】
いくつかの実施例において、上記の電子機器100は、符号化機器であってもよく、フィルタリング待ち画像は、再構成画像として理解することができる。符号化機器は、現在画像を符号化した後に再構成して、再構成画像を取得し、当該再構成画像をニューラルネットワークベースのフィルタに入力してフィルタリングする。
【0024】
いくつかの実施例において、上記の電子機器100は、復号化機器であってもよく、復号化機器は、コードストリームを復号化した後に画像再構成を行い、再構成画像を取得し、次に、当該再構成画像をニューラルネットワークベースのフィルタに入力してフィルタリングする。
【0025】
本願実施例は、画像をフィルタリングする必要がある任意のシナリオに適用可能である。
【0026】
いくつかの実施例において、本願実施例は、クラウド技術(例えば、クラウドゲーム)、人工知能、知能交通、補助運転などを含む様々なシナリオに適用可能であるが、これらに限定されない。
【0027】
いくつかの実施例において、本願は、画像コーデック分野、ビデオコーデック分野、ハードウェアビデオコーデック分野、固有回路ビデオコーデック分野、リアルタイムビデオコーデック分野などに適用可能である。例えば、本願の解決策は、オーディオビデオコーディング規格(AVS:Audio Video coding Standard)に組み合わせることができ、例えば、H.264/オーディオビデオコーディング(AVC:Audio Video Coding)規格、H.265/高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格およびH.266/バーサタイルビデオコーディング(VVC:Versatile Video Coding)規格などが挙げられる。または、本願の解決策は、他の専用または業界規格に組み合わせることができ、前記規格は、ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262またはISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual、ITU-TH.264(ISO/IECMPEG-4AVCとも呼ばれ、拡張規格であるスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)を含む)を含む。本願の技術は、任意の特定のコーデック規格または技術に限定されないことを理解されたい。
【0028】
理解を容易にするために、まず、
図2を参照して、本願実施例に係るビデオコーデックシステムについて紹介する。
【0029】
図2は、本願実施例に係るビデオコーデックシステムの例示的なブロック図である。なお、
図2は、1つの例に過ぎず、本願実施例のビデオコーデックシステムは、
図2に示すものを含むが、これに限定されない。
図2に示すように、当該ビデオコーデックシステムは、符号化機器110と復号化機器120を含む。ここで、符号化機器は、ビデオデータを符号化(圧縮と理解してもよい)してコードストリームを生成し、コードストリームを復号化機器に伝送するように構成される。復号化機器は、符号化機器の符号化によって生成されたコードストリームを復号化して、復号化されたビデオデータを取得する。
【0030】
本願実施例の符号化機器110は、ビデオ符号化機能を有する機器として理解してもよく、復号化機器120は、ビデオ復号化機能を有する機器として理解してもよい。即ち、本願実施例の符号化機器110と復号化機器120は、より広範な装置を含み得、例えば、スマートフォン、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車両コンピュータなどを含み得る。
【0031】
いくつかの実施例において、符号化機器110は、チャネル130を介して、符号化されたビデオデータ(例えば、コードストリームなど)を復号化機器120に伝送することができる。チャネル130は、符号化されたビデオデータを符号化機器110から復号化機器120に伝送することができる1つまたは複数のメディアおよび/または装置を含むことができる。
【0032】
1つの例において、チャネル130は、符号化機器110が符号化されたビデオデータをリアルタイムで復号化機器120に直接送信できるようにする1つまたは複数の通信メディアを含む。この例では、符号化機器110は、通信規格に従って、符号化されたビデオデータを変調し、変調されたビデオデータを復号化機器120に送信することができる。ここで、通信メディアは、無線周波数スペクトルなどの通信メディアを含み、任意選択的に、通信メディアは、1つまたは複数の物理的伝送ラインなどの有線通信メディアを含んでもよい。
【0033】
別の例において、チャネル130は、記憶媒体を含み、当該記憶媒体は、符号化機器110によって符号化されたビデオデータを記憶することができる。記憶媒体は、光ディスク、DVD、フラッシュメモリなど、様々なローカルアクセス可能なデータ記憶媒体を含む。この例では、復号化機器120は、当該記憶媒体から符号化されたビデオデータを取得することができる。
【0034】
別の例において、チャネル130は、ストレージサーバを含んでもよく、当該ストレージサーバは、符号化機器110によって符号化されたビデオデータを記憶することができる。この例では、復号化機器120は、当該ストレージサーバから記憶された符号化後のビデオデータをダウンロードすることができる。任意選択的に、当該ストレージサーバは、符号化されたビデオデータを記憶することができ、当該符号化されたビデオデータを、webサーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(FTP)サーバなどの復号化機器120に送信することができる。
【0035】
いくつかの実施例において、符号化機器110は、ビデオエンコーダ112および出力インターフェース113を備える。ここで、出力インターフェース113は、変調器/復調器(モデム)および/または送信機を含んでもよい。
【0036】
いくつかの実施例において、符号化機器110は、ビデオエンコーダ112と入力インターフェース113に加えて、ビデオソース111をさらに備えることができる。
【0037】
ビデオソース111は、ビデオ収集装置(例えば、ビデオカメラなど)、ビデオアーカイブ、ビデオ入力インターフェース、コンピュータグラフィックスシステムのうちの少なくとも1つを備えることができ、ここで、ビデオ入力インターフェースは、ビデオコンテンツプロバイダからビデオデータを受信するように構成され、コンピュータグラフィックスシステムは、ビデオデータを生成するように構成される。
【0038】
ビデオエンコーダ112は、ビデオソース111からのビデオデータを符号化して、コードストリームを生成する。ビデオデータは、1つまたは複数の画像(picture)または画像シーケンス(sequence of pictures)を含み得る。コードストリームは、ビットストリームの形で画像または画像シーケンスの符号化情報を含む。符号化情報は、符号化画像データおよび関連データを含み得る。関連データは、シーケンスパラメータセット(SPS:Sequence Parameter Set)、画像パラメータセット(PPS:Picture Parameter Set)および他の構文構造を含み得る。SPSには、1つまたは複数のシーケンスに適用されるパラメータが含まれてもよい。PPSには、1つまたは複数の画像に適用されるパラメータが含まれてもよい。構文構造とは、コードストリームにおいて指定された順序で配列されたゼロまたは複数の構文要素のセットを指す。
【0039】
ビデオエンコーダ112は、出力インターフェース113を介して、符号化されたビデオデータを復号化機器120に直接伝送する。符号化されたビデオデータは、後続で復号化機器120によって読み取ることができるように、記憶媒体またはストレージサーバに記憶されることもできる。
【0040】
いくつかの実施例において、復号化機器120は、入力インターフェース121とビデオデコーダ122を備える。
【0041】
いくつかの実施例において、復号化機器120は、入力インターフェース121とビデオデコーダ122に加えて、表示装置123をさらに備える。
【0042】
ここで、入力インターフェース121は、受信器および/またはモデムを含む。入力インターフェース121は、チャネル130を介して、符号化されたビデオデータを受信することができる。
【0043】
ビデオデコーダ122は、符号化されたビデオデータを復号化して、復号化されたビデオデータを取得し、復号化されたビデオデータを表示装置123に伝送するように構成される。
【0044】
表示装置123は、復号化されたビデオデータを表示する。表示装置123は、復号化機器120と一体化されてもよいし、復号化機器120の外部に配置されてもよい。表示装置123は、液晶表示(LCD)、プラズマ表示、有機発光ダイオード(OLED)表示または他の種類の表示装置などの様々な表示装置を含み得る。
【0045】
さらに、
図2は、一例に過ぎず、本願実施例の技術的解決策は、
図2に限定されず、例えば、本願の技術は、片側のビデオ符号化または片側のビデオ復号化に適用されてもよい。
【0046】
以下では、本願実施例に係るビデオ符号化フレームワークについて紹介する。
【0047】
図3は、本願実施例による符号化フレームワークの概略図である。
【0048】
当該符号化フレームワークは、画像に対して非可逆圧縮(lossy compression)を行うために使用されてもよいし、画像に対して可逆圧縮(lossless compression)を行うために使用されてもよい。当該可逆圧縮は、視覚的可逆圧縮(visually lossless compression)であってもよいし、数学的可逆圧縮(mathematically lossless compression)であってもよい。
【0049】
当該符号化フレームワークは、輝度クロマ(YCbCr、YUV)フォーマットの画像データに適用可能である。
【0050】
例えば、当該符号化フレームワークは、ビデオデータを読み取り、ビデオデータの各フレームの画像について、1フレームの画像をいくつかのコーディングツリーユニット(CTU:Coding Tree Unit)に分割し、いくつかの例では、CTUは、「ツリーブロック」、「最大コーディングユニット」(LCU:Largest Coding Unit)または「コーディングツリーブロック」(CTB:Coding Tree Block)とも呼ばれる。各CTUは、画像内の同じサイズの画素ブロックに関連付けることができる。各画素は、1つの輝度(luminanceまたはluma)サンプルと2つのクロマ(chrominanceまたはchroma)サンプルに対応することができる。よって、各CTUは、1つの輝度サンプルブロックと2つのクロマサンプルブロックに関連付けることができる。例えば、1つのCTUのサイズは、128×128、64×64、32×32などである。1つのCTUは、符号化のためにいくつかのコーディングユニット(CU:Coding Unit)にさらに分割することができ、CUは、長方形ブロックまたは正方形ブロックであってもよい。CUは、予測ユニット(PU:Prediction Unit)と変換ユニット(TU:Transform Unit)にさらに分割することができ、これにより、符号化、予測、変換を分離して、処理をより柔軟にすることができる。1つの例では、CTUは、四分木方式でCUに分割され、CUは、四分木方式でTUとPUに分割される。
【0051】
ビデオエンコーダおよびビデオデコーダは、様々なPUサイズをサポートできる。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダおよびビデオデコーダは、イントラ予測のために2N×2NまたはN×NのPUサイズをサポートし、インター予測のために2N×2N、2N×N、N×2N、N×Nまたは同様のサイズの対称PUをサポートすることができる。ビデオエンコーダおよびビデオデコーダは、インター予測のために2N×nU、2N×nD、nL×2NおよびnR×2Nの非対称PUをサポートすることもできる。
【0052】
図3に示すように、当該符号化フレームワークは、予測ユニット11、残差生成ユニット12、変換ユニット13、量子化ユニット14、逆量子化ユニット15、逆変換ユニット16、再構成ユニット17、フィルタリングユニット18およびエントロピ符号化ユニット19を備える。予測ユニット11は、インター予測ユニット101およびイントラ予測ユニット102を含む。インター予測ユニット101は、動き推定ユニット1011および動き補償ユニット1012を含む。なお、当該符号化フレームワークは、より多い、より少ない、または異なる機能コンポーネントを備えることができる。
【0053】
任意選択的に、本願では、現在ブロック(current block)は、現在コーディングユニット(CU)または現在予測ユニット(PU)などと呼ばれる。予測ブロックは、予測画像ブロックまたは画像予測ブロックとも呼ばれ、再構成画像ブロックは、再構成ブロックまたは画像再構成画像ブロックとも呼ばれる。
【0054】
ここで、符号化側は、ビデオを受信した後、ビデオを構成する各フレームの画像について、当該画像を複数の符号化待ち画像ブロックに分割する。現在の符号化待ち画像ブロックについて、予測ユニット11は、まず、参照再構成画像ブロックに基づいて現在の符号化待ち画像ブロックを予測して、現在の符号化待ち画像ブロックの予測情報を取得する。ここで、符号化側は、インター予測またはイントラ予測技術を用いて予測情報を取得することができる。
【0055】
例示的に、インター予測ユニット101における動き推定ユニット1011は、参照画像のリスト内の参照画像を検索して、符号化待ち画像ブロックの参照ブロックを探し出すことができる。動き推定ユニット1011は、当該参照ブロックを指示するインデックスと、符号化待ち画像ブロックと当該参照ブロックとの間の空間変位を指示する動きベクトルを生成することができる。動き推定ユニット1011は、参照ブロックのインデックスおよび当該動きベクトルを当該符号化待ち画像ブロックの動き情報として出力することができる。動き補償ユニット1012は、当該符号化待ち画像ブロックの動き情報に基づいて、当該符号化待ち画像ブロックの予測情報を取得することができる。
【0056】
イントラ予測ユニット102は、イントラ予測モードを採用して、現在の符号化待ち画像ブロックの予測情報を生成することができる。現在、Planarモード、DCモードおよび13種の角度予測モードを含む15種のイントラ予測モードが存在する。イントラ予測ユニット102は、イントラブロックコピー(IBC:Intra Block Copy)、イントラストリングコピー(ISC:Intra String Copy)技術などを採用することもできる。
【0057】
HEVCで使用されるイントラ予測モードは、平面モード(Planar)、DCおよび33種の角度モードの、合計35種の予測モードがある。VVCで使用されるイントラモードは、Planar、DCおよび65種の角度モードの、合計67種の予測モードがある。AVS3で使用されるイントラモードは、DC、Plane、Bilinearおよび63種の角度モードの、合計66種の予測モードがある。
【0058】
残差生成ユニット12は、現在の符号化待ち画像ブロックの原信号から予測情報を差し引いて、残差信号を取得するように構成される。予測後、残差信号の振幅は原信号よりもはるかに小さくなる。
【0059】
変換ユニット13と量子化ユニット14は、残差信号に対して変換と量子化操作を行うように構成される。変換量子化後、変換量子化係数が取得される。
【0060】
エントロピ符号化ユニット19は、エントロピ符号化技術を用いて、量子化係数および符号化における他の指示情報を符号化して、コードストリームを取得するように構成される。
【0061】
さらに、符号化側は、後続で符号化待ち画像ブロックの符号化のために参照画素を提供するために、現在の符号化待ち画像ブロックを再構成する必要がある。例示的に、現在の符号化待ち画像ブロックの変換量子化係数を取得した後、逆量子化ユニット15および逆変換ユニット16は、現在の符号化待ち画像ブロックの変換量子化係数に対して逆量子化と逆変換を行い、再構成された残差信号を取得し、再構成ユニット17は、再構成された残差信号に現在の符号化待ち画像ブロックに対応する予測情報を加算して、現在の符号化待ち画像ブロックの再構成信号を取得し、当該再構成信号に基づいて、再構成画像ブロックを取得する。
【0062】
さらに、フィルタリングユニット18は、再構成画像ブロックをフィルタリングすることができ、ここで、ディブロッキングフィルタリング(DBF:DeBlocking Filter)、サンプル自己適応オフセット(SAO:Sample Adaptive Offset)または自己適応ループフィルタ(ALF:Adaptive Loop Filter)などを採用してもよい。ここで、当該再構成画像ブロックは、後続の符号化待ち画像ブロックの予測に使用されることができる。
【0063】
いくつかの実施例において、再構成画像ブロックは、復号化画像キャッシュに記憶されることができ、インター予測ユニット101は、再構成された画素ブロックを含む参照画像を使用して、他の画像のPUに対してインター予測を実行することができる。さらに、イントラ予測ユニット102は、復号化画像キャッシュ内の再構成画像ブロックを使用して、CUと同じ画像内の他のPUに対してイントラ予測を実行することができる。
【0064】
図4は、本願実施例による復号化フレームワークの概略図である。
【0065】
図4に示すように、当該復号化フレームワークは、エントロピ復号化ユニット21、予測ユニット22、逆量子化ユニット23、逆変換ユニット24、再構成ユニット25、フィルタリングユニット26を含む。予測ユニット22は、動き補償ユニット221およびイントラ予測ユニット222を含む。
【0066】
例示的に、復号化側がコードストリームを取得した後、まず、エントロピ復号化ユニット21は、コードストリームに対してエントロピ復号化を行い、現在の再構成待ち画像ブロックの変換量子化係数を取得し、そして、逆量子化ユニット23と逆変換ユニット24は、変換量子化係数に対して逆量子化と逆変換を行い、現在の再構成待ち画像ブロックの再構成された残差信号を取得する。予測ユニット22は、現在の再構成待ち画像ブロックを予測して、現在の再構成待ち画像ブロックの予測情報を取得する。予測ユニット22がインター予測を採用する場合、動き補償ユニット221は、コードストリームから解析された構文要素に基づいて、第1参照画像リスト(リスト0)および第2参照画像リスト(リスト1)を構成することができる。さらに、エントロピ復号化ユニット21は、再構成待ち画像ブロックの動き情報を解析することができる。動き補償ユニット221は、当該動き情報に基づいて、再構成待ち画像ブロックの1つまたは複数の参照ブロックを決定することができる。動き補償ユニット221は、1つまたは複数の参照ブロックに基づいて、再構成待ち画像ブロックの予測情報を生成することができる。予測ユニット22がイントラ予測を採用する場合、エントロピ復号化ユニット21は、使用されるイントラ予測モードのインデックスを解析することができ、イントラ予測ユニット222は、当該インデックスに基づいて、当該イントラ予測モードを採用してイントラ予測を行い、再構成待ち画像ブロックの予測情報を取得することができる。イントラ予測ユニット222は、IBCまたはISC技術などを採用することもできる。
【0067】
さらに、再構成ユニット25は、予測情報と上記の再構成の残差信号を加算して、現在の再構成待ち画像ブロックの再構成信号を取得し、その後、当該再構成信号に基づいて、現在の再構成待ち画像ブロックに対応する現在の再構成画像ブロックを取得するように構成され、ここで、当該現在の再構成画像ブロックは、後続の他の再構成待ち画像ブロックの予測に使用されることができる。上記の符号化側と同様に、任意選択的に、復号化側のフィルタリングユニット26は、現在の再構成画像ブロックをフィルタリングすることができる。
【0068】
なお、必要に応じて、符号化側で決定されたブロック分割情報、および予測、変換、量子化、エントロピ符号化、ループフィルタリングなどのモード情報またはパラメータ情報をコードストリームに含めることができる。復号化側は、コードストリームを解析し、既存の情報に基づいて分析することにより、符号化側と同じブロック分割情報、予測、変換、量子化、エントロピ符号化、ループフィルタリングなどのモード情報またはパラメータ情報を決定し、それにより、符号化側によって取得された復号化画像が、復号化側によって取得された復号化画像と同じであることを保証することができる。
【0069】
上記の記載は、ブロックベースのハイブリッド符号化フレームワークにおけるビデオコーデックの基本的なプロセスであり、技術の発展に伴い、当該フレームワークまたはプロセスの一部のモジュールまたはステップは最適化される可能性があり、本願は、当該ブロックベースのハイブリッド符号化フレームワークにおけるビデオコーデックの基本的なプロセスに適するが、当該フレームワークまたはプロセスに限定されない。
【0070】
上記のビデオコーデックの予測方式から分かるように、符号化画像は、完全イントラ符号化画像とインター符号化可能な画像に分けられ、
図5~
図7に示すように、画像は、フレーム(frame)、スライス(slice)、タイル(tile)を含む。
図5の破線ブロックは、最大コーディングユニット(CTU)の境界を表し、
図6の黒い実線は、スライスを表し、
図7の黒い実線は、タイル境界を表す。
【0071】
ここで、完全イントラ符号化画像の予測のための参照情報はすべて、現在画像の空間領域情報から得られる。インター符号化可能な画像の予測プロセスは、他の参照フレームの時間領域参照情報を参照することができる。
【0072】
ビデオコーデックに関する上記の知識から分かるように、従来のループフィルタには、DBF、SAOおよびALFが含まれており、主に、再構成画像をフィルタリングして、ブロックアーチファクトやリンキングアーチファクトなどを低減し、それにより、再構成画像の品質を向上させ、理想的な状況は、フィルタによって再構成画像を原画像に復元することである。しかし、従来のフィルタの多くのフィルタリング係数は、人為的に設計されたものであるため、最適化の余地がたくさんある。画像処理における深層学習ツールの優れた性能を鑑み、深層学習に基づくフィルタは、ループフィルタモジュールに適用される。
【0073】
本願実施例に係る主な技術は、ニューラルネットワークループフィルタ(NNLF:Neural Network Loop Filter)などのニューラルネットワークベースのフィルタである。
図8に示すように、フィルタリング待ち画像を訓練されたニューラルネットワークループフィルタ(NNLF)に入力してフィルタリングして、フィルタリング画像を取得する。
【0074】
いくつかの実施例において、ニューラルネットワークベースのフィルタの訓練プロセスでは、画像を入力し、ターゲット画像を最適化ターゲットとして指定してフィルタパラメータを訓練する必要がある。訓練中に、入力画像とターゲット画像は空間的に整列されている。一般的に、入力画像は、再構成された歪み画像から選択され、ターゲット画像は、最適な最適化ターゲットとして原画像から選択される。
【0075】
モデルの訓練プロセスで損失関数が使用され、損失関数は、予測値と実際の値の差を測定し、損失値(loss)が大きいほど、差が大きくなり、訓練の目標は、lossを減らすことである。深層学習に基づく符号化ツールの場合、一般的に使用される損失関数は、L1ノルム損失関数、L2ノルム損失関数およびスムーズ(smooth)L1損失関数を含む。
【0076】
ニューラルネットワークベースのフィルタを実際に使用する場合、通常、フレーム画像全体を直接入力してフィルタリングするのではなく、画像をサブ画像に分割し、サブ画像をニューラルネットワークベースのフィルタに段階的に入力してフィルタリングする。
【0077】
よって、ニューラルネットワークベースのフィルタの訓練プロセスでは、入力画像とターゲット画像を分割して、入力画像ブロックとターゲット画像ブロックからなるマッチングペアを取得し、さらに、マッチングペアに基づいて、ニューラルネットワークベースのフィルタを訓練する。
【0078】
いくつかの実施例において、入力画像とターゲット画像を分割するとき、1フレームの画像からランダムにクロッピングする方式を採用して、入力画像ブロックとターゲット画像ブロックからなるマッチングペアを選択し、
図9と
図10に示すように、ランダムにクロッピングする方式を採用して、入力画像とターゲット画像をランダムにクロッピングして、番号1~5の画像ブロックを取得する。そして、実際のフィルタリングプロセスでは、通常、CTUを基本ユニットとしてフィルタリングし、例えば、
図11と
図12に示すように、A~Eの5個のCTUを用いて実際のフィルタリングを行う。
【0079】
上記の記載から分かるように、ニューラルネットワークベースのフィルタの訓練プロセスにおける画像ブロックの分割方式は、実際の使用プロセスにおける画像ブロックの分割方式と一致しないため、ニューラルネットワークベースのフィルタのフィルタリング効果が低下する。
【0080】
上記の技術的問題を解決するために、本願実施例では、実際のフィルタリングプロセスにおいて、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式と同じ方式に従って、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得し、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、ニューラルネットワークベースのフィルタを使用して、当該フィルタリング待ち画像ブロックをフィルタリングして、最終的なフィルタリング画像を取得する。つまり、本願実施例では、ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練中に使用されるブロック分割方式とを一致させることにより、ニューラルネットワークのフィルタが、最適なフィルタリング性能を発揮するようにし、それにより、画像のフィルタリング効果を向上させることができる。
【0081】
以下では、いくつかの実施例を通じて本願の実施例の技術的解決策を具体的に説明する。以下のいくつかの実施例は互いに組み合わせることができ、同じまたは類似した概念またはプロセスは、いくつかの実施例では繰り返して説明しないかもしれない。
【0082】
図13は、本願の1つの実施例による画像フィルタリング方法のフローチャートであり、
図13に示すように、本願実施例は、以下のステップを含む。
【0083】
ステップS801において、フィルタリング待ち画像を取得する。
【0084】
本願実施例において、フィルタリング待ち画像を取得する方法は、以下のいくつかの状況を含むが、これらに限定されない。
【0085】
状況1において、非ビデオコーデックシナリオの場合、1つの例では、当該フィルタリング待ち画像は、画像収集機器によって収集されたものであってもよく、例えば、カメラによって撮影されたものであってもよい。別の例では、当該フィルタリング待ち画像は、画像生成機器によって生成されたものであってもよく、例えば、画像描画装置によって描画されたものであってもよい。
【0086】
状況2において、ビデオコーデックシナリオの場合、フィルタリング待ち画像を取得する方式は、少なくとも以下の方式を含む。
【0087】
方式1において、符号化側の場合、当該フィルタリング待ち画像は、符号化前の画像であってもよく、つまり、符号化側では、フィルタリング待ち画像を符号化する前に、まず、当該フィルタリング待ち画像をフィルタリングし、次にフィルタリング済み画像を符号化する。例えば、符号化側でフィルタリング待ち画像1を符号化する前に、まず、当該フィルタリング待ち画像1をニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリングされた画像2を取得する。次に、当該画像2に対してブロック分割を行い、複数の符号化ブロックを取得し、各符号化ブロックに対して、インター予測またはイントラ予測などの予測方法を用いて予測して、符号化ブロックの予測ブロックを取得し、符号化ブロックと予測ブロックとの差を求めて、残差ブロックを取得し、残差ブロックに対して変換と量子化を行い、量子化係数を取得し、最後に、量子化係数を符号化する。
【0088】
方式2において、符号化側の場合、当該フィルタリング待ち画像は、再構成画像であってもよく、つまり、現在画像を再構成して、現在画像の再構成画像を取得し、再構成画像を、フィルタリング待ち画像として決定する。例えば、符号化側は、当該現在画像に対してブロック分割を行い、複数の符号化ブロックを取得し、各符号化ブロックに対して、インター予測またはイントラ予測などの予測方法を用いて予測して、符号化ブロックの予測ブロックを取得し、符号化ブロックと予測ブロックとの差を求めて、残差ブロックを取得し、残差ブロックに対して変換と量子化を行い、量子化係数を取得し、最後に、量子化係数を符号化する。さらに、符号化側は、量子化パラメータに対して逆量子化を行い、符号化ブロックの変換係数を取得し、変換係数に対して逆変換を行い、残差ブロックを取得し、残差ブロックを予測ブロックと加算して、当該符号化ブロックの再構成ブロックを取得する。現在画像内のすべての符号化ブロックの再構成ブロックを組み合わせて、現在画像の再構成画像を取得する。当該再構成画像をフィルタリング待ち画像として、ニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング済み画像を取得する。
【0089】
方式3において、復号化側の場合、当該フィルタリング待ち画像は、再構成画像であってもよく、つまり、現在画像を再構成して、現在画像の再構成画像を取得し、再構成画像を、フィルタリング待ち画像として決定する。例えば、復号化側は、受信したコードストリームを復号化して、現在画像内の現在ブロックの量子化係数を取得し、次に、量子化係数に対して逆量子化を行い、現在ブロックの変換係数を取得し、変換係数に対して逆変換を行い、残差ブロックを取得する。さらに、インター予測またはイントラ予測などの予測方法を用いて現在ブロックを予測して、現在ブロックの予測ブロックを取得し、残差ブロックを予測ブロックと加算して、当該現在ブロックの再構成ブロックを取得する。現在画像内のすべてのブロックの再構成ブロックを組み合わせて、現在画像の再構成画像を取得する。当該再構成画像をフィルタリング待ち画像として、ニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング済み画像を取得する。
【0090】
なお、本願実施例では、フィルタリング待ち画像を決定する方式は、上記の方式を含むが、これらに限定されず、本願は、他の方法によってフィルタリング待ち画像を取得することもでき、本願実施例は、これに対して限定しない。
【0091】
ステップS802において、ニューラルネットワークベースのフィルタを決定し、ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得する。
【0092】
ここで、上記のブロック分割方式は、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式であり、つまり、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式と同じ方式に従って、フィルタリング待ち画像を分割して、N個(Nは正の整数である)のフィルタリング待ち画像ブロックを取得する。
【0093】
本願実施例において、ニューラルネットワークベースのフィルタを使用して、フィルタリング待ち画像をフィルタリングする前に、まず、フィルタを決定する必要がある。
【0094】
いくつかの実施例において、上記のニューラルネットワークベースのフィルタは、予め設定されたまたはデフォルトのフィルタであり、このようにして、当該予め設定されたまたはデフォルトのニューラルネットワークベースのフィルタを直接使用してフィルタリングすることができる。
【0095】
いくつかの実施例において、本願実施例は、複数のニューラルネットワークベースの候補フィルタを含み、以下では、候補フィルタと略称する。このようにして、これら複数の候補フィルタから、本願実施例のニューラルネットワークベースのフィルタとして1つの候補フィルタを決定することができる。
【0096】
1つの例において、これらの複数の候補フィルタのうちの少なくとも2つの候補フィルタのネットワーク構造は全く同じではない。
【0097】
別の例において、これらの複数の候補フィルタのうちの少なくとも2つの候補フィルタが訓練プロセスで使用する訓練画像のブロック分割方式は異なる。例えば、候補フィルタ1の訓練中、入力画像内の1つのCTUを1つの入力ブロックとして決定し、ターゲット画像内の同じ位置の1つのCTUを1つのターゲットブロックとして決定し、さらに、当該入力ブロックを入力とし、当該ターゲットブロックをターゲットとして当該候補フィルタ1を訓練する。別の例では、候補フィルタ2の訓練中、入力画像内の2つのCTUを1つの入力ブロックとして決定し、ターゲット画像内の同じ位置の2つのCTUを1つのターゲットブロックとして決定し、さらに、当該入力ブロックを入力とし、当該ターゲットブロックをターゲットとして当該候補フィルタ2を訓練する。
【0098】
つまり、本願実施例の複数の候補フィルタのネットワーク構造、訓練パラメータ、訓練方式などの情報は、全く同じではない。
【0099】
上記において、複数の候補フィルタからニューラルネットワークベースのフィルタを決定する方式は、以下の方式を含むが、これらに限定されない。
【0100】
方式1において、候補フィルタのうちの任意の1つの候補フィルタをこのステップにおけるニューラルネットワークベースのフィルタとして決定する。
【0101】
方式2において、上記の複数の候補フィルタのうち、フィルタリング効果が最も高い候補フィルタを、本願のニューラルネットワークベースのフィルタとする。例示的に、上記の複数の候補フィルタの各候補フィルタを使用して、フィルタリング待ち画像をフィルタリングして、各候補フィルタに対応するフィルタリング済み画像を取得し、これらの複数のフィルタリング済み画像を比較して、最適な効果のフィルタリング済み画像を決定し、さらに、当該最適な効果のフィルタリング済み画像に対応する候補フィルタを、このステップにおけるニューラルネットワークベースのフィルタとして決定する。
【0102】
本願実施例では、フィルタリング済み画像の画像効果を決定する方法に対して限定せず、例えば、画像の解像度、シャープネス、アーティファクトなどの画像指標を決定することにより、フィルタリング済み画像の画像効果を決定することができる。
【0103】
方式3において、上記の複数の候補フィルタのうち、歪みが最も小さい候補フィルタを、本願のニューラルネットワークベースのフィルタとする。例示的に、上記の複数の候補フィルタの各候補フィルタを使用して、フィルタリング待ち画像をフィルタリングして、各候補フィルタに対応するフィルタリング済み画像を取得し、各候補フィルタに対応するフィルタリング済み画像をフィルタリング待ち画像と比較して、各候補フィルタに対応する歪みを決定し、さらに、歪みが最も小さい候補フィルタを、このステップにおけるニューラルネットワークベースのフィルタとして決定する。
【0104】
本願実施例は、上記の候補フィルタに対応する歪みを決定する方法に対して限定せず、例えば、候補フィルタに対応するフィルタリング済み画像とフィルタリング待ち画像との差を、当該候補フィルタに対応する歪みとして決定する。
【0105】
なお、本願実施例において、ニューラルネットワークベースのフィルタを決定する方式は、上記の方式を含むが、これらに限定されない。
【0106】
上記の方法によれば、当該ニューラルネットワークベースのフィルタを決定した後、当該ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式を取得する。例えば、当該ニューラルネットワークベースのフィルタのファイルには、当該ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式が含まれ、このようにして、当該ニューラルネットワークベースのフィルタのファイルから、当該ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式を直接読み取ることができる。
【0107】
本願実施例において、ニューラルネットワークベースのフィルタのフィルタリング性能を向上させるために、当該ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練中に使用されるブロック分割方式とを一致させる。
【0108】
これに基づき、実際のフィルタリングプロセスにおいて、本願実施例では、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式を使用して、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得する。つまり、本願実施例では、実際のフィルタリング時、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式を使用して、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得する。例えば、ニューラルネットワークベースのフィルタの訓練プロセスにおいて、訓練画像内の各CTUを1つの訓練画像ブロックとして決定してモデル訓練を行い、このようにして、実際のフィルタリング時にも、フィルタリング待ち画像内の各CTUを1つのフィルタリング待ち画像ブロックとして決定してフィルタリングし、これにより、ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練プロセスにおけるブロック分割方式とを一致させ、ニューラルネットワークベースのフィルタが、最適なフィルタリング性能を発揮するようにし、フィルタリング効果を向上させることができる。
【0109】
本願実施例は、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式の具体的なタイプに対して限定せず、任意のブロック分割方式であってもよい。
【0110】
いくつかの実施例において、上記のニューラルネットワークベースのフィルタが訓練で使用する訓練画像のブロック分割方式が、訓練画像内のM個(Mは正の整数である)のCTUを1つの訓練画像ブロックとして決定することを含む場合、上記のステップS802において、ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得することは、以下のステップS802-Aを含む。
【0111】
ステップS802-Aにおいて、フィルタリング待ち画像内のM個のCTUを1つのフィルタリング待ち画像ブロックとして決定することによって、N個のフィルタリング待ち画像ブロックを取得する。
【0112】
即ち、M個のCTUを1つのフィルタリング待ち画像ブロックとする方式で、フィルタリング待ち画像からN個のフィルタリング待ち画像ブロックを決定する。
【0113】
本願実施例は、上記のMの具体的な値に対して限定しない。
【0114】
例1において、M=1であり、
図14に示すように、ニューラルネットワークベースのフィルタの訓練プロセスでは、訓練画像の1つのCTUを1つの訓練画像ブロックとして決定して、ニューラルネットワークベースのフィルタを訓練し、ここで、
図14の1つの最小の破線ブロックの領域が1つのCTUである。
【0115】
1つの可能な実現形態において、ニューラルネットワークベースのフィルタが、教師あり訓練方法で訓練することによって得られたものである場合、上記の訓練画像は、入力画像とターゲット画像を含み、ここで、ターゲット画像は、教師画像として理解することができる。訓練プロセスにおいて、
図15に示すように、入力画像の1つのCTUを1つの入力画像ブロックとして決定し、
図16に示すように、ターゲット画像の1つのCTUを1つのターゲット画像ブロックとして決定し、当該入力画像ブロックと当該ターゲット画像ブロックが1つのマッチングペアを構成し、つまり、1つのマッチングペアにおける入力画像ブロックの入力画像における位置は、ターゲット画像ブロックのターゲット画像における位置と一致している。次に、入力画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該入力画像ブロックに対応するフィルタリング画像ブロックを取得する。当該入力画像ブロックのフィルタリング画像ブロックをターゲット画像ブロックと比較して、損失を計算し、当該損失に基づいて、当該ニューラルネットワークベースのフィルタのパラメータを調整する。次に、上記の方法を参照して、続けて、次のマッチングペアにおける入力画像ブロックを入力とし、次のマッチングペアにおけるターゲット画像ブロックをターゲットとして、当該ニューラルネットワークベースのフィルタを訓練して、訓練されたニューラルネットワークベースのフィルタを取得する。
【0116】
上記の記載から分かるように、当該例1では、上記のニューラルネットワークベースのフィルタの訓練プロセスにおいて、訓練画像内の1つのCTUを1つの訓練画像ブロックとして決定し、それに対応して、実際のフィルタリングプロセスでは、
図17に示すように、フィルタリング待ち画像内の1つのCTUを1つのフィルタリング待ち画像ブロックとして決定し、このようにして、フィルタリング待ち画像に対してブロック分割を行い、N個のフィルタリング待ち画像ブロックを取得する。
【0117】
例2において、M=4であり、
図18に示すように、ニューラルネットワークベースのフィルタの訓練プロセスでは、訓練画像の4つのCTUを1つの訓練画像ブロックとして決定して、ニューラルネットワークベースのフィルタを訓練する。
【0118】
1つの可能な実現形態において、ニューラルネットワークベースのフィルタが、教師あり訓練方法で訓練することによって得られたものである場合、上記の訓練画像は、入力画像とターゲット画像を含み、ここで、ターゲット画像は、教師画像として理解することができる。具体的な訓練プロセスにおいて、
図19に示すように、入力画像の4つのCTUを1つの入力画像ブロックとして決定し、
図20に示すように、ターゲット画像の4つのCTUを1つのターゲット画像ブロックとして決定し、当該入力画像ブロックと当該ターゲット画像ブロックが1つのマッチングペアを構成し、つまり、1つのマッチングペアにおける入力画像ブロックの入力画像における位置は、ターゲット画像ブロックのターゲット画像における位置と一致している。次に、入力画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該入力画像ブロックに対応するフィルタリング画像ブロックを取得する。当該入力画像ブロックのフィルタリング画像ブロックをターゲット画像ブロックと比較して、損失を計算し、当該損失に基づいて、当該ニューラルネットワークベースのフィルタのパラメータを調整する。次に、上記の方法を参照して、続けて、次のマッチングペアにおける入力画像ブロックを入力とし、次のマッチングペアにおけるターゲット画像ブロックをターゲットとして、当該ニューラルネットワークベースのフィルタを訓練して、訓練されたニューラルネットワークベースのフィルタを取得する。
【0119】
上記の記載から分かるように、当該例2では、上記のニューラルネットワークベースのフィルタの訓練プロセスにおいて、訓練画像内の4つのCTUを1つの訓練画像ブロックとして決定し、それに対応して、実際のフィルタリングプロセスでは、
図21に示すように、フィルタリング待ち画像内の4つのCTUを1つのフィルタリング待ち画像ブロックとして決定し、このようにして、N個のフィルタリング待ち画像ブロックを取得する。
【0120】
上記では、Mが1または4であることを例として説明したが、いくつかの実施例では、Mは、2、3、5などの任意の正の整数であってもよく、本願実施例は、これに対して限定しない。
【0121】
いくつかの実施例において、上記のニューラルネットワークベースのフィルタが訓練で使用する訓練画像のブロック分割方式が、訓練画像内のP個(Pは正の整数である)の不完全CTUを1つの訓練画像ブロックとして決定することを含む場合、上記のステップS802において、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式と同じ方式に従って、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得することは、以下のステップS802-Bを含む。
【0122】
S802-Bにおいて、フィルタリング待ち画像内のP個の不完全CTUを1つのフィルタリング待ち画像ブロックとして決定することによって、N個のフィルタリング待ち画像ブロックを取得する。
【0123】
即ち、P個の不完全CTUを1つのフィルタリング待ち画像ブロックとして、フィルタリング待ち画像からN個のフィルタリング待ち画像ブロックを決定する。
【0124】
本願実施例は、上記のPの具体的な値に対して限定しない。
【0125】
例を挙げると、P=4であると仮定すると、
図22に示すように、ニューラルネットワークベースのフィルタの訓練プロセスでは、訓練画像の4つの不完全CTUを1つの訓練画像ブロックとして決定し、ニューラルネットワークベースのフィルタを訓練する。
【0126】
1つの可能な実現形態において、ニューラルネットワークベースのフィルタが、教師あり訓練方法で訓練することによって得られたものである場合、上記の訓練画像は、入力画像とターゲット画像を含み、ここで、ターゲット画像は、教師画像として理解することができる。具体的な訓練プロセスにおいて、
図23に示すように、入力画像の4つの不完全CTUを1つの入力画像ブロックとして決定し、
図24に示すように、ターゲット画像の4つの不完全CTUを1つのターゲット画像ブロックとして決定し、当該入力画像ブロックと当該ターゲット画像ブロックが1つのマッチングペアを構成する。次に、入力画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該入力画像ブロックに対応するフィルタリング画像ブロックを取得する。当該入力画像ブロックのフィルタリング画像ブロックをターゲット画像ブロックと比較して、損失を計算し、当該損失に基づいて、当該ニューラルネットワークベースのフィルタのパラメータを調整する。次に、上記の方法を参照して、続けて、次のマッチングペアにおける入力画像ブロックを入力とし、次のマッチングペアにおけるターゲット画像ブロックをターゲットとして、当該ニューラルネットワークベースのフィルタを訓練して、訓練されたニューラルネットワークベースのフィルタを取得する。
【0127】
上記の記載から分かるように、この例では、上記のニューラルネットワークベースのフィルタの訓練プロセスにおいて、訓練画像内の4つの不完全CTUを1つの訓練画像ブロックとして決定し、それに対応して、実際のフィルタリングプロセスでは、
図25に示すように、フィルタリング待ち画像内の4つの不完全CTUを1つのフィルタリング待ち画像ブロックとして決定し、このようにして、N個のフィルタリング待ち画像ブロックを取得する。
【0128】
上記では、Pが4であることを例として説明したが、いくつかの実施例では、上記のPは、1、2、3、5などの任意の正の整数であってもよく、本願実施例は、これに対して限定しない。
【0129】
上記の例では、4つの不完全CTUは隣接しており、いくつかの実施例において、上記のPが1より大きい場合、P個の残差CTUは完全に隣接しなくてもよい。つまり、P個の残差CTUのすべての残差CTUが互いに隣接していないか、または、P個の残差CTUの一部の残差CTUが隣接互いにしており、一部の残差CTUが互いに隣接していない。
【0130】
上記の実施例では、訓練画像のブロック分割方式が、訓練画像内のM個のCTUを1つの訓練画像ブロックとして決定すること、または、訓練画像内のP個の不完全CTUを1つの訓練画像ブロックとして決定することが含むことを示している。なお、本願実施例に係る訓練画像のブロック分割方式は、上記の例を含むが、これらに限定されず、本願実施例は、これに対して限定しない。
【0131】
上記のステップにより、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式を使用して、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得した後、以下のステップS803を実行する。
【0132】
ステップS803において、ニューラルネットワークベースのフィルタを使用して、N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得する。
【0133】
本願実施例では、訓練画像のブロック分割方式と同じブロック分割方式を使用して、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得する。N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、当該フィルタリング待ち画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを取得する。上記の方法によれば、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを決定することができ、これらのN個のフィルタリング待ち画像ブロックのフィルタリング済み画像ブロックがフィルタリング済み画像を構成する。
【0134】
フィルタリングプロセスにおいて、画像ブロックの境界の外側にある隣接コンテンツに基づいてフィルタリングすることにより、画像ブロックの境界領域のフィルタリング効果を向上させることができる。これに鑑み、ニューラルネットワークベースのフィルタのフィルタリング効果をさらに向上させるために、いくつかの実施例において、上記のニューラルネットワークベースのフィルタは、訓練画像ブロックの拡張画像ブロックを用いて訓練することによって得られたものである。つまり、本願実施例では、フィルタの訓練プロセスにおいて、上記の訓練画像のブロック分割方式に従って訓練画像を分割して、訓練画像ブロックを取得することに加えて、当該訓練画像ブロックを外側に拡張して、拡張画像ブロックを取得し、当該拡張画像ブロックを使用して、ニューラルネットワークベースのフィルタを訓練することもできる。この場合、上記のステップS803は、以下のステップS803-A1~S803-A3を含む。
【0135】
ステップS803-A1において、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、訓練画像ブロックの拡張方式に従って、フィルタリング待ち画像ブロックを拡張して、拡張されたフィルタリング待ち画像ブロックを取得する。
【0136】
ステップS803-A2において、ニューラルネットワークベースのフィルタを使用して、拡張されたフィルタリング待ち画像ブロックをフィルタリングして、フィルタリング済みの拡張画像ブロックを取得する。
【0137】
ステップS803-A3において、フィルタリング済みの拡張画像ブロック内のフィルタリング待ち画像ブロックに対応する画像領域を、フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックとして決定する。
【0138】
本願実施例では、フィルタリング待ち画像のフィルタリング効果をさらに向上させるために、訓練画像ブロックと同じ拡張方式を採用して、フィルタリング待ち画像ブロックを拡張する。具体的には、実際のフィルタリングプロセスにおいて、訓練画像のブロック分割方式と同じブロック分割方式を使用して、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得する。N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、訓練画像ブロックと同じ拡張方式を採用して、フィルタリング待ち画像ブロックを外側に拡張して、拡張されたフィルタリング待ち画像ブロックを取得する。次に、拡張されたフィルタリング待ち画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該拡張されたフィルタリング待ち画像ブロックのフィルタリング済みの拡張画像ブロックを取得する。当該フィルタリング済みの拡張画像ブロックは、フィルタリング待ち画像ブロックのサイズと一致しないため、フィルタリング済みの拡張画像ブロックをクロッピングし、具体的には、フィルタリング済みの拡張画像ブロック内の、フィルタリング待ち画像ブロックに対応する画像領域を、当該フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックとして決定する。上記のステップによれば、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを決定することができ、これらのN個のフィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを繋ぎ合わせて、最終的なフィルタリング済み画像を取得する。
【0139】
本願実施例は、訓練画像ブロックの具体的な拡張方式に対して限定しない。
【0140】
いくつかの実施例において、訓練画像ブロックの拡張方式は、訓練画像ブロックの少なくとも1つの境界領域を外側に拡張することを含み、この場合、ステップS803-A1において、訓練画像ブロックの拡張方式に従ってフィルタリング待ち画像ブロックを拡張して、拡張されたフィルタリング待ち画像ブロックを取得することは、フィルタリング待ち画像ブロックの少なくとも1つの境界領域を外側に拡張して、拡張されたフィルタリング待ち画像ブロックを取得することを含む。
【0141】
いくつかの例において、
図26に示すように、ニューラルネットワークベースのフィルタの訓練プロセスでは、訓練画像ブロックの周囲を外側に拡張し、拡張された訓練画像ブロックを使用して、ニューラルネットワークベースのフィルタを訓練する。
【0142】
1つの可能な実現形態において、ニューラルネットワークベースのフィルタが、教師あり訓練方法で訓練することによって得られたものである場合、上記の訓練画像は、入力画像とターゲット画像を含み、ここで、ターゲット画像は、教師画像として理解することができる。具体的な訓練プロセスでは、
図27に示すように、入力画像の1つのCTUを1つの入力画像ブロックとして決定し、当該入力画像ブロックの周囲を外側に拡張して、拡張された入力画像ブロックを取得する。
図28に示すように、ターゲット画像の1つのCTUを1つのターゲット画像ブロックとして決定し、当該ターゲット画像ブロックの周囲を外側に拡張して、拡張されたターゲット画像ブロックを取得する。次に、拡張された入力画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該拡張された入力画像ブロックに対応するフィルタリング画像ブロックを取得する。当該拡張された入力画像ブロックのフィルタリング画像ブロックを拡張されたターゲット画像ブロックと比較して、損失を計算し、当該損失に基づいて、当該ニューラルネットワークベースのフィルタのパラメータを調整する。次に、上記の方法を参照して、続けて、次のマッチングペアにおける拡張された入力画像ブロックを入力とし、次のマッチングペアにおける拡張されたターゲット画像ブロックをターゲットとして、当該ニューラルネットワークベースのフィルタを訓練して、訓練されたニューラルネットワークベースのフィルタを取得する。
【0143】
上記の記載から分かるように、この例では、上記のニューラルネットワークベースのフィルタの訓練プロセスにおいて、訓練画像内の1つのCTUを1つの訓練画像ブロックとして決定し、訓練画像ブロックの周囲を外側に拡張して、拡張された訓練画像ブロックを取得する。それに対応して、実際のフィルタリングプロセスでは、
図29に示すように、フィルタリング待ち画像内の1つのCTUを1つのフィルタリング待ち画像ブロックとして決定し、次に、上記の訓練画像ブロックの拡張方式を用いて、フィルタリング待ち画像ブロックの周囲を外側に拡張して、拡張されたフィルタリング待ち画像ブロックを取得し、そして、拡張されたフィルタリング待ち画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング済みの拡張画像ブロックを取得し、さらに、フィルタリング済みの拡張画像ブロックの、フィルタリング待ち画像ブロックに対応する画像領域を、フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックとして決定する。
【0144】
いくつかの例において、
図30に示すように、ニューラルネットワークベースのフィルタの訓練プロセスでは、訓練画像ブロックの左境界と上境界を外側に拡張し、拡張された訓練画像ブロックを使用して、ニューラルネットワークベースのフィルタを訓練する。
【0145】
1つの可能な実現形態において、ニューラルネットワークベースのフィルタが、教師あり訓練方法で訓練することによって得られたものである場合、上記の訓練画像は、入力画像とターゲット画像を含み、ここで、ターゲット画像は、教師画像として理解することができる。具体的な訓練プロセスでは、
図31に示すように、入力画像の1つのCTUを1つの入力画像ブロックとして決定し、当該入力画像ブロックの左境界と上境界を外側に拡張して、拡張された入力画像ブロックを取得する。
図32に示すように、ターゲット画像の1つのCTUを1つのターゲット画像ブロックとして決定し、当該ターゲット画像ブロックの左境界と上境界を外側に拡張して、拡張されたターゲット画像ブロックを取得する。次に、拡張された入力画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、当該拡張された入力画像ブロックに対応するフィルタリング画像ブロックを取得する。当該拡張された入力画像ブロックのフィルタリング画像ブロックを拡張されたターゲット画像ブロックと比較して、損失を計算し、当該損失に基づいて、当該ニューラルネットワークベースのフィルタのパラメータを調整する。次に、上記の方法を参照して、次のマッチングペアにおける拡張された入力画像ブロックを入力とし、次のマッチングペアにおける拡張されたターゲット画像ブロックをターゲットとして、当該ニューラルネットワークベースのフィルタを訓練して、訓練されたニューラルネットワークベースのフィルタを取得する。
【0146】
上記の記載から分かるように、この例では、上記のニューラルネットワークベースのフィルタの訓練プロセスにおいて、訓練画像内の1つのCTUを1つの訓練画像ブロックとして決定し、訓練画像ブロックの左境界と上境界を外側に拡張して、拡張された訓練画像ブロックを取得する。それに対応して、実際のフィルタリングプロセスでは、
図33に示すように、フィルタリング待ち画像内の1つのCTUを1つのフィルタリング待ち画像ブロックとして決定し、次に、上記の訓練画像ブロックの拡張方式を用いて、フィルタリング待ち画像ブロックの左境界と上境界を外側に拡張して、拡張されたフィルタリング待ち画像ブロックを取得し、そして、拡張されたフィルタリング待ち画像ブロックをニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング済みの拡張画像ブロックを取得し、さらに、フィルタリング済みの拡張画像ブロックの、フィルタリング待ち画像ブロックに対応する画像領域を、フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックとして決定する。
【0147】
いくつかの例において、訓練画像ブロックの拡張方式は、訓練画像ブロックの他の境界を外側に拡張することをさらに含み、本願実施例は、これに対して限定しない。
【0148】
いくつかの実施例では、ニューラルネットワークベースのフィルタのフィルタリング効果をさらに向上させるために、訓練プロセスにおいて、入力画像ブロックを入力することに加えて、当該入力画像ブロックの参照画像ブロックも入力する。実際のフィルタリングプロセスと訓練プロセスの一貫性を維持するために、上記のステップS803は、以下のステップS803-B1~S803-B2を含む。
【0149】
ステップS803-B1において、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、フィルタリング待ち画像ブロックの参照画像ブロックを決定する。
【0150】
ステップS803-B2において、フィルタリング待ち画像ブロックと、フィルタリング待ち画像ブロックの参照画像ブロックを、ニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを取得する。
【0151】
本願実施例において、ニューラルネットワークベースのフィルタの訓練プロセスにおいて、入力情報が、入力画像ブロックと、当該入力画像ブロックの参照画像ブロックとを含む場合、実際のフィルタリングプロセスでは、入力情報は、フィルタリング待ち画像ブロックに加えて、当該フィルタリング待ち画像ブロックの参照画像ブロックをさらに含む。
【0152】
本願実施例は、上記のフィルタリング待ち画像ブロックの参照画像ブロックを決定する方式に対して限定しない。
【0153】
いくつかの実施例において、フィルタリング待ち画像ブロックの参照画像ブロックの決定方式は、訓練画像ブロックの参照画像ブロックの決定方式とは異なる。
【0154】
いくつかの実施例において、フィルタリング待ち画像ブロックの参照画像ブロックの決定方式は、入力画像ブロックの参照画像ブロックの決定方式と同じである。この場合、上記のステップS803-B1において、フィルタリング待ち画像ブロックの参照画像ブロックを決定することは、以下のステップS803-B11~S803-B12を含む。
【0155】
ステップS803-B11において、入力画像ブロックの参照画像ブロックの決定方式を取得し、当該決定方式は、入力画像ブロックの空間領域情報と時間領域情報のうちの少なくとも1つに基づいて、対応する参照画像ブロックを決定するために使用される。
【0156】
ステップS803-B12において、入力画像ブロックの参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの参照画像ブロックを決定する。
【0157】
本願実施例において、入力画像ブロックの参照画像ブロックの決定方式は、当該ニューラルネットワークベースのフィルタのファイルから読み取ることができる。いくつかの実施例において、ニューラルネットワークベースのフィルタの訓練機器が、実際のフィルタリング機器と同一の機器である場合、当該機器には、入力画像ブロックの参照画像ブロックの決定方式が格納されている。
【0158】
入力画像ブロックの参照画像ブロックの決定方式を取得した後、入力画像ブロックの参照画像ブロックの決定方式を用いて、フィルタリング待ち画像ブロックの参照画像ブロックを決定する。つまり、本願実施例において、フィルタリング待ち画像ブロックの参照画像ブロックの決定方式は、入力画像ブロックの参照画像ブロックの決定方式と一致する。
【0159】
本願実施例は、参照画像ブロックの具体的なタイプに対して限定しない。
【0160】
いくつかの実施例において、入力画像ブロックの参照画像ブロックが、入力画像ブロックの時間領域参照画像ブロッと空間領域参照画像ブロックのうちの少なくとも1つを含む場合、フィルタリング待ち画像ブロックの参照画像ブロックは、フィルタリング待ち画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含む。
【0161】
ここで、空間領域参照画像ブロックは、現在入力画像ブロックの固定した相対位置の画像領域を選択してもよく、即ち、入力画像ブロックの空間領域参照画像ブロックは、入力画像ブロックと同一フレームにあり、即ち、両方とも入力画像にある。
【0162】
時間領域参照画像ブロックと空間領域参照画像ブロックの違いは、時間領域参照画像ブロックと現在入力画像ブロックが異なるフレームにあることであり、ここで、時間領域参照画像ブロックの参照位置は、現在入力画像と同じ空間位置の参照ブロックを選択してもよい。
【0163】
本願実施例において、フィルタリング待ち画像ブロックの参照画像ブロックのタイプは、入力画像ブロックの参照画像ブロックのタイプと同じである。
【0164】
例1において、入力画像ブロックの参照画像ブロックが空間領域参照画像ブロックを含む場合、フィルタリング待ち画像ブロックの参照画像ブロックも空間領域参照画像ブロックを含む。この場合、上記のステップS803-B12は、以下のステップを含む。
【0165】
ステップS803-B12-Aにおいて、入力画像ブロックの空間領域参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定する。
【0166】
この例では、入力画像ブロックの参照画像ブロックが空間領域参照画像ブロックを含む場合、入力画像ブロックの空間領域参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定し、これにより、フィルタリング待ち画像ブロックの空間領域参照画像ブロックを正確に決定することができる。
【0167】
1つの可能な実現形態において、入力画像ブロックの空間領域参照画像ブロックの決定方式を用いて、フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定し、これにより、ニューラルネットワークベースのフィルタの訓練プロセスでの入力情報が、実際のフィルタリングプロセスでの入力情報と一致することを保証し、ニューラルネットワークベースのフィルタのフィルタリング性能を向上させることができる。
【0168】
本願実施例は、空間領域参照画像ブロックの具体的なタイプに対して限定しない。
【0169】
いくつかの実施例において、入力画像ブロックの空間領域参照画像ブロックが、入力画像内の入力画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを含む場合、フィルタリング待ち画像ブロックの空間領域参照画像ブロックは、フィルタリング待ち画像内の、当該フィルタリング待ち画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを含む。この場合、ステップS803-B12-Aは、フィルタリング待ち画像内の、フィルタリング待ち画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを、フィルタリング待ち画像ブロックの空間領域参照画像ブロックとして決定することを含む。
【0170】
例えば、
図34に示すように、入力画像ブロックの空間領域参照画像ブロックが、入力画像内の入力画像ブロックの左上に位置する画像ブロックを含む場合、
図35に示すように、フィルタリング待ち画像内の、前記フィルタリング待ち画像ブロックの左上に位置する画像ブロックを、フィルタリング待ち画像の空間領域参照画像ブロックとして決定する。
【0171】
別の例において、
図36に示すように、入力画像ブロックの空間領域参照画像ブロックが、入力画像内の入力画像ブロックの左側に位置する画像ブロックを含む場合、
図37に示すように、フィルタリング待ち画像内の、フィルタリング待ち画像ブロックの左側に位置する画像ブロックを、フィルタリング待ち画像の空間領域参照画像ブロックとして決定する。
【0172】
別の例において、
図38に示すように、入力画像ブロックの空間領域参照画像ブロックが、入力画像内の入力画像ブロックの上部に位置する画像ブロックを含む場合、
図39に示すように、フィルタリング待ち画像内の、フィルタリング待ち画像ブロックの上部に位置する画像ブロックを、フィルタリング待ち画像の空間領域参照画像ブロックとして決定する。
【0173】
別の例において、
図40に示すように、入力画像ブロックの空間領域参照画像ブロックが、入力画像内の入力画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックを含む場合、
図41に示すように、フィルタリング待ち画像内の、フィルタリング待ち画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックを、フィルタリング待ち画像の空間領域参照画像ブロックとして決定する。
【0174】
本願実施例では、フィルタリング効果をさらに向上させるために、訓練プロセスにおいて、入力画像ブロックを入力することに加えて、当該入力画像ブロックの空間領域参照画像ブロックも入力することにより、ニューラルネットワークベースのフィルタのフィルタリング効果を向上させる。このようにして、実際のフィルタリングプロセスにおいて、実際のフィルタリングプロセスでの入力情報と訓練プロセスでの入力情報の一貫性を維持するために、入力画像ブロックの空間領域参照画像ブロックの決定方式と同じ決定方式を採用して、フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定し、さらに、フィルタリング待ち画像ブロックと、フィルタリング待ち画ブロックの空間領域参照画像ブロックを当該ニューラルネットワークベースのフィルタに入力して、フィルタリング待ち画像に対するフィルタリングを実現する。
【0175】
例2において、入力画像ブロックの参照画像ブロックが時間領域参照画像ブロックを含む場合、フィルタリング待ち画像ブロックの参照画像ブロックも、時間領域参照画像ブロックを含む。この場合、上記のステップS803-B12は、以下のステップを含む。
【0176】
ステップS803-B12-Bにおいて、入力画像ブロックの時間領域参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定する。
【0177】
この例では、入力画像ブロックの参照画像ブロックが時間領域参照画像ブロックを含む場合、入力画像ブロックの時間領域参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定し、これにより、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを正確に決定することができる。
【0178】
1つの可能な実現形態において、入力画像ブロックの時間領域参照画像ブロックの決定方式を用いて、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定し、これにより、ニューラルネットワークベースのフィルタの訓練プロセスでの入力情報が実際のフィルタリングプロセスでの入力情報と一致することを保証し、ニューラルネットワークベースのフィルタのフィルタリング性能を向上させることができる。
【0179】
いくつかの実施例において、ステップS803-B12-Bは、フィルタリング待ち画像の参照画像を決定し、フィルタリング待ち画像の参照画像内のフィルタリング待ち画像ブロックに対応する位置の画像ブロックを、フィルタリング待ち画像ブロックの時間領域参照画像ブロックとして決定することを含む。
【0180】
例えば、
図42と
図43に示すように、入力画像ブロックの時間領域参照画像ブロックは、入力画像の参照画像内の、入力画像ブロックに対応する位置の画像ブロックである。つまり、入力画像ブロックの時間領域参照画像ブロックの入力画像の参照画像における位置は、入力画像ブロックの入力画像における位置と一致する。この場合、
図44と
図45に示すように、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定するプロセスは、まず、当該フィルタリング画像の参照画像を決定し、当該フィルタリング画像の参照画像内の、フィルタリング待ち画像ブロックに対応する位置の画像ブロックを、フィルタリング待ち画像ブロックの時間領域参照画像ブロックとして決定することである。
【0181】
本願実施例は、参照画像のタイプに対して限定せず、例えば、本願実施例の方法が符号化側に適用される場合、上記のフィルタリング待ち画像の参照画像は、任意の符号化済みの画像であってもよく、本願実施例の方法が復号化側に適用される場合、上記のフィルタリング待ち画像の参照画像は、任意の復号化済みの画像であってもよい。
【0182】
本願実施例では、フィルタリング効果をさらに向上させるために、訓練プロセスにおいて、入力画像ブロックを入力することに加えて、当該入力画像ブロックの時間領域参照画像ブロックも入力することにより、ニューラルネットワークベースのフィルタのフィルタリング効果を向上させる。このようにして、実際のフィルタリングプロセスでは、実際のフィルタリングプロセスでの入力情報と訓練プロセスでの入力情報の一貫性を維持するために、入力画像ブロックの時間領域参照画像ブロックの決定方式と同じ決定方式を採用して、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定し、さらに、フィルタリング待ち画像ブロックと、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを当該ニューラルネットワークベースのフィルタに入力することにより、フィルタリング待ち画像に対するフィルタリングを実現する。
【0183】
いくつかの実施例において、入力画像ブロックの参照画像ブロックが、空間領域参照画像ブロックおよび時間領域参照画像ブロックを含む場合、フィルタリング待ち画像ブロックの参照画像ブロックも、空間領域参照画像ブロックおよび時間領域参照画像ブロックを含み、ここで、フィルタリング待ち画像ブロックの空間領域参照画像ブロックと時間領域参照画像ブロックの決定プロセスについては、上記の空間領域参照画像ブロックと時間領域参照画像ブロックの決定プロセスを参照することができ、ここでは繰り返して説明しない。
【0184】
上記の方法に従って、ニューラルネットワークベースのフィルタを使用して、N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得する。
【0185】
いくつかの実施例において、本願実施例のフィルタリング方法は、ループフィルタリングモジュールに適用されることができ、この場合、本願実施例の方法は、当該フィルタリング済み画像に基づいて、予測用の参照画像を生成し、生成された参照画像を、後続の復号化画像の参照画像として使用するために復号化キャッシュに記憶することをさらに含む。ここで、当該フィルタリング済み画像に基づいて参照画像を生成する方式は、当該フィルタリング画像を直接に参照画像として使用すること、または当該フィルタリング画像に対して再処理を行い、例えば、他の方式のフィルタリングなどの処理を行い、再処理された画像を参照画像として使用することであってもよい。任意選択的に、当該フィルタリング済み画像は、表示機器によって表示されることもできる。
【0186】
いくつかの実施例において、本願実施例の方法はまた、ビデオ後処理に適用されることもでき、即ち、当該フィルタリング済み画像に基づいて表示画像を生成し、生成された表示画像を表示機器に入力して表示し、当該フィルタリング済み画像または当該フィルタリング済み画像の再処理画像を復号化キャッシュに記憶することをスキップする。つまり、本願実施例では、上記のフィルタリング済み画像に基づいて生成された表示画像を表示機器に入力して表示するが、参照画像として復号化キャッシュに記憶しない。例示的に、ビデオを復号化することにより現在画像の再構成画像を決定した後、当該再構成画像を参照画像として復号化キャッシュに記憶するか、または従来のループフィルタリング方法を用いて、例えば、DBF、SAOおよびALFなどのうちの少なくとも1つのフィルタを用いて、当該再構成画像をフィルタリングし、フィルタリングされた画像を参照画像として、復号化キャッシュに記憶する。次に、上記の再構成画像をフィルタリング待ち画像とし、本願実施例の方法により、ニューラルネットワークベースのフィルタを使用して当該再構成画像をフィルタリングして、フィルタリング済み画像を取得し、当該フィルタリング済み画像に基づいて表示画像を生成し、当該表示画像を表示機器に入力して表示する。
【0187】
いくつかの実施例において、上記のフィルタリング済み画像は、DBF、SAOおよびALFなどのうちの少なくとも1つのフィルタによってさらにフィルタリングされることもできる。
【0188】
いくつかの実施例において、本願実施例のフィルタリング待ち画像は、DBF、SAOおよびALFなどのうちの少なくとも1つのフィルタによってフィルタリングされた画像であってもよく、次に、本願実施例の方法により、ニューラルネットワークベースのフィルタを使用して、当該フィルタリングされた画像をさらにフィルタリングする。
【0189】
本願実施例による画像フィルタリング方法において、フィルタリング待ち画像を取得し、ニューラルネットワークベースのフィルタを決定し、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式と同じ方式に従って、フィルタリング待ち画像を分割して、N個(Nは正の整数である)のフィルタリング待ち画像ブロックを取得し、ニューラルネットワークベースのフィルタを使用して、N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得する。つまり、本願実施例では、ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練中に使用されるブロック分割方式とを一致させることにより、ニューラルネットワークのフィルタが、最適なフィルタリング性能を発揮するようにし、それにより、画像のフィルタリング効果を向上させることができる。
【0190】
図46は、本願の1つの実施例による画像フィルタリング方法の例示的なフローチャートである。
図46は、上記の
図13に示すフィルタリング方法の1つの具体的な実施例として理解してもよい。
【0191】
図46に示すように、本願実施例の画像フィルタリング方法は、以下のステップを含む。
【0192】
ステップS901において、フィルタリング待ち画像を取得する。
【0193】
非ビデオコーデックシナリオの場合、当該フィルタリング待ち画像は、画像収集機器によって収集されたものであってもよいし、画像描画装置によって描画されたものであってもよい。
【0194】
ビデオコーデックシナリオの場合、当該フィルタリング待ち画像は再構成画像であってもよい。
【0195】
上記のステップS901の具体的な実施形態については、上記のステップS801の説明を参照することができ、ここでは繰り返して説明しない。
【0196】
ステップS902において、ニューラルネットワークベースのフィルタを決定し、ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得する。
【0197】
ここで、ブロック分割方式は、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式であり、つまり、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式と同じ方式に従って、フィルタリング待ち画像を分割して、N個(Nは正の整数である)のフィルタリング待ち画像ブロックを取得する。
【0198】
例えば、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式は、訓練画像内の1つのCTUを1つの訓練画像ブロックとして決定することであり、すると、実際のフィルタリング時、フィルタリング待ち画像の1つのCTUを1つのフィルタリング待ち画像ブロックとして決定することによって、N個のフィルタリング待ち画像ブロックを取得する。
【0199】
上記のステップS902の具体的な実施形態については、上記のステップS802の説明を参照することができ、ここでは繰り返して説明しない。
【0200】
ステップS903において、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、入力画像ブロックの参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの参照画像ブロックを決定する。
【0201】
本願実施例において、フィルタリング待ち画像ブロックの参照画像ブロックの決定方式は、入力画像ブロックの参照画像ブロックの決定方式と一致する。
【0202】
いくつかの実施例において、入力画像ブロックの参照画像ブロックが、入力画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含む場合、フィルタリング待ち画像ブロックの参照画像ブロックは、フィルタリング待ち画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含む。
【0203】
上記のステップS903の具体的な実施形態については、上記のステップS803-B12の説明を参照することができ、ここでは繰り返して説明しない。
【0204】
ステップS904において、フィルタリング待ち画像ブロックと、フィルタリング待ち画像ブロックの参照画像ブロックを、ニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング済み画像を取得する。
【0205】
本願実施例では、フィルタリング効果をさらに向上させるために、訓練プロセスにおいて、入力画像ブロックを入力することに加えて、当該入力画像ブロックの参照画像ブロックも入力することにより、ニューラルネットワークベースのフィルタのフィルタリング効果を向上させる。このようにして、実際のフィルタリングプロセスでは、実際のフィルタリングプロセスでの入力情報と訓練プロセスでの入力情報の一貫性を維持するために、入力画像ブロックの参照画像ブロックの決定方式と同じ決定方式を採用して、フィルタリング待ち画像ブロックの参照画像ブロックを決定し、さらに、フィルタリング待ち画像ブロックと、フィルタリング待ち画像ブロックの参照画像ブロックを当該ニューラルネットワークベースのフィルタに入力して、フィルタリング待ち画像に対するフィルタリングを実現する。
【0206】
本願実施例による画像フィルタリング方法によれば、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式と同じ方式で、フィルタリング待ち画像を分割して、N個のフィルタリング待ち画像ブロックを取得し、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、入力画像ブロックの参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの参照画像ブロックを決定し、フィルタリング待ち画像ブロックと、フィルタリング待ち画像ブロックの参照画像ブロックを、ニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング済み画像を取得する。つまり、本願実施例では、ニューラルネットワークベースのフィルタの実際の使用過程におけるブロック分割方式と、訓練中に使用されるブロック分割方式とを一致させ、且つ入力画像ブロックの参照画像ブロックの決定方式と、フィルタリング待ち画像ブロックの参照画像ブロックの決定方式とを一致させることにより、ニューラルネットワークベースのフィルタのフィルタリング効果をさらに向上させることができる。
【0207】
図13ないし
図46は、本願の例に過ぎず、本願を限定するものとして理解すべきではないことを理解されたい。
【0208】
以上では、
図13ないし
図46を参照して、本願の方法の実施例を詳細に説明しており、以下では、
図47ないし
図48を参照して、本願の装置の実施例を説明する。
【0209】
図47は、本願の1つの実施例による画像フィルタリング装置の例示的なブロック図である。当該装置10は、電子機器または電子機器の一部であってもよい。
図47に示すように、画像フィルタリング装置10は、
フィルタリング待ち画像を取得するように構成される取得ユニット11と、
ニューラルネットワークベースのフィルタを決定し、ニューラルネットワークベースのフィルタに対応するブロック分割方式に従って、フィルタリング待ち画像を分割して、N個(Nは正の整数である)のフィルタリング待ち画像ブロックを取得するように構成される分割ユニット12であって、ブロック分割方式は、ニューラルネットワークベースのフィルタが訓練プロセスで使用する訓練画像のブロック分割方式である、分割ユニット12と、
ニューラルネットワークベースのフィルタを使用して、N個のフィルタリング待ち画像ブロックをそれぞれフィルタリングして、フィルタリング済み画像を取得するように構成されるフィルタリングユニット13と、を備えることができる。
【0210】
いくつかの実施例において、訓練画像のブロック分割方式は、訓練画像内のM個(Mは正の整数である)のCTUを1つの訓練画像ブロックとして決定することを含み、
分割ユニット12は、フィルタリング待ち画像内のM個のCTUを1つのフィルタリング待ち画像ブロックとして決定することによって、N個のフィルタリング待ち画像ブロックを取得するように構成される。
【0211】
いくつかの実施例において、訓練画像のブロック分割方式は、訓練画像内のP個(Pは正の整数である)の不完全CTUを1つの訓練画像ブロックとして決定することを含み、
分割ユニット12は、フィルタリング待ち画像内のP個の不完全CTUを1つのフィルタリング待ち画像ブロックとして決定することによって、N個のフィルタリング待ち画像ブロックを取得するように構成される。
【0212】
いくつかの実施例において、ニューラルネットワークベースのフィルタは、訓練画像ブロックの拡張画像ブロックを用いて訓練することによって得られ、
フィルタリングユニット13は、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、訓練画像ブロックの拡張方式に従って、フィルタリング待ち画像ブロックを拡張して、拡張されたフィルタリング待ち画像ブロックを取得し、ニューラルネットワークベースのフィルタを使用して、拡張されたフィルタリング待ち画像ブロックをフィルタリングして、フィルタリング済みの拡張画像ブロックを取得し、フィルタリング済みの拡張画像ブロック内の、フィルタリング待ち画像ブロックに対応する画像領域を、フィルタリング待ち画像ブロックに対応するフィルタリング済み画像ブロックとして決定するように構成される。
【0213】
いくつかの実施例において、訓練画像ブロックの拡張方式は、訓練画像ブロックの少なくとも1つの境界領域を外側に拡張することを含み、
フィルタリングユニット13は、フィルタリング待ち画像ブロックの少なくとも1つの境界領域を外側に拡張して、拡張されたフィルタリング待ち画像ブロックを取得するように構成される。
【0214】
いくつかの実施例において、訓練画像は、入力画像を含み、ニューラルネットワークベースのフィルタの訓練する際の入力データは、入力画像ブロックと、入力画像ブロックの参照画像ブロックを含み、入力画像ブロックは、ブロック分割方式を用いて入力画像に対して画像分割を行うことによって得られ、
フィルタリングユニット13は、N個のフィルタリング待ち画像ブロックの各フィルタリング待ち画像ブロックについて、フィルタリング待ち画像ブロックの参照画像ブロックを決定し、フィルタリング待ち画像ブロックと、フィルタリング待ち画像ブロックの参照画像ブロックを、ニューラルネットワークベースのフィルタに入力してフィルタリングして、フィルタリング待ち画像ブロックのフィルタリング済み画像ブロックを取得するように構成される。
【0215】
いくつかの実施例において、フィルタリングユニット13は、入力画像ブロックの参照画像ブロックの決定方式を取得し、決定方式は、入力画像ブロックの空間領域情報と時間領域情報のうちの少なくとも1つに基づいて、対応する参照画像ブロックを決定するために使用され、入力画像ブロックの参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの参照画像ブロックを決定するように構成される。
【0216】
いくつかの実施例において、入力画像ブロックの参照画像ブロックは、入力画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含み、フィルタリング待ち画像ブロックの参照画像ブロックは、フィルタリング待ち画像ブロックの時間領域参照画像ブロックと空間領域参照画像ブロックのうちの少なくとも1つを含む。
【0217】
いくつかの実施例において、入力画像ブロックの参照画像ブロックも、入力画像ブロックの空間領域参照画像ブロックを含み、
フィルタリングユニット13は、入力画像ブロックの空間領域参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの空間領域参照画像ブロックを決定するように構成される。
【0218】
いくつかの実施例において、入力画像ブロックの空間領域参照画像ブロックは、入力画像内の、入力画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを含み、
フィルタリングユニット13は、フィルタリング待ち画像内の、フィルタリング待ち画像ブロックの左上に位置する画像ブロック、左側に位置する画像ブロックおよび上部に位置する画像ブロックのうちの少なくとも1つを、フィルタリング待ち画像ブロックの空間領域参照画像ブロックとして決定するように構成される。
【0219】
いくつかの実施例において、入力画像ブロックの参照画像ブロックも、入力画像ブロックの時間領域参照画像ブロックを含み、
フィルタリングユニット13は、入力画像ブロックの時間領域参照画像ブロックの決定方式に従って、フィルタリング待ち画像ブロックの時間領域参照画像ブロックを決定するように構成される。
【0220】
いくつかの実施例において、入力画像ブロックの時間領域参照画像ブロックは、入力画像の参照画像内の、入力画像ブロックに対応する位置の画像ブロックを含み、
フィルタリングユニット13は具体的に、フィルタリング待ち画像の参照画像を決定し、フィルタリング待ち画像の参照画像内の、フィルタリング待ち画像ブロックに対応する位置の画像ブロックを、フィルタリング待ち画像ブロックの時間領域参照画像ブロックとして決定するように構成される。
【0221】
いくつかの実施例において、訓練画像は、入力画像と、入力画像に対応するターゲット画像を含み、ニューラルネットワークベースのフィルタは、入力画像ブロックを入力データとし、ターゲット画像ブロックをターゲットとして訓練することによって得られ、入力画像ブロックは、訓練画像のブロック分割方式を用いて入力画像に対して画像分割を行うことによって得られ、ターゲット画像ブロックは、訓練画像のブロック分割方式を用いてターゲット画像に対して画像分割を行うことによって得られる。
【0222】
いくつかの実施例において、取得ユニット11は、現在画像を再構成して、現在画像の再構成画像を取得し、再構成画像を、フィルタリング待ち画像として決定するように構成される。
【0223】
いくつかの実施例において、フィルタリングユニット13はさらに、フィルタリング済み画像に基づいて、予測用の参照画像を生成して、復号化キャッシュに記憶するように構成される。
【0224】
いくつかの実施例において、フィルタリングユニット13はさらに、フィルタリング済み画像に基づいて表示画像を生成し、表示画像を表示機器に入力して表示し、且つフィルタリング済み画像またはフィルタリング済み画像の再処理画像を復号化キャッシュに記憶することをスキップするように構成される。
【0225】
図48は、本願実施例による電子機器の例示的なブロック図であり、当該電子機器は、上記の方法の実施例を実行するように構成される。
図48に示すように、当該電子機器30は、
メモリ31とプロセッサ32とを備えることができ、当該メモリ31は、コンピュータプログラム33を記憶し、当該コンピュータプログラム33を当該プロセッサ32に伝送するように構成される。言い換えれば、当該プロセッサ32は、メモリ31からコンピュータプログラム33を呼び出して実行することにより、本願の実施例における方法を実現することができる。
【0226】
例えば、当該プロセッサ32は、当該コンピュータプログラム33内の命令に従って上記の方法のステップを実行するように構成されることができる。
【0227】
本願のいくつかの実施例において、当該プロセッサ32は、
汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)、または他のプログラマブルロジックデバイス、ディスクリートゲート、またはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどを含んでもよいが、これらに限定されない。
【0228】
本願のいくつかの実施例において、当該メモリ31は、
揮発性メモリおよび/または不揮発性メモリを含んでもよいが、これらに限定されない。ここで、不揮発性メモリは、読み取り専用メモリ(ROM:Read-Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM:Erasable PROM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM:Electrically EPROM)、またはフラッシュメモリであり得る。揮発性メモリは、外部キャッシュとして使用される、ランダムアクセスメモリ(RAM:Random Access Memory)であり得る。例示的であるが限定的ではない例示によれば、多くの形のRAMが利用可能であり、例えば、スタティックランダムアクセスメモリ(SRAM:Static RAM)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic RAM)、同期ダイナミックランダムアクセスメモリ(SDRAM:Synchronous DRAM)、ダブルデータレートの同期ダイナミックランダムアクセスメモリ(DDR SDRAM:Double Data Rate SDRAM)、拡張型同期ダイナミックランダムアクセスメモリ(ESDRAM:Enhanced SDRAM)、同期接続ダイナミックランダムアクセスメモリ(SLDRAM:Synch Link DRAM)、およびダイレクトメモリバスランダムアクセスメモリ(DR RAM:Direct Rambus RAM)などが利用可能である。
【0229】
本願のいくつかの実施例において、当該コンピュータプログラム33は、1つまたは複数のモジュールに分割されることができ、当該1つまたは複数のモジュールは、当該メモリ31に記憶され、当該プロセッサ32によって実行されることにより、本願による方法を完了させる。当該1つまたは複数のモジュールは、特定の機能を完了できる一連のコンピュータプログラム命令セグメントであってもよく、当該命令セグメントは、当該電子機器における当該コンピュータプログラム33の実行プロセスを説明するために使用される。
【0230】
図48に示すように、当該電子機器30はさらに、
当該プロセッサ32またはメモリ31に接続できるトランシーバ34を備えることができる。
【0231】
ここで、プロセッサ32は、前記トランシーバ34を制御して他の機器と通信することができ、例示的に、他の機器に情報またはデータを送信するか、他の機器によって送信された情報またはデータを受信することができる。トランシーバ34は、送信機および受信機を備えることができる。トランシーバ34はさらに、アンテナを備えることができ、アンテナの数は、1つまたは複数であってもよい。
【0232】
当該電子機器30の各構成要素は、バスシステムにより接続され、バスシステムは、データバスに加えて、電力バス、制御バス、および状態信号バスを含むことを理解されたい。
【0233】
本願の1つの態様によれば、コンピュータプログラムが記憶された、コンピュータ記憶媒体を提供し、当該コンピュータプログラムは、コンピュータに、上記の方法の実施例における方法を実行させる。
【0234】
本願の実施例はさらに、コンピュータに上記の方法の実施例における方法を実行させるための命令を含む、コンピュータプログラム製品を提供する。
【0235】
本願の別の態様によれば、コンピュータ可読記憶媒体に記憶されたコンピュータ命令を含む、コンピュータプログラム製品またはコンピュータプログラムを提供する。電子機器のプロセッサは、コンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサは、当該コンピュータ命令を実行することにより、当該電子機器に、上記の方法の実施例における方法を実行させる。
【国際調査報告】