(57)【要約】【課題】ＣＵの分割形状を決定するための演算量を少なくした場合でも、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することが可能である分割形状決定装置、学習装置、分割形状決定方法及び分割形状決定プログラムを提供する。【解決手段】分割形状決定装置は、分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、ノードの集合である学習モデルの学習パラメータを、符号化対象画像を区切るブロックに対応付けられたノードの分割確率に応じて更新し、学習パラメータが更新された学習モデルの出力として得られた分割確率を、ノードに対応付けて出力する学習部と、ノードに対応付けて出力された分割確率に基づいて、ノードに対応付けられたブロックを分割するか否かを決定する決定部とを備える。【選択図】図３
2018182531.tif 000002
【特許請求の範囲】
【請求項１】
分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、符号化対象画像を区切るブロックに対応付けられた前記ノードの前記分割確率に応じて更新し、前記学習パラメータが更新された前記学習モデルの出力として得られた前記分割確率を、前記ノードに対応付けて出力する学習部と、
前記ノードに対応付けて出力された前記分割確率に基づいて、前記ノードに対応付けられたブロックを分割するか否かを決定する決定部と
を備える分割形状決定装置。
【請求項２】
前記学習部は、前記ノードが保持している前記分割確率に応じて、前記ノードの下位のノードである子ノードの前記分割確率を参照するか否かを定める、請求項１に記載の分割形状決定装置。
【請求項３】
前記階層構造は、四分木データ構造であり、
前記学習部は、前記ノードが保持している前記分割確率が０である場合、前記学習パラメータを更新する際に前記子ノードの前記分割確率を参照しないと定める、請求項２に記載の分割形状決定装置。
【請求項４】
前記決定部は、前記ノードの下位のノードである子ノードが保持している前記分割確率に基づいて、前記ノードに対応付けられた分割するか否かを決定する、請求項１から請求項３のいずれか一項に記載の分割形状決定装置。
【請求項５】
前記分割確率は、３値以上で表現される確率である、請求項１から請求項４のいずれか一項に記載の分割形状決定装置。
【請求項６】
確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、前記ノードの確率が所定値である場合に前記ノードの子ノードの確率に基づくことなく更新する学習部
を備える学習装置。
【請求項７】
符号化対象画像を区切るブロックの分割形状を決定する分割形状決定装置が実行する分割形状決定方法であって、
分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、前記ブロックに対応付けられた前記ノードの前記分割確率に応じて更新し、前記学習パラメータが更新された前記学習モデルの出力として得られた前記分割確率を、前記ノードに対応付けて出力するステップと、
前記ノードに対応付けて出力された前記分割確率に基づいて、前記ノードに対応付けられたブロックを分割するか否かを決定するステップと
を有する分割形状決定方法。
【請求項８】
コンピュータに、
分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、符号化対象画像を区切るブロックに対応付けられた前記ノードの前記分割確率に応じて更新し、前記学習パラメータが更新された前記学習モデルの出力として得られた前記分割確率を、前記ノードに対応付けて出力する手順と、
前記ノードに対応付けて出力された前記分割確率に基づいて、前記ノードに対応付けられたブロックを分割するか否かを決定する手順と
を実行させるための分割形状決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分割形状決定装置、学習装置、分割形状決定方法及び分割形状決定プログラムに関する。
【背景技術】
【０００２】
動画像符号化の標準規格として、Ｈ.２６４／ＡＶＣ（Advanced Video Coding）（以下「ＡＶＣ」という。）がある。ＡＶＣに次ぐ新たな標準規格として、Ｈ.２６５／ＨＥＶＣ（High Efficiency Video Coding）（以下「ＨＥＶＣ」という。）が２０１３年に標準化された。ＨＥＶＣは、同程度の画質では、ＡＶＣと比較して２倍の圧縮性能を誇る。しかしながら、ＨＥＶＣの演算量は、ＡＶＣの演算量と比較して膨大である。
【０００３】
ＨＥＶＣでは、符号化対象画像は、６４画素×６４画素のサイズのブロックであるＣＴＵ（Coding Tree Unit）の単位で区切られている。画像符号化装置は、ＣＴＵごとに符号化処理を実行する。分割形状決定装置は、符号化単位であるＣＵ（Coding Unit）と呼ばれるブロックに、ＣＴＵを再帰的に４分割することができる。ＨＥＶＣでは、６４画素×６４画素、３２画素×３２画素、１６画素×１６画素、８画素×８画素という４種類のＣＵのサイズが定義されている。以下、ｎ画素×ｎ画素を「ｎ×ｎ」と表記する。
【０００４】
図６は、ＣＵの分割形状の一例を示す図である。各ＣＵは、イントラ予測やインター予測等のパラメータを共有している。ＣＵにおける輝度値の分布が平坦である場合、ＣＵのサイズは大きく定められる。ＣＵにおける輝度値の分布が複雑である場合、ＣＵのサイズは小さく定められる。これらのようにＣＵのサイズが定められることによって、ＨＥＶＣの画像符号化装置は、符号化効率を高めることができる。
【０００５】
図７は、ＣＵの分割形状を表すための四分木データ構造の例を示す図である。ＣＵの分割形状は、四分木データ構造を用いて表現される。四分木データ構造は、階層構造を有する。四分木データ構造の各ノードは、各ＣＵに対応付けられている。各ＣＵは、四分木データ構造の階層（分割デプス）ごとに分類される。四分木データ構造の各ノードには、ノードに対応付けられているＣＵ（ブロック）の分割に関するフラグが、ノードのラベルとして定められている。ＨＥＶＣでは、分割に関するフラグは、分割を表す１と非分割を表す０との２値で表現される。
【０００６】
ＨＥＶＣの分割形状決定装置は、ＨＥＶＣテストモデル（ＨＭ）等の参照ソフトウェアにおいて定められたレート歪み最適化に基づいて、ＣＵの分割形状を決定する。分割形状決定装置は、参照ソフトウェアにおいて定められたレート歪み最適化に基づいて、レート歪みコスト関数Ｊ（＝Ｄ＋λＲ）が最小となるＣＵの分割形状及び予測モードを算出する。レート歪みコスト関数Ｊにおいて、Ｄは、パラメータの選択に応じて発生する歪み量を表す。Ｒは、発生するビット量を表す。λは、ラグランジュ乗数と呼ばれる定数を表す。ＨＥＶＣの分割形状決定装置は、ＣＵの分割形状及び予測モードを、レート歪み最適化において全探索して決定する。このため、レート歪み最適化の演算量は膨大である。
【０００７】
そこで、分割形状決定装置がレート歪み最適化を実行せずにＣＵの分割形状を決定する方法として、ＣＵの分割形状を教師データとするニューラルネットワークの学習モデルを用いてＣＵの分割形状を決定する方法が提案されている。教師データを用いた学習（教師あり学習）では、学習モデルの入力であるＣＴＵと、学習モデルの出力であるＣＵの分割形状（分割パターン）を表す正解ラベルとが、大量に用意される。
【０００８】
分割形状決定装置は、ＣＴＵごとの教師データを反復して用いることによって、ＣＵの分割形状を学習モデルに学習させる。分割形状決定装置は、ＣＴＵごとの教師データが学習モデルに反復して入力された結果として得られたＣＵの分割形状が正解ラベルに近づくよう、学習モデルの学習パラメータを更新する。
【０００９】
図８は、ＣＵの分割形状を表す正解ラベルの例を示す図である。分割形状決定装置がＣＵの分割形状をＣＴＵごとに学習する場合、ＣＴＵの単位の符号化対象画像の原画を入力としてＣＵの分割形状を出力とする正解ラベル（分類モデル）を分割形状決定装置に学習させる方法が、最も単純な方法である。しかしながら、ＣＵの全ての分割形状をＣＴＵの単位で網羅すると、正解ラベルの数が８万を超えて膨大になってしまう。したがって、膨大な数の教師データが用意されなければ、分割形状決定装置はＣＵの分割形状を学習することができない。
【００１０】
そこで、膨大な数の教師データが用意されなくても分割形状決定装置がＣＵの分割形状を学習することができる方法として、ＣＵの分割又は非分割をＣＵの階層ごとに決定する学習モデルを用いた方法が提案されている（非特許文献１参照）。非特許文献１では、膨大な数の教師データを用意する代わりに、ＣＵの分割又は非分割をＣＵの階層ごとに決定する複数の学習モデルを用意することで、分割形状決定装置は、ＣＵの分割形状を学習することができる。
【００１１】
非特許文献１では、分割形状決定装置は、四分木データ構造の階層ごとの学習モデルを順次適用することによって、ＣＵの分割形状を決定する。以下、分割又は非分割が決定される対象のブロックを「対象ブロック」という。以下、ノードに対応付けられているＣＵ（ブロック）の分割に関する確率を「分割確率」という。学習モデル（確率分布モデル）は、ノードに対応付けられた対象ブロックごとに分割確率を表すラベルを出力する。分割（正例）を表す分割確率の値は１である。非分割（負例）を表す分割確率の値は０である。分割確率は、０及び１の平均値である０．５を含む所定範囲内の値（曖昧な値）でもよい。分割確率が曖昧である場合、非特許文献１の分割形状決定装置は、ＨＥＶＣテストモデルにおいて定められたレート歪み最適化に基づいて、対象ブロックであるＣＵの分割形状を決定する。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】F. Duanmu, Z. Ma, Y. Wang: “Fast CU Partition Decision Using Machine Learning for Screen Content Compression,” IEEE International Conference of Image Processing, Sept. 2015.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図９は、非特許文献１のＣＵの分割形状を決定するために用意される複数の学習モデルの例を示す図である。図１０は、非特許文献１の分割形状決定装置の動作の例を示すフローチャートである。図９及び図１０に示されているように、非特許文献１の分割形状決定装置は、ＣＵの分割形状を決定する場合、四分木データ構造の階層ごとに用意された複数の学習モデル（分割判定モデル）を用いる。
【００１４】
分割形状決定装置が複数の学習モデルを用いた場合には、画像の特徴量を抽出する処理の演算量が増えるので、ＣＵの分割形状を決定するための演算量は膨大になる。また、分割形状決定装置が複数の学習モデルを用いた場合には、隣接するＣＵ同士の相関を考慮せずにＣＵの分割形状を独立に決定することになるので、分割形状決定装置は、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することができない。
【００１５】
これらのように、従来の分割形状決定装置は、ＣＵの分割形状を決定するための演算量を少なくした場合には、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することができない、という問題があった。
【００１６】
上記事情に鑑み、本発明は、ＣＵの分割形状を決定するための演算量を少なくした場合でも、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することが可能である分割形状決定装置、学習装置、分割形状決定方法及び分割形状決定プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１７】
本発明の一態様は、分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、符号化対象画像を区切るブロックに対応付けられた前記ノードの前記分割確率に応じて更新し、前記学習パラメータが更新された前記学習モデルの出力として得られた前記分割確率を、前記ノードに対応付けて出力する学習部と、前記ノードに対応付けて出力された前記分割確率に基づいて、前記ノードに対応付けられたブロックを分割するか否かを決定する決定部とを備える分割形状決定装置である。
【００１８】
本発明の一態様は、上記の分割形状決定装置であって、前記学習部は、前記ノードが保持している前記分割確率に応じて、前記ノードの下位のノードである子ノードの前記分割確率を参照するか否かを定める。
【００１９】
本発明の一態様は、上記の分割形状決定装置であって、前記階層構造は、四分木データ構造であり、前記学習部は、前記ノードが保持している前記分割確率が０である場合、前記学習パラメータを更新する際に前記子ノードの前記分割確率を参照しないと定める。
【００２０】
本発明の一態様は、上記の分割形状決定装置であって、前記決定部は、前記ノードの下位のノードである子ノードが保持している前記分割確率に基づいて、前記ノードに対応付けられた分割するか否かを決定する。
【００２１】
本発明の一態様は、上記の分割形状決定装置であって、前記分割確率は、３値以上で表現される確率である。
【００２２】
本発明の一態様は、確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、前記ノードの確率が所定値である場合に前記ノードの子ノードの確率に基づくことなく更新する学習部を備える学習装置である。
【００２３】
本発明の一態様は、符号化対象画像を区切るブロックの分割形状を決定する分割形状決定装置が実行する分割形状決定方法であって、分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、前記ブロックに対応付けられた前記ノードの前記分割確率に応じて更新し、前記学習パラメータが更新された前記学習モデルの出力として得られた前記分割確率を、前記ノードに対応付けて出力するステップと、前記ノードに対応付けて出力された前記分割確率に基づいて、前記ノードに対応付けられたブロックを分割するか否かを決定するステップとを有する分割形状決定方法である。
【００２４】
本発明の一態様は、コンピュータに、分割に関する確率である分割確率を保持する複数のノードが階層構造を成しており、前記ノードの集合である学習モデルの学習パラメータを、符号化対象画像を区切るブロックに対応付けられた前記ノードの前記分割確率に応じて更新し、前記学習パラメータが更新された前記学習モデルの出力として得られた前記分割確率を、前記ノードに対応付けて出力する手順と、前記ノードに対応付けて出力された前記分割確率に基づいて、前記ノードに対応付けられたブロックを分割するか否かを決定する手順とを実行させるための分割形状決定プログラムである。
【発明の効果】
【００２５】
本発明により、ＣＵの分割形状を決定するための演算量を少なくした場合でも、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することが可能である。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態における、画像符号化装置１の構成の例を示す図である。
【図２】第１実施形態における、四分木データ構造及び出力ラベルの例を示す図である。
【図３】第１実施形態における、分割形状決定装置の構成の例を示す図である。
【図４】第１実施形態における、分割形状決定装置の動作の例を示すフローチャートである。
【図５】第２実施形態における、分割形状決定装置の動作の例を示すフローチャートである。
【図６】ＣＵの分割形状の一例を示す図である。
【図７】ＣＵの分割形状を表すための四分木データ構造の例を示す図である。
【図８】ＣＵの分割形状を表す正解ラベルの例を示す図である。
【図９】ＣＵの分割形状を決定するために用意される複数の学習モデルの例を示す図である。
【図１０】分割形状決定装置の動作の例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
本発明の実施形態について、図面を参照して詳細に説明する。
（第１実施形態）
図１は、画像符号化装置１の構成の例を示す図である。画像符号化装置１は、例えば、パーソナルコンピュータ装置、スマートフォン端末、タブレット端末又はサーバ装置等の情報処理装置である。画像符号化装置１は、動画像を構成する複数の画像（フレーム）を符号化対象画像として符号化する。符号化対象画像は、６４画素×６４画素のサイズであるＣＴＵの単位のブロックに区切られている。
【００２８】
画像符号化装置１は、分割形状決定装置１０と、減算器１１と、直交変換・量子化部１２と、可変長符号化部１３と、逆量子化・逆直交変換部１４と、加算器１５と、ループフィルタ部１６と、復号ピクチャメモリ１７と、イントラ予測部１８と、インター予測部１９と、イントラ・インター切替スイッチ２０とを備える。画像符号化装置１は、例えば、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記録媒体（非一時的な記録媒体）を記憶部として更に備えてもよい。
【００２９】
分割形状決定装置１０と減算器１１と直交変換・量子化部１２と可変長符号化部１３と逆量子化・逆直交変換部１４と加算器１５とループフィルタ部１６とイントラ予測部１８とインター予測部１９とイントラ・インター切替スイッチ２０との一部又は全部は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、記憶部に記憶されたプログラムを実行することにより実現されてもよいし、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアを用いて実現されてもよい。
【００３０】
分割形状決定装置１０は、単一の学習モデルを用いて学習する情報処理装置（学習装置）である。学習モデルは、分割確率を保持する複数のノードが階層構造を成しているモデルである。学習モデルは、四分木データ構造の各ノードのラベルを出力する学習モデルであれば、特定の学習モデルに限定されない。学習モデルは、ニューラルネットワークの学習モデルでもよいし、ニューラルネットワーク以外の学習モデルでもよい。ニューラルネットワーク以外の学習モデルは、例えば、遺伝的プログラミングの学習モデルでもよい。分割形状決定装置１０は、四分木データ構造で表される汎用データに関する決定方法を学習する。分割形状決定装置１０は、学習した結果を所定の機能部に出力する。
【００３１】
以下では、分割形状決定装置１０は、一例として、符号化対象画像をＣＴＵごとに取得する。分割形状決定装置１０は、一例として、四分木データ構造で表されるＣＵの分割形状の決定方法を学習する。分割形状決定装置１０は、学習モデルを用いてＣＵの分割形状を学習する。分割形状決定装置１０は、ＣＵの単位のブロックに、ＣＴＵを再帰的に４分割することができる。分割形状決定装置１０は、ＣＵの分割形状を学習した結果に基づいて、ＣＵの分割形状（分割パターン）を決定する。分割形状決定装置１０は、ＨＥＶＣ等のＣＵの分割形状を、ＣＴＵごとに決定する。
【００３２】
減算器１１は、ＣＵの分割形状が決定されたＣＴＵごとに、符号化対象画像を分割形状決定装置１０から取得する。減算器１１は、各ノードの分割確率を表す出力ラベルを、ＣＴＵごとに分割形状決定装置１０から取得する。減算器１１は、イントラ予測部１８又はインター予測部１９から、ＣＴＵの予測画像を取得する。減算器１１は、符号化対象画像のＣＴＵと予測画像との差分を、直交変換・量子化部１２に出力する。
【００３３】
直交変換・量子化部１２は、ＣＴＵと予測画像との差分に、直交変換処理及び量子化処理を施す。直交変換・量子化部１２は、直交変換処理及び量子化処理の結果である量子化係数を、可変長符号化部１３と逆量子化・逆直交変換部１４とに出力する。
【００３４】
可変長符号化部１３は、可変長符号化処理を実行する符号化部である。可変長符号化部１３は、量子化係数に可変長符号化処理を施した結果を含む符号化データを、画像復号装置等に出力する。可変長符号化部１３は、動きベクトル等の符号化パラメータを含む符号化データを、画像復号装置等に出力してもよい。符号化パラメータは、例えば、レート歪み最適化の結果に基づいて定められる。
【００３５】
逆量子化・逆直交変換部１４は、量子化係数に逆量子化処理及び逆直交変換処理を施した結果である画像を、加算器１５に出力する。加算器１５は、量子化係数に逆量子化処理及び逆直交変換処理を施した結果である画像を、逆量子化・逆直交変換部１４から取得する。加算器１５は、イントラ予測部１８又はインター予測部１９から、イントラ・インター切替スイッチ２０を介して、ＣＴＵの予測画像を取得する。加算器１５は、量子化係数に逆量子化処理及び逆直交変換処理を施した結果である画像と予測画像とを加算した結果を、ループフィルタ部１６及びイントラ予測部１８に出力する。
【００３６】
ループフィルタ部１６は、量子化係数に逆量子化処理及び逆直交変換処理を施した結果である画像と予測画像とを加算器１５が加算した結果に、ループフィルタを適用する。ループフィルタ部１６は、ループフィルタが適用された結果を、復号ピクチャメモリ１７に出力する。
【００３７】
復号ピクチャメモリ１７は、例えば、ＲＡＭ（Random Access Memory）などの揮発性の記録媒体である。復号ピクチャメモリ１７は、例えば、半導体記憶装置等の不揮発性の記録媒体（非一時的な記録媒体）でもよい。復号ピクチャメモリ１７は、加算器１５が加算した結果にループフィルタが適用された結果（再構成された信号）を記憶した結果、複数の画像（フレーム）を記憶する。復号ピクチャメモリ１７は、加算器１５が加算した結果にループフィルタが適用された結果を、インター予測部１９に出力する。
【００３８】
イントラ予測部１８は、加算器１５が加算した結果にループフィルタが適用された結果を、加算器１５から取得する。イントラ予測部１８は、加算器１５が加算した結果にループフィルタが適用された結果を、参照画像として使用する。イントラ予測部１８は、加算器１５から取得された参照画像に基づくイントラ予測によって、符号化対象画像のＣＴＵの予測画像を生成する。
【００３９】
インター予測部１９は、ＣＵの分割形状が決定されたＣＴＵごとに、符号化対象画像を分割形状決定装置１０から取得する。インター予測部１９は、加算器１５が加算した結果にループフィルタが適用された結果を、復号ピクチャメモリ１７から取得する。インター予測部１９は、加算器１５が加算した結果にループフィルタが適用された結果を、参照画像として使用する。インター予測部１９は、復号ピクチャメモリ１７から取得された参照画像に基づくインター予測によって、符号化対象画像のＣＴＵの予測画像を生成する。
【００４０】
イントラ・インター切替スイッチ２０は、ＣＴＵの予測モードがイントラ予測である場合、イントラ予測部１８が生成した予測画像を、減算器１１及び加算器１５に出力する。イントラ・インター切替スイッチ２０は、ＣＴＵの予測モードがインター予測である場合、インター予測部１９が生成した予測画像を、減算器１１及び加算器１５に出力する。
【００４１】
次に、四分木データ構造及び出力ラベルの例を説明する。
図２は、四分木データ構造及び出力ラベルの例を示す図である。１個のＣＴＵにおけるＣＵの分割形状は、１個の四分木データ構造を用いて表される。四分木データ構造の各ノードには、ノードに対応付けられているＣＵの分割に関する確率（分割確率）が、ノードのラベルとして定められている。１個の四分木データ構造は、１個のＣＴＵの各ＣＵの分割確率を表す。
【００４２】
学習モデルは、符号化対象画像のＣＴＵを入力とする。学習モデルは、入力されたＣＴＵのＣＵの分割形状と学習パラメータとに基づいて、四分木データ構造の各ノードの分割確率を表すラベルを出力する。学習モデルが出力するラベル（以下「出力ラベル」という。）の要素数は、１個のＣＴＵにおける四分木データ構造の最大ノード数と等しい。出力ラベルは、ＣＴＵの各ＣＵの分割確率ｙ［ｎ］（ｎは、０から２０までの整数。）から成る。図２の四分木データ構造では、出力ラベルは、学習モデルの出力ユニットの数が２１であることに対応して、ｙ［０］，ｙ［１］，…，ｙ［２０］から成る。
【００４３】
出力ラベルでは、最も浅い階層における６４×６４のサイズのＣＵの分割確率は、ｙ［０］である。６４×６４のサイズのＣＵよりも１階層下の階層における、３２×３２のサイズの各ＣＵの分割確率は、ｙ［１］〜ｙ［４］である。３２×３２のサイズのＣＵよりも１階層下の階層における、１６×１６のサイズの各ＣＵの分割確率は、ｙ［５］〜ｙ［２０］である。
【００４４】
学習モデルの正解ラベルの要素数は、１個のＣＴＵにおける四分木データ構造の最大ノード数と等しい。正解ラベルは、ＣＴＵの各ＣＵの分割確率ｔ［ｎ］から成る。図２の四分木データ構造では、正解ラベルｔは、出力ラベルｙ（＝ｙ［０］，ｙ［１］，…，ｙ［２０］）に対応して、ｔ［０］，ｔ［１］，…，ｔ［２０］から成る。
【００４５】
正解ラベルでは、６４×６４のサイズのＣＵの分割確率は、ｔ［０］である。６４×６４のサイズのＣＵよりも１階層下の階層における、３２×３２のサイズの各ＣＵの分割確率は、ｔ［１］〜ｔ［４］である。３２×３２のサイズのＣＵよりも１階層下の階層における、１６×１６のサイズの各ＣＵの分割確率は、ｔ［５］〜ｔ［２０］である。図１に示された分割形状決定装置１０は、ＣＵの分割形状を表す出力ラベルが正解ラベルに近づくよう、学習の際に学習モデルの学習パラメータを更新する。
【００４６】
分割形状決定装置１０は、学習パラメータが更新された学習モデルが出力した出力ラベルに基づいて、分割確率の閾値を超える分割確率を保持しているノードの分割確率を１と決定する。すなわち、分割形状決定装置１０は、分割確率の閾値を超える分割確率を保持しているノードに対応付けられたＣＵを分割すると決定する。
【００４７】
分割形状決定装置１０は、学習パラメータが更新された学習モデルが出力した出力ラベルに基づいて、分割確率の閾値を超えない分割確率を保持しているノードの分割確率を０と決定する。すなわち、分割形状決定装置１０は、分割確率の閾値を超えない分割確率を保持しているノードに対応付けられたＣＵを分割しないと決定する。
【００４８】
分割形状決定装置１０は、四分木データ構造の親ノードの分割確率が非分割を表す（０である）場合、親ノードの下位のノードである子ノードの分割確率を決定しない。すなわち、分割形状決定装置１０は、分割されないＣＵに対応付けられた親ノードの子ノードの分割確率を決定しない。
【００４９】
次に、分割形状決定装置１０の構成の例を説明する。
図３は、分割形状決定装置１０の構成の例を示す図である。分割形状決定装置１０は、特徴抽出部１００を、単一の学習モデルとして備える。分割形状決定装置１０は、決定部１１０を更に備える。
【００５０】
特徴抽出部１００（学習部）は、符号化対象画像の原画又は特徴量を、ＣＴＵごとに取得する。特徴抽出部１００は、符号化対象画像の原画又は特徴量に基づいて、四分木データ構造の各ノードの分割確率を、単一の学習モデルの出力ラベルとして出力する。特徴抽出部１００は、反復された学習の結果として出力ラベルを正解ラベルに近づけるように、学習モデルの学習パラメータを更新する。特徴抽出部１００は、学習の結果として学習パラメータが更新された学習モデルに基づいて、四分木データ構造の各ノードの分割確率を算出する。決定部１１０は、四分木データ構造のノードごとに決定された分割確率を含む出力ラベルを、減算器１１に出力する。
【００５１】
図３では、学習モデルは、一例として、畳み込みニューラルネットワークの学習モデルである。特徴抽出部１００は、畳み込み層１０１と、プーリング層１０２と、畳み込み層１０３と、プーリング層１０４と、全結合層１０５とを備える。
【００５２】
畳み込み層１０１（Convolution Layer）（更新部）は、学習の結果として、フィルタ係数等の学習パラメータを更新する。畳み込み層１０１は、二次元配列の各値に活性化関数を適用してもよい。プーリング層１０２（Pooling Layer）は、カーネル内の最大値、平均値等を用いて、ダウンサンプリングを実行する。すなわち、プーリング層１０２は、畳み込み層１０１の出力結果である二次元配列の各値のうちの有効な値を残す。
【００５３】
畳み込み層１０３（更新部）は、学習の結果として、フィルタ係数等の学習パラメータを更新する。畳み込み層１０３は、プーリング層１０２の出力結果である二次元配列の各値に、活性化関数を適用してもよい。プーリング層１０４は、カーネル内の最大値、平均値等を用いて、ダウンサンプリングを実行する。すなわち、プーリング層１０４は、畳み込み層１０３の出力結果である二次元配列の各値のうちの有効な値を残す。全結合層１０５（fully connected layer）（分割確率出力部）は、プーリング層１０４の出力を結合することによって、ノードごとに分割確率を表す出力ラベルを出力する。
【００５４】
決定部１１０（分割確率決定部）は、全結合層１０５の出力ラベルに基づいて、ノードに対応付けられた対象ブロックの分割確率を決定する。すなわち、決定部１１０は、全結合層１０５の出力ラベルに基づいて、ノードに対応付けられた対象ブロックを分割するか否かを決定する。決定部１１０は、四分木データ構造のノードごとに決定された分割確率を含む出力ラベルを、図１に示された減算器１１にＣＴＵごとに出力する。
【００５５】
次に、特徴抽出部１００における学習モデルの学習方法を説明する。
特徴抽出部１００は、ＣＵの分割形状の正解ラベルを学習する場合、符号化対象画像の原画又は特徴量をＣＴＵごとに取得する。全結合層１０５は、出力ラベルｙを出力する。出力ラベルｙは、四分木データ構造の各ノードの分割確率を表す。出力ラベルｙは、式（１）のように表される。出力ラベルｙに対応する正解ラベルｔは、式（２）のように表される。
【００５６】
ｙ＝[ｙ[０］，ｙ[１］，…，ｙ[２０］］Ｔ  …（１）
【００５７】
ｔ＝[ｔ[０］，ｔ[１］，…，ｔ[２０］］Ｔ  …（２）
【００５８】
畳み込み層１０１及び畳み込み層１０３は、出力ラベルｙと正解ラベルｔとの誤差を表す誤差関数Ｅの値を算出する。誤差関数Ｅは、出力ラベルｙと正解ラベルｔとのクロスエントロピーや平均二乗誤差等を用いて定義される。畳み込み層１０１及び畳み込み層１０３は、誤差関数Ｅの値が小さくなるよう、畳み込み層１０１及び畳み込み層１０３の学習パラメータｗを誤差逆伝播法等によって更新する。
【００５９】
畳み込み層１０１及び畳み込み層１０３は、誤差逆伝播法を実行する場合、誤差関数Ｅの値が小さくなる方向に学習モデルの学習パラメータｗを更新する目的で、勾配降下法を用いてもよい。すなわち、畳み込み層１０１は、勾配∇Ｅを表す式（３）を用いて、式（４）のように誤差関数Ｅの値が小さくなる方向に、畳み込み層１０１の学習パラメータｗを更新する。畳み込み層１０３は、勾配∇Ｅを表す式（３）を用いて、式（４）のように誤差関数Ｅの値が小さくなる方向に、畳み込み層１０３の学習パラメータｗを更新する。式（３）において、Ｍは、学習パラメータｗの要素数を表す。式（４）において、εは、学習率を表す。
【００６０】
勾配∇Ｅ
＝∂Ｅ／∂ｗ
＝[∂Ｅ／∂ｗ１，∂Ｅ／∂ｗ２，…，∂Ｅ／∂ｗＭ］Ｔ  …（３）
【００６１】
ｗ←ｗ−ε▽Ｅ  …（４）
【００６２】
第１実施形態では、正解ラベルｔの各要素は、ＨＥＶＣテストモデル（ＨＭ）等の参照ソフトウェアにおけるレート歪み最適化によって得られた分割確率を用いて表される。第１実施形態では、正解ラベルｔにおけるノードの分割確率は、２値（分割又は非分割）で表される。
【００６３】
畳み込み層１０１及び畳み込み層１０３は、ＣＵの分割形状の正解ラベルｔを学習する場合、正解ラベルｔにおいて非分割を表す親ノードの子ノードの分割確率を参照しない。例えば、正解ラベルｔ[１］のノードの分割確率が非分割を表している（分割確率が所定値＝０である）場合、畳み込み層１０１及び畳み込み層１０３は、正解ラベルｔ[１］のノードの子ノードの正解ラベルｔ[５］〜ｔ[８］の分割確率を参照しない。
【００６４】
畳み込み層１０１及び畳み込み層１０３は、正解ラベルｔにおいて参照されない分割確率を学習に用いない。すなわち、畳み込み層１０１及び畳み込み層１０３は、分割確率が非分割を表している親ノードの子ノードの分割確率が存在しないものとして学習された結果に基づいて、学習モデルの学習パラメータを更新する。
【００６５】
次に、分割形状決定装置１０の動作の例を説明する。
図４は、分割形状決定装置１０の動作の例を示すフローチャートである。特徴抽出部１００は、符号化対象画像をＣＴＵごとに取得する。特徴抽出部１００は、符号化対象画像のＣＴＵから、輝度値等の特徴量を抽出する。全結合層１０５は、学習パラメータが更新された学習モデルに基づいて、各ノードの分割確率を算出する（ステップＳ１０１）。決定部１１０は、四分木データ構造における階層が浅いノードに対応する対象ブロックを優先して処理を実行する。
【００６６】
決定部１１０は、対象ブロックに対応するノードの四分木データ構造における階層が最深の階層であるか否かを判定する（ステップＳ１０２）。対象ブロックに対応するノードの四分木データ構造における階層が最深の階層でない場合（ステップＳ１０２：ＮＯ）、決定部１１０は、対象ブロックについて、分割確率の閾値を分割確率が超えているか否かを判定する（ステップＳ１０３）。分割確率の閾値を分割確率が超えている場合（ステップＳ１０３：ＹＥＳ）、決定部１１０は、対象ブロックを分割すると決定する。決定部１１０は、対象ブロックに対応するノードの分割確率を１と決定する（ステップＳ１０４）。決定部１１０は、１階層下の階層について、Ｚスキャン等の処理順で次のブロックを対象ブロックとする（ステップＳ１０５）。決定部１１０は、ステップＳ１０２に処理を戻す。
【００６７】
対象ブロックに対応するノードの四分木データ構造における階層が最深の階層である場合（ステップＳ１０２：ＹＥＳ）、決定部１１０は、ステップＳ１０６に処理を進める。分割確率の閾値を分割確率が超えていない場合（ステップＳ１０３：ＮＯ）、決定部１１０は、対象ブロックを分割しないと決定する。決定部１１０は、対象ブロックに対応するノードの分割確率を０と決定する（ステップＳ１０６）。
【００６８】
決定部１１０は、ＣＴＵにおける全てのブロック（ＣＵ）について決定部１１０が分割又は非分割を決定したか否かを判定する（ステップＳ１０７）。ＣＴＵにおけるいずれかのブロック（ＣＵ）について決定部１１０が分割又は非分割を決定していない場合（ステップＳ１０７：ＮＯ）、決定部１１０は、処理順で次のブロックを対象ブロックとする（ステップＳ１０８）。決定部１１０は、ステップＳ１０２に処理を戻す。ＣＴＵにおける全てのブロック（ＣＵ）について決定部１１０が分割又は非分割を決定している場合（ステップＳ１０７：ＹＥＳ）、決定部１１０は、処理を終了する。
【００６９】
以上のように、第１実施形態の分割形状決定装置１０は、学習部としての特徴抽出部１００と、決定部１１０とを備える。分割確率を保持する複数のノードは、階層構造を成している。特徴抽出部１００は、ノードの集合である学習モデルの学習パラメータｗを、符号化対象画像を区切るブロックに対応付けられたノードの分割確率に応じて更新する。特徴抽出部１００は、学習パラメータが更新された学習モデルの出力として得られた分割確率を、ノードに対応付けて出力する。決定部１１０は、ノードに対応付けて出力された分割確率に基づいて、ノードに対応付けられたブロックを分割するか否かを決定する。
【００７０】
これによって、第１実施形態の分割形状決定装置１０は、ＣＵの分割形状を決定するための演算量を少なくした場合でも、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することが可能である。
【００７１】
第１実施形態の特徴抽出部１００は、ノードが保持している分割確率に応じて、ノードの下位のノードである子ノードの分割確率を参照するか否かを定める。第１実施形態の特徴抽出部１００は、ノードが保持している分割確率が０である場合、学習パラメータを更新する際に子ノードの分割確率を参照しないと定める。第１実施形態の特徴抽出部１００は、確率を保持する複数のノードが階層構造を成している学習モデルの学習パラメータを、ノードの確率が所定値である場合にノードの子ノードの確率に基づくことなく更新する。
【００７２】
一般的に、学習モデルは、ＣＴＵにおけるＣＵの全ての分割形状について学習モデルが正解ラベルを学習する場合、ＣＵの分割形状の正解ラベルの数が膨大であるため、ＣＵの分割形状を効率的に学習することができない。非特許文献１では、学習モデルは、ある程度まで効率的に学習することができる。しかしながら、非特許文献１の分割形状決定装置は、符号化処理の前にＣＵの分割形状を決定する処理において、複数の学習モデル（分割判定モデル）を直列に用いて原画から特徴量を抽出する処理を繰り返す。このため、非特許文献１では、原画から特徴量を抽出する処理の演算量が膨大になる。また、非特許文献１の学習モデルは、ＣＴＵにおける空間的位置の相関に基づいて、ＣＵの分割形状を学習することができない。
【００７３】
これに対して、第１実施形態の分割形状決定装置１０は、四分木データ構造のノードの分割確率を単一の学習モデルが学習するので、演算量が少なくても、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することができる。第１実施形態の分割形状決定装置１０は、単一の学習モデルを用いてＣＵの分割形状を決定するので、わざわざ複数の学習モデルを直列に用いてＣＵの分割形状を決定しなくてもよい。第１実施形態の分割形状決定装置１０は、単一の学習モデルを用いてＣＵの分割形状を決定するので、学習モデルの出力ユニットの数（要素数）を現実的な数に抑えることが可能である。第１実施形態の分割形状決定装置１０は、輝度値等の特徴量を符号化対象画像から抽出するための演算量を削減することが可能である。第１実施形態の単一の学習モデルは、入力された画像の特徴量をまとめて抽出するので、ＣＴＵにおける空間的位置の相関に基づいて、ＣＵの分割形状を学習することができる。第１実施形態の分割形状決定装置１０は、単一の学習モデルを用いてＣＵの分割形状を決定するので、ＣＴＵにおける空間的位置の相関に基づいて、ＣＵの分割形状を決定することが可能である。第１実施形態の分割形状決定装置１０では、学習誤差に寄与しない正解ラベルの要素を学習モデルが学習の際に参照しないので、非分割を表す分割確率の親ノードの子ノードの分割確率は定義されなくてもよい。なお、分割確率が定義されなくても、子ノードは存在する。
【００７４】
（第２実施形態）
第２実施形態では、親ノードの分割確率が曖昧である場合に親ノードの子ノードの分割確率を分割形状決定装置１０が評価する点が、第１実施形態と相違する。第２実施形態では、第１実施形態との相違点についてのみ説明する。
【００７５】
決定部１１０は、対象ブロックに対応付けられたノードの分割確率が曖昧（０．５を含む所定範囲内の値）である場合に、対象ブロックに対応付けられたノードの階層の１階層下の子ノードの分割確率と、所定の分割確率の閾値とを比較する。決定部１１０は、親ノードの複数の子ノードについて、分割確率の平均値、最大値又は最小値等を用いて、子ノードの分割確率と分割確率の閾値とを比較してもよい。決定部１１０は、複数の子ノードの分割確率の平均値、最大値又は最小値等のうちから、比較に用いる分割確率を選択してもよい。
【００７６】
決定部１１０は、子ノードの分割確率が分割確率の閾値を超えている場合、子ノードの階層の１階層上の親ノードに対応付けられた対象ブロックを分割すると決定する。決定部１１０は、子ノードの分割確率が分割確率の閾値を超えていない場合、子ノードの階層の１階層上の親ノードに対応付けられた対象ブロックを分割しないと決定する。
【００７７】
次に、分割形状決定装置１０の動作の例を説明する。
図５は、分割形状決定装置１０の動作の例を示すフローチャートである。ステップＳ２０１からステップＳ２０２までは、図４におけるステップＳ１０１からステップＳ１０２までと同様である。決定部１１０は、対象ブロックについて、分割確率が曖昧であるか否かを判定する。すなわち、決定部１１０は、対象ブロックについて、分割確率が０．５に近い値であるか否かを判定する（ステップＳ２０３）。分割確率が曖昧でない場合（ステップＳ２０３：ＮＯ）、決定部１１０は、ステップＳ０４に処理を進める。ステップＳ２０４からステップＳ２０６までは、図４におけるステップＳ１０３からステップＳ１０５までと同様である。
【００７８】
分割確率が曖昧である場合（ステップＳ２０３：ＹＥＳ）、決定部１１０は、対象ブロックの階層の１階層下の子ノードの分割確率を取得する（ステップＳ２０７）。決定部１１０は、分割確率の閾値を子ノードの分割確率が超えているか否かを判定する（ステップＳ２０８）。分割確率の閾値を子ノードの分割確率が超えている場合（ステップＳ２０８：ＹＥＳ）、決定部１１０は、ステップＳ２０５に処理を進める。分割確率の閾値を子ノードの分割確率が超えていない場合（ステップＳ２０８：ＮＯ）、決定部１１０は、ステップＳ２０９に処理を進める。ステップＳ２０９からステップＳ２１１までは、図４におけるステップＳ１０６からステップＳ１０８までと同様である。
【００７９】
以上のように、第２実施形態の決定部１１０は、ノードの下位のノードである子ノードが保持している分割確率に基づいて、ノードに対応付けられた分割するか否かを決定する。これによって、第２実施形態の分割形状決定装置１０は、出力ラベルの分割確率が曖昧である場合に、ＣＵの分割形状を決定するための演算量を少なくした場合でも、符号化対象画像を効率的に符号化するためのＣＵの分割形状を決定することが可能である。
【００８０】
第２実施形態の分割形状決定装置１０は、１個のＣＴＵを表す四分木データ構造の全ての階層の各ノードの分割確率を、学習モデルの出力ラベルｙとして並列に得ることができる。第２実施形態の分割形状決定装置１０は、四分木データ構造の全ての階層の各ノードの分割確率を並列に得ることができるので、対象ブロックに対応する親ノードの子ノードの分割確率を取得することができる。これによって、第２実施形態の分割形状決定装置１０は、出力ラベルの分割確率が曖昧である場合でも、レート歪み最適化を実行することなく、確率の高い判定処理を実行することができる。
【００８１】
（第３実施形態）
第３実施形態では、正解ラベルにおいて表されるノードの分割確率が３値以上の多値である点が、第１実施形態と相違する。第３実施形態では、第１実施形態との相違点についてのみ説明する。
【００８２】
決定部１１０は、正解ラベルｔに関して、ノードの分割確率が１である場合におけるレート歪みコスト関数Ｊの値と、ノードの分割確率が０である場合におけるレート歪みコスト関数Ｊの値との差を算出する。決定部１１０は、算出された差が所定のコスト閾値以上である場合、重み係数を所定の係数閾値以上にする。これによって、決定部１１０は、分割確率の閾値から遠い分割確率を正解ラベルｔの要素に含めることが可能である。決定部１１０は、算出された差が所定のコスト閾値未満である場合、重み係数を所定の係数閾値未満にする。これによって、決定部１１０は、分割確率の閾値に近い分割確率を正解ラベルｔの要素に含めることが可能である。
【００８３】
決定部１１０は、算出された差に応じた重み係数を用いて、正解ラベルｔにおける各ノードの分割確率を変更する。このようにして、決定部１１０は、正解ラベルｔにおいて表されるノードの分割確率を３値以上の多値にする。例えば、正解ラベルｔにおいて表されるノードの分割確率は、０から１までの間で連続する値でもよい。
【００８４】
畳み込み層１０１及び畳み込み層１０３は、出力ラベルｙと正解ラベルｔとの誤差を表す誤差関数Ｅの値を算出する。誤差関数Ｅは、出力ラベルｙと正解ラベルｔとの平均二乗誤差等を用いて定義される。畳み込み層１０１及び畳み込み層１０３は、誤差関数Ｅの値が小さくなるよう、四分木データ構造の各層の学習パラメータｗを誤差逆伝播法によって更新する。
【００８５】
以上のように、第３実施形態の分割確率は、３値以上で表現される確率である。これによって、第３実施形態の分割形状決定装置１０は、ＣＵの分割形状を決定するための演算量を少なくした場合でも、符号化対象画像をより効率的に符号化するためのＣＵの分割形状を決定することが可能である。
【００８６】
第３実施形態の分割形状決定装置１０は、正解ラベルを設計する場合、レート歪みコスト関数Ｊに応じた重み係数が乗算された多値である分割確率を、正解ラベルの要素に含める。これによって、第３実施形態の分割形状決定装置１０は、ＣＵの分割形状が符号化効率に与える影響を考慮してＣＵの分割形状を決定することが可能である。第３実施形態の分割形状決定装置１０は、特徴量に基づく学習モデルにおける機械学習によって得られる出力とレート歪み最適化における全検索によって得られる出力との差を埋めることが可能である。
【００８７】
上述した実施形態における画像符号化装置、分割形状決定装置及び学習装置の少なくとも一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００８８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８９】
本発明は、画像を区切るブロックの分割形状を決定する分割形状決定装置、四分木データ構造で表現される汎用データを学習する学習装置、画像符号化装置に適用可能である。
【符号の説明】
【００９０】
１…画像符号化装置、１０…分割形状決定装置、１１…減算器、１２…直交変換・量子化部、１３…可変長符号化部、１４…逆量子化・逆直交変換部、１５…加算器、１６…ループフィルタ部、１７…復号ピクチャメモリ、１８…イントラ予測部、１９…インター予測部、２０…イントラ・インター切替スイッチ、１００…特徴抽出部、１０１…畳み込み層、１０２…プーリング層、１０３…畳み込み層、１０４…プーリング層、１０５…全結合層、１１０…決定部
【図１】
2018182531.tif 000003
【図２】
2018182531.tif 000004
【図３】
2018182531.tif 000005
【図４】
2018182531.tif 000006
【図５】
2018182531.tif 000007
【図６】
2018182531.tif 000008
【図７】
2018182531.tif 000009
【図８】
2018182531.tif 000010
【図９】
2018182531.tif 000011
【図１０】
2018182531.tif 000012