(57)【要約】この画像符号化方法では、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、入出力の関係が非線形となる非線形処理を行ってブロックを含む画像を符号化し（Ｓ１１）、その非線形処理に用いられる非線形フィルタの演算パラメータを符号化する（Ｓ１２）。
2016199330.tif 000002
【特許請求の範囲】
【請求項１】
ピクチャをブロック毎に変換し、
ループ内フィルタを用いて変換済みの前記ブロックを再構築し、
前記ピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを符号化する画像符号化方法であって、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を符号化し、
前記非線形処理に用いられる非線形フィルタの演算パラメータを符号化する
画像符号化方法。
【請求項２】
前記非線形フィルタはニューラルネットワークを含み、
前記演算パラメータの符号化では、
前記ニューラルネットワークに含まれる各ノード間の重み係数を前記演算パラメータとして符号化する
請求項１に記載の画像符号化方法。
【請求項３】
前記演算パラメータの符号化では、
さらに、前記ニューラルネットワークの階層数またはノード数を演算パラメータとして符号化する
請求項２に記載の画像符号化方法。
【請求項４】
前記画像の符号化では、
符号化される前記画像のプロファイルに応じて、前記ニューラルネットワークの階層数またはノード数の最大値を規定し、規定された前記最大値以下の階層数またはノード数の前記ニューラルネットワークを用いた前記非線形処理を行う
請求項３に記載の画像符号化方法。
【請求項５】
前記画像符号化方法では、さらに、
固定パラメータを有する線形フィルタと前記非線形フィルタとのうちの何れか一方を、使用されるべきフィルタとして示す切換え情報を符号化し、
前記画像の符号化では、
前記画像の符号化に用いられる処理を、前記切換え情報にしたがって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、前記非線形フィルタを用いた前記非線形処理と、前記線形フィルタを用いた線形処理とに切換える
請求項１〜４の何れか１項に記載の画像符号化方法。
【請求項６】
前記非線形処理は、複数のモードのうちの何れかのモードに対応付けられ、
前記画像の符号化では、
前記モードが指定される場合に、前記非線形処理を行って前記画像を符号化する
請求項５に記載の画像符号化方法。
【請求項７】
前記画像符号化方法では、さらに、
前記画像に含まれるブロック、スライス、タイル、ピクチャまたはＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）である画像単位ごとに、前記演算パラメータを切換え、
前記画像の符号化では、
前記画像単位に対して切換えられた演算パラメータを有する前記非線形フィルタを用いた非線形処理を行って、前記画像単位を符号化する
請求項１〜６の何れか１項に記載の画像符号化方法。
【請求項８】
前記画像符号化方法では、さらに、
前記非線形フィルタが有効か無効かを示す有効／無効情報を符号化し、
前記画像の符号化では、
前記有効／無効情報が有効を示す場合に、前記非線形処理を行う
請求項１〜７の何れか１項に記載の画像符号化方法。
【請求項９】
前記画像符号化方法では、さらに、
前記画像に含まれるブロックごとに、当該ブロックの特徴に応じて、当該ブロックを複数のクラスのうちの何れかのクラスに分類し、
前記クラスごとに、当該クラスに分類された少なくとも１つのブロックと、前記少なくとも１つのブロックのそれぞれの周辺画素とを教師データとして用いて学習することによって、当該クラスに対応する前記演算パラメータを決定する
請求項１〜８の何れか１項に記載の画像符号化方法。
【請求項１０】
前記演算パラメータの決定では、
前記画像のうち、予め定められた基準よりも複雑性が高い領域のみを用いて学習することによって、前記演算パラメータを決定する
請求項９に記載の画像符号化方法。
【請求項１１】
前記変換では、前記画像における空間領域から周波数領域への変換を行い、
前記非線形フィルタを用いたイントラ予測が行われる場合には、前記変換の方法を、変更可能な変換行列を用いた方法に切換え、前記変更可能な変換行列を用いた方法にしたがって変換を行う
請求項１〜１０の何れか１項に記載の画像符号化方法。
【請求項１２】
前記画像の符号化では、
前記画像に含まれるブロックが所定のサイズ以下の場合には、前記非線形フィルタを用いたイントラ予測を前記非線形処理として前記ブロックに対して行い、
前記ブロックが前記所定のサイズよりも大きい場合には、固定パラメータの線形フィルタを用いたイントラ予測を前記ブロックに対して行う
請求項１〜１１の何れか１項に記載の画像符号化方法。
【請求項１３】
前記画像の符号化では、
前記画像のうちの輝度成分に対して前記非線形処理を行い、前記画像のうちの色差成分に対しては、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力関係が線形となる線形処理を行う
請求項１〜１２の何れか１項に記載の画像符号化方法。
【請求項１４】
前記演算パラメータの符号化では、
予め規定されたパラメータである規定パラメータを参照して、符号化対象の前記演算パラメータを符号化する
請求項１〜１３の何れか１項に記載の画像符号化方法。
【請求項１５】
符号化ピクチャをブロック毎に逆変換し、
ループ内フィルタを用いて逆変換済みの前記ブロックを再構築し、
前記符号化ピクチャ内の復号済みの画素を用いたイントラ予測又は他の符号化ピクチャ内の復号済みの画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを復号する画像復号方法であって、
非線形フィルタの演算パラメータを復号し、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、復号された前記演算パラメータを有する前記非線形フィルタを用いた、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を復号する
画像復号方法。
【請求項１６】
前記非線形フィルタはニューラルネットワークを含み、
前記演算パラメータの復号では、
前記ニューラルネットワークに含まれる各ノード間の重み係数を前記演算パラメータとして復号する
請求項１５に記載の画像復号方法。
【請求項１７】
前記演算パラメータの復号では、
さらに、前記ニューラルネットワークの階層数またはノード数を演算パラメータとして復号する
請求項１６に記載の画像復号方法。
【請求項１８】
前記画像復号方法では、さらに、
固定パラメータを有する線形フィルタと前記非線形フィルタとのうちの何れか一方を、使用されるべきフィルタとして示す切換え情報を復号し、
前記画像の復号では、
前記画像の復号に用いられる処理を、前記切換え情報にしたがって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、前記非線形フィルタを用いた前記非線形処理と、前記線形フィルタを用いた線形処理とに切換える
請求項１５〜１７の何れか１項に記載の画像復号方法。
【請求項１９】
前記非線形処理は、複数のモードのうちの何れかのモードに対応付けられ、
前記画像の復号では、
前記モードが指定される場合に、前記非線形処理を行って前記画像を復号する
請求項１８に記載の画像復号方法。
【請求項２０】
前記画像復号方法では、さらに、
前記画像に含まれるブロック、スライス、タイル、ピクチャまたはＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）である画像単位ごとに、前記演算パラメータを切換え、
前記画像の復号では、
前記画像単位に対して切換えられた演算パラメータを有する前記非線形フィルタを用いた非線形処理を行って、前記画像単位を復号する
請求項１５〜１９の何れか１項に記載の画像復号方法。
【請求項２１】
前記画像復号方法では、さらに、
前記非線形フィルタが有効か無効かを示す有効／無効情報を復号し、
前記画像の復号では、
前記有効／無効情報が有効を示す場合に、前記非線形処理を行う
請求項１５〜２０の何れか１項に記載の画像復号方法。
【請求項２２】
前記逆変換では、
前記非線形フィルタを用いたイントラ予測が行われる場合には、前記逆変換の方法を、変更可能な変換行列を用いた方法に切換え、前記変更可能な変換行列を用いた方法にしたがって逆変換を行う
請求項１５〜２１の何れか１項に記載の画像復号方法。
【請求項２３】
前記画像の復号では、
前記画像に含まれるブロックが所定のサイズ以下の場合には、前記非線形フィルタを用いたイントラ予測を前記非線形処理として前記ブロックに対して行い、
前記ブロックが前記所定のサイズよりも大きい場合には、固定パラメータの線形フィルタを用いたイントラ予測を前記ブロックに対して行う
請求項１５〜２２の何れか１項に記載の画像復号方法。
【請求項２４】
前記画像の復号では、
前記画像のうちの輝度成分に対して前記非線形処理を行い、前記画像のうちの色差成分に対しては、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力関係が線形となる線形処理を行う
請求項１５〜２３の何れか１項に記載の画像復号方法。
【請求項２５】
前記演算パラメータの復号では、
予め規定されたパラメータである規定パラメータを参照して、復号対象の前記演算パラメータを復号する
請求項１５〜２４の何れか１項に記載の画像復号方法。
【請求項２６】
ピクチャをブロック毎に変換し、
ループ内フィルタを用いて変換済みの前記ブロックを再構築し、
前記ピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを符号化する画像符号化装置であって、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を符号化する画像符号化部と、
前記非線形処理に用いられる非線形フィルタの演算パラメータを符号化するパラメータ符号化部と
を備える画像符号化装置。
【請求項２７】
符号化ピクチャをブロック毎に逆変換し、
ループ内フィルタを用いて逆変換済みの前記ブロックを再構築し、
前記符号化ピクチャ内の復号済みの画素を用いたイントラ予測又は他の符号化ピクチャ内の復号済みの画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを復号する画像復号装置であって、
非線形フィルタの演算パラメータを復号するパラメータ復号部と、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、復号された前記演算パラメータを有する前記非線形フィルタを用いた、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を復号する画像復号部と
を備える画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像符号化方法及び画像復号方法に関するものである。
【背景技術】
【０００２】
画像（動画像を含む）を符号化する画像符号化方法、または、画像を復号する画像復号方法に関する技術として、非特許文献１に記載の技術がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 12th Meeting: Geneva, CH, 14-23 Jan. 2013 JCTVC-L1003_v34.doc, High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call)  http://phenix.it-sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip
【発明の概要】
【０００４】
しかしながら、従来技術に係る画像符号化方法または画像復号方法において、非効率的な処理が用いられる場合がある。
【０００５】
そこで、本開示は、画像を効率的に符号化する画像符号化方法、または、画像を効率的に復号する画像復号方法を提供する。
【０００６】
本開示の一態様に係る画像符号化方法は、ピクチャをブロック毎に変換し、ループ内フィルタを用いて変換済みの前記ブロックを再構築し、前記ピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、前記ブロックを符号化する画像符号化方法であって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を符号化し、前記非線形処理に用いられる非線形フィルタの演算パラメータを符号化する。
【０００７】
なお、この包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【０００８】
本開示の画像符号化方法は、画像を効率的に符号化することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１における画像符号化装置の構成を示すブロック図である。
【図２】図２は、実施の形態１における画像符号化装置による画像符号化の全体の処理を示すフローチャートである。
【図３】図３は、図２のステップＳ１１１におけるブロック符号化の詳細を示すフローチャートである。
【図４】図４は、図３のステップＳ１２１におけるイントラ予測ブロック生成の詳細を示すフローチャートである。
【図５】図５は、図３のステップＳ１２２におけるインター予測ブロック生成の詳細を示すフローチャートである。
【図６】図６は、図３のステップＳ１３１におけるループ内フィルタの詳細を示すフローチャートである。
【図７】図７は、図２のステップＳ１０６におけるＮＮイントラ予測パラメータ決定の詳細を示すフローチャートである。
【図８】図８は、図２のステップＳ１０８におけるＮＮインター予測パラメータ決定の詳細を示すフローチャートである。
【図９】図９は、図２のステップＳ１１０におけるＮＮループ内フィルタパラメータ決定の詳細を示すフローチャートである。
【図１０】図１０は、実施の形態１における、ＮＮイントラ予測の参照画素と符号化対象ブロックとの関係を示した図である。
【図１１】図１１は、実施の形態１における、ＮＮインター予測の参照画素と符号化対象ブロックの関係を示した図である。
【図１２】図１２は、実施の形態１におけるＮＮループ内フィルタの１例を示す図である。
【図１３】図１３は、実施の形態１におけるＮＮイントラ予測の１例を示す図である。
【図１４】図１４は、実施の形態１におけるＮＮインター予測の１例を示す図である。
【図１５】図１５は、実施の形態１におけるＳＰＳ（シーケンスパラメータセット）に関するシンタックスを示す図である。
【図１６】図１６は、実施の形態１におけるＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタで使用するパラメータ情報のシンタックスを示す図である。
【図１７】図１７は、実施の形態１におけるＰＰＳ（ピクチャパラメータセット）のシンタックスを示す図である。
【図１８】図１８は、実施の形態１におけるスライスヘッダのシンタックスを示す図である。
【図１９】図１９は、実施の形態１におけるＮＮイントラ予測のパラメータデータのシンタックスを示す図である。
【図２０】図２０は、実施の形態１におけるＮＮインター予測のパラメータデータのシンタックスを示す図である。
【図２１】図２１は、実施の形態１におけるＮＮループ内フィルタのパラメータデータのシンタックスを示す図である。
【図２２】図２２は、実施の形態１におけるＣＵ（符号化ブロック）のシンタックスを示す図である。
【図２３】図２３は、実施の形態１におけるＣＵのシンタックスの変形例であって、ＮＮイントラ予測モードを固定イントラ予測モードとマージしたシンタックスを示す図である。
【図２４】図２４は、実施の形態１におけるＣＵのシンタックスの変形例における、intra_pred_modeと、予測タイプと、固定イントラ予測モードと、ＮＮイントラ予測モードとの関係の例を示す図である。
【図２５】図２５は、実施の形態１におけるＣＵのシンタックスの変形例における、intra_pred_modeと、予測タイプと、固定イントラ予測モードと、ＮＮイントラ予測モードとの関係の他の例を示す図である。
【図２６】図２６は、実施の形態１におけるＣＵのシンタックスの他の変形例であって、ＭＶの小数精度でＮＮインター予測モードを抽出する例を示す図である。
【図２７】図２７は、実施の形態１における、プロファイルおよび要求に応じて、ＮＮの有効／無効を切換える処理を示すフローチャートである。
【図２８】図２８は、実施の形態１における、プロファイルおよび要求に応じて、パラメータなどを設定する処理を示すフローチャートである。
【図２９】図２９は、実施の形態２における画像復号装置の構成を示すブロック図である。
【図３０】図３０は、実施の形態２における画像復号装置による画像復号の全体の処理を示すフローチャートである。
【図３１】図３１は、図３０のステップＳ２２７におけるブロック復号の詳細を示すフローチャートである。
【図３２】図３２は、図３１のステップＳ２３５におけるイントラ補償ブロック生成の詳細を示すフローチャートである。
【図３３】図３３は、図３１のステップＳ２３６におけるインター補償ブロック生成の詳細を示すフローチャートである。
【図３４】図３４は、図３１のステップＳ２３８におけるループ内フィルタの詳細を示すフローチャートである。
【図３５】図３５は、実施の形態３における画像符号化装置の構成を示すブロック図である。
【図３６】図３６は、実施の形態３におけるイントラ予測部およびＮＮ処理切換部によるイントラ予測ブロック生成の詳細を示すフローチャートである。
【図３７】図３７は、実施の形態３におけるインター予測部およびＮＮ処理切換部によるインター予測ブロック生成の詳細を示すフローチャートである。
【図３８】図３８は、実施の形態３におけるループ内フィルタ部およびＮＮ処理切換部によるループ内フィルタの詳細を示すフローチャートである。
【図３９】図３９は、実施の形態３における変換部による周波数変換の詳細を示すフローチャートである。
【図４０】図４０は、実施の形態３におけるＮＮイントラ予測パラメータ決定部によるＮＮイントラ予測パラメータ決定の詳細を示すフローチャートである。
【図４１】図４１は、実施の形態３におけるＮＮインター予測パラメータ決定部によるＮＮインター予測パラメータ決定の詳細を示すフローチャートである。
【図４２】図４２は、実施の形態３におけるＮＮループ内フィルタパラメータ決定部によるＮＮループ内フィルタパラメータ決定の詳細を示すフローチャートである。
【図４３】図４３は、実施の形態３におけるＣＵシンタックスを示す図である。
【図４４】図４４は、実施の形態４における画像復号装置の構成を示すブロック図である。
【図４５】図４５は、実施の形態４におけるイントラ補償部およびＮＮ処理切換部によるイントラ補償ブロック生成の詳細を示すフローチャートである。
【図４６】図４６は、実施の形態４におけるインター補償部およびＮＮ処理切換部によるインター補償ブロック生成の詳細を示すフローチャートである。
【図４７】図４７は、実施の形態４におけるループ内フィルタ部およびＮＮ処理切換部によるループ内フィルタの詳細を示すフローチャートである。
【図４８】図４８は、実施の形態４における逆変換部による逆周波数変換の詳細を示すフローチャートである。
【図４９】図４９は、実施の形態５における画像符号化装置の構成を示すブロック図である。
【図５０】図５０は、図５９のステップＳ４９２におけるＮＮイントラ予測パラメータ符号化の詳細を示すフローチャートである。
【図５１】図５１は、図５０のステップＳ４０５におけるパラメータ非参照タイプ符号化の詳細を示すフローチャートである。
【図５２】図５２は、図５０のステップＳ４０６におけるパラメータ参照タイプ符号化の詳細を示すフローチャートである。
【図５３】図５３は、図５２のステップＳ４３０におけるパラメータ参照タイプ階層数符号化の詳細を示すフローチャートである。
【図５４】図５４は、図５２のステップＳ４４７におけるパラメータ参照タイプノード数符号化の詳細を示すフローチャートである。
【図５５】図５５は、図５２のステップＳ４４９におけるパラメータ参照タイプバイアス値符号化の詳細を示すフローチャートである。
【図５６】図５６は、図５２のステップＳ４５１におけるパラメータ参照タイプ重み係数符号化の詳細を示すフローチャートである。
【図５７】図５７は、実施の形態５におけるＮＮイントラ予測のパラメータデータのシンタックスを示す図である。
【図５８】図５８は、実施の形態５におけるＮＮイントラ予測のパラメータデータのシンタックスを示す図である。
【図５９】図５９は、実施の形態５における画像符号化装置による画像符号化の全体の処理を示すフローチャートである。
【図６０】図６０は、実施の形態６における画像復号装置の構成を示すブロック図である。
【図６１】図６１は、図６８のステップＳ６０２におけるＮＮイントラ予測パラメータ復号の詳細を示すフローチャートである。
【図６２】図６２は、図６１のステップＳ５０５におけるパラメータ非参照タイプ復号の詳細を示すフローチャートである。
【図６３】図６３は、図６１のステップＳ５０６におけるパラメータ参照タイプ復号の詳細を示すフローチャートである。
【図６４】図６４は、図６３のステップＳ５４０におけるパラメータ参照タイプ階層数復号の詳細を示すフローチャートである。
【図６５】図６５は、図６３のステップＳ５４７におけるパラメータ参照タイプノード数復号の詳細を示すフローチャートである。
【図６６】図６６は、図６３のステップＳ５４９におけるパラメータ参照タイプバイアス値復号の詳細を示すフローチャートである。
【図６７】図６７は、図６３のステップＳ５５１におけるパラメータ参照タイプ重み係数復号の詳細を示すフローチャートである。
【図６８】図６８は、実施の形態６における画像復号装置による画像復号の全体の処理を示すフローチャートである。
【図６９Ａ】図６９Ａは、本開示の一態様に係る画像符号化装置のブロック図である。
【図６９Ｂ】図６９Ｂは、本開示の一態様に係る画像符号化方法のフローチャートである。
【図７０Ａ】図７０Ａは、本開示の一態様に係る画像復号装置のブロック図である。
【図７０Ｂ】図７０Ｂは、本開示の一態様に係る画像復号方法のフローチャートである。
【図７１】図７１は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。
【図７２】図７２は、デジタル放送用システムの全体構成図である。
【図７３】図７３は、テレビの構成例を示すブロック図である。
【図７４】図７４は、光ディスクである記録メディアに情報の読み書きを行う情報再生／記録部の構成例を示すブロック図である。
【図７５】図７５は、光ディスクである記録メディアの構造例を示す図である。
【図７６Ａ】図７６Ａは、携帯電話の一例を示す図である。
【図７６Ｂ】図７６Ｂは、携帯電話の構成例を示すブロック図である。
【図７７】図７７は、多重化データの構成を示す図である。
【図７８】図７８は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。
【図７９】図７９は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。
【図８０】図８０は、多重化データにおけるＴＳパケットとソースパケットの構造を示す図である。
【図８１】図８１は、ＰＭＴのデータ構成を示す図である。
【図８２】図８２は、多重化データ情報の内部構成を示す図である。
【図８３】図８３は、ストリーム属性情報の内部構成を示す図である。
【図８４】図８４は、映像データを識別するステップを示す図である。
【図８５】図８５は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。
【図８６】図８６は、駆動周波数を切り替える構成を示す図である。
【図８７】図８７は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。
【図８８】図８８は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。
【図８９Ａ】図８９Ａは、信号処理部のモジュールを共有化する構成の一例を示す図である。
【図８９Ｂ】図８９Ｂは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
【発明を実施するための形態】
【００１０】
（本開示の基礎となった知見）
本発明者は、「背景技術」の欄において記載した、画像を符号化する画像符号化装置、または画像を復号する画像復号装置に関して、以下の問題が生じることを見出した。
【００１１】
近年、デジタル映像機器の技術進歩が著しく、ビデオカメラやテレビチューナから入力した映像信号（時系列順に並んだ複数のピクチャ）を圧縮符号化し、ＤＶＤやハードディスク等の記録メディアに記録する機会が増えている。画像符号化規格としてはＨ．２６４／ＡＶＣ（ＭＰＥＧ−４  ＡＶＣ）があるが、次世代の標準規格としてＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格（非特許文献１）が規格化された。
【００１２】
ＨＥＶＣ規格（非特許文献１）における画像符号化方法は、符号化画像を予測するステップ、予測画像と符号化対象画像の差分を求めるステップ、差分画像を周波数係数に変換するステップ、周波数係数を量子化するステップ、周波数係数や予測情報を算術符号化するステップ、符号化した画像を復号するステップ、および、復号した画像に対してフィルタ処理を施すループ内フィルタステップで構成される。予測ステップでは、画面内から予測するイントラ予測と、画面間で予測するインター予測がある。イントラ予測、インター予測、およびループ内フィルタは、いずれも周辺画素の重み付け線形和で表現されるフィルタで実現し、フィルタ計算には数パターンの固定のフィルタ係数を使用する。
【００１３】
しかしながら、線形フィルタまたは固定のフィルタ係数では、予測画像と符号化対象画像との誤差を小さく出来ない場合があり、その場合に符号量が大きくなる、もしくは画質が劣化するという課題があった。
【００１４】
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。
【００１５】
（実施の形態１）
＜全体構成＞
図１は、本実施の形態における画像符号化装置の構成を示すブロック図である。
【００１６】
本実施の形態における画像符号化装置１００は、ブロック分割部１０１、減算部１０２、変換部１０３、量子化部１０４、可変長符号化部１０５、逆変換部１０６、逆量子化部１０７、加算部１０８、ＮＮパラメータ決定部１０９、イントラ予測部１１０、インター予測部１１１、フレームメモリ１１２、およびループ内フィルタ部１１３を備える。なお、本開示において、ＮＮは、ニューラルネットワークを意味する。以下、これらの構成要素の処理を、フローチャートなどを用いて説明する。
【００１７】
＜動作（全体）＞
図２は、画像符号化装置１００による画像符号化の全体の処理を示すフローチャートである。
【００１８】
まず、ＮＮパラメータ決定部１０９は、符号化対象画像または符号化対象画像群（シーケンス）を分析し、ＮＮイントラ予測パラメータ切換え単位、ＮＮインター予測パラメータ切換え単位、およびＮＮループ内フィルタパラメータ切換え単位（以下、これらを総称してＮＮパラメータ切換え単位という）を決定する（Ｓ１０１、Ｓ１０２、Ｓ１０３）。例えば、ＮＮパラメータ決定部１０９は、画像の各ブロックの画素分散または平均値等を求め、符号化順でブロックの傾向が異なるタイミングをパラメータ切換えタイミングに設定する。ＮＮパラメータ切換え単位としては、ＣＵ、ＣＴＵ、スライス、タイル、ピクチャ、またはＧＯＰがある。
【００１９】
次に、ブロック分割部１０１は、入力画像をブロックに分割し、ブロックを順次、減算部１０２とイントラ予測部１１０とインター予測部１１１に出力する（Ｓ１０４）。
【００２０】
次に、ＮＮイントラ予測パラメータ決定部１０９ａは、符号化対象ブロックのタイミングがＮＮイントラ予測パラメータ切換えタイミングかどうかを判定し、ＮＮイントラ予測パラメータ切換えタイミングであれば、ＮＮイントラ予測パラメータを決定する（Ｓ１０５、Ｓ１０６）。同様に、ＮＮインター予測パラメータ決定部１０９ｂは、符号化対象ブロックのタイミングがＮＮインター予測パラメータ切換えタイミングかどうかを判定し、ＮＮインター予測パラメータ切換えタイミングであれば、ＮＮインター予測パラメータを決定する（Ｓ１０７、Ｓ１０８）。同様に、ＮＮループ内フィルタパラメータ決定部１０９ｃは、符号化対象ブロックのタイミングがＮＮループ内フィルタパラメータ切換えタイミングかどうかを判定し、ＮＮループ内フィルタパラメータ切換えタイミングであればＮＮループ内フィルタパラメータを決定する（Ｓ１０９、Ｓ１１０）。それぞれのパラメータの決定に関しての詳細は後述する。次に、画像符号化装置１００は、ブロックを符号化し（Ｓ１１１）、符号化対象画像内の全ブロックの符号化が完了するまでステップＳ１０５からＳ１１１を繰り返す（Ｓ１１２）。
【００２１】
なお、ＮＮパラメータ切換え単位は、ＮＮイントラ予測、ＮＮインター予測、ＮＮループ内フィルタのうちの少なくとも２つの間で同一にしてもよい。例えば、ＮＮイントラ予測およびＮＮインター予測では、ＮＮパラメータ切換え単位をスライスとし、ＮＮループ内フィルタでは、ＮＮパラメータ切換え単位をピクチャとしてもよい。
【００２２】
また、上述のＮＮイントラ予測パラメータ切換えタイミングなどのパラメータ切換えタイミングは、直前に符号化されたブロックを含むＮＮパラメータ切換え単位とは異なる新たなＮＮパラメータ切換え単位に含まれるブロックが符号化対象ブロックとして符号化されるタイミングである。
【００２３】
＜動作（ブロック符号化フロー）＞
図３は、図２のステップＳ１１１におけるブロック符号化の詳細を示すフローチャートである。
【００２４】
まず、イントラ予測部１１０およびインター予測部１１１は、イントラ予測ブロックおよびインター予測ブロックを生成する（Ｓ１２１、Ｓ１２２）。詳細は後述する。
【００２５】
次に、画像符号化装置１００は、イントラ予測ブロックおよびインター予測ブロックのうちのいずれかを選択することによって、予測ブロックを決定する（Ｓ１２３）。減算部１０２は、符号化対象ブロックから予測ブロックを減算して差分ブロックを生成する（Ｓ１２４）。変換部１０３は、差分ブロックを周波数変換し（Ｓ１２５）、量子化部１０４は、周波数変換によって得られた複数の周波数係数を量子化する（Ｓ１２６）。可変長符号化部１０５は、量子化によって得られた複数の量子化値を可変長符号化することによって符号列を生成する（Ｓ１２７）。また、逆量子化部１０７は、量子化によって得られた複数の量子化値を逆量子化し（Ｓ１２８）、逆変換部１０６は、その逆量子化によって得られた複数の周波数係数を逆周波数変換する（Ｓ１２９）。加算部１０８は、逆周波数変換によって得られた復号差分ブロックに予測ブロックを加算することによって、復元ブロックを生成する（Ｓ１３０）。また、ループ内フィルタ部１１３は、復元ブロックに対してループ内フィルタを実施し、フレームメモリ１１２に格納する（Ｓ１３１）。ループ内フィルタについては後述する。
【００２６】
＜動作（イントラ予測ブロック生成フロー）＞
図４は、図３のステップＳ１２１におけるイントラ予測ブロック生成の詳細を示すフローチャートである。なお、このイントラ予測ブロック生成は、イントラ予測部１１０によって行われる。
【００２７】
まず、固定イントラ予測部１１０ｂは、固定フィルタによるイントラ予測を実施する（Ｓ１４１）。これは従来のＨＥＶＣと同様であるため、説明を省略する。
【００２８】
次に、ＮＮイントラ予測部１１０ａは、ＮＮイントラ予測モードが有効であるか否かを判定し（Ｓ１４２）、有効であれば、イントラ予測を実施する（Ｓ１４３）。ＮＮイントラ予測部１１０ａは、ＮＮイントラ予測パラメータ決定部１０９Ａａによって決定したパラメータを、イントラ予測に用いる。詳細は後述するが、パラメータはクラス毎に存在し、ＮＮイントラ予測部１１０ａは、１クラスを１モードとして使用し、予測精度が高く（予測画像と符号化対象画像との差異が小さい）、予測モード識別子の符号量が小さい予測モードを選択して用いることにより、ＮＮイントラ予測の結果を得る。次に、イントラ予測部１１０は、ＮＮイントラ予測評価値と固定イントラ予測評価値とを比較する（Ｓ１４４）。そして、イントラ予測部１１０は、ＮＮイントラ予測評価値の方が大きい場合は、ＮＮイントラ予測結果をイントラ予測ブロックに設定し（Ｓ１４５）、そうでない場合は、固定イントラ予測結果をイントラ予測ブロックに設定する（Ｓ１４６）。評価値は、予測画像（イントラ予測ブロック）と符号化対象画像（符号化対象ブロック）との差異が小さければ大きい値となり、また、予測に必要なパラメータ（ＮＮイントラ予測の場合は必要な重み係数またはバイアス値等）の符号量が小さい程大きい値になる。
【００２９】
＜動作（インター予測ブロック生成フロー）＞
図５は、図３のステップＳ１２２におけるインター予測ブロック生成の詳細を示すフローチャートである。この図５のフローチャートにおけるステップＳ１５１〜Ｓ１５６は、図４のイントラ予測ブロック生成のフローチャートにおけるステップＳ１４１〜Ｓ１４６とほぼ同じであり、ＮＮイントラ予測および固定イントラ予測を、ＮＮインター予測および固定インター予測に読み替えるだけであるので説明を省略する。
【００３０】
＜動作（ループ内フィルタフロー）＞
図６は、図３のステップＳ１３１におけるループ内フィルタの詳細を示すフローチャートである。この図６のフローチャートにおけるステップＳ１６１〜Ｓ１６４は、図４のイントラ予測ブロック生成のフローチャートにおけるステップＳ１４１〜Ｓ１４４とほぼ同じであり、ＮＮイントラ予測および固定イントラ予測を、ＮＮループ内フィルタおよび固定ループ内フィルタに読み替えるだけであるので説明を省略する。図６のフローチャートにおけるステップＳ１６５およびＳ１６６では、ループ内フィルタ部１１３は、評価値が良い方のフィルタ結果をフレームメモリ１１２に格納する。
【００３１】
＜動作（ＮＮイントラ予測パラメータ決定フロー）＞
図７は、図２のステップＳ１０６におけるＮＮイントラ予測パラメータ決定の詳細を示すフローチャートである。
【００３２】
まず、ＮＮイントラ予測パラメータ決定部１０９ａは、ＮＮイントラ予測パラメータ切換え単位内の複数の符号化対象ブロックのそれぞれを複数クラスのうちの何れかのクラスに分類する（Ｓ１７１）。例えば、ＮＮイントラ予測パラメータ切換え単位がピクチャであれば、ＮＮイントラ予測パラメータ決定部１０９ａは、ピクチャ内の符号化対象ブロックを分類する。分類は、ブロックの特徴情報を用いて実施される。例えば、符号化対象ブロックは、画素分散または画素の分布を用いて分類される。
【００３３】
次に、ＮＮイントラ予測パラメータ決定部１０９ａは、分類したクラス毎にＮＮイントラ予測のパラメータを決定する（Ｓ１７２）。詳細を図１０と図１３を用いて説明する。
【００３４】
図１０の（ａ）は、ＮＮイントラ予測の参照画素と、符号化対象ブロックとの関係を示した図である。一つの四角は１画素を示す。このように、ＮＮイントラ予測パラメータ決定部１０９ａは、符号化対象ブロックの上隣の画素と左隣の画素を参照画素として使用する。
【００３５】
図１３は、ＮＮイントラ予測の１例を示す図である。このＮＮイントラ予測は、ニューラルネットワークの構成をとり、左端の１１個の丸は入力する参照画素を示し、図１０の（ａ）の参照画素０〜参照画素１０に対応する。右端の１６個の丸は、出力する予測画素を示し、図１０の（ａ）の符号化対象ブロック位置の番号０〜１５に対応する予測画素である。図７のステップＳ１７２のＮＮイントラ予測のパラメータ決定では、ＮＮイントラ予測パラメータ決定部１０９ａは、図１３に示すニューラルネットワークの階層数、ノード数、重み係数、およびバイアス値を決定する。階層数（nn_intra_layer_num[k]）は、モード（クラス）ｋにおける階層数、つまり図１３の横方向の段数である。ノード数（nn_intra_node_num[k][]）は、各階層の縦方向のノードの個数である。例えば、ノード数（nn_intra_node_num[k][0]）は、モード（クラス）ｋにおける第０階層のノード数（図１３の例では、ノード数は４）である。重み係数（nn_intra_w[k][][][]）は、モード（クラス）ｋにおける各ノードの入力値に乗算する係数である。例えば、重み係数（nn_intra_w[k][0][0][2]）は、モード（クラス）ｋにおける第０階層の第０番目のノード（n[k][0][0]）に対する第２番目の入力値（参照画素２または入力ノードｒ２の値）に乗算する係数である。バイアス値（nn_intra_bias[k][][]）は、入力値の重み付け和に加算する値である。例えば、バイアス値（nn_intra_bias[k][1][1]）は、モード（クラス）ｋにおける第１階層の第１番目のノード（n[k][1][1]）において、入力値（入力ノードn[k][0][0]〜n[k][0][3]の各値）の重み付け和に加算する値である。各ノードの出力値は次の式で表現できる。
【００３６】
【数１】
2016199330.tif 000003
【００３７】
ここで、wは重み係数、biasはバイアス値、nはノードの出力値、n’はノード出力値計算時の一時的な変数である。また、intra_pred_ref_pixel_numは参照画素数を示し、この例では１１である。なお、intra_pred_ref_pixel_numは、モード（ｋ）または予測画素数に応じて異なっていてもよい。また、nn_intra_node_numは、ノード数を示し、この例では第一階層において４であり、第二階層において３である。また、[k]はクラス（モード）を示す。図７のステップＳ１７１の分類で、各ブロックを３つのクラスに分けた場合は、ＮＮイントラ予測パラメータ決定部１０９ａは、３つのクラスのそれぞれで、図１３のようなネットワーク構成を構築し、[k]は０〜２の値をとることになる。
【００３８】
図７のステップＳ１７２のＮＮイントラ予測パラメータの決定では、ＮＮイントラ予測パラメータ決定部１０９ａは、同じクラスの符号化対象ブロックとその参照画素（周辺画素）のペアを教師データとして学習し、参照画素から符号化対象ブロックを生成（予測）する重み係数およびバイアス値を算出する。より具体的には、ＮＮイントラ予測パラメータ決定部１０９ａは、参照画素を入力し、出力する予測画素が符号化対象ブロックに近くなるよう（誤差が小さくなるよう）に誤差逆伝搬法等を用いて重み係数とバイアス値を更新していき、入力データ（同じクラスの符号化対象ブロックとその周辺画素のペア群）に対して最も予測誤差が小さくなるような重み係数およびバイアス値を算出する。ＮＮイントラ予測パラメータ決定部１０９ａは、このような処理を、階層数およびノード数を変更した複数パターンで実施し、予測精度が高い、階層数、ノード数、重み係数およびバイアス値の組み合わせを見つけ出す。なお、階層数、ノード数、重み係数およびバイアス値は符号化されて符号列に組み込まれるため、ＮＮイントラ予測パラメータ決定部１０９ａは、予測精度だけでなく、階層数、ノード数、重み係数およびバイアス値の符号量も考慮して最適な組み合わせを導き出す。ＮＮイントラ予測パラメータ決定部１０９ａは、ステップＳ１７２の処理をすべてのクラスに対して実施する（Ｓ１７３）。
【００３９】
＜動作（ＮＮインター予測パラメータ決定フロー）＞
図８は、図２のステップＳ１０８におけるＮＮインター予測パラメータ決定の詳細を示すフローチャートである。
【００４０】
まず、ＮＮインター予測パラメータ決定部１０９ｂは、符号化対象ブロック毎に参照画像内から最も相関が高い参照ブロックを抽出し、これをＮＮインター予測パラメータ切換え単位内の全符号化対象ブロックで実施する（Ｓ１８１、Ｓ１８２）。ＮＮインター予測パラメータ決定部１０９ｂは、相関計算には、例えば画素の差分絶対値和を用い、差分絶対値和が小さいブロックを相関が高いブロックとして抽出する。
【００４１】
次に、ＮＮインター予測パラメータ決定部１０９ｂは、符号化対象ブロックとその参照ブロックの相関に応じて、複数の符号化対象ブロックのそれぞれを複数クラスのうちの何れかのクラスに分類する（Ｓ１８３）。例えば、ＮＮインター予測パラメータ決定部１０９ｂは、画素の差分絶対値和が小さいものと大きいものを分類したり、画素毎の差分の分散または平均等を用いて分類する。
【００４２】
次に、ＮＮインター予測パラメータ決定部１０９ｂは、分類したクラス毎に、ＮＮインター予測のパラメータを決定する（Ｓ１８４）。詳細を図１１と図１４を用いて説明する。
【００４３】
図１１は、ＮＮインター予測の参照画素と符号化対象ブロックの関係を示した図である。一つの四角は１画素を示す。図１１のように、ＮＮインター予測パラメータ決定部１０９ｂは、符号化対象ブロックの１画素の予測に１３画素の参照画像内の画素を用いる。ここで、動きベクトルは参照画像内で最も相関が高いブロック位置を指し示すための情報である。ＮＮインター予測パラメータ決定部１０９ｂは、最も相関が高いブロック位置の周辺画素を参照画素として使用する。
【００４４】
図１４は、ＮＮインター予測の１例を示す図である。このＮＮネットワーク予測は、ＮＮイントラ予測と同様に、ニューラルネットワークの構成をとり、左端の１３個の丸は入力する参照画素を示し、図１１の参照画素０〜参照画素１２に対応する。右端の１個の丸は出力する予測画素を示し、図１１の符号化対象ブロック位置の番号０に対応する予測画素である。図８のステップＳ１８４のＮＮインター予測のパラメータ決定では、ＮＮインター予測パラメータ決定部１０９ｂは、図１４に示すニューラルネットワークの階層数、ノード数、重み係数、およびバイアス値を決定する。階層数、ノード数、重み係数、バイアス値及び各ノードの出力値の計算方法は、図１３と同様であるため、説明を省略する。ただし、ＮＮイントラ予測とは異なり、ＮＮインター予測パラメータ決定部１０９ｂは、１３個の参照画素を入力し、１画素の予測画素を生成する。４ｘ４ブロックの予測画素を生成したい場合は、ＮＮインター予測パラメータ決定部１０９ｂは、参照画素位置を１画素ずつずらしながら図１４のニューラルネットワークに入力し、１６回繰り返して１６個の予測画素を生成することになる。図８のステップＳ１８４のＮＮインター予測のパラメータ決定では、ＮＮインター予測パラメータ決定部１０９ｂは、同じクラスの符号化対象画素とその参照画素のペアを教師データとして学習し、参照画素から符号化対象画素を生成（予測）する階層数、ノード数、重み係数およびバイアス値を算出する。ＮＮインター予測パラメータ決定部１０９ｂは、ステップＳ１８４の処理をすべてのクラスに対して実施する（Ｓ１８５）。
【００４５】
＜動作（ＮＮループ内フィルタパラメータ決定フロー）＞
図９は、図２のステップＳ１１０におけるＮＮループ内フィルタパラメータ決定の詳細を示すフローチャートである。また、図１２は、ＮＮループ内フィルタの１例を示す図である。なお、図９のフローチャートにおいてＮＮループ内フィルタパラメータ決定部１０９ｃが行うステップＳ１９１〜Ｓ１９３の処理は、図７に示すＮＮイントラ予測パラメータ決定のフローチャートにおけるステップＳ１７１〜Ｓ１７３の処理と同様である。したがって、図９のフローチャートの説明を省略する。ただし、ＮＮループ内フィルタパラメータ決定部１０９ｃは、図１２に示すように符号化対象画素の周辺の１３画素を参照画素として使用する。また、ＮＮループ内フィルタのネットワーク構成は、ＮＮインター予測と同様に、図１４のような構成をとる。ＮＮループ内フィルタパラメータ決定部１０９ｃは、ＮＮインター予測と同様に、クラス毎に参照画素と符号化対象画素を教師データとして学習し、参照画素から符号化対象画素を生成する階層数、ノード数、重み係数、およびバイアス値を算出する。
【００４６】
＜シンタックス構成＞
図１５〜図２２を用いて、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタに関して、符号化する情報を説明する。
【００４７】
図１５は、ＳＰＳ（シーケンスパラメータセット）に関するシンタックスを示す図である。nn_intra_pred_enabled_flag、nn_inter_pred_enabled_flag、およびnn_ilf_enabled_flagはそれぞれＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタが有効かどうかを示すフラグ（有効／無効情報）である。つまり、これらの有効／無効情報は、図４のステップＳ１４２、図５のステップＳ１５２または図６のステップＳ１６２において、処理が有効か否かを判定するための情報である。また、これらの有効／無効情報は、ＰＰＳに存在してもよく、スライスヘッダまたはＣＴＵ（Coding Tree Unit）に存在してもよい。
【００４８】
図１６は、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタで使用するパラメータ情報のシンタックスを示す図である。nps_idは、このデータセットに関する識別子である。画像符号化装置１００は、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタを行う場合は、nps_idを指定することにより、必要な演算パラメータを取得する。nps_nn_intra_pred_data_present_flag、nps_nn_inter_pred_data_present_flag、およびnps_nn_ilf_data_present_flagはそれぞれ、ＮＮイントラ予測のパラメータ（nn_intra_pred_parameter_data()）、ＮＮインター予測のパラメータ（nn_inter_pred_parameter_data()）、およびＮＮループ内フィルタのパラメータ（nn_ilf_parameter_data()）をこのシンタックス内に含んでいるかどうかを示すフラグである。これらのフラグが１の場合は、可変長符号化部１０５は、後述するnn_intra_pred_parameter_data()、nn_inter_pred_parameter_data()、およびnn_ilf_parameter_data()によって、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタに使用する、階層数、ノード数、重み係数、およびバイアス値に関する情報（演算パラメータ）を符号化する。
【００４９】
図１７は、ＰＰＳ（ピクチャパラメータセット）のシンタックスを示す図である。nn_intra_pred_enabled_flag、nn_inter_pred_enabled_flag、およびnn_ilf_enabled_flagのいずれかが１の場合、つまりＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタのいずれかが有効である場合に、可変長符号化部１０５は、pps_nps_idを符号化する。画像符号化装置１００は、このＰＰＳを使用するピクチャでは、pps_nps_idと一致するnps_idの演算パラメータを用いて、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタを実施する。
【００５０】
図１８は、スライスヘッダのシンタックスを示す図である。nn_intra_pred_enabled_flag、nn_inter_pred_enabled_flag、およびnn_ilf_enabled_flagのいずれかが１の場合、つまりＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタのいずれかが有効である場合に、可変長符号化部１０５は、slice_nps_idを符号化する。画像符号化装置１００は、このスライスヘッダを使用するスライスでは、slice_nps_idと一致するnps_idの演算パラメータを用いて、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタを実施する。なお、画像符号化装置１００は、pps_nps_idとslice_nps_idが異なる値の場合はslice_nps_idの値を優先して使用する。
【００５１】
図１９は、ＮＮイントラ予測のパラメータデータのシンタックスを示す図である。nn_intra_mode_numは、ＮＮイントラ予測のモード数を示し、図７のステップＳ１７１において分類したクラス数に対応する。nn_intra_layer_num[k]は、ＮＮイントラ予測の階層数を示し、[k]はＮＮイントラ予測のk番目のモードであることを示す。nn_intra_node_num[k][i]は、k番目のモードのi番目の階層のノード数を示す。nn_intra_bias[k][i][j]は、k番目のモードのi番目の階層のｊ番目のノードのバイアス値を示す。nn_intra_w[k][i][j][m]は、k番目のモードのi番目の階層のｊ番目のノードのm番目の入力の重み係数を示す。このように、可変長符号化部１０５は、図１９のシンタックスによって、図１３のネットワーク構成のパラメータ情報（演算パラメータ）を符号化する。
【００５２】
図２０は、ＮＮインター予測のパラメータデータのシンタックスを示す図である。図２１は、ＮＮループ内フィルタのパラメータデータのシンタックスを示す図である。可変長符号化部１０５は、図１９のＮＮイントラ予測と同様に、図１４のネットワーク構成のパラメータ情報を符号化する。
【００５３】
図２２は、ＣＵ（符号化ブロック）のシンタックスを示す図である。intra_pred_typeは、ＮＮイントラ予測および固定イントラ予測のどちらを使用したかを示す情報である。可変長符号化部１０５は、図４のＳ１４４でＮＮイントラ予測の評価値が大きい場合は、NN_INTRA_PREDを示すintra_pred_typeを符号化し、固定イントラ予測の評価値が大きい場合は、FIXED_INTRA_PREDを示すintra_pred_typeを符号化する。なお、nn_intra_pred_enabled_flagによってＮＮイントラ予測が無効である場合は、可変長符号化部１０５は、intra_pred_typeを符号化しない。この場合、デコード側では常に固定イントラ予測を実施するよう動作する。また、ＮＮイントラ予測を使用した場合は、可変長符号化部１０５は、nn_intra_pred_modeとして、ＮＮイントラ予測のモードを符号化する。固定イントラ予測を使用した場合は、可変長符号化部１０５は、fixed_intra_pred_modeとして、固定イントラ予測のモードを符号化する。nn_intra_pred_modeは、図４のＳ１４３のＮＮイントラ予測でどのクラス（モード）の演算パラメータを選択したかを示す情報であり、図１３の[k]に対応する。また、fixed_intra_pred_modeは、ＨＥＶＣのイントラ予測の予測方向に対応し、固定イントラ予測部１１０ｂは、複数あるフィルタ係数のセットをfixed_intra_pred_modeによって切り替える。
【００５４】
また、inter_pred_typeは、ＮＮインター予測および固定インター予測のどちらを使用したかを示す情報である。可変長符号化部１０５は、図５のＳ１５４でＮＮインター予測の評価値が大きい場合は、NN_INTER_PREDを示すinter_pred_typeを符号化し、固定インター予測の評価値が大きい場合は、FIXED_INTER_PREDを示すinter_pred_typeを符号化する。なお、nn_inter_pred_enabled_flagによってＮＮインター予測が有効でない場合は、可変長符号化部１０５は、inter_pred_typeを符号化しない。この場合、デコード側では常に固定インター予測を実施するよう動作する。また、ＮＮインター予測を使用した場合は、可変長符号化部１０５は、nn_inter_pred_modeとして、ＮＮインター予測のモードを符号化する。nn_inter_pred_modeは、図５のＳ１５３のＮＮインター予測でどのクラス（モード）の演算パラメータを選択したかを示す情報であり、図１４の[k]に対応する。また、prediction_unit()では、可変長符号化部１０５は、HEVCと同様に動きベクトルや参照画像インデックスを符号化する。
【００５５】
また、ilf_typeは、ＮＮループ内フィルタおよび固定ループ内フィルタのどちらを使用したかを示す情報である。可変長符号化部１０５は、図６のＳ１６４でＮＮループ内フィルタの評価値が大きい場合は、NN_ILFを示すilf_typeを符号化し、固定ループ内フィルタの評価値が大きい場合は、FIXED_ILFを示すilf_typeを符号化する。なお、nn_ilf_enabled_flagによってＮＮループ内フィルタが有効でない場合は、可変長符号化部１０５は、ilf_typeを符号化しない。この場合、デコード側では常に固定ループ内フィルタを実施するよう動作する。また、ＮＮループ内フィルタを使用した場合は、可変長符号化部１０５は、nn_ilf_modeとしてＮＮループ内フィルタのモードを符号化する。nn_ilf_modeは、図６のＳ１６３のＮＮループ内フィルタでどのクラス（モード）の演算パラメータを選択したかを示す情報であり、図１４の[k]に対応する。
【００５６】
＜効果＞
以上、本実施の形態によれば、符号化対象画像に特化した予測画素生成またはループ内フィルタを実施することができ、予測誤差削減、または対象画像に近づけるループ内フィルタ処理が可能となり、符号化効率を向上させることができる。より具体的には、符号化対象画素と参照画素の関係性をニューラルネットワークにより学習させることにより、参照画素から精度良く符号化対象画素を生成できるようになり、予測精度の向上、およびノイズ低減が図れる。イントラ予測においては、周辺画素にはないオブジェクトが符号化対象ブロック内に出現した場合、従来のＨＥＶＣでは予測が困難であったが、ＮＮイントラ予測では、あらかじめそのようなデータも教師データとして学習しているため、予測が可能となる。また、インター予測においては、ＨＥＶＣの小数画素生成手法は、どのような入力画像でも対応可能なように汎用的なフィルタ処理となっており、入力画像によっては小数画素の予測精度が低い場合がある。しかし、本実施の形態によれば、ＮＮインター予測では入力画像を用いて学習するために、入力画像にマッチしたフィルタ処理とすることができ、予測精度を向上可能である。また、ループ内フィルタも同様に、ＮＮループ内フィルタでは入力画像に特化したフィルタ演算を構築することができ、よりノイズを削減した原画像に近い画像を生成することが出来る。
【００５７】
なお、図２で示した通り、ＮＮパラメータ切換え単位は、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタにおいて別々に設定可能にされているが、全て同一、もしくは一部同一でもよい。例えば、ＮＮイントラ予測およびＮＮインター予測では、ＮＮパラメータ切換え単位をスライス単位とし、ＮＮループ内フィルタでは、ＮＮパラメータ切換え単位をピクチャ単位としてもよい。そうすることにより切換えタイミングの判定を統一化でき、切換えるための情報（符号量）も少なくすることができる。
【００５８】
また、ＮＮパラメータ切換え単位は複数ピクチャに跨るＧＯＰ等でもよい。このように、ＮＮパラメータ切換え単位を大きくすることによって、切換えのための識別子情報の符号量を小さくでき、また、符号化しなければならないＮＮパラメータの種類も少なくなり、ＮＮのパラメータの符号量を削減できる。また、ＧＯＰ単位で切換える場合、ＮＮパラメータ決定部１０９は、複数ピクチャを入力し、それらピクチャのブロックから学習してＮＮのパラメータを決定してもよいし、代表的な画像のブロックのみを使ってパラメータを決定してもよい。そうすることにより、学習時間（パラメータ決定処理量）を減らすことができ、また、先頭ピクチャのみを学習に使ってパラメータを決定することによって、それ以降のピクチャの入力を待たずして符号化を始めることが出来る。その結果、符号列を出力するまでの遅延を減らすことができる。
【００５９】
また、ＮＮイントラ予測モード、ＮＮインター予測モード、またはＮＮループ内フィルタなどのＮＮ（ニューラルネットワーク）の有効／無効を、プロファイルに応じて変更してもよいし、ユーザが指定してもよい。また、使用するアプリケーションの要求に応じて変更するようにしてもよい。
【００６０】
図２７は、プロファイルおよび要求に応じて、ＮＮの有効／無効を切換える処理を示すフローチャートである。
【００６１】
例えば、図２７のステップＳ２０１〜Ｓ２０4に示すように、画像符号化装置１００は、リアルタイム要求がある場合、および、低演算量向けプロファイルの場合には、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタを無効にするようにしてもよい。リアルタイム要求があるアプリケーションとは、例えばＴＶ電話等であり、逆にリアルタイム要求がないアプリケーションには、例えばインターネット配信に用いる映画コンテンツ等の圧縮がある。ＮＮの予測およびループ内フィルタでは、あらかじめ符号化対象データを学習させる必要があるために、２パス符号化のように、入力画像を符号化前に走査する必要がある。そのため画像が入力されてから符号列を出力するまでの遅延が、固定のフィルタに比べて大きくなる。そのため、リアルタイム性を重視するアプリケーションまたはプロファイルの場合は、ＮＮを無効にすることによって低遅延にし、逆に圧縮性能を上げたい場合はＮＮを有効にすることによって圧縮率を上げる等、状況に応じてＮＮの有効／無効を切換えることが可能となる。
【００６２】
また、図８に示すＮＮインター予測パラメータの決定では、ＮＮインター予測パラメータ決定部１０９ｂは、符号化対象ブロックと参照ブロックとの相関に応じて、符号化対象ブロックを複数クラスのうちの何れかのクラスに分類している。しかし、ＮＮインター予測パラメータ決定部１０９ｂは、参照画像内で相関が高いブロック位置を指し示すための情報である動きベクトルの小数精度情報を用いて符号化対象ブロックを分類してもよい。例えば、ＮＮインター予測パラメータ決定部１０９ｂは、符号化対象ブロックの動きベクトルのx成分およびy成分が共に整数画素精度の場合には、その符号化対象ブロックをクラス０に分類し、x成分およびy成分が共に１／２画素精度の場合には、その符号化対象ブロックをクラス１に分類してもよい。
【００６３】
また、本実施の形態では、学習データを複数クラスに分類し、各クラスでニューラルネットワークのパラメータを決定し、各クラスのニューラルネットワークを１モードとして選択可能にしている。しかし、本開示では、その限りではなく、１モードのみとしてもよい。つまり、複数クラスに分類せず、ＮＮイントラ予測、ＮＮインター予測およびＮＮループ内フィルタのそれぞれのニューラルネットワークを１モードとしてもよい。その場合は、図２２に示すＣＵシンタックスのnn_intra_pred_mode、nn_inter_pred_mode、およびnn_ilf_modeは常に固定の数値となるため、不要になることは言うまでもない。
【００６４】
また、ＮＮパラメータ決定部１０９は、階層数、ノード数、重み係数、およびバイアス値を演算パラメータとして決定するが、アプリケーションの要求またはプロファイルに応じて階層数またはノード数の最大値を設定してもよいし、固定値としてもよい。
【００６５】
図２８は、プロファイルおよび要求に応じて、パラメータなどを設定する処理を示すフローチャートである。
【００６６】
例えば、図２８のステップＳ２１１〜Ｓ２１３に示すように、ＮＮパラメータ決定部１０９は、リアルタイム性が要求されるアプリケーションおよび低演算量向けのプロファイル時は、ニューラルネットワークにおける階層数の最大値を２に設定し、ノード数の最大値を６に設定する。階層数およびノード数を制限することにより、画像符号化装置１００のパラメータ決定のための計算量と、画像符号化装置１００および画像復号装置におけるＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタ処理の計算量を抑制することができる。その結果、低遅延が求められるアプリまたは低スペックの画像復号装置にとっては有益である。また、画像符号化装置１００を操作するユーザが制限値を設定してもよい。そうすることによってエンコード処理量、または符号列が出力されるまでの遅延を、ユーザが制御することができる。
【００６７】
また、図１３および図１４に示すニューラルネットワークの構成例は、複数階層になっているが、１階層の構成でもよく、例えば、単なる重み付け線形和の構成としてもよい。そうすることによって構成をシンプルにして低処理量にすることが出来ると共に、符号化すべきパラメータ情報も少なくすることができ、入力画像によってはそのようにした方が効率的な場合がある。最小の構成では各参照画素に乗算する重み係数のみを符号化すればよい。
【００６８】
また、画像符号化装置１００は、パラメータ決定時に使用する参照画素、あるいは、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタに使用する参照画素に対して、前処理を施してからそれらの参照画素をニューラルネットワークに入力してもよい。前処理は、ローパスフィルタ、畳み込み演算、プーリング、またはサンプリング等である。そうすることにより、参照画素がより一般化したデータとなり、予測精度またはループ内フィルタ性能を向上できる場合がある。また、前処理に必要な演算パラメータも別途符号列に含めてもよい。
【００６９】
また、画像符号化装置１００は、パラメータ決定の時に使用する学習データとして、予測誤差または符号化ノイズが大きくなりやすい領域のみを使用してもよい。例えば、対象画像内のエッジ領域または複雑性が高い領域のみを学習データにしてもよい。予測誤差または符号化ノイズが小さい領域では、固定イントラ予測、固定インター予測、または固定ループ内フィルタでも性能が十分な場合が多い。そのため、その領域では、固定イントラ予測、固定インター予測、または固定ループ内フィルタを使えばよく、ＮＮの処理を、それ以外の、予測誤差または符号化ノイズが大きくなりやすい領域のみに適用すればよい。そのため、学習データとして、予測誤差または符号化ノイズが大きくなりやすい領域のみを使用した方が、そのようなケースの予測精度またはループ内フィルタ性能を向上させやすい。また、学習データの傾向を絞ることにより、より少ないモードで高性能な予測またはループ内フィルタを実現することができ、符号化すべきＮＮのパラメータ量を削減可能である。
【００７０】
また、ＮＮイントラ予測に用いる参照画素は、図１０の（ａ）の１１画素に限らない。例えば、図１０の（ｂ）のようにより多くの参照画素を使用してもよいし、逆に、ＮＮイントラ予測に用いる参照画素は１１画素よりも少なくてもよい。参照画素を多くする（広範囲にする）ことにより、予測精度が上がる場合がある。ただし、ＮＮイントラ予測に必要なパラメータ量は増える傾向であるため、ＮＮイントラ予測のモードによって切り替えるようにしてもよい。また、本実施の形態では、４ｘ４ブロックサイズの予測およびループ内フィルタを例に説明しているが、ＨＥＶＣのように８ｘ８または１６ｘ１６サイズでも同様に処理し、ブロックサイズが大きくなるほど参照画素数を増やすことは言うまでもない。
【００７１】
また、ＮＮインター予測に用いる参照画素も同様に図１１の（ａ）の１３画素に限らない。例えば、図１１の（ｂ）のようにより多くの参照画素を使用してもよい。また、使用する参照画素位置からなる形状は、図１１の（ａ）のような菱形の形でもよいし、図１１の（ｂ）のような正方形または長方形でもよい。参照画素を多くする（広範囲にする）ことにより、予測精度が上がる場合がある。ただし、ＮＮインター予測に必要なパラメータ量は増える傾向であるため、ＮＮインター予測のモードによって切り替えるようにしてもよい。菱形にすることによって、ある程度の範囲を保ちつつ、相関が低そうな画素を参照画素から取り除くことができ、予測性能を維持しつつ必要なパラメータ量を減らすことができる。
【００７２】
また、ＮＮループ内フィルタに用いる参照画素も同様に図１２の（ａ）の１３画素に限らない。例えば、図１２の（ｂ）のようにより多くの参照画素を使用してもよい。また、使用する参照画素位置からなる形状は、図１２の（ａ）のような菱形の形でもよいし、図１２の（ｂ）のような正方形または長方形でもよい。参照画素を多くする（広範囲にする）ことにより、ループ内フィルタ性能が上がる場合がある。ただし、ＮＮループ内フィルタに必要なパラメータ量は増える傾向であるため、ＮＮループ内フィルタのモードによって切換えるようにしてもよい。
【００７３】
また、図１３および図１４で示したニューラルネットワークでは、活性化関数のｆ（ｘ）としてシグモイド関数を使用している。しかし、本開示では、その限りではなく、次のような関数を使用してもよい。
【００７４】
ｆ（ｘ）＝１      ｆｏｒ  ｘ＞０
ｆ（ｘ）＝０      ｆｏｒ  ｘ＝０
ｆ（ｘ）＝−１    ｆｏｒ  ｘ＜０
また、本実施の形態では、シグモイド関数に関しても処理量を削減するために、ルックアップテーブルを用いたテーブル引き等を利用したり、より計算量が小さい近似式にシグモイド関数を置き換えて使用したりしてもよい。また、本実施の形態では、ニューラルネットワークを用いているが、その限りではなく、参照画素から予測画素またはループ内フィルタ結果を算出する構成であれば、単なる重み付け線形和であってもよいし、加算、減算、乗算、または除算などのプリミティブな演算を組み合わせて実現した非線形フィルタでもよい。また、図１３および図１４に示す例では、参照画素の全てが１階層目のノードの全てに結合しているが、その限りではなく、結合していない参照画素またはノードがあってもよい。参照画素が２階層目以降のノードに直接結合している構成であってもよい。
【００７５】
また、本実施の形態では、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタの有効フラグはＳＰＳで符号化されるが、ＰＰＳに存在してもよいし、スライスヘッダ、ＣＴＵまたはＣＵに存在してもよい。
【００７６】
また、可変長符号化部１０５は、図１６に示すnn_parameter_set_rbsp()を、シーケンス先頭、ＧＯＰ先頭、またはピクチャ先頭で、使用するパラメータのセットとしてまとめて符号化してもよい。また、画像符号化装置１００は、nps_idを使用せず、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタを使用する時に、直前に符号化したＮＮパラメータを使用してもよい。まとめて符号化すると、ブロック毎の符号量のばらつきを抑えることができ、レート制御等がやりやすい。また、図１７および図１８に示すpps_nps_idまたはslice_nps_idを用いてパラメータを指定することにより重複したパラメータを符号化しなくて良くなり、符号量削減効果がある。
【００７７】
また、ＮＮイントラ予測と固定イントラ予測のモードを統一的に扱うようにしてもよい。具体的には、ＮＮイントラ予測か固定イントラ予測のどちらを使うかというタイプ情報（intra_pred_type）を設けず、特定のイントラ予測モードの場合にＮＮイントラ予測を用いるようにしてもよい。
【００７８】
図２３は、ＣＵのシンタックスの変形例であって、ＮＮイントラ予測モードを固定イントラ予測モードとマージしたシンタックスを示す図である。図２４は、ＣＵのシンタックスの変形例における、intra_pred_modeと、予測タイプと、固定イントラ予測モードと、ＮＮイントラ予測モードとの関係の例を示す図である。図２５は、ＣＵのシンタックスの変形例における、intra_pred_modeと、予測タイプと、固定イントラ予測モードと、ＮＮイントラ予測モードとの関係の他の例を示す図である。
【００７９】
図２３および図２４に示す例では、イントラ予測部１１０は、イントラ予測モード（intra_pred_mode）が３４以下の場合は固定イントラ予測を使い、３５以上の場合はＮＮイントラ予測を使う。３５以上の場合は、イントラ予測モード（intra_pred_mode）から３５減算した数値がＮＮイントラ予測のモード（nn_intra_pred_mode）となる。こうすることによって、イントラ予測のタイプ情報（intra_pred_type）が不要となり、符号量だけでなく、判定処理も不要となる。また、図２５のように、イントラ予測モード（intra_pred_mode）が１の場合にはＮＮイントラ予測を使うようにしてもよい。この場合、固定イントラ予測のモード１が無効となり、その代わりにＮＮイントラ予測のモード０が有効になる。そうすることにより、イントラ予測のモードの総数を変えずに、ＮＮイントラ予測を導入することができる。つまり、イントラ予測モードの符号量を増やすことなく、ＮＮイントラ予測を導入することができる。また、これは、ＮＮイントラ予測を導入することにより、固定イントラ予測の一部のモードが不要になるケースを考慮している。固定イントラ予測のモード０はＰｌａｎａｒ予測、モード１はＤＣ予測と言われるモードであり、ＤＣ予測は平坦な画像の場合に選ばれやすい。しかし、平坦な画像の場合はＰｌａｎａｒ予測でも同じような予測画像を生成することができ、その場合には、ＤＣ予測モードは冗長なモードとなる。ＮＮイントラ予測を導入する場合は固定イントラ予測のＤＣ予測モードを無効にし、ＤＣ予測モードが指定された場合はＮＮイントラ予測を使用するとした方が効果的な場合がある。
【００８０】
また、インター予測部１１１は、ＮＮインター予測のモードを動きベクトル（ＭＶ）から導出してもよい。
【００８１】
図２６は、ＣＵのシンタックスの他の変形例であって、ＭＶの小数精度でＮＮインター予測モードを抽出する例を示す図である。
【００８２】
図２６の例に示すように、インター予測部１１１は、ＭＶの小数画素精度情報からＮＮインター予測のモードを導出している。ＨＥＶＣではＭＶの下位２ビットは小数画素位置を示し、下位２ビットが００の場合は整数画素位置、０１の場合は１／４画素位置、１０の場合は１／２画素位置、１１の場合は３／４画素位置を示す。図２６の例では、インター予測部１１１は、ｘ成分およびｙ成分の小数画素位置に応じてＮＮインター予測のモードを切換え、ニューラルネットワークの構成（パラメータ）を切換える。ＭＶの小数画素位置に応じて周辺画素からの予測計算を切換えることができ、ＮＮインター予測モード（nn_inter_pred_mode）を符号化する必要がなく、符号量を削減できる。また、ＭＶの小数画素位置に応じて予測計算を切換えた方が、予測精度が高まるために、この方法によって予測精度を向上させることができる。
【００８３】
更に、本実施例における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをダウンロード等により配布してもよい。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布してもよい。なお、このことは、本明細書における他の実施例においても該当する。
【００８４】
（実施の形態２）
＜全体構成＞
図２９は、本実施の形態における画像復号装置の構成を示すブロック図である。
【００８５】
本実施の形態における画像復号装置２００は、可変長復号部２０１、逆量子化部２０２、逆変換部２０３、加算部２０４、イントラ補償部２０５、インター補償部２０６、フレームメモリ２０７、およびループ内フィルタ部２０８を備える。以下、これらの構成要素の処理を、フローチャートなどを用いて説明する。
【００８６】
＜動作（全体）＞
図３０は、画像復号装置２００による画像復号の全体の処理を示すフローチャートである。
【００８７】
まず、イントラ補償部２０５は、復号対象ブロックのタイミングがＮＮイントラ予測パラメータ切換えタイミングかどうかを判定する（Ｓ２２１）。そして、イントラ補償部２０５は、ＮＮイントラ予測パラメータ切換えタイミングであれば、符号列内にあるＮＮイントラ予測パラメータを取得し、ＮＮイントラ補償部２０５ａに設定する（Ｓ２２２）。同様に、インター補償部２０６は、復号対象ブロックのタイミングがＮＮインター予測パラメータ切換えタイミングかどうかを判定する（Ｓ２２３）。そして、インター補償部２０６は、ＮＮインター予測パラメータ切換えタイミングであれば、符号列内にあるＮＮインター予測パラメータを取得し、ＮＮインター補償部２０６ａに設定する（Ｓ２２４）。同様に、ループ内フィルタ部２０８は、復号対象ブロックのタイミングがＮＮループ内フィルタパラメータ切換えタイミングかどうかを判定する（Ｓ２２５）。そして、ループ内フィルタ部２０８は、ＮＮループ内フィルタパラメータ切換えタイミングであれば、符号列内にあるＮＮループ内フィルタパラメータを取得し、ＮＮループ内フィルタ部２０８ａに設定する（Ｓ２２６）。次に、画像復号装置２００は、復号対象ブロックを復号し（Ｓ２２７）、復号対象画像内の全ブロックの復号が完了するまでステップＳ２２１〜Ｓ２２７の処理を繰り返す（Ｓ２２８）。
【００８８】
なお、上述のＮＮイントラ予測パラメータ切換えタイミングなどのパラメータ切換えタイミングは、直前に復号されたブロックを含むＮＮパラメータ切換え単位とは異なる新たなＮＮパラメータ切換え単位に含まれるブロックが復号対象ブロックとして復号されるタイミングである。
【００８９】
＜動作（ブロック復号フロー）＞
図３１は、図３０のステップＳ２２７におけるブロック復号の詳細を示すフローチャートである。
【００９０】
まず、可変長復号部２０１は、符号列を可変長復号し、周波数変換及び量子化したブロックを取得する（Ｓ２３１）。
【００９１】
次に、逆量子化部２０２は、その取得されたブロックに対して逆量子化を行い（Ｓ２３２）、逆変換部２０３は、逆量子化されたブロックに対して逆周波数変換を行う（Ｓ２３３）。
【００９２】
次に、画像復号装置２００は、復号対象ブロックがイントラ予測およびインター予測のどちらで符号化されたかを符号列内の情報から判定する（Ｓ２３４）。イントラ予測の場合は、イントラ補償部２０５は、イントラ補償ブロックを生成し（Ｓ２３５）、インター予測の場合は、インター補償部２０６は、インター補償ブロックを生成する（Ｓ２３６）。
【００９３】
次に、加算部２０４は、イントラ補償ブロックおよびインター補償ブロックのうちの何れかの補償ブロックと、逆周波数変換した結果とを加算することによって、復元ブロックを生成する（Ｓ２３７）。ループ内フィルタ部２０８は、復元ブロックに対してループ内フィルタを実施し、フレームメモリ２０７に格納して画像出力する（Ｓ２３８）。
【００９４】
＜動作（イントラ補償ブロック生成フロー）＞
図３２は、図３１のステップＳ２３５におけるイントラ補償ブロック生成の詳細を示すフローチャートである。
【００９５】
まず、イントラ補償部２０５は、ＮＮイントラ予測モードが有効か無効か、ＮＮイントラ予測モードを符号化で使用したかどうかを符号列内の情報を用いて判定する（Ｓ２４１、Ｓ２４２）。ここで、ＮＮイントラ予測モードが有効で、かつＮＮイントラ予測モードで符号化されている場合には、ＮＮイントラ補償部２０５ａは、ＮＮイントラ補償を行うことによって、イントラ補償ブロックを生成する（Ｓ２４３）。そうでない場合は、固定イントラ補償部２０５ｂは、固定イントラ補償を行うことによって、イントラ補償ブロックを生成する（Ｓ２４４）。
【００９６】
ＮＮイントラ補償ブロックの生成は、実施の形態１と同様に、図１０の参照画素を使用し、図１３のニューラルネットを用いて実現する。また、ＮＮイントラ補償で使用するパラメータは、図３０のステップＳ２２２で設定した、符号列に含まれるパラメータである。シンタックスは、実施の形態１と同様に、図１５〜図２６の構成をとる。ＮＮイントラ補償部２０５ａは、ＮＮイントラ補償で使用するパラメータとして、pps_nps_idまたはslice_nps_idによって指定されたパラメータであって、pps_nps_idまたはslice_nps_idに一致するnps_idを有するnn_parameter_set_rbsp()の符号列内のパラメータ（階層数、ノード数、重み係数、バイアス値）を取得して使用する。パラメータは、ＮＮイントラ予測のモード毎に存在し、ＮＮイントラ補償部２０５ａは、符号列内に含まれるＮＮイントラ予測モード（nn_intra_pred_mode）を用いてそのパラメータを切換える。
【００９７】
＜動作（インター補償ブロック生成フロー）＞
図３３は、図３１のステップＳ２３６におけるインター補償ブロック生成の詳細を示すフローチャートである。この図３３のフローチャートにおけるステップＳ２５１〜Ｓ２５４は、図３２のイントラ補償ブロック生成のフローチャートにおけるステップＳ２４１〜Ｓ２４４とほぼ同じであり、ＮＮイントラ予測および固定イントラ予測をＮＮインター予測および固定インター予測に読み替えるだけであるので説明を省略する。
【００９８】
ＮＮインター補償ブロック生成は、実施の形態１と同様に、図１１の参照画素を使用し、図１４のニューラルネットを用いて実現する。また、ＮＮインター補償で使用するパラメータは、図３０のステップＳ２２４で設定した符号列に含まれるパラメータである。シンタックスは、実施の形態１と同様に、図１５〜図２６の構成をとる。ＮＮインター補償部２０６ａは、ＮＮインター補償で使用するパラメータとして、pps_nps_idまたはslice_nps_idによって指定されたパラメータであって、pps_nps_idまたはslice_nps_idに一致するnps_idを有するnn_parameter_set_rbsp()の符号列内のパラメータ（階層数、ノード数、重み係数、バイアス値）を取得して使用する。パラメータは、ＮＮインター予測のモード毎に存在し、ＮＮインター補償部２０６ａは、符号列内に含まれるＮＮインター予測モード（nn_inter_pred_mode）を用いてそのパラメータを切換える。
【００９９】
＜動作（ループ内フィルタフロー）＞
図３４は、図３１のステップＳ２３８におけるループ内フィルタの詳細を示すフローチャートである。この図３４のフローチャートにおけるステップＳ２６１〜Ｓ２６４は、図３２のイントラ補償ブロック生成のフローチャートにおけるステップＳ２４１〜Ｓ２４４とほぼ同じであり、ＮＮイントラ予測および固定イントラ予測をＮＮループ内フィルタおよび固定ループ内フィルタに読み替えるだけであるので説明を省略する。
【０１００】
ＮＮループ内フィルタは、実施の形態１と同様に、図１２の参照画素を使用し、図１４のニューラルネットを用いて実現する。また、ＮＮループ内フィルタで使用するパラメータは、図３０のＳ２２６で設定した符号列に含まれるパラメータである。シンタックスは、実施の形態１と同様に、図１５〜図２６の構成をとる。ＮＮループ内フィルタ部２０８ａは、ＮＮループ内フィルタで使用するパラメータとして、pps_nps_idまたはslice_nps_idによって指定されたパラメータであって、pps_nps_idまたはslice_nps_idと一致するnps_idを有するnn_parameter_set_rbsp()の符号列内のパラメータ（階層数、ノード数、重み係数、バイアス値）を取得して使用する。パラメータは、ＮＮループ内フィルタのモード毎に存在し、ＮＮループ内フィルタ部２０８ａは、符号列内に含まれるＮＮループ内フィルタモード（nn_ilf_mode）を用いてそのパラメータを切換える。
【０１０１】
＜効果＞
実施の形態１と同様のため、説明を省略する。
【０１０２】
＜実施の形態１および２のまとめ＞
本開示の第１の態様（１）に係る画像の符号化または復号の方法では、非線形フィルタの演算パラメータを符号化または復号し、その演算パラメータを用いて対象画像を符号化または復号する。なお、この非線形フィルタは、複数の画素値の重み付け和である線形フィルタ以外のフィルタである。
【０１０３】
また、本開示の第２の態様（１−１）に係る方法では、第１の態様に係る方法において、イントラ予測、インター予測、およびループ内フィルタのうちの少なくとも１つで前記非線形フィルタを使用してもよい。
【０１０４】
また、本開示の第３の態様（１−２）に係る方法では、第１の態様に係る方法において、前記非線形フィルタはニューラルネットワークを含む構成であり、演算パラメータとして少なくともノード間の重み係数を符号化または復号してもよい。
【０１０５】
また、本開示の第４の態様（１−２−１）に係る方法では、第３の態様に係る方法において、符号化または復号する前記演算パラメータは階層数またはノード数の情報を含んでもよい。
【０１０６】
また、本開示の第５の態様（１−２−１−１）に係る方法では、第４の態様に係る方法において、プロファイルにより階層数またはノード数の最大値を規定してもよい。
【０１０７】
また、本開示の第６の態様（１−３）に係る方法では、第１の態様に係る方法において、固定パラメータの線形フィルタと前記非線形フィルタのどちらのフィルタを使うかという切換え情報を符号化または復号し、その情報に従って線形フィルタと非線形フィルタのどちらを使うかを切り替えてもよい。
【０１０８】
また、本開示の第７の態様（１−３−１）に係る方法では、第６の態様に係る方法において、複数のモードの中から１つもしくは複数のモードを、前記非線形フィルタを使うモードとし、そのモードを使う場合は前記非線形フィルタを使って対象画像を符号化または復号してもよい。
【０１０９】
また、本開示の第８の態様（１−４）に係る方法では、第１の態様に係る方法において、ブロック、スライス、タイル、ピクチャおよびＧＯＰのうちの少なくとも１つで前記非線形フィルタの演算パラメータを切換えてもよい。
【０１１０】
また、本開示の第９の態様（１−４−１）に係る方法では、第８の態様に係る方法において、シーケンス先頭、ＧＯＰ先頭、およびピクチャ先頭のうちの少なくとも何れかで前記非線形フィルタの演算パラメータを符号化または復号し、前記非線形フィルタ使用時には前記演算パラメータの内の少なくとも１つを識別子により指定して使用してもよい。
【０１１１】
また、本開示の第１０の態様（１−５）に係る方法では、第１の態様に係る方法において、前記非線形フィルタの有効／無効情報を符号化または復号してもよい。
【０１１２】
また、本開示の第１１の態様（１−５−１）に係る方法では、第１０の態様に係る方法において、プロファイルによって前記非線形フィルタの有効／無効情報を切り替えてもよい。
【０１１３】
また、本開示の第１２の態様（１−５−２）に係る方法では、第１０の態様に係る方法において、低遅延要求があるアプリケーションでは前記非線形フィルタを無効にしてもよい。
【０１１４】
また、本開示の第１３の態様（１−６）に係る方法では、第１の態様に係る方法において、前記非線形フィルタのモードを複数備え、どのモードを使うかを示す情報を符号化または復号する、もしくは符号列内の情報からどのモードを使うかを示す情報を抽出してもよい。
【０１１５】
ここで、本開示の第１４の態様（２）に係る画像の符号化または復号の方法では、イントラ予測に用いる演算パラメータを符号化または復号する。
【０１１６】
また、本開示の第１５の態様（２−１）に係る方法では、第１４の態様に係る方法において、前記演算パラメータは線形フィルタおよび非線形フィルタのいずれかの演算パラメータであってもよい。
【０１１７】
また、本開示の第１６の態様（２−２）に係る方法では、第１４の態様に係る方法において、前記演算パラメータを用いたイントラ予測は単層または複数層のニューラルネットワークを含む構成であり、演算パラメータとして少なくともノード間の重み係数を符号化または復号してもよい。
【０１１８】
また、本開示の第１７の態様（２−２−１）に係る方法では、第１６の態様に係る方法において、符号化または復号する前記演算パラメータは階層数またはノード数の情報を含んでもよい。
【０１１９】
また、本開示の第１８の態様（２−２−１−１）に係る方法では、第１７の態様に係る方法において、プロファイルにより階層数またはノード数の最大値を規定してもよい。
【０１２０】
また、本開示の第１９の態様（２−３）に係る方法では、第１４の態様に係る方法において、固定パラメータのイントラ予測と前記演算パラメータによるイントラ予測のどちらのイントラ予測を使うかという切換え情報を符号化または復号し、その情報に従って固定パラメータのイントラ予測と前記演算パラメータによるイントラ予測のどちらのイントラ予測を使うかを切換えてもよい。
【０１２１】
また、本開示の第２０の態様（２−３−１）に係る方法では、第１９の態様に係る方法において、複数のモードの中から１つもしくは複数のモードを、前記演算パラメータを用いたイントラ予測のモードとし、そのモードを使う場合は前記演算パラメータを用いたイントラ予測によって対象画像を符号化または復号してもよい。
【０１２２】
また、本開示の第２１の態様（２−４）に係る方法では、第１４の態様に係る方法において、ブロック、スライス、タイル、ピクチャおよびＧＯＰのうちの少なくとも１つでイントラ予測の前記演算パラメータを切換えてもよい。
【０１２３】
また、本開示の第２２の態様（２−４−１）に係る方法では、第２１の態様に係る方法において、シーケンス先頭、ＧＯＰ先頭、およびピクチャ先頭のうちの少なくとも何れかでイントラ予測の前記演算パラメータを符号化または復号し、演算パラメータを用いたイントラ予測時には、前記符号化または復号した演算パラメータの内の少なくとも１つを識別子により指定して使用してもよい。
【０１２４】
また、本開示の第２３の態様（２−５）に係る方法では、第１４の態様に係る方法において、前記演算パラメータを用いたイントラ予測の有効／無効情報を符号化または復号してもよい。
【０１２５】
また、本開示の第２４の態様（２−５−１）に係る方法では、第２３の態様に係る方法において、プロファイルによって前記演算パラメータを用いたイントラ予測の有効／無効情報を切り替えてもよい。
【０１２６】
また、本開示の第２５の態様（２−５−２）に係る方法では、第２３の態様に係る方法において、低遅延要求があるアプリケーションでは前記演算パラメータを用いたイントラ予測を無効にしてもよい。
【０１２７】
また、本開示の第２６の態様（２−６）に係る方法では、第１４の態様に係る方法において、前記演算パラメータを用いたイントラ予測のモードを複数備え、どのモードを使うかを示す情報を符号化または復号する、もしくは符号列内の情報からどのモードを使うかを示す情報を抽出してもよい。
【０１２８】
ここで、本開示の第２７の態様（３）に係る画像符号化方法では、線形フィルタまたは非線形フィルタの演算パラメータを符号化し、その演算パラメータを用いて対象画像を符号化するエンコーダにおいて、符号化対象画像を教師データとして学習して前記演算パラメータを決定する。
【０１２９】
また、本開示の第２８の態様（３−１）に係る画像符号化方法では、第２７の態様に係る画像符号化方法において、前記演算パラメータを用いるモードを複数備え、符号化対象画像またはブロックの特徴でモード毎の学習データを決定し、モード毎に演算パラメータを決定してもよい。
【０１３０】
また、本開示の第２９の態様（３−２）に係る画像符号化方法では、第２７の態様に係る方法において、符号化対象画像のうち、複雑性の高い領域のみを学習データとして使用してもよい。
【０１３１】
（実施の形態３）
＜全体構成＞
図３５は、本実施の形態における画像符号化装置の構成を示すブロック図である。
【０１３２】
本実施の形態における画像符号化装置３００は、実施の形態１における画像符号化装置１００における変換部１０３およびＮＮパラメータ決定部１０９Ａ以外の各構成要素を備える。さらに、画像符号化装置３００は、変換部１０３およびＮＮパラメータ決定部１０９の代わりに変換部１０３ＡおよびＮＮパラメータ決定部１０９Ａを備えるとともに、ＮＮ処理切換部１１５を備える。
【０１３３】
＜動作（全体）、動作（ブロック符号化フロー）＞
画像符号化装置３００による画像符号化の全体のフローと、ブロック符号化のフローとは、実施の形態１における図２および図３のそれぞれに示すフローとほぼ同じである。ただし、画像符号化装置３００におけるブロック分割部１０１は、図２におけるブロック分割（Ｓ１０４）において、入力画像を４ｘ４ブロック、８ｘ８ブロック、１６ｘ１６ブロック、および３２ｘ３２ブロック等の数種類のサイズのブロックに分割する。ブロック分割部１０１は、入力画像内のオブジェクトのサイズまたは画素値の複雑性等の特徴を用いて、いずれかのサイズのブロックに分割する。また、画像符号化装置３００において実験的に予測または可変長符号化を実施し、ブロック分割部１０１は符号化性能が良いサイズのブロックに分割してもよい。画像符号化装置３００は、予測等を含むブロック符号化を、複数種類のサイズのブロックに対して実施する。
【０１３４】
＜動作（イントラ予測ブロック生成フロー）＞
図３６は、イントラ予測部１１０およびＮＮ処理切換部１１５によるイントラ予測ブロック生成の詳細を示すフローチャートである。
【０１３５】
実施の形態３におけるイントラ予測部１１０によるイントラ予測ブロック生成のフローは、ほぼ実施の形態１の図４に示すフローと同じであるが、本実施の形態と実施の形態１とで異なるのは、ＮＮイントラ予測（Ｓ１４３）を行う条件である。実施の形態３では、イントラ予測部１１０は、ＮＮ処理切換部１１５による制御によって、予測ブロックサイズが４ｘ４の場合且つ、輝度成分に対する予測でしか、ＮＮイントラ予測部１１０ａによるＮＮイントラ予測を実施しない（Ｓ２７７、Ｓ２７８）。そうでない場合は、イントラ予測部１１０は、常に固定イントラ予測部１１０ｂによる固定イントラ予測を実施する。このように、ＮＮ処理切換部１１５は、予測ブロックサイズが４ｘ４か否かを判定するとともに（Ｓ２７７）、予測対象が輝度成分か否かを判定する（Ｓ２７８）。そして、ＮＮ処理切換部１１５は、予測ブロックサイズが４ｘ４の場合且つ、輝度成分に対する予測の場合にのみ、イントラ予測部１１０に対してＮＮイントラ予測への切換えを指示する。
【０１３６】
＜動作（インター予測ブロック生成フロー）＞
図３７は、インター予測部１１１およびＮＮ処理切換部１１５によるインター予測ブロック生成の詳細を示すフローチャートである。
【０１３７】
実施の形態３におけるインター予測部１１１によるインター予測ブロック生成のフローは、ほぼ実施の形態１の図５に示すフローと同じであるが、本実施の形態と実施の形態１とで異なるのは、ＮＮインター予測（Ｓ１５３）を行う条件である。実施の形態３では、インター予測部１１１は、ＮＮ処理切換部１１５による制御によって、輝度成分に対する予測でしか、ＮＮインター予測部１１１ａによるＮＮインター予測を実施しない（Ｓ２８８）。そうでない場合は、インター予測部１１１は、常に固定インター予測部１１１ｂによる固定インター予測を実施する。
【０１３８】
このように、ＮＮ処理切換部１１５は、予測対象が輝度成分か否かを判定する（Ｓ２８８）。そして、ＮＮ処理切換部１１５は、輝度成分に対する予測の場合にのみ、インター予測部１１１に対してＮＮインター予測への切換えを指示する。
【０１３９】
＜動作（ループ内フィルタフロー）＞
図３８は、ループ内フィルタ部１１３およびＮＮ処理切換部１１５によるループ内フィルタの詳細を示すフローチャートである。
【０１４０】
実施の形態３におけるループ内フィルタ部１１３によるループ内フィルタのフローは、ほぼ実施の形態１の図６に示すフローと同じであるが、本実施の形態と実施の形態１とで異なるのは、ＮＮループ内フィルタ（Ｓ１６３）を行う条件である。実施の形態３では、ループ内フィルタ部１１３は、ＮＮ処理切換部１１５による制御によって、輝度成分に対するループ内フィルタでしか、ＮＮループ内フィルタ部１１３ａによるＮＮループ内フィルタを実施しない（Ｓ２９８）。そうでない場合は、ループ内フィルタ部１１３は、常に固定ループ内フィルタ部１１３ｂによる固定ループ内フィルタを実施する。
【０１４１】
このように、ＮＮ処理切換部１１５は、予測対象が輝度成分か否かを判定する（Ｓ２９８）。そして、ＮＮ処理切換部１１５は、輝度成分に対する予測の場合にのみ、ループ内フィルタ部１１３に対してＮＮループ内フィルタへの切換えを指示する。
【０１４２】
＜動作（周波数変換フロー）＞
図３９は、変換部１０３Ａによる周波数変換の詳細を示すフローチャートである。
【０１４３】
まず、変換部１０３Ａは、予測ブロック決定（図３のＳ１２３）で選択した予測ブロックが、ＮＮイントラ予測もしくはＮＮインター予測で生成されたブロックかどうかを判定する（Ｓ３０１）する。そして、いずれかの予測で生成されたブロックであった場合は、ＫＬ変換部１０３Ａａは、ＫＬ変換（カルーネン・レーベ変換）によって周波数変換を行う（Ｓ３０２）。それ以外の場合は、固定変換部１０３Ａｂは、ＨＥＶＣと同様に離散コサイン変換などの固定の変換行列を用いた周波数変換（固定変換）を行う（Ｓ３０３）。ＫＬ変換は変換行列を画像毎に変更する変換である。
【０１４４】
＜動作（ＮＮイントラ予測パラメータ決定フロー、ＮＮインター予測パラメータ決定フロー、ＮＮループ内フィルタパラメータ決定フロー）＞
図４０、図４１、図４２を参照しつつ、ＮＮパラメータ決定部１０９Ａの処理いついて説明する。
【０１４５】
図４０は、ＮＮイントラ予測パラメータ決定部１０９ＡａによるＮＮイントラ予測パラメータ決定の詳細を示すフローチャートである。図４１は、ＮＮインター予測パラメータ決定部１０９ＡｂによるＮＮインター予測パラメータ決定の詳細を示すフローチャートである。図４２は、ＮＮループ内フィルタパラメータ決定部１０９ＡｃによるＮＮループ内フィルタパラメータ決定の詳細を示すフローチャートである。
【０１４６】
実施の形態３における上記各パラメータ決定のフローは、ほぼ実施の形態１の図７、図８、および図９に示すフローと同じであるが、本実施の形態と実施の形態１とでは学習データに使うデータが異なる。ＮＮイントラ予測パラメータ決定部１０９Ａａは、図４０に示すように、ＮＮイントラ予測パラメータ決定に使う学習データとして、４ｘ４サイズで輝度成分の符号化対象ブロックをクラスに分類して学習する（Ｓ３１１）。また、ＮＮインター予測パラメータ決定部１０９Ａｂは、図４１に示すように、ＮＮインター予測パラメータ決定に使う学習データとして、輝度成分の符号化対象ブロックを対象にする（Ｓ３２１、Ｓ３２３）。また、ＮＮループ内フィルタパラメータ決定部１０９Ａｃは、ＮＮループ内フィルタパラメータ決定に使う学習データとして、輝度成分の符号化対象ブロックを対象にする（Ｓ３３１）。
【０１４７】
＜シンタックス構成＞
実施の形態３におけるシンタックス構成は、ＣＵシンタックスのみ実施の形態１と異なる。
【０１４８】
図４３は、本実施の形態におけるＣＵシンタックスを示す図である。
【０１４９】
実施の形態３では、可変長符号化部１０５は、ＮＮイントラ予測および固定イントラ予測のどちらを使うかという情報（intra_pred_type）を、ＮＮイントラ予測が有効（nn_intra_pred_enabled_flagが１）で且つ予測ブロックサイズが４ｘ４の場合のみ符号化する。そうでない場合は、画像符号化装置３００は固定イントラ予測を使うように動作する。つまり、４ｘ４の予測ブロックサイズでないとＮＮイントラ予測を使えないようにしている。また、fixed_intra_pred_mode_chromaは、色差成分の固定イントラ予測の予測モードを示し、色差成分の場合は固定イントラ予測のモードしか指定できないようにしている。
【０１５０】
また、nn_intra_pred_parameter_data()は、４ｘ４サイズの予測ブロック且つ輝度成分用のＮＮイントラ予測用のパラメータであり、それ以外（８ｘ８サイズ以上の予測ブロックまたは色差成分）用のパラメータは存在（符号化）しない。
【０１５１】
また、nn_inter_pred_parameter_data()は、輝度成分用のＮＮインター予測のパラメータであり、nn_ilf_parameter_data()は、輝度成分用のＮＮループ内フィルタのパラメータであり、色差成分用のパラメータは存在（符号化）しない。
【０１５２】
＜効果＞
以上、本実施の形態によれば、ＮＮイントラ予測で使用するパラメータの符号量を減らすことができる。より具体的には、４ｘ４サイズの予測ブロックでしかＮＮイントラ予測を実施しない。つまり、８ｘ８サイズ以上の予測ブロックではＮＮイントラ予測を使用しないので、それ用のパラメータが不要となる。一般的に大きな予測ブロックサイズは、平坦な領域で選択される場合が多く、その場合は固定パラメータのイントラ予測でも予測残差を少なくできる場合が多い。そのため、大きな予測ブロックサイズでは小さい予測ブロックサイズに比べてＮＮイントラ予測を使用する必要性が少ない。また、大きな予測ブロックサイズでは隣接する周辺画素数が多いため、一般的に参照画素数を多くしないと予測精度を上げにくく、参照画素数が多くなると入力するノード数が多くなるので重み係数等のＮＮイントラ予測用のパラメータ量が多くなる。逆に小さい予測ブロックサイズは複雑性が高い領域で選択される場合が多く、複雑性が高い領域では固定パラメータのイントラ予測では予測誤差が大きくなりやすい。また、小さい予測ブロックサイズでは、隣接する周辺画素数が少ないので、少ない参照画素でも予測精度を上げられる可能性がある。これらのことから、小さい予測ブロックサイズでのみＮＮイントラ予測を有効にし、小さい予測ブロックサイズ用のパラメータのみを符号化することによって、予測性能の低下を抑制しつつパラメータデータ量を削減することができ、符号化効率を向上させることができる。また、大きな予測ブロックサイズのＮＮイントラ予測が不要になるので、そのパラメータを決定する画像符号化装置３００の計算量（処理時間）も削減することができる。
【０１５３】
また、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタで使用するパラメータの符号量を減らすことができる。より具体的には、輝度成分の信号に対してしかＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタを実施しない。つまり、色差成分の信号にはＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタを使用しないので、それ用のパラメータが不要となる。一般的に画像の色差成分の複雑度は小さく、固定パラメータのＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタでも、予測残差を少なくできたり、ノイズを削減できたりする場合が多い。そのため、色差成分は輝度成分に比べてＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタを使用する必要性が少ない。このことから、輝度成分でのみＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタを有効にし、輝度成分用のパラメータのみを符号化することによって、予測精度の低下やノイズ増加を抑制しつつパラメータデータ量を削減することができ、符号化効率を向上させることができる。また、色差成分のＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタが不要になるので、そのパラメータを決定する画像符号化装置３００の計算量（処理時間）も削減することができる。
【０１５４】
また、ＮＮイントラ予測またはＮＮインター予測を用いた場合は固定の予測を用いた場合とは予測残差の傾向が異なる。例えば、固定イントラ予測を用いた場合には周辺画素に存在しないオブジェクトが符号化対象ブロック内に出現した場合に急激に予測誤差が大きくなるケースがある。しかし、ＮＮイントラ予測ではそのようなケースもカバーできるようにニューラルネットを構築しておけば、急激に予測誤差が大きくなるケースは少ない。そのため、ＮＮイントラ予測またはＮＮインター予測を用いた場合には周波数変換方式を切り替え、ＮＮの予測を用いた場合にはその予測残差に適した方式の変換を用いることによって符号化効率を向上させることができる。
【０１５５】
なお、本実施の形態ではＫＬ変換を用いているが、その限りではなく、ＮＮイントラ予測またはＮＮインター予測を用いた場合に固定の予測を用いた時とは違う変換方法を使えばよく、例えば固定の変換行列を用いた変換でも良い。また、ＫＬ変換を用いた等、その変換で用いる変換行列等のパラメータを別途符号化してもよい。また、ＮＮイントラ予測またはＮＮインター予測を用いた場合に変換を切り替えるようにしているが、ＮＮイントラ予測を用いた場合のみ切り替えるようにしてもよいし、ＮＮインター予測を用いた場合のみ切り替えるようにしてもよい。
【０１５６】
また、４ｘ４の予測ブロックサイズの時のみＮＮイントラ予測を用いるようにしているが、その限りではなく、例えば８ｘ８以下のサイズではＮＮイントラ予測を許可し、１６ｘ１６以上のサイズではＮＮイントラ予測を禁止にしてもよい。
【０１５７】
なお、本実施の形態における逆変換部１０６は、変換部１０３Ａの変換に対応する逆変換を行う。
【０１５８】
（実施の形態４）
＜全体構成＞
図４４は、本実施の形態における画像復号装置の構成を示すブロック図である。
【０１５９】
本実施の形態における画像復号装置４００は、実施の形態２における画像復号装置２００における逆変換部２０３以外の各構成要素を備える。さらに、画像復号装置４００は、逆変換部２０３の代わりに逆変換部２０３Ａを備えるとともに、ＮＮ処理切換部２１０を備える。
【０１６０】
＜動作（全体）、動作（ブロック復号フロー）＞
画像復号装置４００による画像復号の全体フローと、ブロック復号のフローとは、実施の形態２における図３０および図３１に示すフローとほぼ同じである。ただし、画像復号装置４００における復号対象ブロックには、４ｘ４ブロック、８ｘ８ブロック、１６ｘ１６ブロック、および３２ｘ３２ブロック等の数種類のサイズのブロックがある。画像復号装置４００は、ブロックサイズを、符号列内にある情報を用いて決定する。また、画像復号装置４００は、予測等を含むブロック復号を、複数種類のサイズのブロックに対して実施する。
【０１６１】
＜動作（イントラ補償ブロック生成フロー）＞
図４５は、イントラ補償部２０５およびＮＮ処理切換部２１０によるイントラ補償ブロック生成の詳細を示すフローチャートである。
【０１６２】
実施の形態４におけるイントラ補償部２０５によるイントラ補償ブロック生成のフローは、ほぼ実施の形態２の図３２に示すフローと同じであるが、本実施の形態と実施の形態２とで異なるのは、ＮＮイントラ補償（Ｓ２４３）を行う条件である。実施の形態４では、イントラ補償部２０５は、ＮＮ処理切換部２１０による制御によって、予測ブロックサイズが４ｘ４の場合且つ、輝度成分に対する補償でしか、ＮＮイントラ補償部２０５ａによるＮＮイントラ補償を実施しない（Ｓ３４１、Ｓ３４２）。そうでない場合は、イントラ補償部２０５は、常に固定イントラ補償部２０５ｂによる固定イントラ補償を実施する。このように、ＮＮ処理切換部２１０は、予測ブロックサイズが４ｘ４か否かを判定するとともに（Ｓ３４１）、補償対象が輝度成分か否かを判定する（Ｓ３４２）。そして、ＮＮ処理切換部２１０は、予測ブロックサイズが４ｘ４の場合且つ、輝度成分に対する補償の場合にのみ、イントラ補償部２０５に対してＮＮイントラ補償への切換えを指示する。
【０１６３】
＜動作（インター補償ブロック生成フロー）＞
図４６は、インター補償部２０６およびＮＮ処理切換部２１０によるインター補償ブロック生成の詳細を示すフローチャートである。
【０１６４】
実施の形態４におけるインター補償部２０６によるインター補償ブロック生成のフローは、ほぼ実施の形態２の図３３に示すフローと同じであるが、本実施の形態と実施の形態２とで異なるのは、ＮＮインター補償（Ｓ２５３）を行う条件である。実施の形態４では、インター補償部２０６は、ＮＮ処理切換部２１０による制御によって、輝度成分に対する補償でしか、ＮＮインター補償部２０６ａによるＮＮインター補償を実施しない（Ｓ３５１）。そうでない場合は、インター補償部２０６は、常に固定インター補償部２０６ｂによる固定インター補償を実施する。このように、ＮＮ処理切換部２１０は、補償対象が輝度成分か否かを判定する（Ｓ３５１）。そして、ＮＮ処理切換部２１０は、輝度成分に対する補償の場合にのみ、インター補償部２０６に対してＮＮインター補償への切換えを指示する。
【０１６５】
＜動作（ループ内フィルタフロー）＞
図４７は、ループ内フィルタ部２０８およびＮＮ処理切換部２１０によるループ内フィルタの詳細を示すフローチャートである。
【０１６６】
実施の形態４におけるループ内フィルタ部２０８によるループ内フィルタのフローは、ほぼ実施の形態２の図３４に示すフローと同じであるが、本実施の形態と実施の形態２とで異なるのは、ＮＮループ内フィルタ（Ｓ２６３）を行う条件である。実施の形態４では、ループ内フィルタ部２０８は、ＮＮ処理切換部２１０による制御によって、輝度成分に対するループ内フィルタでしか、ＮＮループ内フィルタ部２０８ａによるＮＮループ内フィルタを実施しない（Ｓ３６１）。そうでない場合は、ループ内フィルタ部２０８は、常に固定ループ内フィルタ部２０８ｂによる固定ループ内フィルタを実施する。このように、ＮＮ処理切換部２１０は、ループ内フィルタの対象が輝度成分か否かを判定する（Ｓ３６１）。そして、ＮＮ処理切換部２１０は、輝度成分に対するループ内フィルタの場合にのみ、ループ内フィルタ部２０８に対してＮＮループ内フィルタへの切換えを指示する。
【０１６７】
＜動作（周波数変換フロー）＞
図４８は、逆変換部２０３Ａによる逆周波数変換の詳細を示すフローチャートである。
【０１６８】
まず、逆変換部２０３Ａは、符号列内にある情報から、予測ブロックがＮＮインター予測またはＮＮイントラ予測で生成されたかどうかを判定する（Ｓ３７１）。そして、いずれかの予測で生成されたブロックであった場合は、逆ＫＬ変換部２０３Ａａは、逆ＫＬ変換（カルーネン・レーベ変換）によって逆周波数変換を行う（Ｓ３７２）。それ以外の場合は、逆固定変換部２０３Ａｂは、ＨＥＶＣと同様に逆離散コサイン変換などの固定の変換行列を用いた逆周波数変換（逆固定変換）を行う（Ｓ３７３）。
【０１６９】
＜効果＞
実施の形態３と同様のため、説明を省略する。
【０１７０】
＜実施の形態３および４のまとめ＞
本開示の第１の態様（１）に係る画像の符号化または復号の方法では、イントラ予測に用いる演算パラメータを符号化または復号する。
【０１７１】
また、本開示の第２の態様（１−１）に係る方法では、第１の態様に係る方法において、イントラ予測の予測ブロックサイズが特定サイズ以下の場合のみ前記演算パラメータを用いたイントラ予測を用い、それ以外の予測ブロックサイズの場合は固定パラメータのイントラ予測を行ってもよい。
【０１７２】
また、本開示の第３の態様（１−２）に係る方法では、第１の態様に係る方法において、固定パラメータのイントラ予測と前記演算パラメータによるイントラ予測を切換えることができるエンコーダまたはデコーダにおいて、前記演算パラメータによるイントラ予測を使用した場合は変換または逆変換方法を切り替えてもよい。
【０１７３】
また、本開示の第４の態様（１−２−１）に係る方法では、第３の態様に係る方法において、前記演算パラメータによるイントラ予測を使用した場合は変更可能な変換行列を用いた変換または逆変換を行ってもよい。
【０１７４】
ここで、本開示の第５の態様（２）に係る画像の符号化または復号の方法では、非線形フィルタの演算パラメータを符号化または復号し、その演算パラメータを用いて対象画像を符号化または復号する。
【０１７５】
また、本開示の第６の態様（２−１）に係る方法では、第５の態様に係る方法において、輝度成分用の演算パラメータのみを符号化または復号し、輝度成分は前記非線形フィルタを使用し、色差成分は線形フィルタを使用して対象画像を符号化または復号してもよい。
【０１７６】
また、本開示の第７の態様（２−２）に係る方法では、第５の態様に係る方法において、イントラ予測およびインター予測のうちの少なくとも１つで前記非線形フィルタを使用し、予測ブロックが非線形フィルタを用いて作成した場合、変換または逆変換方法を切り替えてもよい。
【０１７７】
また、本開示の第８の態様（２−２−１）に係る方法では、第７の態様に係る方法において、予測ブロックが非線形フィルタを用いて作成した場合は、変更可能な変換行列を用いた変換または逆変換を行ってもよい。
【０１７８】
（実施の形態５）
＜全体構成＞
図４９は、本実施の形態における画像符号化装置の構成を示すブロック図である。
【０１７９】
本実施の形態における画像符号化装置５００は、実施の形態１における画像符号化装置１００の各構成要素を備え、さらに、ＮＮパラメータ符号化部１２０を備える。
【０１８０】
＜動作（全体）＞
図５９は、画像符号化装置５００による画像符号化の全体の処理を示すフローチャートである。
【０１８１】
実施の形態５では、画像符号化装置５００は、実施の形態１の図２に示すフローに含まれる各ステップＳ１０１〜Ｓ１１２を行い、さらに、ステップＳ４９１、Ｓ４９２、Ｓ４９３、およびＳ４９４を行う。つまり、実施の形態５では、画像符号化装置５００は、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタのいずれかのパラメータ切換えタイミング時（Ｓ４９１）に、ステップＳ４９２〜Ｓ４９４の何れかのステップを行う。ステップＳ４９２〜Ｓ４９４のそれぞれでは、ＮＮパラメータ符号化部１２０が、実施の形態１とは異なる特殊なＮＮイントラ予測パラメータ符号化、ＮＮインター予測パラメータ符号化、またはＮＮループ内フィルタパラメータ符号化を行う。
【０１８２】
＜動作（ＮＮイントラ予測パラメータ符号化フロー）＞
図５０は、図５９のステップＳ４９２におけるＮＮイントラ予測パラメータ符号化の詳細を示すフローチャートである。
【０１８３】
まず、ＮＮパラメータ符号化部１２０は、ＮＮイントラ予測の予測モード数（nn_intra_mode_num）を符号化する（Ｓ４０１）。
【０１８４】
次に、ＮＮパラメータ符号化部１２０は、各予測モードで、ステップＳ４０３〜Ｓ４０７の処理を行う（Ｓ４０２）。ここでｋは、処理対象の予測モードを示し、０から「予測モード数−１」まで１ずつ増加する変数である。
【０１８５】
具体的には、ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプと、参照するパラメータ等を決定する（Ｓ４０７）。パラメータ参照タイプは、ＮＮイントラ予測パラメータをどのように符号化するかという情報であり、３つのタイプがある。１つ目のタイプは、他の予測モードのパラメータを参照し、それとの差分を符号化する方法である（モード参照タイプ）。２つ目のタイプは、１つ前の階層または１つ前のノードの情報を参照し、それとの差分を符号化する方法である（直前参照タイプ）。３つ目のタイプは何も参照せず、値を直接符号化する方法である（非参照タイプ）。また、モード参照タイプでは、既に符号化した予測モードのパラメータを参照するだけでなく、あらかじめ規定されているプリセットのＮＮイントラ予測パラメータを参照することもできる。また、規定されているＮＮイントラ予測パラメータは複数種類存在し、選択的に使用することができる。ステップＳ４０７では、ＮＮパラメータ符号化部１２０は、パラメータ参照タイプを決定すると共に、モード参照タイプの場合は、どの予測モードのパラメータを参照するかという参照モード情報（nn_intra_param_ref_mode）と、プリセットを使うかという情報（プリセット使用モードＯＮ／ＯＦＦ）と、プリセットのパラメータを使う場合はどのプリセットを使うかというプリセットＩＤ（nn_intra_param_ref_preset_id）とを決める。決める方法は、符号化するＮＮイントラ予測パラメータと最もパラメータが類似しているものを選んでもよいし、実験的に符号化してみて符号量が最も小さいものを選んでもよい。
【０１８６】
次に、ＮＮパラメータ符号化部１２０は、ステップＳ４０７で決定した予測モードｋのパラメータ参照タイプ（nn_intra_param_ref_type[k]）を符号化する（Ｓ４０３）。
【０１８７】
次に、ＮＮパラメータ符号化部１２０は、パラメータ参照タイプが非参照タイプか否かを判定し（Ｓ４０４）、非参照タイプの場合には、パラメータ非参照タイプ符号化を実施する（Ｓ４０５）。一方、非参照タイプでない場合（モード参照タイプまたは直前参照タイプの場合）には、ＮＮパラメータ符号化部１２０は、パラメータ参照タイプ符号化を実施する（Ｓ４０６）。
【０１８８】
なお、参照モード情報によって示される、参照するパラメータ含むモード（参照モード）は、予測モードｋと同じ構造に限定される。つまり、参照モードと予測モードｋとは、同じ階層数、同じノード数、同じ参照画素数、および同じ出力画素数を有する。また、この参照モードを示す参照モード情報（nn_intra_param_ref_mode）は、予測モードｋから何個前のモードが参照モードであるかを示し、そのデフォルト値は０である。
【０１８９】
＜動作（パラメータ非参照タイプ符号化フロー）＞
図５１は、図５０のステップＳ４０５におけるパラメータ非参照タイプ符号化の詳細を示すフローチャートである。
【０１９０】
まず、ＮＮパラメータ符号化部１２０は、予測モードｋの階層数（nn_intra_layer_num[k]）を符号化し（Ｓ４１１）、以降の処理を階層数分繰り返す（Ｓ４１２）。ここでｉは、処理対象の階層を示し、０から「階層数−１」まで１ずつ増加する変数である。
【０１９１】
次に、ＮＮパラメータ符号化部１２０は、階層ｉが最初の階層であるか否かを判定し（Ｓ４１３）、最初の階層であれば、入力ノード数（input_node_num）に参照画素数を設定する（Ｓ４１４）。一方、最初の階層でなければ、ＮＮパラメータ符号化部１２０は、入力ノード数（input_node_num）に直前の階層のノード数（nn_intra_node_num[k][i-1]）を設定する（Ｓ４１５）。図１３を例に説明すると、階層ｉがn[k][0][x]の階層（ｉ＝０）であった場合は、ＮＮパラメータ符号化部１２０は、入力ノード数に参照画素数である１１を設定する。もし階層ｉがn[k][1][x]の階層（ｉ＝１）であった場合は、ＮＮパラメータ符号化部１２０は、直前の階層のノード数である４を入力ノード数に設定する。入力ノード数は以降の処理で使用する変数である。
【０１９２】
次に、ＮＮパラメータ符号化部１２０は、階層ｉが最後の階層であるか否かを判定し（Ｓ４１６）、最後の階層である場合は、ノード数（nn_intra_node_num[k][i]）に予測画素数（出力画素数）（図１３の例では１６）を設定する（Ｓ４１７）。一方、最後の階層でない場合は、ＮＮパラメータ符号化部１２０は、ノード数を符号化する（Ｓ４１８）。
【０１９３】
次に、ＮＮパラメータ符号化部１２０は、ノード数分のバイアス値（nn_intra_bias[k][i][j]）を符号化し（Ｓ４１９、Ｓ４２０）、ノード数と入力ノード数分の重み係数（nn_intra_w[k][i][j][m]）を符号化する（Ｓ４２１、Ｓ４２２）。ここでｊは、処理対象のノードを示し、０から「階層ｉのノード数−１」まで１ずつ増加する変数である。また、ｍは、処理対象の入力ノードを示し、０から「階層ｉのノードｊの入力ノード数−１」まで１ずつ増加する変数である。入力ノードとは、処理対象のノードに値を入力するノードであり、例えば図１３のn[k][0][0]の入力ノードは、参照画素０〜参照画素１１の１２個ある。
【０１９４】
＜動作（パラメータ参照タイプ符号化フロー）＞
図５２は、図５０のステップＳ４０６におけるパラメータ参照タイプ符号化の詳細を示すフローチャートである。
【０１９５】
まず、ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ４３１）、モード参照タイプであれば、さらに、プリセット使用モードなのかどうかを判定し（Ｓ４３２）、プリセット使用モードであれば、参照モードデルタに０を設定する（Ｓ４３３）。そして、ＮＮパラメータ符号化部１２０は、参照モードデルタを符号化し（Ｓ４３６）、使用するプリセットのＩＤを符号化する（Ｓ４３６、Ｓ４３７）。もし、プリセット使用モードでない場合は、ＮＮパラメータ符号化部１２０は、ｋから参照モード（nn_intra_param_ref_mode）を減算して参照モードデルタを算出した後（Ｓ４３４）、参照モードデルタを符号化する（Ｓ４３５）。ここで述べた通り、プリセット使用モードがＯＮかＯＦＦかは直接符号化されない。画像復号装置は、参照モードデルタが０であればプリセット使用モードがＯＮであると判定できる。また、パラメータ参照タイプが直前参照タイプであれば（Ｓ４３１のＮｏ）、ＮＮパラメータ符号化部１２０は、ステップＳ４３２〜Ｓ４３７の処理を行わない。
【０１９６】
次に、ＮＮパラメータ符号化部１２０は、パラメータ参照タイプで階層数を符号化する（Ｓ４４０）。詳細は後述する。
【０１９７】
次に、ＮＮパラメータ符号化部１２０は、階層数の分だけ以下の処理を繰り返す（Ｓ４４１）。ここで、ｉは、処理対象の階層を示し、０から「階層数−１」まで１ずつ増加する変数である。
【０１９８】
具体的には、ＮＮパラメータ符号化部１２０は、階層ｉが最初の階層であるか否かを判定し（Ｓ４４２）、最初の階層であれば、入力ノード数（input_node_num）に参照画素数を設定する（Ｓ４４３）。一方、最初の階層でなければ、ＮＮパラメータ符号化部１２０は、入力ノード数（input_node_num）に直前の階層のノード数（nn_intra_node_num[k][i-1]）を設定する（Ｓ４４４）。
【０１９９】
次に、ＮＮパラメータ符号化部１２０は、階層ｉが最後の階層であるか否かを判定し（Ｓ４４５）、最後の階層である場合は、ノード数（nn_intra_node_num[k][i]）に予測画素数（出力画素数）を設定する（Ｓ４４６）。一方、最後の階層でない場合は、ＮＮパラメータ符号化部１２０は、パラメータ参照タイプでノード数を符号化する（Ｓ４４７）。ノード数の符号化についての詳細は後述する。
【０２００】
次に、ＮＮパラメータ符号化部１２０は、ノード数分のバイアス値を符号化し（Ｓ４４８、Ｓ４４９）、ノード数と入力ノード数分の重み係数をパラメータ参照タイプで符号化する（Ｓ４５０、Ｓ４５１）。ここで、ｊは、処理対象のノードを示し、０から「階層ｉのノード数−１」まで１ずつ増加する変数である。また、ｍは、処理対象の入力ノードを示し、０から「階層ｉのノードｊの入力ノード数−１」まで１ずつ増加する変数である。ステップＳ４４９におけるバイアス値の符号化（パラメータ参照タイプバイアス値符号化）と、ステップＳ４５１における重み係数の符号化（パラメータ参照タイプ重み係数符号化）については後述する。
【０２０１】
＜動作（パラメータ参照タイプ階層数符号化フロー）＞
図５３は、図５２のステップＳ４４０におけるパラメータ参照タイプ階層数符号化の詳細を示すフローチャートである。
【０２０２】
ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ４３１）、モード参照タイプでなければ（直前参照タイプであれば）予測モードｋの階層数を符号化する（Ｓ４６５）。モード参照タイプであれば、画像復号装置は、参照する予測モードのパラメータまたはプリセットのパラメータから階層数を取得できるので、ＮＮパラメータ符号化部１２０は、その階層数を符号化はしない。
【０２０３】
＜動作（パラメータ参照タイプノード数符号化フロー）＞
図５４は、図５２のステップＳ４４７におけるパラメータ参照タイプノード数符号化の詳細を示すフローチャートである。
【０２０４】
ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ４３１）、モード参照タイプでなければ（直前参照タイプであれば）予測モードｋの階層ｉのノード数デルタを符号化する（Ｓ４６２〜Ｓ４６５）。具体的には、ＮＮパラメータ符号化部１２０は、階層ｉが最初の階層であるか否かを判定する（Ｓ４６２）。ここで、階層ｉが最初の階層であれば、ＮＮパラメータ符号化部１２０は、参照画素数から予測モードｋの階層ｉのノード数を減算することによって、予測モードｋの階層ｉのノード数デルタを算出して（Ｓ４６３）、そのノード数デルタを符号化する（Ｓ４６５）。一方、階層ｉが最初の階層でなければ、ＮＮパラメータ符号化部１２０は、直前の階層のノード数から予測モードｋの階層ｉのノード数を減算することによって、予測モードｋの階層ｉのノード数デルタを算出して（Ｓ４６４）、そのノード数デルタを符号化する（Ｓ４６５）。
【０２０５】
＜動作（パラメータ参照タイプバイアス値符号化フロー）＞
図５５は、図５２のステップＳ４４９におけるパラメータ参照タイプバイアス値符号化の詳細を示すフローチャートである。
【０２０６】
ＮＮパラメータ符号化部１２０は、参照バイアス値から予測モードｋの階層ｉのノードｊのバイアス値を減算することによって、バイアス値デルタを算出し（Ｓ４７８）、その値を予測モードｋの階層ｉのノードｊのバイアス値デルタとして符号化する（Ｓ４７９）。参照バイアス値は条件によって異なる。つまり、ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプがモード参照タイプか否かを判定し（Ｓ４３１）、モード参照タイプであれば、さらに、プリセット使用モードなのかどうかを判定する（Ｓ４３２）。ここで、パラメータ参照タイプがモード参照タイプであってプリセット使用モードＯＮの場合であれば、ＮＮパラメータ符号化部１２０は、プリセットＩＤのプリセットにおける階層ｉのノードｊのバイアス値を参照バイアス値に設定する（Ｓ４７３）。逆に、パラメータ参照タイプがモード参照タイプであっても、プリセット使用モードＯＦＦの場合は、ＮＮパラメータ符号化部１２０は、参照する予測モード（参照モード）における階層ｉのノードｊのバイアス値を参照バイアス値に設定する（Ｓ４７４）。また、ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプが直前参照タイプである場合には、ノードｊが階層ｉで最初のノードであるか否かを判定し（Ｓ４７５）、最初のノードであれば、階層ｉのデフォルトバイアス値を参照バイアス値に設定する（Ｓ４７６）。一方、最初のノードでなれれば、ＮＮパラメータ符号化部１２０は、直前のノードのバイアス値を参照バイアス値に設定する（Ｓ４７７）。ここで、最初のノードとは、図１３で説明するとn[k][x][0]のノードであり、各階層で一番上にあるノードである。また、直前のノードとは、図１３上では同じ階層で一つ上にあるノードであり、n[k][x][1]の直前のノードはn[k][x][0]である。また、デフォルトバイアス値とはあらかじめ規定しておいたバイアス値である。
【０２０７】
＜動作（パラメータ参照タイプ重み係数符号化フロー）＞
図５６は、図５２のステップＳ４５１におけるパラメータ参照タイプ重み係数符号化の詳細を示すフローチャートである。
【０２０８】
ＮＮパラメータ符号化部１２０は、参照重み係数から、予測モードｋの階層ｉのノードｊの入力ノードｍの重み係数を減算することによって、重み係数デルタを算出し（Ｓ４８８）、その値を予測モードｋの階層ｉのノードｊの入力ノードｍの重み係数として符号化する（Ｓ４８９）。参照重み係数は条件によって異なる。つまり、ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプがモード参照タイプか否かを判定し（Ｓ４３１）、モード参照タイプであれば、さらに、プリセット使用モードなのかどうかを判定する（Ｓ４３２）。ここで、パラメータ参照タイプがモード参照タイプであって、プリセット使用モードＯＮの場合であれば、ＮＮパラメータ符号化部１２０は、プリセットＩＤのプリセットにおける階層ｉのノードｊの入力ノードｍの重み係数を参照重み係数に設定する（Ｓ４８３）。逆に、パラメータ参照タイプがモード参照タイプであっても、プリセット使用モードＯＦＦの場合は、ＮＮパラメータ符号化部１２０は、参照する予測モード（参照モード）における階層ｉのノードｊの入力ノードｍの重み係数を参照重み係数に設定する（Ｓ４８４）。また、ＮＮパラメータ符号化部１２０は、予測モードｋのパラメータ参照タイプが直前参照タイプである場合には、入力ノードｍがノードｊで最初の入力ノードであるか否かを判定し（Ｓ４８５）、最初の入力ノードであれば、階層ｉのノードｊのデフォルト重み係数を参照重み係数に設定する（Ｓ４８６）。一方、最初の入力ノードでなければ、ＮＮパラメータ符号化部１２０は、直前の入力ノードの重み係数を参照重み係数に設定する（Ｓ４８７）。ここで、最初の入力ノードとは、図１３で説明するとn[k][0][0]においては参照画素０のことであり、入力ノードのうち一番上にあるノードである。また、直前の入力ノードとは、図１３上では入力ノードのうち一つ上にあるノードであり、n[k][0][0]においては参照画素１の直前の入力ノードは参照画素０である。また、デフォルト重み係数とはあらかじめ規定しておいた重み係数である。
【０２０９】
＜動作（ＮＮインター予測パラメータ符号化フロー）、動作（ＮＮループ内フィルタパラメータ符号化フロー）＞
図５９のステップＳ４９３およびＳ４９４におけるＮＮインター予測パラメータ符号化およびＮＮループ内フィルタパラメータ符号化のそれぞれのフローは、図５０〜図５６に示すＮＮイントラ予測パラメータ符号化のフローと同様であり、ＮＮイントラ予測をＮＮインター予測またはＮＮループ内フィルタに読み替えるだけであるので説明を省略する。
【０２１０】
＜シンタックス構成＞
本実施の形態における各シンタックスは、実施の形態１の図１５〜図２６に示す各シンタックスのうち、ＮＮイントラ予測のパラメータデータのシンタックス（図１９）、ＮＮインター予測のパラメータデータのシンタックス（図２０）、およびＮＮループ内フィルタのパラメータデータのシンタックス（図２１）のみが異なる。本実施の形態では、図１９〜図２１に示すシンタックスの代わりに、図５７および図５８に示すシンタックスを使う。他のシンタックスは同じである。なお、Descriptorのae(v)はコンテキスト適応型２値算術符号化（ＣＡＢＡＣ）で符号化することを示す。
【０２１１】
実施の形態５では前述したようにＮＮパラメータを符号化する方法が３通りあり、その点が実施の形態１と異なる。図５７のnn_intra_param_ref_typeがそのタイプを示す情報であり、nn_intra_param_ref_typeがNN_INTRA_PARAM_NO_REFの場合は非参照タイプであり、ＮＮパラメータ符号化部１２０は、実施の形態１と同様にパラメータ値そのものを符号化する。また、nn_intra_param_ref_typeがNN_INTRA_PARAM_REF_MODEである場合はモード参照タイプであり、ＮＮパラメータ符号化部１２０は、参照する予測モード情報を符号化し、参照する予測モードのパラメータ値を用いてＮＮパラメータを符号化する。また、nn_intra_param_ref_typeがそれ以外の場合は直前参照タイプであり、ＮＮパラメータ符号化部１２０は、直前に符号化したノードの値またはデフォルト値を用いてＮＮパラメータ（演算パラメータ）を符号化する。また、モード参照タイプの場合は、あらかじめ規定した複数のプリセットの値を使うことができる。モード参照タイプの場合、参照する予測モード（参照モード）は、処理対象の予測モード値からの差分（nn_intra_param_ref_mode_delta）で指定され、その差分が０の場合はプリセット使用モードであることを意味する。プリセットを使用する場合はnn_intra_param_ref_preset_idによってどのプリセットを使うかを識別する。また、パラメータを参照する場合でも、ＮＮパラメータ符号化部１２０は、バイアス値または重み係数の値をコピーするのではなく、参照する値との差分（nn_intra_bias_delta、nn_intra_w_delta）を符号化する。バイアス値または重み係数の値が、参照するパラメータ、プリセット、またはデフォルト値と多少が異なっても、効率良くパラメータを送ることができる。
【０２１２】
なお、ＮＮインター予測パラメータまたはＮＮループ内フィルタパラメータのシンタックスは、図５７および図５８に示すＮＮイントラ予測パラメータのシンタックスと同様であり、intra_predをinter_predまたはilfに読み替えるだけであるので説明を省略する。
【０２１３】
＜効果＞
以上、本実施の形態によれば、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタのパラメータの符号量を減らすことができ、符号化効率を向上させることができる。より具体的には、他の予測モードのパラメータを参照し、それとの差分を符号化することによって情報量を削減している。これはＮＮのパラメータは予測モードが異なっても値は類似するという特徴を発見したことに基づいている。
【０２１４】
また、他の予測モードのパラメータだけでなく、あらかじめ複数のプリセットを規定しておき、それらのいずれかと類似しているパラメータの場合はそれとの差分を送ることによって符号量を削減している。このプリセットには汎用的な画像に適用できるようなパラメータを規定しておくことによって、パラメータを符号化しなくてもある程度の符号化効率を実現することができ、符号化しなければならないパラメータの情報量を減らすことができる。
【０２１５】
また、直前参照タイプの符号化方法を設け、直前に符号化したパラメータとの差分を符号化するようにし、パラメータの符号量を削減している。これはＮＮのパラメータは直前のノードや直前の入力ノードとの相関が高いというという特徴を発見したことに基づいている。
【０２１６】
また、最初のノードまたは入力ノードの場合には、デフォルト値からの差分を符号化することによって符号量を削減している。これはＮＮのパラメータはある程度、値に偏りがあり、デフォルト値を設けた方が符号量を減らせることを発見したことに基づいている。
【０２１７】
また、参照する予測モードに特定値を指定した場合はプリセットのパラメータを参照するように切り替えており、そうすることによって、他の予測モードのパラメータを参照するのか、プリセットのパラメータを参照するのかを切り替えるための符号量を減らしている。より具体的には、参照モードデルタが０の場合にはプリセットのパラメータを参照するようにしている。参照モードデルタは処理対象の予測モードからの差分で参照する予測モードを指定する変数だが、それが０になることは異常なケース（エラー）である。本実施の形態では０になり得ないことを利用し、０の場合には別の参照方法に切り替えることによって符号量を有効活用している。
【０２１８】
なお、本実施の形態ではコンテキスト適応型２値算術符号化（ＣＡＢＡＣ）でパラメータ情報を符号化するが、その限りではなく、他の可変長符号化方法を用いてもよい。例えばゴロム符号化を用いてもよい。
【０２１９】
また、プリセットを使用するかどうかの情報を参照モードデルタが０かどうかによって判定しているが、その限りではなく、プリセットを使用するという情報（例えば図５７のref_preset_flag）を別に符号化してもよい。
【０２２０】
また、参照する予測モードまたはプリセットとの差分を符号化しているが、その限りではなく、差分情報を符号化せず、参照する予測モードやプリセットの値をそのままコピーしてパラメータ値として使用してもよい。
【０２２１】
また、プリセットを複数備える構成としているが、その限りではなく、１つのみとしてもよい。その場合はどのプリセットを参照するかという識別子の情報（例えば図５７のnn_intra_param_ref_preset_id）が不要になることは言うまでもない。
【０２２２】
（実施の形態６）
＜全体構成＞
図６０は、本実施の形態における画像復号装置の構成を示すブロック図である。
【０２２３】
本実施の形態における画像復号装置６００は、実施の形態２における画像復号装置２００の各構成要素を備え、さらに、ＮＮパラメータ復号部２２０を備える。
【０２２４】
＜動作（全体）＞
図６８は、画像復号装置６００による画像復号の全体の処理を示すフローチャートである。
【０２２５】
実施の形態６では、画像復号装置６００は、実施の形態２の図３０に示すフローに含まれる各ステップＳ２２１〜Ｓ２２８を行い、さらに、ステップＳ６０１、Ｓ６０２、Ｓ６０３、およびＳ６０４を行う。つまり、実施の形態６では、画像復号装置６００は、ＮＮイントラ予測、ＮＮインター予測、およびＮＮループ内フィルタのいずれかのパラメータ切換えタイミング時（Ｓ６０１）に、ステップＳ６０２〜Ｓ６０４の何れかのステップを行う。ステップＳ６０２〜Ｓ６０４のそれぞれでは、ＮＮパラメータ復号部２２０が、実施の形態２とは異なる特殊なＮＮイントラ予測パラメータ復号、ＮＮインター予測パラメータ復号、またはＮＮループ内フィルタパラメータ復号を行う。
【０２２６】
＜動作（ＮＮイントラ予測パラメータ復号フロー）＞
図６１は、図６８のステップＳ６０２におけるＮＮイントラ予測パラメータ復号の詳細を示すフローチャートである。
【０２２７】
まず、ＮＮパラメータ復号部２２０は、ＮＮイントラ予測の予測モード数（nn_intra_mode_num）を復号する（Ｓ５０１）。
【０２２８】
次に、ＮＮパラメータ復号部２２０は、各予測モードで、ステップＳ５０３〜Ｓ５０６の処理を行う（Ｓ５０２）。ここでｋは、処理対象の予測モードを示し、０から「予測モード数−１」まで１ずつ増加する変数である。
【０２２９】
具体的には、ＮＮパラメータ復号部２２０は、予測モードｋのパラメータ参照タイプ（nn_intra_param_ref_type[k]）を復号する（Ｓ５０３）。
【０２３０】
次に、ＮＮパラメータ復号部２２０は、パラメータ参照タイプが非参照タイプか否かを判定し（Ｓ５０４）、非参照タイプの場合には、パラメータ非参照タイプ復号を実施する（Ｓ５０５）、一方、非参照タイプでない場合（モード参照タイプまたは直前参照タイプの場合）には、ＮＮパラメータ復号部２２０は、パラメータ参照タイプ復号を実施する（Ｓ５０６）。
【０２３１】
＜動作（パラメータ非参照タイプ復号フロー）＞
図６２は、図６１のステップＳ５０５におけるパラメータ非参照タイプ復号の詳細を示すフローチャートである。
【０２３２】
まず、ＮＮパラメータ復号部２２０は、予測モードｋの階層数（nn_intra_layer_num[k]）を復号し（Ｓ５１１）、以降の処理を階層数分繰り返す（Ｓ５１２）。ここで、ｉは処理対象の階層を示し、０から「階層数−１」まで１ずつ増加する変数である。
【０２３３】
次に、ＮＮパラメータ復号部２２０は、階層ｉが最初の階層であるか否かを判定し（Ｓ５１３）、最初の階層であれば、入力ノード数（input_node_num）に参照画素数を設定する（Ｓ５１４）。一方、最初の階層でなければ、ＮＮパラメータ復号部２２０は、入力ノード数（input_node_num）に直前の階層のノード数（nn_intra_node_num[k][i-1]）を設定する（Ｓ５１５）。図１３を例に説明すると、階層ｉがn[k][0][x]の階層（ｉ＝０）であった場合は、ＮＮパラメータ復号部２２０は、入力ノード数に参照画素数である１１を設定する。もし階層ｉがn[k][1][x]の階層（ｉ＝１）であった場合は、ＮＮパラメータ復号部２２０は、直前の階層のノード数である４を入力ノード数に設定する。入力ノード数は以降の処理で使用する変数である。
【０２３４】
次に、ＮＮパラメータ復号部２２０は、階層ｉが最後の階層であるか否かを判定し（Ｓ５１６）、最後の階層である場合は、ノード数（nn_intra_node_num[k][i]）に予測画素数（出力画素数）（図１３の例では１６）を設定する（Ｓ５１７）。一方、最後の階層でない場合は、ＮＮパラメータ復号部２２０は、ノード数を復号する（Ｓ５１８）。
【０２３５】
次に、ＮＮパラメータ復号部２２０は、ノード数分のバイアス値（nn_intra_bias[k][i][j]）を復号し（Ｓ５１９、Ｓ５２０）、ノード数と入力ノード数分の重み係数（nn_intra_w[k][i][j][m]）を復号する（Ｓ５２１、Ｓ５２２）。ここでｊは、処理対象のノードを示し、０から「階層ｉのノード数−１」まで１ずつ増加する変数である。また、ｍは、処理対象の入力ノードを示し、０から「階層ｉのノードｊの入力ノード数−１」まで１ずつ増加する変数である。入力ノードとは、処理対象のノードに値を入力するノードであり、例えば図１３のn[k][0][0]の入力ノードは、参照画素０〜参照画素１１の１２個ある。
【０２３６】
＜動作（パラメータ参照タイプ復号フロー）＞
図６３は、図６１のステップＳ５０６におけるパラメータ参照タイプ復号の詳細を示すフローチャートである。
【０２３７】
まず、ＮＮパラメータ復号部２２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ５３１）、モード参照タイプであれば、参照モードデルタ（nn_intra_param_ref_mode_delta）を復号する（Ｓ５３２）。そして、ＮＮパラメータ復号部２２０は、参照モードデルタが０であるか否かを判定し（Ｓ５３３）、０であれば、プリセット使用モードをＯＮにし（Ｓ５３４）、０でなければ、プリセット使用モードをＯＦＦにする（Ｓ５３５）。
【０２３８】
次に、ＮＮパラメータ復号部２２０は、プリセット使用モードがＯＮであるか否かを判定し（Ｓ５３６）、ＯＮであれば、使用するプリセットのＩＤ（nn_intra_param_ref_preset_id）を復号（Ｓ５３７）する。一方、ＯＮでなければ、ＮＮパラメータ復号部２２０は、ｋから参照モードデルタを減算することにより参照モード（nn_intra_param_ref_mode）を算出する（Ｓ５３８）。パラメータ参照タイプが直前参照タイプであれば（Ｓ５３１のＮｏ）、ＮＮパラメータ復号部２２０は、ステップＳ５３２〜Ｓ５３８の処理を行わない。
【０２３９】
次に、ＮＮパラメータ復号部２２０は、パラメータ参照タイプで階層数を復号する（Ｓ５４０）。詳細は後述する。
【０２４０】
次に、ＮＮパラメータ復号部２２０は、階層数の分だけ以下の処理を繰り返す（Ｓ５４１）。ここでｉは処理対象の階層を示し、０から「階層数−１」まで１ずつ増加する変数である。
【０２４１】
具体的には、ＮＮパラメータ復号部２２０は、階層ｉが最初の階層であるか否かを判定し（Ｓ５４２）、最初の階層であれば、入力ノード数（input_node_num）に参照画素数を設定する（Ｓ５４３）。一方、最初の階層でなければ、ＮＮパラメータ復号部２２０は、入力ノード数（input_node_num）に直前の階層のノード数（nn_intra_node_num[k][i-1]）を設定する（Ｓ５４４）。
【０２４２】
次に、ＮＮパラメータ復号部２２０は、階層ｉが最後の階層であるか否かを判定し（Ｓ５４５）、最後の階層である場合は、ノード数（nn_intra_node_num[k][i]）に予測画素数（出力画素数）を設定する（Ｓ５４６）。一方、最後の階層でない場合は、ＮＮパラメータ復号部２２０は、パラメータ参照タイプでノード数を復号する（Ｓ５４７）。ノード数の復号についての詳細は後述する。
【０２４３】
次に、ＮＮパラメータ復号部２２０は、ノード数分のバイアス値を復号し（Ｓ５４８、Ｓ５４９）、ノード数と入力ノード数分の重み係数をパラメータ参照タイプで復号する（Ｓ５５０、Ｓ５５１）。ここで、ｊは、処理対象のノードを示し、０から「階層ｉのノード数−１」まで１ずつ増加する変数である。また、ｍは、処理対象の入力ノードを示し、０から「階層ｉのノードｊの入力ノード数−１」まで１ずつ増加する変数である。ステップＳ５４９におけるバイアス値の符号化（パラメータ参照タイプバイアス値復号）と、ステップＳ５５１の重み係数の復号（パラメータ参照タイプ重み係数復号）については後述する。
【０２４４】
＜動作（パラメータ参照タイプ階層数復号フロー）＞
図６４は、図６３のステップＳ５４０におけるパラメータ参照タイプ階層数復号の詳細を示すフローチャートである。
【０２４５】
まず、ＮＮパラメータ復号部２２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ５３１）、モード参照タイプであれば、さらに、プリセット使用モードがＯＮであるか否かを判定する（Ｓ５３６）。ここで、プリセット使用モードがＯＮであれば、ＮＮパラメータ復号部２２０は、プリセットＩＤが指すプリセットの階層数を予測モードｋの階層数に設定する（Ｓ５６３）。一方、プリセット使用モードがＯＦＦの場合は、ＮＮパラメータ復号部２２０は、参照する予測モードの階層数を予測モードｋの階層数に設定する（Ｓ５６４）。
【０２４６】
また、予測モードｋのパラメータ参照タイプが直接参照タイプの場合は（Ｓ５３１のＮｏ）、ＮＮパラメータ復号部２２０は、予測モードｋの階層数を復号する（Ｓ５６５）。
【０２４７】
本処理では、モード参照タイプの場合は、ＮＮパラメータ復号部２２０は、階層数を復号せず、プリセットもしくは他の予測モードの情報から階層数を取得する。
【０２４８】
＜動作（パラメータ参照タイプノード数復号フロー）＞
図６５は、図６３のステップＳ５４７におけるパラメータ参照タイプノード数復号の詳細を示すフローチャートである。
【０２４９】
まず、ＮＮパラメータ復号部２２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ５３１）、モード参照タイプであれば、さらに、プリセット使用モードがＯＮであるか否かを判定する（Ｓ５３６）。ここで、プリセット使用モードがＯＮであれば、ＮＮパラメータ復号部２２０は、プリセットＩＤが指すプリセットのノード数を予測モードｋの階層ｉのノード数に設定する（Ｓ５７３）。一方、プリセット使用モードがＯＦＦの場合は、ＮＮパラメータ復号部２２０は、参照する予測モードのノード数を予測モードｋの階層ｉのノード数に設定する（Ｓ５７４）。
【０２５０】
また、予測モードｋのパラメータ参照タイプが直接参照タイプの場合は（Ｓ５３１のＮｏ）、ＮＮパラメータ復号部２２０は、予測モードｋの階層ｉのノード数デルタを復号する（Ｓ５７５）。そして、ＮＮパラメータ復号部２２０は、階層ｉが最初の階層であるか否かを判定し（Ｓ５７６）、最初の階層であれば、参照画素数から、ステップＳ５７５で復号したノード数デルタを減算し、その減算結果を予測モードｋの階層ｉのノード数に設定する（Ｓ５７７）。もし、階層ｉが最初の階層でなければ、ＮＮパラメータ復号部２２０は、直前の階層のノード数から、ステップＳ５７５で復号したノード数デルタを減算し、その減算結果を予測モードｋの階層ｉのノード数に設定する（Ｓ５７８）。
【０２５１】
本処理では、モード参照タイプの場合は、ＮＮパラメータ復号部２２０は、ノード数を復号せず、プリセットもしくは他の予測モードの情報からノード数を取得する。
【０２５２】
＜動作（パラメータ参照タイプバイアス値復号フロー）＞
図６６は、図６３のステップＳ５４９におけるパラメータ参照タイプバイアス値復号の詳細を示すフローチャートである。
【０２５３】
まず、ＮＮパラメータ復号部２２０は、予測モードｋの階層ｉのノードｊのバイアス値デルタを復号する（Ｓ５８１）。
【０２５４】
次に、ＮＮパラメータ復号部２２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ５３１）、モード参照タイプであれば、さらに、プリセット使用モードがＯＮであるか否かを判定する（Ｓ５３６）。ここで、プリセット使用モードがＯＮであれば、ＮＮパラメータ復号部２２０は、プリセットＩＤが指すプリセットのバイアス値を参照バイアス値に設定する（Ｓ５８４）。一方、プリセット使用モードがＯＦＦの場合は、ＮＮパラメータ復号部２２０は、参照する予測モードのバイアス値を参照バイアス値に設定する（Ｓ５８５）。
【０２５５】
また、予測モードｋのパラメータ参照タイプが直接参照タイプの場合（Ｓ５３１のＮｏ）、ＮＮパラメータ復号部２２０は、ノードｊが階層ｉで最初のノードであるか否かを判定する（Ｓ５８６）。最初のノードであれば、ＮＮパラメータ復号部２２０は、階層ｉのデフォルトバイアス値を参照バイアス値に設定し（Ｓ５８７）、最初のノードでないならば、直前のノードのバイアス値を参照バイアス値に設定する（Ｓ５８８）。
【０２５６】
次に、ＮＮパラメータ復号部２２０は、参照バイアス値から、ステップＳ５８１で復号したバイアス値デルタを減算し、その減算結果を予測モードｋの階層ｉのノードｊのバイアス値に設定する（Ｓ５８９）。
【０２５７】
＜動作（パラメータ参照タイプ重み係数復号フロー）＞
図６７は、図６３のステップＳ５５１におけるパラメータ参照タイプ重み係数復号の詳細を示すフローチャートである。
【０２５８】
まず、ＮＮパラメータ復号部２２０は、予測モードｋの階層ｉのノードｊの入力ノードｍの重み係数デルタを復号する（Ｓ５９１）。
【０２５９】
次に、ＮＮパラメータ復号部２２０は、予測モードｋのパラメータ参照タイプがモード参照タイプであるか否かを判定し（Ｓ５３１）、モード参照タイプであれば、さらに、プリセット使用モードがＯＮであるか否かを判定する（Ｓ５３６）。ここで、プリセット使用モードがＯＮであれば、ＮＮパラメータ復号部２２０は、プリセットＩＤが指すプリセットの参照重み係数を参照重み係数に設定する（Ｓ５９４）。一方、プリセット使用モードがＯＦＦの場合は、ＮＮパラメータ復号部２２０は、参照する予測モードの重み係数を参照重み係数に設定する（Ｓ５９５）。
【０２６０】
また、予測モードｋのパラメータ参照タイプが直接参照タイプの場合（Ｓ５３１のＮｏ）、ＮＮパラメータ復号部２２０は、入力ノードｍがノードｊで最初の入力ノードであるか否かを判定する（Ｓ５９６）。最初の入力ノードであれば、ＮＮパラメータ復号部２２０は、階層ｉのノードｊのデフォルト重み係数を参照重み係数に設定し（Ｓ５９７）、最初の入力ノードでないならば、直前の入力ノードの重み係数を参照重み係数に設定する（Ｓ５９８）。
【０２６１】
次に、ＮＮパラメータ復号部２２０は、参照重み係数から、ステップＳ５９１で復号した重み係数デルタを減算し、その減算結果を予測モードｋの階層ｉのノードｊの入力ノードｍの重み係数に設定する（Ｓ５９９）。
【０２６２】
＜動作（ＮＮインター予測パラメータ符号化フロー）、動作（ＮＮループ内フィルタパラメータ符号化フロー）＞
図６８のステップＳ６０３およびＳ６０４におけるＮＮインター予測パラメータ復号およびＮＮループ内フィルタパラメータ復号のそれぞれのフローは、図６１〜図６７に示すＮＮイントラ予測パラメータ復号のフローと同様であり、ＮＮイントラ予測をＮＮインター予測またはＮＮループ内フィルタに読み替えるだけであるので説明を省略する。
【０２６３】
＜シンタックス構成＞
本実施の形態における各シンタックスは、実施の形態５の図５７および図５８に示す各シンタックスと同じであるため、説明を省略する。また、図５７および図５８はＮＮイントラ予測パラメータのシンタックスだが、ＮＮインター予測パラメータおよびＮＮループ内フィルタパラメータのシンタックスも同様であり、intra_predをinter_predとilfに読み替えるだけであるので説明を省略する。
【０２６４】
＜効果＞
実施の形態５と同様のため、説明を省略する。
【０２６５】
＜実施の形態５および６のまとめ＞
本開示の第１の態様（１）に係る画像の符号化または復号の方法では、非線形フィルタの演算パラメータを符号化または復号し、その演算パラメータを用いて対象画像を符号化または復号する。
【０２６６】
また、本開示の第２の態様（１−１）に係る方法では、第１の態様に係る方法において、符号化または復号済みの演算パラメータを参照して、演算パラメータを符号化または復号してもよい。
【０２６７】
また、本開示の第３の態様（１−１−１）に係る方法では、第２の態様に係る方法において、前記演算パラメータを用いた処理を複数モード備え、演算パラメータは符号化または復号済みの他のモードの演算パラメータを参照して、符号化または復号してもよい。
【０２６８】
また、本開示の第４の態様（１−１−２）に係る方法では、第２の態様に係る方法において、直前に符号化または復号した演算パラメータを参照して、演算パラメータを符号化または復号してもよい。
【０２６９】
また、本開示の第５の態様（１−１−３）に係る方法では、第２の態様に係る方法において、参照するデータとの差分値を符号化または復号してもよい。
【０２７０】
また、本開示の第６の態様（１−２）に係る方法では、第１の態様に係る方法において、特定の演算パラメータを規定し、それを参照して演算パラメータを符号化または復号してもよい。
【０２７１】
また、本開示の第７の態様（１−２−１）に係る方法では、第６の態様に係る方法において、複数の演算パラメータを規定し、それらの内の１つを指定するための識別子を符号化または復号し、指定した演算パラメータを参照して演算パラメータを符号化または復号してもよい。
【０２７２】
また、本開示の第８の態様（１−２−２）に係る方法では、第６の態様に係る方法において、参照するデータとの差分値を符号化または復号してもよい。
【０２７３】
ここで、本開示の第９の態様（２）に係る画像の符号化または復号の方法では、イントラ予測に用いる演算パラメータを符号化または復号する。
【０２７４】
また、本開示の第１０の態様（２−１）に係る方法では、第９の態様に係る方法において、符号化または復号済みの演算パラメータを参照して、演算パラメータを符号化または復号してもよい。
【０２７５】
また、本開示の第１１の態様（２−１−１）に係る方法では、第１０の態様に係る方法において、前記演算パラメータを用いた処理を複数モード備え、演算パラメータは符号化または復号済みの他のモードの演算パラメータを参照して、符号化または復号してもよい。
【０２７６】
また、本開示の第１２の態様（２−１−２）に係る方法では、第１０の態様に係る方法において、直前に符号化または復号した演算パラメータを参照して、演算パラメータを符号化または復号してもよい。
【０２７７】
また、本開示の第１３の態様（２−１−３）に係る方法では、第１０の態様に係る方法において、参照するデータとの差分値を符号化または復号してもよい。
【０２７８】
また、本開示の第１４の態様（２−２）に係る方法では、第９の態様に係る方法において、特定の演算パラメータを規定し、それを参照して演算パラメータを符号化または復号してもよい。
【０２７９】
また、本開示の第１５の態様（２−２−１）に係る方法では、第１４の態様に係る方法において、複数の演算パラメータを規定し、それらの内の１つを指定するための識別子を符号化または復号し、指定した演算パラメータを参照して演算パラメータを符号化または復号してもよい。
【０２８０】
また、本開示の第１６の態様（２−２−２）に係る方法では、第１４の態様に係る方法において、参照するデータとの差分値を符号化または復号してもよい。
【０２８１】
以上の各実施例において、機能ブロックの各々は、通常、ＭＰＵやメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、ソフトウェア（プログラム）によって実現することができ、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。そして、このようなソフトウェアをダウンロード等により配布してもよいし、ＣＤ−ＲＯＭなどの記録媒体に記録して配布してもよい。なお、各機能ブロックをハードウェア（専用回路）によって実現することも、当然、可能である。
【０２８２】
また、各実施例において説明した処理は、単一の装置（システム）を用いて集中処理することによって実現してもよく、あるいは、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０２８３】
本開示は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本開示の範囲内に包含されるものであることは言うまでもない。
【０２８４】
＜実施の形態１〜６のまとめ＞
図６９Ａは、本開示の一態様に係る画像符号化装置のブロック図である。
【０２８５】
画像符号化装置１０は、上記各実施の形態における画像符号化装置１００，３００，５００に対応し、ピクチャをブロック毎に変換し、ループ内フィルタを用いて変換済みのブロックを再構築し、そのピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、再構築されたブロックを予測し、そのブロックを符号化する。また、この画像符号化装置１０は、画像符号化部１１とパラメータ符号化部１２とを備える。
【０２８６】
画像符号化部１１は、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を符号化する。パラメータ符号化部１２は、その非線形処理に用いられる非線形フィルタの演算パラメータを符号化する。
【０２８７】
図６９Ｂは、本開示の一態様に係る画像符号化方法のフローチャートである。
【０２８８】
画像符号化方法は、ピクチャをブロック毎に変換し、ループ内フィルタを用いて変換済みのブロックを再構築し、そのピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、再構築されたブロックを予測し、そのブロックを符号化する方法であって、ステップＳ１１とステップＳ１２とを含む。ステップＳ１１では、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を符号化する。ステップＳ１２では、その非線形処理に用いられる非線形フィルタの演算パラメータを符号化する。
【０２８９】
このように、本開示の一態様に係る画像符号化装置および画像符号化方法では、非線形フィルタを用いることによって、画像を効率的に符号化することができる。
【０２９０】
ここで、例えば、非線形フィルタはニューラルネットワークを含み、演算パラメータの符号化では、ニューラルネットワークに含まれる各ノード間の重み係数を演算パラメータとして符号化してもよい。また、例えば、その演算パラメータの符号化では、さらに、ニューラルネットワークの階層数またはノード数を演算パラメータとして符号化してもよい。
【０２９１】
また、画像の符号化では、符号化される前記画像のプロファイルに応じて、ニューラルネットワークの階層数またはノード数の最大値を規定し、規定された最大値以下の階層数またはノード数のニューラルネットワークを用いた非線形処理を行ってもよい。
【０２９２】
これにより、例えば図２８に示すように、プロファイルに応じて階層数またはノード数が制限されるため、非線形処理の計算量を抑制することができ、低遅延を実現することができる。
【０２９３】
また、画像符号化方法では、さらに、固定パラメータを有する線形フィルタと前記非線形フィルタとのうちの何れか一方を、使用されるべきフィルタとして示す切換え情報を符号化し、画像の符号化では、画像の符号化に用いられる処理を、前記切換え情報にしたがって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、前記非線形フィルタを用いた前記非線形処理と、前記線形フィルタを用いた線形処理とに切換えてもよい。
【０２９４】
例えば、切換え情報は、図２２に示す、intra_pred_type、inter_pred_type、またはilf_typeである。線形処理は、従来のイントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つであり、固定されたパラメータ（重み係数など）を有する線形フィルタを用いる。
【０２９５】
これにより、非線形処理と線形処理とが切換えられるため、符号量と画像の歪み（画質）とによって定義される評価値が高い処理を選択することができ、符号量および画質劣化を共に抑えることができる。
【０２９６】
また、非線形処理は、複数のモードのうちの何れかのモードに対応付けられ、画像の符号化では、そのモードが指定される場合に、非線形処理を行って画像を符号化してもよい。
【０２９７】
これにより、例えば図２２に示すnn_intra_pred_mode、nn_inter_pred_mode、およびnn_ilf_modeなどのモードを指定することによって、そのモードに対応する適切な非線形処理を行うことができる。
【０２９８】
また、画像符号化方法では、さらに、指定されたモードを示す情報を符号化してもよい。
【０２９９】
これにより、例えば図２２〜図２６に示すように、モードを示す情報が符号化されるため、そのモードを画像復号装置に通知することができ、適切に画像を復号することができる。
【０３００】
また、画像符号化方法では、さらに、前記画像に含まれるブロック、スライス、タイル、ピクチャまたはＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）である画像単位ごとに、前記演算パラメータを切換え、前記画像の符号化では、前記画像単位に対して切換えられた演算パラメータを有する前記非線形フィルタを用いた非線形処理を行って、前記画像単位を符号化してもよい。例えば、演算パラメータの符号化では、画像に含まれる、シーケンス、ＧＯＰおよびピクチャのうちの少なくとも１つの先頭において、複数の非線形フィルタのそれぞれに対応する、第１の識別子に関連付けられた演算パラメータを符号化し、画像の符号化では、画像単位ごとに、第１の識別子によって演算パラメータを指定し、指定された演算パラメータの非線形フィルタを用いた非線形処理を行って画像を符号化する。
【０３０１】
例えば、図１６〜図１８に示すように、画像単位ごとに、pps_nps_idまたはslice_nps_idなどの第１の識別子によって、その第１の識別子と同一のnps_idに関連付けられた演算パラメータ（nn_intra_pred_parameter_data()、nn_inter_pred_parameter_data()またはnn_ilf_parameter_data()）が指定される。これにより、演算パラメータを画像単位ごとに適切に用いることができる。
【０３０２】
また、画像符号化方法では、さらに、非線形フィルタが有効か無効かを示す有効／無効情報を符号化し、画像の符号化では、その有効／無効情報が有効を示す場合に、非線形処理を行ってもよい。
【０３０３】
例えば、図１５に示すnn_intra_pred_enabled_flagなどのフラグである有効／無効情報が符号化され、そのフラグが有効を示す場合に、ＮＮイントラ予測などの非線形処理が行われる。これにより、画像復号装置は、有効／無効情報が無効を示す場合には、演算パラメータなどに対する処理を省くことができ、簡単に画像を復号することができる。
【０３０４】
また、画像符号化方法では、さらに、符号化される画像のプロファイルに応じて、有効／無効情報によって示される内容を切換えてもよい。
【０３０５】
これにより、プロファイルに応じて非線形処理を行うか否かを選択することができる。
【０３０６】
また、画像符号化方法では、さらに、画像を扱うアプリケーションプログラムにおいて、画像処理に対して低遅延の要求がある場合には、有効／無効情報によって示される内容を無効に切換えてもよい。
【０３０７】
これにより、低遅延の要求があるアプリケーションプログラムでは、非線形処理の代わりに、固定パラメータを有する線形フィルタを用いたイントラ予測などの線形処理を行うことができ、その要求に応じた画像の符号化を実現することができる。
【０３０８】
また、画像符号化方法では、さらに、その画像を教師データとして用いて学習することによって演算パラメータを決定してもよい。例えば、その画像符号化方法では、さらに、画像に含まれるブロックごとに、当該ブロックの特徴に応じて、当該ブロックを複数のクラスのうちの何れかのクラスに分類し、演算パラメータの決定では、そのクラスごとに、当該クラスに分類された少なくとも１つのブロックと、その少なくとも１つのブロックのそれぞれの周辺画素とを教師データとして用いて学習することによって、当該クラスに対応する演算パラメータを決定する。
【０３０９】
これにより、例えば図７〜図１４に示すように、演算パラメータを、符号化対象の画像に最適化することができ、画像をより効率的に符号化することができる。
【０３１０】
また、演算パラメータの決定では、画像のうち、予め定められた基準よりも複雑性が高い領域のみを用いて学習することによって、演算パラメータを決定してもよい。
【０３１１】
これにより、非線形処理の精度または性能を低下させることなく学習の範囲を絞ることができ、非線形フィルタの演算パラメータ量を削減することができる。
【０３１２】
また、変換では、画像における空間領域から周波数領域への変換を行い、非線形フィルタを用いたイントラ予測またはインター予測が行われるか、線形フィルタを用いたイントラ予測またはインター予測が行われるかに応じて、その変換の方法を切換えてもよい。例えば、その変換では、非線形フィルタを用いたイントラ予測が行われる場合には、変換の方法を、変更可能な変換行列を用いた方法に切換え、変更可能な変換行列を用いた方法にしたがって変換を行う。
【０３１３】
例えば図３９に示すように、非線形フィルタを用いたイントラ予測（ＮＮイントラ予測）が行われる場合には、ＫＬ変換などの、変更可能な変換行列を用いた方法によって変換が行われ、線形フィルタを用いたイントラ予測（従来のイントラ予測）が行われる場合には、離散コサイン変換などの固定変換によって変換が行われる。これにより、ＮＮイントラ予測のような非線形処理が行われる場合には、その非線形処理に適した変換を行うことができ、符号化効率を向上することができる。
【０３１４】
また、画像の符号化では、画像に含まれるブロックが所定のサイズ以下の場合には、非線形フィルタを用いたイントラ予測を非線形処理としてそのブロックに対して行い、ブロックが所定のサイズよりも大きい場合には、固定パラメータの線形フィルタを用いたイントラ予測をそのブロックに対して行ってもよい。
【０３１５】
例えば図３６に示すように、画像に含まれるブロック（予測ブロック）が４×４画素のサイズ以下の場合には、ＮＮイントラ予測が予測ブロックに対して行われ、４×４画素のサイズよりも大きい場合には、固定イントラ予測が予測ブロックに対して行われる。これにより、予測性能の低下を抑制しつつ演算パラメータのデータ量を削減することができ、符号化効率を向上させることができる。
【０３１６】
また、画像の符号化では、画像のうちの輝度成分に対して非線形処理を行い、画像のうちの色差成分に対しては、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、入出力関係が線形となる線形処理を行ってもよい。
【０３１７】
例えば図３６〜図３８に示すように、輝度成分に対しては、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタが行われ、色差成分に対しては、固定イントラ予測、固定インター予測、または固定ループ内フィルタが行われる。なお、固定イントラ予測、固定インター予測、および固定ループ内フィルタのそれぞれは、固定パラメータを有する線形フィルタを用いて行われる従来のインター予測、イントラ予測またはループ内フィルタである。これにより、予測精度の低下やノイズ増加を抑制しつつ演算パラメータのデータ量を削減することができ、符号化効率を向上させることができる。
【０３１８】
また、演算パラメータの符号化では、符号化対象の前記演算パラメータとは異なる符号化済みの演算パラメータを参照して、符号化対象の前記演算パラメータを符号化してもよい。具体的には、演算パラメータの符号化では、符号化対象の演算パラメータと符号化済みの演算パラメータとの差分を符号化する。
【０３１９】
これにより、例えば図５４〜図５６に示すように、演算パラメータを効率的に符号化することができる。
【０３２０】
また、非線形処理には、複数のモードがあり、符号化済みの演算パラメータは、符号化対象の演算パラメータに対応する非線形処理のモードとは異なる他のモードの非線形処理の符号化済みの演算パラメータであってもよい。
【０３２１】
これにより、例えば図５６のステップＳ４８４およびＳ４８８に示すように、演算パラメータ（重み係数）を効率的に符号化することができる。なお、ステップＳ４８４における参照モードの階層ｉのノードｊの入力ノードｍの重み係数は、符号化済みの演算パラメータである。
【０３２２】
また、符号化済みの演算パラメータは、符号化対象の演算パラメータの直前に符号化された演算パラメータであってもよい。
【０３２３】
これにより、例えば図５６のステップＳ４８７およびＳ４８８に示すように、演算パラメータ（重み係数）を効率的に符号化することができる。なお、ステップＳ４８７における直前の入力ノードの重み係数は、符号化対象の演算パラメータの直前に符号化された演算パラメータである。
【０３２４】
また、演算パラメータの符号化では、予め規定されたパラメータである規定パラメータを参照して、符号化対象の演算パラメータを符号化してもよい。
【０３２５】
これにより、例えば図５６のステップＳ４８３およびＳ４８８に示すように、演算パラメータ（重み係数）を効率的に符号化することができる。なお、ステップＳ４８３におけるプリセットＩＤのプリセットの階層ｉのノードｊの入力ノードｍの重み係数は、予め規定されたパラメータである規定パラメータである。
【０３２６】
また、演算パラメータの符号化では、予め定められた複数のパラメータのうちの何れか１つのパラメータを、当該パラメータの第２の識別子を用いて指定し、指定されたパラメータを規定パラメータとして参照し、画像符号化方法では、さらに、その第２の識別子を符号化してもよい。
【０３２７】
例えば、図５２のステップＳ４３７において、プリセットＩＤが第２の識別子として指定されて符号化される。これにより、適切な規定パラメータを選択することができ、演算パラメータをより効率的に符号化することができる。
【０３２８】
図７０Ａは、本開示の一態様に係る画像復号装置のブロック図である。
【０３２９】
画像復号装置２０は、上記各実施の形態における画像復号装置２００，４００，６００に対応し、符号化ピクチャをブロック毎に逆変換し、ループ内フィルタを用いて逆変換済みの前記ブロックを再構築し、前記符号化ピクチャ内の復号済みの画素を用いたイントラ予測又は他の符号化ピクチャ内の復号済みの画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、そのブロックを復号する。また、この画像復号装置２０は、パラメータ復号部２１と画像復号部２２とを備える。
【０３３０】
パラメータ復号部２１は、非線形フィルタの演算パラメータを復号する。画像復号部２２は、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、復号された演算パラメータを有する非線形フィルタを用いた、入出力の関係が非線形となる非線形処理を行ってそのブロックを含む画像を復号する。
【０３３１】
図７０Ｂは、本開示の一態様に係る画像復号方法のフローチャートである。
【０３３２】
画像復号方法は、符号化ピクチャをブロック毎に逆変換し、ループ内フィルタを用いて逆変換済みの前記ブロックを再構築し、前記符号化ピクチャ内の復号済みの画素を用いたイントラ予測又は他の符号化ピクチャ内の復号済みの画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、そのブロックを復号する方法であって、ステップＳ２１とステップＳ２２とを含む。ステップＳ２１では、非線形フィルタの演算パラメータを復号する。ステップＳ２２では、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、復号された演算パラメータを有する非線形フィルタを用いた、入出力の関係が非線形となる非線形処理を行ってそのブロックを含む画像を復号する。
【０３３３】
このように、本開示の一態様に係る画像復号装置および画像復号方法では、非線形フィルタを用いることによって、効率的に符号化された画像を適切に復号することができる。
【０３３４】
ここで、例えば、非線形フィルタはニューラルネットワークを含み、演算パラメータの復号では、ニューラルネットワークに含まれる各ノード間の重み係数を演算パラメータとして復号してもよい。また、例えば、演算パラメータの復号では、さらに、ニューラルネットワークの階層数またはノード数を演算パラメータとして復号してもよい。
【０３３５】
また、画像復号方法では、さらに、固定パラメータを有する線形フィルタと非線形フィルタとのうちの何れか一方を、使用されるべきフィルタとして示す切換え情報を復号し、画像の復号では、画像の復号に用いられる処理を、切換え情報にしたがって、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、非線形フィルタを用いた非線形処理と、線形フィルタを用いた線形処理とに切換えてもよい。
【０３３６】
例えば、切換え情報は、図２２に示す、intra_pred_type、inter_pred_type、またはilf_typeである。線形処理は、従来のイントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つであり、固定されたパラメータ（重み係数など）を有する線形フィルタを用いる。
【０３３７】
これにより、非線形処理と線形処理とが切換えられるため、符号量と画像の歪み（画質）とによって定義される評価値が高い処理を選択することができ、符号量および画質劣化を共に抑えることができる。
【０３３８】
また、非線形処理は、複数のモードのうちの何れかのモードに対応付けられ、画像の復号では、モードが指定される場合に、非線形処理を行って画像を復号してもよい。
【０３３９】
これにより、例えば図２２に示すnn_intra_pred_mode、nn_inter_pred_mode、およびnn_ilf_modeなどのモードが指定されることによって、そのモードに対応する適切な非線形処理を行うことができる。
【０３４０】
また、画像復号方法では、さらに、指定されたモードを示す情報を復号してもよい。
【０３４１】
これにより、例えば図２２〜図２６に示すように、モードを示す情報が復号されるため、画像符号化装置から通知されるそのモードにしたがって、適切に画像を復号することができる。
【０３４２】
また、画像復号方法では、さらに、画像に含まれるブロック、スライス、タイル、ピクチャまたはＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）である画像単位ごとに、演算パラメータを切換え、画像の復号では、画像単位に対して切換えられた演算パラメータを有する非線形フィルタを用いた非線形処理を行って、画像単位を復号してもよい。例えば、演算パラメータの復号では、画像に含まれる、シーケンス、ＧＯＰおよびピクチャのうちの少なくとも１つの先頭において、複数の非線形フィルタのそれぞれに対応する、第１の識別子に関連付けられた演算パラメータを復号し、画像の復号では、画像単位ごとに、その第１の識別子によって演算パラメータを指定し、指定された演算パラメータの非線形フィルタを用いた非線形処理を行って画像を復号する。
【０３４３】
例えば、図１６〜図１８に示すように、画像単位ごとに、pps_nps_idまたはslice_nps_idなどの第１の識別子によって、その第１の識別子と同一のnps_idに関連付けられた演算パラメータ（nn_intra_pred_parameter_data()、nn_inter_pred_parameter_data()またはnn_ilf_parameter_data()）が指定される。これにより、演算パラメータを画像単位ごとに適切に用いることができる。
【０３４４】
また、画像復号方法では、さらに、非線形フィルタが有効か無効かを示す有効／無効情報を復号し、画像の復号では、その有効／無効情報が有効を示す場合に、非線形処理を行ってもよい。
【０３４５】
例えば、図１５に示すnn_intra_pred_enabled_flagなどのフラグである有効／無効情報が復号され、そのフラグが有効を示す場合に、ＮＮイントラ予測などの非線形処理が行われる。これにより、画像復号装置は、有効／無効情報が無効を示す場合には、演算パラメータなどに対する処理を省くことができ、簡単に画像を復号することができる。
【０３４６】
また、逆変換では、画像における周波数領域から空間領域への逆変換を行い、非線形フィルタを用いたイントラ予測またはインター予測が行われるか、線形フィルタを用いたイントラ予測またはインター予測が行われるかに応じて、逆変換の方法を切換えてもよい。例えば、逆変換では、非線形フィルタを用いたイントラ予測が行われる場合には、逆変換の方法を、変更可能な変換行列を用いた方法に切換え、変更可能な変換行列を用いた方法にしたがって逆変換を行ってもよい。
【０３４７】
例えば図４８に示すように、非線形フィルタを用いたイントラ予測（ＮＮイントラ予測）が行われる場合には、逆ＫＬ変換などの、変更可能な変換行列を用いた方法によって変換が行われ、線形フィルタを用いたイントラ予測（従来のイントラ予測）が行われる場合には、逆離散コサイン変換などの逆固定変換によって逆変換が行われる。これにより、ＮＮイントラ予測のような非線形処理が行われる場合には、その非線形処理に適した逆変換を行うことができ、符号化効率を向上することができる。
【０３４８】
また、画像の復号では、画像に含まれるブロックが所定のサイズ以下の場合には、非線形フィルタを用いたイントラ予測を非線形処理としてそのブロックに対して行い、ブロックが所定のサイズよりも大きい場合には、固定パラメータの線形フィルタを用いたイントラ予測をそのブロックに対して行ってもよい。
【０３４９】
例えば図４５に示すように、画像に含まれるブロック（予測ブロック）が４×４画素のサイズ以下の場合には、ＮＮイントラ予測が予測ブロックに対して行われ、４×４画素のサイズよりも大きい場合には、固定イントラ予測が予測ブロックに対して行われる。これにより、予測性能の低下を抑制しつつ演算パラメータのデータ量を削減することができ、符号化効率を向上させることができる。
【０３５０】
また、画像の復号では、画像のうちの輝度成分に対して非線形処理を行い、画像のうちの色差成分に対しては、イントラ予測、インター予測およびループ内フィルタのうちの少なくとも１つにおいて、入出力関係が線形となる線形処理を行ってもよい。
【０３５１】
例えば図４５〜図４７に示すように、輝度成分に対しては、ＮＮイントラ予測、ＮＮインター予測、またはＮＮループ内フィルタが行われ、色差成分に対しては、固定イントラ予測、固定インター予測、または固定ループ内フィルタが行われる。なお、固定イントラ予測、固定インター予測、および固定ループ内フィルタのそれぞれは、固定パラメータを有する線形フィルタを用いて行われる従来のインター予測、イントラ予測またはループ内フィルタである。これにより、予測精度の低下やノイズ増加を抑制しつつ演算パラメータのデータ量を削減することができ、符号化効率を向上させることができる。
【０３５２】
また、演算パラメータの復号では、復号対象の演算パラメータとは異なる復号済みの演算パラメータを参照して、復号対象の演算パラメータを復号してもよい。具体的には、演算パラメータの復号では、復号対象の演算パラメータと復号済みの演算パラメータとの差分を復号する。
【０３５３】
これにより、例えば図６５〜図６７に示すように、演算パラメータを効率的に復号することができる。
【０３５４】
また、非線形処理には、複数のモードがあり、復号済みの演算パラメータは、復号対象の演算パラメータに対応する非線形処理のモードとは異なる他のモードの非線形処理の復号済みの演算パラメータであってもよい。
【０３５５】
これにより、例えば図６７のステップＳ５９５およびＳ５９９に示すように、演算パラメータ（重み係数）を効率的に復号することができる。なお、ステップＳ５９５における参照モードの階層ｉのノードｊの入力ノードｍの重み係数は、復号済みの演算パラメータである。
【０３５６】
また、復号済みの演算パラメータは、復号対象の演算パラメータの直前に復号された演算パラメータであってもよい。
【０３５７】
これにより、例えば図６７のステップＳ５９８およびＳ５９９に示すように、演算パラメータ（重み係数）を効率的に復号することができる。なお、ステップＳ５９８における直前の入力ノードの重み係数は、復号済みの演算パラメータである。
【０３５８】
また、演算パラメータの復号では、予め規定されたパラメータである規定パラメータを参照して、復号対象の演算パラメータを復号してもよい。
【０３５９】
これにより、例えば図６７のステップＳ５９４およびＳ５９９に示すように、演算パラメータ（重み係数）を効率的に復号することができる。なお、ステップＳ５９４におけるプリセットＩＤのプリセットの階層ｉのノードｊの入力ノードｍの重み係数は、予め規定されたパラメータである規定パラメータである。
【０３６０】
また、画像復号方法では、さらに、第２の識別子を復号し、演算パラメータの復号では、予め定められた複数のパラメータのうちの何れか１つのパラメータを、その第２の識別子を用いて指定し、指定されたパラメータを規定パラメータとして参照してもよい。
【０３６１】
例えば、図６３のステップＳ５３７において、プリセットＩＤが第２の識別子として復号される。これにより、適切な規定パラメータを選択することができ、演算パラメータをより効率的に復号することができる。
【０３６２】
なお、これらの包括的または具体的な態様は、システム、方法、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【０３６３】
（実施の形態７）
上記各実施の形態で示した動画像符号化方法（画像符号化方法）または動画像復号化方法（画像復号方法）の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ＩＣカード、半導体メモリ等、プログラムを記録できるものであればよい。
【０３６４】
さらにここで、上記各実施の形態で示した動画像符号化方法（画像符号化方法）や動画像復号化方法（画像復号方法）の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【０３６５】
図７１は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０６、ex１０７、ex１０８、ex１０９、ex１１０が設置されている。
【０３６６】
このコンテンツ供給システムex１００は、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ex１０６からex１１０を介して、コンピュータex１１１、ＰＤＡ（Personal Digital Assistant）ex１１２、カメラex１１３、携帯電話ex１１４、ゲーム機ex１１５などの各機器が接続される。
【０３６７】
しかし、コンテンツ供給システムex１００は図７１のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex１０６からex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【０３６８】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex１１６はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex１１４は、ＧＳＭ（登録商標）（Global System for Mobile Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＬＴＥ（Long Term Evolution）方式、ＨＳＰＡ(High Speed Packet Access)の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０３６９】
コンテンツ供給システムex１００では、カメラex１１３等が基地局ex１０９、電話網ex１０４を通じてストリーミングサーバex１０３に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex１１３を用いて撮影するコンテンツ（例えば、音楽ライブの映像等）に対して上記各実施の形態で説明したように符号化処理を行い（即ち、本開示の一態様に係る画像符号化装置として機能する）、ストリーミングサーバex１０３に送信する。一方、ストリーミングサーバex１０３は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４、ゲーム機ex１１５等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する（即ち、本開示の一態様に係る画像復号装置として機能する）。
【０３７０】
なお、撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするストリーミングサーバex１０３で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex１０３で行ってもよいし、互いに分担して行ってもよい。また、カメラex１１３に限らず、カメラex１１６で撮影した静止画像および／または動画像データを、コンピュータex１１１を介してストリーミングサーバex１０３に送信してもよい。この場合の符号化処理はカメラex１１６、コンピュータex１１１、ストリーミングサーバex１０３のいずれで行ってもよいし、互いに分担して行ってもよい。
【０３７１】
また、これら符号化・復号化処理は、一般的にコンピュータex１１１や各機器が有するＬＳＩex５００において処理する。ＬＳＩex５００は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な何らかの記録メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex１１４がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex１１４が有するＬＳＩex５００で符号化処理されたデータである。
【０３７２】
また、ストリーミングサーバex１０３は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【０３７３】
以上のようにして、コンテンツ供給システムex１００では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex１００では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【０３７４】
なお、コンテンツ供給システムex１００の例に限らず、図７２に示すように、デジタル放送用システムex２００にも、上記各実施の形態の少なくとも動画像符号化装置（画像符号化装置）または動画像復号化装置（画像復号装置）のいずれかを組み込むことができる。具体的には、放送局ex２０１では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex２０２に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである（即ち、本開示の一態様に係る画像符号化装置によって符号化されたデータである）。これを受けた放送衛星ex２０２は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex２０４が受信する。受信した多重化データを、テレビ（受信機）ex３００またはセットトップボックス（ＳＴＢ）ex２１７等の装置が復号化して再生する（即ち、本開示の一態様に係る画像復号装置として機能する）。
【０３７５】
また、ＤＶＤ、ＢＤ等の記録メディアex２１５に記録した多重化データを読み取り復号化する、または記録メディアex２１５に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ／レコーダex２１８にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex２１９に表示され、多重化データが記録された記録メディアex２１５により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex２０３または衛星／地上波放送のアンテナex２０４に接続されたセットトップボックスex２１７内に動画像復号化装置を実装し、これをテレビのモニタex２１９で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【０３７６】
図７３は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ（受信機）ex３００を示す図である。テレビex３００は、上記放送を受信するアンテナex２０４またはケーブルex２０３等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex３０１と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調／復調部ex３０２と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex３０６で符号化された映像データ、音声データを多重化する多重／分離部ex３０３を備える。
【０３７７】
また、テレビex３００は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex３０４、映像信号処理部ex３０５（本開示の一態様に係る画像符号化装置または画像復号装置として機能する）を有する信号処理部ex３０６と、復号化した音声信号を出力するスピーカex３０７、復号化した映像信号を表示するディスプレイ等の表示部ex３０８を有する出力部ex３０９とを有する。さらに、テレビex３００は、ユーザ操作の入力を受け付ける操作入力部ex３１２等を有するインタフェース部ex３１７を有する。さらに、テレビex３００は、各部を統括的に制御する制御部ex３１０、各部に電力を供給する電源回路部ex３１１を有する。インタフェース部ex３１７は、操作入力部ex３１２以外に、リーダ／レコーダex２１８等の外部機器と接続されるブリッジex３１３、ＳＤカード等の記録メディアex２１６を装着可能とするためのスロット部ex３１４、ハードディスク等の外部記録メディアと接続するためのドライバex３１５、電話網と接続するモデムex３１６等を有していてもよい。なお記録メディアex２１６は、格納する不揮発性／揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex３００の各部は同期バスを介して互いに接続されている。
【０３７８】
まず、テレビex３００がアンテナex２０４等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex３００は、リモートコントローラex２２０等からのユーザ操作を受け、ＣＰＵ等を有する制御部ex３１０の制御に基づいて、変調／復調部ex３０２で復調した多重化データを多重／分離部ex３０３で分離する。さらにテレビex３００は、分離した音声データを音声信号処理部ex３０４で復号化し、分離した映像データを映像信号処理部ex３０５で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex３０９から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex３１８、ex３１９等に一旦これらの信号を蓄積するとよい。また、テレビex３００は、放送等からではなく、磁気／光ディスク、ＳＤカード等の記録メディアex２１５、ex２１６から多重化データを読み出してもよい。次に、テレビex３００が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex３００は、リモートコントローラex２２０等からのユーザ操作を受け、制御部ex３１０の制御に基づいて、音声信号処理部ex３０４で音声信号を符号化し、映像信号処理部ex３０５で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重／分離部ex３０３で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex３２０、ex３２１等に一旦これらの信号を蓄積するとよい。なお、バッファex３１８、ex３１９、ex３２０、ex３２１は図示しているように複数備えていてもよいし、１つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調／復調部ex３０２や多重／分離部ex３０３の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【０３７９】
また、テレビex３００は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのＡＶ入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex３００は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【０３８０】
また、リーダ／レコーダex２１８で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex３００、リーダ／レコーダex２１８のいずれで行ってもよいし、テレビex３００とリーダ／レコーダex２１８が互いに分担して行ってもよい。
【０３８１】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生／記録部ex４００の構成を図７４に示す。情報再生／記録部ex４００は、以下に説明する要素ex４０１、ex４０２、ex４０３、ex４０４、ex４０５、ex４０６、ex４０７を備える。光ヘッドex４０１は、光ディスクである記録メディアex２１５の記録面にレーザスポットを照射して情報を書き込み、記録メディアex２１５の記録面からの反射光を検出して情報を読み込む。変調記録部ex４０２は、光ヘッドex４０１に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex４０３は、光ヘッドex４０１に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex２１５に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex４０４は、記録メディアex２１５に記録するための情報および記録メディアex２１５から再生した情報を一時的に保持する。ディスクモータex４０５は記録メディアex２１５を回転させる。サーボ制御部ex４０６は、ディスクモータex４０５の回転駆動を制御しながら光ヘッドex４０１を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex４０７は、情報再生／記録部ex４００全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex４０７が、バッファex４０４に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex４０２、再生復調部ex４０３、サーボ制御部ex４０６を協調動作させながら、光ヘッドex４０１を通して、情報の記録再生を行うことにより実現される。システム制御部ex４０７は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【０３８２】
以上では、光ヘッドex４０１はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【０３８３】
図７５に光ディスクである記録メディアex２１５の模式図を示す。記録メディアex２１５の記録面には案内溝（グルーブ）がスパイラル状に形成され、情報トラックex２３０には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex２３１の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex２３０を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex２１５は、データ記録領域ex２３３、内周領域ex２３２、外周領域ex２３４を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex２３３であり、データ記録領域ex２３３より内周または外周に配置されている内周領域ex２３２と外周領域ex２３４は、ユーザデータの記録以外の特定用途に用いられる。情報再生／記録部ex４００は、このような記録メディアex２１５のデータ記録領域ex２３３に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【０３８４】
以上では、１層のＤＶＤ、ＢＤ等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録／再生を行う構造の光ディスクであってもよい。
【０３８５】
また、デジタル放送用システムex２００において、アンテナex２０５を有する車ex２１０で衛星ex２０２等からデータを受信し、車ex２１０が有するカーナビゲーションex２１１等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex２１１の構成は例えば図７３に示す構成のうち、ＧＰＳ受信部を加えた構成が考えられ、同様なことがコンピュータex１１１や携帯電話ex１１４等でも考えられる。
【０３８６】
図７６Ａは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex１１４を示す図である。携帯電話ex１１４は、基地局ex１１０との間で電波を送受信するためのアンテナex３５０、映像、静止画を撮ることが可能なカメラ部ex３６５、カメラ部ex３６５で撮像した映像、アンテナex３５０で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex３５８を備える。携帯電話ex１１４は、さらに、操作キー部ex３６６を有する本体部、音声を出力するためのスピーカ等である音声出力部ex３５７、音声を入力するためのマイク等である音声入力部ex３５６、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex３６７、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex３６４を備える。
【０３８７】
さらに、携帯電話ex１１４の構成例について、図７６Ｂを用いて説明する。携帯電話ex１１４は、表示部ex３５８及び操作キー部ex３６６を備えた本体部の各部を統括的に制御する主制御部ex３６０に対して、電源回路部ex３６１、操作入力制御部ex３６２、映像信号処理部ex３５５、カメラインタフェース部ex３６３、ＬＣＤ（Liquid Crystal Display）制御部ex３５９、変調／復調部ex３５２、多重／分離部ex３５３、音声信号処理部ex３５４、スロット部ex３６４、メモリ部ex３６７がバスex３７０を介して互いに接続されている。
【０３８８】
電源回路部ex３６１は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex１１４を動作可能な状態に起動する。
【０３８９】
携帯電話ex１１４は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有する主制御部ex３６０の制御に基づいて、音声通話モード時に音声入力部ex３５６で収音した音声信号を音声信号処理部ex３５４でデジタル音声信号に変換し、これを変調／復調部ex３５２でスペクトラム拡散処理し、送信／受信部ex３５１でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex３５０を介して送信する。また携帯電話ex１１４は、音声通話モード時にアンテナex３５０を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調／復調部ex３５２でスペクトラム逆拡散処理し、音声信号処理部ex３５４でアナログ音声信号に変換した後、これを音声出力部ex３５７から出力する。
【０３９０】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex３６６等の操作によって入力された電子メールのテキストデータは操作入力制御部ex３６２を介して主制御部ex３６０に送出される。主制御部ex３６０は、テキストデータを変調／復調部ex３５２でスペクトラム拡散処理をし、送信／受信部ex３５１でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex３５０を介して基地局ex１１０へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex３５８に出力される。
【０３９１】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex３５５は、カメラ部ex３６５から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し（即ち、本開示の一態様に係る画像符号化装置として機能する）、符号化された映像データを多重／分離部ex３５３に送出する。また、音声信号処理部ex３５４は、映像、静止画等をカメラ部ex３６５で撮像中に音声入力部ex３５６で収音した音声信号を符号化し、符号化された音声データを多重／分離部ex３５３に送出する。
【０３９２】
多重／分離部ex３５３は、映像信号処理部ex３５５から供給された符号化された映像データと音声信号処理部ex３５４から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調／復調部（変調／復調回路部）ex３５２でスペクトラム拡散処理をし、送信／受信部ex３５１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex３５０を介して送信する。
【０３９３】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex３５０を介して受信された多重化データを復号化するために、多重／分離部ex３５３は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex３７０を介して符号化された映像データを映像信号処理部ex３５５に供給するとともに、符号化された音声データを音声信号処理部ex３５４に供給する。映像信号処理部ex３５５は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し（即ち、本開示の一態様に係る画像復号装置として機能する）、ＬＣＤ制御部ex３５９を介して表示部ex３５８から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex３５４は、音声信号を復号し、音声出力部ex３５７から音声が出力される。
【０３９４】
また、上記携帯電話ex１１４等の端末は、テレビex３００と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という３通りの実装形式が考えられる。さらに、デジタル放送用システムex２００において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【０３９５】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【０３９６】
また、本開示はかかる上記実施の形態に限定されるものではなく、本開示の範囲を逸脱することなく種々の変形または修正が可能である。
【０３９７】
（実施の形態８）
上記各実施の形態で示した動画像符号化方法または装置と、ＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【０３９８】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【０３９９】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、ＭＰＥＧ−２トランスポートストリーム形式のデジタルストリームである。
【０４００】
図７７は、多重化データの構成を示す図である。図７７に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム（ＰＧ）、インタラクティブグラフィックスストリームのうち、１つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム（ＩＧ）は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にＧＵＩ部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーＡＣ−３、Ｄｏｌｂｙ  Ｄｉｇｉｔａｌ  Ｐｌｕｓ、ＭＬＰ、ＤＴＳ、ＤＴＳ−ＨＤ、または、リニアＰＣＭのなどの方式で符号化されている。
【０４０１】
多重化データに含まれる各ストリームはＰＩＤによって識別される。例えば、映画の映像に利用するビデオストリームには０ｘ１０１１が、オーディオストリームには０ｘ１１００から０ｘ１１１Ｆまでが、プレゼンテーショングラフィックスには０ｘ１２００から０ｘ１２１Ｆまでが、インタラクティブグラフィックスストリームには０ｘ１４００から０ｘ１４１Ｆまでが、映画の副映像に利用するビデオストリームには０ｘ１Ｂ００から０ｘ１Ｂ１Ｆまで、主音声とミキシングする副音声に利用するオーディオストリームには０ｘ１Ａ００から０ｘ１Ａ１Ｆが、それぞれ割り当てられている。
【０４０２】
図７８は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex２３５、複数のオーディオフレームからなるオーディオストリームex２３８を、それぞれＰＥＳパケット列ex２３６およびex２３９に変換し、ＴＳパケットex２３７およびex２４０に変換する。同じくプレゼンテーショングラフィックスストリームex２４１およびインタラクティブグラフィックスex２４４のデータをそれぞれＰＥＳパケット列ex２４２およびex２４５に変換し、さらにＴＳパケットex２４３およびex２４６に変換する。多重化データex２４７はこれらのＴＳパケットを１本のストリームに多重化することで構成される。
【０４０３】
図７９は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図７９における第１段目はビデオストリームのビデオフレーム列を示す。第２段目は、ＰＥＳパケット列を示す。図７９の矢印ｙｙ１，ｙｙ２，ｙｙ３，ｙｙ４に示すように、ビデオストリームにおける複数のＶｉｄｅｏ  Ｐｒｅｓｅｎｔａｔｉｏｎ  ＵｎｉｔであるＩピクチャ、Ｂピクチャ、Ｐピクチャは、ピクチャ毎に分割され、ＰＥＳパケットのペイロードに格納される。各ＰＥＳパケットはＰＥＳヘッダを持ち、ＰＥＳヘッダには、ピクチャの表示時刻であるＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ−Ｓｔａｍｐ）やピクチャの復号時刻であるＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ−Ｓｔａｍｐ）が格納される。
【０４０４】
図８０は、多重化データに最終的に書き込まれるＴＳパケットの形式を示している。ＴＳパケットは、ストリームを識別するＰＩＤなどの情報を持つ４ＢｙｔｅのＴＳヘッダとデータを格納する１８４ＢｙｔｅのＴＳペイロードから構成される１８８Ｂｙｔｅ固定長のパケットであり、上記ＰＥＳパケットは分割されＴＳペイロードに格納される。ＢＤ−ＲＯＭの場合、ＴＳパケットには、４ＢｙｔｅのＴＰ＿Ｅｘｔｒａ＿Ｈｅａｄｅｒが付与され、１９２Ｂｙｔｅのソースパケットを構成し、多重化データに書き込まれる。ＴＰ＿Ｅｘｔｒａ＿ＨｅａｄｅｒにはＡＴＳ（Ａｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐ）などの情報が記載される。ＡＴＳは当該ＴＳパケットのデコーダのＰＩＤフィルタへの転送開始時刻を示す。多重化データには図８０下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はＳＰＮ（ソースパケットナンバー）と呼ばれる。
【０４０５】
また、多重化データに含まれるＴＳパケットには、映像・音声・字幕などの各ストリーム以外にもＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）などがある。ＰＡＴは多重化データ中に利用されるＰＭＴのＰＩＤが何であるかを示し、ＰＡＴ自身のＰＩＤは０で登録される。ＰＭＴは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのＰＩＤと各ＰＩＤに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。ＰＣＲは、ＡＴＳの時間軸であるＡＴＣ（Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とＰＴＳ・ＤＴＳの時間軸であるＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）の同期を取るために、そのＰＣＲパケットがデコーダに転送されるＡＴＳに対応するＳＴＣ時間の情報を持つ。
【０４０６】
図８１はＰＭＴのデータ構造を詳しく説明する図である。ＰＭＴの先頭には、そのＰＭＴに含まれるデータの長さなどを記したＰＭＴヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのＰＩＤ、ストリームの属性情報（フレームレート、アスペクト比など）が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【０４０７】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【０４０８】
多重化データ情報ファイルは、図８２に示すように多重化データの管理情報であり、多重化データと１対１に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【０４０９】
多重化データ情報は図８２に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのＰＩＤフィルタへの最大転送レートを示す。多重化データ中に含まれるＡＴＳの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのＰＴＳであり、再生終了時刻は多重化データの終端のビデオフレームのＰＴＳに１フレーム分の再生間隔を足したものが設定される。
【０４１０】
ストリーム属性情報は図８３に示すように、多重化データに含まれる各ストリームについての属性情報が、ＰＩＤ毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【０４１１】
本実施の形態においては、上記多重化データのうち、ＰＭＴに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、ＰＭＴに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【０４１２】
また、本実施の形態における動画像復号化方法のステップを図８４に示す。ステップexＳ１００において、多重化データからＰＭＴに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexＳ１０１において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexＳ１０２において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠するものであることを示している場合には、ステップexＳ１０３において、従来の規格に準拠した動画像復号方法により復号を行う。
【０４１３】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【０４１４】
（実施の形態９）
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるＬＳＩで実現される。一例として、図８５に１チップ化されたＬＳＩex５００の構成を示す。ＬＳＩex５００は、以下に説明する要素ex５０１、ex５０２、ex５０３、ex５０４、ex５０５、ex５０６、ex５０７、ex５０８、ex５０９を備え、各要素はバスex５１０を介して接続している。電源回路部ex５０５は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【０４１５】
例えば符号化処理を行う場合には、ＬＳＩex５００は、ＣＰＵex５０２、メモリコントローラex５０３、ストリームコントローラex５０４、駆動周波数制御部ex５１２等を有する制御部ex５０１の制御に基づいて、ＡＶ  Ｉ／Ｏex５０９によりマイクex１１７やカメラex１１３等からＡＶ信号を入力する。入力されたＡＶ信号は、一旦ＳＤＲＡＭ等の外部のメモリex５１１に蓄積される。制御部ex５０１の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex５０７に送られ、信号処理部ex５０７において音声信号の符号化および／または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex５０７ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームＩ／Ｏex５０６から外部に出力する。この出力された多重化データは、基地局ex１０７に向けて送信されたり、または記録メディアex２１５に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex５０８にデータを蓄積するとよい。
【０４１６】
なお、上記では、メモリex５１１がＬＳＩex５００の外部の構成として説明したが、ＬＳＩex５００の内部に含まれる構成であってもよい。バッファex５０８も１つに限ったものではなく、複数のバッファを備えていてもよい。また、ＬＳＩex５００は１チップ化されてもよいし、複数チップ化されてもよい。
【０４１７】
また、上記では、制御部ex５０１が、ＣＰＵex５０２、メモリコントローラex５０３、ストリームコントローラex５０４、駆動周波数制御部ex５１２等を有するとしているが、制御部ex５０１の構成は、この構成に限らない。例えば、信号処理部ex５０７がさらにＣＰＵを備える構成であってもよい。信号処理部ex５０７の内部にもＣＰＵを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、ＣＰＵex５０２が信号処理部ex５０７、または信号処理部ex５０７の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex５０１は、信号処理部ex５０７、またはその一部を有するＣＰＵex５０２を備える構成となる。
【０４１８】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０４１９】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。このようなプログラマブル・ロジック・デバイスは、典型的には、ソフトウェア又はファームウェアを構成するプログラムを、ロードする又はメモリ等から読み込むことで、上記各実施の形態で示した動画像符号化方法、又は動画像復号化方法を実行することができる。
【０４２０】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０４２１】
（実施の形態１０）
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、ＬＳＩex５００において、従来の規格に準拠する映像データを復号する際のＣＰＵex５０２の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【０４２２】
この課題を解決するために、テレビex３００、ＬＳＩex５００などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図８６は、本実施の形態における構成ex８００を示している。駆動周波数切替え部ex８０３は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex８０１に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex８０２に対し、映像データを復号するよう指示する。
【０４２３】
より具体的には、駆動周波数切替え部ex８０３は、図８５のＣＰＵex５０２と駆動周波数制御部ex５１２から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex８０１、および、従来の規格に準拠する復号処理部ex８０２は、図８５の信号処理部ex５０７に該当する。ＣＰＵex５０２は、映像データがどの規格に準拠するものであるかを識別する。そして、ＣＰＵex５０２からの信号に基づいて、駆動周波数制御部ex５１２は、駆動周波数を設定する。また、ＣＰＵex５０２からの信号に基づいて、信号処理部ex５０７は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態８で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態８で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、ＣＰＵex５０２における駆動周波数の選択は、例えば、図８８のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex５０８や、ＬＳＩの内部メモリに格納しておき、ＣＰＵex５０２がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【０４２４】
図８７は、本実施の形態の方法を実施するステップを示している。まず、ステップexＳ２００では、信号処理部ex５０７において、多重化データから識別情報を取得する。次に、ステップexＳ２０１では、ＣＰＵex５０２において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexＳ２０２において、駆動周波数を高く設定する信号を、ＣＰＵex５０２が駆動周波数制御部ex５１２に送る。そして、駆動周波数制御部ex５１２において、高い駆動周波数に設定される。一方、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、ステップexＳ２０３において、駆動周波数を低く設定する信号を、ＣＰＵex５０２が駆動周波数制御部ex５１２に送る。そして、駆動周波数制御部ex５１２において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【０４２５】
さらに、駆動周波数の切替えに連動して、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を低く設定することが考えられる。
【０４２６】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、ＭＰＥＧ４−ＡＶＣ規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【０４２７】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を高く設定し、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、ＣＰＵex５０２の駆動を停止させることなく、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、ＣＰＵex５０２の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、ＣＰＵex５０２の駆動を一時停止させることも考えられる。この場合は、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【０４２８】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてＬＳＩex５００またはＬＳＩex５００を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【０４２９】
（実施の形態１１）
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、ＬＳＩex５００の信号処理部ex５０７が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex５０７を個別に用いると、ＬＳＩex５００の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【０４３０】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図８９Ａのex９００に示す。例えば、上記各実施の形態で示した動画像復号方法と、ＭＰＥＧ４−ＡＶＣ規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、ＭＰＥＧ４−ＡＶＣ規格に対応する復号処理部ex９０２を共有し、ＭＰＥＧ４−ＡＶＣ規格に対応しない、本開示の一態様に特有の他の処理内容については、専用の復号処理部ex９０１を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、ＭＰＥＧ４−ＡＶＣ規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【０４３１】
また、処理を一部共有化する他の例を図８９Ｂのex１０００に示す。この例では、本開示の一態様に特有の処理内容に対応した専用の復号処理部ex１００１と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex１００２と、本開示の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex１００３とを用いる構成としている。ここで、専用の復号処理部ex１００１、ex１００２は、必ずしも本開示の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、ＬＳＩex５００で実装することも可能である。
【０４３２】
このように、本開示の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、ＬＳＩの回路規模を小さくし、かつ、コストを低減することが可能である。
【産業上の利用可能性】
【０４３３】
本開示は、画像を効率的に符号化することができるという効果を奏し、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の情報表示機器や撮像機器に利用可能であり、利用価値が高い。
【符号の説明】
【０４３４】
１００，３００，５００  画像符号化装置
１０１      ブロック分割部
１０２      減算部
１０３，１０３Ａ        変換部
１０３Ａａ  ＫＬ変換部
１０３Ａｂ  固定変換部
１０４      量子化部
１０５      可変長符号化部
１０６      逆変換部
１０７      逆量子化部
１０８      加算部
１０９，１０９Ａ        ＮＮパラメータ決定部
１０９ａ，１０９Ａａ    ＮＮイントラ予測パラメータ決定部
１０９ｂ，１０９Ａｂ    ＮＮインター予測パラメータ決定部
１０９ｃ，１０９Ａｃ    ＮＮループ内フィルタパラメータ決定部
１１０      イントラ予測部
１１０ａ    ＮＮイントラ予測部
１１０ｂ    固定イントラ予測部
１１１      インター予測部
１１１ａ    ＮＮインター予測部
１１１ｂ    固定インター予測部
１１２      フレームメモリ
１１３      ループ内フィルタ部
１１３ａ    ＮＮループ内フィルタ部
１１３ｂ    固定ループ内フィルタ部
１１５      ＮＮ処理切換部
１２０      ＮＮパラメータ符号化部
２００，４００，６００  画像復号装置
２０１      可変長復号部
２０２      逆量子化部
２０３，２０３Ａ        逆変換部
２０３Ａａ  逆ＫＬ変換部
２０３Ａｂ  逆固定変換部
２０４      加算部
２０５      イントラ補償部
２０５ａ    ＮＮイントラ補償部
２０５ｂ    固定イントラ補償部
２０６      インター補償部
２０６ａ    ＮＮインター補償部
２０６ｂ    固定インター補償部
２０７      フレームメモリ
２０８      ループ内フィルタ部
２０８ａ    ＮＮループ内フィルタ部
２０８ｂ    固定ループ内フィルタ部
２１０      ＮＮ処理切換部
２２０      ＮＮパラメータ復号部
【図１】
2016199330.tif 000004
【図２】
2016199330.tif 000005
【図３】
2016199330.tif 000006
【図４】
2016199330.tif 000007
【図５】
2016199330.tif 000008
【図６】
2016199330.tif 000009
【図７】
2016199330.tif 000010
【図８】
2016199330.tif 000011
【図９】
2016199330.tif 000012
【図１０】
2016199330.tif 000013
【図１１】
2016199330.tif 000014
【図１２】
2016199330.tif 000015
【図１３】
2016199330.tif 000016
【図１４】
2016199330.tif 000017
【図１５】
2016199330.tif 000018
【図１６】
2016199330.tif 000019
【図１７】
2016199330.tif 000020
【図１８】
2016199330.tif 000021
【図１９】
2016199330.tif 000022
【図２０】
2016199330.tif 000023
【図２１】
2016199330.tif 000024
【図２２】
2016199330.tif 000025
【図２３】
2016199330.tif 000026
【図２４】
2016199330.tif 000027
【図２５】
2016199330.tif 000028
【図２６】
2016199330.tif 000029
【図２７】
2016199330.tif 000030
【図２８】
2016199330.tif 000031
【図２９】
2016199330.tif 000032
【図３０】
2016199330.tif 000033
【図３１】
2016199330.tif 000034
【図３２】
2016199330.tif 000035
【図３３】
2016199330.tif 000036
【図３４】
2016199330.tif 000037
【図３５】
2016199330.tif 000038
【図３６】
2016199330.tif 000039
【図３７】
2016199330.tif 000040
【図３８】
2016199330.tif 000041
【図３９】
2016199330.tif 000042
【図４０】
2016199330.tif 000043
【図４１】
2016199330.tif 000044
【図４２】
2016199330.tif 000045
【図４３】
2016199330.tif 000046
【図４４】
2016199330.tif 000047
【図４５】
2016199330.tif 000048
【図４６】
2016199330.tif 000049
【図４７】
2016199330.tif 000050
【図４８】
2016199330.tif 000051
【図４９】
2016199330.tif 000052
【図５０】
2016199330.tif 000053
【図５１】
2016199330.tif 000054
【図５２】
2016199330.tif 000055
【図５３】
2016199330.tif 000056
【図５４】
2016199330.tif 000057
【図５５】
2016199330.tif 000058
【図５６】
2016199330.tif 000059
【図５７】
2016199330.tif 000060
【図５８】
2016199330.tif 000061
【図５９】
2016199330.tif 000062
【図６０】
2016199330.tif 000063
【図６１】
2016199330.tif 000064
【図６２】
2016199330.tif 000065
【図６３】
2016199330.tif 000066
【図６４】
2016199330.tif 000067
【図６５】
2016199330.tif 000068
【図６６】
2016199330.tif 000069
【図６７】
2016199330.tif 000070
【図６８】
2016199330.tif 000071
【図６９Ａ】
2016199330.tif 000072
【図６９Ｂ】
2016199330.tif 000073
【図７０Ａ】
2016199330.tif 000074
【図７０Ｂ】
2016199330.tif 000075
【図７１】
2016199330.tif 000076
【図７２】
2016199330.tif 000077
【図７３】
2016199330.tif 000078
【図７４】
2016199330.tif 000079
【図７５】
2016199330.tif 000080
【図７６Ａ】
2016199330.tif 000081
【図７６Ｂ】
2016199330.tif 000082
【図７７】
2016199330.tif 000083
【図７８】
2016199330.tif 000084
【図７９】
2016199330.tif 000085
【図８０】
2016199330.tif 000086
【図８１】
2016199330.tif 000087
【図８２】
2016199330.tif 000088
【図８３】
2016199330.tif 000089
【図８４】
2016199330.tif 000090
【図８５】
2016199330.tif 000091
【図８６】
2016199330.tif 000092
【図８７】
2016199330.tif 000093
【図８８】
2016199330.tif 000094
【図８９Ａ】
2016199330.tif 000095
【図８９Ｂ】
2016199330.tif 000096
【手続補正書】
【提出日】平成29年10月16日(2017.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ピクチャをブロック毎に変換し、
ループ内フィルタを用いて変換済みの前記ブロックを再構築し、
前記ピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを符号化する画像符号化方法であって、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、ニューラルネットワークを含むフィルタ処理を行って前記ブロックを含む画像を符号化する、
画像符号化方法。
【請求項２】
前記フィルタ処理は入出力の関係が非線形となる非線形処理であって、
前記非線形処理に用いられる非線形フィルタの演算パラメータを示す情報を符号化する、
請求項１に記載の画像符号化方法。
【請求項３】
前記演算パラメータの符号化では、
前記ニューラルネットワークに含まれる各ノード間の重み係数を前記演算パラメータとして符号化する
請求項２に記載の画像符号化方法。
【請求項４】
前記演算パラメータの符号化では、
さらに、前記ニューラルネットワークの階層数またはノード数を演算パラメータとして符号化する
請求項３に記載の画像符号化方法。
【請求項５】
前記画像の符号化では、
符号化される前記画像のプロファイルに応じて、前記ニューラルネットワークの階層数またはノード数の最大値を規定し、規定された前記最大値以下の階層数またはノード数の前記ニューラルネットワークを用いた前記非線形処理を行う
請求項４に記載の画像符号化方法。
【請求項６】
前記画像符号化方法では、さらに、
固定パラメータを有する線形フィルタと前記非線形フィルタとのうちの何れか一方を、使用されるべきフィルタとして示す切換え情報を符号化し、
前記画像の符号化では、
前記画像の符号化に用いられる処理を、前記切換え情報にしたがって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、前記非線形フィルタを用いた前記非線形処理と、前記線形フィルタを用いた線形処理とに切換える
請求項２〜５の何れか１項に記載の画像符号化方法。
【請求項７】
前記非線形処理は、複数のモードのうちの何れかのモードに対応付けられ、
前記画像の符号化では、
前記モードが指定される場合に、前記非線形処理を行って前記画像を符号化する
請求項６に記載の画像符号化方法。
【請求項８】
前記画像符号化方法では、さらに、
前記画像に含まれるブロック、スライス、タイル、ピクチャまたはＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）である画像単位ごとに、前記演算パラメータを切換え、
前記画像の符号化では、
前記画像単位に対して切換えられた演算パラメータを有する前記非線形フィルタを用いた非線形処理を行って、前記画像単位を符号化する
請求項２〜７の何れか１項に記載の画像符号化方法。
【請求項９】
前記画像符号化方法では、さらに、
前記非線形フィルタが有効か無効かを示す有効／無効情報を符号化し、
前記画像の符号化では、
前記有効／無効情報が有効を示す場合に、前記非線形処理を行う
請求項２〜８の何れか１項に記載の画像符号化方法。
【請求項１０】
前記画像符号化方法では、さらに、
前記画像に含まれるブロックごとに、当該ブロックの特徴に応じて、当該ブロックを複数のクラスのうちの何れかのクラスに分類し、
前記クラスごとに、当該クラスに分類された少なくとも１つのブロックと、前記少なくとも１つのブロックのそれぞれの周辺画素とを教師データとして用いて学習することによって、当該クラスに対応する前記演算パラメータを決定する
請求項２〜９の何れか１項に記載の画像符号化方法。
【請求項１１】
前記演算パラメータの決定では、
前記画像のうち、予め定められた基準よりも複雑性が高い領域のみを用いて学習することによって、前記演算パラメータを決定する
請求項１０に記載の画像符号化方法。
【請求項１２】
前記変換では、前記画像における空間領域から周波数領域への変換を行い、
前記非線形フィルタを用いたイントラ予測が行われる場合には、前記変換の方法を、変更可能な変換行列を用いた方法に切換え、前記変更可能な変換行列を用いた方法にしたがって変換を行う
請求項２〜１１の何れか１項に記載の画像符号化方法。
【請求項１３】
前記画像の符号化では、
前記画像に含まれるブロックが所定のサイズ以下の場合には、前記非線形フィルタを用いたイントラ予測を前記非線形処理として前記ブロックに対して行い、
前記ブロックが前記所定のサイズよりも大きい場合には、固定パラメータの線形フィルタを用いたイントラ予測を前記ブロックに対して行う
請求項２〜１２の何れか１項に記載の画像符号化方法。
【請求項１４】
前記画像の符号化では、
前記画像のうちの輝度成分に対して前記非線形処理を行い、前記画像のうちの色差成分に対しては、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力関係が線形となる線形処理を行う
請求項２〜１３の何れか１項に記載の画像符号化方法。
【請求項１５】
前記演算パラメータの符号化では、
予め規定されたパラメータである規定パラメータを参照して、符号化対象の前記演算パラメータを符号化する
請求項２〜１４の何れか１項に記載の画像符号化方法。
【請求項１６】
符号化ピクチャをブロック毎に逆変換し、
ループ内フィルタを用いて逆変換済みの前記ブロックを再構築し、
前記符号化ピクチャ内の復号済みの画素を用いたイントラ予測又は他の符号化ピクチャ内の復号済みの画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを復号する画像復号方法であって、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、ニューラルネットワークを含むフィルタ処理を行って前記ブロックを含む画像を復号する
画像復号方法。
【請求項１７】
非線形フィルタの演算パラメータを示す情報を復号し、
復号された前記演算パラメータを有する前記非線形フィルタを用いた、入出力の関係が非線形となる非線形処理を行って前記ブロックを含む画像を復号する
請求項１６に記載の画像復号方法。
【請求項１８】
前記演算パラメータの復号では、
前記ニューラルネットワークに含まれる各ノード間の重み係数を前記演算パラメータとして復号する
請求項１７に記載の画像復号方法。
【請求項１９】
前記演算パラメータの復号では、
さらに、前記ニューラルネットワークの階層数またはノード数を演算パラメータとして復号する
請求項１８に記載の画像復号方法。
【請求項２０】
前記画像復号方法では、さらに、
固定パラメータを有する線形フィルタと前記非線形フィルタとのうちの何れか一方を、使用されるべきフィルタとして示す切換え情報を復号し、
前記画像の復号では、
前記画像の復号に用いられる処理を、前記切換え情報にしたがって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、前記非線形フィルタを用いた前記非線形処理と、前記線形フィルタを用いた線形処理とに切換える
請求項１７〜１９の何れか１項に記載の画像復号方法。
【請求項２１】
前記非線形処理は、複数のモードのうちの何れかのモードに対応付けられ、
前記画像の復号では、
前記モードが指定される場合に、前記非線形処理を行って前記画像を復号する
請求項２０に記載の画像復号方法。
【請求項２２】
前記画像復号方法では、さらに、
前記画像に含まれるブロック、スライス、タイル、ピクチャまたはＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）である画像単位ごとに、前記演算パラメータを切換え、
前記画像の復号では、
前記画像単位に対して切換えられた演算パラメータを有する前記非線形フィルタを用いた非線形処理を行って、前記画像単位を復号する
請求項１７〜２１の何れか１項に記載の画像復号方法。
【請求項２３】
前記画像復号方法では、さらに、
前記非線形フィルタが有効か無効かを示す有効／無効情報を復号し、
前記画像の復号では、
前記有効／無効情報が有効を示す場合に、前記非線形処理を行う
請求項１７〜２２の何れか１項に記載の画像復号方法。
【請求項２４】
前記逆変換では、
前記非線形フィルタを用いたイントラ予測が行われる場合には、前記逆変換の方法を、変更可能な変換行列を用いた方法に切換え、前記変更可能な変換行列を用いた方法にしたがって逆変換を行う
請求項１７〜２３の何れか１項に記載の画像復号方法。
【請求項２５】
前記画像の復号では、
前記画像に含まれるブロックが所定のサイズ以下の場合には、前記非線形フィルタを用いたイントラ予測を前記非線形処理として前記ブロックに対して行い、
前記ブロックが前記所定のサイズよりも大きい場合には、固定パラメータの線形フィルタを用いたイントラ予測を前記ブロックに対して行う
請求項１７〜２４の何れか１項に記載の画像復号方法。
【請求項２６】
前記画像の復号では、
前記画像のうちの輝度成分に対して前記非線形処理を行い、前記画像のうちの色差成分に対しては、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、入出力関係が線形となる線形処理を行う
請求項１７〜２５の何れか１項に記載の画像復号方法。
【請求項２７】
前記演算パラメータの復号では、
予め規定されたパラメータである規定パラメータを参照して、復号対象の前記演算パラメータを復号する
請求項１７〜２６の何れか１項に記載の画像復号方法。
【請求項２８】
ピクチャをブロック毎に変換し、
ループ内フィルタを用いて変換済みの前記ブロックを再構築し、
前記ピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを符号化する画像符号化装置であって、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、ニューラルネットワークを含むフィルタ処理を行って前記ブロックを含む画像を符号化する画像符号化部を備える画像符号化装置。
【請求項２９】
符号化ピクチャをブロック毎に逆変換し、
ループ内フィルタを用いて逆変換済みの前記ブロックを再構築し、
前記符号化ピクチャ内の復号済みの画素を用いたイントラ予測又は他の符号化ピクチャ内の復号済みの画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、
前記ブロックを復号する画像復号装置であって、
前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、ニューラルネットワークを含むフィルタ処理を行って前記ブロックを含む画像を復号する画像復号部を備える画像復号装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本開示の一態様に係る画像符号化方法は、ピクチャをブロック毎に変換し、ループ内フィルタを用いて変換済みの前記ブロックを再構築し、前記ピクチャ内の画素を用いたイントラ予測又は他のピクチャ内の画素を用いたインター予測を用いて、前記再構築されたブロックを予測し、前記ブロックを符号化する画像符号化方法であって、前記イントラ予測、前記インター予測および前記ループ内フィルタのうちの少なくとも１つにおいて、ニューラルネットワークを含むフィルタ処理を行って前記ブロックを含む画像を符号化する。
【国際調査報告】
2016199330.tif 000097
2016199330.tif 000098
2016199330.tif 000099
2016199330.tif 000100