(57)【要約】【課題】量子化パラメータを、ニューラルネットワークを用いるフィルタ処理に適したパラメータに変換する。【解決手段】CNNフィルタ（１０７、３０５）において、輝度又は色差を画素値とする１又は複数の第１種の入力画像データが入力され、輝度又は色差を画素値とする１又は複数の第１種の出力画像データを出力するニューラルネットワーク部（４０４）と、量子化パラメータを画素値とする１又は複数の第２種の入力画像データが入力され、当該第２種の入力画像データを非線形変換することにより、変換後の第２種の入力画像データを生成する変換部（４０２）と、を備え、上記ニューラルネットワーク部には、上記変換後の第２種の入力画像データも入力される。【選択図】図５
2019201255.tif 000002
【特許請求の範囲】
【請求項１】
画像フィルタ装置において、
輝度又は色差を画素値とする１又は複数の第１種の入力画像データが少なくとも入力され、輝度又は色差を画素値とする１又は複数の第１種の出力画像データを出力するニューラルネットワーク部と、
量子化パラメータを画素値とする１又は複数の第２種の入力画像データが入力され、当該第２種の入力画像データを非線形変換することにより、変換後の第２種の入力画像データを生成する変換部と、
を備え、
上記ニューラルネットワーク部には、上記変換後の第２種の入力画像データが入力されることを特徴とする画像フィルタ装置。
【請求項２】
上記変換部は、上記第１種の入力画像データを生成する際の逆量子化又は量子化において用いられる量子化ステップを画素値とする画像を、上記変換後の第２種の入力画像データとして生成することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項３】
上記変換部は、上記第１種の入力画像データを生成する際の逆量子化又は量子化において用いられる量子化ステップの逆数を画素値とする画像を、上記変換後の第２種の入力画像データとして生成することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項４】
上記変換部は、上記第２種の入力画像データに含まれる各量子化パラメータに対して、対数変換、指数変換及び逆数変換のうち何れか１つを行うことによって、上記変換後の第２種の入力画像データを生成することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項５】
上記変換部は、上記第２種の入力画像データに含まれる各量子化パラメータに対して多項式を用いた非線形変換を行うことによって、上記変換後の第２種の入力画像データを生成することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項６】
上記変換部は、上記第２種の入力画像データの画素値である量子化パラメータを標準化する変換を行うことによって、上記変換後の第２種の入力画像データを生成することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項７】
画像フィルタ装置において、
輝度又は色差を画素値とする１又は複数の第１種の入力画像データが少なくとも入力され、輝度又は色素を画素値とする１又は複数の第１種の出力画像データを出力するニューラルネットワーク部と、
量子化パラメータを画素値とする１又は複数の第２種の入力画像データが入力され、予測画像又は差分画像を生成するための符号化パラメータを参照して、当該第２種の入力画像データを変換することにより、変換後の第２種の入力画像データを生成する変換部と、
を備え、
上記ニューラルネットワーク部には、上記変換後の第２の入力画像データも入力されることを特徴とする画像フィルタ装置。
【請求項８】
上記変換部は、
上記符号化パラメータを参照することによって、対象ブロックが、イントラ予測が適用されたブロックであるか否かを判定し、
当該対象ブロックが、イントラ予測が適用されブロックであると判定された場合に、
上記変換部は、当該対象ブロックに含まれる全ての画素の量子化パラメータを変換することで、
上記変換後の第２種の入力画像データを生成することを特徴とする請求項７に記載の画像フィルタ装置。
【請求項９】
上記変換部は、
上記符号化パラメータを参照することによってブロック境界を特定し、特定されたブロック境界に隣接する画素の量子化パラメータを変更することにより、上記変換後の第２の入力画像データを生成することを特徴とする請求項７に記載の画像フィルタ装置。
【請求項１０】
画像を復号する画像復号装置であって、復号画像に作用させるフィルタとして請求項１から９の何れか１項に記載の画像フィルタ装置を備えた画像復号装置。
【請求項１１】
画像を符号化する画像符号化装置であって、局所復号画像に作用させるフィルタとして請求項１から９の何れか１項に記載の画像フィルタ装置を備えた画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像フィルタ装置、画像復号装置、および画像符号化装置に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
【０００３】
具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC（High-Efficiency Video Coding）にて提案されている方式などが挙げられる。
【０００４】
このような動画像符号化方式においては、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット（CTU：Coding Tree Unit）、符号化ツリーユニットを分割することで得られる符号化単位（符号化ユニット（Coding Unit：CU）と呼ばれることもある）、及び、符号化単位を分割することより得られるブロックである予測ユニット（PU）、変換ユニット（TU）からなる階層構造により管理され、CUごとに符号化／復号される。
【０００５】
また、このような動画像符号化方式においては、通常、入力画像を符号化／復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像（原画像）から減算して得られる予測残差（「差分画像」または「残差画像」と呼ぶこともある）が符号化される。予測画像の生成方法としては、画面間予測（インター予測）、および、画面内予測（イントラ予測）が挙げられる。
【０００６】
また、近年の動画像符号化及び復号の技術として非特許文献１が挙げられる。
【０００７】
また、Variable-filter-size Residue-learning CNN (VRCNN)とよばれるニューラルネットワークを使用する技術として非特許文献２が挙げられる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】"Algorithm Description of Joint Exploration Test Model 5", JVET-E1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12-20 January 2017
【非特許文献２】"A Convolutional Neural Network Approach for Post-Processing in HEVC Intra Coding"
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述のニューラルネットワークを用いたフィルタ処理は、量子化パラメータには適さない。
【００１０】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的は、量子化パラメータを、ニューラルネットワークを用いるフィルタ処理に適したパラメータに変換することである。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の一態様に係る画像フィルタ装置は、輝度又は色差を画素値とする１又は複数の第１種の入力画像データが少なくとも入力され、輝度又は色差を画素値とする１又は複数の第１種の出力画像データを出力するニューラルネットワーク部と、量子化パラメータを画素値とする１又は複数の第２種の入力画像データが入力され、当該第２種の入力画像データを非線形変換することにより、変換後の第２種の入力画像データを生成する変換部と、を備え、上記ニューラルネットワーク部には、上記変換後の第２種の入力画像データも入力される。
【発明の効果】
【００１２】
本発明の一態様によれば、量子化パラメータを、ニューラルネットワークを用いたフィルタ処理に用いることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態等に係る符号化ストリームのデータの階層構造を示す図である。
【図２】PU分割モードのパターンを示す図である。（ａ）〜（ｈ）は、それぞれ、PU分割モードが、2Nx2N、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、および、NxNの場合のパーティション形状について示している。
【図３】第１の実施形態等に係る画像符号化装置の構成を示すブロック図である。
【図４】第１の実施形態等に係る画像復号装置の構成を示すブロック図である。
【図５】第１の実施形態等に係る画像フィルタ装置の構成と、画像データの入出力を示す概略図である。
【図６】第１の実施形態等に係る変換部が非線形変換した変換量子化パラメータ(qPNL）と、量子化パラメータ（qP）との関係を示したグラフである。（ａ）は、小数点演算の変換式を用いたときのグラフであり、（ｂ）は、整数演算の変換式を用いたときのグラフである。
【図７】第１の実施形態等に係る変換部が非線形変換した変換量子化パラメータ(qPNL）と、量子化パラメータ（qP）との関係を示したグラフである。（ａ）は、小数点演算の変換式を用いたときのグラフであり、（ｂ）は、整数演算の変換式を用いたときのグラフである。
【図８】第１の実施形態等に係る変換部が非線形変換した変換量子化パラメータ(qPNL）と、量子化パラメータ（qP）との関係を示したグラフである。（ａ）は、対数変換式を用いたときのグラフであり、（ｂ）は、指数変換式を用いたときのグラフであり、（ｃ）は、逆数変換式を用いたときのグラフである。
【図９】第１の実施形態等に係る画像フィルタ装置の構成と、画像データの入出力を示す概略図である。
【図１０】量子化パラメータの一例を説明するための図である。
【図１１】第４の実施形態等に係る画像フィルタ装置の一例を示す概念図である。
【図１２】第４の実施形態等に係る画像フィルタ装置の一例の変形例を示す概念図である。
【図１３】第５の実施形態等に係る画像フィルタ装置の一例を示す概念図である。
【図１４】第６の実施形態等に係る画像フィルタ装置の変形例を示す概念図である。
【図１５】各実施形態に係る画像符号化装置を搭載した送信装置、および、画像復号装置を搭載した受信装置の構成について示した図である。（ａ）は、画像符号化装置を搭載した送信装置を示しており、（ｂ）は、画像復号装置を搭載した受信装置を示している。
【図１６】各実施形態に係る画像符号化装置を搭載した記録装置、および、画像復号装置を搭載した再生装置の構成について示した図である。（ａ）は、画像符号化装置を搭載した記録装置を示しており、（ｂ）は、画像復号装置を搭載した再生装置を示している。
【図１７】各実施形態に係る画像伝送システムの構成を示す概略図である。
【図１８】第１の実施形態等に係る画像フィルタ装置の入出力の他の例を示す概念図である。
【図１９】量子化パラメータが修正量子化パラメータに修正される一例を説明するための図である。（ａ）は、修正前の対象ブロックを示し、（ｂ）は、修正後の対象ブロックを示す。
【図２０】量子化パラメータが修正量子化パラメータに修正される一例を説明するための図である。（ａ）は、修正前の対象ブロックを示し、（ｂ）は、修正後の対象ブロックを示す。
【図２１】量子化パラメータが修正量子化パラメータに修正される一例を説明するための図である。（ａ）は、修正前の対象ブロックを示し、（ｂ）は、修正後の対象ブロックを示す。
【図２２】量子化パラメータが修正量子化パラメータに修正される一例を説明するための図である。（ａ）は、修正前の対象ブロックを示し、（ｂ）は、修正後の対象ブロックを示す。
【図２３】隣接するブロックPおよびQのブロック境界の判別の一例を説明するための図である。（ａ）は、水平境界を判別する例を示し、（ｂ）は、垂直境界を判別する例を示す。
【発明を実施するための形態】
【００１４】
＜第１の実施形態＞
以下、図面を参照しながら本発明の実施形態について説明する。
【００１５】
図１７は、本実施形態に係る画像伝送システム１の構成を示す概略図である。
【００１６】
画像伝送システム１は、符号化対象画像を符号化した符号を伝送し、伝送された符号を復号し画像を表示するシステムである。画像伝送システム１は、画像符号化装置（動画像符号化装置）１１、ネットワーク２１、画像復号装置（動画像復号装置）３１及び画像表示装置４１を含んで構成される。
【００１７】
画像符号化装置１１には、単一レイヤもしくは複数レイヤの画像を示す画像Ｔが入力される。レイヤとは、ある時間を構成するピクチャが１つ以上ある場合に、複数のピクチャを区別するために用いられる概念である。たとえば、同一ピクチャを、画質や解像度の異なる複数のレイヤで符号化するとスケーラブル符号化になり、異なる視点のピクチャを複数のレイヤで符号化するとビュースケーラブル符号化となる。複数のレイヤのピクチャ間で予測（インターレイヤ予測、インタービュー予測）を行う場合には、符号化効率が大きく向上する。また予測を行わない場合（サイマルキャスト）の場合にも、符号化データをまとめることができる。
【００１８】
ネットワーク２１は、画像符号化装置１１が生成した符号化ストリームＴｅを画像復号装置３１に伝送する。ネットワーク２１は、インターネット（internet）、広域ネットワーク（WAN:Wide Area Network）、小規模ネットワーク（LAN:Local Area Network）またはこれらの組み合わせである。ネットワーク２１は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク２１は、DVD（Digital Versatile Disc）、BD（Blue-ray Disc）等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
【００１９】
画像復号装置３１は、ネットワーク２１が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した１または複数の復号画像Tdを生成する。
【００２０】
画像表示装置４１は、画像復号装置３１が生成した１または複数の復号画像Tdの全部または一部を表示する。画像表示装置４１は、例えば、液晶ディスプレイ、有機ＥＬ（Electro-luminescence）ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、ＳＮＲスケーラブル符号化では、画像復号装置３１、画像表示装置４１が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
【００２１】
＜演算子＞
本明細書で用いる演算子を以下に記載する。
【００２２】
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=はOR代入演算子）である。
【００２３】
x ? y : zは、xが真（0以外）の場合にy、xが偽（0）の場合にzをとる３項演算子である。
【００２４】
Clip3(a, b, c) は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である（ただし、a<=b）。
【００２５】
＜符号化ストリームTeの構造＞
本実施形態に係る画像符号化装置１１および画像復号装置３１の詳細な説明に先立って、画像符号化装置１１によって生成され、画像復号装置３１によって復号される符号化ストリームTeのデータ構造について説明する。
【００２６】
図１は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図１の（ａ）〜（ｆ）は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニット（Coding Unit；CU）を示す図である。
【００２７】
（符号化ビデオシーケンス）
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装置３１が参照するデータの集合が規定されている。シーケンスSEQは、図１の（ａ）に示すように、ビデオパラメータセット（Video Parameter Set）、シーケンスパラメータセットSPS（Sequence Parameter Set）、ピクチャパラメータセットPPS（Picture Parameter Set）、ピクチャPICT、及び、付加拡張情報SEI（Supplemental Enhancement Information）を含んでいる。ここで＃の後に示される値はレイヤIDを示す。図１では、#0と#1すなわちレイヤ０とレイヤ１の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
【００２８】
ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
【００２９】
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置３１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
【００３０】
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置３１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値（pic_init_qp_minus26）や重み付き予測の適用を示すフラグ（weighted_pred_flag）が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
【００３１】
（符号化ピクチャ）
符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置３１が参照するデータの集合が規定されている。ピクチャPICTは、図１の（ｂ）に示すように、スライスS0〜SNS-1を含んでいる（ＮＳはピクチャPICTに含まれるスライスの総数）。
【００３２】
なお、以下、スライスS0〜SNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
【００３３】
（符号化スライス）
符号化スライスでは、処理対象のスライスSを復号するために画像復号装置３１が参照するデータの集合が規定されている。スライスSは、図１の（ｃ）に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
【００３４】
スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置３１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダSHに含まれる符号化パラメータの一例である。
【００３５】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、または、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるＢスライスなどが挙げられる。
【００３６】
なお、スライスヘッダSHには、上記符号化ビデオシーケンスに含まれる、ピクチャパラメータセットPPSへの参照（pic_parameter_set_id）を含んでいても良い。
【００３７】
（符号化スライスデータ）
符号化スライスデータでは、処理対象のスライスデータSDATAを復号するために画像復号装置３１が参照するデータの集合が規定されている。スライスデータSDATAは、図１の（ｄ）に示すように、符号化ツリーユニット（CTU:Coding Tree Unit）を含んでいる。CTUは、スライスを構成する固定サイズ（例えば64x64）のブロックであり、最大符号化単位（LCU:Largest Coding Unit）と呼ぶこともある。
【００３８】
（符号化ツリーユニット）
図１の（ｅ）に示すように、処理対象の符号化ツリーユニットを復号するために画像復号装置３１が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な４分木分割により分割される。再帰的な４分木分割により得られる木構造のノードのことを符号化ノード（CN:Coding Node）と称する。４分木の中間ノードは、符号化ノードであり、符号化ツリーユニット自身も最上位の符号化ノードとして規定される。CTUは、分割フラグ（cu_split_flag）を含み、cu_split_flagが１の場合には、４つの符号化ノードCNに分割される。cu_split_flagが０の場合には、符号化ノードCNは分割されず、１つの符号化ユニット（CU:Coding Unit）をノードとして持つ。符号化ユニットCUは符号化ノードの末端ノードであり、これ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
【００３９】
また、符号化ツリーユニットCTUのサイズが64x64画素の場合には、符号化ユニットのサイズは、64x64画素、32x32画素、16x16画素、および、8x8画素の何れかをとり得る。
【００４０】
（符号化ユニット）
図１の（ｆ）に示すように、処理対象の符号化ユニットを復号するために画像復号装置３１が参照するデータの集合が規定されている。具体的には、符号化ユニットは、予測ツリー、変換ツリー、CUヘッダCUHから構成される。CUヘッダでは予測モード、分割方法（PU分割モード）等が規定される。
【００４１】
予測ツリーでは、符号化ユニットを１または複数に分割した各予測ユニット（PU）の予測情報（参照ピクチャインデックス、動きベクトル等）が規定される。別の表現でいえば、予測ユニットは、符号化ユニットを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ユニットを含む。なお、以下では、予測ユニットをさらに分割した予測単位を「サブブロック」と呼ぶ。サブブロックは、複数の画素によって構成されている。予測ユニットとサブブロックのサイズが等しい場合には、予測ユニット中のサブブロックは１つである。予測ユニットがサブブロックのサイズよりも大きい場合には、予測ユニットは、サブブロックに分割される。たとえば予測ユニットが8x8、サブブロックが4x4の場合には、予測ユニットは水平に２分割、垂直に２分割からなる、４つのサブブロックに分割される。
【００４２】
予測処理は、この予測ユニット（サブブロック）ごとに行ってもよい。
【００４３】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間（例えば、表示時刻間、レイヤ画像間）で行われる予測処理を指す。
【００４４】
イントラ予測の場合、分割方法は、2Nx2N（符号化ユニットと同一サイズ）と、NxNとがある。
【００４５】
また、インター予測の場合、分割方法は、符号化データのPU分割モード（part_mode）により符号化され、2Nx2N（符号化ユニットと同一サイズ）、2NxN、2NxnU、2NxnD、Nx2N、nLx2N、nRx2N、および、NxNなどがある。なお、2NxN、Nx2Nは1:1の対称分割を示し、
2NxnU、2NxnDおよびnLx2N、nRx2Nは、1:3、3:1の非対称分割を示す。CUに含まれるPUを順にPU0、PU1、PU2、PU3と表現する。
【００４６】
図２の（ａ）〜（ｈ）に、それぞれのPU分割モードにおけるパーティションの形状（PU分割の境界の位置）を具体的に図示している。図２の（ａ）は、2Nx2Nのパーティションを示し、（ｂ）、（ｃ）、（ｄ）は、それぞれ、2NxN、2NxnU、および、2NxnDのパーティション（横長パーティション）を示す。（ｅ）、（ｆ）、（ｇ）は、それぞれ、Nx2N、nLx2N、nRx2Nである場合のパーティション（縦長パーティション）を示し、（ｈ）は、NxNのパーティションを示す。なお、横長パーティションと縦長パーティションを総称して長方形パーティション、2Nx2N、NxNを総称して正方形パーティションと呼ぶ。
【００４７】
また、変換ツリーにおいては、符号化ユニットが１または複数の変換ユニットに分割され、各変換ユニットの位置とサイズとが規定される。別の表現でいえば、変換ユニットは、符号化ユニットを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ユニットを含む。
【００４８】
変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ユニットとして割り付けるものと、上述したCUの分割と同様、再帰的な４分木分割によるものがある。
【００４９】
変換処理は、この変換ユニットごとに行われる。
【００５０】
（予測パラメータ）
予測ユニット（PU：Prediction Unit）の予測画像は、PUに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ（インター予測パラメータ）について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が１の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「ＸＸであるか否かを示すフラグ」と記す場合、フラグが０以外（たとえば１）をＸＸである場合、０をＸＸではない場合とし、論理否定、論理積などでは１を真、０を偽と扱う（以下同様）。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
【００５１】
符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXがある。
【００５２】
（参照ピクチャリスト）
参照ピクチャリストは、参照ピクチャメモリ３０６に記憶された参照ピクチャからなるリストである。
【００５３】
（マージ予測とAMVP予測）
予測パラメータの復号（符号化）方法には、マージ予測（merge）モードとAMVP（Adaptive Motion Vector Prediction、適応動きベクトル予測）モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX（またはインター予測識別子inter_pred_idc）、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍PUの予測パラメータから導出する用いるモードであり、AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルインデックスmvp_LX_idxと差分ベクトルmvdLXとして符号化される。
【００５４】
（動きベクトル）
動きベクトルmvLXは、異なる２つのピクチャ上のブロック間のずれ量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
【００５５】
（画像復号装置の構成）
次に、本実施形態に係る画像復号装置３１の構成について説明する。図４は、本実施形態に係る画像復号装置３１の構成を示す概略図である。画像復号装置３１は、エントロピー復号部３０１、予測パラメータ復号部（予測画像復号装置）３０２、CNN（Convolution
al Neural Network、畳み込みニューラルネットワーク）フィルタ３０５、参照ピクチャメモリ３０６、予測パラメータメモリ３０７、予測画像生成部（予測画像生成装置）３０８、逆量子化・逆変換部３１１、及び加算部３１２を含んで構成される。
【００５６】
また、予測パラメータ復号部３０２は、インター予測パラメータ復号部３０３及びイントラ予測パラメータ復号部３０４を含んで構成される。予測画像生成部３０８は、インター予測画像生成部３０９及びイントラ予測画像生成部３１０を含んで構成される。
【００５７】
エントロピー復号部３０１は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号（シンタックス要素）を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
【００５８】
エントロピー復号部３０１は、分離した符号の一部を予測パラメータ復号部３０２に出力する。分離した符号の一部とは、例えば、予測モードpredMode、PU分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLXである。どの符号を復号するかの制御は、予測パラメータ復号部３０２の指示に基づいて行われる。エントロピー復号部３０１は、量子化係数を逆量子化・逆変換部３１１に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT（Discrete Cosine Transform、離散コサイン変換）、DST（Discrete Sine Transform、離散サイン変換）、KLT（Karyhnen Loeve Transform、カルーネンレーベ変換）等の周波数変換を行い量子化して得られる係数である。
【００５９】
インター予測パラメータ復号部３０３は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してインター予測パラメータを復号する。
【００６０】
インター予測パラメータ復号部３０３は、復号したインター予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。インター予測パラメータ復号部３０３の詳細については後述する。
【００６１】
イントラ予測パラメータ復号部３０４は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、CUを１つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部３０４は、復号したイントラ予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。
【００６２】
イントラ予測パラメータ復号部３０４は、輝度と色差で異なるイントラ予測モードを導出しても良い。この場合、イントラ予測パラメータ復号部３０４は、輝度の予測パラメータとして輝度予測モードIntraPredModeY、色差の予測パラメータとして、色差予測モードIntraPredModeCを復号する。輝度予測モードIntraPredModeYは、３５モードであり、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）が対応する。色差予測モードIntraPredModeCは、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）、LMモード（３５）の何れかを用いるものである。イントラ予測パラメータ復号部３０４は、IntraPredModeCは輝度モードと同じモードであるか否かを示すフラグを復号し、フラグが輝度モードと同じモードであることを示せば、IntraPredModeCにIntraPredModeYを割り当て、フラグが輝度モードと異なるモードであることを示せば、IntraPredModeCとして、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）、LMモード（３５）を復号しても良い。
【００６３】
CNNフィルタ３０５は、エントロピー復号部３０１から量子化パラメータ、および予測
パラメータを取得し、加算部３１２が生成したCUの復号画像を入力画像（フィルタ前画像
）とし、フィルタ前画像に処理を施し、出力画像（フィルタ後画像）を出力する。CNNフ
ィルタ３０５は、画像符号化装置１１が備えるCNNフィルタ１０７と同様の機能を有する。
【００６４】
参照ピクチャメモリ３０６は、加算部３１２が生成したCUの復号画像を、復号対象のピクチャ及びCU毎に予め定めた位置に記憶する。
【００６５】
予測パラメータメモリ３０７は、予測パラメータを、復号対象のピクチャ及び予測ユニット（もしくはサブブロック、固定サイズブロック、ピクセル）毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ３０７は、インター予測パラメータ復号部３０３が復号したインター予測パラメータ、イントラ予測パラメータ復号部３０４が復号したイントラ予測パラメータ及びエントロピー復号部３０１が分離した予測モードpredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX（インター予測識別子inter_pred_idc）、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXがある。
【００６６】
予測画像生成部３０８には、エントロピー復号部３０１から入力された予測モードpredModeが入力され、また予測パラメータ復号部３０２から予測パラメータが入力される。また、予測画像生成部３０８は、参照ピクチャメモリ３０６から参照ピクチャを読み出す。予測画像生成部３０８は、予測モードpredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャ（参照ピクチャブロック）を用いてPUもしくはサブブロックの予測画像を生成する。
【００６７】
ここで、予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部３０９は、インター予測パラメータ復号部３０３から入力されたインター予測パラメータと読み出した参照ピクチャ（参照ピクチャブロック）を用いてインター予測によりPUもしくはサブブロックの予測画像を生成する。
【００６８】
インター予測画像生成部３０９は、予測リスト利用フラグpredFlagLXが１である参照ピクチャリスト（L0リスト、もしくはL1リスト）に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャから、復号対象PUを基準として動きベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ３０６から読み出す。インター予測画像生成部３０９は、読み出した参照ピクチャブロックをもとに予測を行ってPUの予測画像を生成する。インター予測画像生成部３０９は、生成したPUの予測画像を加算部３１２に出力する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合（通常矩形であるのでブロックと呼ぶ）であり、PUもしくはサブブロックの予測画像を生成するために参照する領域である。
【００６９】
予測モードpredModeがイントラ予測モードを示す場合、イントラ予測画像生成部３１０は、イントラ予測パラメータ復号部３０４から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部３１０は、復号対象のピクチャであって、既に復号されたPUのうち、復号対象PUから予め定めた範囲にある隣接PUを参照ピクチャメモリ３０６から読み出す。予め定めた範囲とは、復号対象PUがいわゆるラスタースキャンの順序で順次移動する場合、例えば、左、左上、上、右上の隣接PUのうちのいずれかであり、イントラ予測モードによって異なる。ラスタースキャンの順序とは、各ピクチャにおいて、上端から下端まで各行について、順次左端から右端まで移動させる順序である。
【００７０】
イントラ予測画像生成部３１０は、読み出した隣接PUに基づいてイントラ予測モードIntraPredModeが示す予測モードで予測を行ってPUの予測画像を生成する。イントラ予測画像生成部３１０は、生成したPUの予測画像を加算部３１２に出力する。
【００７１】
イントラ予測パラメータ復号部３０４において、輝度と色差で異なるイントラ予測モードを導出する場合、イントラ予測画像生成部３１０は、輝度予測モードIntraPredModeYに応じて、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）の何れかによって輝度のPUの予測画像を生成し、色差予測モードIntraPredModeCに応じて、プレーナ予測（０）、DC予測（１）、方向予測（２〜３４）、LMモード（３５）の何れかによって色差のPUの予測画像を生成する。
【００７２】
逆量子化・逆変換部３１１は、エントロピー復号部３０１から入力された量子化係数を逆量子化して変換係数を求める。逆量子化・逆変換部３１１は、求めた変換係数について逆DCT、逆DST、逆KLT等の逆周波数変換を行い、残差信号を算出する。逆量子化・逆変換部３１１は、算出した残差信号を加算部３１２に出力する。
【００７３】
なお、逆量子化・逆変換部３１１は、符号化ストリームTeを参照して復号される量子化パラメータ（qP）から、QP = 2 ^ (qP / 6)によって得られる量子化ステップを算出し、算出した量子化ステップ（QP）を用いて、エントロピー復号部３０１から入力された量子化係数を逆量子化する。
【００７４】
加算部３１２は、インター予測画像生成部３０９またはイントラ予測画像生成部３１０から入力されたPUの予測画像と逆量子化・逆変換部３１１から入力された残差信号を画素毎に加算して、PUの復号画像を生成する。加算部３１２は、生成したPUの復号画像を参照ピクチャメモリ３０６に記憶し、生成したPUの復号画像をピクチャ毎に統合した復号画像Tdを外部に出力する。
【００７５】
（画像符号化装置の構成）
次に、本実施形態に係る画像符号化装置１１の構成について説明する。図３は、本実施形態に係る画像符号化装置１１の構成を示すブロック図である。画像符号化装置１１は、予測画像生成部１０１、減算部１０２、変換・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆変換部１０５、加算部１０６、CNN（Convolutional Neural Network、畳み込みニューラルネットワーク）フィルタ１０７、予測パラメータメモリ（予測パラメータ記憶部、フレームメモリ）１０８、参照ピクチャメモリ（参照画像記憶部、フレームメモリ）１０９、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１を含んで構成される。予測パラメータ符号化部１１１は、インター予測パラメータ符号化部１１２及びイントラ予測パラメータ符号化部１１３を含んで構成される。
【００７６】
予測画像生成部１０１は画像Ｔの各ピクチャについて、そのピクチャを分割した領域である符号化ユニットCU毎に予測ユニットPUの予測画像Ｐを生成する。ここで、予測画像生成部１０１は、予測パラメータ符号化部１１１から入力された予測パラメータに基づいて参照ピクチャメモリ１０９から復号済のブロックを読み出す。予測パラメータ符号化部１１１から入力された予測パラメータとは、例えばインター予測の場合、動きベクトルである。予測画像生成部１０１は、対象PUを起点として動きベクトルが示す参照画像上の位置にあるブロックを読み出す。またイントラ予測の場合、予測パラメータとは例えばイントラ予測モードである。イントラ予測モードで使用する隣接PUの画素値を参照ピクチャメモリ１０９から読み出し、PUの予測画像Pを生成する。予測画像生成部１０１は、読み出した参照ピクチャブロックについて複数の予測方式のうちの１つの予測方式を用いてPUの予測画像Ｐを生成する。予測画像生成部１０１は、生成したPUの予測画像Ｐを減算部１０２に出力する。
【００７７】
なお、予測画像生成部１０１は、既に説明した予測画像生成部３０８と同じ動作であるためここでの説明を省略する。
【００７８】
予測画像生成部１０１は、予測パラメータ符号化部から入力されたパラメータを用いて、参照ピクチャメモリから読み出した参照ブロックの画素値をもとにPUの予測画像Pを生成する。予測画像生成部１０１で生成した予測画像は減算部１０２、加算部１０６に出力される。
【００７９】
減算部１０２は、予測画像生成部１０１から入力されたPUの予測画像Ｐの信号値を、画像Ｔの対応するPUの画素値から減算して、残差信号を生成する。減算部１０２は、生成した残差信号を変換・量子化部１０３に出力する。
【００８０】
変換・量子化部１０３は、減算部１０２から入力された残差信号について周波数変換を行い、変換係数を算出する。変換・量子化部１０３は、算出した変換係数を量子化して量子化係数を求める。変換・量子化部１０３は、求めた量子化係数をエントロピー符号化部１０４及び逆量子化・逆変換部１０５に出力する。
【００８１】
エントロピー符号化部１０４には、変換・量子化部１０３から量子化係数が入力され、予測パラメータ符号化部１１１から符号化パラメータが入力される。入力される符号化パラメータには、例えば、量子化パラメータ、デプス情報（分割情報）、参照ピクチャインデックスrefIdxLX、予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。
【００８２】
エントロピー符号化部１０４は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
【００８３】
逆量子化・逆変換部１０５は、変換・量子化部１０３から入力された量子化係数を逆量子化して変換係数を求める。逆量子化・逆変換部１０５は、求めた変換係数について逆周波数変換を行い、残差信号を算出する。逆量子化・逆変換部１０５は、算出した残差信号を加算部１０６に出力する。
【００８４】
加算部１０６は、予測画像生成部１０１から入力されたPUの予測画像Ｐの信号値と逆量子化・逆変換部１０５から入力された残差信号の信号値を画素毎に加算して、復号画像を生成する。加算部１０６は、生成した復号画像を参照ピクチャメモリ１０９に記憶する。
【００８５】
（画像フィルタ装置の構成）
CNNフィルタ３０５は、本実施形態に係る画像フィルタ装置の一例である。図５に画像フィルタ装置の構成を示す。画像フィルタ装置は、qP画像生成部４００と、ニューラルネットワーク部４０４と、変換部４０２とを備える。
【００８６】
ここで、CNNフィルタ３０５（ニューラルネットワーク部４０４）は、コンボリューション層（ニューロンは空間的位置を有し、空間的な位置に近い入力のみと接続する構成であって、ニューロンの積和演算における重み係数／カーネル及びバイアス/オフセットがピクチャ内の位置に依存しない層）を少なくとも有するニューラルネットワークの総称である。CNNフィルタ３０５は、コンボリューション層の他、フルコネクション層（FCN）と呼ばれる、ニューロンは空間的位置を有さず全ての入力と接続する構成や、LCN(Locally Connected Networks)層とよばれる、ニューロンは空間的位置を有し、空間的な位置に近い入力のみと接続する構成であるがCNNと異なり重み係数やバイアスを共有しない構成を含むことができる。CNNフィルタ３０５において、コンボリューション層への入力サイズと、コンボリューション層からの出力サイズとは異なってもよい。すなわち、CNNフィルタ３０５は、コンボリューションフィルタを適用する位置を移動させる場合の移動量（ステップサイズ）を１より大きくすることで、出力サイズが入力サイズよりも小さくなるコンボリューション層を含むことができる。また、出力サイズが入力サイズよりも大きくなるデコンボリューション層(Deconvolution)も含むことができる。デコンボリューション層は、トランスポーズコンボリューション(Transposed Convolution)層とよばれる場合もある。また、CNNフィルタ３０５は、プーリング層(Pooling)、ドロップアウト(DropOut)層等を含むことができる。プーリング層は、大きな画像を小さなウィンドウに区切り、区切ったそれぞれのウィンドウに応じて最大値や平均値等の代表値を得る層であり、ドロップアウト層は、確率に応じて出力を固定値（例えば０）にすることでランダム性を追加する層である。
【００８７】
図１８は、CNNフィルタ３０５の入出力の他の例を示す概念図である。図１８の（ａ）では、フィルタ前画像は、輝度(Y)及び量子化パラメータ(qP)のチャネルと、第１の色差(Cb)及び量子化パラメータ(qP）のチャネルと、第２の色差(Cr)及び量子化パラメータ(qP)のチャネルとに分かれて、CNNフィルタ３０５に入力される。CNNフィルタ３０５は、輝度(Y)及び量子化パラメータ(qP)のチャネルに処理を施し(Y')を出力するCNNフィルタ３０５−１と、第１の色差(Cb)及び量子化パラメータ(qP)のチャネルに処理を施し(Cb')を出力するCNNフィルタ３０５−２と、第２の色差(Cr)及び量子化パラメータ(qP)のチャネルに処理を施し(Cr')を出力するCNNフィルタ３０５−３とを含んで構成される。
【００８８】
また、図１８の（ｂ）では、フィルタ前画像は、輝度(Y)及び量子化パラメータ(qP)のチャネルと、第１の色差(Cb)、第２の色差(Cr)、及び量子化パラメータ(qP)のチャネルとに分かれて、CNNフィルタ３０５に入力される。CNNフィルタ３０５は、輝度(Y)及び量子化パラメータ(qP)のチャネルに処理を施し(Y')を出力するCNNフィルタ３０５−４と、第１の色差(Cb)、第２の色差(Cr)、及び量子化パラメータ(qP)のチャネルに処理を施し(Cb', Cr')を出力するCNNフィルタ３０５−５とを含んで構成される。
【００８９】
図示しないが、輝度(Y)、第１の色差(Cb)、第２の色差(Cr)、及び量子化パラメータ(qP)のチャネルをCNNフィルタ３０５に入力し、(Y', Cb', Cr')を出力するCNNフィルタ３０５でもよい。また、4つの輝度(Y0, Y1, Y2, Y3)、第１の色差(Cb)、第２の色差(Cr)、及び量子化パラメータ(qP)のチャネルをCNNフィルタ３０５に入力し、(Y0', Y1', Y2', Y3', Cb', Cr')を出力するCNNフィルタ３０５でもよい。また、当然RGB画像(R, G, B)でもよい。
【００９０】
ここで、参照パラメータ（符号化パラメータ）は量子化パラメータ(qP)に限定されず、１つ以上の符号化パラメータを利用することができる。また、CNNフィルタ３０５は、各々異なる手段（回路やソフトウェア）を用いて構成されたCNNフィルタ３０５−１、CNNフィルタ３０５−２、CNNフィルタ３０５−３、３０５−４、３０５−５を含む構成に限定されない。例えば、CNNフィルタ３０５が、複数の異なる手段（回路やソフトウェア）のうち１つの手段によって構成された上で、異なるモードで動作する構成であってもよい。
【００９１】
ここで、CNNフィルタ３０５−１〜３０５−３のそれぞれは、例えば図５を用いて説明したように、ｑＰ画像生成部、変換部、及び、ニューラルネットワーク部を備えている。
【００９２】
ここで、CNNフィルタ３０５−４〜３０５−５のそれぞれは、例えば図５を用いて説明したように、ｑＰ画像生成部、変換部、及び、ニューラルネットワーク部を備えている。
【００９３】
また、参照パラメータ（符号化パラメータ）は量子化パラメータ(qP)に限定されず、１つ以上の符号化パラメータを利用することができる。
【００９４】
なお、以降の形態においても、上記説明したようなチャネル構成で処理しても良い。また、参照パラメータ（符号化パラメータ）は量子化パラメータ(qP)に限定されず、CNNフィルタｄ１は１つ以上の符号化パラメータを利用することができる。
【００９５】
図５に示すように、qP画像生成部４００は、ブロック毎に特定される量子化パラメータ（qP）を参照し、当該ブロックに含まれる各画素に、当該ブロックにおけるqPの値を画素値として付与することにより、qP画像（第２種の入力画像データ）を生成し、生成したqP画像を変換部４０２に供給する。量子化パラメータ（qP）の説明及び具体的なqP画像の例については後述する。
【００９６】
変換部４０２は、qP画像生成部４００から取得したqP画像に含まれる各々の量子化パラメータ（qP）を非線形変換することによって変換後のqPNL画像を生成する。当該非線形変換後のqPNL画像は、各画素値が非線形変換後の量子化パラメータ（qP）であるような画像である。
【００９７】
変換部４０２によって生成された非線形変換後のqPNL画像（変換後の第２種の入力画像データ）は、ニューラルネットワーク部４０４に入力される。
【００９８】
ニューラルネットワーク部４０４には、復号画像（第１種の入力画像データ）と、変換部４０２が非線形変換した画像とが入力され、出力画像（フィルタ後画像）を出力する。  なお、上記復号画像は、１チャネルの画像（例、輝度成分の画像{Y}、各色差成分の画像{Cb}, {Cr}）でもよいし、複数チャネルの画像（例、輝度と色差成分の画像{Y, Cb}, {Y, Cr}、２つの色差成分の画像{Cb, Cr}、輝度と２つの色差の画像{Y, Cb, Cr}）でもよい。
【００９９】
なお、上記復号画像は、加算部の出力でもよいし、さらに加算後に、１つ以上のフィルタ（バイラテラルフィルタや、デブロッキングフィルタ、ＳＡＯ、ＡＬＦ、ＮＬＭＦなど）を適用後の復号画像でもよい。
【０１００】
図５（ａ）では、qP画像生成部４００により、qPの２次元データを生成し、変換部４０２により生成された２次元データの変換を行う構成としているが、図５（ｂ）に示すようにスカラー単位でqPを変換した後に、変換後のqPNLの２次元データに変換する構成でもよい。この構成ではqP導出部４０１は、ブロック毎に特定される量子化パラメータ（qP）を参照して、変換部４０２に入力する。変換部４０２はスカラーのqP値をqPNL値に変換する。さらにqP画像生成部４０３により、ブロック毎に導出される変換後の量子化パラメータ（qPNL）を参照して、２次元データ(qPNL画像)を生成する。
【０１０１】
なお、ここでは第２種の入力画像データを２次元データとして記述したが、幅×高さ×チャネル数を有する３次元データであってもよい（このときチャネル数は１であってもよい）。なお、ニューラルネットワーク上の中間データは、ある種の特徴を表現したデータであることから、「特徴マップ」とも呼ばれる。
【０１０２】
以下では、変換部４０２による非線形変換の具体例を説明する。
【０１０３】
（非線形変換例１）
本実施形態に係る変換部４０２は、例えば、加算部より供給される復号画像（第１種の入力画像データ）を生成する際に適用された量子化ステップを画素値とする画像を、非線形変換後のqPNL画像（変換後の第２種の入力画像データ）として生成する。なお、第１種の入力画像データ及び第２種の入力画像データは、幅×高さを有する２次元データでもよいし、幅×高さ×チャネル数を有する３次元データであってもよい。本実施形態では２次元データであるか３次元データであるかによらず単に画像とも表現する。なお、量子化ステップを線形変換値（ある値で乗算、加算した値）を変換後の値として用いてもよい。
【０１０４】
上述のように、本実施形態に係る逆量子化・逆変換部３１１は、符号化ストリームTeを参照して復号される量子化パラメータ（qP）から、QP = 2 ^ (qP / 6)によって得られる量子化ステップを算出する。そして、エントロピー復号部３０１から入力された量子化係数を、当該量子化ステップ用いて逆量子化し、更に逆周波数変換を行うことによって残差信号を算出する。さらに、算出された残差信号を加算部において予測画像に加算することによって復号画像が生成される。
【０１０５】
本例では、残差信号を生成する際に用いられた、量子化パラメータから量子化ステップへの変換と同様の非線形変換を、変換部４０２における非線形変換に用いる。
【０１０６】
このように復号画像を生成する際の量子化・逆量子化に用いられる量子化ステップを非線形変換に用いることで、フィルタ処理の性能を向上させることができる。
【０１０７】
より具体的には、変換部４０２は、以下の変換式を用いて、量子化パラメータ（qP）を非線形の変換量子化パラメータ（qPNL）に変換する。図６に量子化パラメータ（qP）と、変換量子化パラメータ（qPNL）との関係をグラフで表す。小数点演算での変換処理の例としては、
qPNL = 2 ^ (qP / 6)  ・・・（式１−１）
を用いることができる。図６（ａ）は、式１−１の変換式における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
【０１０８】
また、整数演算での例としては、
qPNL = levelScale[qP % 6] << (qP / 6)    ・・・（式１−２）
を用いることができる。式１−２の変換式は、levelScale[qP % 6]にqP / 6の左ビットシフトを行うことを表す。ここで、%は剰余を表し、qP % 6は、qPを６で割った余りを表す。levelScale[qP % 6]は量子化パラメータqPによって決まる整数であり、テーブルlevelScale[ ]の一例として、k = 0, 1, 2, 3, 4, 5に対して、
levelScale[k] = {40, 45, 51, 57, 64, 72}
を用いることができる。図６（ｂ）は、式１−２における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
【０１０９】
なお、量子化パラメータqPの粒度は上記に限定されない。すなわち、上記では、量子化パラメータqPの６の変化により、量子化ステップが２倍となる場合を説明しているが、例えば、量子化パラメータqPのKの変化により、量子化ステップが２倍となるような場合でもよい。この場合は動作の概要は上記と変わりない。qPNLの導出式は以下となる。
【０１１０】
qPNL = 2 ^ (qP / K)  ・・・（式１−１´）
qPNL = levelScale[qP % K] << (qP / K)    ・・・（式１−２´）
また、図１０に、式１−２の非線形変換の結果を示す。図１０の（ａ）に示す量子化パラメータ（qP)は、変換ユニットの単位領域（または量子化パラメータ（qP）が同じ単位領域）毎に配置されている。図１０（ｂ）は、図１０の（ａ）に示す量子化パラメータ（qP）が非線形変換された後の変換量子化パラメータ（qPNL）を画素毎に示す。
【０１１１】
（非線形変換例２）
本例でも、上記例と同様に、変換部４０２は、画素値として付与された量子化パラメータ（qP）を非線形変換し、非線形変換された変換量子化パラメータ（qPNL）を生成する。
【０１１２】
ただし、本例では、変換部４０２は、加算部から供給される復号画像（第１種の入力画像データ）に対して適用された量子化ステップの逆数を画素値とする画像を、非線形変換後のqPNL画像（第２種の入力画像データ）として生成する。なお、量子化ステップの逆数を線形変換値（ある値で乗算、加算した値）を変換後の値として用いてもよい。
【０１１３】
このように、復号画像を生成する際の量子化ステップの逆数を用いることによっても、フィルタ処理の性能を向上させることができる。
【０１１４】
より具体的には変換部４０２は、以下の変換式を用いて、量子化パラメータを非線形の変換量子化パラメータに変換する。図７には量子化パラメータ（qP）と、変換量子化パラメータ（qPNL）との関係をグラフで表す。小数点演算での変換処理の例としては、
qPNL = 1 / (2 ^ (qP / 6))    ・・・（式２−１）
を用いることができる。図７（ａ）は、式２−１の変換式における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
【０１１５】
また、整数演算での例としては、
qPNL = quantScale[qP % 6] >> (qP / 6)     ・・・（式２−２）
を用いることができる。式２−２の変換式は、quantScale [qP % 6]にqP / 6の右ビットシフトを行うことを表す。ここで、quantScale[qP % 6]は量子化パラメータqPによって決まる整数であり、テーブルquantScale[ ]の一例として、k = 0, 1, 2, 3, 4, 5に対して、
quantScale[k] = {26214, 23302, 20560, 18396, 16384, 14564}
を用いることができる。図７（ｂ）は、式２−２における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
【０１１６】
なお、qPの粒度がKの場合の式は以下のとおりである。
【０１１７】
qPNL = 1 / (2 ^ (qP / K))    ・・・（式２−１´）
qPNL = quantScale[qP % K] >> (qP / K)     ・・・（式２−２´）
以降の変換例においてもqPの粒度を6以外とすることが可能であるが、粒度Kの場合に6をKと置き換えるだけなので説明は省略する。
【０１１８】
（非線形変換例３）
本例に係る変換部４０２は、qP画像（第２種の入力画像データ）の画素値として含まれる各量子化パラメータに対して、対数変換、指数変換及び逆数変換のうち何れか１つを行いうことによって、非線形変換後のqP画像（第２種の入力画像データ）を生成する。
【０１１９】
より好ましくは、対数変換、指数変換及び逆数変換のうち何れか１つを用いて、量子化パラメータが大きくなるほど変化幅が小さくなるような変換量子化パラメータに変換する。
【０１２０】
上記のような変換を行うことにより、フィルタ処理の性能を向上させることができる。
【０１２１】
（非線形変換例３−１）
一例として、変換部４０２は、以下の変換式を用いて、量子化パラメータを非線形の変換量子化パラメータに変換する。図８には変換式のグラフを示す。変換式の例としては、
qPNL = log(qP)  ・・・（式３−１）
を用いることができる。換言すると、変換量子化パラメータは、量子化パラメータを対数変換したものである。ここで、対数の底としては、例えば２を用いることができるがこれは本例を限定するものではない。
【０１２２】
図８（ａ）は、式３−１の変換式における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
【０１２３】
なお、qP = 0のときに、log(qP)が発散することを避けるために、対数の真数にオフセットとしてcを加算して以下のように処理してもよい。
qPNL = k * log(qP + c)  ・・・（式３−２）
ここで、ｋは所定の正規化係数を表している。ただし、ｋの具体的な値は本実施形態を限定するものではない。
【０１２４】
（非線形変換例３−２）
また、変換部４０２は、以下の変換式を用いて、量子化パラメータを非線形の変換量子化パラメータに変換してもよい。変換式の例としては、
qPNL = (qP / 6) ^ r  (ここで0 < r <1、例えばr = 1/2）  ・・・（式３−３）
が挙げられる。換言すると、変換量子化パラメータは、量子化パラメータを指数変換したものである。図８（ｂ）は、式３−３における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
【０１２５】
なお、対数変換の例と同様に、オフセットcを加算して以下のように処理してもよい。
qPNL = k * ((qP + c) / 6)) ^ 1/2  ・・・（式３−４）
（非線形変換例３−３）
また、変換部４０２は、以下の変換式を用いて、量子化パラメータを非線形の変換量子化パラメータに変換してもよい。変換式の例としては、
qPNL = 1 / qP  ・・・（式３−５）
が挙げられる。換言すれば、変換量子化パラメータは、量子化パラメータを逆数変換したものである。図８（ｃ）は、式３−５における量子化パラメータと、変換量子化パラメータの関係をグラフで表したものである。
なお、上述の例と同様に、オフセットｃを加算して以下のように処理してもよい。
【０１２６】
qPNL = k / (qP + c)   ・・・（式３−６）
なお、上述の例におけるオフセットｃの値は、予め定められた値を用いることができるが、これは本実施形態を限定するものではない。例えば、以下に説明するように、オフセットｃを、符号化ストリームTeから復号して用いてもよい。
【０１２７】
（量子化係数qPのオフセット）
上述の例におけるオフセットｃの値は以下のように決定してもよい。すなわち、オフセットｃの値を指定するためのシンタックスを、スライスヘッダ内に含めておき、エントロピー復号部３０１が当該シンタックスを復号することによって、オフセットｃを導出する構成としてもよい。
【０１２８】
より具体的には、オフセットを指定するためのシンタックスslice_beta_offset_div2を、符号化ストリームTeのスライスヘッダに含めておき、エントロピー復号部３０１が当該シンタックスを復号したうえで、下記変換式を用いてオフセットｃを導出してもよい。
【０１２９】
ｃ＝slice_beta_offset_div2 << 1  ・・・（式３−７）
なお、slice_beta_offset_div2はデブロッキングフィルタ処理のかかりやすさを調節するためのシンタックス要素でもある。
【０１３０】
（クリップ処理）
また、上述の非線形変換例１〜３に示した各例は、クリップ処理と組み合わせて用いてもよい。
【０１３１】
例えば、式３−７を用いて導出されたオフセットをqPに加算したうえで、所定の範囲にクリップし、当該クリップ後のqPを、式３−１、３−３、３−５等に代入してもよい。一例として０〜５１までの範囲にクリップする場合、
qP = Clip3(0, 51, qP + (slice_beta_offset_div2 << 1))  ・・・（式３−８）
によって導出したqPを、式３−１、３−３、３−５等に代入してもよい。
【０１３２】
（境界強度の利用）
また、オフセットｃの値を、境界強度（bS）に応じて決定する構成としてもよい。例えばオフセットｃは下記変換式を用いて導出してもよい。
【０１３３】
c = 2 * (bS - 1) + (slice_tc_offset_div2 << 1)  ・・・（式３−９）
ここで、bSは画素毎に定まるデブロッキングフィルタ処理の強度を調節するためのパラメータであり、当該画素が含まれるブロックと、当該ブロックに隣接する隣接ブロック毎に応じて、例えば以下の(a)〜(c)のように決定される。
(a)bS = 2
少なくとも一方のブロックが画面内予測ブロックであるとき。
(b)bS = 1
・少なくとも片方のブロックに非ゼロの直交変換係数が存在し、TU境界であるとき。
【０１３４】
・境界を挟む２つのブロックの動きベクトルの差の絶対値が１画素以上であるとき。
【０１３５】
・境界を挟む２つのブロックの動き補償の参照画像が異なるか、動きベクトルの数が異なるとき。
(c)bS = 0
上記(a)、(b)以外のとき。
【０１３６】
また、式３−９におけるシンタックスslice_tc_offset_div2は、オフセットを指定するためのシンタックスとして、一例として符号化ストリームTeのスライスヘッダに含まれ、エントロピー復号部３０１によって復号されてもよい。
【０１３７】
なお、slice_tc_offset_div2はデブロッキングフィルタ処理モードをストロング・フィルタ及びウィーク・フィルタのうちどちらにするかの判定及びフィルタ強度を調節するためのシンタックス要素でもある。
【０１３８】
また、式３−９を用いて導出されたオフセットを量子化パラメータ（qP）に加算したうえで、上述の（クリップ処理）と同様に、所定の範囲にクリップし、当該クリップ後の量子化パラメータ（qP）を、式３−１、３−３、３−５等に代入してもよい。一例として０〜５１までの範囲にクリップする場合、
qP = Clip3(0, 51, qP + 2 * (bS - 1) + (slice_tc_offset_div2 << 1))   ・・・（式３−１０）
によって導出したqPを、式３−１、３−３、３−５等に代入してもよい。
【０１３９】
（非線形変換例４）
また、本実施形態に係る変換部４０２は、例えば、非線形変換後の画像に適用される量子化パラメータに対して多項式を用いた非線形変換を行うことによって、非線形変換後の画像（第２種の入力画像データ）を生成する。
【０１４０】
本例では、一例として、非線形変換例３において説明した、対数変換、指数変換及び逆数変換の少なくとも何れかを近似する多項式を用いて非線形変換を行うことができる。
【０１４１】
このように、量子化パラメータに対して多項式近似を用いた非線形変換を適用することによっても、フィルタ処理に好適なパラメータに変換することができ、フィルタ処理の性能を向上させることができる。
【０１４２】
一例として、変換部４０２は、以下の変換式を用いて、量子化パラメータ（qP）を非線形の変換量子化パラメータ（qPNL）に変換する。変換式の例としては、
qPNL = a * qP + b * qP ^ 2 + c  ・・・（式４−１）
を用いることができる。
【０１４３】
多項式の次数は、２次に限定されず、３次以上の多項式近似を行ってもよい。例えば、３次多項式としては、
qPNL = a * qP + b * qP ^ 2 + c * qP ^ 3 + d  ・・・（式４−２）
を用いてもよい。
【０１４４】
また、式４−１の係数の係数（a、b、c）及び式４−２の係数（a、b、c、d)は所定の値を用いてもよく、該係数に対応するシンタックスを符号化ストリームTeに含めてもよい。
【０１４５】
また、ニューラルネットワーク部４０４に入力する画像の種類及びその数は限定されない。例えば、ニューラルネットワーク部４０４には、加算部が生成した復号画像及び非線形変換後の画像に加え、１以上の更なる画像を入力してもよい。一例として、図９（ａ）に示すように、加算部が生成した復号画像（第１種の入力画像データ）及び非線形変換後のqPNL画像（変換後の第２種の入力画像データ）に加え、非線形変換前のqP画像をニューラルネットワーク部４０４に入力してもよい。また、図９（ｂ）に示すように、ニューラルネットワーク部４０４に、非線形変換前のqP画像と共に、非線形変換後の複数のqPNL画像を入力してもよい。非線形変換後の複数のqPNL画像は、異なる非線形変換方法によって変換されたものでもよいが、互いに相補的な関係にある画像を入力すると好適である。例えば、第１の非線形変換後のqPNL画像として、式１−１を用いた非線形変換後のqPNL画像を入力し、第２の非線形変換後のqPNL画像として、式２−１を用いた非線形変換後のqPNL画像を入力する構成が挙げられる。
【０１４６】
（量子化パラメータ（qP）)
上述した量子化パラメータ（qP）は、画像の圧縮率と画質とを制御するパラメータである。本実施形態において量子化パラメータ（qP）は、値が大きいほど画質が低くなり符号量が減少する特性、および値が小さいほど画質が高くなり符号量が増加する特性を有する。量子化パラメータ（qP）として、例えば、予測残差に係る変換変換係数の量子化幅を導出するパラメータを用いることができる。
【０１４７】
ピクチャ単位の量子化パラメータ（qP）としては、処理対象フレームの代表的な１個の量子化パラメータ（qP）を入力することができる。例えば、量子化パラメータ（qP）は、対象ピクチャに適用されるパラメータセットにより指定することができる。また、量子化パラメータ（qP）は、ピクチャの構成要素に適用される量子化パラメータ（qP）に基づいて算出することができる。具体的には、スライスに適用される量子化パラメータ（qP）の先頭の値や平均値に基づいて、量子化パラメータ（qP）を算出することができる。
【０１４８】
また、ピクチャを分割した単位の量子化パラメータ（qP）としては、所定の基準でピクチャを分割した単位毎の量子化パラメータ（qP）を入力することができる。例えば、量子化パラメータ（qP）を、スライス毎に適用することができる。また、量子化パラメータ（qP）を、スライス内のブロックに適用することができる。また、量子化パラメータ（qP）を、既存の符号化単位から独立した領域単位（例えば、ピクチャを16x9個に分割して得られる各領域）で指定することができる。この場合、量子化パラメータ（qP）が、スライス数や変換ユニット数に依存する。それにより、領域に対応する量子化パラメータ（qP）の値が不定になり、CNNフィルタが構成できないため、領域内の量子化パラメータ（qP）の平均値を代表値として用いる方法が考えられる。また、領域内の一つの位置の量子化パラメータ（qP）を代表値として用いる方法もある。また、領域内の複数の位置の量子化パラメータ（qP）の中央値（median）や最頻値(mode)を代表値として用いる方法もある。
【０１４９】
また、特定の個数の量子化パラメータ（qP）を入力する場合としては、量子化パラメータ（qP）の個数が一定になるように、量子化パラメータ（qP）のリストを生成してCNNフィルタへ入力してもよい。例えば、スライス毎の量子化パラメータ（qP）のリストを作成し、最大値、最小値、中央値の３個の量子化パラメータ（qP）のリストを作成して入力する方法が考えられる。
【０１５０】
また、コンポーネント単位の量子化パラメータ（qP）としては、処理対象のコンポーネントに適用する量子化パラメータ（qP）を入力することができる。この量子化パラメータ（qP）の例として、輝度量子化パラメータ（qP）、色差量子化パラメータ（qP）を挙げることができる。
【０１５１】
また、ブロック単位でCNNフィルタを適用する場合、周辺量子化パラメータ（qP）として、対象ブロックの量子化パラメータ（qP）とブロック周辺の量子化パラメータ（qPNeighbour）を入力してもよい。
【０１５２】
CNNフィルタ３０５は、量子化パラメータ（qP）以外の、ピクチャ、および符号化パラメータに応じて設計することができる。すなわち、CNNフィルタ３０５を、方向性、アクティビティ等の画像データから導出可能なピクチャ特性だけでなく、符号化パラメータに応じて設計することができるので、CNNフィルタ３０５は、符号化パラメータ毎に異なる強度のフィルタを実現することができる。したがって、本実施形態はCNNフィルタ３０５を備えるので、符号化パラメータ毎に異なるネットワークを導入することなく、符号化パラメータに応じた処理をすることができる。
【０１５３】
＜第２の実施形態＞
本実施形態に係る画像フィルタ装置は、第１の実施形態と同じく、図５（ａ）に示すように、qP画像生成部４００と、ニューラルネットワーク部４０４と、変換部４０２とを備える。
【０１５４】
qP画像生成部４００の働きは、第１の実施形態に記載のqP画像生成部４００と同じであるため、詳細な説明は省略する。
【０１５５】
本実施形態に係る変換部４０２は、例えば、qP画像（第２種の入力画像データ）の画素値である量子化パラメータを標準化（正規化）する変換を行うことによって、変換後のqPNL画像（変換後の第２種の入力画像データ）を生成する。
【０１５６】
変換後４０２は、qP画像生成部４００から取得したqP画像に含まれる各々の量子化パラメータ（qP）を−１から１、またはそれに含まれる範囲に正規化する変換を行うことによって、変換後のqPNL画像を生成する。標準化された量子化パラメータの値を標準量子化パラメータ（qPNL0）と呼ぶ。
【０１５７】
変換部４０２は、一例として、qP画像生成部４００から取得した量子化パラメータ（qP）から、非線形変換後の量子化パラメータqPNLを導出し、さらに、非線形変換後の量子化パラメータqPNLから標準量子化パラメータ（qPNL0）を導出することにより、当該標準量子化パラメータ（qPNL0）を各画素値とする変換・標準化後のqPNL画像を生成する。非線形変換は＜第１の実施形態＞に記載の非線形変換例を用いればよい。
【０１５８】
以下では、変換部４０２によって、量子化パラメータ（qP）に非線形変換を施し非線形変換後の量子化パラメータ（qPNL）から標準量子化パラメータ（qPNL0）を導出する具体例を説明する。
【０１５９】
（固定値を減算）
量子化パラメータ（qP）から特定のQP値(modQP)を減算することにより、標準量子化パラメータ（qPNL0）を導出する。
【０１６０】
具体的な式の例としては、
qPNL0 = (qP - modQP) / v  ・・・（式５−１）
を用いることができる。
【０１６１】
modQPは発生頻度が高い量子化パラメータの値である。ここで、量子化パラメータの各値うち、発生頻度が高い量子化パラメータの値が３２である場合、modQP = 32として標準量子化パラメータ（qPNL0）を求めることができる。
【０１６２】
また、式５−１中のvは、下の式より求められる。
v = max((maxQP - modQP),(modQP - minQP))  ・・・（式５−２）
maxQPは、量子化パラメータの取り得る最大値（例えば51）であり、minQPは、量子化パラメータの取り得る最小値（例えば0）である。
【０１６３】
また、変換部４０２は、量子化パラメータ（qP）及び発生頻度が高い量子化パラメータ（modQP）をそれぞれ非線形変換した後に、非線形変換後の量子化パラメータNLfunc（qP）から非線形変換後の発生頻度が高い量子化パラメータNLfunc（modQP）を減算することにより、標準量子化パラメータ（qPNL0）を導出してもよい。
【０１６４】
具体的な式の例としては、
qPNL0 = (NLfunc(qP) - NLfunc (modQP)) / v  ・・・（式５−３）
を用いることができる。上記の説明において、NLfuncは、非線形変換を行うための関数であり、具体的には、実施形態１において説明した各種の非線形変換式を用いることができる。
【０１６５】
ここで、式５−３中のvは、一例として、下の式より求められる。
v = max{(NLfunc(maxQP) - NLfunc(modQP)),(NLfunc(modQP) - NLfunc(minQP))}  ・・・（式５−４）
（クリップ処理）
また、本実施形態に係る変換部４０２は、量子化パラメータ（qP）を、所定の範囲でクリップ処理を行うことで、標準量子化パラメータ（qPNL0）を導出してもよい。導出された標準量子化パラメータ（qPNL0）をニューラルネットワーク部４０４に入力してもよい。
【０１６６】
ここで、所定の範囲としては、パラメータ値の範囲を特定する構成とし、特定した範囲を上記所定の範囲として用いてもよいし、予め定められた範囲を上記所定の範囲として用いてもよい。
【０１６７】
具体的な式の例としては、
qPNL0 = Clip3 (minDNQP, maxDNQP, qP)  ・・・（式６−１）
を用いることができる。
minDNQPは、量子化パラメータ（qP）の上記所定範囲における最小値、maxDNQPは、量子化パラメータ（qP）の上記所定の範囲における最大値を示し、minDNQP < maxDNQPである。一例として、minDNQP = 12、maxDNQP = 51を用いることができる。
【０１６８】
また、変換部４０２は、量子化パラメータ（qP）を非線形変換した後、非線形変換した変換量子化パラメータ（qPNL）を所定の範囲でクリップ処理を行うことで、標準量子化パラメータ（qPNL0）を導出し、ニューラルネットワーク部４０４に入力してもよい。
【０１６９】
具体的な式の例としては、
qPNL0 = Clip3 (minDNQPNL, maxDNQPNL, qPNL)  ・・・（式６−２）
を用いることができる。minDNQPNLは、変換量子化パラメータ（qPNL）の上記所定の範囲における最小値、maxDNQPNLは、変換量子化パラメータ（qPNL）の上記所定の範囲における最大値を示し、minDNQPNL < maxDNQPNLである。
【０１７０】
＜第３の実施形態＞
本実施形態に係る画像フィルタ装置は、第１の実施形態と同じく、図５（ａ）に示すように、qP画像生成部４００と、ニューラルネットワーク部４０４と、変換部４０２とを備える。
【０１７１】
qP画像生成部４００の働きは、第１の実施形態に記載のqP画像生成部４００と同じであるため、詳細な説明は省略する。
【０１７２】
本実施形態に係る変換部４０２は、例えば、予測画像又は差分画像を生成するための符号化パラメータを参照して（図示せず）、qP画像（第２種の入力画像データ）を修正した後に変換することにより、変換後のqPNL画像（変換後の第２種の入力画像データ）を生成する。
【０１７３】
変換部４０２は、qP画像生成部４００から取得したqP画像に含まれる各々の量子化パラメータ（qP）を変換することによって、変換後のqPNL画像を生成する。ここで、符号化パラメータを参照して量子化パラメータ（qP）を補正した値を修正量子化パラメータ（qP1）と呼ぶ。第３の実施形態の変換部４０２は、qP画像生成部４００から取得した量子化パラメータ（qP）から、符号化パラメータを参照して修正量子化パラメータ（qP1）を導出し、修正量子化パラメータ（qP1）に対し非線形変換することによって、変換後のqPNL画像を生成する。非線形変換は上述の説明と同じである。
【０１７４】
以下では、変換部４０２によって、符号化パラメータを参照して量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出する具体例を説明する。
【０１７５】
（（ブロックの全画素に対する修正））
以下のＡ１〜Ａ６では、対象ブロックに含まれる全ての画素の量子化パラメータを修正する例について説明する。
【０１７６】
ただし、下記の例は、対象ブロックの全画素に対して適用するのではなく、後述する境界近傍画素に対してのみ適用する構成としてもよい。
【０１７７】
（Ａ１：インター及びイントラに基づく修正）
一例として、変換部４０２は、予測パラメータ復号部から供給される符号化パラメータを参照することによって、対象ブロックが、イントラ予測が適用されたブロックであるか、それ以外であるかを判定する。変換部４０２は、対象ブロックが、イントラ予測が適用されたブロックであると判定された場合、当該ブロック全ての画素に関する量子化パラメータ（qP）を増加させ、修正量子化パラメータ（qP1）を導出する。イントラ予測が適用された予測ブロックをイントラ予測ブロックとも呼称する。イントラ予測ブロック以外は、インター予測が適用された予測ブロックである。
【０１７８】
このように、イントラ予測ブロックにおいて量子化パラメータ（qP）を大きくすることで、フィルタ処理の性能を向上させることができる。
【０１７９】
一例として、変換部４０２は、以下の式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1)を導出する。式の例としては、
qP1 = qP + (intraPred ? offset:0)  ・・・（式７−１）
を用いることができる。式７−１中のintraPredは、対象ブロックがイントラ予測ブロックであるかを問う真偽値式であり、真である場合、すなわち対象ブロックがイントラ予測ブロックである場合には量子化パラメータ（qP）にoffset（オフセット）を加算する。また、偽である場合、すなわち対象ブロックがイントラ予測ブロック以外である場合には何も加算しない。オフセットは所定の値を用いてもよいし、符号化ストリームTeでSPSあるいはPPSの中に含めて通知してもよい。
【０１８０】
（Ａ２：輝度及び色差に基づく修正）
また、本実施形態に係る変換部４０２は、対象ブロックが、輝度ブロックであるか、色差ブロックであるかを判定する。変換部４０２は、判定の後、対象ブロックが、色差ブロックである場合に、当該ブロックの量子化パラメータ（qP）を増加させ、修正量子化パラメータ（qP1）を導出する。
【０１８１】
このように、色差ブロックにおいて量子化パラメータ（qP）を大きくすることで、フィルタ処理の性能を向上させることができる。
【０１８２】
一例として、変換部４０２は、以下の式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出する。式の例としては、
qP1 = qP + (cIdx != 0) ? offset : 0  ・・・（式８−１）
・輝度ブロックの場合  cIdx = 0  ・・・（式８−２）
・色差ブロックの場合  cIdx = 1,2  ・・・（式８−３）
を用いることができる。式８−１では、cIdxが0でない場合に真と判定し、qPにoffset(オフセット）を加算し、cIdxが0である場合に偽と判定し、qPに何も加算しない。オフセットは所定の値を用いてもよいし、符号化ストリームTeでSPSあるいはPPSの中に含めて通知してもよい。なお、式８−１中のcIdxは、式８−２に示すように、輝度ブロックは0、式８−３に示すように、色差ブロックは1又は2である。
【０１８３】
（Ａ３：動きベクトル判定に基づく修正）
（動きベクトル判定１−１）
本実施形態に係る変換部４０２は、対象ブロックと隣接ブロックの動きベクトルの差が一定より大きいと判定した場合に、対象ブロックに含まれる全ての画素に関する量子化パラメータ（qP）から修正量子化パラメータ（qP1)を導出してもよい。
【０１８４】
すなわち、ブロックPの動きベクトル(mvp[0],mvp[1])と、ブロックPに隣接するブロックQの動きベクトル(mvq[0],mvq[1])の差が所定の値より大きい場合に、対象ブロックの全ての画素に関する量子化パラメータ（qP）にmod1を加算してもよい。
【０１８５】
具体的な判定式の例としては、
abs(mvp[0] - mvq[0]) + abs(mvp[1] - mvq[1]) > diff  ・・・（式８ａ−１）
が挙げられる。diffは所定の値を用いればよい。式８ａ−１の判定式において、abs(mvp[0] - mvq[0]) + abs(mvp[1] - mvq[1])がdiffより大きい場合に、例えば、以下の式、
qP1 = qP + mod1  ・・・（式８ａ−２）
のようにmod1を加算し、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。mod1は所定の値である。
【０１８６】
（動きベクトル判定１−２）
また、本実施形態に係る変換部４０２は、対象ブロックと隣接ブロックの動きベクトルの水平成分及び垂直成分の差のうち、いずれかが所定の値より大きい場合に、対象ブロックに含まれる全ての画素に関する量子化パラメータ（qP）に所定のmod1を加算してもよい。
【０１８７】
具体的な判定式の例としては、
(abs(mvp[0] - mvq[0]) > diff) || (abs(mvp[1] - mvq[1]) > diff)  ・・・（式８ｂ−１）
が挙げられる。ここでabs(a)はaの絶対値を導出する関数である。
【０１８８】
式８ｂ−１において、abs(mvp[0] - mvq[0])、abs(mvp[1] - mvq[1])のうち、いずれかがdiffより大きい場合に、例えば、式８ａ−２の変換式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。
【０１８９】
（Ａ４：参照ピクチャインデックスに基づく修正）
変換部４０２は、符号化パラメータに含まれる参照ピクチャインデックスを参照し、対象ブロックPに関連付けられた参照ピクチャインデックスと、当該対象ブロックPに隣接する隣接ブロックQに関連付けられた参照ピクチャインデックスとの値が異なる場合に、対象ブロックに含まれる各画素の量子化パラメータ（qP）に対して,例えば、式８ａ−２の変換式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。
【０１９０】
（Ａ５：変換係数に基づく修正）
また、本実施形態に係る変換部４０２は、予測パラメータ復号部から供給される符号化パラメータを参照し、対象ブロックに非ゼロ変換係数がある場合に、量子化パラメータ（qP）にオフセットを加算してもよい。オフセットが加算された量子化パラメータ（qP）を修正量子化パラメータ（qP1）として利用する。
【０１９１】
このように、対象ブロックに変換係数がある場合に、量子化パラメータ（qP）を大きくすることで、フィルタ処理の性能を向上させることができる。
【０１９２】
一例として、変換部４０２は、以下の式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出する。式の例としては、
qP1 = qP + (cbp != 0) ? offset : 0  ・・・（式９−１）
・対象ブロックに変換係数が含まれる場合  cbp = 1  ・・・（式９−２）
・対象ブロックに変換係数が含まれない場合  cbp = 0  ・・・（式９−３）
を用いることができる。ここで、cbpは、coding block pattern（cbf_luma、cbf_cb、cbf_cr）のことを指す。式９−１は、cbpが0でない場合に真と判定され、qPにoffset(オフセット）が加算され、cbpが0である場合に偽と判定され、qPに何も加算されない。オフセットは所定の値を用いてもよいし、符号化ストリームTeでSPSあるいはPPSの中に含めて通知してもよい。なお、式９−１中のcbpは、式９−２に示すように、対象ブロックに変換係数が含まれる場合は1、式９−３に示すように、対象ブロックに変換係数が含まれない場合は0である。
【０１９３】
（ブロックサイズに基づく修正）
また、本実施形態に係る変換部４０２は、対象ブロックのブロックサイズに応じて量子化パラメータ（qP）の大きさを調節して、修正量子化パラメータ（qP1）を導出してもよい。
【０１９４】
例えば、対象ブロックのブロックサイズが所定の閾値のサイズよりも大きい場合に量子化パラメータ（qP）に所定の値を加算して、修正量子化パラメータ（qP1）を導出してもよい。
【０１９５】
（導出例１）
一例として、変換部４０２は、以下の式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出する。式の例としては、
qP1 = (blkW + blkH > TH) ? qP + mod : qP  ・・・（式１０−１）
を用いることができる。ここで、式１０−１中のblkWは、対象ブロックの幅、blkHは、対象ブロックの高さ、THは所定の閾値のサイズである。対象ブロックの幅と高さとの和が、所定の閾値よりも大きい場合に、真と判定され、量子化パラメータ（qP）に所定のmodが加算され、修正量子化パラメータ（qP1）が導出される。対象ブロックの幅と高さとの和が所定の値よりも小さい場合に、偽と判定され、量子化パラメータ（qP）には何も加算されない。
【０１９６】
また、ブロックサイズに応じて、量子化パラメータ（qP）に加算する値を調節し、修正量子化パラメータ（qP1）を導出してもよい。例えば、ブロックサイズの所定の閾値を２つ設定し、それぞれの閾値に合わせて量子化パラメータ（qP）に加算する値を設定してもよい。所定の閾値を２つ設けた場合の式の例としては、
if(blkW + blkH > TH1)
qP1 = qP + mod1;
else if(blkW + blkH > TH2) 
qP = qP + mod2;  ・・・（式１０−２）
を用いることができる。ここでTH1及びTH2は、それぞれ所定の閾値（TH1>TH2）である。まず、対象ブロックの幅と高さとの和が、所定の閾値TH1よりも大きい場合は、量子化パラメータ（qP）に所定のmod1が加算され、修正量子化パラメータ（qP1）が導出される。それ以外の場合は、else if以降の式が実行される。対象ブロックの幅と高さとの和が、閾値TH2よりも大きい場合は、量子化パラメータ（qP）に所定のmod2が加算され、修正量子化パラメータ（qP1）が導出される。式１０−２では、閾値を２つ設定したが、閾値の数は特に限定されず、３つ以上設定してもよい。mod、mod1、mod2は所定の値を用いてもよいし、符号化ストリームTeでSPSあるいはPPSの中に含めて通知してもよい。
【０１９７】
（導出例２）
また、一例として、変換部４０２は、対象ブロックのブロックサイズに応じた、ルックアップテーブルによって参照される値から調整項を導出して加算してもよい。
【０１９８】
式の例としては、
qP1 = qP + qPmodTable [log2(blkW) + log2(blkH)]  ・・・（式１１−１）
を用いることができる。ここで、blkWは対象ブロックの幅、blkHは対象ブロックの高さである。
【０１９９】
（導出例３）
また、一例として、変換部４０２は、対象ブロックのブロックサイズに対し、積、和、シフト演算で調整項を導出して加算してもよい。
【０２００】
式の例としては、
qP1 = qP + ((a*(log2(blkW) + log2(blkH))) >> b) + c  ・・・（式１２−１）
を用いることができる。ここで、a、b及びcは所定の値である。
【０２０１】
（Ａ６：ブロックデプスに基づく修正）
また、本実施形態に係る変換部４０２は、符号化パラメータのデプス情報（分割情報）を参照して、対象のブロックのデプスに応じて、量子化パラメータ（qP）の大きさを変化させ、修正量子化パラメータ（qP1）を導出してもよい。
【０２０２】
ブロックのデプスとは、ブロック分割（４分木のQT分割、２分木のBT分割）でブロックを分割する場合に、分割する度にインクリメントされる値である。ブロックのデプスは、最上位レベルを0としてブロックが分割される度に大きな値になる。
【０２０３】
（（ブロックの境界近傍画素に対する修正））
以下のＢ１〜Ｂ４では、対象ブロックと当該対象ブロックに隣接する隣接ブロックとの境界の近傍画素の量子化パラメータを修正する例について説明する。
【０２０４】
なお、下記の例は、境界近傍画素のみならず対象ブロックの全画素に対して適用する構成としてもよい。
【０２０５】
（Ｂ１：ブロック境界修正）
本実施形態に係る変換部４０２は、量子化パラメータ（qP）の修正を要するブロック境界であるか、否かを判定し、ブロック境界の場合に、当該ブロック境界からの距離が所定の画素数以内の画素（境界近傍画素、本明細書において同様）の量子化パラメータ（qP）を大きくし、修正量子化パラメータ（qP1）を導出してもよい。ここで、所定の画素数は１でもよいし、２以上であってもよい。所定の画素数が１の場合が、境界に隣接する画素に対応する。
【０２０６】
このように、境界近傍画素の量子化パラメータ（qP）を大きくすることで、フィルタ処理の性能を向上させることができる。
【０２０７】
例えば、以下の式を用いて、境界近傍画素の量子化パラメータ（qP）を修正することができる。対象ブロックのブロック境界線が、水平方向の境界線であるときの式の例としては、
if(水平境界) { // 上境界 or 下境界
for (x = 0; x < blkW; x++){
qP1[x][0] = qP[x][0] + mod
qP1[x][blkH - 1] = qP[x][blkH - 1] + mod
}
}  ・・・（式１３−１）
を用いることができる。blkWはブロックの水平方向の画素数、blkHはブロックの垂直方向の画素数であり、[x][y]はブロックの画素に対応する座標（x,y)である。
【０２０８】
また、対象ブロックのブロック境界が、水平境界でなく、垂直方向の境界であるときの式の例としては、
if(垂直境界) { // 左境界 or 右境界
for (y = 0; y < blkH; y++){
qP1[0][y] = qP[0][y] + mod
qP1[blkW - 1][y] = qP[blkW - 1][y] + mod
}
}  ・・・（式１３−２）
を用いることができる。
【０２０９】
図１９に、境界近傍画素の具体例を示す。図１９（ａ）は、所定の画素数が１の場合の修正前の対象ブロックの量子化パラメータ、（ｂ）は、修正後の対象ブロックの量子化パラメータを示す。例えば、mod = 2のときは、図１９（ｂ）に示すように境界線に隣接する１行１列の量子化パラメータに２を加算する。
【０２１０】
同様に、図２０（ａ）は、所定の画素数が２の場合の修正前の対象ブロックの量子化パラメータ、（ｂ）は、修正後の対象ブロックの量子化パラメータを示す。例えば、mod = 2のとき、図２０（ｂ）に示すように境界線に隣接する２行２列の量子化パラメータに２を加算する。
【０２１１】
また、本実施形態に係る変換部４０２は、ブロック境界のＮ画素を修正する場合に、境界線に近い画素ほど、量子化パラメータ（qP）の修正量を大きくしてもよい。
【０２１２】
具体的な式の例としては、
if(水平境界) { // 上境界 or 下境界
for (x = 0; x < blkW; x++){
qP1[x][0] = qP[x][0] + mod1
qP1[x][1] = qP[x][1] + mod2
qP1[x][blkH-1] = qP[x][blkH-1] + mod1
qP1[x][blkH-2] = qP[x][blkH-2] + mod2
}
}  ・・・（式１４−１）
else if(垂直境界) { // 左境界 or 右境界
for (y = 0; y < blkH; y++){
qP1[0][y] = qP[0][y] + mod1
qP1[1][y] = qP[1][y] + mod2
qP1[blkW-1][y] = qP[blkW-1][y] + mod1
qP1[blkW-2][y] = qP[blkW-2][y] + mod2
}
}  ・・・（式１４−２）
を用いることができる。式１４−１及び式１４−２において、例えば、mod1 = 2、mod2 = 1としてもよい。図２１（ａ）は、所定の画素数が２の場合の修正前の対象ブロックの量子化パラメータ、（ｂ）は、式１４−１及び式１４−２の式を用いて、境界近傍画素の量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出した後の対象ブロックの量子化パラメータを示す。
【０２１３】
（ブロック境界の判定）
量子化パラメータ（qP）の修正を要するブロック境界であるか否かの判定は、具体的には以下の判定方法のいずれかを用いればよい。隣接する２つのブロックにおいて、
・量子化パラメータ（qP）が異なる場合、
・少なくとも１方にイントラ予測モードが使用されている場合、
・少なくとも１方に非ゼロの変換係数が存在する場合、
・インター予測モードの場合、動きベクトルが異なる場合、
・インター予測モードの場合、参照ピクチャが異なる場合、
である。例えば、図２３の（ａ）は、水平境界における隣接するブロックPおよびQの量子化パラメータp0とq0を表す。図２３の（ｂ）は、垂直境界における隣接するブロックPおよびQの量子化パラメータp0とq0を表す。
図２２（ａ）に示すように、１つの対象ブロック内に複数の境界線が存在し、複数のブロックにさらに分割されている場合も、上述した（ブロック境界の判定）を用いて、各ブロック境界を判定することができる。ブロック境界の判定の後、分割された各ブロックにおいて、式１３−１及び式１３−２を用いて、各境界線に隣接する画素の量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。図２２（ｂ）は、修正後の対象ブロックを示し、この場合、式１３−１及び式１３−２においてmod = 2であり、各境界線に隣接する１行１列（所定の画素数が１の場合）の量子化パラメータに２が加算されている。
【０２１４】
（Ｂ２：動きベクトル判定に基づく修正）
（動きベクトル判定１−１）
本実施形態に係る変換部４０２は、隣接するブロックの動きベクトルの差が一定より大きいと判定した場合に、境界近傍画素に関する対象ブロックの量子化パラメータ（qP）から修正量子化パラメータ（qP1)を導出してもよい。
【０２１５】
すなわち、ブロックPの動きベクトル(mvp[0],mvp[1])と、ブロックPに隣接するブロックQの動きベクトル(mvq[0],mvq[1])の差が所定の値より大きい場合に、境界近傍画素に対して、量子化パラメータ（qP）にmod1を加算してもよい。
【０２１６】
具体的な判定式の例としては、
abs(mvp[0] - mvq[0]) + abs(mvp[1] - mvq[1]) > diff  ・・・（式１５−１）
が挙げられる。diffは所定の値を用いればよい。式１５−１の判定式において、abs(mvp[0] - mvq[0]) + abs(mvp[1] - mvq[1])がdiffより大きい場合に、例えば、以下の式、
qP1 = qP + mod1  ・・・（式１５−２）
のようにmod1を加算し、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。mod1は所定の値である。
【０２１７】
（動きベクトル判定１−２）
また、本実施形態に係る変換部４０２は、隣接するブロックの動きベクトルの水平成分及び垂直成分の差のうち、いずれかが所定の値より大きい場合に、境界近傍画素に対して、量子化パラメータ（qP）に所定のmod1を加算してもよい。
【０２１８】
具体的な判定式の例としては、
(abs(mvp[0] - mvq[0]) > diff) || (abs(mvp[1] - mvq[1]) > diff)  ・・・（式１６−１）
が挙げられる。ここでabs(a)はaの絶対値を導出する関数である。
【０２１９】
式１６−１において、abs(mvp[0] - mvq[0])、abs(mvp[1] - mvq[1])のうち、いずれかがdiffより大きい場合に、例えば、式１５−２の変換式を用いて、境界近傍画素に関する量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。
【０２２０】
（Ｂ３：予測モード判定に基づく修正）
また、本実施形態に係る変換部４０２は、符号化パラメータを参照し、ブロックPの予測モードpredModePと、ブロックPに隣接するブロックQの予測モードpredModeQとが等しいか否かを判定し、等しくない場合に、境界近傍画素に関する量子化パラメータ（qP）に所定のmod1を加算してもよい。
【０２２１】
具体的な判定式の例としては、
predModeP != predModeQ  ・・・（式１７−１）
が挙げられる。
【０２２２】
式１７−１において、予測モードpredModePと、予測モードpredModeQとが等しくない場合に、例えば、式１５−２の式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。
【０２２３】
（Ｂ４：分割デプス判定に基づく修正）
また、本実施形態に係る変換部４０２は、符号化パラメータを参照し、ブロックPの分割デプスdepthPと、ブロックPに隣接するブロックQの分割デプスdepthQとが等しいか否かを判定し、等しくない場合に、境界近傍画素に対して、量子化パラメータ（qP）に所定のmod1を加算してもよい。
【０２２４】
具体的な判定式の例としては、
depthP != depthQ  ・・・（式１８−１）
が挙げられる。
【０２２５】
式１８−１において、分割デプスdepthPと、分割デプスdepthQとが等しくない場合に、例えば、式１５−２の式を用いて、量子化パラメータ（qP）から修正量子化パラメータ（qP1）を導出してもよい。
【０２２６】
＜第４の実施形態＞
本発明の他の実施形態について、図１１に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
【０２２７】
本実施形態においては、図１１に示すように、CNNフィルタ３０５ｄは、ｎ＋１個のCNNフィルタCNN0、CNN1、…、CNNnを含む、複数の個別ニューラルネットワークである１段目のCNNフィルタ３０５ｄ１と、セレクタ３０５ｄ２と、共通ニューラルネットワークである２段目のCNNフィルタ３０５ｄ３と、qP画像生成部４００ｄと、変換部４０２ｄとを含む。
【０２２８】
変換部４０２ｄでは上述の実施形態１〜３のいずれかの変換を用いて、量子化パラメータを変換し、変換後の量子化パラメータ（qPNL）の代表値をセレクタ３０５ｄ２に供給する。
【０２２９】
１段目のCNNフィルタ３０５ｄ１において、CNNフィルタCNN0には、一例として、輝度（Y）のチャネル、第１の色差（Cb）のチャネル、および第２の色差（Cr）のチャネルを含む３つのチャネルから構成されるフィルタ前画像が入力される。CNNフィルタCNN0は、FP1よりも小さい値を有するフィルタパラメータFPに対して最適化されたフィルタである。また、CNNフィルタCNN1は、FP1以上でFP2よりも小さい値を有するフィルタパラメータFPに対して最適化されたフィルタである。また、CNNフィルタCNNnは、FPn以上の値を有するフィルタパラメータFPに対して最適化されたフィルタである。
【０２３０】
１段目のCNNフィルタ３０５ｄ１に含まれるCNNフィルタCNN0、CNN1、…、CNNnの各々は、フィルタ処理を施した画像をセレクタ３０５ｄ２に出力する。セレクタ３０５ｄ２には、フィルタパラメータFPが入力され、入力されたフィルタパラメータFPに応じて、２段目のCNNフィルタ３０５ｄ３に出力するフィルタ処理が施された画像を選択する。したがって、２段目のCNNフィルタ３０５ｄ３には、セレクタ３０５ｄ２によって選択された最適なフィルタ処理が施された画像が入力される。換言すれば、本実施形態における個別ニューラルネットワークは、画像フィルタ装置への入力画像データにおけるフィルタパラメータの値に応じて、入力画像データに対して選択的に作用する。
【０２３１】
なお、CNNフィルタを選択するフィルタパラメータFPは、明示的に符号化データにおいて符号化しても良いし、符号化パラメータから導出してもよい。例えば、符号化パラメータの一つである量子化パラメータの代表値（平均値など）からフィルタパラメータFPを導出してもよい。
【０２３２】
２段目のCNNフィルタ３０５ｄ３は、入力画像にフィルタ処理を施し、フィルタ後画像を出力する。換言すれば、本実施形態における共通ニューラルネットワークは、個別ニューラルネットワークの出力画像データに対して、フィルタパラメータの値によらずに共通に作用する。
【０２３３】
なお、セレクタ３０５ｄ２が選択に用いるフィルタパラメータFPは、変換後の量子化パラメータ（qPNL）の代表値に限らない。フィルタパラメータFPは、符号化データにおいて明示的に伝送しても良い。また、フィルタパラメータFPとして、入力画像における量子化パラメータの他に、入力画像におけるイントラ予測及びインター予測の種別を示すパラメータ、入力画像におけるイントラ予測方向を示すパラメータ、入力画像におけるパーティションの分割深度（デプス情報、分割情報）を示すパラメータ、入力画像におけるパーティションのサイズを示すパラメータを挙げることができる。なお、これらのパラメータにおいても、特定位置の値（左上や中央）、平均値、最小値、最大値、中央値、最頻値などの代表値を用いてもよい。
【０２３４】
図１２は、本実施形態に係る画像フィルタ装置の構成の変形例を示す概略図である。図１２に示すように、CNNフィルタ３０５ｅは、ｎ＋１個のCNNフィルタCNN0、CNN1、…、CNNnを含む、複数の個別ニューラルネットワークであるCNNフィルタ３０５ｅ２、およびセレクタ３０５ｅ３は、共通ニューラルネットワークであるCNNフィルタ３０５ｅ１の後段に配置することもできる。この場合、CNNフィルタ３０５ｅ１は、CNNフィルタ３０５ｅへの入力画像データに作用し、CNNフィルタ３０５ｅ２は、入力画像データにおけるフィルタパラメータの値に応じて、CNNフィルタ３０５ｅ１の出力画像データに対して選択的に作用する。また、セレクタ３０５ｅ３がフィルタ後画像を出力する。なお、CNNフィルタ３０５ｅは、qP画像生成部４００ｅと、変換部４０２ｅとを備えており、それらは、それぞれ、qP画像生成部４００ｄと、変換部４０２ｄと同様の構成である。
【０２３５】
なお、本実施形態においても、画像復号装置におけるCNNフィルタは、画像符号化装置におけるCNNフィルタと同様の機能を有する。
【０２３６】
第４の実施形態の構成によれば、フィルタパラメータFPの大きさに応じてネットワークを切り替える部分（３０５ｅ２）と、フィルタパラメータの大きさによらずに同じネットワークを用いる部分（３０５ｅ１）を用いることで、フィルタ全体を量子化パラメータなどの符号化パラメータで切り替える構成に比べてネットワーク構成を小さくできる。ネットワーク構成が小さいほうが、演算量が小さく高速であることに加え、学習パラメータが頑強で多くの入力画像に対して適当なフィルタ処理ができる効果がある。
【０２３７】
＜第５の実施形態＞
本発明の他の実施形態について、図１３に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
【０２３８】
本実施形態においては、図１３に示すように、CNNフィルタ３０５ｆは、ｎ＋１個のCNNフィルタCNN0、CNN1、…、CNNnを含む１段目のCNNフィルタ３０５ｆ１と、セレクタ３０５ｆ２と、２段目のCNNフィルタ３０５ｆ３と、qP画像生成部４００ｆと、変換部４０２ｆとを含む。
【０２３９】
１段目のCNNフィルタ３０５ｆ１において、CNNフィルタCNN1は、QP1Lよりも大きくQP1Hよりも小さい値を有する変換後の量子化パラメータに対して最適化されたフィルタである。また、CNNフィルタCNN2は、QP2Lよりも大きくQP2Hよりも小さい値を有する変換後の量子化パラメータに対して最適化されたフィルタである。また、CNNフィルタCNN3は、QP3Lよりも大きくQP3Hよりも小さい値を有する変換後の量子化パラメータに対して最適化されたフィルタである。また、CNNフィルタCNN4は、QP4Lよりも大きくQP4Hよりも小さい値を有する変換後の量子化パラメータに対して最適化されたフィルタである。他のCNNフィルタも同様のフィルタである。
【０２４０】
閾値QP1L、QP1H、…QP4L、QP4Hの具体例として、QP1L=0、QP1H=18、QP2L=12、QP2H=30、QP3L=24、QP3H=42、QP4L=36、QP4H=51の値を割り当てることができる。
【０２４１】
この場合、例えば、変換後の量子化パラメータが10であれば、セレクタ３０５ｆ２はCNNフィルタCNN1を選択する。また、変換後の量子化パラメータが15であれば、セレクタ３０５ｆ２はCNNフィルタCNN1とCNNフィルタCNN2を選択する。また、変換後の量子化パラメータが20であれば、セレクタ３０５ｆ２はCNNフィルタCNN2を選択する。また、変換後の量子化パラメータが25であれば、セレクタ３０５ｆ２はCNNフィルタCNN2,CNNフィルタCNN3を選択する。また、変換後の量子化パラメータが30であれば、セレクタ３０５ｆ２はCNNフィルタCNN3を選択する。
【０２４２】
２段目のCNNフィルタ３０５ｆ３は、セレクタ３０５ｆ２が１種類のCNNフィルタを選択した場合は、入力画像をフィルタ後画像として出力し、セレクタ３０５ｆ２が２種類のCNNフィルタを選択した場合は、２つの入力画像の平均値をフィルタ後画像として出力する。
【０２４３】
なお、本実施形態においても、画像復号装置におけるCNNフィルタは、画像符号化装置におけるCNNフィルタ１０７ｆと同様の機能を有する。
【０２４４】
第５の実施形態の構成によれば、変換後の量子化パラメータの大きさに応じてネットワークを切り替える部分（３０５ｆ１）と、変換後の量子化パラメータの大きさによらずに同じネットワークを用いる部分（３０５ｆ３）を用いることで、フィルタ全体を量子化パラメータなどの符号化パラメータで切り替える構成に比べてネットワーク構成を小さくできる。ネットワーク構成が小さいほうが演算量が小さく高速であることに加え、学習パラメータが頑強で多くの入力画像に対して適当なフィルタ処理ができる効果がある。また、各CNNフィルタの最適化の範囲を重複させたことで、フィルタを切り替えた時にパッチの境界で視覚的なひずみが現れることを回避することができる。
【０２４５】
＜第６の実施形態＞
本発明の他の実施形態について、図１４に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、その説明を省略する。
【０２４６】
上述したように、画像フィルタ装置は、ブロック歪みを低減する機能とリンギング歪みを低減するフィルタとを利用してもよい。また、ブロック歪みを低減するデブロッキングフィルタ（DF：Deblocking Filter）や、リンギング歪みを低減するサンプルアダプティブオフセット（SAO：Sample Adaptive Offset）などの別のフィルタと処理を併用してもよい。
【０２４７】
本実施形態では、デブロッキングフィルタ（DF）の処理と、サンプルアダプティブオフセット（SAO）の処理とCNNフィルタを併用する構成を説明する。
【０２４８】
（第１の例）
図１４の（ａ）に本実施形態の第１の例を示す。第１の例では、画像フィルタ装置３０５ｇは、CNNフィルタ３０５ｇ１とサンプルアダプティブオフセット（SAO）３０５ｇ２とを含む。CNNフィルタ３０５ｇ１は、ブロック歪みを低減するフィルタとして機能する。
【０２４９】
（第２の例）
図１４の（ｂ）に本実施形態の第２の例を示す。第２の例では、画像フィルタ装置３０５ｈは、デブロッキングフィルタ（DF）３０５ｈ１とCNNフィルタ３０５ｇ２とを含む。CNNフィルタ３０５ｈ２は、デブロッキングフィルタの後段でさらにリンギングノイズを低減するフィルタとして機能する。
【０２５０】
（第３の例）
図１４の（ｃ）に本実施形態の第３の例を示す。第３の例では、画像フィルタ装置３０５ｉは、第１のCNNフィルタ３０５ｉ１と第２のCNNフィルタ３０５ｉ２とを含む。第１のCNNフィルタ３０５ｉ１は、ブロック歪みを低減するフィルタとして機能し、第２のCNNフィルタ３０５ｉ２は、ブロック歪みを低減するフィルタの後段でさらにリンギングノイズを低減するフィルタとして機能する。
【０２５１】
なお、何れの例においても、画像復号装置におけるCNNフィルタは画像符号化装置におけるCNNフィルタと同様の機能を有する。
【０２５２】
＜第７の実施形態＞
なお、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、例えば、予測パラメータ復号部３０２、ループフィルタ３０５、予測画像生成部３０８、逆量子化・逆変換部３１１、加算部３１２、予測画像生成部１０１、減算部１０２、変換・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆変換部１０５、ループフィルタ１０７、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置１１、画像復号装置３１のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０２５３】
また、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、または全部を、LSI（Large Scale Integration）等の集積回路として実現しても良い。画像符号化装置１１、画像復号装置３１の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【０２５４】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【０２５５】
〔応用例〕
上述した画像符号化装置１１及び画像復号装置３１は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（CGおよびGUIを含む）であってもよい。
【０２５６】
まず、上述した画像符号化装置１１及び画像復号装置３１を、動画像の送信及び受信に利用できることを、図１５を参照して説明する。
【０２５７】
図１５の（ａ）は、画像符号化装置１１を搭載した送信装置PROD_Aの構成を示したブロック図である。図１５の（ａ）に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した画像符号化装置１１は、この符号化部PROD_A1として利用される。
【０２５８】
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部Ａ７を更に備えていてもよい。図１５の（ａ）においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
【０２５９】
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０２６０】
図１５の（ｂ）は、画像復号装置３１を搭載した受信装置PROD_Bの構成を示したブロック図である。図１５の（ｂ）に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した画像復号装置３１は、この復号部PROD_B3として利用される。
【０２６１】
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図１５の（ｂ）においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
【０２６２】
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部（不図示）を介在させるとよい。
【０２６３】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送（ここでは、送信先が予め特定されていない送信態様を指す）であってもよいし、通信（ここでは、送信先が予め特定されている送信態様を指す）であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【０２６４】
例えば、地上デジタル放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を無線放送で送受信する送信装置PROD_A／受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を有線放送で送受信する送信装置PROD_A／受信装置PROD_Bの一例である。
【０２６５】
また、インターネットを用いたVOD（Video On Demand）サービスや動画共有サービスなどのサーバ（ワークステーションなど）／クライアント（テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど）は、変調信号を通信で送受信する送信装置PROD_A／受信装置PROD_Bの一例である（通常、ＬＡＮにおいては伝送媒体として無線または有線の何れかが用いられ、ＷＡＮにおいては伝送媒体として有線が用いられる）。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【０２６６】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
【０２６７】
次に、上述した画像符号化装置１１及び画像復号装置３１を、動画像の記録及び再生に利用できることを、図１６を参照して説明する。
【０２６８】
図１６の（ａ）は、上述した画像符号化装置１１を搭載した記録装置PROD_Cの構成を示したブロック図である。図１６の（ａ）に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した画像符号化装置１１は、この符号化部PROD_C1として利用される。
【０２６９】
なお、記録媒体PROD_Mは、（１）HDD（Hard Disk Drive）やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、（２）SDメモリカードやUSB（Universal Serial Bus）フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、（３）DVD（Digital Versatile Disc）やBD（Blu-ray Disc:登録商標）などのように、記録装置PROD_Cに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０２７０】
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部PROD_C6を更に備えていてもよい。図１６の（ａ）においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
【０２７１】
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部（不図示）を介在させるとよい。
【０２７２】
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD（Hard Disk Drive）レコーダなどが挙げられる（この場合、入力端子PROD_C4または受信部PROD_C5が動画像の主な供給源となる）。また、カムコーダ（この場合、カメラPROD_C3が動画像の主な供給源となる）、パーソナルコンピュータ（この場合、受信部PROD_C5または画像処理部Ｃ６が動画像の主な供給源となる）、スマートフォン（この場合、カメラPROD_C3または受信部PROD_C5が動画像の主な供給源となる）なども、このような記録装置PROD_Cの一例である。
【０２７３】
図１６の（ｂ）は、上述した画像復号装置３１を搭載した再生装置PROD_Dの構成を示したブロックである。図１６の（ｂ）に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した画像復号装置３１は、この復号部PROD_D2として利用される。
【０２７４】
なお、記録媒体PROD_Mは、（１）HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、（２）SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、（３）DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０２７５】
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図１６の（ｂ）においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
【０２７６】
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部（不図示）を介在させるとよい。
【０２７７】
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる（この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる）。また、テレビジョン受像機（この場合、ディスプレイPROD_D3が動画像の主な供給先となる）、デジタルサイネージ（電子看板や電子掲示板等とも称され、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる）、デスクトップ型PC（この場合、出力端子PROD_D4または送信部PROD_D5が動画像の主な供給先となる）、ラップトップ型またはタブレット型PC（この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる）、スマートフォン（この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる）なども、このような再生装置PROD_Dの一例である。
【０２７８】
（ハードウェア的実現およびソフトウェア的実現）
また、上述した画像復号装置３１および画像符号化装置１１の各ブロックは、集積回路（ICチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、CPU（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０２７９】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM（Read Only Memory）、上記プログラムを展開するRAM（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ（またはCPUやMPU）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０２８０】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやCD-ROM（Compact Disc Read-Only Memory）／MOディスク（Magneto-Optical disc）／MD（Mini Disc）／DVD（Digital Versatile Disc）／CD-R（CD Recordable）／ブルーレイディスク（Blu-ray Disc：登録商標）等の光ディスクを含むディスク類、ICカード（メモリカードを含む）／光カード等のカード類、マスクROM／EPROM（Erasable Programmable Read-Only Memory）／EEPROM（Electrically Erasable and Programmable Read-Only Memory：登録商標）／フラッシュROM等の半導体メモリ類、あるいはPLD（Programmable logic device）やFPGA（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０２８１】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN（Local Area Network）、ISDN（Integrated Services Digital Network）、VAN（Value-Added Network）、CATV（Community Antenna television/Cable Television）通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE（Institute of Electrical and Electronic Engineers）1394、USB、電力線搬送、ケーブルＴＶ回線、電話線、ADSL（Asymmetric Digital Subscriber Line）回線等の有線でも、IrDA（Infrared Data Association）やリモコンのような赤外線、BlueTooth（登録商標）、IEEE802.11無線、HDR（High Data Rate）、NFC（Near Field Communication）、DLNA（Digital Living Network Alliance：登録商標）、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０２８２】
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０２８３】
〔まとめ〕
本発明の態様１に係る画像フィルタ装置（CNNフィルタ１０７，３０５）は、輝度又は色差を画素値とする１又は複数の第１種の入力画像データが少なくとも入力され、輝度又は色差を画素値とする１又は複数の第１種の出力画像データを出力するニューラルネットワーク部と、量子化パラメータを画素値とする１又は複数の第２種の入力画像データが入力され、当該第２種の入力画像データを非線形変換することにより、変換後の第２種の入力画像データを生成する変換部（４０２）と、を備え、上記ニューラルネットワーク部（４０４）には、上記変換後の第２種の入力画像データも入力される。
【０２８４】
本発明の態様２に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様１において、上記第１種の入力画像データを生成する際の逆量子化又は量子化において用いられる量子化ステップを画素値とする画像を、上記変換後の第２種の入力画像データとして生成する。
【０２８５】
本発明の態様３に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様１において、上記第１種の入力画像データを生成する際の逆量子化又は量子化において用いられる量子化ステップの逆数を画素値とする画像を、上記変換後の第２種の入力画像データとして生成する。
【０２８６】
本発明の態様４に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様１において、上記第２種の入力画像データに含まれる各量子化パラメータに対して、対数変換、指数変換及び逆数変換のうち何れか１つを行うことによって、上記変換後の第２種の入力画像データを生成する。
【０２８７】
本発明の態様５に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様１において、上記第２種の入力画像データに含まれる各量子化パラメータに対して多項式を用いた非線形変換を行うことによって、上記変換後の第２種の入力画像データを生成する。
【０２８８】
本発明の態様６に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様１において、上記第２種の入力画像データの画素値である量子化パラメータを標準化する変換を行うことによって、上記変換後の第２種の入力画像データを生成する。
【０２８９】
本発明の態様７に係る画像フィルタ装置（CNNフィルタ１０７，３０５）は、輝度又は色差を画素値とする１又は複数の第１種の入力画像データが少なくとも入力され、輝度又は色素を画素値とする１又は複数の第１種の出力画像データを出力するニューラルネットワーク部（４０４）と、量子化パラメータを画素値とする１又は複数の第２種の入力画像データが入力され、予測画像又は差分画像を生成するための符号化パラメータを参照して、当該第２種の入力画像データを変換することにより、変換後の第２種の入力画像データを生成する変換部（４０２）と、を備え、上記ニューラルネットワーク部には、上記変換後の第２の入力画像データも入力される。
【０２９０】
本発明の態様８に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様７において、上記符号化パラメータを参照することによって、対象ブロックが、イントラ予測が適用されたブロックであるか否かを判定し、当該対象ブロックが、イントラ予測が適用されブロックであると判定された場合に、上記変換部は、当該対象ブロックに含まれる全ての画素の量子化パラメータを変換することで、上記変換後の第２種の入力画像データを生成する。
【０２９１】
本発明の態様９に係る画像フィルタ装置（CNNフィルタ１０７，３０５）が備える変換部（４０２）は、上記態様７において、上記符号化パラメータを参照することによってブロック境界を特定し、特定されたブロック境界に隣接する画素の量子化パラメータを変更することにより、上記変換後の第２の入力画像データを生成する。
【０２９２】
本発明の態様１０に係る画像復号装置（３１）は、画像を復号する画像復号装置であって、復号画像に作用させるフィルタとして上記態様１から９の何れか１つに記載の画像フィルタ装置を備える。
【０２９３】
本発明の態様１１に係る画像符号化装置（１１）は、画像を符号化する画像符号化装置であって、局所復号画像に作用させるフィルタとして上記態様１から９の何れか１つに記載の画像フィルタ装置を備える。
【０２９４】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【０２９５】
本発明の実施形態は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０２９６】
１１    画像符号化装置
３１    画像復号装置
４０２  変換部
４０４  ニューラルネットワーク部
１０７  CNNフィルタ（画像フィルタ装置）
【図１】
2019201255.tif 000003
【図２】
2019201255.tif 000004
【図３】
2019201255.tif 000005
【図４】
2019201255.tif 000006
【図５】
2019201255.tif 000007
【図６】
2019201255.tif 000008
【図７】
2019201255.tif 000009
【図８】
2019201255.tif 000010
【図９】
2019201255.tif 000011
【図１０】
2019201255.tif 000012
【図１１】
2019201255.tif 000013
【図１２】
2019201255.tif 000014
【図１３】
2019201255.tif 000015
【図１４】
2019201255.tif 000016
【図１５】
2019201255.tif 000017
【図１６】
2019201255.tif 000018
【図１７】
2019201255.tif 000019
【図１８】
2019201255.tif 000020
【図１９】
2019201255.tif 000021
【図２０】
2019201255.tif 000022
【図２１】
2019201255.tif 000023
【図２２】
2019201255.tif 000024
【図２３】
2019201255.tif 000025